diff --git a/.ci.yaml b/.ci.yaml index 4c8a09e3a124f..7cb993fb3c0f6 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -348,7 +348,8 @@ targets: shard: analyze dependencies: >- [ - {"dependency": "ktlint", "version": "version_1_5_0"} + {"dependency": "ktlint", "version": "version_1_5_0"}, + {"dependency": "open_jdk", "version": "version:21"} ] tags: > ["framework","hostonly","shard","linux"] @@ -374,7 +375,8 @@ targets: task_name: analyzer_benchmark - name: Linux coverage - bringup: true # https://github.com/flutter/flutter/issues/164591 + # Because this only runs every 6 commits, it being flaky takes a long time to recover. + bringup: true presubmit: false recipe: flutter/coverage timeout: 90 @@ -407,7 +409,6 @@ targets: - name: Linux_android_emu android views recipe: devicelab/devicelab_drone - bringup: true # LUCI failing KVM access https://github.com/flutter/flutter/issues/170529 properties: tags: > ["framework","hostonly","linux"] @@ -694,6 +695,7 @@ targets: - DEPS - name: Linux firebase_release_smoke_test + bringup: true # https://github.com/flutter/flutter/issues/176042 recipe: firebaselab/firebaselab timeout: 60 properties: @@ -707,6 +709,7 @@ targets: task_name: release_smoke_test physical_devices: >- [ + "--device", "model=tokay,version=36", "--device", "model=shiba,version=34", "--device", "model=redfin,version=30", "--device", "model=griffin,version=24" @@ -1026,6 +1029,7 @@ targets: - DEPS - name: Linux build_android_host_app_with_module_aar + bringup: true # Flaky https://github.com/flutter/flutter/issues/172630 recipe: devicelab/devicelab_drone timeout: 60 properties: @@ -1090,9 +1094,9 @@ targets: - engine/** - DEPS - - name: Linux plugin_test + - name: Linux plugin_test_android_variants recipe: devicelab/devicelab_drone - timeout: 60 + timeout: 45 properties: dependencies: >- [ @@ -1106,7 +1110,28 @@ targets: ["os=Linux", "os=Ubuntu-20"] tags: > ["devicelab", "hostonly", "linux"] - task_name: plugin_test + task_name: plugin_test_android_variants + runIf: + - dev/** + - packages/flutter_tools/** + - bin/** + - .ci.yaml + - engine/** + - DEPS + + - name: Linux plugin_test_android_standard + recipe: devicelab/devicelab_drone + timeout: 45 + properties: + dependencies: >- + [ + {"dependency": "android_sdk", "version": "version:36v1"}, + {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}, + {"dependency": "open_jdk", "version": "version:21"} + ] + tags: > + ["devicelab", "hostonly", "windows"] + task_name: plugin_test_android_standard runIf: - dev/** - packages/flutter_tools/** @@ -1665,21 +1690,6 @@ targets: - name: Linux_android_emu_vulkan_stable android_engine_vulkan_tests recipe: flutter/flutter_drone - bringup: true - timeout: 60 - properties: - shard: android_engine_vulkan_tests - tags: > - ["framework", "hostonly", "shard", "linux"] - dependencies: >- - [ - {"dependency": "goldctl", "version": "git_revision:2387d6fff449587eecbb7e45b2692ca0710b63b9"} - ] - - - name: Linux_mokey android_engine_vulkan_tests - recipe: flutter/flutter_drone - # TODO(matanlurey): https://github.com/flutter/flutter/issues/163025. - bringup: true timeout: 60 properties: shard: android_engine_vulkan_tests @@ -1798,8 +1808,6 @@ targets: subshard: "1_5" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" runIf: - dev/** - packages/** @@ -1822,8 +1830,6 @@ targets: subshard: "2_5" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" runIf: - dev/** - packages/** @@ -1846,8 +1852,6 @@ targets: subshard: "3_5" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" runIf: - dev/** - packages/** @@ -1870,8 +1874,6 @@ targets: subshard: "4_5" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" runIf: - dev/** - packages/** @@ -1894,8 +1896,6 @@ targets: subshard: "5_5" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" runIf: - dev/** - packages/** @@ -1918,8 +1918,7 @@ targets: subshard: "0" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -1942,8 +1941,7 @@ targets: subshard: "1" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -1966,8 +1964,7 @@ targets: subshard: "2" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -1990,8 +1987,7 @@ targets: subshard: "3" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2014,8 +2010,7 @@ targets: subshard: "4" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2038,8 +2033,7 @@ targets: subshard: "5" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2062,8 +2056,7 @@ targets: subshard: "6" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2086,8 +2079,7 @@ targets: subshard: "7_last" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2110,8 +2102,7 @@ targets: subshard: "0" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2134,8 +2125,7 @@ targets: subshard: "1" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2158,8 +2148,7 @@ targets: subshard: "2" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2182,8 +2171,7 @@ targets: subshard: "3" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2206,8 +2194,7 @@ targets: subshard: "4" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2230,8 +2217,7 @@ targets: subshard: "5" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2254,8 +2240,7 @@ targets: subshard: "6" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2278,8 +2263,7 @@ targets: subshard: "7_last" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" + test_timeout_secs: "3600" # 60 minutes to match the global `timeout` property. runIf: - dev/** - packages/** @@ -2303,8 +2287,6 @@ targets: subshard: "1_1" tags: > ["framework", "hostonly", "shard", "linux"] - # Retry for flakes caused by https://github.com/flutter/flutter/issues/132654 - presubmit_max_attempts: "2" test_timeout_secs: "5400" # https://github.com/flutter/flutter/issues/162714 runIf: - dev/** @@ -2316,7 +2298,6 @@ targets: - name: Linux_android_emu android_defines_test recipe: devicelab/devicelab_drone - bringup: true # LUCI failing KVM access https://github.com/flutter/flutter/issues/170529 timeout: 60 properties: tags: > @@ -2465,6 +2446,7 @@ targets: # Uses Impeller. - name: Linux_pixel_7pro static_path_stroke_tessellation_perf__timeline_summary + bringup: true # Flaky https://github.com/flutter/flutter/issues/175173 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -2475,6 +2457,7 @@ targets: # Uses Impeller. - name: Linux_pixel_7pro hello_world_impeller + bringup: true # Flaky https://github.com/flutter/flutter/issues/173698 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -2662,6 +2645,7 @@ targets: # linux mokey benchmark - name: Linux_mokey complex_layout__start_up + bringup: true # Flaky https://github.com/flutter/flutter/issues/173691 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -2723,6 +2707,7 @@ targets: task_name: devtools_profile_start_test - name: Linux_pixel_7pro drive_perf_debug_warning + bringup: true # Flaky https://github.com/flutter/flutter/issues/174111 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -2731,15 +2716,6 @@ targets: ["devicelab", "android", "linux", "pixel", "7pro"] task_name: drive_perf_debug_warning - - name: Linux_pixel_7pro embedded_android_views_integration_test - recipe: devicelab/devicelab_drone - presubmit: false - timeout: 60 - properties: - tags: > - ["devicelab", "android", "linux", "pixel", "7pro"] - task_name: embedded_android_views_integration_test - - name: Linux_android_emu external_textures_integration_test recipe: devicelab/devicelab_drone bringup: true @@ -3066,6 +3042,7 @@ targets: task_name: large_image_changer_perf_android - name: Linux_pixel_7pro linux_chrome_dev_mode + bringup: true recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -3215,6 +3192,7 @@ targets: # Pixel 7 Pro, Skia - name: Linux_pixel_7pro new_gallery__transition_perf + bringup: true # Flaky https://github.com/flutter/flutter/issues/174105 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -3255,6 +3233,7 @@ targets: # Pixel 7 Pro, Impeller (OpenGL) - name: Linux_pixel_7pro new_gallery_opengles_impeller__transition_perf + bringup: true # Flaky https://github.com/flutter/flutter/issues/173337 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -3370,6 +3349,7 @@ targets: task_name: platform_views_scroll_perf_impeller__timeline_summary - name: Linux_pixel_7pro platform_views_scroll_perf_impeller__timeline_summary + bringup: true # Flaky https://github.com/flutter/flutter/issues/172210 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -3407,6 +3387,7 @@ targets: task_name: routing_test - name: Linux_pixel_7pro service_extensions_test + bringup: true # Flaky https://github.com/flutter/flutter/issues/174113 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -3718,17 +3699,6 @@ targets: ["devicelab", "ios", "mac"] task_name: dynamic_path_stroke_tessellation_perf_ios__timeline_summary - - name: Staging_build_linux analyze - presubmit: false - bringup: true - recipe: flutter/flutter_drone - timeout: 60 - properties: - shard: analyze - ignore_flakiness: "true" - tags: > - ["framework","hostonly","shard","linux"] - - name: Mac_benchmark animated_complex_opacity_perf_macos__e2e_summary presubmit: false recipe: devicelab/devicelab_drone @@ -4415,9 +4385,9 @@ targets: - engine/** - DEPS - - name: Mac plugin_test + - name: Mac plugin_test_android_variants recipe: devicelab/devicelab_drone - timeout: 60 + timeout: 45 properties: dependencies: >- [ @@ -4426,7 +4396,28 @@ targets: ] tags: > ["devicelab", "hostonly", "mac"] - task_name: plugin_test + task_name: plugin_test_android_variants + runIf: + - dev/** + - packages/flutter_tools/** + - bin/** + - .ci.yaml + - engine/** + - DEPS + + - name: Mac plugin_test_android_standard + recipe: devicelab/devicelab_drone + timeout: 45 + properties: + dependencies: >- + [ + {"dependency": "android_sdk", "version": "version:36v1"}, + {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}, + {"dependency": "open_jdk", "version": "version:21"} + ] + tags: > + ["devicelab", "hostonly", "windows"] + task_name: plugin_test_android_standard runIf: - dev/** - packages/flutter_tools/** @@ -4854,6 +4845,7 @@ targets: # mac mokey benchmark - name: Mac_mokey microbenchmarks + bringup: true # Flaky https://github.com/flutter/flutter/issues/174101 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -4961,6 +4953,7 @@ targets: - name: Mac_ios channels_integration_test_ios recipe: devicelab/devicelab_drone + bringup: true # TODO(vashworth): Remove once https://github.com/flutter/flutter/issues/174444 is fixed. presubmit: false timeout: 60 properties: @@ -5148,6 +5141,7 @@ targets: - name: Mac_arm64_ios integration_test_test_ios recipe: devicelab/devicelab_drone + bringup: true # TODO(vashworth): Remove once https://github.com/flutter/flutter/issues/174444 is fixed. presubmit: false timeout: 60 properties: @@ -5275,7 +5269,6 @@ targets: - name: Mac_ios microbenchmarks_ios recipe: devicelab/devicelab_drone presubmit: false - bringup: true timeout: 60 properties: tags: > @@ -5297,6 +5290,7 @@ targets: - name: Mac_ios native_assets_ios recipe: devicelab/devicelab_drone + bringup: true # TODO(vashworth): Remove once https://github.com/flutter/flutter/issues/174444 is fixed. presubmit: false timeout: 60 properties: @@ -5432,6 +5426,7 @@ targets: - name: Mac_ios wide_gamut_ios recipe: devicelab/devicelab_drone + bringup: true # TODO(vashworth): Remove once https://github.com/flutter/flutter/issues/174444 is fixed. presubmit: false timeout: 60 properties: @@ -5472,7 +5467,6 @@ targets: - name: Mac_ios ios_debug_workflow recipe: devicelab/devicelab_drone - bringup: true presubmit: false timeout: 60 properties: @@ -5543,6 +5537,7 @@ targets: - name: Mac_ios spell_check_test recipe: devicelab/devicelab_drone + bringup: true # TODO(vashworth): Remove once https://github.com/flutter/flutter/issues/174444 is fixed. presubmit: false timeout: 60 properties: @@ -6192,9 +6187,9 @@ targets: - engine/** - DEPS - - name: Windows plugin_test + - name: Windows plugin_test_android_variants recipe: devicelab/devicelab_drone - timeout: 60 + timeout: 45 properties: dependencies: >- [ @@ -6204,7 +6199,28 @@ targets: ] tags: > ["devicelab", "hostonly", "windows"] - task_name: plugin_test + task_name: plugin_test_android_variants + runIf: + - dev/** + - packages/flutter_tools/** + - bin/** + - .ci.yaml + - engine/** + - DEPS + + - name: Windows plugin_test_android_standard + recipe: devicelab/devicelab_drone + timeout: 45 + properties: + dependencies: >- + [ + {"dependency": "android_sdk", "version": "version:36v1"}, + {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"}, + {"dependency": "open_jdk", "version": "version:21"} + ] + tags: > + ["devicelab", "hostonly", "windows"] + task_name: plugin_test_android_standard runIf: - dev/** - packages/flutter_tools/** @@ -6857,6 +6873,7 @@ targets: # windows mokey test - name: Windows_mokey basic_material_app_win__compile + bringup: true # Flaky https://github.com/flutter/flutter/issues/173701 recipe: devicelab/devicelab_drone presubmit: false timeout: 60 @@ -6970,6 +6987,20 @@ targets: ["devicelab", "hostonly", "windows", "arm64"] task_name: windows_startup_test + - name: Windows windowing_test + recipe: devicelab/devicelab_drone + presubmit: true + bringup: true + timeout: 60 + properties: + dependencies: >- + [ + {"dependency": "vs_build", "version": "version:vs2019"} + ] + tags: > + ["devicelab", "hostonly", "windows"] + task_name: windowing_test_windows + - name: Windows flutter_tool_startup__windows recipe: devicelab/devicelab_drone presubmit: false @@ -7053,7 +7084,6 @@ targets: recipe: packaging/packaging timeout: 60 scheduler: release - bringup: true enabled_branches: - beta - stable diff --git a/.gemini/config.yaml b/.gemini/config.yaml index aa05f73999718..47a5c5a1ef244 100644 --- a/.gemini/config.yaml +++ b/.gemini/config.yaml @@ -11,6 +11,7 @@ code_review: # These tend to be verbose, and since we expect PR authors to clearly # describe their PRs this would be at best duplicative. summary: false + include_drafts: false ignore_patterns: # Avoid code reviews on rolls. - DEPS diff --git a/.gemini/styleguide.md b/.gemini/styleguide.md index 372bc861014e6..0ecc6ff5532a0 100644 --- a/.gemini/styleguide.md +++ b/.gemini/styleguide.md @@ -5,13 +5,24 @@ flutter/flutter repository. It is based on the more comprehensive official [style guide for the Flutter repository](https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md). ## Best Practices + - Code should follow the guidance and principles described in [the Flutter contribution guide](https://github.com/flutter/flutter/blob/main/CONTRIBUTING.md). - Code should be tested and follow the guidance described in the [writing effective tests guide](https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-Effective-Tests.md) and the [running and writing tests guide](https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Running-and-writing-tests.md). -- Changes to the [engine/ directory](https://github.com/flutter/flutter/tree/main/engine) should additionally have appropriate tests as described in [the engine test guidance](https://github.com/flutter/flutter/blob/main/engine/src/flutter/docs/testing/Testing-the-engine.md). +- Changes to the [engine/ directory](https://github.com/flutter/flutter/tree/main/engine) should additionally have appropriate tests as described in [the engine test guidance](https://github.com/flutter/flutter/blob/main/docs/engine/testing/Testing-the-engine.md). - PR descriptions should include the Pre-launch Checklist from [the PR template](https://github.com/flutter/flutter/blob/main/.github/PULL_REQUEST_TEMPLATE.md), with all of the steps completed. +- The most relevant guidelines should take precedence over less relevant + guidelines. For Flutter code, the + [Flutter styleguide](https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md) + should be followed as the first priority, and + [Effective Dart: Style](https://dart.dev/effective-dart/style) + should only be followed when it does not conflict with the former. + +## Review Agent Guidelines + +- Only review changes to the `master` branch. Other changes have already been reviewed (and are being cherrypicked). ## General Philosophy @@ -50,6 +61,16 @@ flutter/flutter repository. It is based on the more comprehensive official - **Provide illustrations or screenshots** for widgets. - Use `///` for public-quality documentation, even on private members. +## Review Agent Guidelines + +When providing a summary, the review agent must adhere to the following principles: +- **Be Objective:** Focus on a neutral, descriptive summary of the changes. Avoid subjective value judgments + like "good," "bad," "positive," or "negative." The goal is to report what the code does, not to evaluate it. +- **Use Code as the Source of Truth:** Base all summaries on the code diff. Do not trust or rephrase the PR + description, which may be outdated or inaccurate. A summary must reflect the actual changes in the code. +- **Be Concise:** Generate summaries that are brief and to the point. Focus on the most significant changes, + and avoid unnecessary details or verbose explanations. This ensures the feedback is easy to scan and understand. + ## Further Reading For more detailed guidance, refer to the following documents: @@ -60,4 +81,4 @@ For more detailed guidance, refer to the following documents: - [The Flutter contribution guide](https://github.com/flutter/flutter/blob/main/CONTRIBUTING.md) - [Writing effective tests guide](https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-Effective-Tests.md) - [Running and writing tests guide](https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Running-and-writing-tests.md) -- [Engine testing guide](https://github.com/flutter/flutter/blob/main/engine/src/flutter/docs/testing/Testing-the-engine.md) +- [Engine testing guide](https://github.com/flutter/flutter/blob/main/docs/engine/testing/Testing-the-engine.md) diff --git a/.github/labeler.yml b/.github/labeler.yml index 0978edcde0e3e..72b7c66fd1ae1 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -152,7 +152,7 @@ platform-android: - any-glob-to-any-file: - docs/platform/android/**/* - engine/src/flutter/shell/platform/android/**/* - - packages/flutter_tools/*android*' + - packages/flutter_tools/*android* - packages/flutter_tools/gradle/**/* platform-ios: diff --git a/.github/workflows/content-aware-hash.yml b/.github/workflows/content-aware-hash.yml index 9a41c388da5ba..5d0b0e4e2de7a 100644 --- a/.github/workflows/content-aware-hash.yml +++ b/.github/workflows/content-aware-hash.yml @@ -15,9 +15,8 @@ jobs: - name: Generate Hash run: | - # IMPORTANT: Keep the list of files in sync with bin/internal/content_aware_hash.sh - # We call this directly here as we're expected to be in the merge queue (not master) - engine_content_hash=$(git ls-tree --format "%(objectname) %(path)" HEAD -- DEPS engine bin/internal/release-candidate-branch.version | git hash-object --stdin) + # Script updated to handle gh-readonly-queue/ branches + engine_content_hash=$(bin/internal/content_aware_hash.sh) # test notice annotation for retrival from api echo "::notice ::{\"engine_content_hash\": \"${engine_content_hash}\"}" # test summary writing diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index ad81a9265e53a..35f8f2f305cf0 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -23,7 +23,7 @@ jobs: - name: ./bin/flutter test --coverage run: pushd packages/flutter;../../bin/flutter test --coverage -j 1;popd - name: upload coverage - uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 + uses: codecov/codecov-action@fdcc8476540edceab3de004e990f80d881c6cc00 with: files: packages/flutter/coverage/lcov.info verbose: true diff --git a/.github/workflows/easy-cp.yml b/.github/workflows/easy-cp.yml index ec202402f4ad3..087ca1e4a840a 100644 --- a/.github/workflows/easy-cp.yml +++ b/.github/workflows/easy-cp.yml @@ -12,6 +12,20 @@ on: permissions: write-all jobs: + cherrypick_not_merged_remove_label: + name: cherrypick_not_merged_remove_label + runs-on: ubuntu-latest + if: | + (github.event.label.name == format('cp{0} beta', ':') || github.event.label.name == format('cp{0} stable', ':')) && + (github.event.pull_request.merged == false) + steps: + - name: Leave Comment and Remove Label + run: | + gh pr edit ${{ github.event.pull_request.number }} --remove-label "cp: beta" + gh pr edit ${{ github.event.pull_request.number }} --remove-label "cp: stable" + gh pr comment ${{ github.event.pull_request.number }} -R flutter/flutter -b "Only merged pull requests can be cherrypicked." + env: + GITHUB_TOKEN: ${{ secrets.FLUTTERACTIONSBOT_CP_TOKEN }} cherrypick_to_release: name: cherrypick_to_release runs-on: ubuntu-latest @@ -50,10 +64,6 @@ jobs: git fetch upstream master git checkout -b cp-${CHANNEL}-${COMMIT_SHA} --track upstream/$RELEASE_BRANCH git cherry-pick $COMMIT_SHA - # TODO(xilaizhang): remove this step once the template is available on release branches. - - name: Get CP Template - run: | - curl -o PULL_REQUEST_CP_TEMPLATE.md https://raw.githubusercontent.com/flutter/flutter/main/.github/PR_TEMPLATE/PULL_REQUEST_CP_TEMPLATE.md - name: Create PR on CP success if: ${{ steps.attempt-cp.conclusion == 'success' }} working-directory: ./flutter @@ -62,7 +72,7 @@ jobs: git push https://${{ env.GITHUB_TOKEN }}@github.com/flutteractionsbot/flutter cp-${CHANNEL}-${COMMIT_SHA} { echo 'PR_URL<> "$GITHUB_ENV" env: diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 3cea755bccd8c..193049ebb9400 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -17,6 +17,6 @@ jobs: runs-on: ubuntu-latest steps: # Source available at https://github.com/actions/labeler/blob/main/README.md - - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 + - uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b with: sync-labels: true diff --git a/CHANGELOG.md b/CHANGELOG.md index dfe70b596eef9..83b39fd1ca1cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,43 @@ Our goal is to make the list easy for them to scan. More information and tips: docs/releases/Hotfix-Documentation-Best-Practices.md --> + +## Flutter 3.35 Changes + +### [3.35.4](https://github.com/flutter/flutter/releases/tag/3.35.4) +- [flutter/173474](https://github.com/flutter/flutter/issues/173474) - On all platforms PlatformDispatchers.instance.engineId no longer returns null after hot restart. +- [flutter/174513](https://github.com/flutter/flutter/issues/174513) - On iOS 26, fix a bug where platform view's gesture blocking fails and lets touches on Flutter views fall through to underlying platform views. + +### [3.35.3](https://github.com/flutter/flutter/releases/tag/3.35.3) + +- [flutter/172627](https://github.com/flutter/flutter/issues/172627) - Unnecessary output is printed in non-verbose mode. +- [flutter/173917](https://github.com/flutter/flutter/issues/173917) - On Android, `flutter build apk` may fail to calculate the version code when using `--build-number`. +- [flutter/174437](https://github.com/flutter/flutter/issues/174437) - When running a Flutter web application in debug mode, the console is spammed with non-fatal error messages. +- [flutter/174267](https://github.com/flutter/flutter/issues/174267) - Golden test failures can cause the test harness to stall. +- [flutter/171691](https://github.com/flutter/flutter/issues/171691) - A race condition can cause crashes in the Impeller Vulkan back end. +- [flutter/174100](https://github.com/flutter/flutter/issues/174100) - Superellipses may not render correctly when using Impeller. +- [flutter/174015](https://github.com/flutter/flutter/issues/174015) - Obsolete warning and error messages are shown when switching between build modes in Xcode. + +### [3.35.2](https://github.com/flutter/flutter/releases/tag/3.35.2) + +- [flutter/173823](https://github.com/flutter/flutter/issues/173823) - On Android builds that do not use flutter.minSdkVersion and do use a value lower than 24 in a kotlin build file, correct flutters auto migration to update value with kotlin syntax. +- [flutter/173741](https://github.com/flutter/flutter/issues/173741) - Fixes an issue that prevents (web) screen readers from pressing buttons through keyboard shortcuts. +- [flutter/173960](https://github.com/flutter/flutter/issues/173960) - Fixes an issue where starting a widget preview fails if Chrome or Edge is not installed. +- [flutter/174017](https://github.com/flutter/flutter/issues/174017) - Fixes an issue when running a 32-bit process on a 64-bit Windows system. +- [flutter/173895](https://github.com/flutter/flutter/issues/173895) - Don't crash widget preview when a directory watcher restarts on Windows. +- [flutter/171992](https://github.com/flutter/flutter/issues/171992) - Blocks `exynos9820` chip from using the Impeller Vulkan backend. +- [flutter/173959](https://github.com/flutter/flutter/issues/173959) - Fixes a null assertion when trying to add `@Preview()` to invalid nodes. +- [flutter/174184](https://github.com/flutter/flutter/pull/174184) - Fixes an issue where WASM builds were incorrectly triggered when dry run is disabled and --wasm is not specified. +- [flutter/171758](https://github.com/flutter/flutter/issues/171758) - Fixes an ExistingDartDevelopmentServiceException that could be thrown when running flutter run on a device with an existing Dart development service. + +### [3.35.1](https://github.com/flutter/flutter/releases/tag/3.35.1) + +- [flutter/173785](https://github.com/flutter/flutter/issues/173785) - Fixes an issue that prevented downloading the Flutter SDK for Windows from `flutter.dev`. + +### [3.35.0](https://github.com/flutter/flutter/releases/tag/3.35.0) + +Initial stable release. + ## Flutter 3.32 Changes ### [3.32.8](https://github.com/flutter/flutter/releases/tag/3.32.8) diff --git a/CODEOWNERS b/CODEOWNERS index 8f89d42dbb9e8..a18b28993a270 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -12,19 +12,8 @@ /packages/flutter_tools/lib/src/ios/ @vashworth # Internal dev infra that is closely tied to team-infra. -/bin/internal/update_engine_version.ps1 @matanlurey -/bin/internal/update_engine_version.sh @matanlurey -/dev/bots/** @matanlurey -/dev/conductor/** @matanlurey -/dev/devicelab/** @matanlurey -/dev/tools/test/update_engine_version_test.dart @matanlurey - -# flutter_drver, integration_test. Intentionally omit root files (i.e. pubspec.yaml upgrades). -/dev/tools/android_driver_extensions @matanlurey -/packages/flutter_driver/lib/** @matanlurey -/packages/flutter_driver/test/** @matanlurey -/packages/integration_test/lib/** @matanlurey -/packages/integration_test/test/** @matanlurey +/bin/internal/** @jtmcdole +/dev/tools/test/** @jtmcdole # The following files define an Application Binary Interface (ABI) that must maintain # both forward and backward compatibility. Changes should be heavily diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6de7575d7c44c..50134ef0b7ffb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -106,7 +106,7 @@ that describe these methodologies. The following list is ordered: you are strongly recommended to go through these documents in the order presented. -1. [Setting up your engine development environment](./engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md), +1. [Setting up your engine development environment](./docs/engine/contributing/Setting-up-the-Engine-development-environment.md), which describes the steps you need to configure your computer to work on Flutter's engine. If you only want to write code for the Flutter framework, you can skip this step. Flutter's engine mainly diff --git a/DEPS b/DEPS index d81233c644a8b..fcf57061181de 100644 --- a/DEPS +++ b/DEPS @@ -14,7 +14,7 @@ vars = { 'flutter_git': 'https://flutter.googlesource.com', 'skia_git': 'https://skia.googlesource.com', 'llvm_git': 'https://llvm.googlesource.com', - 'skia_revision': '29e3e1ab7f62c6dc7a71e073f108b1f13274da20', + 'skia_revision': '96b73f61fe61928e5b494247a0c179be3b84b45c', # WARNING: DO NOT EDIT canvaskit_cipd_instance MANUALLY # See `lib/web_ui/README.md` for how to roll CanvasKit to a new version. @@ -56,29 +56,29 @@ vars = { # Dart is: https://github.com/dart-lang/sdk/blob/main/DEPS # You can use //tools/dart/create_updated_flutter_deps.py to produce # updated revision list of existing dependencies. - 'dart_revision': 'a098cb676fd60bdd71bdb76430ba2c0436dd2a0e', + 'dart_revision': '899c7340cc4c725df5e773de249330fa7f01c20f', # WARNING: DO NOT EDIT MANUALLY # The lines between blank lines above and below are generated by a script. See create_updated_flutter_deps.py - 'dart_ai_rev': '6b4b2bce4ee9204f35ba9f7109ba92a24f7049e0', + 'dart_ai_rev': '078abd245d8e438ff053f0d123889d56586e25da', 'dart_binaryen_rev': '1d2e23d5e55788091a51420ba3a9889d4efe7509', - 'dart_boringssl_rev': '739613d2e62bd6ab3e7378bf70a5767b50e3c4bf', - 'dart_core_rev': 'b59ecf4ceebe6153e1c0166b7c9a7fdd9458a89d', - 'dart_devtools_rev': 'ae6e8facc9adffe7c028d990923faf2aae2d9436', - 'dart_ecosystem_rev': '68ff911b19e1abf00ff43b2b37bd16b1af01e088', - 'dart_http_rev': '6656f15e88e68f6cafa2a7bbffa37fd6ac2dd33a', - 'dart_i18n_rev': 'c28ad5ea314394b3d89796a9201f2264e753a079', + 'dart_boringssl_rev': '40e035a9e5d721b3b7c15c46259d782ffe7d9e96', + 'dart_core_rev': '5c3e2c38df268be2347f3aad30ced0147dd012bb', + 'dart_devtools_rev': '5e1792245005088a0a0dfe28f207bd22045ba783', + 'dart_ecosystem_rev': '36e514d52c5d056227e4cea98b784ade50b5b4f1', + 'dart_http_rev': 'd6dd5ec9a24e66b386cc38d52c6d4e8decb26902', + 'dart_i18n_rev': '09627d28f97e05858e1ba5c6e45ff45d56b1e786', 'dart_libprotobuf_rev': '24487dd1045c7f3d64a21f38a3f0c06cc4cf2edb', 'dart_perfetto_rev': '13ce0c9e13b0940d2476cd0cff2301708a9a2e2b', 'dart_protobuf_gn_rev': 'ca669f79945418f6229e4fef89b666b2a88cbb10', - 'dart_protobuf_rev': '0b73b0d64c15e34d35f6e5f9036aac52e4a64033', - 'dart_pub_rev': '619db737b4aba0a43beaf16ffa141ee70d7bbd9e', - 'dart_sync_http_rev': 'c07f96f89a7eec7e3daac641fa6c587224fcfbaa', - 'dart_tools_rev': '1b52e89e0b4ef70e004383c1cf781ad4182f380b', + 'dart_protobuf_rev': '456e2ee704af27225e25ba092164f66dcbf63000', + 'dart_pub_rev': '469eb6193c0a49495ea2ce7432cf749f077ad596', + 'dart_sync_http_rev': '6666fff944221891182e1f80bf56569338164d72', + 'dart_tools_rev': '6c1eb214e09f3703255b563f9effbbb2e6989f6b', 'dart_vector_math_rev': '3939545edc38ed657381381d33acde02c49ff827', - 'dart_web_rev': '72cdd84cd34feaf777787890d183724108a8344a', - 'dart_webdev_rev': '94c172cc862d0c39c72158c6537f1e20b4432e0e', - 'dart_webdriver_rev': '595649d890f69b9d05a596426ca93681b1921132', + 'dart_web_rev': '25a0b5b0a4a126788c06738331c5c4af8225f6f8', + 'dart_webdev_rev': '23aefebea46c1f94c27703743b2c8db1f651bf29', + 'dart_webdriver_rev': '09104f459ed834d48b132f6b7734923b1fbcf2e9', 'dart_webkit_inspection_protocol_rev': 'effa75205516757795683d527c3dea9546eb0c32', 'ocmock_rev': 'c4ec0e3a7a9f56cfdbd0aa01f4f97bb4b75c5ef8', # v3.7.1 @@ -202,11 +202,11 @@ vars = { # The version / instance id of the cipd:chromium/fuchsia/test-scripts which # will be used altogether with fuchsia-sdk to setup the build / test # environment. - 'fuchsia_test_scripts_version': 'BWj3yYC74ud58QhN0y4lN2AnKGjRYR6ZctKTWVzGAMQC', + 'fuchsia_test_scripts_version': 'APSBP-sS-3FX69Ihfx91uOhJ-r7ZCIkkTM9khYk7FyEC', # The version / instance id of the cipd:chromium/fuchsia/gn-sdk which will be # used altogether with fuchsia-sdk to generate gn based build rules. - 'fuchsia_gn_sdk_version': '_tkqOQZ2qB5CxDe57Ip_iSLO3uEEcFAo_h8GAav6u80C', + 'fuchsia_gn_sdk_version': 'NAEC5tfgSl8g94nwpKsGtNMEdbiAlgwrNa9XQ7cIcbcC', } gclient_gn_args_file = 'engine/src/flutter/third_party/dart/build/config/gclient_args.gni' @@ -256,7 +256,7 @@ deps = { Var('chromium_git') + '/vulkan-deps' + '@' + '938de304bdcb33049ec39ce45f16223eb6a960b6', 'engine/src/flutter/third_party/flatbuffers': - Var('chromium_git') + '/external/github.com/google/flatbuffers' + '@' + '0a80646371179f8a7a5c1f42c31ee1d44dcf6709', + Var('chromium_git') + '/external/github.com/google/flatbuffers' + '@' + '067bfdbde9b10c1beb5d6b02d67ae9db8b96f736', 'engine/src/flutter/third_party/icu': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '1b2e3e8a421efae36141a7b932b41e315b089af8', @@ -302,7 +302,7 @@ deps = { Var('chromium_git') + '/external/github.com/WebAssembly/binaryen.git@1d2e23d5e55788091a51420ba3a9889d4efe7509', 'engine/src/flutter/third_party/dart/third_party/devtools': - {'dep_type': 'cipd', 'packages': [{'package': 'dart/third_party/flutter/devtools', 'version': 'git_revision:ae6e8facc9adffe7c028d990923faf2aae2d9436'}]}, + {'dep_type': 'cipd', 'packages': [{'package': 'dart/third_party/flutter/devtools', 'version': 'git_revision:5e1792245005088a0a0dfe28f207bd22045ba783'}]}, 'engine/src/flutter/third_party/dart/third_party/pkg/ai': Var('dart_git') + '/ai.git' + '@' + Var('dart_ai_rev'), @@ -311,10 +311,10 @@ deps = { Var('dart_git') + '/core.git' + '@' + Var('dart_core_rev'), 'engine/src/flutter/third_party/dart/third_party/pkg/dart_style': - Var('dart_git') + '/dart_style.git@3499c1ee7a9bc30f3d5b94af932e8f6ac2cffa14', + Var('dart_git') + '/dart_style.git@ca019b0498692ad78f5f0f0f6208a1258e17fc90', 'engine/src/flutter/third_party/dart/third_party/pkg/dartdoc': - Var('dart_git') + '/dartdoc.git@82b48b53128a474221269a05a947bae28e2d7ac6', + Var('dart_git') + '/dartdoc.git@4df6dbe5e651e3c8a4f199e4752b12366d7eeef4', 'engine/src/flutter/third_party/dart/third_party/pkg/ecosystem': Var('dart_git') + '/ecosystem.git' + '@' + Var('dart_ecosystem_rev'), @@ -329,7 +329,7 @@ deps = { Var('dart_git') + '/leak_tracker.git@f5620600a5ce1c44f65ddaa02001e200b096e14c', 'engine/src/flutter/third_party/dart/third_party/pkg/native': - Var('dart_git') + '/native.git@16ae2d8619e23fc2bd83fbff087a26ac032a1145', + Var('dart_git') + '/native.git@445cb0af620328ff04aeed028a60065ec6e5c7ce', 'engine/src/flutter/third_party/dart/third_party/pkg/protobuf': Var('dart_git') + '/protobuf.git' + '@' + Var('dart_protobuf_rev'), @@ -338,16 +338,16 @@ deps = { Var('dart_git') + '/pub.git' + '@' + Var('dart_pub_rev'), 'engine/src/flutter/third_party/dart/third_party/pkg/shelf': - Var('dart_git') + '/shelf.git@2a46b4ffe1f095909c3b14bdf62da40cbdbd82e9', + Var('dart_git') + '/shelf.git@de91a5b8c1de05f622c0c6f1eab38d5f31e0113f', 'engine/src/flutter/third_party/dart/third_party/pkg/sync_http': Var('dart_git') + '/sync_http.git' + '@' + Var('dart_sync_http_rev'), 'engine/src/flutter/third_party/dart/third_party/pkg/tar': - Var('dart_git') + '/external/github.com/simolus3/tar.git@5a1ea943e70cdf3fa5e1102cdbb9418bd9b4b81a', + Var('dart_git') + '/external/github.com/simolus3/tar.git@13479f7c2a18f499e840ad470cfcca8c579f6909', 'engine/src/flutter/third_party/dart/third_party/pkg/test': - Var('dart_git') + '/test.git@5aef9719ad9b598260c062b2a90a50d2f50a78f3', + Var('dart_git') + '/test.git@b99d556ec6096965eb177111299c0783678200f6', 'engine/src/flutter/third_party/dart/third_party/pkg/tools': Var('dart_git') + '/tools.git' + '@' + Var('dart_tools_rev'), @@ -368,7 +368,7 @@ deps = { Var('dart_git') + '/external/github.com/google/webkit_inspection_protocol.dart.git' + '@' + Var('dart_webkit_inspection_protocol_rev'), 'engine/src/flutter/third_party/dart/tools/sdks/dart-sdk': - {'dep_type': 'cipd', 'packages': [{'package': 'dart/dart-sdk/${{platform}}', 'version': 'git_revision:4bb26ad346b166d759773e01ffc8247893b9681e'}]}, + {'dep_type': 'cipd', 'packages': [{'package': 'dart/dart-sdk/${{platform}}', 'version': 'git_revision:0bf5d0bb49d7872a1a01e55dbea63ad7455d754e'}]}, # WARNING: end of dart dependencies list that is cleaned up automatically - see create_updated_flutter_deps.py. @@ -534,9 +534,6 @@ deps = { 'engine/src/flutter/third_party/pkg/archive': Var('chromium_git') + '/external/github.com/brendan-duncan/archive.git' + '@' + 'f1d164f8f5d8aea0be620a9b1e8d300b75a29388', # 3.6.1 - 'engine/src/flutter/third_party/pkg/coverage': - Var('flutter_git') + '/third_party/coverage.git' + '@' + 'bb0ab721ee4ceef1abfa413d8d6fd46013b583b9', # 1.7.2 - 'engine/src/flutter/third_party/pkg/equatable': Var('flutter_git') + '/third_party/equatable.git' + '@' + '2117551ff3054f8edb1a58f63ffe1832a8d25623', # 2.0.5 @@ -637,7 +634,7 @@ deps = { 'packages': [ { 'package': 'flutter/java/openjdk/${{platform}}', - 'version': 'version:17' + 'version': 'version:21' } ], # Always download the JDK since java is required for running the formatter. @@ -774,7 +771,7 @@ deps = { 'packages': [ { 'package': 'flutter_internal/rbe/reclient_cfgs', - 'version': 'XIomtC8MFuQrF9qI5xYcFfcfKXZTbcY6nL6NgF-pSRIC', + 'version': 'LNMZdvF2Y86Dq05IWthtVJ_PswIFSRiywIHrkfHhelUC', } ], 'condition': 'use_rbe', @@ -810,7 +807,7 @@ deps = { 'packages': [ { 'package': 'fuchsia/sdk/core/linux-amd64', - 'version': 'I1TfNmsqTp7t3rO8e3nDRysmyG1yHzZ7Mac7X5Pw9hkC' + 'version': '0Z45OXT_Wb8aWI3a0QZJd-2F4eItNvdvFw8OmUV5Rf0C' } ], 'condition': 'download_fuchsia_deps and not download_fuchsia_sdk', @@ -901,6 +898,15 @@ hooks = [ 'engine/src/build/linux/sysroot_scripts/install-sysroot.py', '--arch=arm64'], }, + { + 'name': 'linux_sysroot_riscv64', + 'pattern': '.', + 'condition': 'download_linux_deps', + 'action': [ + 'python3', + 'engine/src/build/linux/sysroot_scripts/install-sysroot.py', + '--arch=riscv64'], + }, { 'name': 'pub get --offline', 'pattern': '.', diff --git a/TESTOWNERS b/TESTOWNERS index 1db39b3ea3830..77b58aa7ae6d6 100644 --- a/TESTOWNERS +++ b/TESTOWNERS @@ -282,7 +282,8 @@ /dev/devicelab/bin/tasks/platform_view_macos__start_up.dart @cbracken @flutter/desktop /dev/devicelab/bin/tasks/platform_view_win_desktop__start_up.dart @yaakovschectman @flutter/desktop /dev/devicelab/bin/tasks/plugin_lint_mac.dart @stuartmorgan-g @flutter/plugin -/dev/devicelab/bin/tasks/plugin_test.dart @stuartmorgan-g @flutter/plugin +/dev/devicelab/bin/tasks/plugin_test_android_standard.dart @stuartmorgan-g @flutter/plugin +/dev/devicelab/bin/tasks/plugin_test_android_variants.dart @stuartmorgan-g @flutter/plugin /dev/devicelab/bin/tasks/plugin_test_ios.dart @stuartmorgan-g @flutter/ios /dev/devicelab/bin/tasks/plugin_test_linux.dart @stuartmorgan-g @flutter/desktop /dev/devicelab/bin/tasks/plugin_test_macos.dart @vashworth @flutter/desktop @@ -303,6 +304,7 @@ /dev/devicelab/bin/tasks/windows_desktop_impeller.dart @jonahwilliams @flutter/engine /dev/devicelab/bin/tasks/windows_home_scroll_perf__timeline_summary.dart @jonahwilliams @flutter/engine /dev/devicelab/bin/tasks/windows_startup_test.dart @loic-sharma @flutter/desktop +/dev/devicelab/bin/tasks/windowing_test_windows.dart @mattkae @flutter/desktop /dev/devicelab/bin/tasks/mac_desktop_impeller.dart @jonahwilliams @flutter/engine /dev/devicelab/bin/tasks/linux_desktop_impeller.dart @jonahwilliams @flutter/engine /dev/devicelab/bin/tasks/linux_feature_flags_test.dart @loic-sharma @flutter/desktop diff --git a/bin/internal/content_aware_hash.ps1 b/bin/internal/content_aware_hash.ps1 index 2157e2326f623..4b315d7493895 100644 --- a/bin/internal/content_aware_hash.ps1 +++ b/bin/internal/content_aware_hash.ps1 @@ -44,7 +44,7 @@ if (($currentBranch -ne "main") -and ($currentBranch -ne "master") -and ($currentBranch -ne "stable") -and ($currentBranch -ne "beta") -and - ($currentBranch -ne "HEAD") -and + (-not (($currentBranch -eq "HEAD") -and (-not [string]::IsNullOrEmpty($env:LUCI_CI)))) -and (-not $currentBranch.StartsWith("gh-readonly-queue/master/pr-")) -and (-not ($currentBranch -like "flutter-*-candidate.*")) -and (-not $isShallow)) { diff --git a/bin/internal/content_aware_hash.sh b/bin/internal/content_aware_hash.sh index a18d8b6d9e7c2..07c67869ae752 100755 --- a/bin/internal/content_aware_hash.sh +++ b/bin/internal/content_aware_hash.sh @@ -44,7 +44,7 @@ if [[ "$CURRENT_BRANCH" != "main" && \ "$CURRENT_BRANCH" != "beta" && \ "$CURRENT_BRANCH" != "gh-readonly-queue/master/pr-"* && \ "$CURRENT_BRANCH" != "flutter-"*"-candidate."* && \ - "$CURRENT_BRANCH" != "HEAD" && \ + ! ( "$CURRENT_BRANCH" == "HEAD" && -n "$LUCI_CI" ) && \ ! -f "$FLUTTER_ROOT/.git/shallow" ]]; then # This is a development branch. Find the merge-base. diff --git a/bin/internal/flutter_packages.version b/bin/internal/flutter_packages.version index 748e1dad0a451..8dccde3d7225a 100644 --- a/bin/internal/flutter_packages.version +++ b/bin/internal/flutter_packages.version @@ -1 +1 @@ -08a9b2cc46ddb8777a719f745c132b216b2b6121 +117bf639ec3a1dd89d4bb2d80779da030b392e24 diff --git a/bin/internal/shared.bat b/bin/internal/shared.bat index 152aafbd19cb2..1a55bffb11b98 100644 --- a/bin/internal/shared.bat +++ b/bin/internal/shared.bat @@ -13,10 +13,15 @@ REM -------------------------------------------------------------------------- SETLOCAL -REM Ensure we are runnng on 64-bit windows (32-bit is not supported) +REM Ensure we are running on 64-bit Windows (32-bit is not supported). +REM If this is a 32-bit process emulated by WOW64, +REM PROCESSOR_ARCHITECTURE is the process architecture and +REM PROCESSOR_ARCHITEW6432 is the processor architecture. IF "%PROCESSOR_ARCHITECTURE%"=="x86" ( - ECHO Flutter requires 64-bit versions of Windows - EXIT 1 + IF "%PROCESSOR_ARCHITEW6432%"=="" ( + ECHO Flutter requires 64-bit versions of Windows + EXIT 1 + ) ) SET flutter_tools_dir=%FLUTTER_ROOT%\packages\flutter_tools diff --git a/dev/a11y_assessments/lib/use_cases/auto_complete.dart b/dev/a11y_assessments/lib/use_cases/auto_complete.dart index 9185e62d583cf..82eceabc91120 100644 --- a/dev/a11y_assessments/lib/use_cases/auto_complete.dart +++ b/dev/a11y_assessments/lib/use_cases/auto_complete.dart @@ -36,6 +36,7 @@ class _MainWidgetState extends State<_MainWidget> { VoidCallback onFieldSubmitted, ) { return TextFormField( + decoration: const InputDecoration(labelText: 'Fruit'), focusNode: focusNode, controller: textEditingController, onFieldSubmitted: (String value) { @@ -54,22 +55,25 @@ class _MainWidgetState extends State<_MainWidget> { title: Semantics(headingLevel: 1, child: Text('$pageTitle Demo')), ), body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text('Type below to autocomplete the following possible results: $_kOptions.'), - Autocomplete( - optionsBuilder: (TextEditingValue textEditingValue) { - if (textEditingValue.text == '') { - return const Iterable.empty(); - } - return _kOptions.where((String option) { - return option.contains(textEditingValue.text.toLowerCase()); - }); - }, - fieldViewBuilder: _fieldViewBuilder, - ), - ], + child: Semantics( + container: true, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text('Type below to autocomplete the following possible results: $_kOptions.'), + Autocomplete( + optionsBuilder: (TextEditingValue textEditingValue) { + if (textEditingValue.text == '') { + return const Iterable.empty(); + } + return _kOptions.where((String option) { + return option.contains(textEditingValue.text.toLowerCase()); + }); + }, + fieldViewBuilder: _fieldViewBuilder, + ), + ], + ), ), ), ); diff --git a/dev/a11y_assessments/lib/use_cases/navigation_rail.dart b/dev/a11y_assessments/lib/use_cases/navigation_rail.dart index 07833990a8863..0bbc56f557b9e 100644 --- a/dev/a11y_assessments/lib/use_cases/navigation_rail.dart +++ b/dev/a11y_assessments/lib/use_cases/navigation_rail.dart @@ -51,6 +51,7 @@ class _NavRailExampleState extends State { labelType: labelType, leading: showLeading ? FloatingActionButton( + tooltip: 'Add', elevation: 0, onPressed: () { // Add your onPressed code here! @@ -60,6 +61,7 @@ class _NavRailExampleState extends State { : const SizedBox(), trailing: showTrailing ? IconButton( + tooltip: 'More', onPressed: () { // Add your onPressed code here! }, diff --git a/dev/a11y_assessments/lib/use_cases/text_button.dart b/dev/a11y_assessments/lib/use_cases/text_button.dart index 2efd34da6e1b5..f76604133ee59 100644 --- a/dev/a11y_assessments/lib/use_cases/text_button.dart +++ b/dev/a11y_assessments/lib/use_cases/text_button.dart @@ -29,6 +29,7 @@ class MainWidget extends StatefulWidget { class MainWidgetState extends State { String pageTitle = getUseCaseName(TextButtonUseCase()); final GlobalKey _formKey = GlobalKey(); + static const String fieldLabel = 'City'; @override Widget build(BuildContext context) { @@ -50,6 +51,10 @@ class MainWidgetState extends State { } return null; }, + errorBuilder: (BuildContext context, String errorText) { + return Text(errorText, semanticsLabel: '$errorText in $fieldLabel'); + }, + decoration: const InputDecoration(labelText: fieldLabel), ), Padding( padding: const EdgeInsets.symmetric(vertical: 16), diff --git a/dev/a11y_assessments/test/auto_complete_test.dart b/dev/a11y_assessments/test/auto_complete_test.dart index 1286a92ba4a00..42e8d86d96c37 100644 --- a/dev/a11y_assessments/test/auto_complete_test.dart +++ b/dev/a11y_assessments/test/auto_complete_test.dart @@ -4,11 +4,17 @@ import 'package:a11y_assessments/use_cases/auto_complete.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/semantics.dart'; import 'package:flutter_test/flutter_test.dart'; import 'test_utils.dart'; void main() { + testWidgets('text field label is visible', (WidgetTester tester) async { + await pumpsUseCase(tester, AutoCompleteUseCase()); + expect(find.text('Fruit'), findsOneWidget); + }); + testWidgets('auto complete can run', (WidgetTester tester) async { await pumpsUseCase(tester, AutoCompleteUseCase()); await tester.enterText(find.byType(TextFormField), 'a'); @@ -23,4 +29,19 @@ void main() { await tester.pumpAndSettle(); expect(findHeadingLevelOnes, findsOne); }); + + testWidgets('The text is used as semantics label for the text field', ( + WidgetTester tester, + ) async { + await pumpsUseCase(tester, AutoCompleteUseCase()); + await tester.pumpAndSettle(); + + const List kOptions = ['apple', 'banana', 'lemon']; + const String label = 'Fruit'; + final String message = + 'Type below to autocomplete the following possible results: $kOptions.\n$label'; + + final SemanticsNode node = tester.semantics.find(find.bySemanticsLabel(message)); + expect(node.flagsCollection.isTextField, isTrue); + }); } diff --git a/dev/a11y_assessments/test/navigation_rail_test.dart b/dev/a11y_assessments/test/navigation_rail_test.dart index 4dc98ea4cfdce..519c767f905d1 100644 --- a/dev/a11y_assessments/test/navigation_rail_test.dart +++ b/dev/a11y_assessments/test/navigation_rail_test.dart @@ -14,4 +14,34 @@ void main() { expect(find.byType(NavigationRail), findsExactly(1)); }); + + testWidgets('navigation rail can show/hide leading', (WidgetTester tester) async { + await pumpsUseCase(tester, NavigationRailUseCase()); + final Finder findLeading = find.byTooltip('Add'); + + expect(findLeading, findsNothing); + + await tester.tap(find.text('Show Leading')); + await tester.pump(); + expect(findLeading, findsOne); + + await tester.tap(find.text('Hide Leading')); + await tester.pump(); + expect(findLeading, findsNothing); + }); + + testWidgets('navigation rail can show/hide trailing', (WidgetTester tester) async { + await pumpsUseCase(tester, NavigationRailUseCase()); + final Finder findTrailing = find.byTooltip('More'); + + expect(findTrailing, findsNothing); + + await tester.tap(find.text('Show Trailing')); + await tester.pump(); + expect(findTrailing, findsOne); + + await tester.tap(find.text('Hide Trailing')); + await tester.pump(); + expect(findTrailing, findsNothing); + }); } diff --git a/dev/a11y_assessments/test/text_button_test.dart b/dev/a11y_assessments/test/text_button_test.dart index 4851a6adc045d..f7afde96dfe7c 100644 --- a/dev/a11y_assessments/test/text_button_test.dart +++ b/dev/a11y_assessments/test/text_button_test.dart @@ -9,6 +9,11 @@ import 'package:flutter_test/flutter_test.dart'; import 'test_utils.dart'; void main() { + testWidgets('text field label is visible', (WidgetTester tester) async { + await pumpsUseCase(tester, TextButtonUseCase()); + expect(find.text('City'), findsOneWidget); + }); + testWidgets('text button can run', (WidgetTester tester) async { await pumpsUseCase(tester, TextButtonUseCase()); expect(find.text('Submit'), findsOneWidget); @@ -34,4 +39,15 @@ void main() { await tester.pumpAndSettle(); expect(findHeadingLevelOnes, findsOne); }); + + testWidgets('submit empty field causes error to show', (WidgetTester tester) async { + await pumpsUseCase(tester, TextButtonUseCase()); + final Finder submitButton = find.text('Submit'); + + await tester.tap(submitButton); + await tester.pumpAndSettle(); + + expect(find.text('Please enter some text'), findsOneWidget); + expect(find.bySemanticsLabel('Please enter some text in City'), findsOne); + }); } diff --git a/dev/benchmarks/macrobenchmarks/lib/src/web/bench_mouse_region_grid_hover.dart b/dev/benchmarks/macrobenchmarks/lib/src/web/bench_mouse_region_grid_hover.dart index 6ac5847d7808f..48b8d9176041e 100644 --- a/dev/benchmarks/macrobenchmarks/lib/src/web/bench_mouse_region_grid_hover.dart +++ b/dev/benchmarks/macrobenchmarks/lib/src/web/bench_mouse_region_grid_hover.dart @@ -42,7 +42,7 @@ class BenchMouseRegionGridHover extends WidgetRecorder { late _Tester _tester; void handleDataPoint(Duration duration) { - profile!.addDataPoint('hitTestDuration', duration, reported: true); + profile?.addDataPoint('hitTestDuration', duration, reported: true); } // Use a non-trivial border to force Web to switch painter @@ -136,6 +136,8 @@ class _Tester { static const Duration hoverDuration = Duration(milliseconds: 20); bool _stopped = false; + final Completer _finished = Completer(); + Future get finished => _finished.future; TestGesture get gesture { return _gesture ??= TestGesture( @@ -167,6 +169,7 @@ class _Tester { await _hoverTo(const Offset(370, 390), hoverDuration); await _hoverTo(const Offset(390, 30), hoverDuration); } + _finished.complete(); } void stop() { diff --git a/dev/benchmarks/macrobenchmarks/lib/src/web/bench_mouse_region_mixed_grid_hover.dart b/dev/benchmarks/macrobenchmarks/lib/src/web/bench_mouse_region_mixed_grid_hover.dart index 07f9ddae115a1..68f43ffb3e9db 100644 --- a/dev/benchmarks/macrobenchmarks/lib/src/web/bench_mouse_region_mixed_grid_hover.dart +++ b/dev/benchmarks/macrobenchmarks/lib/src/web/bench_mouse_region_mixed_grid_hover.dart @@ -58,7 +58,7 @@ class BenchMouseRegionMixedGridHover extends WidgetRecorder { late _Tester _tester; void handleDataPoint(Duration duration) { - profile!.addDataPoint('hitTestDuration', duration, reported: true); + profile?.addDataPoint('hitTestDuration', duration, reported: true); } // Use a non-trivial border to force Web to switch painter @@ -157,6 +157,8 @@ class _Tester { static const Duration hoverDuration = Duration(milliseconds: 20); bool _stopped = false; + final Completer _finished = Completer(); + Future get finished => _finished.future; TestGesture get gesture { return _gesture ??= TestGesture( @@ -188,6 +190,7 @@ class _Tester { await _hoverTo(const Offset(370, 390), hoverDuration); await _hoverTo(const Offset(390, 30), hoverDuration); } + _finished.complete(); } void stop() { diff --git a/dev/benchmarks/macrobenchmarks/lib/src/web/material3.dart b/dev/benchmarks/macrobenchmarks/lib/src/web/material3.dart index 3848eb26af64c..b2c26b7711ef7 100644 --- a/dev/benchmarks/macrobenchmarks/lib/src/web/material3.dart +++ b/dev/benchmarks/macrobenchmarks/lib/src/web/material3.dart @@ -718,10 +718,10 @@ class _SwitchRowState extends State { bool value0 = false; bool value1 = true; - final MaterialStateProperty thumbIcon = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty thumbIcon = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return const Icon(Icons.check); } return const Icon(Icons.close); @@ -1251,11 +1251,11 @@ ButtonStyle enabledOutlinedButtonStyle(bool selected, ColorScheme colors) { : colors.onSurface.withOpacity(0.12), side: BorderSide(color: colors.outline), ).copyWith( - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return colors.onInverseSurface; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return colors.onSurface; } return null; diff --git a/dev/benchmarks/test_apps/stocks/lib/i18n/regenerate.md b/dev/benchmarks/test_apps/stocks/lib/i18n/regenerate.md index 54abe40f2f2e8..7f789e9ebcc9b 100644 --- a/dev/benchmarks/test_apps/stocks/lib/i18n/regenerate.md +++ b/dev/benchmarks/test_apps/stocks/lib/i18n/regenerate.md @@ -3,7 +3,7 @@ The arb files in this directory are used to generate `stock_strings.dart`, which contains the `StockStrings` class. This localizations class is used by the stocks application to look up localized message strings. -The stocks app uses the [Dart `intl` package](https://github.com/dart-lang/intl). +The stocks app uses the [Dart `intl` package](https://github.com/dart-lang/i18n/tree/main/pkgs/intl). To update the English and Spanish localizations, modify the `stocks_en_US.arb`, `stocks_en.arb`, or `stocks_es.arb` files. See the diff --git a/dev/bots/custom_rules/no_double_clamp.dart b/dev/bots/custom_rules/no_double_clamp.dart index e2fd4539044c8..3483c3d31d9da 100644 --- a/dev/bots/custom_rules/no_double_clamp.dart +++ b/dev/bots/custom_rules/no_double_clamp.dart @@ -65,7 +65,7 @@ class _DoubleClampVisitor extends RecursiveAstVisitor { @override void visitSimpleIdentifier(SimpleIdentifier node) { - if (node.name != 'clamp' || node.staticElement is! MethodElement) { + if (node.name != 'clamp' || node.element is! MethodElement) { return; } final bool isAllowed = switch (node.parent) { diff --git a/dev/bots/custom_rules/no_stop_watches.dart b/dev/bots/custom_rules/no_stop_watches.dart index 2d08ff69920a3..4a1ce21ff9924 100644 --- a/dev/bots/custom_rules/no_stop_watches.dart +++ b/dev/bots/custom_rules/no_stop_watches.dart @@ -93,7 +93,7 @@ class _StopwatchVisitor extends RecursiveAstVisitor { bool _isInternal(LibraryElement libraryElement) { return path.isWithin( compilationUnit.session.analysisContext.contextRoot.root.path, - libraryElement.source.fullName, + libraryElement.firstFragment.source.fullName, ); } @@ -118,7 +118,7 @@ class _StopwatchVisitor extends RecursiveAstVisitor { @override void visitConstructorName(ConstructorName node) { - final Element? element = node.staticElement; + final Element? element = node.element; if (element is! ConstructorElement) { assert(false, '$element of $node is not a ConstructorElement.'); return; @@ -137,7 +137,7 @@ class _StopwatchVisitor extends RecursiveAstVisitor { @override void visitSimpleIdentifier(SimpleIdentifier node) { - final bool isAllowed = switch (node.staticElement) { + final bool isAllowed = switch (node.element) { ExecutableElement( returnType: DartType(element: final ClassElement classElement), library: final LibraryElement libraryElement, diff --git a/dev/bots/custom_rules/protect_public_state_subtypes.dart b/dev/bots/custom_rules/protect_public_state_subtypes.dart index 9d0726e6c7225..a02d25a1b740a 100644 --- a/dev/bots/custom_rules/protect_public_state_subtypes.dart +++ b/dev/bots/custom_rules/protect_public_state_subtypes.dart @@ -73,7 +73,7 @@ class _StateSubclassVisitor extends SimpleAstVisitor { @override void visitClassDeclaration(ClassDeclaration node) { - if (isPublicStateSubtype(node.declaredElement!)) { + if (isPublicStateSubtype(node.declaredFragment!.element)) { node.visitChildren(this); } } @@ -92,7 +92,7 @@ class _StateSubclassVisitor extends SimpleAstVisitor { case 'dispose': case 'build': case 'debugFillProperties': - if (!node.declaredElement!.hasProtected) { + if (!node.declaredFragment!.element.metadata.hasProtected) { unprotectedMethods.add(node); } } diff --git a/dev/bots/custom_rules/render_box_intrinsics.dart b/dev/bots/custom_rules/render_box_intrinsics.dart index 9b0d869239630..5c3c3c0b58b6e 100644 --- a/dev/bots/custom_rules/render_box_intrinsics.dart +++ b/dev/bots/custom_rules/render_box_intrinsics.dart @@ -66,7 +66,7 @@ class _RenderBoxSubclassVisitor extends RecursiveAstVisitor { // The cached version, call this method instead of _checkIfImplementsRenderBox. static bool _implementsRenderBox(InterfaceElement interfaceElement) { // Framework naming convention: a RenderObject subclass names have "Render" in its name. - if (!interfaceElement.name.contains('Render')) { + if (!interfaceElement.name!.contains('Render')) { return false; } return interfaceElement.name == 'RenderBox' || @@ -115,7 +115,7 @@ class _RenderBoxSubclassVisitor extends RecursiveAstVisitor { if (isCallingSuperImplementation) { return; } - final Element? declaredInClassElement = node.staticElement?.declaration?.enclosingElement3; + final Element? declaredInClassElement = node.element?.enclosingElement; if (declaredInClassElement is InterfaceElement && _implementsRenderBox(declaredInClassElement)) { violationNodes.add((node, correctMethodName)); diff --git a/dev/devicelab/bin/run.dart b/dev/devicelab/bin/run.dart index acc40fdf3acc5..4c6d17d27aa9d 100644 --- a/dev/devicelab/bin/run.dart +++ b/dev/devicelab/bin/run.dart @@ -32,6 +32,8 @@ Future main(List rawArgs) async { /// Suppresses standard output, prints only standard error output. final bool silent = (args['silent'] as bool?) ?? false; + final String buildMode = args['build-mode'] as String; + /// The build of the local engine to use. /// /// Required for A/B test mode. @@ -120,6 +122,7 @@ Future main(List rawArgs) async { resultsFile: resultsFile, taskName: taskNames.single, onlyLocalEngine: (args['ab-local-engine-only'] as bool?) ?? false, + buildMode: buildMode, ); } else { await runTasks( @@ -128,6 +131,7 @@ Future main(List rawArgs) async { localEngine: localEngine, localEngineHost: localEngineHost, localEngineSrcPath: localEngineSrcPath, + localWebSdk: localWebSdk, deviceId: deviceId, exitOnFirstTestFailure: exitOnFirstTestFailure, terminateStrayDartProcesses: terminateStrayDartProcesses, @@ -135,6 +139,7 @@ Future main(List rawArgs) async { luciBuilder: luciBuilder, resultsPath: resultsPath, useEmulator: useEmulator, + buildMode: buildMode, ); } } @@ -145,6 +150,7 @@ Future _runABTest({ required String? localEngine, required String? localEngineHost, required String? localWebSdk, + required String buildMode, required String? localEngineSrcPath, required String? deviceId, required String resultsFile, @@ -171,6 +177,7 @@ Future _runABTest({ taskName, silent: silent, deviceId: deviceId, + buildMode: buildMode, ); print('Default engine result:'); @@ -192,6 +199,7 @@ Future _runABTest({ localEngineHost: localEngineHost, localWebSdk: localWebSdk, localEngineSrcPath: localEngineSrcPath, + buildMode: buildMode, deviceId: deviceId, ); @@ -255,6 +263,12 @@ ArgParser createArgParser(List taskNames) { taskNames.addAll(tasks); }, ) + ..addOption( + 'build-mode', + defaultsTo: 'profile', + allowed: ['debug', 'profile'], + help: 'The build mode to use for the benchmark.', + ) ..addOption( 'device-id', abbr: 'd', diff --git a/dev/devicelab/bin/tasks/android_java17_dependency_smoke_tests.dart b/dev/devicelab/bin/tasks/android_java17_dependency_smoke_tests.dart index 3764c8e5cd4aa..bebc06c0e43a2 100644 --- a/dev/devicelab/bin/tasks/android_java17_dependency_smoke_tests.dart +++ b/dev/devicelab/bin/tasks/android_java17_dependency_smoke_tests.dart @@ -21,7 +21,7 @@ List versionTuples = [ // Template VersionTuple(agpVersion: '8.9.1', gradleVersion: '8.12', kotlinVersion: '2.1.0'), // Max known - VersionTuple(agpVersion: '8.10.0', gradleVersion: '9.0.0-rc-2', kotlinVersion: '2.2.0'), + VersionTuple(agpVersion: '8.10.0', gradleVersion: '9.1.0', kotlinVersion: '2.2.0'), /* Others */ VersionTuple(agpVersion: '8.4.0', gradleVersion: '8.6', kotlinVersion: '1.8.22'), VersionTuple(agpVersion: '8.6.0', gradleVersion: '8.7', kotlinVersion: '1.8.22'), @@ -33,8 +33,9 @@ Future main() async { /// The [FileSystem] for the integration test environment. const LocalFileSystem fileSystem = LocalFileSystem(); + /// The temp [Directory] purposedly has a space in it. final Directory tempDir = fileSystem.systemTempDirectory.createTempSync( - 'flutter_android_dependency_version_tests', + 'flutter android_dependency_version_tests', ); await task(() { return buildFlutterApkWithSpecifiedDependencyVersions( diff --git a/dev/devicelab/bin/tasks/build_mode_test.dart b/dev/devicelab/bin/tasks/build_mode_test.dart new file mode 100644 index 0000000000000..63959bd959c99 --- /dev/null +++ b/dev/devicelab/bin/tasks/build_mode_test.dart @@ -0,0 +1,15 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter_devicelab/framework/framework.dart'; +import 'package:flutter_devicelab/framework/task_result.dart'; + +const String buildMode = String.fromEnvironment('buildMode'); + +Future main() async { + await task(() async { + print('buildMode: $buildMode'); + return TaskResult.success(null); + }); +} diff --git a/dev/devicelab/bin/tasks/plugin_lint_mac.dart b/dev/devicelab/bin/tasks/plugin_lint_mac.dart index 18213b8ea99d8..be9652d96aab5 100644 --- a/dev/devicelab/bin/tasks/plugin_lint_mac.dart +++ b/dev/devicelab/bin/tasks/plugin_lint_mac.dart @@ -48,46 +48,9 @@ Future main() async { await _tryMacOSLint(macosintegrationTestPodspec, []); }); - section('Create Objective-C plugin'); + section('Create plugin'); - const String objcPluginName = 'test_plugin_objc'; - await inDirectory(tempDir, () async { - await flutter( - 'create', - options: [ - '--org', - 'io.flutter.devicelab', - '--template=plugin', - '--platforms=ios,android', - '--ios-language=objc', - objcPluginName, - ], - ); - }); - - section('Lint Objective-C iOS podspec plugin as framework'); - - final String objcPluginPath = path.join(tempDir.path, objcPluginName); - final String objcPodspecPath = path.join(objcPluginPath, 'ios', '$objcPluginName.podspec'); - await inDirectory(tempDir, () async { - await exec('pod', ['lib', 'lint', objcPodspecPath, '--allow-warnings']); - }); - - section('Lint Objective-C iOS podspec plugin as library'); - - await inDirectory(tempDir, () async { - await exec('pod', [ - 'lib', - 'lint', - objcPodspecPath, - '--allow-warnings', - '--use-libraries', - ]); - }); - - section('Create Swift plugin'); - - const String swiftPluginName = 'test_plugin_swift'; + const String pluginName = 'test_plugin'; await inDirectory(tempDir, () async { await flutter( 'create', @@ -96,44 +59,39 @@ Future main() async { 'io.flutter.devicelab', '--template=plugin', '--platforms=ios,macos', - '--ios-language=swift', - swiftPluginName, + pluginName, ], ); }); - section('Lint Swift iOS podspec plugin as framework'); + section('Lint iOS podspec plugin as framework'); - final String swiftPluginPath = path.join(tempDir.path, swiftPluginName); - final String swiftPodspecPath = path.join(swiftPluginPath, 'ios', '$swiftPluginName.podspec'); + final String pluginPath = path.join(tempDir.path, pluginName); + final String podspecPath = path.join(pluginPath, 'ios', '$pluginName.podspec'); await inDirectory(tempDir, () async { - await exec('pod', ['lib', 'lint', swiftPodspecPath, '--allow-warnings']); + await exec('pod', ['lib', 'lint', podspecPath, '--allow-warnings']); }); - section('Lint Swift iOS podspec plugin as library'); + section('Lint iOS podspec plugin as library'); await inDirectory(tempDir, () async { await exec('pod', [ 'lib', 'lint', - swiftPodspecPath, + podspecPath, '--allow-warnings', '--use-libraries', ]); }); - section('Lint Swift macOS podspec plugin as framework'); + section('Lint macOS podspec plugin as framework'); - final String macOSPodspecPath = path.join( - swiftPluginPath, - 'macos', - '$swiftPluginName.podspec', - ); + final String macOSPodspecPath = path.join(pluginPath, 'macos', '$pluginName.podspec'); await inDirectory(tempDir, () async { await _tryMacOSLint(macOSPodspecPath, ['--allow-warnings']); }); - section('Lint Swift macOS podspec plugin as library'); + section('Lint macOS podspec plugin as library'); await inDirectory(tempDir, () async { await _tryMacOSLint(macOSPodspecPath, ['--allow-warnings', '--use-libraries']); @@ -149,7 +107,7 @@ Future main() async { ); }); - section('Build iOS application with Swift and Objective-C plugins as frameworks'); + section('Build iOS application with plugins as frameworks'); final String appPath = path.join(tempDir.path, iosAppName); @@ -160,7 +118,7 @@ Future main() async { // Add the new plugins we just made. pubspecContent = pubspecContent.replaceFirst( '\ndependencies:\n', - '\ndependencies:\n $objcPluginName:\n path: $objcPluginPath\n $swiftPluginName:\n path: $swiftPluginPath\n url_launcher: 6.0.16\n url_launcher_macos:\n', + '\ndependencies:\n $pluginName:\n path: $pluginPath\n url_launcher: 6.0.16\n url_launcher_macos:\n', ); pubspec.writeAsStringSync(pubspecContent, flush: true); @@ -174,7 +132,7 @@ Future main() async { return TaskResult.failure('Expected default Podfile to contain use_frameworks'); } - section('Build iOS application with Swift and Objective-C plugins as libraries'); + section('Build iOS application with plugins as libraries'); iosPodfileContent = iosPodfileContent.replaceAll('use_frameworks!', ''); iosPodfile.writeAsStringSync(iosPodfileContent, flush: true); @@ -198,26 +156,15 @@ Future main() async { _validateMacOSPodfile(appPath); - section('Build macOS application with plugins as libraries'); - - macosPodfileContent = macosPodfileContent.replaceAll('use_frameworks!', ''); - macOSPodfile.writeAsStringSync(macosPodfileContent, flush: true); - - await inDirectory(appPath, () async { - await flutter('build', options: ['macos']); - }); - - _validateMacOSPodfile(appPath); - section('Remove iOS support from plugin'); - Directory(path.join(objcPluginPath, 'ios')).deleteSync(recursive: true); + Directory(path.join(pluginPath, 'ios')).deleteSync(recursive: true); const String iosPlatformMap = ''' ios: - pluginClass: TestPluginObjcPlugin'''; + pluginClass: TestPlugin'''; - final File pluginPubspec = File(path.join(objcPluginPath, 'pubspec.yaml')); + final File pluginPubspec = File(path.join(pluginPath, 'pubspec.yaml')); String pluginPubspecContent = pluginPubspec.readAsStringSync(); if (!pluginPubspecContent.contains(iosPlatformMap)) { return TaskResult.failure('Plugin pubspec.yaml missing iOS platform map'); @@ -237,10 +184,9 @@ Future main() async { final String podfileLockOutput = podfileLockFile.readAsStringSync(); if (!podfileLockOutput.contains(':path: ".symlinks/plugins/url_launcher_ios/ios"') || !podfileLockOutput.contains(':path: Flutter') - // test_plugin_objc no longer supports iOS, shouldn't be present. + // test_plugin no longer supports iOS, shouldn't be present. || - podfileLockOutput.contains(':path: ".symlinks/plugins/test_plugin_objc/ios"') || - !podfileLockOutput.contains(':path: ".symlinks/plugins/test_plugin_swift/ios"')) { + podfileLockOutput.contains(':path: ".symlinks/plugins/test_plugin/ios"')) { print(podfileLockOutput); return TaskResult.failure('Podfile.lock does not contain expected pods'); } @@ -249,10 +195,19 @@ Future main() async { checkDirectoryExists(path.join(pluginSymlinks, 'url_launcher_ios', 'ios')); - checkDirectoryExists(path.join(pluginSymlinks, 'test_plugin_swift', 'ios')); + // test_plugin no longer supports iOS, shouldn't exist! + checkDirectoryNotExists(path.join(pluginSymlinks, 'test_plugin')); - // test_plugin_objc no longer supports iOS, shouldn't exist! - checkDirectoryNotExists(path.join(pluginSymlinks, 'test_plugin_objc')); + section('Build macOS application with plugins as libraries'); + + macosPodfileContent = macosPodfileContent.replaceAll('use_frameworks!', ''); + macOSPodfile.writeAsStringSync(macosPodfileContent, flush: true); + + await inDirectory(appPath, () async { + await flutter('build', options: ['macos']); + }); + + _validateMacOSPodfile(appPath); return TaskResult.success(null); } catch (e, stackTrace) { @@ -271,8 +226,7 @@ void _validateIosPodfile(String appPath) { final String podfileLockOutput = podfileLockFile.readAsStringSync(); if (!podfileLockOutput.contains(':path: ".symlinks/plugins/url_launcher_ios/ios"') || !podfileLockOutput.contains(':path: Flutter') || - !podfileLockOutput.contains(':path: ".symlinks/plugins/test_plugin_objc/ios"') || - !podfileLockOutput.contains(':path: ".symlinks/plugins/test_plugin_swift/ios"') || + !podfileLockOutput.contains(':path: ".symlinks/plugins/test_plugin/ios"') || podfileLockOutput.contains('url_launcher_macos')) { print(podfileLockOutput); throw TaskResult.failure('iOS Podfile.lock does not contain expected pods'); @@ -288,9 +242,7 @@ void _validateIosPodfile(String appPath) { checkDirectoryNotExists(path.join(pluginSymlinks, 'url_launcher_macos')); - checkDirectoryExists(path.join(pluginSymlinks, 'test_plugin_objc', 'ios')); - - checkDirectoryExists(path.join(pluginSymlinks, 'test_plugin_swift', 'ios')); + checkDirectoryExists(path.join(pluginSymlinks, 'test_plugin', 'ios')); // Make sure no Xcode build settings are leaking derived data/build directory into the ios directory. checkDirectoryNotExists(path.join(appPath, 'ios', 'build')); @@ -305,9 +257,7 @@ void _validateMacOSPodfile(String appPath) { !podfileLockOutput.contains( ':path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos', ) || - !podfileLockOutput.contains( - ':path: Flutter/ephemeral/.symlinks/plugins/test_plugin_swift/macos', - ) || + !podfileLockOutput.contains(':path: Flutter/ephemeral/.symlinks/plugins/test_plugin/macos') || podfileLockOutput.contains('url_launcher_ios/')) { print(podfileLockOutput); throw TaskResult.failure('macOS Podfile.lock does not contain expected pods'); @@ -328,7 +278,7 @@ void _validateMacOSPodfile(String appPath) { checkDirectoryNotExists(path.join(pluginSymlinks, 'url_launcher_ios')); - checkDirectoryExists(path.join(pluginSymlinks, 'test_plugin_swift', 'macos')); + checkDirectoryExists(path.join(pluginSymlinks, 'test_plugin', 'macos')); } Future _tryMacOSLint(String podspecPath, List extraArguments) async { diff --git a/dev/devicelab/bin/tasks/plugin_test_android_standard.dart b/dev/devicelab/bin/tasks/plugin_test_android_standard.dart new file mode 100644 index 0000000000000..9d5005c619768 --- /dev/null +++ b/dev/devicelab/bin/tasks/plugin_test_android_standard.dart @@ -0,0 +1,15 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter_devicelab/framework/framework.dart'; +import 'package:flutter_devicelab/tasks/plugin_tests.dart'; + +Future main() async { + await task( + combine([ + PluginTest('apk', ['-a', 'java', '--platforms=android']).call, + PluginTest('apk', ['-a', 'kotlin', '--platforms=android']).call, + ]), + ); +} diff --git a/dev/devicelab/bin/tasks/plugin_test.dart b/dev/devicelab/bin/tasks/plugin_test_android_variants.dart similarity index 80% rename from dev/devicelab/bin/tasks/plugin_test.dart rename to dev/devicelab/bin/tasks/plugin_test_android_variants.dart index fcb8772334af5..54bf1a4bc83b9 100644 --- a/dev/devicelab/bin/tasks/plugin_test.dart +++ b/dev/devicelab/bin/tasks/plugin_test_android_variants.dart @@ -8,8 +8,6 @@ import 'package:flutter_devicelab/tasks/plugin_tests.dart'; Future main() async { await task( combine([ - PluginTest('apk', ['-a', 'java', '--platforms=android']).call, - PluginTest('apk', ['-a', 'kotlin', '--platforms=android']).call, // Test that Dart-only plugins are supported. PluginTest('apk', ['--platforms=android'], dartOnlyPlugin: true).call, // Test that FFI plugins are supported. diff --git a/dev/devicelab/bin/tasks/plugin_test_ios.dart b/dev/devicelab/bin/tasks/plugin_test_ios.dart index 04196a7942b98..491f57f694f04 100644 --- a/dev/devicelab/bin/tasks/plugin_test_ios.dart +++ b/dev/devicelab/bin/tasks/plugin_test_ios.dart @@ -8,12 +8,9 @@ import 'package:flutter_devicelab/tasks/plugin_tests.dart'; Future main() async { await task( combine([ - PluginTest('ios', ['-i', 'objc', '--platforms=ios']).call, - PluginTest('ios', ['-i', 'swift', '--platforms=ios']).call, + PluginTest('ios', ['--platforms=ios']).call, // Test that app builds with Flutter as a transitive dependency. PluginTest('ios', [ - '-i', - 'objc', '--platforms=ios', ], cocoapodsTransitiveFlutterDependency: true).call, // Test that Dart-only plugins are supported. diff --git a/dev/devicelab/bin/tasks/routing_test.dart b/dev/devicelab/bin/tasks/routing_test.dart index d31c0354eb652..16e09624676d9 100644 --- a/dev/devicelab/bin/tasks/routing_test.dart +++ b/dev/devicelab/bin/tasks/routing_test.dart @@ -33,10 +33,8 @@ void main() { print('run: starting...'); final Process run = await startFlutter( 'run', - // --fast-start does not support routes. options: [ '--disable-service-auth-codes', - '--no-fast-start', '--no-publish-port', '-d', device.deviceId, diff --git a/dev/devicelab/bin/tasks/service_extensions_test.dart b/dev/devicelab/bin/tasks/service_extensions_test.dart index 74eb34433e19a..5348e4751918b 100644 --- a/dev/devicelab/bin/tasks/service_extensions_test.dart +++ b/dev/devicelab/bin/tasks/service_extensions_test.dart @@ -28,7 +28,6 @@ void main() { final Process run = await startFlutter( 'run', options: [ - '--no-fast-start', '--no-publish-port', '--disable-service-auth-codes', '-d', diff --git a/dev/devicelab/bin/tasks/web_benchmarks_canvaskit.dart b/dev/devicelab/bin/tasks/web_benchmarks_canvaskit.dart index 3dbd76c6f6f6b..1f213387ab973 100644 --- a/dev/devicelab/bin/tasks/web_benchmarks_canvaskit.dart +++ b/dev/devicelab/bin/tasks/web_benchmarks_canvaskit.dart @@ -5,6 +5,8 @@ import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/tasks/web_benchmarks.dart'; +const String buildMode = String.fromEnvironment('buildMode', defaultValue: 'profile'); + /// Runs all Web benchmarks using the CanvasKit rendering backend. Future main() async { await task(() async { @@ -13,6 +15,7 @@ Future main() async { forceSingleThreadedSkwasm: false, useDdc: false, withHotReload: false, + buildMode: buildMode, )); }); } diff --git a/dev/devicelab/bin/tasks/web_benchmarks_ddc.dart b/dev/devicelab/bin/tasks/web_benchmarks_ddc.dart index e3e2e40b209f3..98296cad05bba 100644 --- a/dev/devicelab/bin/tasks/web_benchmarks_ddc.dart +++ b/dev/devicelab/bin/tasks/web_benchmarks_ddc.dart @@ -13,6 +13,7 @@ Future main() async { forceSingleThreadedSkwasm: false, useDdc: true, withHotReload: false, + buildMode: 'debug', )); }); } diff --git a/dev/devicelab/bin/tasks/web_benchmarks_ddc_hot_reload.dart b/dev/devicelab/bin/tasks/web_benchmarks_ddc_hot_reload.dart index dbd5f58d6bbdf..7805409440f71 100644 --- a/dev/devicelab/bin/tasks/web_benchmarks_ddc_hot_reload.dart +++ b/dev/devicelab/bin/tasks/web_benchmarks_ddc_hot_reload.dart @@ -13,6 +13,7 @@ Future main() async { forceSingleThreadedSkwasm: false, useDdc: true, withHotReload: true, + buildMode: 'debug', )); }); } diff --git a/dev/devicelab/bin/tasks/web_benchmarks_skwasm.dart b/dev/devicelab/bin/tasks/web_benchmarks_skwasm.dart index 1049b4a550b66..06af54327f055 100644 --- a/dev/devicelab/bin/tasks/web_benchmarks_skwasm.dart +++ b/dev/devicelab/bin/tasks/web_benchmarks_skwasm.dart @@ -5,6 +5,8 @@ import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/tasks/web_benchmarks.dart'; +const String buildMode = String.fromEnvironment('buildMode', defaultValue: 'profile'); + /// Runs all Web benchmarks using the Skwasm rendering backend. Future main() async { await task(() async { @@ -13,6 +15,7 @@ Future main() async { forceSingleThreadedSkwasm: false, useDdc: false, withHotReload: false, + buildMode: buildMode, )); }); } diff --git a/dev/devicelab/bin/tasks/web_benchmarks_skwasm_st.dart b/dev/devicelab/bin/tasks/web_benchmarks_skwasm_st.dart index 61b6e69469535..a2efdacd7542e 100644 --- a/dev/devicelab/bin/tasks/web_benchmarks_skwasm_st.dart +++ b/dev/devicelab/bin/tasks/web_benchmarks_skwasm_st.dart @@ -5,6 +5,8 @@ import 'package:flutter_devicelab/framework/framework.dart'; import 'package:flutter_devicelab/tasks/web_benchmarks.dart'; +const String buildMode = String.fromEnvironment('buildMode', defaultValue: 'profile'); + /// Runs all Web benchmarks using the Skwasm rendering backend. Future main() async { await task(() async { @@ -13,6 +15,7 @@ Future main() async { forceSingleThreadedSkwasm: true, useDdc: false, withHotReload: false, + buildMode: buildMode, )); }); } diff --git a/dev/devicelab/bin/tasks/windowing_test_windows.dart b/dev/devicelab/bin/tasks/windowing_test_windows.dart new file mode 100644 index 0000000000000..d682f2f4648e6 --- /dev/null +++ b/dev/devicelab/bin/tasks/windowing_test_windows.dart @@ -0,0 +1,12 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter_devicelab/framework/devices.dart'; +import 'package:flutter_devicelab/framework/framework.dart'; +import 'package:flutter_devicelab/tasks/integration_tests.dart'; + +Future main() async { + deviceOperatingSystem = DeviceOperatingSystem.windows; + await task(createWindowingDriverTest()); +} diff --git a/dev/devicelab/lib/framework/ab.dart b/dev/devicelab/lib/framework/ab.dart index 5f9c2e9639f9c..ad20fe8bb40ba 100644 --- a/dev/devicelab/lib/framework/ab.dart +++ b/dev/devicelab/lib/framework/ab.dart @@ -89,7 +89,7 @@ class ABTest { kBenchmarkTypeKeyName: kBenchmarkResultsType, kBenchmarkVersionKeyName: kBenchmarkABVersion, kLocalEngineKeyName: localEngine, - if (localEngineHost != null) kLocalEngineHostKeyName: localEngineHost, + kLocalEngineHostKeyName: ?localEngineHost, kTaskNameKeyName: taskName, kRunStartKeyName: runStart.toIso8601String(), kRunEndKeyName: runEnd!.toIso8601String(), diff --git a/dev/devicelab/lib/framework/devices.dart b/dev/devicelab/lib/framework/devices.dart index e43e52f4123fd..e67f45c420ccc 100644 --- a/dev/devicelab/lib/framework/devices.dart +++ b/dev/devicelab/lib/framework/devices.dart @@ -685,9 +685,10 @@ class AndroidDevice extends Device { final String powerInfo = await shellEval('dumpsys', ['power']); // A motoG4 phone returns `mWakefulness=Awake`. // A Samsung phone returns `getWakefullnessLocked()=Awake`. - final RegExp wakefulnessRegexp = RegExp(r'.*(mWakefulness=|getWakefulnessLocked\(\)=).*'); - final String wakefulness = grep(wakefulnessRegexp, from: powerInfo).single.split('=')[1].trim(); - return wakefulness; + final RegExp wakefulnessRegexp = RegExp( + r'(?:mWakefulness|getWakefulnessLocked\(\))=\s*([a-zA-Z]+)', + ); + return wakefulnessRegexp.allMatches(powerInfo).single.group(1)!; } Future isArm64() async { @@ -1018,7 +1019,6 @@ class IosDeviceDiscovery implements DeviceDiscovery { // "hotReload": true, // "hotRestart": true, // "screenshot": true, - // "fastStart": false, // "flutterExit": true, // "hardwareRendering": false, // "startPaused": false diff --git a/dev/devicelab/lib/framework/runner.dart b/dev/devicelab/lib/framework/runner.dart index ef73d6ed0ba55..3b8f972da0156 100644 --- a/dev/devicelab/lib/framework/runner.dart +++ b/dev/devicelab/lib/framework/runner.dart @@ -38,10 +38,12 @@ Future runTasks( String? localEngine, String? localEngineHost, String? localEngineSrcPath, + String? localWebSdk, String? luciBuilder, String? resultsPath, List? taskArgs, bool useEmulator = false, + String buildMode = 'profile', @visibleForTesting Map? isolateParams, @visibleForTesting void Function(String) print = print, @visibleForTesting List? logs, @@ -56,6 +58,7 @@ Future runTasks( localEngine: localEngine, localEngineHost: localEngineHost, localEngineSrcPath: localEngineSrcPath, + localWebSdk: localWebSdk, terminateStrayDartProcesses: terminateStrayDartProcesses, silent: silent, taskArgs: taskArgs, @@ -64,6 +67,7 @@ Future runTasks( luciBuilder: luciBuilder, isolateParams: isolateParams, useEmulator: useEmulator, + buildMode: buildMode, ); if (!result.succeeded) { @@ -109,6 +113,7 @@ Future rerunTask( String? localEngine, String? localEngineHost, String? localEngineSrcPath, + String? localWebSdk, bool terminateStrayDartProcesses = false, bool silent = false, List? taskArgs, @@ -116,6 +121,7 @@ Future rerunTask( String? gitBranch, String? luciBuilder, bool useEmulator = false, + String buildMode = 'profile', @visibleForTesting Map? isolateParams, }) async { section('Running task "$taskName"'); @@ -125,11 +131,13 @@ Future rerunTask( localEngine: localEngine, localEngineHost: localEngineHost, localEngineSrcPath: localEngineSrcPath, + localWebSdk: localWebSdk, terminateStrayDartProcesses: terminateStrayDartProcesses, silent: silent, taskArgs: taskArgs, isolateParams: isolateParams, useEmulator: useEmulator, + buildMode: buildMode, ); print('Task result:'); @@ -169,6 +177,7 @@ Future runTask( String? deviceId, List? taskArgs, bool useEmulator = false, + String buildMode = 'profile', @visibleForTesting Map? isolateParams, }) async { final String taskExecutable = 'bin/tasks/$taskName.dart'; @@ -192,6 +201,7 @@ Future runTask( [ '--enable-vm-service=0', // zero causes the system to choose a free port '--no-pause-isolates-on-exit', + '-DbuildMode=$buildMode', if (localEngine != null) '-DlocalEngine=$localEngine', if (localEngineHost != null) '-DlocalEngineHost=$localEngineHost', if (localWebSdk != null) '-DlocalWebSdk=$localWebSdk', @@ -199,7 +209,7 @@ Future runTask( taskExecutable, ...?taskArgs, ], - environment: {if (deviceId != null) DeviceIdEnvName: deviceId}, + environment: {DeviceIdEnvName: ?deviceId}, ); bool runnerFinished = false; diff --git a/dev/devicelab/lib/tasks/integration_tests.dart b/dev/devicelab/lib/tasks/integration_tests.dart index bae536b351468..f95b9311a3913 100644 --- a/dev/devicelab/lib/tasks/integration_tests.dart +++ b/dev/devicelab/lib/tasks/integration_tests.dart @@ -221,6 +221,16 @@ TaskFunction createWindowsStartupDriverTest({String? deviceIdOverride}) { ).call; } +TaskFunction createWindowingDriverTest() { + return () async { + await flutter('config', options: const ['--enable-windowing']); + return DriverTest( + '${flutterDirectory.path}/dev/integration_tests/windowing_test', + 'lib/main.dart', + ).call(); + }; +} + TaskFunction createWideGamutTest() { return IntegrationTest( '${flutterDirectory.path}/dev/integration_tests/wide_gamut_test', diff --git a/dev/devicelab/lib/tasks/perf_tests.dart b/dev/devicelab/lib/tasks/perf_tests.dart index cf746b2538cee..6ab894a423cf0 100644 --- a/dev/devicelab/lib/tasks/perf_tests.dart +++ b/dev/devicelab/lib/tasks/perf_tests.dart @@ -2426,7 +2426,6 @@ class ReportedDurationTest { options: [ '--verbose', '--no-publish-port', - '--no-fast-start', '--${_reportedDurationTestToString(flavor)}', '--no-resident', '-d', diff --git a/dev/devicelab/lib/tasks/plugin_tests.dart b/dev/devicelab/lib/tasks/plugin_tests.dart index 77eeecc200d4b..9a4a818b9d41f 100644 --- a/dev/devicelab/lib/tasks/plugin_tests.dart +++ b/dev/devicelab/lib/tasks/plugin_tests.dart @@ -420,15 +420,6 @@ public class $pluginClass: NSObject, FlutterPlugin { Map? environment, }) async { final bool isDarwin = target == 'ios' || target == 'macos'; - if (template != 'plugin' && isDarwin) { - // ios-language option is only supported for plugins. Remove the -i flag and the next parameter, "swift" or - // "objc". This isn't proper arg parsing (for example doesn't handle -i=objc, but good enough for these tests - // since they blow up if -i is passed incorrectly. - final int indexOfIOSLanguage = options.indexOf('-i'); - if (indexOfIOSLanguage != -1) { - options.removeRange(indexOfIOSLanguage, indexOfIOSLanguage + 2); - } - } await inDirectory(directory, () async { await flutter( 'create', diff --git a/dev/devicelab/lib/tasks/web_benchmarks.dart b/dev/devicelab/lib/tasks/web_benchmarks.dart index 40561579f02d0..001e054e81a73 100644 --- a/dev/devicelab/lib/tasks/web_benchmarks.dart +++ b/dev/devicelab/lib/tasks/web_benchmarks.dart @@ -31,6 +31,7 @@ typedef WebBenchmarkOptions = ({ bool forceSingleThreadedSkwasm, bool useDdc, bool withHotReload, + String buildMode, }); Future runWebBenchmark(WebBenchmarkOptions benchmarkOptions) async { @@ -107,7 +108,7 @@ Future runWebBenchmark(WebBenchmarkOptions benchmarkOptions) async { '--no-tree-shake-icons', // local engine builds are frequently out of sync with the Dart Kernel version if (benchmarkOptions.useWasm) ...['--wasm', '--no-strip-wasm'], '--dart-define=FLUTTER_WEB_ENABLE_PROFILING=true', - '--profile', + '--${benchmarkOptions.buildMode}', '--no-web-resources-cdn', '-t', 'lib/web_benchmarks.dart', diff --git a/dev/devicelab/test/adb_test.dart b/dev/devicelab/test/adb_test.dart index e353384290d02..5cb279baf6097 100644 --- a/dev/devicelab/test/adb_test.dart +++ b/dev/devicelab/test/adb_test.dart @@ -23,7 +23,9 @@ void main() { device = FakeDevice(deviceId: 'fakeDeviceId'); }); - tearDown(() {}); + tearDown(() { + FakeDevice.resetLog(); + }); group('cpu check', () { test('arm64', () async { @@ -325,20 +327,38 @@ class FakeDevice extends AndroidDevice { } static void pretendAwake() { + // Emit an integer value in addition to the state string to ensure only + // the state string is matched. + // + // Regression testing for https://github.com/flutter/flutter/issues/174952. output = ''' + mWakefulness=1 mWakefulness=Awake + '''; } static void pretendAwakeSamsung() { + // Emit an integer value in addition to the state string to ensure only + // the state string is matched. + // + // Regression testing for https://github.com/flutter/flutter/issues/174952. output = ''' + getWakefulnessLocked()=1 getWakefulnessLocked()=Awake + '''; } static void pretendAsleep() { + // Emit an integer value in addition to the state string to ensure only + // the state string is matched. + // + // Regression testing for https://github.com/flutter/flutter/issues/174952. output = ''' + mWakefulness=0 mWakefulness=Asleep + '''; } diff --git a/dev/devicelab/test/run_test.dart b/dev/devicelab/test/run_test.dart index 5a9a0ebe62c72..a08a5eed878ff 100644 --- a/dev/devicelab/test/run_test.dart +++ b/dev/devicelab/test/run_test.dart @@ -192,5 +192,14 @@ void main() { ); expect(result.exitCode, 1); }); + + test('passes build mode to the test', () async { + final ProcessResult result = await runScript( + ['build_mode_test'], + ['--build-mode=debug'], + ); + expect(result.exitCode, 0); + expect(result.stdout, contains('buildMode: debug')); + }); }); } diff --git a/dev/integration_tests/android_engine_test/lib/hcpp/platform_view_overlay_layer_cleared.dart b/dev/integration_tests/android_engine_test/lib/hcpp/platform_view_overlay_layer_cleared.dart new file mode 100644 index 0000000000000..22ca9dd442290 --- /dev/null +++ b/dev/integration_tests/android_engine_test/lib/hcpp/platform_view_overlay_layer_cleared.dart @@ -0,0 +1,120 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:convert'; + +import 'package:android_driver_extensions/extension.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_driver/driver_extension.dart'; + +import '../src/allow_list_devices.dart'; + +void main() { + ensureAndroidDevice(); + enableFlutterDriverExtension( + handler: (String? command) async { + return json.encode({ + 'supported': await HybridAndroidViewController.checkIfSupported(), + }); + }, + commands: [nativeDriverCommands], + ); + + runApp(const MyApp()); +} + +class MyApp extends StatefulWidget { + const MyApp({super.key}); + + @override + State createState() => _MyAppState(); +} + +class _MyAppState extends State { + bool _showTexture = true; + + void _toggleTexture() { + setState(() { + _showTexture = !_showTexture; + }); + } + + @override + Widget build(BuildContext context) { + return MaterialApp( + home: Scaffold( + appBar: AppBar(title: const Text('HCPP Platform View Bug Demo')), + body: Column( + children: [ + Padding( + padding: const EdgeInsets.all(16.0), + child: ElevatedButton( + key: const ValueKey('ToggleTexture'), + onPressed: _toggleTexture, + child: Text(_showTexture ? 'Hide Texture' : 'Show Texture'), + ), + ), + Expanded( + child: Center( + child: Stack( + children: [ + Center( + child: SizedBox( + width: 300, + height: 300, + child: PlatformViewLink( + viewType: 'changing_color_button_platform_view', + surfaceFactory: + (BuildContext context, PlatformViewController controller) { + return AndroidViewSurface( + controller: controller as AndroidViewController, + hitTestBehavior: PlatformViewHitTestBehavior.transparent, + gestureRecognizers: + const >{}, + ); + }, + onCreatePlatformView: (PlatformViewCreationParams params) { + return PlatformViewsService.initHybridAndroidView( + id: params.id, + viewType: 'changing_color_button_platform_view', + layoutDirection: TextDirection.ltr, + creationParamsCodec: const StandardMessageCodec(), + ) + ..addOnPlatformViewCreatedListener(params.onPlatformViewCreated) + ..create(); + }, + ), + ), + ), + + if (_showTexture) + const Center( + child: SizedBox( + width: 275, + height: 275, + child: Opacity( + opacity: 0.5, + child: Texture( + // Intentionally use an unknown texture ID: this + // results a black rectangle which is good enough + // for our purposes. + textureId: 1, + ), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/dev/integration_tests/android_engine_test/test_driver/hcpp/platform_view_overlay_layer_cleared_test.dart b/dev/integration_tests/android_engine_test/test_driver/hcpp/platform_view_overlay_layer_cleared_test.dart new file mode 100644 index 0000000000000..493dbc72b51da --- /dev/null +++ b/dev/integration_tests/android_engine_test/test_driver/hcpp/platform_view_overlay_layer_cleared_test.dart @@ -0,0 +1,60 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:convert'; + +import 'package:android_driver_extensions/native_driver.dart'; +import 'package:android_driver_extensions/skia_gold.dart'; +import 'package:flutter_driver/flutter_driver.dart'; +import 'package:test/test.dart'; + +import '../_luci_skia_gold_prelude.dart'; + +/// For local debugging, a (local) golden-file is required as a baseline: +/// +/// ```sh +/// # Checkout HEAD, i.e. *before* changes you want to test. +/// UPDATE_GOLDENS=1 flutter drive lib/hcpp/platform_view_overlay_layer_cleared.dart +/// +/// # Make your changes. +/// +/// # Run the test against baseline. +/// flutter drive lib/hcpp/platform_view_overlay_layer_cleared.dart +/// ``` +/// +/// For a convenient way to deflake a test, see `tool/deflake.dart`. +void main() async { + const String goldenPrefix = 'hybrid_composition_pp_platform_view'; + + late final FlutterDriver flutterDriver; + late final NativeDriver nativeDriver; + + setUpAll(() async { + if (isLuci) { + await enableSkiaGoldComparator(namePrefix: 'android_engine_test$goldenVariant'); + } + flutterDriver = await FlutterDriver.connect(); + nativeDriver = await AndroidNativeDriver.connect(flutterDriver); + await nativeDriver.configureForScreenshotTesting(); + await flutterDriver.waitUntilFirstFrameRasterized(); + }); + + tearDownAll(() async { + await nativeDriver.close(); + await flutterDriver.close(); + }); + + test('verify that HCPP is supported and enabled', () async { + final Map response = + json.decode(await flutterDriver.requestData('')) as Map; + + expect(response['supported'], true); + }, timeout: Timeout.none); + + test('should start with texture, and toggle to no texture', () async { + await expectLater(nativeDriver.screenshot(), matchesGoldenFile('$goldenPrefix.texture.png')); + await flutterDriver.tap(find.byValueKey('ToggleTexture')); + await expectLater(nativeDriver.screenshot(), matchesGoldenFile('$goldenPrefix.no_texture.png')); + }, timeout: Timeout.none); +} diff --git a/dev/integration_tests/android_views/lib/main.dart b/dev/integration_tests/android_views/lib/main.dart index a6cea9a951496..0a853d7d286bf 100644 --- a/dev/integration_tests/android_views/lib/main.dart +++ b/dev/integration_tests/android_views/lib/main.dart @@ -16,7 +16,18 @@ final List _allPages = [ void main() { enableFlutterDriverExtension(handler: driverDataHandler.handleMessage); - runApp(const MaterialApp(home: Home())); + runApp( + MaterialApp( + theme: ThemeData( + pageTransitionsTheme: const PageTransitionsTheme( + builders: { + TargetPlatform.android: ZoomPageTransitionsBuilder(), + }, + ), + ), + home: const Home(), + ), + ); } class Home extends StatelessWidget { diff --git a/dev/integration_tests/flutter_gallery/android/app/build.gradle b/dev/integration_tests/flutter_gallery/android/app/build.gradle index fdedf7ad1ff3c..ca12c1b02a078 100644 --- a/dev/integration_tests/flutter_gallery/android/app/build.gradle +++ b/dev/integration_tests/flutter_gallery/android/app/build.gradle @@ -21,8 +21,11 @@ if (flutterRoot == null) { } // The Gallery app's version is defined by the Flutter framework's version. -def flutterVersion = file("$flutterRoot/version").text +def flutterVersionFile = file("$flutterRoot/bin/cache/flutter.version.json") +def flutterVersionJson = new groovy.json.JsonSlurper().parse(flutterVersionFile) +def flutterVersion = flutterVersionJson.frameworkVersion def flutterVersionComponents = flutterVersion.split(/[^0-9]+/) + // Let the integer version code of xx.yy.zz-pre.nnn be xxyyzznnn. int flutterVersionNumber = Math.min(flutterVersionComponents[0].toInteger(), 20) * 100000000 flutterVersionNumber += Math.min(flutterVersionComponents[1].toInteger(), 99) * 1000000 diff --git a/dev/integration_tests/flutter_gallery/android/project-app.lockfile b/dev/integration_tests/flutter_gallery/android/project-app.lockfile index f8c481c6cd6a9..1b261a2ce6757 100644 --- a/dev/integration_tests/flutter_gallery/android/project-app.lockfile +++ b/dev/integration_tests/flutter_gallery/android/project-app.lockfile @@ -28,17 +28,17 @@ androidx.lifecycle:lifecycle-runtime:2.7.0=debugAndroidTestCompileClasspath,debu androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.lifecycle:lifecycle-viewmodel:2.7.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-common:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-container:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-database:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-datasource:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-decoder:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer-dash:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer-hls:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer-rtsp:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer-smoothstreaming:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-extractor:1.4.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-common:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-container:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-database:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-datasource:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-decoder:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer-dash:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer-hls:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer-rtsp:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer-smoothstreaming:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-extractor:1.5.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath androidx.profileinstaller:profileinstaller:1.3.1=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath androidx.savedstate:savedstate:1.2.1=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.startup:startup-runtime:1.1.1=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath @@ -87,13 +87,14 @@ com.google.code.findbugs:jsr305:3.0.2=_internal-unified-test-platform-android-de com.google.code.gson:gson:2.10.1=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.crypto.tink:tink:1.7.0=_internal-unified-test-platform-android-test-plugin-host-emulator-control com.google.errorprone:error_prone_annotations:2.18.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -com.google.errorprone:error_prone_annotations:2.23.0=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.28.0=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath com.google.guava:failureaccess:1.0.1=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.guava:failureaccess:1.0.2=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath com.google.guava:guava:32.0.1-jre=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -com.google.guava:guava:33.0.0-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +com.google.guava:guava:33.3.1-android=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle,debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath com.google.j2objc:j2objc-annotations:2.8=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle +com.google.j2objc:j2objc-annotations:3.0.0=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath com.google.protobuf:protobuf-java:3.22.3=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.testing.platform:android-device-provider-local:0.0.9-alpha02=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.testing.platform:android-driver-instrumentation:0.0.9-alpha02=_internal-unified-test-platform-android-driver-instrumentation,_internal-unified-test-platform-android-test-plugin-host-emulator-control @@ -130,11 +131,12 @@ net.java.dev.jna:jna-platform:5.6.0=_internal-unified-test-platform-android-devi net.java.dev.jna:jna:5.6.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle net.sf.kxml:kxml2:2.3.0=_internal-unified-test-platform-android-device-provider-ddmlib,debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath org.checkerframework:checker-qual:3.33.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.checkerframework:checker-qual:3.41.0=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath +org.checkerframework:checker-qual:3.43.0=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath org.codehaus.mojo:animal-sniffer-annotations:1.23=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.hamcrest:hamcrest-core:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.hamcrest:hamcrest-integration:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath org.hamcrest:hamcrest-library:1.3=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-bom:1.8.0=debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-common:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=debugAndroidTestCompileClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath diff --git a/dev/integration_tests/flutter_gallery/android/project-url_launcher_android.lockfile b/dev/integration_tests/flutter_gallery/android/project-url_launcher_android.lockfile index f4a787f8540f9..92b094af0a3a0 100644 --- a/dev/integration_tests/flutter_gallery/android/project-url_launcher_android.lockfile +++ b/dev/integration_tests/flutter_gallery/android/project-url_launcher_android.lockfile @@ -9,7 +9,9 @@ androidx.arch.core:core-common:2.2.0=debugAndroidTestCompileClasspath,debugAndro androidx.arch.core:core-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.browser:browser:1.8.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.collection:collection:1.1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.concurrent:concurrent-futures:1.1.0=debugAndroidTestRuntimeClasspath,debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.concurrent:concurrent-futures-ktx:1.2.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.concurrent:concurrent-futures:1.1.0=debugAndroidTestRuntimeClasspath,debugRuntimeClasspath,profileRuntimeClasspath,releaseRuntimeClasspath +androidx.concurrent:concurrent-futures:1.2.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.core:core-ktx:1.13.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.core:core:1.13.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath @@ -28,10 +30,9 @@ androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRu androidx.profileinstaller:profileinstaller:1.3.1=debugAndroidTestRuntimeClasspath,debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath androidx.savedstate:savedstate:1.2.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.startup:startup-runtime:1.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.test.espresso:espresso-idling-resource:3.5.1=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath -androidx.test:annotation:1.0.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.test:core:1.4.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.test:monitor:1.6.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test.espresso:espresso-idling-resource:3.6.1=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath +androidx.test:core:1.7.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test:monitor:1.8.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.tracing:tracing:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.versionedparcelable:versionedparcelable:1.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath @@ -69,18 +70,21 @@ com.android.tools:common:31.7.0=_internal-unified-test-platform-android-device-p com.getkeepsafe.relinker:relinker:1.4.5=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.android:annotations:4.1.1.4=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.api.grpc:proto-google-common-protos:2.17.0=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -com.google.auto.value:auto-value-annotations:1.10.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -com.google.code.findbugs:jsr305:3.0.2=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.auto.value:auto-value-annotations:1.11.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.code.findbugs:jsr305:3.0.2=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.code.gson:gson:2.10.1=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.crypto.tink:tink:1.7.0=_internal-unified-test-platform-android-test-plugin-host-emulator-control -com.google.errorprone:error_prone_annotations:2.18.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -com.google.guava:failureaccess:1.0.1=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -com.google.guava:guava:31.1-jre=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.errorprone:error_prone_annotation:2.38.0=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.18.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle +com.google.errorprone:error_prone_annotations:2.36.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.guava:failureaccess:1.0.1=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle +com.google.guava:failureaccess:1.0.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.guava:guava:32.0.1-jre=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle +com.google.guava:guava:33.4.8-jre=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.guava:listenablefuture:1.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -com.google.j2objc:j2objc-annotations:1.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.j2objc:j2objc-annotations:2.8=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle +com.google.j2objc:j2objc-annotations:3.0.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.protobuf:protobuf-java:3.22.3=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.testing.platform:android-device-provider-local:0.0.9-alpha02=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.testing.platform:android-driver-instrumentation:0.0.9-alpha02=_internal-unified-test-platform-android-driver-instrumentation,_internal-unified-test-platform-android-test-plugin-host-emulator-control @@ -88,7 +92,8 @@ com.google.testing.platform:android-test-plugin:0.0.9-alpha02=_internal-unified- com.google.testing.platform:core-proto:0.0.9-alpha02=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.testing.platform:core:0.0.9-alpha02=_internal-unified-test-platform-core com.google.testing.platform:launcher:0.0.9-alpha02=_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-launcher -com.ibm.icu:icu4j:72.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.testparameterinjector:test-parameter-injector:1.18=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath +com.ibm.icu:icu4j:77.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath commons-io:commons-io:2.13.0=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention io.grpc:grpc-api:1.57.0=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle io.grpc:grpc-context:1.57.0=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle @@ -112,13 +117,12 @@ io.perfmark:perfmark-api:0.26.0=_internal-unified-test-platform-android-test-plu javax.annotation:javax.annotation-api:1.3.2=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath javax.inject:javax.inject:1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath junit:junit:4.13.2=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.12.22=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -net.bytebuddy:byte-buddy:1.12.22=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.6=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.6=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath net.java.dev.jna:jna-platform:5.6.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle net.java.dev.jna:jna:5.6.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle net.sf.kxml:kxml2:2.3.0=_internal-unified-test-platform-android-device-provider-ddmlib -org.bouncycastle:bcprov-jdk18on:1.72=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.checkerframework:checker-qual:3.12.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.bouncycastle:bcprov-jdk18on:1.80=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.checkerframework:checker-qual:3.33.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.codehaus.mojo:animal-sniffer-annotations:1.23=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.conscrypt:conscrypt-openjdk-uber:2.5.2=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath @@ -128,44 +132,48 @@ org.jacoco:org.jacoco.ant:0.8.7=androidJacocoAnt org.jacoco:org.jacoco.core:0.8.7=androidJacocoAnt org.jacoco:org.jacoco.report:0.8.7=androidJacocoAnt org.jetbrains.kotlin:kotlin-stdlib-common:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.jetbrains.kotlin:kotlin-stdlib:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.jetbrains.kotlin:kotlin-stdlib:1.9.24=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains:annotations:13.0=_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.jetbrains:annotations:23.0.0=_internal-unified-test-platform-android-device-provider-ddmlib,debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.mockito:mockito-core:5.1.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jspecify:jspecify:1.0.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.mockito:mockito-core:5.19.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.objenesis:objenesis:3.3=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath org.ow2.asm:asm-analysis:9.1=androidJacocoAnt -org.ow2.asm:asm-analysis:9.5=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.ow2.asm:asm-commons:9.1=androidJacocoAnt -org.ow2.asm:asm-commons:9.5=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.ow2.asm:asm-commons:9.8=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.ow2.asm:asm-tree:9.1=androidJacocoAnt -org.ow2.asm:asm-tree:9.5=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.ow2.asm:asm-util:9.5=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.ow2.asm:asm-tree:9.8=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.ow2.asm:asm:9.1=androidJacocoAnt -org.ow2.asm:asm:9.5=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:annotations:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:junit:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:nativeruntime-dist-compat:1.0.1=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:nativeruntime:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:pluginapi:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:plugins-maven-dependency-resolver:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:resources:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:robolectric:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:sandbox:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:shadowapi:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:shadows-framework:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:utils-reflector:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:utils:4.10.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.ow2.asm:asm:9.8=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:annotations:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:junit:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:nativeruntime-dist-compat:1.0.17=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:nativeruntime:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:pluginapi:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:plugins-maven-dependency-resolver:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:resources:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:robolectric:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:sandbox:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:shadowapi:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:shadows-framework:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:utils-reflector:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:utils:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.yaml:snakeyaml:2.4=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath empty=androidApis,androidJdkImage,androidTestUtil,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath diff --git a/dev/integration_tests/flutter_gallery/android/project-video_player_android.lockfile b/dev/integration_tests/flutter_gallery/android/project-video_player_android.lockfile index fea5701a30fe8..a5a14b66429e6 100644 --- a/dev/integration_tests/flutter_gallery/android/project-video_player_android.lockfile +++ b/dev/integration_tests/flutter_gallery/android/project-video_player_android.lockfile @@ -8,8 +8,9 @@ androidx.annotation:annotation:1.8.0=debugAndroidTestCompileClasspath,debugAndro androidx.arch.core:core-common:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.arch.core:core-runtime:2.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.collection:collection:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.concurrent:concurrent-futures-ktx:1.1.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.concurrent:concurrent-futures:1.1.0=debugAndroidTestRuntimeClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.concurrent:concurrent-futures-ktx:1.2.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.concurrent:concurrent-futures:1.1.0=debugAndroidTestRuntimeClasspath,debugRuntimeClasspath,profileRuntimeClasspath,releaseRuntimeClasspath +androidx.concurrent:concurrent-futures:1.2.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.core:core-ktx:1.13.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.core:core:1.13.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.customview:customview:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath @@ -26,18 +27,18 @@ androidx.lifecycle:lifecycle-runtime:2.7.0=debugAndroidTestCompileClasspath,debu androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.lifecycle:lifecycle-viewmodel:2.7.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.loader:loader:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-common:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-container:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-database:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-datasource:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-decoder:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer-dash:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer-hls:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer-rtsp:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer-smoothstreaming:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-exoplayer:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-extractor:1.4.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.media3:media3-test-utils:1.4.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-common:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-container:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-database:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-datasource:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-decoder:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer-dash:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer-hls:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer-rtsp:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer-smoothstreaming:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-exoplayer:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-extractor:1.5.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.media3:media3-test-utils:1.5.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.profileinstaller:profileinstaller:1.3.1=debugAndroidTestRuntimeClasspath,debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath androidx.savedstate:savedstate:1.2.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.startup:startup-runtime:1.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath @@ -45,8 +46,8 @@ androidx.test.espresso:espresso-idling-resource:3.6.1=debugUnitTestRuntimeClassp androidx.test.ext:junit:1.1.5=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.test.ext:truth:1.5.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.test:annotation:1.0.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.test:core:1.6.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -androidx.test:monitor:1.7.2=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test:core:1.7.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +androidx.test:monitor:1.8.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.tracing:tracing:1.2.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.versionedparcelable:versionedparcelable:1.1.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath androidx.viewpager:viewpager:1.0.0=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath @@ -85,17 +86,18 @@ com.getkeepsafe.relinker:relinker:1.4.5=debugAndroidTestCompileClasspath,debugAn com.google.android:annotations:4.1.1.4=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.api.grpc:proto-google-common-protos:2.17.0=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.auto.value:auto-value-annotations:1.11.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -com.google.code.findbugs:jsr305:3.0.2=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.code.findbugs:jsr305:3.0.2=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.code.gson:gson:2.10.1=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.crypto.tink:tink:1.7.0=_internal-unified-test-platform-android-test-plugin-host-emulator-control -com.google.errorprone:error_prone_annotation:2.34.0=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath +com.google.errorprone:error_prone_annotation:2.38.0=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath com.google.errorprone:error_prone_annotations:2.18.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -com.google.errorprone:error_prone_annotations:2.28.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.36.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.guava:failureaccess:1.0.1=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -com.google.guava:failureaccess:1.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.guava:failureaccess:1.0.2=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +com.google.guava:failureaccess:1.0.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.guava:guava:32.0.1-jre=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -com.google.guava:guava:33.0.0-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath -com.google.guava:guava:33.3.1-jre=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.google.guava:guava:33.3.1-android=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +com.google.guava:guava:33.4.8-jre=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle,debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.j2objc:j2objc-annotations:2.8=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle com.google.j2objc:j2objc-annotations:3.0.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath @@ -109,7 +111,7 @@ com.google.testing.platform:launcher:0.0.9-alpha02=_internal-unified-test-platfo com.google.testparameterinjector:test-parameter-injector:1.18=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath com.google.truth.extensions:truth-java8-extension:1.4.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.google.truth:truth:1.4.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -com.ibm.icu:icu4j:75.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +com.ibm.icu:icu4j:77.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath com.squareup.okhttp3:mockwebserver:4.12.0=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath com.squareup.okhttp3:okhttp:4.12.0=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath com.squareup.okio:okio-jvm:3.6.0=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath @@ -142,9 +144,9 @@ net.bytebuddy:byte-buddy:1.14.1=debugUnitTestCompileClasspath,debugUnitTestRunti net.java.dev.jna:jna-platform:5.6.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle net.java.dev.jna:jna:5.6.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle net.sf.kxml:kxml2:2.3.0=_internal-unified-test-platform-android-device-provider-ddmlib -org.bouncycastle:bcprov-jdk18on:1.78.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.bouncycastle:bcprov-jdk18on:1.80=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.checkerframework:checker-qual:3.33.0=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.checkerframework:checker-qual:3.43.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.checkerframework:checker-qual:3.42.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.codehaus.mojo:animal-sniffer-annotations:1.23=_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.conscrypt:conscrypt-openjdk-uber:2.5.2=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath org.hamcrest:hamcrest-core:1.3=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath @@ -152,51 +154,55 @@ org.jacoco:org.jacoco.agent:0.8.7=androidJacocoAnt org.jacoco:org.jacoco.ant:0.8.7=androidJacocoAnt org.jacoco:org.jacoco.core:0.8.7=androidJacocoAnt org.jacoco:org.jacoco.report:0.8.7=androidJacocoAnt +org.jetbrains.kotlin:kotlin-bom:1.8.0=debugAndroidTestRuntimeClasspath,debugRuntimeClasspath,debugUnitTestRuntimeClasspath,profileRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseRuntimeClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-common:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle +org.jetbrains.kotlin:kotlin-stdlib-common:1.9.21=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.jetbrains.kotlin:kotlin-stdlib:1.8.22=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib:1.9.10=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib:1.9.20=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:1.9.21=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4=_internal-unified-test-platform-android-device-provider-ddmlib,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle -org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1=debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.jetbrains:annotations:13.0=_internal-unified-test-platform-android-device-provider-gradle,_internal-unified-test-platform-android-test-plugin-host-additional-test-output,_internal-unified-test-platform-android-test-plugin-host-apk-installer,_internal-unified-test-platform-android-test-plugin-host-coverage,_internal-unified-test-platform-android-test-plugin-host-device-info,_internal-unified-test-platform-android-test-plugin-host-emulator-control,_internal-unified-test-platform-android-test-plugin-host-logcat,_internal-unified-test-platform-android-test-plugin-host-retention,_internal-unified-test-platform-android-test-plugin-result-listener-gradle org.jetbrains:annotations:23.0.0=_internal-unified-test-platform-android-device-provider-ddmlib,debugAndroidTestCompileClasspath,debugAndroidTestRuntimeClasspath,debugCompileClasspath,debugRuntimeClasspath,debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileCompileClasspath,profileRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseCompileClasspath,releaseRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.jspecify:jspecify:1.0.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.mockito:mockito-core:5.2.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.mockito:mockito-inline:5.2.0=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.objenesis:objenesis:3.3=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath org.ow2.asm:asm-analysis:9.1=androidJacocoAnt -org.ow2.asm:asm-analysis:9.7.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.ow2.asm:asm-commons:9.1=androidJacocoAnt -org.ow2.asm:asm-commons:9.7.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.ow2.asm:asm-commons:9.8=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.ow2.asm:asm-tree:9.1=androidJacocoAnt -org.ow2.asm:asm-tree:9.7.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.ow2.asm:asm-util:9.7.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.ow2.asm:asm-tree:9.8=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath org.ow2.asm:asm:9.1=androidJacocoAnt -org.ow2.asm:asm:9.7.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:annotations:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:junit:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:nativeruntime-dist-compat:1.0.16=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:nativeruntime:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:pluginapi:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:plugins-maven-dependency-resolver:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:resources:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:robolectric:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:sandbox:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:shadowapi:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:shadows-framework:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:utils-reflector:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.robolectric:utils:4.14.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath -org.yaml:snakeyaml:2.3=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath +org.ow2.asm:asm:9.8=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:annotations:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:junit:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:nativeruntime-dist-compat:1.0.17=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:nativeruntime:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:pluginapi:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:plugins-maven-dependency-resolver:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:resources:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:robolectric:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:sandbox:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:shadowapi:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:shadows-framework:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:utils-reflector:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.robolectric:utils:4.15.1=debugUnitTestCompileClasspath,debugUnitTestRuntimeClasspath,profileUnitTestCompileClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestCompileClasspath,releaseUnitTestRuntimeClasspath +org.yaml:snakeyaml:2.4=debugUnitTestRuntimeClasspath,profileUnitTestRuntimeClasspath,releaseUnitTestRuntimeClasspath empty=androidApis,androidJdkImage,androidTestUtil,coreLibraryDesugaring,debugAndroidTestAnnotationProcessorClasspath,debugAnnotationProcessorClasspath,debugUnitTestAnnotationProcessorClasspath,lintChecks,lintPublish,profileAnnotationProcessorClasspath,profileUnitTestAnnotationProcessorClasspath,releaseAnnotationProcessorClasspath,releaseUnitTestAnnotationProcessorClasspath diff --git a/dev/integration_tests/ios_app_with_extensions/lib/main.dart b/dev/integration_tests/ios_app_with_extensions/lib/main.dart index 946b2b64ae956..4103f1a1ecb07 100644 --- a/dev/integration_tests/ios_app_with_extensions/lib/main.dart +++ b/dev/integration_tests/ios_app_with_extensions/lib/main.dart @@ -106,7 +106,7 @@ class _MyHomePageState extends State { onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. + ), ); } } diff --git a/dev/integration_tests/ios_host_app/flutterapp/lib/main b/dev/integration_tests/ios_host_app/flutterapp/lib/main index ec78451126bab..87557d4172813 100644 --- a/dev/integration_tests/ios_host_app/flutterapp/lib/main +++ b/dev/integration_tests/ios_host_app/flutterapp/lib/main @@ -32,6 +32,7 @@ const BasicMessageChannel _kReloadChannel = void main() { // Ensures bindings are initialized before doing anything. WidgetsFlutterBinding.ensureInitialized(); + ui.PlatformDispatcher.instance.setSemanticsTreeEnabled(true); // Start listening immediately for messages from the iOS side. ObjC calls // will be made to let us know when we should be changing the app state. _kReloadChannel.setMessageHandler(run); diff --git a/dev/integration_tests/new_gallery/lib/themes/material_demo_theme_data.dart b/dev/integration_tests/new_gallery/lib/themes/material_demo_theme_data.dart index 31ae484f20018..ab57578f7c49a 100644 --- a/dev/integration_tests/new_gallery/lib/themes/material_demo_theme_data.dart +++ b/dev/integration_tests/new_gallery/lib/themes/material_demo_theme_data.dart @@ -22,36 +22,34 @@ class MaterialDemoThemeData { ), bottomAppBarTheme: BottomAppBarThemeData(color: _colorScheme.primary), checkboxTheme: CheckboxThemeData( - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return null; } - return states.contains(MaterialState.selected) ? _colorScheme.primary : null; + return states.contains(WidgetState.selected) ? _colorScheme.primary : null; }), ), radioTheme: RadioThemeData( - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return null; } - return states.contains(MaterialState.selected) ? _colorScheme.primary : null; + return states.contains(WidgetState.selected) ? _colorScheme.primary : null; }), ), snackBarTheme: const SnackBarThemeData(behavior: SnackBarBehavior.floating), switchTheme: SwitchThemeData( - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return null; } - return states.contains(MaterialState.selected) ? _colorScheme.primary : null; + return states.contains(WidgetState.selected) ? _colorScheme.primary : null; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return null; } - return states.contains(MaterialState.selected) - ? _colorScheme.primary.withAlpha(0x80) - : null; + return states.contains(WidgetState.selected) ? _colorScheme.primary.withAlpha(0x80) : null; }), ), ); diff --git a/dev/integration_tests/new_gallery/test/theme_test.dart b/dev/integration_tests/new_gallery/test/theme_test.dart index 473f3a755ffa1..ae1dbddf9f311 100644 --- a/dev/integration_tests/new_gallery/test/theme_test.dart +++ b/dev/integration_tests/new_gallery/test/theme_test.dart @@ -12,19 +12,19 @@ void main() { final ThemeData themeData = MaterialDemoThemeData.themeData; expect( - themeData.checkboxTheme.fillColor!.resolve({MaterialState.selected}), + themeData.checkboxTheme.fillColor!.resolve({WidgetState.selected}), primaryColor, ); expect( - themeData.radioTheme.fillColor!.resolve({MaterialState.selected}), + themeData.radioTheme.fillColor!.resolve({WidgetState.selected}), primaryColor, ); expect( - themeData.switchTheme.thumbColor!.resolve({MaterialState.selected}), + themeData.switchTheme.thumbColor!.resolve({WidgetState.selected}), primaryColor, ); expect( - themeData.switchTheme.trackColor!.resolve({MaterialState.selected}), + themeData.switchTheme.trackColor!.resolve({WidgetState.selected}), primaryColor.withOpacity(0.5), ); }); diff --git a/dev/integration_tests/windowing_test/.gitignore b/dev/integration_tests/windowing_test/.gitignore new file mode 100644 index 0000000000000..3820a95c65c3e --- /dev/null +++ b/dev/integration_tests/windowing_test/.gitignore @@ -0,0 +1,45 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.build/ +.buildlog/ +.history +.svn/ +.swiftpm/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ +/coverage/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/dev/integration_tests/windowing_test/.metadata b/dev/integration_tests/windowing_test/.metadata new file mode 100644 index 0000000000000..873e7828de703 --- /dev/null +++ b/dev/integration_tests/windowing_test/.metadata @@ -0,0 +1,26 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "e27f0a6943e07b6d3420fb185432705b87101fa8" + channel: "[user-branch]" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: windows + create_revision: e27f0a6943e07b6d3420fb185432705b87101fa8 + base_revision: e27f0a6943e07b6d3420fb185432705b87101fa8 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' diff --git a/dev/integration_tests/windowing_test/README.md b/dev/integration_tests/windowing_test/README.md new file mode 100644 index 0000000000000..c2808e44c089d --- /dev/null +++ b/dev/integration_tests/windowing_test/README.md @@ -0,0 +1,10 @@ +# windowing_test + +Integration tests for windowing. + +## Run +From this directory, run: + +```sh +flutter drive -t .\lib\main.dart --driver .\test_driver\windowing_test.dart +``` diff --git a/dev/integration_tests/windowing_test/analysis_options.yaml b/dev/integration_tests/windowing_test/analysis_options.yaml new file mode 100644 index 0000000000000..f16eeada921c7 --- /dev/null +++ b/dev/integration_tests/windowing_test/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:flutter_lints/flutter.yaml + +linter: + rules: \ No newline at end of file diff --git a/dev/integration_tests/windowing_test/lib/main.dart b/dev/integration_tests/windowing_test/lib/main.dart new file mode 100644 index 0000000000000..5ef97c973fc52 --- /dev/null +++ b/dev/integration_tests/windowing_test/lib/main.dart @@ -0,0 +1,162 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// ignore_for_file: invalid_use_of_internal_member + +import 'dart:async'; +import 'dart:convert'; +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:flutter/src/widgets/_window.dart'; +import 'package:flutter_driver/driver_extension.dart'; + +class _MainRegularWindowControllerDelegate + extends RegularWindowControllerDelegate { + @override + void onWindowDestroyed() { + super.onWindowDestroyed(); + + exit(0); + } +} + +late final RegularWindowController controller; + +void main() { + final Completer windowCreated = Completer(); + enableFlutterDriverExtension( + handler: (String? message) async { + await windowCreated.future; + if (message == null) { + return ''; + } + + final jsonMap = jsonDecode(message); + if (!jsonMap.containsKey('type')) { + throw ArgumentError('Message must contain a "type" field.'); + } + + if (jsonMap['type'] == 'get_size') { + return jsonEncode({ + 'width': controller.contentSize.width, + 'height': controller.contentSize.height, + }); + } else if (jsonMap['type'] == 'set_size') { + final Size size = Size( + jsonMap['width'].toDouble(), + jsonMap['height'].toDouble(), + ); + controller.setSize(size); + } else if (jsonMap['type'] == 'set_constraints') { + final BoxConstraints constraints = BoxConstraints( + minWidth: jsonMap['min_width'].toDouble(), + minHeight: jsonMap['min_height'].toDouble(), + maxWidth: jsonMap['max_width'].toDouble(), + maxHeight: jsonMap['max_height'].toDouble(), + ); + controller.setConstraints(constraints); + } else if (jsonMap['type'] == 'set_fullscreen') { + controller.setFullscreen(true); + } else if (jsonMap['type'] == 'unset_fullscreen') { + controller.setFullscreen(false); + } else if (jsonMap['type'] == 'get_fullscreen') { + return jsonEncode({'isFullscreen': controller.isFullscreen}); + } else if (jsonMap['type'] == 'set_maximized') { + controller.setMaximized(true); + } else if (jsonMap['type'] == 'unset_maximized') { + controller.setMaximized(false); + } else if (jsonMap['type'] == 'get_maximized') { + return jsonEncode({'isMaximized': controller.isMaximized}); + } else if (jsonMap['type'] == 'set_minimized') { + controller.setMinimized(true); + } else if (jsonMap['type'] == 'unset_minimized') { + controller.setMinimized(false); + } else if (jsonMap['type'] == 'get_minimized') { + return jsonEncode({'isMinimized': controller.isMinimized}); + } else if (jsonMap['type'] == 'set_title') { + controller.setTitle(jsonMap['title']); + } else if (jsonMap['type'] == 'get_title') { + return jsonEncode({'title': controller.title}); + } else if (jsonMap['type'] == 'set_activated') { + controller.activate(); + } else if (jsonMap['type'] == 'get_activated') { + return jsonEncode({'isActivated': controller.isActivated}); + } else { + throw ArgumentError('Unknown message type: ${jsonMap['type']}'); + } + + return ''; + }, + ); + controller = RegularWindowController( + preferredSize: Size(640, 480), + title: 'Integration Test', + delegate: _MainRegularWindowControllerDelegate(), + ); + windowCreated.complete(); + + runWidget(RegularWindow(controller: controller, child: MyApp())); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + title: 'Flutter Demo', + theme: ThemeData( + colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), + ), + home: const MyHomePage(title: 'Flutter Demo Home Page'), + ); + } +} + +class MyHomePage extends StatefulWidget { + const MyHomePage({super.key, required this.title}); + + final String title; + + @override + State createState() => _MyHomePageState(); +} + +class _MyHomePageState extends State { + int _counter = 0; + + void _incrementCounter() { + setState(() { + _counter++; + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + backgroundColor: Theme.of(context).colorScheme.inversePrimary, + title: Text(widget.title), + ), + body: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text('You have pushed the button this many times:'), + Text( + '$_counter', + style: Theme.of(context).textTheme.headlineMedium, + ), + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: _incrementCounter, + tooltip: 'Increment', + child: const Icon(Icons.add), + ), + ); + } +} diff --git a/dev/integration_tests/windowing_test/pubspec.yaml b/dev/integration_tests/windowing_test/pubspec.yaml new file mode 100644 index 0000000000000..b05793ba8dd40 --- /dev/null +++ b/dev/integration_tests/windowing_test/pubspec.yaml @@ -0,0 +1,22 @@ +name: windowing_test +description: Flutter windowing integration tests. + +environment: + sdk: ^3.8.0-0 + +dependencies: + flutter: + sdk: flutter + flutter_driver: + sdk: flutter + integration_test: + sdk: flutter + test: any + + path: any + +dev_dependencies: + flutter_test: + sdk: flutter + +# PUBSPEC CHECKSUM: 77jv2r diff --git a/dev/integration_tests/windowing_test/test_driver/main_test.dart b/dev/integration_tests/windowing_test/test_driver/main_test.dart new file mode 100644 index 0000000000000..872f360247653 --- /dev/null +++ b/dev/integration_tests/windowing_test/test_driver/main_test.dart @@ -0,0 +1,129 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:convert'; + +import 'package:flutter_driver/flutter_driver.dart'; +import 'package:test/test.dart' hide TypeMatcher, isInstanceOf; + +void main() { + group('end-to-end test', () { + late final FlutterDriver driver; + + setUpAll(() async { + driver = await FlutterDriver.connect(); + }); + + tearDownAll(() async { + await driver.close(); + }); + + test('Can set and get title', () async { + await driver.requestData( + jsonEncode({'type': 'set_title', 'title': 'Hello World'}), + ); + final response = await driver.requestData( + jsonEncode({'type': 'get_title'}), + ); + final data = jsonDecode(response); + expect(data['title'], 'Hello World'); + }, timeout: Timeout.none); + + test('Initial controller size is correct', () async { + final response = await driver.requestData( + jsonEncode({'type': 'get_size'}), + ); + final data = jsonDecode(response); + expect(data["width"], 640); + expect(data["height"], 480); + }, timeout: Timeout.none); + + test('Can set and get size', () async { + await driver.requestData( + jsonEncode({'type': 'set_size', 'width': 800, 'height': 600}), + ); + final response = await driver.requestData( + jsonEncode({'type': 'get_size'}), + ); + final data = jsonDecode(response); + expect(data["width"], 800); + expect(data["height"], 600); + }, timeout: Timeout.none); + + test('Can set constraints and see the resize', () async { + await driver.requestData( + jsonEncode({ + 'type': 'set_constraints', + 'min_width': 0, + 'min_height': 0, + 'max_width': 500, + 'max_height': 501, + }), + ); + final response = await driver.requestData( + jsonEncode({'type': 'get_size'}), + ); + final data = jsonDecode(response); + expect(data["width"], 500); + expect(data["height"], 501); + }, timeout: Timeout.none); + + test('Can set and get fullscreen', () async { + await driver.requestData(jsonEncode({'type': 'set_fullscreen'})); + var response = await driver.requestData( + jsonEncode({'type': 'get_fullscreen'}), + ); + var data = jsonDecode(response); + expect(data["isFullscreen"], true); + + await driver.requestData(jsonEncode({'type': 'unset_fullscreen'})); + response = await driver.requestData( + jsonEncode({'type': 'get_fullscreen'}), + ); + data = jsonDecode(response); + expect(data["isFullscreen"], false); + }, timeout: Timeout.none); + + test('Can set and get maximized', () async { + await driver.requestData(jsonEncode({'type': 'set_maximized'})); + var response = await driver.requestData( + jsonEncode({'type': 'get_maximized'}), + ); + var data = jsonDecode(response); + expect(data["isMaximized"], true); + + await driver.requestData(jsonEncode({'type': 'unset_maximized'})); + response = await driver.requestData( + jsonEncode({'type': 'get_maximized'}), + ); + data = jsonDecode(response); + expect(data["isMaximized"], false); + }, timeout: Timeout.none); + + test('Can set and get minimized', () async { + await driver.requestData(jsonEncode({'type': 'set_minimized'})); + var response = await driver.requestData( + jsonEncode({'type': 'get_minimized'}), + ); + var data = jsonDecode(response); + expect(data["isMinimized"], true); + + await driver.requestData(jsonEncode({'type': 'unset_minimized'})); + response = await driver.requestData( + jsonEncode({'type': 'get_minimized'}), + ); + data = jsonDecode(response); + expect(data["isMinimized"], false); + }, timeout: Timeout.none); + + test('Can set and get activated', () async { + await driver.requestData(jsonEncode({'type': 'set_activated'})); + final response = await driver.requestData( + jsonEncode({'type': 'get_activated'}), + ); + final data = jsonDecode(response); + expect(data["isActivated"], true); + }, timeout: Timeout.none); + }); +} diff --git a/dev/integration_tests/windowing_test/windows/.gitignore b/dev/integration_tests/windowing_test/windows/.gitignore new file mode 100644 index 0000000000000..d492d0d98c8fd --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/dev/integration_tests/windowing_test/windows/CMakeLists.txt b/dev/integration_tests/windowing_test/windows/CMakeLists.txt new file mode 100644 index 0000000000000..4e85c1d42ac53 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/CMakeLists.txt @@ -0,0 +1,108 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(windowing_test LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "windowing_test") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Copy the native assets provided by the build.dart from all packages. +set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/") +install(DIRECTORY "${NATIVE_ASSETS_DIR}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/dev/integration_tests/windowing_test/windows/flutter/CMakeLists.txt b/dev/integration_tests/windowing_test/windows/flutter/CMakeLists.txt new file mode 100644 index 0000000000000..903f4899d6fce --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + ${FLUTTER_TARGET_PLATFORM} $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/dev/integration_tests/windowing_test/windows/runner/CMakeLists.txt b/dev/integration_tests/windowing_test/windows/runner/CMakeLists.txt new file mode 100644 index 0000000000000..394917c053a04 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/dev/integration_tests/windowing_test/windows/runner/Runner.rc b/dev/integration_tests/windowing_test/windows/runner/Runner.rc new file mode 100644 index 0000000000000..88669f87b3586 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.example" "\0" + VALUE "FileDescription", "windowing_test" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "windowing_test" "\0" + VALUE "LegalCopyright", "Copyright (C) 2025 com.example. All rights reserved." "\0" + VALUE "OriginalFilename", "windowing_test.exe" "\0" + VALUE "ProductName", "windowing_test" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/dev/integration_tests/windowing_test/windows/runner/flutter_window.cpp b/dev/integration_tests/windowing_test/windows/runner/flutter_window.cpp new file mode 100644 index 0000000000000..252aa267868b6 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/flutter_window.cpp @@ -0,0 +1,75 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/dev/integration_tests/windowing_test/windows/runner/flutter_window.h b/dev/integration_tests/windowing_test/windows/runner/flutter_window.h new file mode 100644 index 0000000000000..bbc5836c018a2 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/flutter_window.h @@ -0,0 +1,37 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/dev/integration_tests/windowing_test/windows/runner/main.cpp b/dev/integration_tests/windowing_test/windows/runner/main.cpp new file mode 100644 index 0000000000000..5621ff154d881 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/main.cpp @@ -0,0 +1,47 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"windowing_test", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/dev/integration_tests/windowing_test/windows/runner/resource.h b/dev/integration_tests/windowing_test/windows/runner/resource.h new file mode 100644 index 0000000000000..c245ff19cb580 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/resource.h @@ -0,0 +1,20 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/dev/integration_tests/windowing_test/windows/runner/runner.exe.manifest b/dev/integration_tests/windowing_test/windows/runner/runner.exe.manifest new file mode 100644 index 0000000000000..153653e8d67f8 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/runner.exe.manifest @@ -0,0 +1,14 @@ + + + + + PerMonitorV2 + + + + + + + + + diff --git a/dev/integration_tests/windowing_test/windows/runner/utils.cpp b/dev/integration_tests/windowing_test/windows/runner/utils.cpp new file mode 100644 index 0000000000000..02f43627405c4 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/utils.cpp @@ -0,0 +1,69 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + unsigned int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/dev/integration_tests/windowing_test/windows/runner/utils.h b/dev/integration_tests/windowing_test/windows/runner/utils.h new file mode 100644 index 0000000000000..54414c989ba71 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/utils.h @@ -0,0 +1,23 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/dev/integration_tests/windowing_test/windows/runner/win32_window.cpp b/dev/integration_tests/windowing_test/windows/runner/win32_window.cpp new file mode 100644 index 0000000000000..14a183d7eaa27 --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/win32_window.cpp @@ -0,0 +1,292 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/dev/integration_tests/windowing_test/windows/runner/win32_window.h b/dev/integration_tests/windowing_test/windows/runner/win32_window.h new file mode 100644 index 0000000000000..bb93e8879162e --- /dev/null +++ b/dev/integration_tests/windowing_test/windows/runner/win32_window.h @@ -0,0 +1,106 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/dev/manual_tests/lib/actions.dart b/dev/manual_tests/lib/actions.dart index 26b8398b1fb3d..b48d0a331efb6 100644 --- a/dev/manual_tests/lib/actions.dart +++ b/dev/manual_tests/lib/actions.dart @@ -307,11 +307,11 @@ class _DemoButtonState extends State { focusNode: _focusNode, style: ButtonStyle( foregroundColor: const MaterialStatePropertyAll(Colors.black), - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return Colors.red; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return Colors.blue; } return Colors.transparent; diff --git a/dev/manual_tests/lib/focus.dart b/dev/manual_tests/lib/focus.dart index f0f6bb11da31a..eb5d4780dd054 100644 --- a/dev/manual_tests/lib/focus.dart +++ b/dev/manual_tests/lib/focus.dart @@ -55,11 +55,11 @@ class _DemoButtonState extends State { focusNode: focusNode, autofocus: widget.autofocus, style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return Colors.red.withOpacity(0.25); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return Colors.blue.withOpacity(0.25); } return Colors.transparent; diff --git a/dev/manual_tests/lib/hover.dart b/dev/manual_tests/lib/hover.dart index 498df5c393e16..d81c07dae2771 100644 --- a/dev/manual_tests/lib/hover.dart +++ b/dev/manual_tests/lib/hover.dart @@ -20,10 +20,8 @@ class _HoverDemoState extends State { Widget build(BuildContext context) { final TextTheme textTheme = Theme.of(context).textTheme; final ButtonStyle overrideFocusColor = ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.focused) - ? Colors.deepOrangeAccent - : Colors.transparent; + overlayColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.focused) ? Colors.deepOrangeAccent : Colors.transparent; }), ); diff --git a/dev/tools/gen_defaults/lib/action_chip_template.dart b/dev/tools/gen_defaults/lib/action_chip_template.dart index ae25b472569c8..f7841715d1c90 100644 --- a/dev/tools/gen_defaults/lib/action_chip_template.dart +++ b/dev/tools/gen_defaults/lib/action_chip_template.dart @@ -49,9 +49,9 @@ class _${blockName}DefaultsM3 extends ChipThemeData { ); @override - MaterialStateProperty? get color => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get color => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _chipVariant == _ChipVariant.flat ? ${componentColor("$tokenGroup$flatVariant.disabled.container")} : ${componentColor("$tokenGroup$elevatedVariant.disabled.container")}; diff --git a/dev/tools/gen_defaults/lib/button_template.dart b/dev/tools/gen_defaults/lib/button_template.dart index bef1f13023161..a02436ef68c94 100644 --- a/dev/tools/gen_defaults/lib/button_template.dart +++ b/dev/tools/gen_defaults/lib/button_template.dart @@ -19,8 +19,8 @@ class ButtonTemplate extends TokenTemplate { if (tokenAvailable('$tokenGroup.container.color')) { return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('$tokenGroup.disabled.container')}; } return ${componentColor('$tokenGroup.container')}; @@ -35,17 +35,17 @@ class ButtonTemplate extends TokenTemplate { if (tokenAvailable('$tokenGroup.container.elevation')) { return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${elevation("$tokenGroup.disabled.container")}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${elevation("$tokenGroup.pressed.container")}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${elevation("$tokenGroup.hover.container")}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${elevation("$tokenGroup.focus.container")}; } return ${elevation("$tokenGroup.container")}; @@ -79,74 +79,74 @@ class _${blockName}DefaultsM3 extends ButtonStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get textStyle => + WidgetStateProperty get textStyle => MaterialStatePropertyAll(${textStyle("$tokenGroup.label-text")}); @override - MaterialStateProperty? get backgroundColor =>${_backgroundColor()}; + WidgetStateProperty? get backgroundColor =>${_backgroundColor()}; @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('$tokenGroup.disabled.label-text')}; } return ${componentColor('$tokenGroup.label-text')}; }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('$tokenGroup.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('$tokenGroup.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('$tokenGroup.focus.state-layer')}; } return null; }); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => ${_elevationColor("$tokenGroup.container.shadow-color")}; @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => ${_elevationColor("$tokenGroup.container.surface-tint-layer.color")}; @override - MaterialStateProperty? get elevation =>${_elevation()}; + WidgetStateProperty? get elevation =>${_elevation()}; @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => MaterialStatePropertyAll(_scaledPadding(context)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(64.0, ${getToken("$tokenGroup.container.height")})); // No default fixedSize @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(${getToken("$tokenGroup.with-icon.icon.size")}); @override - MaterialStateProperty? get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${color('$tokenGroup.with-icon.disabled.icon.color')}.withOpacity(${opacity("$tokenGroup.with-icon.disabled.icon.opacity")}); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${color('$tokenGroup.with-icon.pressed.icon.color')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${color('$tokenGroup.with-icon.hover.icon.color')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${color('$tokenGroup.with-icon.focus.icon.color')}; } return ${color('$tokenGroup.with-icon.icon.color')}; @@ -154,17 +154,17 @@ class _${blockName}DefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); ${tokenAvailable("$tokenGroup.outline.color") ? ''' @override - MaterialStateProperty? get side => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get side => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${border("$tokenGroup.disabled.outline")}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${border('$tokenGroup.focus.outline')}; } return ${border("$tokenGroup.outline")}; @@ -172,13 +172,13 @@ ${tokenAvailable("$tokenGroup.outline.color") ? ''' // No default side'''} @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(${shape("$tokenGroup.container", '')}); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; diff --git a/dev/tools/gen_defaults/lib/checkbox_template.dart b/dev/tools/gen_defaults/lib/checkbox_template.dart index 59270722b1d2a..21406f9fd2689 100644 --- a/dev/tools/gen_defaults/lib/checkbox_template.dart +++ b/dev/tools/gen_defaults/lib/checkbox_template.dart @@ -25,26 +25,26 @@ class _${blockName}DefaultsM3 extends CheckboxThemeData { @override MaterialStateBorderSide? get side { - return MaterialStateBorderSide.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + return MaterialStateBorderSide.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return const BorderSide(width: ${getToken('md.comp.checkbox.unselected.disabled.outline.width')}, color: Colors.transparent); } return BorderSide(width: ${getToken('md.comp.checkbox.unselected.disabled.outline.width')}, color: ${componentColor('md.comp.checkbox.unselected.disabled.outline')}.withOpacity(${getToken('md.comp.checkbox.unselected.disabled.container.opacity')})); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return const BorderSide(width: ${getToken('md.comp.checkbox.selected.outline.width')}, color: Colors.transparent); } - if (states.contains(MaterialState.error)) { + if (states.contains(WidgetState.error)) { return BorderSide(width: ${getToken('md.comp.checkbox.unselected.disabled.outline.width')}, color: ${componentColor('md.comp.checkbox.unselected.error.outline')}); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return BorderSide(width: ${getToken('md.comp.checkbox.unselected.pressed.outline.width')}, color: ${componentColor('md.comp.checkbox.unselected.pressed.outline')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return BorderSide(width: ${getToken('md.comp.checkbox.unselected.hover.outline.width')}, color: ${componentColor('md.comp.checkbox.unselected.hover.outline')}); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return BorderSide(width: ${getToken('md.comp.checkbox.unselected.focus.outline.width')}, color: ${componentColor('md.comp.checkbox.unselected.focus.outline')}); } return BorderSide(width: ${getToken('md.comp.checkbox.unselected.outline.width')}, color: ${componentColor('md.comp.checkbox.unselected.outline')}); @@ -52,16 +52,16 @@ class _${blockName}DefaultsM3 extends CheckboxThemeData { } @override - MaterialStateProperty get fillColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get fillColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('md.comp.checkbox.selected.disabled.container')}; } return Colors.transparent; } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.error)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.error)) { return ${componentColor('md.comp.checkbox.selected.error.container')}; } return ${componentColor('md.comp.checkbox.selected.container')}; @@ -71,16 +71,16 @@ class _${blockName}DefaultsM3 extends CheckboxThemeData { } @override - MaterialStateProperty get checkColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get checkColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('md.comp.checkbox.selected.disabled.icon')}; } return Colors.transparent; // No icons available when the checkbox is unselected. } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.error)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.error)) { return ${componentColor('md.comp.checkbox.selected.error.icon')}; } return ${componentColor('md.comp.checkbox.selected.icon')}; @@ -90,38 +90,38 @@ class _${blockName}DefaultsM3 extends CheckboxThemeData { } @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.checkbox.error.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.checkbox.error.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.checkbox.error.focus.state-layer')}; } } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.checkbox.selected.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.checkbox.selected.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.checkbox.selected.focus.state-layer')}; } return Colors.transparent; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.checkbox.unselected.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.checkbox.unselected.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.checkbox.unselected.focus.state-layer')}; } return Colors.transparent; diff --git a/dev/tools/gen_defaults/lib/chip_template.dart b/dev/tools/gen_defaults/lib/chip_template.dart index 254c0caf68ded..c72230a96e98b 100644 --- a/dev/tools/gen_defaults/lib/chip_template.dart +++ b/dev/tools/gen_defaults/lib/chip_template.dart @@ -40,7 +40,7 @@ class _${blockName}DefaultsM3 extends ChipThemeData { ); @override - MaterialStateProperty? get color => null; // Subclasses override this getter + WidgetStateProperty? get color => null; // Subclasses override this getter @override Color? get shadowColor => ${colorOrTransparent("$tokenGroup.container.shadow-color")}; diff --git a/dev/tools/gen_defaults/lib/filter_chip_template.dart b/dev/tools/gen_defaults/lib/filter_chip_template.dart index 2d5bd2d4e0f4a..b33c4ba6a797d 100644 --- a/dev/tools/gen_defaults/lib/filter_chip_template.dart +++ b/dev/tools/gen_defaults/lib/filter_chip_template.dart @@ -56,19 +56,19 @@ class _${blockName}DefaultsM3 extends ChipThemeData { ); @override - MaterialStateProperty? get color => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected) && states.contains(MaterialState.disabled)) { + WidgetStateProperty? get color => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected) && states.contains(WidgetState.disabled)) { return _chipVariant == _ChipVariant.flat ? ${componentColor("$tokenGroup$flatVariant.disabled.selected.container")} : ${componentColor("$tokenGroup$elevatedVariant.disabled.container")}; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return _chipVariant == _ChipVariant.flat ? ${componentColor("$tokenGroup$flatVariant.disabled.unselected.container")} : ${componentColor("$tokenGroup$elevatedVariant.disabled.container")}; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _chipVariant == _ChipVariant.flat ? ${componentColor("$tokenGroup$flatVariant.selected.container")} : ${componentColor("$tokenGroup$elevatedVariant.selected.container")}; diff --git a/dev/tools/gen_defaults/lib/icon_button_template.dart b/dev/tools/gen_defaults/lib/icon_button_template.dart index 90a0d7ee8e283..64860659c6e3a 100644 --- a/dev/tools/gen_defaults/lib/icon_button_template.dart +++ b/dev/tools/gen_defaults/lib/icon_button_template.dart @@ -21,11 +21,11 @@ class IconButtonTemplate extends TokenTemplate { case 'md.comp.filled-tonal-icon-button': return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('$tokenGroup.disabled.container')}; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('$tokenGroup.selected.container')}; } if (toggleable) { // toggleable but unselected case @@ -36,14 +36,14 @@ class IconButtonTemplate extends TokenTemplate { case 'md.comp.outlined-icon-button': return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('$tokenGroup.disabled.selected.container')}; } return Colors.transparent; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('$tokenGroup.selected.container')}; } return Colors.transparent; @@ -60,11 +60,11 @@ class IconButtonTemplate extends TokenTemplate { case 'md.comp.filled-tonal-icon-button': return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('$tokenGroup.disabled.icon')}; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('$tokenGroup.toggle.selected.icon')}; } if (toggleable) { // toggleable but unselected case @@ -76,11 +76,11 @@ class IconButtonTemplate extends TokenTemplate { case 'md.comp.icon-button': return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('$tokenGroup.disabled.icon')}; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('$tokenGroup.selected.icon')}; } return ${componentColor('$tokenGroup.unselected.icon')}; @@ -97,61 +97,61 @@ class IconButtonTemplate extends TokenTemplate { case 'md.comp.filled-tonal-icon-button': return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('$tokenGroup.toggle.selected.pressed.state-layer')}.withOpacity(${opacity('$tokenGroup.pressed.state-layer.opacity')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('$tokenGroup.toggle.selected.hover.state-layer')}.withOpacity(${opacity('$tokenGroup.hover.state-layer.opacity')}); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('$tokenGroup.toggle.selected.focus.state-layer')}.withOpacity(${opacity('$tokenGroup.focus.state-layer.opacity')}); } } if (toggleable) { // toggleable but unselected case - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('$tokenGroup.toggle.unselected.pressed.state-layer')}.withOpacity(${opacity('$tokenGroup.pressed.state-layer.opacity')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('$tokenGroup.toggle.unselected.hover.state-layer')}.withOpacity(${opacity('$tokenGroup.hover.state-layer.opacity')}); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('$tokenGroup.toggle.unselected.focus.state-layer')}.withOpacity(${opacity('$tokenGroup.focus.state-layer.opacity')}); } } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('$tokenGroup.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('$tokenGroup.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('$tokenGroup.focus.state-layer')}; } return Colors.transparent; })'''; case 'md.comp.outlined-icon-button': return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('$tokenGroup.selected.pressed.state-layer')}.withOpacity(${opacity('$tokenGroup.pressed.state-layer.opacity')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('$tokenGroup.selected.hover.state-layer')}.withOpacity(${opacity('$tokenGroup.hover.state-layer.opacity')}); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('$tokenGroup.selected.focus.state-layer')}.withOpacity(${opacity('$tokenGroup.focus.state-layer.opacity')}); } } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('$tokenGroup.unselected.pressed.state-layer')}.withOpacity(${opacity('$tokenGroup.pressed.state-layer.opacity')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('$tokenGroup.unselected.hover.state-layer')}.withOpacity(${opacity('$tokenGroup.hover.state-layer.opacity')}); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('$tokenGroup.unselected.focus.state-layer')}.withOpacity(${opacity('$tokenGroup.focus.state-layer.opacity')}); } return Colors.transparent; @@ -159,25 +159,25 @@ class IconButtonTemplate extends TokenTemplate { case 'md.comp.icon-button': return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('$tokenGroup.selected.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('$tokenGroup.selected.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('$tokenGroup.selected.focus.state-layer')}; } } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('$tokenGroup.unselected.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('$tokenGroup.unselected.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('$tokenGroup.unselected.focus.state-layer')}; } return Colors.transparent; @@ -217,11 +217,11 @@ class IconButtonTemplate extends TokenTemplate { if (tokenAvailable('$tokenGroup.unselected.outline.color')) { return ''' - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return null; } else { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return BorderSide(color: ${componentColor('$tokenGroup.disabled.unselected.outline')}); } return BorderSide(color: ${componentColor('$tokenGroup.unselected.outline')}); @@ -257,53 +257,53 @@ class _${blockName}DefaultsM3 extends ButtonStyle { // No default text style @override - MaterialStateProperty? get backgroundColor =>${_backgroundColor()}; + WidgetStateProperty? get backgroundColor =>${_backgroundColor()}; @override - MaterialStateProperty? get foregroundColor =>${_foregroundColor()}; + WidgetStateProperty? get foregroundColor =>${_foregroundColor()}; @override - MaterialStateProperty? get overlayColor =>${_overlayColor()}; + WidgetStateProperty? get overlayColor =>${_overlayColor()}; @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(0.0); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => ${_elevationColor("$tokenGroup.container.shadow-color")}; @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => ${_elevationColor("$tokenGroup.container.surface-tint-layer.color")}; @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => const MaterialStatePropertyAll(EdgeInsets.all(8.0)); @override - MaterialStateProperty? get minimumSize =>${_minimumSize()}; + WidgetStateProperty? get minimumSize =>${_minimumSize()}; // No default fixedSize @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(${getToken("$tokenGroup.icon.size")}); @override - MaterialStateProperty? get side =>${_side()}; + WidgetStateProperty? get side =>${_side()}; @override - MaterialStateProperty? get shape =>${_shape()}; + WidgetStateProperty? get shape =>${_shape()}; @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; diff --git a/dev/tools/gen_defaults/lib/input_chip_template.dart b/dev/tools/gen_defaults/lib/input_chip_template.dart index 1e49d769ef47f..ea3110f1995c9 100644 --- a/dev/tools/gen_defaults/lib/input_chip_template.dart +++ b/dev/tools/gen_defaults/lib/input_chip_template.dart @@ -43,15 +43,15 @@ class _${blockName}DefaultsM3 extends ChipThemeData { ); @override - MaterialStateProperty? get color => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected) && states.contains(MaterialState.disabled)) { + WidgetStateProperty? get color => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected) && states.contains(WidgetState.disabled)) { return ${componentColor("$tokenGroup$variant.disabled.selected.container")}; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return ${componentColor("$tokenGroup$variant.disabled.container")}; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return ${componentColor("$tokenGroup$variant.selected.container")}; } return ${componentColor("$tokenGroup$variant.container")}; diff --git a/dev/tools/gen_defaults/lib/input_decorator_template.dart b/dev/tools/gen_defaults/lib/input_decorator_template.dart index d50d34aa48e17..337d178c122d5 100644 --- a/dev/tools/gen_defaults/lib/input_decorator_template.dart +++ b/dev/tools/gen_defaults/lib/input_decorator_template.dart @@ -36,62 +36,62 @@ class _${blockName}DefaultsM3 extends InputDecorationThemeData { // see https://github.com/flutter/flutter/pull/125905. @override - TextStyle? get hintStyle => MaterialStateTextStyle.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + TextStyle? get hintStyle => MaterialStateTextStyle.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return TextStyle(color: ${componentColor('md.comp.filled-text-field.disabled.supporting-text')}); } return TextStyle(color: ${componentColor('md.comp.filled-text-field.supporting-text')}); }); @override - Color? get fillColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + Color? get fillColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor("md.comp.filled-text-field.disabled.container")}; } return ${componentColor("md.comp.filled-text-field.container")}; }); @override - BorderSide? get activeIndicatorBorder => MaterialStateBorderSide.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + BorderSide? get activeIndicatorBorder => MaterialStateBorderSide.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${border('md.comp.filled-text-field.disabled.active-indicator')}; } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.focused)) { return ${mergedBorder('md.comp.filled-text-field.error.focus.active-indicator', 'md.comp.filled-text-field.focus.active-indicator')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${border('md.comp.filled-text-field.error.hover.active-indicator')}; } return ${border('md.comp.filled-text-field.error.active-indicator')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${border('md.comp.filled-text-field.focus.active-indicator')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${border('md.comp.filled-text-field.hover.active-indicator')}; } return ${border('md.comp.filled-text-field.active-indicator')}; }); @override - BorderSide? get outlineBorder => MaterialStateBorderSide.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + BorderSide? get outlineBorder => MaterialStateBorderSide.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${border('md.comp.outlined-text-field.disabled.outline')}; } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.focused)) { return ${mergedBorder('md.comp.outlined-text-field.error.focus.outline', 'md.comp.outlined-text-field.focus.outline')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${border('md.comp.outlined-text-field.error.hover.outline')}; } return ${border('md.comp.outlined-text-field.error.outline')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${border('md.comp.outlined-text-field.focus.outline')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${border('md.comp.outlined-text-field.hover.outline')}; } return ${border('md.comp.outlined-text-field.outline')}; @@ -101,121 +101,121 @@ class _${blockName}DefaultsM3 extends InputDecorationThemeData { Color? get iconColor => ${componentColor("md.comp.filled-text-field.leading-icon")}; @override - Color? get prefixIconColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + Color? get prefixIconColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('md.comp.filled-text-field.disabled.leading-icon')}; }${componentColor('md.comp.filled-text-field.error.leading-icon') == componentColor('md.comp.filled-text-field.leading-icon') ? '' : ''' - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.filled-text-field.error.hover.leading-icon')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.filled-text-field.error.focus.leading-icon')}; } return ${componentColor('md.comp.filled-text-field.error.leading-icon')}; }'''}${componentColor('md.comp.filled-text-field.hover.leading-icon') == componentColor('md.comp.filled-text-field.leading-icon') ? '' : ''' - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.filled-text-field.hover.leading-icon')}; }'''}${componentColor('md.comp.filled-text-field.focus.leading-icon') == componentColor('md.comp.filled-text-field.leading-icon') ? '' : ''' - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.filled-text-field.focus.leading-icon')}; }'''} return ${componentColor('md.comp.filled-text-field.leading-icon')}; }); @override - Color? get suffixIconColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + Color? get suffixIconColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('md.comp.filled-text-field.disabled.trailing-icon')}; } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.filled-text-field.error.hover.trailing-icon')}; }${componentColor('md.comp.filled-text-field.error.trailing-icon') == componentColor('md.comp.filled-text-field.error.focus.trailing-icon') ? '' : ''' - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.filled-text-field.error.focus.trailing-icon')}; }'''} return ${componentColor('md.comp.filled-text-field.error.trailing-icon')}; }${componentColor('md.comp.filled-text-field.hover.trailing-icon') == componentColor('md.comp.filled-text-field.trailing-icon') ? '' : ''' - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.filled-text-field.hover.trailing-icon')}; }'''}${componentColor('md.comp.filled-text-field.focus.trailing-icon') == componentColor('md.comp.filled-text-field.trailing-icon') ? '' : ''' - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.filled-text-field.focus.trailing-icon')}; }'''} return ${componentColor('md.comp.filled-text-field.trailing-icon')}; }); @override - TextStyle? get labelStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get labelStyle => MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = ${textStyle("md.comp.filled-text-field.label-text")} ?? const TextStyle(); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.disabled.label-text')}); } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.focus.label-text')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.hover.label-text')}); } return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.label-text')}); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.focus.label-text')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.hover.label-text')}); } return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.label-text')}); }); @override - TextStyle? get floatingLabelStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get floatingLabelStyle => MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = ${textStyle("md.comp.filled-text-field.label-text")} ?? const TextStyle(); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.disabled.label-text')}); } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.focus.label-text')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.hover.label-text')}); } return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.label-text')}); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.focus.label-text')}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.hover.label-text')}); } return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.label-text')}); }); @override - TextStyle? get helperStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get helperStyle => MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = ${textStyle("md.comp.filled-text-field.supporting-text")} ?? const TextStyle(); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.disabled.supporting-text')}); }${componentColor('md.comp.filled-text-field.focus.supporting-text') == componentColor('md.comp.filled-text-field.supporting-text') ? '' : ''' - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.focus.supporting-text')}); }'''}${componentColor('md.comp.filled-text-field.hover.supporting-text') == componentColor('md.comp.filled-text-field.supporting-text') ? '' : ''' - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.hover.supporting-text')}); }'''} return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.supporting-text')}); }); @override - TextStyle? get errorStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get errorStyle => MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = ${textStyle("md.comp.filled-text-field.supporting-text")} ?? const TextStyle();${componentColor('md.comp.filled-text-field.error.hover.supporting-text') == componentColor('md.comp.filled-text-field.error.supporting-text') ? '' : ''' - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.focus.supporting-text')}); }'''}${componentColor('md.comp.filled-text-field.error.focus.supporting-text') == componentColor('md.comp.filled-text-field.error.supporting-text') ? '' : ''' - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.hover.supporting-text')}); }'''} return textStyle.copyWith(color: ${componentColor('md.comp.filled-text-field.error.supporting-text')}); diff --git a/dev/tools/gen_defaults/lib/menu_template.dart b/dev/tools/gen_defaults/lib/menu_template.dart index beae9b828dc79..10358d6d508c0 100644 --- a/dev/tools/gen_defaults/lib/menu_template.dart +++ b/dev/tools/gen_defaults/lib/menu_template.dart @@ -31,22 +31,22 @@ class _MenuBarDefaultsM3 extends MenuStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get backgroundColor { + WidgetStateProperty get backgroundColor { return MaterialStatePropertyAll(${componentColor('md.comp.menu.container')}); } @override - MaterialStateProperty? get shadowColor { + WidgetStateProperty? get shadowColor { return MaterialStatePropertyAll(${color('md.comp.menu.container.shadow-color')}); } @override - MaterialStateProperty? get surfaceTintColor { + WidgetStateProperty? get surfaceTintColor { return const MaterialStatePropertyAll(${colorOrTransparent('md.comp.menu.container.surface-tint-layer')}); } @override - MaterialStateProperty? get padding { + WidgetStateProperty? get padding { return const MaterialStatePropertyAll( EdgeInsetsDirectional.symmetric( horizontal: _kTopLevelMenuHorizontalMinPadding @@ -72,7 +72,7 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { late final TextTheme _textTheme = Theme.of(context).textTheme; @override - MaterialStateProperty? get backgroundColor { + WidgetStateProperty? get backgroundColor { return ButtonStyleButton.allOrNull(Colors.transparent); } @@ -81,23 +81,23 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { // No default surface tint color @override - MaterialStateProperty? get elevation { + WidgetStateProperty? get elevation { return ButtonStyleButton.allOrNull(0.0); } @override - MaterialStateProperty? get foregroundColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('md.comp.list.list-item.disabled.label-text')}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.list.list-item.pressed.label-text')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.list.list-item.hover.label-text')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.list.list-item.focus.label-text')}; } return ${componentColor('md.comp.list.list-item.label-text')}; @@ -105,18 +105,18 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('md.comp.list.list-item.disabled.leading-icon')}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.list.list-item.pressed.leading-icon.icon')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.list.list-item.hover.leading-icon.icon')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.list.list-item.focus.leading-icon.icon')}; } return ${componentColor('md.comp.list.list-item.leading-icon')}; @@ -126,25 +126,25 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { // No default fixedSize @override - MaterialStateProperty? get iconSize { + WidgetStateProperty? get iconSize { return const MaterialStatePropertyAll(${getToken("md.comp.list.list-item.leading-icon.size")}); } @override - MaterialStateProperty? get maximumSize { + WidgetStateProperty? get maximumSize { return ButtonStyleButton.allOrNull(Size.infinite); } @override - MaterialStateProperty? get minimumSize { + WidgetStateProperty? get minimumSize { return ButtonStyleButton.allOrNull(const Size(64.0, 48.0)); } @override - MaterialStateProperty? get mouseCursor { - return MaterialStateProperty.resolveWith( - (Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor { + return WidgetStateProperty.resolveWith( + (Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; @@ -153,16 +153,16 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get overlayColor { - return MaterialStateProperty.resolveWith( - (Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor { + return WidgetStateProperty.resolveWith( + (Set states) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.list.list-item.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.list.list-item.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.list.list-item.focus.state-layer')}; } return Colors.transparent; @@ -171,14 +171,14 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get padding { + WidgetStateProperty? get padding { return ButtonStyleButton.allOrNull(_scaledPadding(context)); } // No default side @override - MaterialStateProperty? get shape { + WidgetStateProperty? get shape { return ButtonStyleButton.allOrNull(const RoundedRectangleBorder()); } @@ -189,7 +189,7 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { MaterialTapTargetSize? get tapTargetSize => Theme.of(context).materialTapTargetSize; @override - MaterialStateProperty get textStyle { + WidgetStateProperty get textStyle { // TODO(tahatesser): This is taken from https://m3.material.io/components/menus/specs // Update this when the token is available. return MaterialStatePropertyAll(_textTheme.labelLarge); @@ -245,22 +245,22 @@ class _MenuDefaultsM3 extends MenuStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get backgroundColor { + WidgetStateProperty get backgroundColor { return MaterialStatePropertyAll(${componentColor('md.comp.menu.container')}); } @override - MaterialStateProperty? get surfaceTintColor { + WidgetStateProperty? get surfaceTintColor { return ${componentColor('md.comp.menu.container.surface-tint-layer') == 'null' ? 'const MaterialStatePropertyAll(Colors.transparent)' : 'MaterialStatePropertyAll(${componentColor('md.comp.menu.container.surface-tint-layer')})'}; } @override - MaterialStateProperty? get shadowColor { + WidgetStateProperty? get shadowColor { return MaterialStatePropertyAll(${color('md.comp.menu.container.shadow-color')}); } @override - MaterialStateProperty? get padding { + WidgetStateProperty? get padding { return const MaterialStatePropertyAll( EdgeInsetsDirectional.symmetric(vertical: _kMenuVerticalMinPadding), ); diff --git a/dev/tools/gen_defaults/lib/navigation_bar_template.dart b/dev/tools/gen_defaults/lib/navigation_bar_template.dart index c58e66393f26f..65eefde277b50 100644 --- a/dev/tools/gen_defaults/lib/navigation_bar_template.dart +++ b/dev/tools/gen_defaults/lib/navigation_bar_template.dart @@ -38,13 +38,13 @@ class _${blockName}DefaultsM3 extends NavigationBarThemeData { Color? get surfaceTintColor => ${colorOrTransparent("md.comp.navigation-bar.container.surface-tint-layer.color")}; @override - MaterialStateProperty? get iconTheme { - return MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty? get iconTheme { + return WidgetStateProperty.resolveWith((Set states) { return IconThemeData( size: ${getToken("md.comp.navigation-bar.icon.size")}, - color: states.contains(MaterialState.disabled) + color: states.contains(WidgetState.disabled) ? _colors.onSurfaceVariant.withOpacity(0.38) - : states.contains(MaterialState.selected) + : states.contains(WidgetState.selected) ? ${componentColor("md.comp.navigation-bar.active.icon")} : ${componentColor("md.comp.navigation-bar.inactive.icon")}, ); @@ -58,13 +58,13 @@ class _${blockName}DefaultsM3 extends NavigationBarThemeData { ShapeBorder? get indicatorShape => ${shape("md.comp.navigation-bar.active-indicator")}; @override - MaterialStateProperty? get labelTextStyle { - return MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty? get labelTextStyle { + return WidgetStateProperty.resolveWith((Set states) { final TextStyle style = ${textStyle("md.comp.navigation-bar.label-text")}!; return style.apply( - color: states.contains(MaterialState.disabled) + color: states.contains(WidgetState.disabled) ? _colors.onSurfaceVariant.withOpacity(0.38) - : states.contains(MaterialState.selected) + : states.contains(WidgetState.selected) ? ${componentColor("md.comp.navigation-bar.active.label-text")} : ${componentColor("md.comp.navigation-bar.inactive.label-text")} ); diff --git a/dev/tools/gen_defaults/lib/navigation_drawer_template.dart b/dev/tools/gen_defaults/lib/navigation_drawer_template.dart index d701c0d3ad3de..4b76a90405998 100644 --- a/dev/tools/gen_defaults/lib/navigation_drawer_template.dart +++ b/dev/tools/gen_defaults/lib/navigation_drawer_template.dart @@ -42,13 +42,13 @@ class _${blockName}DefaultsM3 extends NavigationDrawerThemeData { Color? get indicatorColor => ${componentColor("md.comp.navigation-drawer.active-indicator")}; @override - MaterialStateProperty? get iconTheme { - return MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty? get iconTheme { + return WidgetStateProperty.resolveWith((Set states) { return IconThemeData( size: ${getToken("md.comp.navigation-drawer.icon.size")}, - color: states.contains(MaterialState.disabled) + color: states.contains(WidgetState.disabled) ? _colors.onSurfaceVariant.withOpacity(0.38) - : states.contains(MaterialState.selected) + : states.contains(WidgetState.selected) ? ${componentColor("md.comp.navigation-drawer.active.icon")} : ${componentColor("md.comp.navigation-drawer.inactive.icon")}, ); @@ -56,13 +56,13 @@ class _${blockName}DefaultsM3 extends NavigationDrawerThemeData { } @override - MaterialStateProperty? get labelTextStyle { - return MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty? get labelTextStyle { + return WidgetStateProperty.resolveWith((Set states) { final TextStyle style = ${textStyle("md.comp.navigation-drawer.label-text")}!; return style.apply( - color: states.contains(MaterialState.disabled) + color: states.contains(WidgetState.disabled) ? _colors.onSurfaceVariant.withOpacity(0.38) - : states.contains(MaterialState.selected) + : states.contains(WidgetState.selected) ? ${componentColor("md.comp.navigation-drawer.active.label-text")} : ${componentColor("md.comp.navigation-drawer.inactive.label-text")}, ); diff --git a/dev/tools/gen_defaults/lib/popup_menu_template.dart b/dev/tools/gen_defaults/lib/popup_menu_template.dart index 22f68f0f2843d..11553b65dbe3b 100644 --- a/dev/tools/gen_defaults/lib/popup_menu_template.dart +++ b/dev/tools/gen_defaults/lib/popup_menu_template.dart @@ -25,11 +25,11 @@ class _${blockName}DefaultsM3 extends PopupMenuThemeData { late final ColorScheme _colors = _theme.colorScheme; late final TextTheme _textTheme = _theme.textTheme; - @override MaterialStateProperty? get labelTextStyle { - return MaterialStateProperty.resolveWith((Set states) { + @override WidgetStateProperty? get labelTextStyle { + return WidgetStateProperty.resolveWith((Set states) { // TODO(quncheng): Update this hard-coded value to use the latest tokens. final TextStyle style = _textTheme.labelLarge!; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return style.apply(color: ${componentColor('md.comp.list.list-item.disabled.label-text')}); } return style.apply(color: ${componentColor('md.comp.list.list-item.label-text')}); diff --git a/dev/tools/gen_defaults/lib/radio_template.dart b/dev/tools/gen_defaults/lib/radio_template.dart index bcc081d1da61b..dd46b40a837be 100644 --- a/dev/tools/gen_defaults/lib/radio_template.dart +++ b/dev/tools/gen_defaults/lib/radio_template.dart @@ -23,33 +23,33 @@ class _RadioDefaultsM3 extends RadioThemeData { late final ColorScheme _colors = _theme.colorScheme; @override - MaterialStateProperty get fillColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty get fillColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('md.comp.radio-button.disabled.selected.icon')}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.radio-button.selected.pressed.icon')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.radio-button.selected.hover.icon')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.radio-button.selected.focus.icon')}; } return ${componentColor('md.comp.radio-button.selected.icon')}; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('md.comp.radio-button.disabled.unselected.icon')}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.radio-button.unselected.pressed.icon')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.radio-button.unselected.hover.icon')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.radio-button.unselected.focus.icon')}; } return ${componentColor('md.comp.radio-button.unselected.icon')}; @@ -57,27 +57,27 @@ class _RadioDefaultsM3 extends RadioThemeData { } @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.radio-button.selected.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.radio-button.selected.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.radio-button.selected.focus.state-layer')}; } return Colors.transparent; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.radio-button.unselected.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.radio-button.unselected.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.radio-button.unselected.focus.state-layer')}; } return Colors.transparent; diff --git a/dev/tools/gen_defaults/lib/range_slider_template.dart b/dev/tools/gen_defaults/lib/range_slider_template.dart index e4a479031e5df..5fe91aba24588 100644 --- a/dev/tools/gen_defaults/lib/range_slider_template.dart +++ b/dev/tools/gen_defaults/lib/range_slider_template.dart @@ -91,18 +91,18 @@ class _${blockName}DefaultsM3 extends SliderThemeData { double? get minThumbSeparation => 0; @override - MaterialStateProperty? get thumbSize { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get thumbSize { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return const Size(${getToken("$tokenGroup.disabled.handle.width")}, ${getToken("$tokenGroup.handle.height")}); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return const Size(${getToken("$tokenGroup.hover.handle.width")}, ${getToken("$tokenGroup.handle.height")}); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return const Size(${getToken("$tokenGroup.focus.handle.width")}, ${getToken("$tokenGroup.handle.height")}); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return const Size(${getToken("$tokenGroup.pressed.handle.width")}, ${getToken("$tokenGroup.handle.height")}); } return const Size(${getToken("$tokenGroup.handle.width")}, ${getToken("$tokenGroup.handle.height")}); diff --git a/dev/tools/gen_defaults/lib/search_bar_template.dart b/dev/tools/gen_defaults/lib/search_bar_template.dart index e913fd814ab95..edbea56f39897 100644 --- a/dev/tools/gen_defaults/lib/search_bar_template.dart +++ b/dev/tools/gen_defaults/lib/search_bar_template.dart @@ -35,31 +35,31 @@ class _SearchBarDefaultsM3 extends SearchBarThemeData { late final TextTheme _textTheme = Theme.of(context).textTheme; @override - MaterialStateProperty? get backgroundColor => + WidgetStateProperty? get backgroundColor => MaterialStatePropertyAll(${componentColor("md.comp.search-bar.container")}); @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(${elevation("md.comp.search-bar.container")}); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => MaterialStatePropertyAll(_colors.shadow); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => ${_surfaceTint()} @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return ${componentColor("md.comp.search-bar.pressed.state-layer")}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor("md.comp.search-bar.hover.state-layer")}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${colorOrTransparent("md.comp.search-bar.focused.state-layer")}; } return Colors.transparent; @@ -68,19 +68,19 @@ class _SearchBarDefaultsM3 extends SearchBarThemeData { // No default side @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(${shape('md.comp.search-bar.container', '')}); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => const MaterialStatePropertyAll(EdgeInsets.symmetric(horizontal: 8.0)); @override - MaterialStateProperty get textStyle => + WidgetStateProperty get textStyle => MaterialStatePropertyAll(${textStyleWithColor('md.comp.search-bar.input-text')}); @override - MaterialStateProperty get hintStyle => + WidgetStateProperty get hintStyle => MaterialStatePropertyAll(${textStyleWithColor('md.comp.search-bar.supporting-text')}); @override diff --git a/dev/tools/gen_defaults/lib/snackbar_template.dart b/dev/tools/gen_defaults/lib/snackbar_template.dart index 735386acf7d88..d5acb852c941c 100644 --- a/dev/tools/gen_defaults/lib/snackbar_template.dart +++ b/dev/tools/gen_defaults/lib/snackbar_template.dart @@ -29,17 +29,17 @@ class _${blockName}DefaultsM3 extends SnackBarThemeData { Color get backgroundColor => ${componentColor("$tokenGroup.container")}; @override - Color get actionTextColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + Color get actionTextColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return ${componentColor("$tokenGroup.action.pressed.label-text")}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor("$tokenGroup.action.pressed.label-text")}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor("$tokenGroup.action.hover.label-text")}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor("$tokenGroup.action.focus.label-text")}; } return ${componentColor("$tokenGroup.action.label-text")}; diff --git a/dev/tools/gen_defaults/lib/switch_template.dart b/dev/tools/gen_defaults/lib/switch_template.dart index ce08ab792b340..d101e511e5339 100644 --- a/dev/tools/gen_defaults/lib/switch_template.dart +++ b/dev/tools/gen_defaults/lib/switch_template.dart @@ -22,33 +22,33 @@ class _${blockName}DefaultsM3 extends SwitchThemeData { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get thumbColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get thumbColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('md.comp.switch.disabled.selected.handle')}; } return ${componentColor('md.comp.switch.disabled.unselected.handle')}; } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.switch.selected.pressed.handle')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.switch.selected.hover.handle')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.switch.selected.focus.handle')}; } return ${componentColor('md.comp.switch.selected.handle')}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.switch.unselected.pressed.handle')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.switch.unselected.hover.handle')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.switch.unselected.focus.handle')}; } return ${componentColor('md.comp.switch.unselected.handle')}; @@ -56,33 +56,33 @@ class _${blockName}DefaultsM3 extends SwitchThemeData { } @override - MaterialStateProperty get trackColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get trackColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('md.comp.switch.disabled.selected.track')}.withOpacity(${opacity('md.comp.switch.disabled.track.opacity')}); } return ${componentColor('md.comp.switch.disabled.unselected.track')}.withOpacity(${opacity('md.comp.switch.disabled.track.opacity')}); } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.switch.selected.pressed.track')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.switch.selected.hover.track')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.switch.selected.focus.track')}; } return ${componentColor('md.comp.switch.selected.track')}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.switch.unselected.pressed.track')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.switch.unselected.hover.track')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.switch.unselected.focus.track')}; } return ${componentColor('md.comp.switch.unselected.track')}; @@ -90,12 +90,12 @@ class _${blockName}DefaultsM3 extends SwitchThemeData { } @override - MaterialStateProperty get trackOutlineColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get trackOutlineColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return Colors.transparent; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return ${componentColor('md.comp.switch.disabled.unselected.track.outline')}.withOpacity(${opacity('md.comp.switch.disabled.track.opacity')}); } return ${componentColor('md.comp.switch.unselected.track.outline')}; @@ -103,27 +103,27 @@ class _${blockName}DefaultsM3 extends SwitchThemeData { } @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.switch.selected.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.switch.selected.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.switch.selected.focus.state-layer')}; } return null; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.switch.unselected.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.switch.unselected.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.switch.unselected.focus.state-layer')}; } return null; @@ -131,8 +131,8 @@ class _${blockName}DefaultsM3 extends SwitchThemeData { } @override - MaterialStateProperty get mouseCursor { - return MaterialStateProperty.resolveWith((Set states) + WidgetStateProperty get mouseCursor { + return WidgetStateProperty.resolveWith((Set states) => MaterialStateMouseCursor.clickable.resolve(states)); } @@ -159,33 +159,33 @@ class _SwitchConfigM3 with _SwitchConfig { double get activeThumbRadius => ${getToken('md.comp.switch.selected.handle.width')} / 2; @override - MaterialStateProperty get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return ${componentColor('md.comp.switch.disabled.selected.icon')}; } return ${componentColor('md.comp.switch.disabled.unselected.icon')}; } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.switch.selected.pressed.icon')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.switch.selected.hover.icon')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.switch.selected.focus.icon')}; } return ${componentColor('md.comp.switch.selected.icon')}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.switch.unselected.pressed.icon')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.switch.unselected.hover.icon')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.switch.unselected.focus.icon')}; } return ${componentColor('md.comp.switch.unselected.icon')}; diff --git a/dev/tools/gen_defaults/lib/tabs_template.dart b/dev/tools/gen_defaults/lib/tabs_template.dart index cc22d7130b0e5..da01fdcec708c 100644 --- a/dev/tools/gen_defaults/lib/tabs_template.dart +++ b/dev/tools/gen_defaults/lib/tabs_template.dart @@ -49,27 +49,27 @@ class _${blockName}PrimaryDefaultsM3 extends TabBarThemeData { TextStyle? get unselectedLabelStyle => ${textStyle("md.comp.primary-navigation-tab.with-label-text.label-text")}; @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.primary-navigation-tab.active.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.primary-navigation-tab.active.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.primary-navigation-tab.active.focus.state-layer')}; } return null; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.primary-navigation-tab.inactive.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.primary-navigation-tab.inactive.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.primary-navigation-tab.inactive.focus.state-layer')}; } return null; @@ -128,27 +128,27 @@ class _${blockName}SecondaryDefaultsM3 extends TabBarThemeData { TextStyle? get unselectedLabelStyle => ${textStyle("md.comp.secondary-navigation-tab.label-text")}; @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.secondary-navigation-tab.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.secondary-navigation-tab.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.secondary-navigation-tab.focus.state-layer')}; } return null; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor('md.comp.secondary-navigation-tab.pressed.state-layer')}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor('md.comp.secondary-navigation-tab.hover.state-layer')}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor('md.comp.secondary-navigation-tab.focus.state-layer')}; } return null; diff --git a/dev/tools/gen_defaults/lib/text_field_template.dart b/dev/tools/gen_defaults/lib/text_field_template.dart index 3395da75ecf30..b9924b76fc685 100644 --- a/dev/tools/gen_defaults/lib/text_field_template.dart +++ b/dev/tools/gen_defaults/lib/text_field_template.dart @@ -10,8 +10,8 @@ class TextFieldTemplate extends TokenTemplate { @override String generate() => ''' -TextStyle? _m3StateInputStyle(BuildContext context) => MaterialStateTextStyle.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { +TextStyle? _m3StateInputStyle(BuildContext context) => MaterialStateTextStyle.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return TextStyle(color: ${textStyle("md.comp.filled-text-field.label-text")}!.color?.withOpacity(0.38)); } return TextStyle(color: ${textStyle("md.comp.filled-text-field.label-text")}!.color); diff --git a/dev/tools/gen_defaults/lib/time_picker_template.dart b/dev/tools/gen_defaults/lib/time_picker_template.dart index 5d4fe26b2b282..b525958dc4475 100644 --- a/dev/tools/gen_defaults/lib/time_picker_template.dart +++ b/dev/tools/gen_defaults/lib/time_picker_template.dart @@ -53,8 +53,8 @@ class _${blockName}DefaultsM3 extends _TimePickerDefaults { @override Color get dayPeriodColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return ${componentColor("$dayPeriodComponent.selected.container")}; } // The unselected day period should match the overall picker dialog color. @@ -88,26 +88,26 @@ class _${blockName}DefaultsM3 extends _TimePickerDefaults { @override Color get dayPeriodTextColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.focused)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.focused)) { return ${componentColor("$dayPeriodComponent.selected.focus.label-text")}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor("$dayPeriodComponent.selected.hover.label-text")}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor("$dayPeriodComponent.selected.pressed.label-text")}; } return ${componentColor("$dayPeriodComponent.selected.label-text")}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor("$dayPeriodComponent.unselected.focus.label-text")}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor("$dayPeriodComponent.unselected.hover.label-text")}; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor("$dayPeriodComponent.unselected.pressed.label-text")}; } return ${componentColor("$dayPeriodComponent.unselected.label-text")}; @@ -151,8 +151,8 @@ class _${blockName}DefaultsM3 extends _TimePickerDefaults { @override Color get dialTextColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return ${componentColor('$dialComponent.selected.label-text')}; } return ${componentColor('$dialComponent.unselected.label-text')}; @@ -176,7 +176,7 @@ class _${blockName}DefaultsM3 extends _TimePickerDefaults { @override TextStyle get helpTextStyle { - return MaterialStateTextStyle.resolveWith((Set states) { + return MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = ${textStyle('$tokenGroup.headline')}!; return textStyle.copyWith(color: ${componentColor('$tokenGroup.headline')}); }); @@ -189,27 +189,27 @@ class _${blockName}DefaultsM3 extends _TimePickerDefaults { @override Color get hourMinuteColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { Color overlayColor = ${componentColor('$hourMinuteComponent.selected.container')}; - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { overlayColor = ${componentColor('$hourMinuteComponent.selected.pressed.state-layer')}; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { const double hoverOpacity = ${opacity('$hourMinuteComponent.hover.state-layer.opacity')}; overlayColor = ${componentColor('$hourMinuteComponent.selected.hover.state-layer')}.withOpacity(hoverOpacity); - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { const double focusOpacity = ${opacity('$hourMinuteComponent.focus.state-layer.opacity')}; overlayColor = ${componentColor('$hourMinuteComponent.selected.focus.state-layer')}.withOpacity(focusOpacity); } return Color.alphaBlend(overlayColor, ${componentColor('$hourMinuteComponent.selected.container')}); } else { Color overlayColor = ${componentColor('$hourMinuteComponent.unselected.container')}; - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { overlayColor = ${componentColor('$hourMinuteComponent.unselected.pressed.state-layer')}; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { const double hoverOpacity = ${opacity('$hourMinuteComponent.hover.state-layer.opacity')}; overlayColor = ${componentColor('$hourMinuteComponent.unselected.hover.state-layer')}.withOpacity(hoverOpacity); - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { const double focusOpacity = ${opacity('$hourMinuteComponent.focus.state-layer.opacity')}; overlayColor = ${componentColor('$hourMinuteComponent.unselected.focus.state-layer')}.withOpacity(focusOpacity); } @@ -249,33 +249,33 @@ class _${blockName}DefaultsM3 extends _TimePickerDefaults { @override Color get hourMinuteTextColor { - return MaterialStateColor.resolveWith((Set states) { + return WidgetStateColor.resolveWith((Set states) { return _hourMinuteTextColor.resolve(states); }); } - MaterialStateProperty get _hourMinuteTextColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get _hourMinuteTextColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor("$hourMinuteComponent.selected.pressed.label-text")}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor("$hourMinuteComponent.selected.hover.label-text")}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor("$hourMinuteComponent.selected.focus.label-text")}; } return ${componentColor("$hourMinuteComponent.selected.label-text")}; } else { // unselected - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return ${componentColor("$hourMinuteComponent.unselected.pressed.label-text")}; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return ${componentColor("$hourMinuteComponent.unselected.hover.label-text")}; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return ${componentColor("$hourMinuteComponent.unselected.focus.label-text")}; } return ${componentColor("$hourMinuteComponent.unselected.label-text")}; @@ -285,7 +285,7 @@ class _${blockName}DefaultsM3 extends _TimePickerDefaults { @override TextStyle get hourMinuteTextStyle { - return MaterialStateTextStyle.resolveWith((Set states) { + return MaterialStateTextStyle.resolveWith((Set states) { // TODO(tahatesser): Update this when https://github.com/flutter/flutter/issues/131247 is fixed. // This is using the correct text style from Material 3 spec. // https://m3.material.io/components/time-pickers/specs#fd0b6939-edab-4058-82e1-93d163945215 @@ -345,14 +345,14 @@ class _${blockName}DefaultsM3 extends _TimePickerDefaults { } @override - MaterialStateProperty? get timeSelectorSeparatorColor { + WidgetStateProperty? get timeSelectorSeparatorColor { // TODO(tahatesser): Update this when tokens are available. // This is taken from https://m3.material.io/components/time-pickers/specs. return MaterialStatePropertyAll(_colors.onSurface); } @override - MaterialStateProperty? get timeSelectorSeparatorTextStyle { + WidgetStateProperty? get timeSelectorSeparatorTextStyle { // TODO(tahatesser): Update this when tokens are available. // This is taken from https://m3.material.io/components/time-pickers/specs. return MaterialStatePropertyAll(_textTheme.displayLarge); diff --git a/dev/tools/test/content_aware_hash_test.dart b/dev/tools/test/content_aware_hash_test.dart index c1bc5eade77af..a24220034de3f 100644 --- a/dev/tools/test/content_aware_hash_test.dart +++ b/dev/tools/test/content_aware_hash_test.dart @@ -230,9 +230,28 @@ void main() { equals('HEAD'), ); + // Simulate being in a LUCI environment. + environment['LUCI_CI'] = 'true'; expect(runContentAwareHash(), processStdout('f049fdcd4300c8c0d5041b5e35b3d11c2d289bdf')); }); + test('generates a hash based on merge-base in local detached HEAD', () { + // This test validates the workflow with a detached HEAD, which is common + // when working with jj. + initGitRepoWithBlankInitialCommit(branch: 'main'); + writeFileAndCommit(testRoot.deps, 'deps changed'); + + final String headSha = gitShaFor('HEAD'); + run('git', ['checkout', '-f', headSha]); + run('git', ['--no-pager', 'log', '--decorate=short', '--pretty=oneline']); + expect( + (run('git', ['rev-parse', '--abbrev-ref', 'HEAD']).stdout as String).trim(), + equals('HEAD'), + ); + + expect(runContentAwareHash(), processStdout('3bbeb6a394378478683ece4f8e8663c42f8dc814')); + }); + group('stable branches calculate hash locally', () { test('with no changes', () { initGitRepoWithBlankInitialCommit(branch: 'main'); diff --git a/docs/README.md b/docs/README.md index db9272b4c86e3..80e66672cf905 100644 --- a/docs/README.md +++ b/docs/README.md @@ -14,7 +14,7 @@ If you intend to contribute to Flutter, welcome! You are encouraged to start wit * [Cherrypick process](./releases/Flutter-Cherrypick-Process.md) * [Closing issues](./contributing/issue_hygiene/README.md#closing-issues) * [Dashboards](./infra/Dashboards.md) -* [Debugging a broken engine autoroll](../engine/src/flutter/docs/Debugging-the-engine.md#bisecting-a-roll-failure) +* [Debugging a broken engine autoroll](../docs/engine/Debugging-the-engine.md#bisecting-a-roll-failure) * [Deprecations](./contributing/Tree-hygiene.md#deprecations) * [Design documents](./contributing/Design-Documents.md) * [Discord](./contributing/Chat.md) @@ -31,7 +31,7 @@ If you intend to contribute to Flutter, welcome! You are encouraged to start wit * [Style guide for Flutter repo](./contributing/Style-guide-for-Flutter-repo.md) * [Submitting code, process for](./contributing/Tree-hygiene.md#overview) * [Support levels, definitions of](./about/Values.md#support) -* [Symbolicating stack traces](../engine/src/flutter/docs/Crashes.md) +* [Symbolicating stack traces](../docs/engine/Crashes.md) * [Threading in the Engine](./about/The-Engine-architecture.md#threading) * [When will my bug be fixed?](./contributing/issue_hygiene/README.md#when-will-my-bug-be-fixed) * [Security best practices](./infra/Security.md#best-practices) diff --git a/docs/about/The-Engine-architecture.md b/docs/about/The-Engine-architecture.md index 6da00b2ee468f..2640a566412d5 100644 --- a/docs/about/The-Engine-architecture.md +++ b/docs/about/The-Engine-architecture.md @@ -14,7 +14,7 @@ Flutter Engine sits in this stack, highlights API boundaries, and identifies the repositories where the individual pieces live. The legend below clarifies some of the terminology commonly used to describe the pieces of a Flutter app. -Flutter Architecture Diagram +Flutter Architecture Diagram #### Dart App @@ -70,7 +70,7 @@ library called `dart:ui` to provide low-level access to Skia features and the shell. The shells can also communicate directly to Dart code via [Platform Channels](https://flutter.io/platform-channels/) which bypass the engine. -![Flutter Architecture Diagram](https://github.com/flutter/flutter/tree/main/engine/src/flutter/docs/flutter_overview.svg?sanitize=true) +![Flutter Architecture Diagram](https://github.com/flutter/flutter/tree/main/docs/engine/flutter_overview.svg?sanitize=true) ## Threading diff --git a/docs/contributing/Setting-up-the-Framework-development-environment.md b/docs/contributing/Setting-up-the-Framework-development-environment.md index c8bf91e2691e7..1064effc912b8 100644 --- a/docs/contributing/Setting-up-the-Framework-development-environment.md +++ b/docs/contributing/Setting-up-the-Framework-development-environment.md @@ -13,7 +13,7 @@ Verify that `adb` is in your [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) (that `which adb` prints sensible output). If you're - [also working on the Flutter engine](../../engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md), + [also working on the Flutter engine](../../docs/engine/contributing/Setting-up-the-Engine-development-environment.md), you can use the copy of the Android platform tools in `.../engine/src/third_party/android_tools/sdk/platform-tools`. diff --git a/docs/contributing/Tree-hygiene.md b/docs/contributing/Tree-hygiene.md index f4c90640c6c6b..29b8af3606c7c 100644 --- a/docs/contributing/Tree-hygiene.md +++ b/docs/contributing/Tree-hygiene.md @@ -152,7 +152,7 @@ feel empowered to ask for tests. ## Using git Assuming your environment has been configured according to the instructions in -[Setting up the Engine development environment](../../engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md), +[Setting up the Engine development environment](../../docs/engine/contributing/Setting-up-the-Engine-development-environment.md), [Setting up the Framework development environment](Setting-up-the-Framework-development-environment.md), or [Setting up the Packages development environment](../ecosystem/contributing/Setting-up-the-Packages-development-environment.md), follow these steps to start working on a patch: diff --git a/docs/contributing/testing/Running-and-writing-tests.md b/docs/contributing/testing/Running-and-writing-tests.md index ac1105b2ecdc0..5c087f76dfefd 100644 --- a/docs/contributing/testing/Running-and-writing-tests.md +++ b/docs/contributing/testing/Running-and-writing-tests.md @@ -47,7 +47,7 @@ runs them, run `dart dev/bots/test.dart` and `dart --enable-asserts dev/bots/ana ### Locally built engines -If you've built your own flutter engine (see [Setting up the Engine development environment](../../../engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md)), you +If you've built your own flutter engine (see [Setting up the Engine development environment](../../../docs/engine/contributing/Setting-up-the-Engine-development-environment.md)), you can pass `--local-engine` to change what flutter shell `flutter test` uses. For example, if you built an engine in the `out/host_debug_unopt` directory, you can use: @@ -120,8 +120,8 @@ The following is an example of what running the local engine command might look The above command would use the local Flutter engine located at `/Users/myname/flutter/engine` to execute the `external_ui_integration_test` test on an Android emulator, which is why the `android_debug_unopt_x86` version of the engine is used. -Note that some tests may require `profile` mode instead of `debug` mode when running with local engine. Make sure to pass in the correct local engine. See [Compiling the engine](../../../engine/src/flutter/docs/contributing/Compiling-the-engine.md) for more details. +Note that some tests may require `profile` mode instead of `debug` mode when running with local engine. Make sure to pass in the correct local engine. See [Compiling the engine](../../../docs/engine/contributing/Compiling-the-engine.md) for more details. ## For the engine -See the [Testing the engine](../../../engine/src/flutter/docs/testing/Testing-the-engine.md) wiki. +See the [Testing the engine](../../../docs/engine/testing/Testing-the-engine.md) wiki. diff --git a/engine/src/flutter/docs/Crashes.md b/docs/engine/Crashes.md similarity index 100% rename from engine/src/flutter/docs/Crashes.md rename to docs/engine/Crashes.md diff --git a/engine/src/flutter/docs/Custom-Flutter-Engine-Embedders.md b/docs/engine/Custom-Flutter-Engine-Embedders.md similarity index 100% rename from engine/src/flutter/docs/Custom-Flutter-Engine-Embedders.md rename to docs/engine/Custom-Flutter-Engine-Embedders.md diff --git a/engine/src/flutter/docs/Custom-Flutter-Engine-Embedding-in-AOT-Mode.md b/docs/engine/Custom-Flutter-Engine-Embedding-in-AOT-Mode.md similarity index 100% rename from engine/src/flutter/docs/Custom-Flutter-Engine-Embedding-in-AOT-Mode.md rename to docs/engine/Custom-Flutter-Engine-Embedding-in-AOT-Mode.md diff --git a/engine/src/flutter/docs/Debugging-the-engine.md b/docs/engine/Debugging-the-engine.md similarity index 99% rename from engine/src/flutter/docs/Debugging-the-engine.md rename to docs/engine/Debugging-the-engine.md index 23b9f83b019af..f0fcdfaa5af52 100644 --- a/engine/src/flutter/docs/Debugging-the-engine.md +++ b/docs/engine/Debugging-the-engine.md @@ -87,7 +87,7 @@ You can also set a breakpoint directly with [lldb](https://lldb.llvm.org/tutoria ## Debugging Android builds with gdb -See https://github.com/flutter/flutter/blob/master/engine/src/flutter/sky/tools/flutter_gdb +See https://github.com/flutter/flutter/blob/main/engine/src/flutter/sky/tools/flutter_gdb ## Debugging native engine code on Android with Android Studio diff --git a/engine/src/flutter/docs/Engine-disk-footprint.md b/docs/engine/Engine-disk-footprint.md similarity index 100% rename from engine/src/flutter/docs/Engine-disk-footprint.md rename to docs/engine/Engine-disk-footprint.md diff --git a/engine/src/flutter/docs/Engine-specific-Service-Protocol-extensions.md b/docs/engine/Engine-specific-Service-Protocol-extensions.md similarity index 100% rename from engine/src/flutter/docs/Engine-specific-Service-Protocol-extensions.md rename to docs/engine/Engine-specific-Service-Protocol-extensions.md diff --git a/engine/src/flutter/docs/Flutter's-modes.md b/docs/engine/Flutter's-modes.md similarity index 100% rename from engine/src/flutter/docs/Flutter's-modes.md rename to docs/engine/Flutter's-modes.md diff --git a/engine/src/flutter/docs/Flutter-engine-operation-in-AOT-Mode.md b/docs/engine/Flutter-engine-operation-in-AOT-Mode.md similarity index 100% rename from engine/src/flutter/docs/Flutter-engine-operation-in-AOT-Mode.md rename to docs/engine/Flutter-engine-operation-in-AOT-Mode.md diff --git a/engine/src/flutter/docs/Image-Codecs-in-the-Flutter-Engine.md b/docs/engine/Image-Codecs-in-the-Flutter-Engine.md similarity index 100% rename from engine/src/flutter/docs/Image-Codecs-in-the-Flutter-Engine.md rename to docs/engine/Image-Codecs-in-the-Flutter-Engine.md diff --git a/engine/src/flutter/docs/Life-of-a-Flutter-Frame.md b/docs/engine/Life-of-a-Flutter-Frame.md similarity index 100% rename from engine/src/flutter/docs/Life-of-a-Flutter-Frame.md rename to docs/engine/Life-of-a-Flutter-Frame.md diff --git a/engine/src/flutter/docs/README.md b/docs/engine/README.md similarity index 81% rename from engine/src/flutter/docs/README.md rename to docs/engine/README.md index 083556816888d..2525e659c31b6 100644 --- a/engine/src/flutter/docs/README.md +++ b/docs/engine/README.md @@ -1,6 +1,6 @@ This is an index of team-facing documentation for the [flutter/engine team](https://github.com/flutter/flutter/tree/main/engine). -- [Accessibility on Windows](https://github.com/flutter/flutter/blob/master/docs/platforms/desktop/windows/Accessibility-on-Windows.md) +- [Accessibility on Windows](https://github.com/flutter/flutter/blob/main/docs/platforms/desktop/windows/Accessibility-on-Windows.md) - [Code signing metadata](./release/Code-signing-metadata.md) for engine binaries - [Compiling the engine](./contributing/Compiling-the-engine.md) - [Comparing AOT Snapshot Sizes](./benchmarks/Comparing-AOT-Snapshot-Sizes.md) @@ -9,7 +9,7 @@ This is an index of team-facing documentation for the [flutter/engine team](http - [Custom Flutter Engine Embedding in AOT Mode](./Custom-Flutter-Engine-Embedding-in-AOT-Mode.md) - [Debugging the engine](./Debugging-the-engine.md) - [Flutter engine operation in AOT Mode](./Flutter-engine-operation-in-AOT-Mode.md) -- [Flutter Test Fonts](https://github.com/flutter/flutter/blob/master/docs/contributing/testing/Flutter-Test-Fonts.md) +- [Flutter Test Fonts](https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Flutter-Test-Fonts.md) - [Flutter's modes](./Flutter's-modes.md) - [Engine Clang Tidy Linter](./ci/Engine-Clang-Tidy-Linter.md) - [Engine disk footprint](./Engine-disk-footprint.md) @@ -18,12 +18,12 @@ This is an index of team-facing documentation for the [flutter/engine team](http - [Image Codecs in the Flutter Engine](Image-Codecs-in-the-Flutter-Engine.md) - [Impeller](./impeller/README.md) documentation index - [Life of a Flutter Frame](Life-of-a-Flutter-Frame.md) -- [Resolving common build failures](https://github.com/flutter/flutter/blob/master/docs/platforms/android/Resolving-common-build-failures.md) +- [Resolving common build failures](https://github.com/flutter/flutter/blob/main/docs/platforms/android/Resolving-common-build-failures.md) - [Setting up the Engine development environment](./contributing/Setting-up-the-Engine-development-environment.md) - [Supporting legacy platforms](Supporting-legacy-platforms.md) -- [Testing Android Changes in the Devicelab on an Emulator](https://github.com/flutter/flutter/blob/master/docs/platforms/android/Testing-Android-Changes-in-the-Devicelab-on-an-Emulator.md) +- [Testing Android Changes in the Devicelab on an Emulator](https://github.com/flutter/flutter/blob/main/docs/platforms/android/Testing-Android-Changes-in-the-Devicelab-on-an-Emulator.md) - [Testing the engine](./testing/Testing-the-engine.md) -- [The Engine architecture](https://github.com/flutter/flutter/blob/master/docs/about/The-Engine-architecture.md) -- [Upgrading Engine's Android API version](https://github.com/flutter/flutter/blob/master/docs/platforms/android/Upgrading-Engine's-Android-API-version.md) +- [The Engine architecture](https://github.com/flutter/flutter/blob/main/docs/about/The-Engine-architecture.md) +- [Upgrading Engine's Android API version](https://github.com/flutter/flutter/blob/main/docs/platforms/android/Upgrading-Engine's-Android-API-version.md) - [Using the Dart Development Service (DDS) and Flutter DevTools with a custom Flutter Engine Embedding](./Using-the-Dart-Development-Service-(DDS)-and-Flutter-DevTools-with-a-custom-Flutter-Engine-Embedding.md) - [Using Sanitizers with the Flutter Engine](./Using-Sanitizers-with-the-Flutter-Engine.md) diff --git a/engine/src/flutter/docs/Supporting-legacy-platforms.md b/docs/engine/Supporting-legacy-platforms.md similarity index 100% rename from engine/src/flutter/docs/Supporting-legacy-platforms.md rename to docs/engine/Supporting-legacy-platforms.md diff --git a/engine/src/flutter/docs/Using-Sanitizers-with-the-Flutter-Engine.md b/docs/engine/Using-Sanitizers-with-the-Flutter-Engine.md similarity index 100% rename from engine/src/flutter/docs/Using-Sanitizers-with-the-Flutter-Engine.md rename to docs/engine/Using-Sanitizers-with-the-Flutter-Engine.md diff --git a/engine/src/flutter/docs/Using-the-Dart-Development-Service-(DDS)-and-Flutter-DevTools-with-a-custom-Flutter-Engine-Embedding.md b/docs/engine/Using-the-Dart-Development-Service-(DDS)-and-Flutter-DevTools-with-a-custom-Flutter-Engine-Embedding.md similarity index 100% rename from engine/src/flutter/docs/Using-the-Dart-Development-Service-(DDS)-and-Flutter-DevTools-with-a-custom-Flutter-Engine-Embedding.md rename to docs/engine/Using-the-Dart-Development-Service-(DDS)-and-Flutter-DevTools-with-a-custom-Flutter-Engine-Embedding.md diff --git a/engine/src/flutter/docs/app_anatomy.svg b/docs/engine/app_anatomy.svg similarity index 100% rename from engine/src/flutter/docs/app_anatomy.svg rename to docs/engine/app_anatomy.svg diff --git a/engine/src/flutter/docs/benchmarks/Comparing-AOT-Snapshot-Sizes.md b/docs/engine/benchmarks/Comparing-AOT-Snapshot-Sizes.md similarity index 100% rename from engine/src/flutter/docs/benchmarks/Comparing-AOT-Snapshot-Sizes.md rename to docs/engine/benchmarks/Comparing-AOT-Snapshot-Sizes.md diff --git a/engine/src/flutter/docs/ci/Engine-Clang-Tidy-Linter.md b/docs/engine/ci/Engine-Clang-Tidy-Linter.md similarity index 100% rename from engine/src/flutter/docs/ci/Engine-Clang-Tidy-Linter.md rename to docs/engine/ci/Engine-Clang-Tidy-Linter.md diff --git a/engine/src/flutter/docs/ci/Engine-pre-submits-and-post-submits.md b/docs/engine/ci/Engine-pre-submits-and-post-submits.md similarity index 100% rename from engine/src/flutter/docs/ci/Engine-pre-submits-and-post-submits.md rename to docs/engine/ci/Engine-pre-submits-and-post-submits.md diff --git a/engine/src/flutter/docs/contributing/Compiling-the-engine.md b/docs/engine/contributing/Compiling-the-engine.md similarity index 87% rename from engine/src/flutter/docs/contributing/Compiling-the-engine.md rename to docs/engine/contributing/Compiling-the-engine.md index 495378a00f6a9..9c845fbe56f22 100644 --- a/engine/src/flutter/docs/contributing/Compiling-the-engine.md +++ b/docs/engine/contributing/Compiling-the-engine.md @@ -18,7 +18,7 @@ Depending on the platform you are making changes for, you may be interested in a - Instead of compiling manually as described in this file, it's recommended to use `et`, the engine tool, located at - https://github.com/flutter/flutter/blob/master/engine/src/flutter/tools/engine_tool. + https://github.com/flutter/flutter/blob/main/engine/src/flutter/tools/engine_tool. - For local development and testing, it's generally preferable to use `--unopt` builds. These builds will have additional logging and checks enabled, and generally use build and link flags that lead to faster compilation and better debugging symbols. @@ -35,6 +35,8 @@ Depending on the platform you are making changes for, you may be interested in a - Make sure to exclude the `out` directory from any backup scripts, as many large binary artifacts are generated. This is also generally true for all of the directories outside of the `engine/src/flutter` directory. +- See [gclient bootstrap](https://github.com/flutter/flutter/tree/main/engine#gclient-bootstrap) + section for details on how to setup `gclient`. ## Updating the engine Before compiling, you should typically make sure that your engine code is up to date with the latest `master`: @@ -57,7 +59,7 @@ These steps build the engine used by `flutter run` for Android devices. Run the following steps from the `engine/src` directory in your local checkout. See [Setting up the Engine development environment](Setting-up-the-Engine-development-environment.md). -1. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/master/engine/src/flutter/docs/contributing/Compiling-the-engine.md#updating-the-engine). +1. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/main/docs/engine/contributing/Compiling-the-engine.md#updating-the-engine). 2. Prepare your build files * `./flutter/tools/gn --android --unoptimized` for device-side executables. @@ -70,7 +72,7 @@ Run the following steps from the `engine/src` directory in your local checkout. > 💡 **TIP**: When developing on a Mac with ARM (M CPU), prefer `host_debug_unopt_arm64`. > > You can continue to use `host_debug_unopt` (required for Intel Macs), but the engine will be run under Rosetta -> which may be slower. See [Developing with Flutter on Apple Silicon](https://github.com/flutter/flutter/blob/master/docs/platforms/desktop/macos/Developing-with-Flutter-on-Apple-Silicon.md) +> which may be slower. See [Developing with Flutter on Apple Silicon](https://github.com/flutter/flutter/blob/main/docs/platforms/desktop/macos/Developing-with-Flutter-on-Apple-Silicon.md) > for more information. 3. Build your executables @@ -90,11 +92,11 @@ If you're going to be debugging crashes in the engine, make sure you add `android/AndroidManifest.xml` file for the Flutter app you are using to test the engine. -See [The flutter tool](https://github.com/flutter/flutter/blob/master/docs/tool/README.md) for instructions on how to use the `flutter` tool with a local engine. +See [The flutter tool](https://github.com/flutter/flutter/blob/main/docs/tool/README.md) for instructions on how to use the `flutter` tool with a local engine. You will typically use the `android_debug_unopt` build to debug the engine on a device, and `android_debug_unopt_x64` to debug in on a simulator. Modifying dart sources in the engine will require adding a `dependency_override` section in you app's `pubspec.yaml` as detailed -[here](https://github.com/flutter/flutter/blob/master/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool). +[here](https://github.com/flutter/flutter/blob/main/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool). Note that if you use particular android or ios engine build, you will need to have corresponding host build available next to it: if you use `android_debug_unopt`, you should have built `host_debug_unopt`, @@ -130,7 +132,7 @@ These steps build the engine used by `flutter run` for iOS devices. Run the following steps, from the `engine/src` directory: -1. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/master/engine/src/flutter/docs/contributing/Compiling-the-engine.md#updating-the-engine). +1. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/main/docs/engine/contributing/Compiling-the-engine.md#updating-the-engine). 2. `./flutter/tools/gn --ios --unoptimized` to prepare build files for device-side executables (or `--ios --simulator --unoptimized` for simulator). * This also produces an Xcode project for working with the engine source code at `out/ios_debug_unopt/flutter_engine.xcodeproj` @@ -142,11 +144,11 @@ Run the following steps, from the `engine/src` directory: 4. `ninja -C out/ios_debug_unopt && ninja -C out/host_debug_unopt` to build all artifacts (use `out/ios_debug_sim_unopt` for Simulator). -See [The flutter tool](https://github.com/flutter/flutter/blob/master/docs/tool/README.md) for instructions on how to use the `flutter` tool with a local engine. +See [The flutter tool](https://github.com/flutter/flutter/blob/main/docs/tool/README.md) for instructions on how to use the `flutter` tool with a local engine. You will typically use the `ios_debug_unopt` build to debug the engine on a device, and `ios_debug_sim_unopt` to debug in on a simulator. Modifying dart sources in the engine will require adding a `dependency_override` section in you app's `pubspec.yaml` as detailed -[here](https://github.com/flutter/flutter/blob/master/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool). +[here](https://github.com/flutter/flutter/blob/main/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool). See also [instructions for debugging the engine in a Flutter app in Xcode](../Debugging-the-engine.md#debugging-ios-builds-with-xcode). @@ -154,18 +156,25 @@ See also [instructions for debugging the engine in a Flutter app in Xcode](../De These steps build the desktop embedding, and the engine used by `flutter test` on a host workstation. -1. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/master/engine/src/flutter/docs/contributing/Compiling-the-engine.md#updating-the-engine). +1. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/main/docs/engine/contributing/Compiling-the-engine.md#updating-the-engine). -2. `./flutter/tools/gn --unoptimized` to prepare your build files. +2. On macOS install Metal build tools: `xcodebuild -downloadComponent MetalToolchain` + +3. `./flutter/tools/gn --unoptimized` to prepare your build files. * `--unoptimized` disables C++ compiler optimizations. On macOS, binaries are emitted unstripped; on Linux, unstripped binaries are emitted to an `exe.unstripped` subdirectory of the build. + * For Apple Silicon, use `./flutter/tools/gn --unoptimized --mac-cpu=arm64`. -3. `ninja -C out/host_debug_unopt` to build a desktop unoptimized binary. +4. `ninja -C out/host_debug_unopt` to build a desktop unoptimized binary. * If you skipped `--unoptimized`, use `ninja -C out/host_debug` instead. + * For Apple Silicon, use `ninja -C out/host_debug_unopt_arm64`. -See [The flutter tool](https://github.com/flutter/flutter/blob/master/docs/tool/README.md) for instructions on how to use the `flutter` tool with a local engine. +See [The flutter tool](https://github.com/flutter/flutter/blob/main/docs/tool/README.md) for instructions on how to use the `flutter` tool with a local engine. You will typically use the `host_debug_unopt` build in this setup. Modifying dart sources in the engine will require adding a `dependency_override` section in you app's `pubspec.yaml` as detailed -[here](https://github.com/flutter/flutter/blob/master/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool). +[here](https://github.com/flutter/flutter/blob/main/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool). + +If you have [ccache](https://ccache.dev/) installed on your system, you can enable this by using `--ccache` on `gn` in step 2 above. +This can speed up subsequent builds, especially when switching branches. ## Compiling for Windows @@ -177,7 +186,7 @@ On Windows, ensure that the engine checkout is not deeply nested. This avoid the 1. Make sure you have Visual Studio installed (non-Googlers only). [Debugging Tools for Windows 10](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools#small-classic-windbg-preview-logo-debugging-tools-for-windows-10-windbg) must be installed. -2. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/master/engine/src/flutter/docs/contributing/Compiling-the-engine.md#updating-the-engine). +2. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/main/docs/engine/contributing/Compiling-the-engine.md#updating-the-engine). 3. Ensure long path support is enabled on your machine. Launch PowerShell as an administrator and run: ``` @@ -268,7 +277,7 @@ python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py ## Compiling for the Web -For building the engine for the Web we use the [felt](https://github.com/flutter/flutter/blob/master/engine/src/flutter/lib/web_ui/README.md) tool. +For building the engine for the Web we use the [felt](https://github.com/flutter/flutter/blob/main/engine/src/flutter/lib/web_ui/README.md) tool. To test Flutter with a local build of the Web engine, add `--local-web-sdk=wasm_release` to your `flutter` command, e.g.: @@ -287,7 +296,7 @@ Compiling the web engine might take a few extra steps on Windows. Use cmd.exe an 2. Make sure, depot_tools, ninja and python are installed and added to the path. Also set the following environment variable for depot tools: * `DEPOT_TOOLS_WIN_TOOLCHAIN = 0` * Tip: if you get a python error try to use Python 2 instead of 3 -3. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/master/engine/src/flutter/docs/contributing/Compiling-the-engine.md#updating-the-engine). +3. Make sure your engine code is [up to date](https://github.com/flutter/flutter/blob/main/docs/engine/contributing/Compiling-the-engine.md#updating-the-engine). * Tip: If you get a git authentication errors on this step try Git Bash instead 5. `python .\flutter\tools\gn --unoptimized --full-dart-sdk` to prepare your build files. 6. `ninja -C .\out\` to build. diff --git a/engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md b/docs/engine/contributing/Setting-up-the-Engine-development-environment.md similarity index 91% rename from engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md rename to docs/engine/contributing/Setting-up-the-Engine-development-environment.md index b7ada86a9b3a5..b50a78582219f 100644 --- a/engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md +++ b/docs/engine/contributing/Setting-up-the-Engine-development-environment.md @@ -42,7 +42,7 @@ Run the following steps to set up your environment: > * `GYP_MSVS_OVERRIDE_PATH=C:\Program Files\Microsoft Visual Studio\2022\Community` > * Use the path of your installation. -Clone the Flutter source code. As of late 2024, the engine source is part of the main [flutter/flutter repo](https://github.com/flutter/flutter). The convention is to fork this repo and point `origin` to your fork and `upstream` to `git@github.com:flutter/flutter.git`. See [Setting up the Framework development environment](https://github.com/flutter/flutter/blob/master/docs/contributing/Setting-up-the-Framework-development-environment.md#set-up-your-environment) for more. +Clone the Flutter source code. As of late 2024, the engine source is part of the main [flutter/flutter repo](https://github.com/flutter/flutter). The convention is to fork this repo and point `origin` to your fork and `upstream` to `git@github.com:flutter/flutter.git`. See [Setting up the Framework development environment](https://github.com/flutter/flutter/blob/main/docs/contributing/Setting-up-the-Framework-development-environment.md#set-up-your-environment) for more. > [!IMPORTANT] > On Windows, the following must be run as an Administrator due to [a known issue](https://github.com/flutter/flutter/issues/94580). @@ -75,8 +75,8 @@ gclient sync ## Next steps: * [Compiling the engine](Compiling-the-engine.md) explains how to actually get builds, now that you have the code. - * The docs for the flutter tool have a section on [using a locally built engine with the flutter tool](https://github.com/flutter/flutter/blob/master/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool). - * [Signing commits](https://github.com/flutter/flutter/blob/master/docs/contributing/Signing-commits.md), to configure your environment to securely sign your commits. + * The docs for the flutter tool have a section on [using a locally built engine with the flutter tool](https://github.com/flutter/flutter/blob/main/docs/tool/README.md#using-a-locally-built-engine-with-the-flutter-tool). + * [Signing commits](https://github.com/flutter/flutter/blob/main/docs/contributing/Signing-commits.md), to configure your environment to securely sign your commits. ## Editor autocomplete support @@ -175,11 +175,11 @@ To set up: ### Using Android Studio as an IDE for the Android Embedding [Java] Alternatively, Android Studio can be used as an IDE for the Android Embedding Java code. See docs -at https://github.com/flutter/flutter/blob/master/engine/src/flutter/shell/platform/android/README.md#editing-java-code for +at https://github.com/flutter/flutter/blob/main/engine/src/flutter/shell/platform/android/README.md#editing-java-code for instructions. ## VSCode Additional Useful Configuration -1. Create [snippets](https://code.visualstudio.com/docs/editor/userdefinedsnippets) for header files with [this configuration](https://github.com/chromium/chromium/blob/master/tools/vscode/settings.json5). This will let you use `hdr` keyboard macro to create the boiler plate header code. Also consider some of [these settings](https://github.com/chromium/chromium/blob/master/tools/vscode/settings.json5) and [more tips](https://chromium.googlesource.com/chromium/src/+show/lkgr/docs/vscode.md). +1. Create [snippets](https://code.visualstudio.com/docs/editor/userdefinedsnippets) for header files with [this configuration](https://github.com/chromium/chromium/blob/main/tools/vscode/settings.json5). This will let you use `hdr` keyboard macro to create the boiler plate header code. Also consider some of [these settings](https://github.com/chromium/chromium/blob/main/tools/vscode/settings.json5) and [more tips](https://chromium.googlesource.com/chromium/src/+show/lkgr/docs/vscode.md). 2. To format GN files on save, [consider using this extension](https://marketplace.visualstudio.com/items?itemName=persidskiy.vscode-gnformat). diff --git a/engine/src/flutter/docs/dart_split_aot_compilation.svg b/docs/engine/dart_split_aot_compilation.svg similarity index 100% rename from engine/src/flutter/docs/dart_split_aot_compilation.svg rename to docs/engine/dart_split_aot_compilation.svg diff --git a/engine/src/flutter/docs/deferred_components_architecture.svg b/docs/engine/deferred_components_architecture.svg similarity index 100% rename from engine/src/flutter/docs/deferred_components_architecture.svg rename to docs/engine/deferred_components_architecture.svg diff --git a/engine/src/flutter/docs/deferred_components_call_lifecycle.svg b/docs/engine/deferred_components_call_lifecycle.svg similarity index 100% rename from engine/src/flutter/docs/deferred_components_call_lifecycle.svg rename to docs/engine/deferred_components_call_lifecycle.svg diff --git a/engine/src/flutter/docs/flutter_overview.svg b/docs/engine/flutter_overview.svg similarity index 100% rename from engine/src/flutter/docs/flutter_overview.svg rename to docs/engine/flutter_overview.svg diff --git a/engine/src/flutter/docs/impeller/Flutter-GPU.md b/docs/engine/impeller/Flutter-GPU.md similarity index 100% rename from engine/src/flutter/docs/impeller/Flutter-GPU.md rename to docs/engine/impeller/Flutter-GPU.md diff --git a/engine/src/flutter/docs/impeller/Impeller-Scene.md b/docs/engine/impeller/Impeller-Scene.md similarity index 100% rename from engine/src/flutter/docs/impeller/Impeller-Scene.md rename to docs/engine/impeller/Impeller-Scene.md diff --git a/engine/src/flutter/docs/impeller/README.md b/docs/engine/impeller/README.md similarity index 100% rename from engine/src/flutter/docs/impeller/README.md rename to docs/engine/impeller/README.md diff --git a/engine/src/flutter/docs/impeller/Setting-up-MoltenVK-on-macOS-for-Impeller.md b/docs/engine/impeller/Setting-up-MoltenVK-on-macOS-for-Impeller.md similarity index 100% rename from engine/src/flutter/docs/impeller/Setting-up-MoltenVK-on-macOS-for-Impeller.md rename to docs/engine/impeller/Setting-up-MoltenVK-on-macOS-for-Impeller.md diff --git a/engine/src/flutter/impeller/docs/android.md b/docs/engine/impeller/docs/android.md similarity index 99% rename from engine/src/flutter/impeller/docs/android.md rename to docs/engine/impeller/docs/android.md index 754893e20a4f8..9860e2ded23d7 100644 --- a/engine/src/flutter/impeller/docs/android.md +++ b/docs/engine/impeller/docs/android.md @@ -18,12 +18,12 @@ flowchart TD vulkan_exts{Vulkan Supports Extensions} vulkan[Use Vulkan Backend] opengl[Use OpenGL Backend] - + start-->device_support - + device_support-->|Yes|android_api device_support-->|No|opengl - + android_api-->|>= Android 29|vulkan_version android_api-->|< Android 29|opengl @@ -88,4 +88,3 @@ There are no issues with SurfaceTextures when using the GLES backend. We do not currently support rendering these textures when using the Vulkan backend. Supporting this will require adding support for importing GL textures into Vulkan textures which will have performance implications. - diff --git a/engine/src/flutter/impeller/docs/android_cpu_profile.md b/docs/engine/impeller/docs/android_cpu_profile.md similarity index 100% rename from engine/src/flutter/impeller/docs/android_cpu_profile.md rename to docs/engine/impeller/docs/android_cpu_profile.md diff --git a/engine/src/flutter/impeller/docs/android_validation_layers.md b/docs/engine/impeller/docs/android_validation_layers.md similarity index 100% rename from engine/src/flutter/impeller/docs/android_validation_layers.md rename to docs/engine/impeller/docs/android_validation_layers.md diff --git a/engine/src/flutter/impeller/docs/assets/README.md b/docs/engine/impeller/docs/assets/README.md similarity index 100% rename from engine/src/flutter/impeller/docs/assets/README.md rename to docs/engine/impeller/docs/assets/README.md diff --git a/engine/src/flutter/impeller/docs/babys_first_triangle.md b/docs/engine/impeller/docs/babys_first_triangle.md similarity index 99% rename from engine/src/flutter/impeller/docs/babys_first_triangle.md rename to docs/engine/impeller/docs/babys_first_triangle.md index 83df3588d2c1b..57bce9da7a557 100644 --- a/engine/src/flutter/impeller/docs/babys_first_triangle.md +++ b/docs/engine/impeller/docs/babys_first_triangle.md @@ -273,4 +273,3 @@ And with that, you should see animated triangle shading. ## Conclusion You have learned how to draw a triangle, modify its vertices, access varying information in the fragment shader, and specify uniform data to your shaders. You'll find that its somewhat annoying that you can't color outside the confines of your triangle. So add more, the rest is Flutter doesn't do anything more (conceptually) complicated. - diff --git a/engine/src/flutter/impeller/docs/benchmarks.md b/docs/engine/impeller/docs/benchmarks.md similarity index 100% rename from engine/src/flutter/impeller/docs/benchmarks.md rename to docs/engine/impeller/docs/benchmarks.md diff --git a/engine/src/flutter/impeller/docs/blending.md b/docs/engine/impeller/docs/blending.md similarity index 100% rename from engine/src/flutter/impeller/docs/blending.md rename to docs/engine/impeller/docs/blending.md diff --git a/engine/src/flutter/impeller/docs/coordinate_system.md b/docs/engine/impeller/docs/coordinate_system.md similarity index 100% rename from engine/src/flutter/impeller/docs/coordinate_system.md rename to docs/engine/impeller/docs/coordinate_system.md diff --git a/engine/src/flutter/impeller/docs/faq.md b/docs/engine/impeller/docs/faq.md similarity index 99% rename from engine/src/flutter/impeller/docs/faq.md rename to docs/engine/impeller/docs/faq.md index 4cf4dbda80c8d..4286eef17b9dd 100644 --- a/engine/src/flutter/impeller/docs/faq.md +++ b/docs/engine/impeller/docs/faq.md @@ -313,7 +313,6 @@ flowchart TD OpenGL --> GraphicsHardware Metal --> GraphicsHardware Vulkan --> GraphicsHardware - ``` WebGPU, or Dawn/wgpu.rs in JS garb, purports to be a sensible and portable abstraction layer over the [client APIs](https://dawn.googlesource.com/dawn/+/HEAD/docs/support.md). For middleware, that presents an interesting value proposition. Instead of doing mostly the same thing multiple times, you just target one API and let the WebGPU library take care of the rest. diff --git a/engine/src/flutter/impeller/docs/glossary.md b/docs/engine/impeller/docs/glossary.md similarity index 100% rename from engine/src/flutter/impeller/docs/glossary.md rename to docs/engine/impeller/docs/glossary.md diff --git a/engine/src/flutter/impeller/docs/ios_cpu_profile.md b/docs/engine/impeller/docs/ios_cpu_profile.md similarity index 100% rename from engine/src/flutter/impeller/docs/ios_cpu_profile.md rename to docs/engine/impeller/docs/ios_cpu_profile.md diff --git a/engine/src/flutter/impeller/docs/metal_validation.md b/docs/engine/impeller/docs/metal_validation.md similarity index 100% rename from engine/src/flutter/impeller/docs/metal_validation.md rename to docs/engine/impeller/docs/metal_validation.md diff --git a/engine/src/flutter/impeller/docs/opengles_development_setup.md b/docs/engine/impeller/docs/opengles_development_setup.md similarity index 100% rename from engine/src/flutter/impeller/docs/opengles_development_setup.md rename to docs/engine/impeller/docs/opengles_development_setup.md diff --git a/engine/src/flutter/impeller/docs/read_frame_captures.md b/docs/engine/impeller/docs/read_frame_captures.md similarity index 100% rename from engine/src/flutter/impeller/docs/read_frame_captures.md rename to docs/engine/impeller/docs/read_frame_captures.md diff --git a/engine/src/flutter/impeller/docs/renderdoc_frame_capture.md b/docs/engine/impeller/docs/renderdoc_frame_capture.md similarity index 97% rename from engine/src/flutter/impeller/docs/renderdoc_frame_capture.md rename to docs/engine/impeller/docs/renderdoc_frame_capture.md index 8c561c24b1531..4bce6f3e4e379 100644 --- a/engine/src/flutter/impeller/docs/renderdoc_frame_capture.md +++ b/docs/engine/impeller/docs/renderdoc_frame_capture.md @@ -49,4 +49,4 @@ _See also:_ - * [Learning to Read GPU Frame Captures](https://github.com/flutter/flutter/blob/main/engine/src/flutter/impeller/docs/read_frame_captures.md) + * [Learning to Read GPU Frame Captures](https://github.com/flutter/flutter/blob/main/docs/engine/impeller/docs/read_frame_captures.md) diff --git a/engine/src/flutter/impeller/docs/shader_optimization.md b/docs/engine/impeller/docs/shader_optimization.md similarity index 100% rename from engine/src/flutter/impeller/docs/shader_optimization.md rename to docs/engine/impeller/docs/shader_optimization.md diff --git a/engine/src/flutter/impeller/docs/specialization_constants.md b/docs/engine/impeller/docs/specialization_constants.md similarity index 100% rename from engine/src/flutter/impeller/docs/specialization_constants.md rename to docs/engine/impeller/docs/specialization_constants.md diff --git a/engine/src/flutter/impeller/docs/standalone_gles.md b/docs/engine/impeller/docs/standalone_gles.md similarity index 100% rename from engine/src/flutter/impeller/docs/standalone_gles.md rename to docs/engine/impeller/docs/standalone_gles.md diff --git a/engine/src/flutter/impeller/docs/ubo_gles2.md b/docs/engine/impeller/docs/ubo_gles2.md similarity index 100% rename from engine/src/flutter/impeller/docs/ubo_gles2.md rename to docs/engine/impeller/docs/ubo_gles2.md diff --git a/engine/src/flutter/impeller/docs/vulkan_threading.md b/docs/engine/impeller/docs/vulkan_threading.md similarity index 100% rename from engine/src/flutter/impeller/docs/vulkan_threading.md rename to docs/engine/impeller/docs/vulkan_threading.md diff --git a/engine/src/flutter/impeller/docs/xcode_frame_capture.md b/docs/engine/impeller/docs/xcode_frame_capture.md similarity index 100% rename from engine/src/flutter/impeller/docs/xcode_frame_capture.md rename to docs/engine/impeller/docs/xcode_frame_capture.md diff --git a/engine/src/flutter/docs/monorepo/engine_binary_hashing.md b/docs/engine/monorepo/engine_binary_hashing.md similarity index 93% rename from engine/src/flutter/docs/monorepo/engine_binary_hashing.md rename to docs/engine/monorepo/engine_binary_hashing.md index 4b764bac0a631..4450d3d2649ac 100644 --- a/engine/src/flutter/docs/monorepo/engine_binary_hashing.md +++ b/docs/engine/monorepo/engine_binary_hashing.md @@ -23,11 +23,11 @@ Git provides a solution by allowing us to operate on the index with `git ls-tree ```bash # Regenerate a "blob" hash -file_name="engine/src/flutter/vulkan/vulkan_window.h"; (printf "blob $(wc -c < "$file_name" | awk '{print $1}')\0"; cat "$file_name") | sha1sum -11a5a03d15ae21bde366e41291a7899eec44e5ae - +file_name="engine/src/flutter/display_list/display_list.h"; (printf "blob $(wc -c < "$file_name" | awk '{print $1}')\0"; cat "$file_name") | sha1sum +bbf1af9db37b147a2fdb33f7d9ea1b90c3decb22 - -git ls-tree -r HEAD engine/src/flutter/vulkan/vulkan_window.h -100644 blob 11a5a03d15ae21bde366e41291a7899eec44e5ae engine/src/flutter/vulkan/vulkan_window.h +git ls-tree -r HEAD engine/src/flutter/display_list/display_list.h +100644 blob bbf1af9db37b147a2fdb33f7d9ea1b90c3decb22 engine/src/flutter/display_list/display_list.h ``` ## Scoping the Hash to the Engine diff --git a/engine/src/flutter/docs/monorepo/history_strategy.md b/docs/engine/monorepo/history_strategy.md similarity index 100% rename from engine/src/flutter/docs/monorepo/history_strategy.md rename to docs/engine/monorepo/history_strategy.md diff --git a/engine/src/flutter/docs/rbe/rbe.md b/docs/engine/rbe/rbe.md similarity index 99% rename from engine/src/flutter/docs/rbe/rbe.md rename to docs/engine/rbe/rbe.md index f933cfd5350f6..ff94c641c93a3 100644 --- a/engine/src/flutter/docs/rbe/rbe.md +++ b/docs/engine/rbe/rbe.md @@ -1,5 +1,6 @@ # RBE for Flutter Engine Developers +g ## Overview This is documentation on setting up RBE for building the Flutter engine. It is @@ -211,7 +212,7 @@ The logs for RBE live under the system `/tmp` folder in the files `/tmp/reproxy. In CI runs, the RBE logs are also available by following the links as in the screenshot below under `teardown remote execution > collect rbe logs`: -![LUCI logs links](luci.png "LUCI logs links") +![LUCI logs links](../../engine/src/flutter/docs/rbe/luci.png "LUCI logs links") ### Dependency analysis failures diff --git a/engine/src/flutter/docs/release/Code-signing-metadata.md b/docs/engine/release/Code-signing-metadata.md similarity index 100% rename from engine/src/flutter/docs/release/Code-signing-metadata.md rename to docs/engine/release/Code-signing-metadata.md diff --git a/engine/src/flutter/docs/testing/Testing-the-engine.md b/docs/engine/testing/Testing-the-engine.md similarity index 92% rename from engine/src/flutter/docs/testing/Testing-the-engine.md rename to docs/engine/testing/Testing-the-engine.md index ccef8b1029686..74ac146f6a123 100644 --- a/engine/src/flutter/docs/testing/Testing-the-engine.md +++ b/docs/engine/testing/Testing-the-engine.md @@ -52,6 +52,41 @@ on and for your host machine architecture. It's best practice to test only one real production class per test and create mocks for all other dependencies. +Each Google Test target produces an executable in the `out` directory with the +`_unittests` suffix. You use these executables to run Google Tests. + +To run the shell's C++ unit tests: + +```sh +../out/host_debug_unopt/shell_unittests +``` + +To run a single test, use [Google Test's filters][]: + +```sh +../out/host_debug_unopt/shell_unittests --gtest_filter="ShellTest.WaitForFirstFrame" +``` + +[Google Test's filters]: https://google.github.io/googletest/advanced.html#running-a-subset-of-the-tests + +You can use `*` wildcards to run tests whose name matches a pattern: + +```sh +../out/host_debug_unopt/shell_unittests --gtest_filter="ShellTest.WaitFor*" +``` + +> [!TIP] +> Google Test supports other patterns, like `-` for exclusions and `:` for joins. +> Check [Google Test's documentation][] for details. + +[Google Test's documentation]: https://google.github.io/googletest/advanced.html#running-a-subset-of-the-tests + +To reproduce test flakes, you can run a test multiple times: + +```sh +../out/host_debug_unopt/shell_unittests --gtest_filter="ShellTest.WaitForFirstFrame" --gtest_repeat=1000 +``` + ## Java - Android embedding If you edit `.java` files in the [`shell/platform/android`](../../shell/platform/android/) @@ -295,7 +330,7 @@ Xcode and hit CMD+U. Dart unit tests are executed during pre-submit on our CI system when submitting PRs to the `flutter/engine` repository. -_See also: [Flutter Test Fonts](https://github.com/flutter/flutter/blob/master/docs/contributing/testing/Flutter-Test-Fonts.md)_ +_See also: [Flutter Test Fonts](https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Flutter-Test-Fonts.md)_ ### Framework tests diff --git a/docs/infra/Rolling-Dart.md b/docs/infra/Rolling-Dart.md index d55c29587f964..79edc05a8b507 100644 --- a/docs/infra/Rolling-Dart.md +++ b/docs/infra/Rolling-Dart.md @@ -49,12 +49,12 @@ If the script completes without errors, move on to step 10 in the next section t 1. Set up your Engine and Flutter environments by following the instructions described in the pages linked to from [our contributing guide](../../CONTRIBUTING.md). -2. Build the engine according to the instructions on the [Compiling the engine](../../engine/src/flutter/docs/contributing/Compiling-the-engine.md) page. +2. Build the engine according to the instructions on the [Compiling the engine](../../docs/engine/contributing/Compiling-the-engine.md) page. 3. Select a target Dart revision, typically use the [latest revision](https://github.com/dart-lang/sdk/commits/main). Check that the tests for that revision have all passed (all green) on the [Dart buildbot](https://ci.chromium.org/p/flutter/g/engine/console) and the [Internal Dart Flutter buildbot](https://ci.chromium.org/p/dart/g/flutter/console). 4. Create a PR (see [Tree hygiene](../contributing/Tree-hygiene.md)) that updates `dart_revision` in [DEPS](../../DEPS) to your selected revision. Invoke `gclient sync` in the src directory to ensure versions corresponding to the DEPS file are synced up. 5. Update all Dart-dependent DEPS entries using [`create_updated_flutter_deps.py`](../../engine/src/tools/dart/create_updated_flutter_deps.py) script. In case script complains that dart dependency was removed, remove entry from flutter DEPS file manually. If the list of library source files or patch files is modified, update the file [`libraries.yaml`](../../engine/src/flutter/lib/snapshot/libraries.yaml) and regenerate the corresponding json file. 6. Invoke `gclient sync` in the src directory to ensure versions corresponding to the DEPS file are synced up. -7. Build the debug, profile, and release versions of the engine, following the normal [Compiling the engine](../../engine/src/flutter/docs/contributing/Compiling-the-engine.md) instructions. You will need to build the host versions of the engine too. Here is a script with the build commands: +7. Build the debug, profile, and release versions of the engine, following the normal [Compiling the engine](../../docs/engine/contributing/Compiling-the-engine.md) instructions. You will need to build the host versions of the engine too. Here is a script with the build commands: ```bash #!/bin/bash -e @@ -88,7 +88,7 @@ cd $FLUTTER_HOME/packages/flutter flutter test --local-engine=host_debug --local-engine-host=host_debug ``` -> See [Running a Flutter app with a local engine](../../engine/src/flutter/docs/Debugging-the-engine.md#running-a-flutter-app-with-a-local-engine) for more information. +> See [Running a Flutter app with a local engine](../../docs/engine/Debugging-the-engine.md#running-a-flutter-app-with-a-local-engine) for more information. 8. Make sure your path contains `engine/src/third_party/dart/tools/sdks/dart-sdk/bin`, run the script `flutter/ci/licenses.sh` in the src directory, update `flutter/ci/licenses_golden/licenses_third_party` by copying `out/license_script_output/licenses_third_party` into it. Include this change in your pull request. **If any licenses changed, make sure to also update the actual `LICENSE` file.** diff --git a/docs/rules/README.md b/docs/rules/README.md new file mode 100644 index 0000000000000..74550fea47592 --- /dev/null +++ b/docs/rules/README.md @@ -0,0 +1,4 @@ +# AI rules for Flutter + +This directory contains `rules.md`, the default set of AI rules for building +Flutter apps, following best-practices. diff --git a/docs/rules/rules.md b/docs/rules/rules.md new file mode 100644 index 0000000000000..eb758c0fd2ef7 --- /dev/null +++ b/docs/rules/rules.md @@ -0,0 +1,788 @@ +# AI rules for Flutter + +You are an expert in Flutter and Dart development. Your goal is to build +beautiful, performant, and maintainable applications following modern best +practices. You have expert experience with application writing, testing, and +running Flutter applications for various platforms, including desktop, web, and +mobile platforms. + +## Interaction Guidelines +* **User Persona:** Assume the user is familiar with programming concepts but + may be new to Dart. +* **Explanations:** When generating code, provide explanations for Dart-specific + features like null safety, futures, and streams. +* **Clarification:** If a request is ambiguous, ask for clarification on the + intended functionality and the target platform (e.g., command-line, web, + server). +* **Dependencies:** When suggesting new dependencies from `pub.dev`, explain + their benefits. +* **Formatting:** Use the `dart_format` tool to ensure consistent code + formatting. +* **Fixes:** Use the `dart_fix` tool to automatically fix many common errors, + and to help code conform to configured analysis options. +* **Linting:** Use the Dart linter with a recommended set of rules to catch + common issues. Use the `analyze_files` tool to run the linter. + +## Project Structure +* **Standard Structure:** Assumes a standard Flutter project structure with + `lib/main.dart` as the primary application entry point. + +## Flutter style guide +* **SOLID Principles:** Apply SOLID principles throughout the codebase. +* **Concise and Declarative:** Write concise, modern, technical Dart code. + Prefer functional and declarative patterns. +* **Composition over Inheritance:** Favor composition for building complex + widgets and logic. +* **Immutability:** Prefer immutable data structures. Widgets (especially + `StatelessWidget`) should be immutable. +* **State Management:** Separate ephemeral state and app state. Use a state + management solution for app state to handle the separation of concerns. +* **Widgets are for UI:** Everything in Flutter's UI is a widget. Compose + complex UIs from smaller, reusable widgets. +* **Navigation:** Use a modern routing package like `auto_route` or `go_router`. + See the [navigation guide](./navigation.md) for a detailed example using + `go_router`. + +## Package Management +* **Pub Tool:** To manage packages, use the `pub` tool, if available. +* **External Packages:** If a new feature requires an external package, use the + `pub_dev_search` tool, if it is available. Otherwise, identify the most + suitable and stable package from pub.dev. +* **Adding Dependencies:** To add a regular dependency, use the `pub` tool, if + it is available. Otherwise, run `flutter pub add `. +* **Adding Dev Dependencies:** To add a development dependency, use the `pub` + tool, if it is available, with `dev:`. Otherwise, run `flutter + pub add dev:`. +* **Dependency Overrides:** To add a dependency override, use the `pub` tool, if + it is available, with `override::1.0.0`. Otherwise, run `flutter + pub add override::1.0.0`. +* **Removing Dependencies:** To remove a dependency, use the `pub` tool, if it + is available. Otherwise, run `dart pub remove `. + +## Code Quality +* **Code structure:** Adhere to maintainable code structure and separation of + concerns (e.g., UI logic separate from business logic). +* **Naming conventions:** Avoid abbreviations and use meaningful, consistent, + descriptive names for variables, functions, and classes. +* **Conciseness:** Write code that is as short as it can be while remaining + clear. +* **Simplicity:** Write straightforward code. Code that is clever or + obscure is difficult to maintain. +* **Error Handling:** Anticipate and handle potential errors. Don't let your + code fail silently. +* **Styling:** + * Line length: Lines should be 80 characters or fewer. + * Use `PascalCase` for classes, `camelCase` for + members/variables/functions/enums, and `snake_case` for files. +* **Functions:** + * Functions short and with a single purpose (strive for less than 20 lines). +* **Testing:** Write code with testing in mind. Use the `file`, `process`, and + `platform` packages, if appropriate, so you can inject in-memory and fake + versions of the objects. +* **Logging:** Use the `logging` package instead of `print`. + +## Dart Best Practices +* **Effective Dart:** Follow the official Effective Dart guidelines + (https://dart.dev/effective-dart) +* **Class Organization:** Define related classes within the same library file. + For large libraries, export smaller, private libraries from a single top-level + library. +* **Library Organization:** Group related libraries in the same folder. +* **API Documentation:** Add documentation comments to all public APIs, + including classes, constructors, methods, and top-level functions. +* **Comments:** Write clear comments for complex or non-obvious code. Avoid + over-commenting. +* **Trailing Comments:** Don't add trailing comments. +* **Async/Await:** Ensure proper use of `async`/`await` for asynchronous + operations with robust error handling. + * Use `Future`s, `async`, and `await` for asynchronous operations. + * Use `Stream`s for sequences of asynchronous events. +* **Null Safety:** Write code that is soundly null-safe. Leverage Dart's null + safety features. Avoid `!` unless the value is guaranteed to be non-null. +* **Pattern Matching:** Use pattern matching features where they simplify the + code. +* **Records:** Use records to return multiple types in situations where defining + an entire class is cumbersome. +* **Switch Statements:** Prefer using exhaustive `switch` statements or + expressions, which don't require `break` statements. +* **Exception Handling:** Use `try-catch` blocks for handling exceptions, and + use exceptions appropriate for the type of exception. Use custom exceptions + for situations specific to your code. +* **Arrow Functions:** Use arrow syntax for simple one-line functions. + +## Flutter Best Practices +* **Immutability:** Widgets (especially `StatelessWidget`) are immutable; when + the UI needs to change, Flutter rebuilds the widget tree. +* **Composition:** Prefer composing smaller widgets over extending existing + ones. Use this to avoid deep widget nesting. +* **Private Widgets:** Use small, private `Widget` classes instead of private + helper methods that return a `Widget`. +* **Build Methods:** Break down large `build()` methods into smaller, reusable + private Widget classes. +* **List Performance:** Use `ListView.builder` or `SliverList` for long lists to + create lazy-loaded lists for performance. +* **Isolates:** Use `compute()` to run expensive calculations in a separate + isolate to avoid blocking the UI thread, such as JSON parsing. +* **Const Constructors:** Use `const` constructors for widgets and in `build()` + methods whenever possible to reduce rebuilds. +* **Build Method Performance:** Avoid performing expensive operations, like + network calls or complex computations, directly within `build()` methods. + +## API Design Principles +When building reusable APIs, such as a library, follow these principles. + +* **Consider the User:** Design APIs from the perspective of the person who will + be using them. The API should be intuitive and easy to use correctly. +* **Documentation is Essential:** Good documentation is a part of good API + design. It should be clear, concise, and provide examples. + +## Application Architecture +* **Separation of Concerns:** Aim for separation of concerns similar to MVC/MVVM, with defined Model, + View, and ViewModel/Controller roles. +* **Logical Layers:** Organize the project into logical layers: + * Presentation (widgets, screens) + * Domain (business logic classes) + * Data (model classes, API clients) + * Core (shared classes, utilities, and extension types) +* **Feature-based Organization:** For larger projects, organize code by feature, + where each feature has its own presentation, domain, and data subfolders. This + improves navigability and scalability. + +## Lint Rules + +Include the package in the `analysis_options.yaml` file. Use the following +analysis_options.yaml file as a starting point: + +```yaml +include: package:flutter_lints/flutter.yaml + +linter: + rules: + # Add additional lint rules here: + # avoid_print: false + # prefer_single_quotes: true +``` + +### State Management +* **Built-in Solutions:** Prefer Flutter's built-in state management solutions. + Do not use a third-party package unless explicitly requested. +* **Streams:** Use `Streams` and `StreamBuilder` for handling a sequence of + asynchronous events. +* **Futures:** Use `Futures` and `FutureBuilder` for handling a single + asynchronous operation that will complete in the future. +* **ValueNotifier:** Use `ValueNotifier` with `ValueListenableBuilder` for + simple, local state that involves a single value. + + ```dart + // Define a ValueNotifier to hold the state. + final ValueNotifier _counter = ValueNotifier(0); + + // Use ValueListenableBuilder to listen and rebuild. + ValueListenableBuilder( + valueListenable: _counter, + builder: (context, value, child) { + return Text('Count: $value'); + }, + ); + ``` + +* **ChangeNotifier:** For state that is more complex or shared across multiple + widgets, use `ChangeNotifier`. +* **ListenableBuilder:** Use `ListenableBuilder` to listen to changes from a + `ChangeNotifier` or other `Listenable`. +* **MVVM:** When a more robust solution is needed, structure the app using the + Model-View-ViewModel (MVVM) pattern. +* **Dependency Injection:** Use simple manual constructor dependency injection + to make a class's dependencies explicit in its API, and to manage dependencies + between different layers of the application. +* **Provider:** If a dependency injection solution beyond manual constructor + injection is explicitly requested, `provider` can be used to make services, + repositories, or complex state objects available to the UI layer without tight + coupling (note: this document generally defaults against third-party packages + for state management unless explicitly requested). + +### Data Flow +* **Data Structures:** Define data structures (classes) to represent the data + used in the application. +* **Data Abstraction:** Abstract data sources (e.g., API calls, database + operations) using Repositories/Services to promote testability. + +### Routing +* **GoRouter:** Use the `go_router` package for declarative navigation, deep + linking, and web support. +* **GoRouter Setup:** To use `go_router`, first add it to your `pubspec.yaml` + using the `pub` tool's `add` command. + + ```dart + // 1. Add the dependency + // flutter pub add go_router + + // 2. Configure the router + final GoRouter _router = GoRouter( + routes: [ + GoRoute( + path: '/', + builder: (context, state) => const HomeScreen(), + routes: [ + GoRoute( + path: 'details/:id', // Route with a path parameter + builder: (context, state) { + final String id = state.pathParameters['id']!; + return DetailScreen(id: id); + }, + ), + ], + ), + ], + ); + + // 3. Use it in your MaterialApp + MaterialApp.router( + routerConfig: _router, + ); + ``` +* **Authentication Redirects:** Configure `go_router`'s `redirect` property to + handle authentication flows, ensuring users are redirected to the login screen + when unauthorized, and back to their intended destination after successful + login. + +* **Navigator:** Use the built-in `Navigator` for short-lived screens that do + not need to be deep-linkable, such as dialogs or temporary views. + + ```dart + // Push a new screen onto the stack + Navigator.push( + context, + MaterialPageRoute(builder: (context) => const DetailsScreen()), + ); + + // Pop the current screen to go back + Navigator.pop(context); + ``` + +### Data Handling & Serialization +* **JSON Serialization:** Use `json_serializable` and `json_annotation` for + parsing and encoding JSON data. +* **Field Renaming:** When encoding data, use `fieldRename: FieldRename.snake` + to convert Dart's camelCase fields to snake_case JSON keys. + + ```dart + // In your model file + import 'package:json_annotation/json_annotation.dart'; + + part 'user.g.dart'; + + @JsonSerializable(fieldRename: FieldRename.snake) + class User { + final String firstName; + final String lastName; + + User({required this.firstName, required this.lastName}); + + factory User.fromJson(Map json) => _$UserFromJson(json); + Map toJson() => _$UserToJson(this); + } + ``` + + +### Logging +* **Structured Logging:** Use the `log` function from `dart:developer` for + structured logging that integrates with Dart DevTools. + + ```dart + import 'dart:developer' as developer; + + // For simple messages + developer.log('User logged in successfully.'); + + // For structured error logging + try { + // ... code that might fail + } catch (e, s) { + developer.log( + 'Failed to fetch data', + name: 'myapp.network', + level: 1000, // SEVERE + error: e, + stackTrace: s, + ); + } + ``` + +## Code Generation +* **Build Runner:** If the project uses code generation, ensure that + `build_runner` is listed as a dev dependency in `pubspec.yaml`. +* **Code Generation Tasks:** Use `build_runner` for all code generation tasks, + such as for `json_serializable`. +* **Running Build Runner:** After modifying files that require code generation, + run the build command: + + ```shell + dart run build_runner build --delete-conflicting-outputs + ``` + +## Testing +* **Running Tests:** To run tests, use the `run_tests` tool if it is available, + otherwise use `flutter test`. +* **Unit Tests:** Use `package:test` for unit tests. +* **Widget Tests:** Use `package:flutter_test` for widget tests. +* **Integration Tests:** Use `package:integration_test` for integration tests. +* **Assertions:** Prefer using `package:checks` for more expressive and readable + assertions over the default `matchers`. + +### Testing Best practices +* **Convention:** Follow the Arrange-Act-Assert (or Given-When-Then) pattern. +* **Unit Tests:** Write unit tests for domain logic, data layer, and state + management. +* **Widget Tests:** Write widget tests for UI components. +* **Integration Tests:** For broader application validation, use integration + tests to verify end-to-end user flows. +* **integration_test package:** Use the `integration_test` package from the + Flutter SDK for integration tests. Add it as a `dev_dependency` in + `pubspec.yaml` by specifying `sdk: flutter`. +* **Mocks:** Prefer fakes or stubs over mocks. If mocks are absolutely + necessary, use `mockito` or `mocktail` to create mocks for dependencies. While + code generation is common for state management (e.g., with `freezed`), try to + avoid it for mocks. +* **Coverage:** Aim for high test coverage. + +## Visual Design & Theming +* **UI Design:** Build beautiful and intuitive user interfaces that follow + modern design guidelines. +* **Responsiveness:** Ensure the app is mobile responsive and adapts to + different screen sizes, working perfectly on mobile and web. +* **Navigation:** If there are multiple pages for the user to interact with, + provide an intuitive and easy navigation bar or controls. +* **Typography:** Stress and emphasize font sizes to ease understanding, e.g., + hero text, section headlines, list headlines, keywords in paragraphs. +* **Background:** Apply subtle noise texture to the main background to add a + premium, tactile feel. +* **Shadows:** Multi-layered drop shadows create a strong sense of depth; cards + have a soft, deep shadow to look "lifted." +* **Icons:** Incorporate icons to enhance the user’s understanding and the + logical navigation of the app. +* **Interactive Elements:** Buttons, checkboxes, sliders, lists, charts, graphs, + and other interactive elements have a shadow with elegant use of color to + create a "glow" effect. + +### Theming +* **Centralized Theme:** Define a centralized `ThemeData` object to ensure a + consistent application-wide style. +* **Light and Dark Themes:** Implement support for both light and dark themes, + ideal for a user-facing theme toggle (`ThemeMode.light`, `ThemeMode.dark`, + `ThemeMode.system`). +* **Color Scheme Generation:** Generate harmonious color palettes from a single + color using `ColorScheme.fromSeed`. + + ```dart + final ThemeData lightTheme = ThemeData( + colorScheme: ColorScheme.fromSeed( + seedColor: Colors.deepPurple, + brightness: Brightness.light, + ), + // ... other theme properties + ); + ``` +* **Color Palette:** Include a wide range of color concentrations and hues in + the palette to create a vibrant and energetic look and feel. +* **Component Themes:** Use specific theme properties (e.g., `appBarTheme`, + `elevatedButtonTheme`) to customize the appearance of individual Material + components. +* **Custom Fonts:** For custom fonts, use the `google_fonts` package. Define a + `TextTheme` to apply fonts consistently. + + ```dart + // 1. Add the dependency + // flutter pub add google_fonts + + // 2. Define a TextTheme with a custom font + final TextTheme appTextTheme = TextTheme( + displayLarge: GoogleFonts.oswald(fontSize: 57, fontWeight: FontWeight.bold), + titleLarge: GoogleFonts.roboto(fontSize: 22, fontWeight: FontWeight.w500), + bodyMedium: GoogleFonts.openSans(fontSize: 14), + ); + ``` + +### Assets and Images +* **Image Guidelines:** If images are needed, make them relevant and meaningful, + with appropriate size, layout, and licensing (e.g., freely available). Provide + placeholder images if real ones are not available. +* **Asset Declaration:** Declare all asset paths in your `pubspec.yaml` file. + + ```yaml + flutter: + uses-material-design: true + assets: + - assets/images/ + ``` + +* **Local Images:** Use `Image.asset` for local images from your asset + bundle. + + ```dart + Image.asset('assets/images/placeholder.png') + ``` +* **Network images:** Use NetworkImage for images loaded from the network. +* **Cached images:** For cached images, use NetworkImage a package like + `cached_network_image`. +* **Custom Icons:** Use `ImageIcon` to display an icon from an `ImageProvider`, + useful for custom icons not in the `Icons` class. +* **Network Images:** Use `Image.network` to display images from a URL, and + always include `loadingBuilder` and `errorBuilder` for a better user + experience. + + ```dart + Image.network( + 'https://picsum.photos/200/300', + loadingBuilder: (context, child, progress) { + if (progress == null) return child; + return const Center(child: CircularProgressIndicator()); + }, + errorBuilder: (context, error, stackTrace) { + return const Icon(Icons.error); + }, + ) + ``` +## UI Theming and Styling Code + +* **Responsiveness:** Use `LayoutBuilder` or `MediaQuery` to create responsive + UIs. +* **Text:** Use `Theme.of(context).textTheme` for text styles. +* **Text Fields:** Configure `textCapitalization`, `keyboardType`, and +* **Responsiveness:** Use `LayoutBuilder` or `MediaQuery` to create responsive + UIs. +* **Text:** Use `Theme.of(context).textTheme` for text styles. + remote images. + +```dart +// When using network images, always provide an errorBuilder. +Image.network( + 'https://example.com/image.png', + errorBuilder: (context, error, stackTrace) { + return const Icon(Icons.error); // Show an error icon + }, +); +``` + +## Material Theming Best Practices + +### Embrace `ThemeData` and Material 3 + +* **Use `ColorScheme.fromSeed()`:** Use this to generate a complete, harmonious + color palette for both light and dark modes from a single seed color. +* **Define Light and Dark Themes:** Provide both `theme` and `darkTheme` to your + `MaterialApp` to support system brightness settings seamlessly. +* **Centralize Component Styles:** Customize specific component themes (e.g., + `elevatedButtonTheme`, `cardTheme`, `appBarTheme`) within `ThemeData` to + ensure consistency. +* **Dark/Light Mode and Theme Toggle:** Implement support for both light and + dark themes using `theme` and `darkTheme` properties of `MaterialApp`. The + `themeMode` property can be dynamically controlled (e.g., via a + `ChangeNotifierProvider`) to allow for toggling between `ThemeMode.light`, + `ThemeMode.dark`, or `ThemeMode.system`. + +```dart +// main.dart +MaterialApp( + theme: ThemeData( + colorScheme: ColorScheme.fromSeed( + seedColor: Colors.deepPurple, + brightness: Brightness.light, + ), + textTheme: const TextTheme( + displayLarge: TextStyle(fontSize: 57.0, fontWeight: FontWeight.bold), + bodyMedium: TextStyle(fontSize: 14.0, height: 1.4), + ), + ), + darkTheme: ThemeData( + colorScheme: ColorScheme.fromSeed( + seedColor: Colors.deepPurple, + brightness: Brightness.dark, + ), + ), + home: const MyHomePage(), +); +``` + +### Implement Design Tokens with `ThemeExtension` + +For custom styles that aren't part of the standard `ThemeData`, use +`ThemeExtension` to define reusable design tokens. + +* **Create a Custom Theme Extension:** Define a class that extends + `ThemeExtension` and include your custom properties. +* **Implement `copyWith` and `lerp`:** These methods are required for the + extension to work correctly with theme transitions. +* **Register in `ThemeData`:** Add your custom extension to the `extensions` + list in your `ThemeData`. +* **Access Tokens in Widgets:** Use `Theme.of(context).extension()!` + to access your custom tokens. + +```dart +// 1. Define the extension +@immutable +class MyColors extends ThemeExtension { + const MyColors({required this.success, required this.danger}); + + final Color? success; + final Color? danger; + + @override + ThemeExtension copyWith({Color? success, Color? danger}) { + return MyColors(success: success ?? this.success, danger: danger ?? this.danger); + } + + @override + ThemeExtension lerp(ThemeExtension? other, double t) { + if (other is! MyColors) return this; + return MyColors( + success: Color.lerp(success, other.success, t), + danger: Color.lerp(danger, other.danger, t), + ); + } +} + +// 2. Register it in ThemeData +theme: ThemeData( + extensions: const >[ + MyColors(success: Colors.green, danger: Colors.red), + ], +), + +// 3. Use it in a widget +Container( + color: Theme.of(context).extension()!.success, +) +``` + +### Styling with `WidgetStateProperty` + +* **`WidgetStateProperty.resolveWith`:** Provide a function that receives a + `Set` and returns the appropriate value for the current state. +* **`WidgetStateProperty.all`:** A shorthand for when the value is the same for + all states. + +```dart +// Example: Creating a button style that changes color when pressed. +final ButtonStyle myButtonStyle = ButtonStyle( + backgroundColor: WidgetStateProperty.resolveWith( + (Set states) { + if (states.contains(WidgetState.pressed)) { + return Colors.green; // Color when pressed + } + return Colors.red; // Default color + }, + ), +); +``` + +## Layout Best Practices + +### Building Flexible and Overflow-Safe Layouts + +#### For Rows and Columns + +* **`Expanded`:** Use to make a child widget fill the remaining available space + along the main axis. +* **`Flexible`:** Use when you want a widget to shrink to fit, but not + necessarily grow. Don't combine `Flexible` and `Expanded` in the same `Row` or + `Column`. +* **`Wrap`:** Use when you have a series of widgets that would overflow a `Row` + or `Column`, and you want them to move to the next line. + +#### For General Content + +* **`SingleChildScrollView`:** Use when your content is intrinsically larger + than the viewport, but is a fixed size. +* **`ListView` / `GridView`:** For long lists or grids of content, always use a + builder constructor (`.builder`). +* **`FittedBox`:** Use to scale or fit a single child widget within its parent. +* **`LayoutBuilder`:** Use for complex, responsive layouts to make decisions + based on the available space. + +### Layering Widgets with Stack + +* **`Positioned`:** Use to precisely place a child within a `Stack` by anchoring it to the edges. +* **`Align`:** Use to position a child within a `Stack` using alignments like `Alignment.center`. + +### Advanced Layout with Overlays + +* **`OverlayPortal`:** Use this widget to show UI elements (like custom + dropdowns or tooltips) "on top" of everything else. It manages the + `OverlayEntry` for you. + + ```dart + class MyDropdown extends StatefulWidget { + const MyDropdown({super.key}); + + @override + State createState() => _MyDropdownState(); + } + + class _MyDropdownState extends State { + final _controller = OverlayPortalController(); + + @override + Widget build(BuildContext context) { + return OverlayPortal( + controller: _controller, + overlayChildBuilder: (BuildContext context) { + return const Positioned( + top: 50, + left: 10, + child: Card( + child: Padding( + padding: EdgeInsets.all(8.0), + child: Text('I am an overlay!'), + ), + ), + ); + }, + child: ElevatedButton( + onPressed: _controller.toggle, + child: const Text('Toggle Overlay'), + ), + ); + } + } + ``` + +## Color Scheme Best Practices + +### Contrast Ratios + +* **WCAG Guidelines:** Aim to meet the Web Content Accessibility Guidelines + (WCAG) 2.1 standards. +* **Minimum Contrast:** + * **Normal Text:** A contrast ratio of at least **4.5:1**. + * **Large Text:** (18pt or 14pt bold) A contrast ratio of at least **3:1**. + +### Palette Selection + +* **Primary, Secondary, and Accent:** Define a clear color hierarchy. +* **The 60-30-10 Rule:** A classic design rule for creating a balanced color scheme. + * **60%** Primary/Neutral Color (Dominant) + * **30%** Secondary Color + * **10%** Accent Color + +### Complementary Colors + +* **Use with Caution:** They can be visually jarring if overused. +* **Best Use Cases:** They are excellent for accent colors to make specific + elements pop, but generally poor for text and background pairings as they can + cause eye strain. + +### Example Palette + +* **Primary:** #0D47A1 (Dark Blue) +* **Secondary:** #1976D2 (Medium Blue) +* **Accent:** #FFC107 (Amber) +* **Neutral/Text:** #212121 (Almost Black) +* **Background:** #FEFEFE (Almost White) + +## Font Best Practices + +### Font Selection + +* **Limit Font Families:** Stick to one or two font families for the entire + application. +* **Prioritize Legibility:** Choose fonts that are easy to read on screens of + all sizes. Sans-serif fonts are generally preferred for UI body text. +* **System Fonts:** Consider using platform-native system fonts. +* **Google Fonts:** For a wide selection of open-source fonts, use the + `google_fonts` package. + +### Hierarchy and Scale + +* **Establish a Scale:** Define a set of font sizes for different text elements + (e.g., headlines, titles, body text, captions). +* **Use Font Weight:** Differentiate text effectively using font weights. +* **Color and Opacity:** Use color and opacity to de-emphasize less important + text. + +### Readability + +* **Line Height (Leading):** Set an appropriate line height, typically **1.4x to + 1.6x** the font size. +* **Line Length:** For body text, aim for a line length of **45-75 characters**. +* **Avoid All Caps:** Do not use all caps for long-form text. + +### Example Typographic Scale + +```dart +// In your ThemeData +textTheme: const TextTheme( + displayLarge: TextStyle(fontSize: 57.0, fontWeight: FontWeight.bold), + titleLarge: TextStyle(fontSize: 22.0, fontWeight: FontWeight.bold), + bodyLarge: TextStyle(fontSize: 16.0, height: 1.5), + bodyMedium: TextStyle(fontSize: 14.0, height: 1.4), + labelSmall: TextStyle(fontSize: 11.0, color: Colors.grey), +), +``` + +## Documentation + +* **`dartdoc`:** Write `dartdoc`-style comments for all public APIs. + + +### Documentation Philosophy + +* **Comment wisely:** Use comments to explain why the code is written a certain + way, not what the code does. The code itself should be self-explanatory. +* **Document for the user:** Write documentation with the reader in mind. If you + had a question and found the answer, add it to the documentation where you + first looked. This ensures the documentation answers real-world questions. +* **No useless documentation:** If the documentation only restates the obvious + from the code's name, it's not helpful. Good documentation provides context + and explains what isn't immediately apparent. +* **Consistency is key:** Use consistent terminology throughout your + documentation. + +### Commenting Style + +* **Use `///` for doc comments:** This allows documentation generation tools to + pick them up. +* **Start with a single-sentence summary:** The first sentence should be a + concise, user-centric summary ending with a period. +* **Separate the summary:** Add a blank line after the first sentence to create + a separate paragraph. This helps tools create better summaries. +* **Avoid redundancy:** Don't repeat information that's obvious from the code's + context, like the class name or signature. +* **Don't document both getter and setter:** For properties with both, only + document one. The documentation tool will treat them as a single field. + +### Writing Style + +* **Be brief:** Write concisely. +* **Avoid jargon and acronyms:** Don't use abbreviations unless they are widely + understood. +* **Use Markdown sparingly:** Avoid excessive markdown and never use HTML for + formatting. +* **Use backticks for code:** Enclose code blocks in backtick fences, and + specify the language. + +### What to Document + +* **Public APIs are a priority:** Always document public APIs. +* **Consider private APIs:** It's a good idea to document private APIs as well. +* **Library-level comments are helpful:** Consider adding a doc comment at the + library level to provide a general overview. +* **Include code samples:** Where appropriate, add code samples to illustrate usage. +* **Explain parameters, return values, and exceptions:** Use prose to describe + what a function expects, what it returns, and what errors it might throw. +* **Place doc comments before annotations:** Documentation should come before + any metadata annotations. + +## Accessibility (A11Y) +Implement accessibility features to empower all users, assuming a wide variety +of users with different physical abilities, mental abilities, age groups, +education levels, and learning styles. + +* **Color Contrast:** Ensure text has a contrast ratio of at least **4.5:1** + against its background. +* **Dynamic Text Scaling:** Test your UI to ensure it remains usable when users + increase the system font size. +* **Semantic Labels:** Use the `Semantics` widget to provide clear, descriptive + labels for UI elements. +* **Screen Reader Testing:** Regularly test your app with TalkBack (Android) and + VoiceOver (iOS). \ No newline at end of file diff --git a/docs/tool/Fast-Start.md b/docs/tool/Fast-Start.md deleted file mode 100644 index 6349a10bada6e..0000000000000 --- a/docs/tool/Fast-Start.md +++ /dev/null @@ -1,5 +0,0 @@ -# Fast Start - -Fast Start is an experimental development for Flutter on Android that should startup faster on slower hardware. The APK used to install Flutter will only contain a minimal bootstrap application, which will require it to be rebuilt and reinstalled less frequently. This workflow may not work if you're using android_alarm_manager, or other plugins which start background isolates. - -Fast start can be used by providing --fast-start as a command line option to flutter run. The first time this is used an APK must still be built, but on subsequent runs it will start up much faster. Note switching between --fast-start and regular development modes will still require the APK to be rebuilt. \ No newline at end of file diff --git a/docs/triage/Flutter-Web-Triage.md b/docs/triage/Flutter-Web-Triage.md index 1205fa5357e1b..d10e72a86a13a 100644 --- a/docs/triage/Flutter-Web-Triage.md +++ b/docs/triage/Flutter-Web-Triage.md @@ -3,13 +3,12 @@ When triaging web issues follow the following process: * Make sure there are no [unassigned P0 and P1 issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP1%2CP0+no%3Aassignee). * Make sure there are no [P1 issues outside the backlog](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP1%2CP0+-project%3Aflutter%2F41+). * Make sure there are no [P3 issues in the backlog](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+project%3Aflutter%2F41+label%3AP3). -* Make sure there are no assigned P2 and P3 issues (if you'd like to become a regular Flutter Web contributor, please ping yjbanov on Discord to be added to this list, and we'll watch that your issues are properly triaged): - * [eyebrowsoffire](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Aeyebrowsoffire) - * [harryterkelsen](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Aharryterkelsen) - * [kevmoo](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Akevmoo) - * [mdebbar](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Amdebbar) - * [yjbanov](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Ayjbanov) - * [flutter-zl](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP2%2CP3+assignee%3Aflutter-zl) +* Make sure all assigned issues are either P0 or P1 (if you'd like to become a regular Flutter Web contributor, please ping yjbanov on Discord to be added to this list, and we'll watch that your issues are properly triaged): + * [harryterkelsen](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+-label%3AP0%2CP1+assignee%3Aharryterkelsen) + * [kevmoo](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+-label%3AP0%2CP1+assignee%3Akevmoo) + * [mdebbar](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+-label%3AP0%2CP1+assignee%3Amdebbar) + * [yjbanov](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+-label%3AP0%2CP1+assignee%3Ayjbanov) + * [flutter-zl](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+-label%3AP0%2CP1+assignee%3Aflutter-zl) * All [P0 issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP0) are assigned and being worked on. * The list of [P1 issues](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3Ateam-web+label%3AP1) should be manageable (<30 issues) * Number of open PRs should be manageable (<15): diff --git a/docs/triage/README.md b/docs/triage/README.md index 59d56cdfccfc2..b0f4866854b30 100644 --- a/docs/triage/README.md +++ b/docs/triage/README.md @@ -86,6 +86,7 @@ In general the flow chart for team assignment is as follows, stopping as soon as - If it's about developer tools, add `team-devexp`. - If it's about a first-party package: - If it's about `go_router` or `go_router_builder`, add `team-framework`. + - If it's about `google_fonts`, add `team-framework`. - If it's about `two_dimensional_scrollables`, add `team-framework`. - If it's about `flutter_svg` or `vector_graphics`, add `team-engine`. - Otherwise, add `team-ecosystem`. @@ -210,7 +211,7 @@ For more guidance on reviewing PRs, see [Tree Hygiene](../contributing/Tree-hygi - [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-android%2Cfyi-android+-label%3Atriaged-android+no%3Aassignee+-label%3A%22will+need+additional+triage%22+sort%3Aupdated-asc) - [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-android+label%3AP0+sort%3Aupdated-asc) - [P1, No Assignee list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Ateam-android+label%3Ap1+no%3Aassignee+sort%3Aupdated-asc) -- PRs: [Framework/Tool](https://github.com/flutter/flutter/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Aplatform-android+-label%3A%22work+in+progress%3B+do+not+review%22+sort%3Aupdated-asc+), [Plugins \(non-dependabot\)](https://github.com/flutter/packages/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Atriage-android+sort%3Aupdated-asc+-author%3Aapp%2Fdependabot+), [Plugins \(dependabot\)](https://github.com/flutter/packages/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Aplatform-android+sort%3Aupdated-asc+author%3Aapp%2Fdependabot+) +- PRs: [Framework/Tool](https://github.com/flutter/flutter/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Aplatform-android%2Cteam-android+-label%3A%22work+in+progress%3B+do+not+review%22+sort%3Aupdated-asc+), [Plugins \(non-dependabot\)](https://github.com/flutter/packages/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Atriage-android+sort%3Aupdated-asc+-author%3Aapp%2Fdependabot+), [Plugins \(dependabot\)](https://github.com/flutter/packages/pulls?q=is%3Aopen+draft%3Afalse+is%3Apr+label%3Aplatform-android+sort%3Aupdated-asc+author%3Aapp%2Fdependabot+) ### Codelabs team (`team-codelabs`) @@ -271,7 +272,7 @@ See the [Flutter Infra Team Triage](./Infra-Triage.md) page. PRs are reviewed weekly across the framework, packages, and engine repositories: -- [iOS PRs on the framework](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+label%3Aplatform-ios+sort%3Acreated-asc+-is%3Adraft) +- [iOS PRs on the framework](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+label%3Aplatform-ios%2Cteam-ios+sort%3Acreated-asc+-is%3Adraft) - [macOS PRs on the framework](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+label%3A%22a%3A+desktop%22+label%3Aplatform-macos++sort%3Aupdated-asc) - [iOS and macOS PRs on packages](https://github.com/flutter/packages/pulls?q=is%3Aopen+is%3Apr+label%3Atriage-macos%2Ctriage-ios+sort%3Aupdated-asc+) @@ -291,7 +292,7 @@ PRs are reviewed weekly across the framework, packages, and engine repositories: - [P0 list](https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22a%3A+text+input%22%2Cteam-text-input%2Cfyi-text-input+sort%3Aupdated-asc+label%3AP0+) - [PR list](https://github.com/flutter/flutter/pulls?q=is%3Aopen+is%3Apr+sort%3Acreated-desc+draft%3Afalse+label%3A%22a%3A+text+input%22%2Cteam-text-input%2Cfyi-text-input+) -- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aopen+is%3Aissue+label%3A%22a%3A+text+input%22%2Cteam-text-input%2Cfyi-text-input+no%3Aassignee+-label%3A%22triaged-design%22+-label%3A%22triaged-framework%22+-label%3A%22triaged-linux%22+-label%3A%22triaged-macos%22+-label%3A%22triaged-windows%22+-label%3A%22triaged-android%22+-label%3A%22triaged-ios%22+-label%3A%22triaged-web%22+-label%3A%22triaged-ecosystem%22+-label%3A%22triaged-engine%22+-label%3A%22triaged-tool%22+-label%3A%22triaged-text-input%22+-project%3Aflutter%2F111+) +- [Incoming issue list](https://github.com/flutter/flutter/issues?q=is%3Aopen%20is%3Aissue%20label%3Ateam-text-input%2Cfyi-text-input%20no%3Aassignee%20-label%3Atriaged-text-input) ### Flutter Tool team (`team-tool`) diff --git a/engine/README.md b/engine/README.md index c01e1d6c440d5..f0278c2f78281 100644 --- a/engine/README.md +++ b/engine/README.md @@ -2,7 +2,7 @@ ## Setting up the Engine development environment -See [here](https://github.com/flutter/flutter/blob/master/engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md#getting-the-source) +See [here](https://github.com/flutter/flutter/blob/master/docs/engine/contributing/Setting-up-the-Engine-development-environment.md#getting-the-source) ## `gclient` bootstrap @@ -11,6 +11,6 @@ Flutter engine uses `gclient` to manage dependencies. If you've already cloned the flutter repository: 1. Copy one of the `engine/scripts/*.gclient` to the [root](../) folder as `.gclient`: - 1. Googlers: copy `rbe.gclient` to enable faster builds with [RBE](https://github.com/flutter/flutter/blob/master/engine/src/flutter/docs/rbe/rbe.md) + 1. Googlers: copy `rbe.gclient` to enable faster builds with [RBE](https://github.com/flutter/flutter/blob/master/docs/engine/rbe/rbe.md) 2. Everyone else: copy `standard.gclient` 2. run `gclient sync` from the [root](../) folder diff --git a/engine/src/.clang-format b/engine/src/.clang-format index 6fdf1dc888cb6..cdd36ad8992be 100644 --- a/engine/src/.clang-format +++ b/engine/src/.clang-format @@ -1,8 +1,5 @@ # Defines the Chromium style for automatic reformatting. # http://clang.llvm.org/docs/ClangFormatStyleOptions.html BasedOnStyle: Chromium -# This defaults to 'Auto'. Explicitly set it for a while, so that -# 'vector >' in existing files gets formatted to -# 'vector>'. ('Auto' means that clang-format will only use -# 'int>>' if the file already contains at least one such instance.) -Standard: Cpp11 +# This defaults to 'Auto'. +Standard: c++20 diff --git a/engine/src/README.md b/engine/src/README.md index 5f75fefee7bb8..3131db67775dd 100644 --- a/engine/src/README.md +++ b/engine/src/README.md @@ -1,14 +1,18 @@ -[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/flutter/buildroot/badge)](https://api.securityscorecards.dev/projects/github.com/flutter/buildroot) +# Flutter Engine -# buildroot +The Flutter Engine is a portable runtime for hosting +[Flutter](https://flutter.dev) applications. It implements Flutter's core +libraries, including animation and graphics, file and network I/O, +accessibility support, plugin architecture, and a Dart runtime and compile +toolchain. Most developers will interact with Flutter via the [Flutter +Framework](https://github.com/flutter/flutter), which provides a modern, +reactive framework, and a rich set of platform, layout and foundation widgets. -Build environment for the Flutter engine +More tooling is available to make development experiences easier: -This repository is used by the [flutter/engine](https://github.com/flutter/engine) repository. -For instructions on how to use it, see that repository's [CONTRIBUTING.md](https://github.com/flutter/flutter/blob/main/engine/src/flutter/CONTRIBUTING.md) file. +| Target | Tool | +| ----------------- | ------------------------------------------------------- | +| Web | [`felt`](flutter/lib/web_ui/README.md#using-felt) | +| Mobile or Desktop | [`et`](flutter/tools/engine_tool/README.md#engine-tool) | -To update your checkout to use the latest buildroot, run `gclient sync`. - -To submit patches to this buildroot repository, create a branch, push to that branch, then submit a PR on GitHub for that branch. - -To point the engine to a new version of buildroot after your patch is merged, update the buildroot hash in the engine's [DEPS file](https://github.com/flutter/flutter/blob/main/DEPS). +To learn about running tests, see [testing the engine](flutter/docs/testing/Testing-the-engine.md). diff --git a/engine/src/build/config/BUILDCONFIG.gn b/engine/src/build/config/BUILDCONFIG.gn index 766f0646ec6df..596fd4fef78c2 100644 --- a/engine/src/build/config/BUILDCONFIG.gn +++ b/engine/src/build/config/BUILDCONFIG.gn @@ -347,7 +347,8 @@ default_library_type = "static_library" # These Sanitizers all imply using the Clang compiler. On Windows they either # don't work or work differently. -using_sanitizer = !is_win && (is_asan || is_hwasan || is_lsan || is_tsan || is_msan) +using_sanitizer = + !is_win && (is_asan || is_hwasan || is_lsan || is_tsan || is_msan) if (!is_clang && using_sanitizer) { is_clang = true } diff --git a/engine/src/build/config/android/config.gni b/engine/src/build/config/android/config.gni index 7051d9c398d36..0cf362de747cf 100644 --- a/engine/src/build/config/android/config.gni +++ b/engine/src/build/config/android/config.gni @@ -67,7 +67,9 @@ if (is_android) { zipalign_path = "$android_sdk_build_tools/zipalign" - if (current_cpu != "x64" && current_cpu != "arm64") { + if (current_cpu == "riscv64") { + android_api_level = 35 + } else if (current_cpu != "x64" && current_cpu != "arm64") { android_api_level = 21 } @@ -101,6 +103,9 @@ if (is_android) { } else if (current_cpu == "arm64") { android_app_abi = "arm64-v8a" _android_lib_dir = "aarch64-linux-android" + } else if (current_cpu == "riscv64") { + android_app_abi = "riscv64" + _android_lib_dir = "riscv64-linux-android" } else { assert(false, "Unknown Android ABI: " + current_cpu) } diff --git a/engine/src/build/config/compiler/BUILD.gn b/engine/src/build/config/compiler/BUILD.gn index 425716418bc0b..cb987ddd86ea5 100644 --- a/engine/src/build/config/compiler/BUILD.gn +++ b/engine/src/build/config/compiler/BUILD.gn @@ -33,7 +33,8 @@ declare_args() { # By default, API calls to deprecated methods are errors. While prototyping, # this flag may be set to allow such calls. - allow_deprecated_api_calls = false + # riscv64: https://github.com/flutter/flutter/issues/173656 + allow_deprecated_api_calls = target_cpu == "riscv64" # This flag is deprecated and will be removed. The value will be ignored. use_fstack_protector = false @@ -115,6 +116,7 @@ config("compiler") { } else if (!is_ios && !is_wasm && !is_qnx) { cflags += [ "-fstack-protector", + # 8 is the default, but make this explicit here so that we don't have to # go hunting for the flag name if we ever want a value that is # different from the default. @@ -299,7 +301,8 @@ config("compiler") { if (wasm_use_workers) { cflags += [ "-sWASM_WORKERS=1" ] ldflags += [ "-sWASM_WORKERS=1" ] - } if (wasm_shared_memory) { + } + if (wasm_shared_memory) { cflags += [ "-sSHARED_MEMORY=1" ] ldflags += [ "-sSHARED_MEMORY=1" ] } @@ -355,9 +358,7 @@ config("compiler") { # Linux/Android common flags setup. # --------------------------------- if (is_linux || is_android || is_qnx) { - cflags += [ - "-fPIC", - ] + cflags += [ "-fPIC" ] if (!is_qnx) { cflags += [ @@ -381,7 +382,7 @@ config("compiler") { if (target_cpu == "arm64") { qnx_arch_flags += [ "-V", - "gcc_ntoaarch64le" + "gcc_ntoaarch64le", ] } else { assert(false, "Unknown QNX architecture") @@ -464,26 +465,64 @@ config("compiler") { } else if (current_cpu == "x64") { cflags += [ "--target=x86_64-linux-androideabi${android_api_level}" ] ldflags += [ "--target=x86_64-linux-androideabi${android_api_level}" ] + } else if (current_cpu == "riscv64") { + cflags += [ "--target=riscv64-linux-androideabi${android_api_level}" ] + ldflags += [ "--target=riscv64-linux-androideabi${android_api_level}" ] } } # Fuchsia-specific flags setup. # ----------------------------- if (is_fuchsia) { - configs = ["//flutter/tools/fuchsia/gn-sdk/src/config:compiler"] + configs = [ "//flutter/tools/fuchsia/gn-sdk/src/config:compiler" ] } asmflags = cflags } +# C++ modules (available and enabled by default in C++20 and above) are +# prohibited by the style guide. +config("cxx_disable_modules") { + disable_modules_flags = [ + "-fno-modules", + + # Some Clang versions do not disable ObjC modules (as tested by + # __has_feature(objc_modules)) when just -fno-modules is present. + "-Xclang", + "-fno-cxx-modules", + ] + cflags_c = disable_modules_flags + cflags_cc = disable_modules_flags + cflags_objc = disable_modules_flags + cflags_objcc = disable_modules_flags +} + config("cxx_version_default") { if (is_win) { - cc_std = [ "/std:c++17" ] + cc_std = [ "/std:c++20" ] } else { - cc_std = [ "-std=c++17" ] + cc_std = [ "-std=c++20" ] } + + configs = [ ":cxx_disable_modules" ] + cflags_cc = cc_std cflags_objcc = cc_std + + # The following corrections are only in place for targets that have opted into + # the default version. These targets have not had to opportunity to upgrade to + # a newer version. Targets that have explicitly opted into the newer version + # must fix the errors they run into. + + if (is_clang) { + extra_warning_flags_cc = [ + # TODO(174665): Third-party dependency (Angle) needs to patched to work + # around this. + "-Wno-deprecated-this-capture", + ] + cflags_cc += extra_warning_flags_cc + cflags_objcc += extra_warning_flags_cc + } } config("cxx_version_11") { @@ -524,6 +563,8 @@ config("cxx_version_20") { } cflags_cc = cc_std cflags_objcc = cc_std + + configs = [ ":cxx_disable_modules" ] } config("compiler_arm_fpu") { @@ -571,8 +612,10 @@ config("runtime_library") { # Add libcxx[abi]/include via cflags_cc, cflags_objcc to apply to # C++/Obj-C++ only. Adding them via include_dirs is problematic for Swift, # whose core libraries expect the Apple SDK C++ headers, module.modulemap. - _libcxx_include = rebase_path("//flutter/third_party/libcxx/include", root_build_dir) - _libcxxabi_include = rebase_path("//flutter/third_party/libcxxabi/include", root_build_dir) + _libcxx_include = + rebase_path("//flutter/third_party/libcxx/include", root_build_dir) + _libcxxabi_include = + rebase_path("//flutter/third_party/libcxxabi/include", root_build_dir) cflags_cc += [ "-nostdinc++", "-I" + _libcxx_include, @@ -600,9 +643,7 @@ config("runtime_library") { ldflags += [ "-nostdlib" ] - ldflags += [ - "-Wl,--warn-shared-textrel", - ] + ldflags += [ "-Wl,--warn-shared-textrel" ] libs += [ "c", @@ -635,7 +676,7 @@ config("runtime_library") { # Fuchsia standard library setup. if (is_fuchsia) { - configs = ["//flutter/tools/fuchsia/gn-sdk/src/config:runtime_library"] + configs = [ "//flutter/tools/fuchsia/gn-sdk/src/config:runtime_library" ] } } @@ -649,6 +690,7 @@ default_warning_flags_cc = [] if (is_qnx) { default_warning_flags_cc += [ "-fpermissive" ] } + if (is_win) { default_warning_flags += [ # Permanent. @@ -712,6 +754,8 @@ if (is_win) { # freetype2 needs these two "-Wno-unused-function", "-Wno-unused-variable", + + "-Wno-sign-conversion", ] } @@ -1007,9 +1051,7 @@ config("no_optimize") { # On WASM we don't want to fully deoptimize the debug build because the # compiled binary will have some functions with too many local variables # and Chrome will reject it. - cflags = [ - "-O1", - ] + cflags = [ "-O1" ] ldflags = common_optimize_on_ldflags } else { cflags = [ "-O0" ] @@ -1106,10 +1148,16 @@ config("prevent_unsafe_narrowing") { "-Wshorten-64-to-32", "-Wimplicit-int-conversion", "-Wsign-compare", - "-Wsign-conversion", + # Avoid bugs of the form `if (size_t i = size; i >= 0; --i)` while # fixing types to be sign-correct. "-Wtautological-unsigned-zero-compare", ] + + if (!is_wasm) { + # emscripten's headers themselves trigger this warning, so we can't + # keep this enabled on the wasm target. + cflags += [ "-Wsign-conversion" ] + } } } diff --git a/engine/src/build/config/darwin/BUILD.gn b/engine/src/build/config/darwin/BUILD.gn index 8200ef493343c..61c58c70c57f8 100644 --- a/engine/src/build/config/darwin/BUILD.gn +++ b/engine/src/build/config/darwin/BUILD.gn @@ -32,6 +32,7 @@ config("compiler") { # x86, arm, armv7, etc. assert(false, "unsupported cpu: $current_cpu") } + # OS and deployment target. if (is_ios) { _triplet_os = "apple-ios" @@ -40,13 +41,15 @@ config("compiler") { _triplet_os = "apple-macos" _deployment_target = mac_deployment_target } + # Environment. if (use_ios_simulator) { _triplet_environment = "-simulator" } else { _triplet_environment = "" } - _target_triplet = "$_triplet_cpu-$_triplet_os$_deployment_target$_triplet_environment" + _target_triplet = + "$_triplet_cpu-$_triplet_os$_deployment_target$_triplet_environment" # swiftc -swift-version flag. # @@ -71,6 +74,6 @@ config("compiler") { "-target", _target_triplet, "-swift-version", - _swift_version + _swift_version, ] } diff --git a/engine/src/build/config/gcc/BUILD.gn b/engine/src/build/config/gcc/BUILD.gn index e70e35728ea26..9a8283a759099 100644 --- a/engine/src/build/config/gcc/BUILD.gn +++ b/engine/src/build/config/gcc/BUILD.gn @@ -76,9 +76,7 @@ config("relative_paths") { "-fdebug-prefix-map=$absolute_path=$relative_path", ] } else { - cflags += [ - "-fdebug-prefix-map=$absolute_path=$relative_path", - ] + cflags += [ "-fdebug-prefix-map=$absolute_path=$relative_path" ] } cflags += [ # This makes sure that include directories in the toolchain are diff --git a/engine/src/build/config/sysroot.gni b/engine/src/build/config/sysroot.gni index fde619f000374..12c8df99f44ee 100644 --- a/engine/src/build/config/sysroot.gni +++ b/engine/src/build/config/sysroot.gni @@ -24,10 +24,13 @@ if (current_toolchain == default_toolchain && target_sysroot != "") { if (use_default_linux_sysroot && !is_fuchsia) { if (current_cpu == "x64") { sysroot = - rebase_path("//build/linux/debian_sid_amd64-sysroot", root_build_dir) - } else { + rebase_path("//build/linux/debian_bullseye_amd64-sysroot", root_build_dir) + } else if (current_cpu == "arm64") { sysroot = - rebase_path("//build/linux/debian_sid_arm64-sysroot", root_build_dir) + rebase_path("//build/linux/debian_bullseye_arm64-sysroot", root_build_dir) + } else if (current_cpu == "riscv64") { + sysroot = + rebase_path("//build/linux/debian_trixie_riscv64-sysroot", root_build_dir) } assert( exec_script("//build/dir_exists.py", [ sysroot ], "string") == "True", diff --git a/engine/src/build/linux/sysroot_scripts/install-sysroot.py b/engine/src/build/linux/sysroot_scripts/install-sysroot.py index d3e76649e6524..2d4cea9342dc9 100755 --- a/engine/src/build/linux/sysroot_scripts/install-sysroot.py +++ b/engine/src/build/linux/sysroot_scripts/install-sysroot.py @@ -1,166 +1,156 @@ #!/usr/bin/env python3 -# -# Copyright (c) 2013 The Chromium Authors. All rights reserved. +# Copyright 2013 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. - """Install Debian sysroots for building chromium. """ - # The sysroot is needed to ensure that binaries that get built will run on # the oldest stable version of Debian that we currently support. # This script can be run manually but is more often run as part of gclient # hooks. When run from hooks this script is a no-op on non-linux platforms. - # The sysroot image could be constructed from scratch based on the current state # of the Debian archive but for consistency we use a pre-built root image (we # don't want upstream changes to Debian to effect the chromium build until we # choose to pull them in). The images will normally need to be rebuilt every # time chrome's build dependencies are changed but should also be updated # periodically to include upstream security fixes from Debian. - - - +# This script looks at sysroots.json next to it to find the name of a .tar.xz +# to download and the location to extract it to. The extracted sysroot could for +# example be in build/linux/debian_bullseye_amd64-sysroot/. +import glob import hashlib import json -import platform import optparse import os -import re import shutil import subprocess import sys -try: - # For Python 3.0 and later - from urllib.request import urlopen -except ImportError: - # Fall back to Python 2's urllib2 - from urllib.request import urlopen - +from urllib.request import urlopen SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) - -URL_PREFIX = 'https://commondatastorage.googleapis.com' -URL_PATH = 'chrome-linux-sysroot/toolchain' - -VALID_ARCHS = ('arm', 'arm64', 'i386', 'amd64') - +SRC_DIR = os.path.dirname(os.path.dirname(os.path.dirname(SCRIPT_DIR))) +VALID_ARCHS = ("amd64", "i386", "armhf", "arm64", "mipsel", "mips64el", + "ppc64el", "riscv64") ARCH_TRANSLATIONS = { - 'x64': 'amd64', - 'x86': 'i386', + "x64": "amd64", + "x86": "i386", + "arm": "armhf", + "mips": "mipsel", + "mips64": "mips64el", + "ppc64le": "ppc64el", } - -DEFAULT_TARGET_PLATFORM = 'sid' - +DEFAULT_TARGET_PLATFORMS = { + "amd64": "bullseye", + "i386": "bullseye", + "armhf": "bullseye", + "arm64": "bullseye", + "mipsel": "bullseye", + "mips64el": "bullseye", + "ppc64el": "bullseye", + "riscv64": "trixie", +} +DEFAULT_SYSROOTS_PATH = os.path.join(os.path.relpath(SCRIPT_DIR, SRC_DIR), + "sysroots.json") class Error(Exception): - pass - - -def GetSha1(filename): - sha1 = hashlib.sha1() - with open(filename, 'rb') as f: - while True: - # Read in 1mb chunks, so it doesn't all have to be loaded into memory. - chunk = f.read(1024*1024) - if not chunk: - break - sha1.update(chunk) - return sha1.hexdigest() - - + pass +def GetSha256(filename): + sha1 = hashlib.sha256() + with open(filename, "rb") as f: + while True: + # Read in 1mb chunks, so it doesn't all have to be loaded into + # memory. + chunk = f.read(1024 * 1024) + if not chunk: + break + sha1.update(chunk) + return sha1.hexdigest() def main(args): - parser = optparse.OptionParser('usage: %prog [OPTIONS]', description=__doc__) - parser.add_option('--arch', - help='Sysroot architecture: %s' % ', '.join(VALID_ARCHS)) - parser.add_option('--all', action='store_true', - help='Install all sysroot images (useful when updating the' - ' images)') - parser.add_option('--print-hash', - help='Print the hash of the sysroot for the given arch.') - options, _ = parser.parse_args(args) - if not sys.platform.startswith('linux'): - return 0 - - if options.print_hash: - arch = options.print_hash - print(GetSysrootDict(DEFAULT_TARGET_PLATFORM, - ARCH_TRANSLATIONS.get(arch, arch))['Sha1Sum']) + parser = optparse.OptionParser("usage: %prog [OPTIONS]", + description=__doc__) + parser.add_option("--sysroots-json-path", + help="The location of sysroots.json file") + parser.add_option("--arch", + help="Sysroot architecture: %s" % ", ".join(VALID_ARCHS)) + parser.add_option( + "--all", + action="store_true", + help="Install all sysroot images (useful when updating the" + " images)", + ) + options, _ = parser.parse_args(args) + if options.sysroots_json_path: + sysroots_json_path = options.sysroots_json_path + else: + sysroots_json_path = DEFAULT_SYSROOTS_PATH + if options.arch: + arch = ARCH_TRANSLATIONS.get(options.arch, options.arch) + InstallSysroot(sysroots_json_path, DEFAULT_TARGET_PLATFORMS[arch], + arch) + elif options.all: + for arch in VALID_ARCHS: + InstallSysroot(sysroots_json_path, DEFAULT_TARGET_PLATFORMS[arch], + arch) + else: + print("You much specify one of the options.") + return 1 return 0 - if options.arch: - InstallSysroot(DEFAULT_TARGET_PLATFORM, - ARCH_TRANSLATIONS.get(options.arch, options.arch)) - elif options.all: - for arch in VALID_ARCHS: - InstallSysroot(DEFAULT_TARGET_PLATFORM, arch) - else: - print('You much specify one of the options.') - return 1 - - return 0 - - -def GetSysrootDict(target_platform, target_arch): - if target_arch not in VALID_ARCHS: - raise Error('Unknown architecture: %s' % target_arch) - - sysroots_file = os.path.join(SCRIPT_DIR, 'sysroots.json') - sysroots = json.load(open(sysroots_file)) - sysroot_key = '%s_%s' % (target_platform, target_arch) - if sysroot_key not in sysroots: - raise Error('No sysroot for: %s %s' % (target_platform, target_arch)) - return sysroots[sysroot_key] - - -def InstallSysroot(target_platform, target_arch): - sysroot_dict = GetSysrootDict(target_platform, target_arch) - tarball_filename = sysroot_dict['Tarball'] - tarball_sha1sum = sysroot_dict['Sha1Sum'] - # TODO(thestig) Consider putting this elsewhere to avoid having to recreate - # it on every build. - linux_dir = os.path.dirname(SCRIPT_DIR) - sysroot = os.path.join(linux_dir, sysroot_dict['SysrootDir']) - - url = '%s/%s/%s/%s' % (URL_PREFIX, URL_PATH, tarball_sha1sum, - tarball_filename) - - stamp = os.path.join(sysroot, '.stamp') - if os.path.exists(stamp): - with open(stamp) as s: - if s.read() == url: - return - - print('Installing Debian %s %s root image: %s' % \ - (target_platform, target_arch, sysroot)) - if os.path.isdir(sysroot): - shutil.rmtree(sysroot) - os.mkdir(sysroot) - tarball = os.path.join(sysroot, tarball_filename) - print('Downloading %s' % url) - sys.stdout.flush() - sys.stderr.flush() - for _ in range(3): +def GetSysrootDict(sysroots_json_path, target_platform, target_arch): + if target_arch not in VALID_ARCHS: + raise Error("Unknown architecture: %s" % target_arch) + sysroots_file = os.path.join(SRC_DIR, sysroots_json_path) + sysroots = json.load(open(sysroots_file)) + sysroot_key = "%s_%s" % (target_platform, target_arch) + if sysroot_key not in sysroots: + raise Error("No sysroot for: %s %s" % (target_platform, target_arch)) + return sysroots[sysroot_key] +def InstallSysroot(sysroots_json_path, target_platform, target_arch): + sysroot_dict = GetSysrootDict(sysroots_json_path, target_platform, + target_arch) + tarball_filename = sysroot_dict["Tarball"] + tarball_sha256sum = sysroot_dict["Sha256Sum"] + url_prefix = sysroot_dict["URL"] + # TODO(thestig) Consider putting this elsewhere to avoid having to recreate + # it on every build. + linux_dir = os.path.dirname(SCRIPT_DIR) + sysroot = os.path.join(linux_dir, sysroot_dict["SysrootDir"]) + url = "%s/%s" % (url_prefix, tarball_sha256sum) + stamp = os.path.join(sysroot, ".stamp") + # This file is created by first class GCS deps. If this file exists, + # clear the entire directory and download with this script instead + if os.path.exists(stamp) and not glob.glob( + os.path.join(sysroot, ".*_is_first_class_gcs")): + with open(stamp) as s: + if s.read() == url: + return + print("Installing Debian %s %s root image: %s" % + (target_platform, target_arch, sysroot)) + if os.path.isdir(sysroot): + shutil.rmtree(sysroot) + os.mkdir(sysroot) + tarball = os.path.join(sysroot, tarball_filename) + print("Downloading %s" % url) + sys.stdout.flush() + sys.stderr.flush() + for _ in range(3): + try: + response = urlopen(url) + with open(tarball, "wb") as f: + f.write(response.read()) + break + except Exception: # Ignore exceptions. + pass + else: + raise Error("Failed to download %s" % url) + sha256sum = GetSha256(tarball) + if sha256sum != tarball_sha256sum: + raise Error("Tarball sha256sum is wrong." + "Expected %s, actual: %s" % (tarball_sha256sum, sha256sum)) + subprocess.check_call(["tar", "mxf", tarball, "-C", sysroot]) + os.remove(tarball) + with open(stamp, "w") as s: + s.write(url) +if __name__ == "__main__": try: - response = urlopen(url) - with open(tarball, "wb") as f: - f.write(response.read()) - break - except Exception: # Ignore exceptions. - pass - else: - raise Error('Failed to download %s' % url) - sha1sum = GetSha1(tarball) - if sha1sum != tarball_sha1sum: - raise Error('Tarball sha1sum is wrong.' - 'Expected %s, actual: %s' % (tarball_sha1sum, sha1sum)) - subprocess.check_call(['tar', 'xf', tarball, '-C', sysroot]) - os.remove(tarball) - - with open(stamp, 'w') as s: - s.write(url) - - -if __name__ == '__main__': - try: - sys.exit(main(sys.argv[1:])) - except Error as e: - sys.stderr.write(str(e) + '\n') - sys.exit(1) + sys.exit(main(sys.argv[1:])) + except Error as e: + sys.stderr.write(str(e) + "\n") + sys.exit(1) diff --git a/engine/src/build/linux/sysroot_scripts/sysroots.json b/engine/src/build/linux/sysroot_scripts/sysroots.json index 462530c38fa96..d6093b007118d 100644 --- a/engine/src/build/linux/sysroot_scripts/sysroots.json +++ b/engine/src/build/linux/sysroot_scripts/sysroots.json @@ -1,27 +1,50 @@ { - "sid_amd64": { - "Sha1Sum": "79a7783607a69b6f439add567eb6fcb48877085c", - "SysrootDir": "debian_sid_amd64-sysroot", - "Tarball": "debian_sid_amd64_sysroot.tar.xz" + "bullseye_amd64": { + "Sha256Sum": "36a164623d03f525e3dfb783a5e9b8a00e98e1ddd2b5cff4e449bd016dd27e50", + "SysrootDir": "debian_bullseye_amd64-sysroot", + "Tarball": "debian_bullseye_amd64_sysroot.tar.xz", + "URL": "https://commondatastorage.googleapis.com/chrome-linux-sysroot" }, - "sid_arm": { - "Sha1Sum": "3fcc1d4e44127006318371002a0f421a4fde2ab4", - "SysrootDir": "debian_sid_arm-sysroot", - "Tarball": "debian_sid_arm_sysroot.tar.xz" + "bullseye_arm64": { + "Sha256Sum": "2f915d821eec27515c0c6d21b69898e23762908d8d7ccc1aa2a8f5f25e8b7e18", + "SysrootDir": "debian_bullseye_arm64-sysroot", + "Tarball": "debian_bullseye_arm64_sysroot.tar.xz", + "URL": "https://commondatastorage.googleapis.com/chrome-linux-sysroot" }, - "sid_arm64": { - "Sha1Sum": "2cade9ee1ca9186b28ac768c19e1ab7c45ee0600", - "SysrootDir": "debian_sid_arm64-sysroot", - "Tarball": "debian_sid_arm64_sysroot.tar.xz" + "bullseye_armhf": { + "Sha256Sum": "47b3a0b161ca011b2b33d4fc1ef6ef269b8208a0b7e4c900700c345acdfd1814", + "SysrootDir": "debian_bullseye_armhf-sysroot", + "Tarball": "debian_bullseye_armhf_sysroot.tar.xz", + "URL": "https://commondatastorage.googleapis.com/chrome-linux-sysroot" }, - "sid_armel": { - "Sha1Sum": "72aecf0a5603919b41cfb0766fe511c34933e915", - "SysrootDir": "debian_sid_armel-sysroot", - "Tarball": "debian_sid_armel_sysroot.tar.xz" + "bullseye_i386": { + "Sha256Sum": "63f0e5128b84f7b0421956a4a40affa472be8da0e58caf27e9acbc84072daee7", + "SysrootDir": "debian_bullseye_i386-sysroot", + "Tarball": "debian_bullseye_i386_sysroot.tar.xz", + "URL": "https://commondatastorage.googleapis.com/chrome-linux-sysroot" }, - "sid_i386": { - "Sha1Sum": "e954fb79fcddf64bc39d721c9a5b652b6da549fa", - "SysrootDir": "debian_sid_i386-sysroot", - "Tarball": "debian_sid_i386_sysroot.tar.xz" + "bullseye_mips64el": { + "Sha256Sum": "58f8594905bfe0fa0b7c7a7e882f01725455d07b7161e6539de5169867009b9f", + "SysrootDir": "debian_bullseye_mips64el-sysroot", + "Tarball": "debian_bullseye_mips64el_sysroot.tar.xz", + "URL": "https://commondatastorage.googleapis.com/chrome-linux-sysroot" + }, + "bullseye_mipsel": { + "Sha256Sum": "2098b42d9698f5c8a15683abbf6d424b7f56200bd2488198e15f31554acb391f", + "SysrootDir": "debian_bullseye_mipsel-sysroot", + "Tarball": "debian_bullseye_mipsel_sysroot.tar.xz", + "URL": "https://commondatastorage.googleapis.com/chrome-linux-sysroot" + }, + "bullseye_ppc64el": { + "Sha256Sum": "485f85dde52830594f7b58ad53b9ca8ff6088b397cacb52aff682be5ffd6f198", + "SysrootDir": "debian_bullseye_ppc64el-sysroot", + "Tarball": "debian_bullseye_ppc64el_sysroot.tar.xz", + "URL": "https://commondatastorage.googleapis.com/chrome-linux-sysroot" + }, + "trixie_riscv64": { + "Sha256Sum": "5c8ef4067f41a625d81113a6292180acf4ef49a2ffe015c2779123c133b8e250", + "SysrootDir": "debian_trixie_riscv64-sysroot", + "Tarball": "debian_trixie_riscv64_sysroot.tar.xz", + "URL": "https://commondatastorage.googleapis.com/chrome-linux-sysroot" } } diff --git a/engine/src/build/toolchain/android/BUILD.gn b/engine/src/build/toolchain/android/BUILD.gn index bbce14bdc6719..4bd89c1046a99 100644 --- a/engine/src/build/toolchain/android/BUILD.gn +++ b/engine/src/build/toolchain/android/BUILD.gn @@ -40,7 +40,8 @@ template("android_toolchain") { remote_wrapper = "" if (host_os == "linux") { remote_wrapper = - rebase_path("//flutter/build/rbe/remote_wrapper_linux.sh", root_build_dir) + rebase_path("//flutter/build/rbe/remote_wrapper_linux.sh", + root_build_dir) } else if (host_os == "mac") { remote_wrapper = rebase_path("//flutter/build/rbe/remote_wrapper.sh", root_build_dir) @@ -50,10 +51,10 @@ template("android_toolchain") { local_wrapper = rebase_path("//flutter/build/rbe/local_wrapper.sh", root_build_dir) compiler_args = rewrapper_command + [ - "--remote_wrapper=$remote_wrapper", - "--local_wrapper=$local_wrapper", - "--labels=type=compile,compiler=clang,lang=cpp ", - ] + "--remote_wrapper=$remote_wrapper", + "--local_wrapper=$local_wrapper", + "--labels=type=compile,compiler=clang,lang=cpp ", + ] assembler_prefix = "" compiler_prefix = string_join(" ", compiler_args) link_prefix = "" @@ -152,3 +153,7 @@ android_toolchains_helper("arm64_apilevel26") { android_api_level = 26 } } + +android_toolchains_helper("riscv64") { + toolchain_cpu = "riscv64" +} diff --git a/engine/src/build/toolchain/ccache.gni b/engine/src/build/toolchain/ccache.gni index e3a848c64faa5..1a963a025149d 100644 --- a/engine/src/build/toolchain/ccache.gni +++ b/engine/src/build/toolchain/ccache.gni @@ -19,7 +19,7 @@ # speed, you can do: # export CCACHE_CPP2=yes -import("//build/toolchain/rbe.gni") # for use_rbe +import("//build/toolchain/rbe.gni") # for use_rbe declare_args() { # Set to true to enable ccache. Probably doesn't work on windows. diff --git a/engine/src/build/toolchain/darwin/swiftc.py b/engine/src/build/toolchain/darwin/swiftc.py index 6398115e82df3..d2123f06f3ed1 100755 --- a/engine/src/build/toolchain/darwin/swiftc.py +++ b/engine/src/build/toolchain/darwin/swiftc.py @@ -444,6 +444,14 @@ def invoke_swift_compiler(args, extras_args, build_cache_dir, output_file_map): args.file_prefix_map, ]) + # Since iOS/macOS 26, building host engine requires setting -plugin-path for the `testing` plugin under XcodeDefault.xctoolchain. + testing_plugin_path = os.path.join(args.mac_host_toolchain_path, 'usr/lib/swift/host/plugins/testing') + if os.path.isdir(testing_plugin_path): + swiftc_args.extend([ + '-plugin-path', + testing_plugin_path, + ]) + swift_toolchain_path = args.swift_toolchain_path if not swift_toolchain_path: swift_toolchain_path = os.path.join(os.path.dirname(args.sdk_path), @@ -586,6 +594,10 @@ def main(args): default='', help='path to the Swift toolchain to use') + parser.add_argument('--mac-host-toolchain-path', + default='', + help='path to the mac host toolchain to use') + parser.add_argument('--whole-module-optimization', default=False, action='store_true', diff --git a/engine/src/build/toolchain/fuchsia/BUILD.gn b/engine/src/build/toolchain/fuchsia/BUILD.gn index 729001c533dd6..cd4e4e433aef0 100644 --- a/engine/src/build/toolchain/fuchsia/BUILD.gn +++ b/engine/src/build/toolchain/fuchsia/BUILD.gn @@ -2,9 +2,9 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/toolchain/ccache.gni") import("//build/toolchain/clang.gni") import("//build/toolchain/rbe.gni") -import("//build/toolchain/ccache.gni") import("//build/toolchain/toolchain.gni") if (use_rbe) { @@ -25,7 +25,8 @@ toolchain("fuchsia") { assert(target_cpu == "x64" || target_cpu == "arm64", "We currently only support 'x64' and 'arm64' targets for fuchsia.") toolchain_bin = - rebase_path("$buildtools_path/${host_os}-${host_cpu}/clang/bin", root_out_dir) + rebase_path("$buildtools_path/${host_os}-${host_cpu}/clang/bin", + root_out_dir) fuchsia_sdk = rebase_path("//fuchsia/sdk/$host_os", root_out_dir) # We can't do string interpolation ($ in strings) on things with dots in diff --git a/engine/src/build/toolchain/linux/BUILD.gn b/engine/src/build/toolchain/linux/BUILD.gn index 218a4a7895b48..b6db422f179cb 100644 --- a/engine/src/build/toolchain/linux/BUILD.gn +++ b/engine/src/build/toolchain/linux/BUILD.gn @@ -18,10 +18,10 @@ if (use_rbe) { local_wrapper = rebase_path("//flutter/build/rbe/local_wrapper.sh", root_build_dir) compiler_args = rewrapper_command + [ - "--remote_wrapper=$remote_wrapper", - "--local_wrapper=$local_wrapper", - "--labels=type=compile,compiler=clang,lang=cpp ", - ] + "--remote_wrapper=$remote_wrapper", + "--local_wrapper=$local_wrapper", + "--labels=type=compile,compiler=clang,lang=cpp ", + ] compiler_prefix = string_join(" ", compiler_args) link_prefix = "" } else if (use_ccache) { diff --git a/engine/src/build/toolchain/mac/BUILD.gn b/engine/src/build/toolchain/mac/BUILD.gn index 853be3b226d18..d882a796756bd 100644 --- a/engine/src/build/toolchain/mac/BUILD.gn +++ b/engine/src/build/toolchain/mac/BUILD.gn @@ -6,10 +6,10 @@ assert(host_os == "mac") import("//build/config/darwin/darwin_sdk.gni") import("//build/config/sysroot.gni") +import("//build/toolchain/ccache.gni") import("//build/toolchain/clang.gni") import("//build/toolchain/clang_static_analyzer.gni") import("//build/toolchain/rbe.gni") -import("//build/toolchain/ccache.gni") import("//build/toolchain/toolchain.gni") declare_args() { @@ -45,7 +45,7 @@ if (swift_whole_module_optimization == -1) { # would be to have inputs to tools (https://crbug.com/621119). get_tool_mtime = rebase_path("//build/toolchain/darwin/get_tool_mtime.py") tool_versions = exec_script( - get_tool_mtime, # "get_tool_mtime.py", + get_tool_mtime, # "get_tool_mtime.py", rebase_path( [ "//build/toolchain/darwin/swift_const_gather_protocols.json", @@ -73,13 +73,15 @@ if (use_ccache) { local_wrapper = rebase_path("//flutter/build/rbe/local_wrapper.sh", root_build_dir) compiler_args = rewrapper_command + [ - "--remote_wrapper=$remote_wrapper", - "--local_wrapper=$local_wrapper", - "--labels=type=compile,compiler=clang,lang=cpp ", - ] + "--remote_wrapper=$remote_wrapper", + "--local_wrapper=$local_wrapper", + "--labels=type=compile,compiler=clang,lang=cpp ", + ] cxx_prefix = string_join(" ", compiler_args) + # RBE does not support objc out of the box. objc_prefix = "" + # Remote links time out without reporting an actionable error. link_prefix = "" } else { @@ -95,7 +97,8 @@ template("mac_toolchain") { assert(defined(invoker.asm), "mac_toolchain() must specify a \"asm\" value") assert(defined(invoker.cc), "mac_toolchain() must specify a \"cc\" value") assert(defined(invoker.cxx), "mac_toolchain() must specify a \"cxx\" value") - assert(defined(invoker.objc), "mac_toolchain() must specify a \"objc\" value") + assert(defined(invoker.objc), + "mac_toolchain() must specify a \"objc\" value") assert(defined(invoker.ld), "mac_toolchain() must specify a \"ld\" value") assert(defined(invoker.ar), "mac_toolchain() must specify a \"ar\" value") assert(defined(invoker.toolchain_cpu), @@ -160,7 +163,9 @@ template("mac_toolchain") { command = "$cxx -MMD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{module_deps_no_self}} -fmodule-name={{label_name}} -c -x c++ -Xclang -emit-module {{source}} -o {{output}}" depsformat = "gcc" description = "CXX_MODULE {{output}}" - outputs = [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.pcm" ] + outputs = [ + "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.pcm", + ] } tool("asm") { @@ -199,7 +204,8 @@ template("mac_toolchain") { depfile = "{{target_out_dir}}/{{module_name}}.d" depsformat = "gcc" - _header_path = "{{target_gen_dir}}/{{target_output_name}}/{{target_output_name}}.h" + _header_path = + "{{target_gen_dir}}/{{target_output_name}}/{{target_output_name}}.h" _output_dir = "{{target_out_dir}}/{{label_name}}" outputs = [ @@ -277,6 +283,11 @@ template("mac_toolchain") { rebase_path(swift_toolchain_path, root_build_dir) } + if (mac_host_toolchain_path != "") { + _extra_flags += " --mac-host-toolchain-path " + + rebase_path(mac_host_toolchain_path, root_build_dir) + } + if (swift_whole_module_optimization) { _extra_flags += " --whole-module-optimization" } @@ -433,7 +444,8 @@ if (is_ios) { is_clang = true sysroot_rel = rebase_path(ios_sdk_path, root_build_dir) - sysroot_flags = "-isysroot $sysroot_rel -miphoneos-version-min=$ios_deployment_target" + sysroot_flags = + "-isysroot $sysroot_rel -miphoneos-version-min=$ios_deployment_target" } # Toolchain used for iOS simulator targets (arm64). diff --git a/engine/src/build/toolchain/qnx/BUILD.gn b/engine/src/build/toolchain/qnx/BUILD.gn index f99ce16a606a2..87fd97148116b 100644 --- a/engine/src/build/toolchain/qnx/BUILD.gn +++ b/engine/src/build/toolchain/qnx/BUILD.gn @@ -19,4 +19,3 @@ gcc_toolchain("qnx") { toolchain_os = "linux" is_clang = false } - diff --git a/engine/src/build/toolchain/rbe.gni b/engine/src/build/toolchain/rbe.gni index aca1a5b202ecd..44ed705bedaed 100644 --- a/engine/src/build/toolchain/rbe.gni +++ b/engine/src/build/toolchain/rbe.gni @@ -44,32 +44,20 @@ rewrapper_command = [ "--exec_root=$rbe_exec_root", ] if (rbe_server_address != "") { - rewrapper_command += [ - "--server_address=$rbe_server_address", - ] + rewrapper_command += [ "--server_address=$rbe_server_address" ] } if (rbe_exec_strategy != "") { - rewrapper_command += [ - "--exec_strategy=$rbe_exec_strategy", - ] + rewrapper_command += [ "--exec_strategy=$rbe_exec_strategy" ] } if (rbe_dial_timeout != "") { - rewrapper_command += [ - "--dial_timeout=$rbe_dial_timeout", - ] + rewrapper_command += [ "--dial_timeout=$rbe_dial_timeout" ] } if (rbe_exec_timeout != "") { - rewrapper_command += [ - "--exec_timeout=$rbe_exec_timeout", - ] + rewrapper_command += [ "--exec_timeout=$rbe_exec_timeout" ] } if (rbe_reclient_timeout != "") { - rewrapper_command += [ - "--reclient_timeout=$rbe_reclient_timeout", - ] + rewrapper_command += [ "--reclient_timeout=$rbe_reclient_timeout" ] } if (rbe_platform != "") { - rewrapper_command += [ - "--platform=$rbe_platform", - ] + rewrapper_command += [ "--platform=$rbe_platform" ] } diff --git a/engine/src/build/toolchain/win/BUILD.gn b/engine/src/build/toolchain/win/BUILD.gn index 006c80560afc5..45a98b1ecd64b 100644 --- a/engine/src/build/toolchain/win/BUILD.gn +++ b/engine/src/build/toolchain/win/BUILD.gn @@ -35,9 +35,8 @@ assert(is_win) tool_wrapper_path = rebase_path("tool_wrapper.py", root_build_dir) if (use_rbe) { - compiler_args = rewrapper_command + [ - "--labels=type=compile,compiler=clang-cl,lang=cpp ", - ] + compiler_args = rewrapper_command + + [ "--labels=type=compile,compiler=clang-cl,lang=cpp " ] compiler_prefix = string_join(" ", compiler_args) asm_prefix = " " } else { @@ -115,7 +114,9 @@ template("msvc_toolchain") { pdbname = "{{target_out_dir}}/{{label_name}}_c.pdb" depsformat = "msvc" description = "CC {{output}}" - outputs = [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj" ] + outputs = [ + "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj", + ] # Label names may have spaces in them so the pdbname must be quoted. The # source and output don't need to be quoted because GN knows they're a @@ -138,7 +139,9 @@ template("msvc_toolchain") { depsformat = "msvc" description = "CXX {{output}}" - outputs = [ "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj" ] + outputs = [ + "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.obj", + ] # See comment in CC tool about quoting. command = "$env_wrapper$cl /c {{source}} /Fo{{output}} $flags /nologo /showIncludes:user $sys_include_flags{{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} /Fd\"$pdbname\"" diff --git a/engine/src/flutter/.ci.yaml b/engine/src/flutter/.ci.yaml index d0710747ff5c9..582d3312a843c 100644 --- a/engine/src/flutter/.ci.yaml +++ b/engine/src/flutter/.ci.yaml @@ -60,7 +60,6 @@ targets: enabled_branches: - master recipe: engine_v2/engine_v2 - bringup: true # LUCI failing KVM access https://github.com/flutter/flutter/issues/170529 properties: config_name: linux_android_emulator dependencies: >- diff --git a/engine/src/flutter/.clang-format b/engine/src/flutter/.clang-format index 3c73f32a33408..89456838b924c 100644 --- a/engine/src/flutter/.clang-format +++ b/engine/src/flutter/.clang-format @@ -5,7 +5,7 @@ BasedOnStyle: Chromium # 'vector >' in existing files gets formatted to # 'vector>'. ('Auto' means that clang-format will only use # 'int>>' if the file already contains at least one such instance.) -Standard: Cpp11 +Standard: c++20 SortIncludes: true --- Language: ObjC diff --git a/engine/src/flutter/.github/PULL_REQUEST_TEMPLATE.md b/engine/src/flutter/.github/PULL_REQUEST_TEMPLATE.md index 854dee303a729..b14fb2817325a 100644 --- a/engine/src/flutter/.github/PULL_REQUEST_TEMPLATE.md +++ b/engine/src/flutter/.github/PULL_REQUEST_TEMPLATE.md @@ -23,7 +23,7 @@ If you need help, consider asking for advice on the #hackers-new channel on [Dis [test-exempt]: https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md [C++, Objective-C, Java style guides]: https://github.com/flutter/flutter/blob/main/engine/src/flutter/CONTRIBUTING.md#style -[testing the engine]: https://github.com/flutter/flutter/blob/main/engine/src/flutter/docs/testing/Testing-the-engine.md +[testing the engine]: https://github.com/flutter/flutter/blob/main/docs/engine/testing/Testing-the-engine.md [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/master/docs/contributing/Tree-hygiene.md#handling-breaking-changes diff --git a/engine/src/flutter/BUILD.gn b/engine/src/flutter/BUILD.gn index 1258d615fd6a4..ec7b55d24f152 100644 --- a/engine/src/flutter/BUILD.gn +++ b/engine/src/flutter/BUILD.gn @@ -78,10 +78,12 @@ group("flutter") { if (!is_qnx) { public_deps = [ - ":unittests", "//flutter/shell/platform/embedder:flutter_engine", "//flutter/sky", ] + if (enable_unittests) { + public_deps += [ ":unittests" ] + } } # Ensure the example for a sample embedder compiles. @@ -211,6 +213,7 @@ group("unittests") { "//flutter/runtime:no_dart_plugin_registrant_unittests", "//flutter/runtime:runtime_unittests", "//flutter/shell/common:shell_unittests", + "//flutter/shell/geometry:geometry_unittests", "//flutter/shell/platform/embedder:embedder_a11y_unittests", "//flutter/shell/platform/embedder:embedder_proctable_unittests", "//flutter/shell/platform/embedder:embedder_unittests", diff --git a/engine/src/flutter/README.md b/engine/src/flutter/README.md deleted file mode 100644 index f11da0bb0e8fc..0000000000000 --- a/engine/src/flutter/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Flutter Engine - -The Flutter Engine is a portable runtime for hosting -[Flutter](https://flutter.dev) applications. It implements Flutter's core -libraries, including animation and graphics, file and network I/O, -accessibility support, plugin architecture, and a Dart runtime and compile -toolchain. Most developers will interact with Flutter via the [Flutter -Framework](https://github.com/flutter/flutter), which provides a modern, -reactive framework, and a rich set of platform, layout and foundation widgets. - -More tooling is available to make development experiences easier: - -| Target | Tool | -| ----------------- | ----------------------------------------------- | -| Web | [`felt`](lib/web_ui/README.md#using-felt) | -| Mobile or Desktop | [`et`](tools/engine_tool/README.md#engine-tool) | - -To learn about running tests, see [testing the engine](docs/testing/Testing-the-engine.md). diff --git a/engine/src/flutter/assets/native_assets.cc b/engine/src/flutter/assets/native_assets.cc index afdf7ad86f549..36a56d6dbb677 100644 --- a/engine/src/flutter/assets/native_assets.cc +++ b/engine/src/flutter/assets/native_assets.cc @@ -17,6 +17,10 @@ namespace flutter { #define kTargetArchitectureName "ia32" #elif defined(FML_ARCH_CPU_X86_64) #define kTargetArchitectureName "x64" +#elif defined(FML_ARCH_CPU_RISCV32) +#define kTargetArchitectureName "riscv32" +#elif defined(FML_ARCH_CPU_RISCV64) +#define kTargetArchitectureName "riscv64" #else #error Target architecture detection failed. #endif diff --git a/engine/src/flutter/build/secondary/flutter/third_party/flatbuffers/BUILD.gn b/engine/src/flutter/build/secondary/flutter/third_party/flatbuffers/BUILD.gn index a5aba290a338d..a760addb04aa3 100644 --- a/engine/src/flutter/build/secondary/flutter/third_party/flatbuffers/BUILD.gn +++ b/engine/src/flutter/build/secondary/flutter/third_party/flatbuffers/BUILD.gn @@ -15,11 +15,12 @@ source_set("flatbuffers") { "$_src_root/include/flatbuffers/allocator.h", "$_src_root/include/flatbuffers/array.h", "$_src_root/include/flatbuffers/base.h", - "$_src_root/include/flatbuffers/bfbs_generator.h", "$_src_root/include/flatbuffers/buffer.h", "$_src_root/include/flatbuffers/buffer_ref.h", + "$_src_root/include/flatbuffers/code_generator.h", "$_src_root/include/flatbuffers/default_allocator.h", "$_src_root/include/flatbuffers/detached_buffer.h", + "$_src_root/include/flatbuffers/file_manager.h", "$_src_root/include/flatbuffers/flatbuffer_builder.h", "$_src_root/include/flatbuffers/flatbuffers.h", "$_src_root/include/flatbuffers/flex_flat_util.h", @@ -62,18 +63,28 @@ executable("flatc") { "$_src_root/grpc/src/compiler/swift_generator.h", "$_src_root/grpc/src/compiler/ts_generator.cc", "$_src_root/grpc/src/compiler/ts_generator.h", + "$_src_root/include/codegen/idl_namer.h", + "$_src_root/include/codegen/namer.h", + "$_src_root/include/codegen/python.cc", + "$_src_root/include/codegen/python.h", "$_src_root/include/flatbuffers/code_generators.h", "$_src_root/src/annotated_binary_text_gen.cpp", "$_src_root/src/annotated_binary_text_gen.h", "$_src_root/src/bfbs_gen.h", "$_src_root/src/bfbs_gen_lua.cpp", "$_src_root/src/bfbs_gen_lua.h", + "$_src_root/src/bfbs_gen_nim.cpp", + "$_src_root/src/bfbs_gen_nim.h", "$_src_root/src/bfbs_namer.h", "$_src_root/src/binary_annotator.cpp", "$_src_root/src/binary_annotator.h", "$_src_root/src/code_generators.cpp", + "$_src_root/src/file_binary_writer.cpp", + "$_src_root/src/file_name_saving_file_manager.cpp", + "$_src_root/src/file_writer.cpp", "$_src_root/src/flatc.cpp", "$_src_root/src/flatc_main.cpp", + "$_src_root/src/idl_gen_binary.cpp", "$_src_root/src/idl_gen_cpp.cpp", "$_src_root/src/idl_gen_csharp.cpp", "$_src_root/src/idl_gen_dart.cpp", @@ -83,8 +94,8 @@ executable("flatc") { "$_src_root/src/idl_gen_java.cpp", "$_src_root/src/idl_gen_json_schema.cpp", "$_src_root/src/idl_gen_kotlin.cpp", + "$_src_root/src/idl_gen_kotlin_kmp.cpp", "$_src_root/src/idl_gen_lobster.cpp", - "$_src_root/src/idl_gen_lua.cpp", "$_src_root/src/idl_gen_php.cpp", "$_src_root/src/idl_gen_python.cpp", "$_src_root/src/idl_gen_rust.cpp", diff --git a/engine/src/flutter/build/secondary/flutter/third_party/libcxx/BUILD.gn b/engine/src/flutter/build/secondary/flutter/third_party/libcxx/BUILD.gn index c2505f5e02c26..51abaf3a3ee7a 100644 --- a/engine/src/flutter/build/secondary/flutter/third_party/libcxx/BUILD.gn +++ b/engine/src/flutter/build/secondary/flutter/third_party/libcxx/BUILD.gn @@ -4,7 +4,8 @@ config("libcxx_config") { defines = [ "_LIBCPP_DISABLE_AVAILABILITY=1" ] - include_dirs = [ "//flutter/build/secondary/flutter/third_party/libcxx/config" ] + include_dirs = + [ "//flutter/build/secondary/flutter/third_party/libcxx/config" ] } config("src_include") { @@ -71,7 +72,7 @@ source_set("libcxx") { deps = [ "//flutter/third_party/libcxxabi", - "//flutter/third_party/llvm_libc" + "//flutter/third_party/llvm_libc", ] # TODO(goderbauer): remove when all sources build with LTO for android_arm64 and android_x64. diff --git a/engine/src/flutter/build/secondary/flutter/third_party/re2/BUILD.gn b/engine/src/flutter/build/secondary/flutter/third_party/re2/BUILD.gn index 06b42ee1aa5c0..f97c77ae77382 100644 --- a/engine/src/flutter/build/secondary/flutter/third_party/re2/BUILD.gn +++ b/engine/src/flutter/build/secondary/flutter/third_party/re2/BUILD.gn @@ -22,8 +22,8 @@ source_set("re2") { "$re2_base/re2/onepass.cc", "$re2_base/re2/parse.cc", "$re2_base/re2/perl_groups.cc", - "$re2_base/re2/prefilter_tree.cc", "$re2_base/re2/prefilter.cc", + "$re2_base/re2/prefilter_tree.cc", "$re2_base/re2/prog.cc", "$re2_base/re2/re2.cc", "$re2_base/re2/re2.h", @@ -42,8 +42,8 @@ source_set("re2") { "//flutter/third_party/abseil-cpp/absl/base", "//flutter/third_party/abseil-cpp/absl/container:flat_hash_map", "//flutter/third_party/abseil-cpp/absl/container:flat_hash_set", - "//flutter/third_party/abseil-cpp/absl/log:check", "//flutter/third_party/abseil-cpp/absl/log", + "//flutter/third_party/abseil-cpp/absl/log:check", "//flutter/third_party/abseil-cpp/absl/strings", ] } diff --git a/engine/src/flutter/build/secondary/flutter/third_party/vulkan_memory_allocator/BUILD.gn b/engine/src/flutter/build/secondary/flutter/third_party/vulkan_memory_allocator/BUILD.gn index 2cac60a4c9d11..e3427cb814c44 100644 --- a/engine/src/flutter/build/secondary/flutter/third_party/vulkan_memory_allocator/BUILD.gn +++ b/engine/src/flutter/build/secondary/flutter/third_party/vulkan_memory_allocator/BUILD.gn @@ -5,7 +5,8 @@ # Custom GN integration for VulkanMemoryAllocator. declare_args() { - vma_vulkan_headers_dir = "//flutter/third_party/vulkan-deps/vulkan-headers/src" + vma_vulkan_headers_dir = + "//flutter/third_party/vulkan-deps/vulkan-headers/src" } config("vulkan_memory_allocator_config") { diff --git a/engine/src/flutter/build/secondary/third_party/protobuf/BUILD.gn b/engine/src/flutter/build/secondary/third_party/protobuf/BUILD.gn index fdea7ebe52537..3464a6eeb0b1e 100644 --- a/engine/src/flutter/build/secondary/third_party/protobuf/BUILD.gn +++ b/engine/src/flutter/build/secondary/third_party/protobuf/BUILD.gn @@ -69,7 +69,7 @@ config("protobuf_warnings") { "-Wno-sign-compare", "-Wno-unused-function", "-Wno-unused-private-field", - "-Wno-deprecated-declarations", # Mac deprecated sprintf + "-Wno-deprecated-declarations", # Mac deprecated sprintf ] } } @@ -530,7 +530,9 @@ if (current_toolchain == host_toolchain) { } executable("protoc") { - sources = [ "//flutter/third_party/protobuf/src/google/protobuf/compiler/main.cc" ] + sources = [ + "//flutter/third_party/protobuf/src/google/protobuf/compiler/main.cc", + ] deps = [ ":protoc_lib" ] } } diff --git a/engine/src/flutter/build/secondary/third_party/protobuf/proto_library.gni b/engine/src/flutter/build/secondary/third_party/protobuf/proto_library.gni index ad489717fced5..ba8ae52aeff9f 100644 --- a/engine/src/flutter/build/secondary/third_party/protobuf/proto_library.gni +++ b/engine/src/flutter/build/secondary/third_party/protobuf/proto_library.gni @@ -138,7 +138,7 @@ template("proto_library") { assert(!generate_go || !generate_go_grpc, "Only one of generate_go or generate_go_grpc can be enabled!") - not_needed(invoker, ["propagate_imports_configs"]) + not_needed(invoker, [ "propagate_imports_configs" ]) if (defined(invoker.generator_plugin_label)) { # Straightforward way to get the name of executable doesn't work because @@ -218,10 +218,8 @@ template("proto_library") { assert(!defined(invoker.generate_descriptor)) descriptor_set_path_ = "${target_out_dir}/${target_name}.desc.pb" } else if (defined(invoker.generate_descriptor)) { - descriptor_set_path_ = - "$root_gen_dir/" + - rebase_path(proto_out_dir, "//") + - invoker.generate_descriptor + descriptor_set_path_ = "$root_gen_dir/" + rebase_path(proto_out_dir, "//") + + invoker.generate_descriptor } if (descriptor_set_path_ != "") { protogens += [ descriptor_set_path_ ] @@ -255,7 +253,7 @@ template("proto_library") { } if (descriptor_set_path_ != "") { # Descriptor-only protobuf targets do not use |proto_path| - not_needed(["proto_path"]) + not_needed([ "proto_path" ]) } } @@ -471,8 +469,7 @@ template("proto_library") { # Allows generated protobufs to use #include subpaths rooted from # |proto_out_dir|. - include_dirs = [ "${root_gen_dir}/" + - rebase_path(proto_out_dir, "//") ] + include_dirs = [ "${root_gen_dir}/" + rebase_path(proto_out_dir, "//") ] } } } diff --git a/engine/src/flutter/build/secondary/third_party/shaderc_flutter/BUILD.gn b/engine/src/flutter/build/secondary/third_party/shaderc_flutter/BUILD.gn index aa448301d2e79..699922b3cee4d 100644 --- a/engine/src/flutter/build/secondary/third_party/shaderc_flutter/BUILD.gn +++ b/engine/src/flutter/build/secondary/third_party/shaderc_flutter/BUILD.gn @@ -11,8 +11,9 @@ config("shaderc_util_config") { source_set("shaderc_util_flutter") { public_configs = [ ":shaderc_util_config" ] - configs += - [ "//flutter/third_party/vulkan-deps/spirv-tools/src:spvtools_public_config" ] + configs += [ + "//flutter/third_party/vulkan-deps/spirv-tools/src:spvtools_public_config", + ] public_deps = [ "//flutter/third_party/vulkan-deps/glslang/src:glslang_sources", @@ -61,8 +62,9 @@ source_set("shaderc_flutter") { public_configs = [ ":shaderc_config" ] - configs += - [ "//flutter/third_party/vulkan-deps/spirv-tools/src:spvtools_public_config" ] + configs += [ + "//flutter/third_party/vulkan-deps/spirv-tools/src:spvtools_public_config", + ] deps = [ ":shaderc_util_flutter" ] diff --git a/engine/src/flutter/build/secondary/third_party/vulkan_validation_layers/BUILD.gn b/engine/src/flutter/build/secondary/third_party/vulkan_validation_layers/BUILD.gn index 01e6bca7de289..9769e77d86c05 100644 --- a/engine/src/flutter/build/secondary/third_party/vulkan_validation_layers/BUILD.gn +++ b/engine/src/flutter/build/secondary/third_party/vulkan_validation_layers/BUILD.gn @@ -61,8 +61,6 @@ config("vulkan_layer_config") { } vvl_sources = [ - "$vulkan_headers_dir/include/vulkan/vk_layer.h", - "$vulkan_headers_dir/include/vulkan/vulkan.h", "$_checkout_dir/layers/best_practices/best_practices_utils.cpp", "$_checkout_dir/layers/best_practices/best_practices_validation.h", "$_checkout_dir/layers/best_practices/bp_buffer.cpp", @@ -102,8 +100,8 @@ vvl_sources = [ "$_checkout_dir/layers/core_checks/cc_copy_blit_resolve.cpp", "$_checkout_dir/layers/core_checks/cc_descriptor.cpp", "$_checkout_dir/layers/core_checks/cc_device.cpp", - "$_checkout_dir/layers/core_checks/cc_device_memory.cpp", "$_checkout_dir/layers/core_checks/cc_device_generated_commands.cpp", + "$_checkout_dir/layers/core_checks/cc_device_memory.cpp", "$_checkout_dir/layers/core_checks/cc_drawdispatch.cpp", "$_checkout_dir/layers/core_checks/cc_external_object.cpp", "$_checkout_dir/layers/core_checks/cc_image.cpp", @@ -138,10 +136,10 @@ vvl_sources = [ "$_checkout_dir/layers/error_message/error_location.cpp", "$_checkout_dir/layers/error_message/error_location.h", "$_checkout_dir/layers/error_message/error_strings.h", + "$_checkout_dir/layers/error_message/log_message_type.h", "$_checkout_dir/layers/error_message/logging.cpp", "$_checkout_dir/layers/error_message/logging.h", "$_checkout_dir/layers/error_message/record_object.h", - "$_checkout_dir/layers/error_message/log_message_type.h", "$_checkout_dir/layers/error_message/spirv_logging.cpp", "$_checkout_dir/layers/error_message/spirv_logging.h", "$_checkout_dir/layers/external/inplace_function.h", @@ -149,20 +147,10 @@ vvl_sources = [ "$_checkout_dir/layers/external/vma/vma.cpp", "$_checkout_dir/layers/external/vma/vma.h", "$_checkout_dir/layers/external/xxhash.h", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_validation_cmd_common.cpp", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_validation_cmd_common.h", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_copy_buffer_to_image.cpp", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_copy_buffer_to_image.h", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_dispatch.cpp", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_dispatch.h", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_draw.cpp", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_draw.h", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_trace_rays.cpp", - "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_trace_rays.h", - "$_checkout_dir/layers/gpuav/core/gpuav_settings.h", "$_checkout_dir/layers/gpuav/core/gpuav.h", "$_checkout_dir/layers/gpuav/core/gpuav_constants.h", "$_checkout_dir/layers/gpuav/core/gpuav_record.cpp", + "$_checkout_dir/layers/gpuav/core/gpuav_settings.h", "$_checkout_dir/layers/gpuav/core/gpuav_setup.cpp", "$_checkout_dir/layers/gpuav/debug_printf/debug_printf.cpp", "$_checkout_dir/layers/gpuav/debug_printf/debug_printf.h", @@ -174,51 +162,61 @@ vvl_sources = [ "$_checkout_dir/layers/gpuav/descriptor_validation/gpuav_image_layout.h", "$_checkout_dir/layers/gpuav/error_message/gpuav_vuids.cpp", "$_checkout_dir/layers/gpuav/error_message/gpuav_vuids.h", - "$_checkout_dir/layers/gpuav/instrumentation/gpuav_shader_instrumentor.cpp", - "$_checkout_dir/layers/gpuav/instrumentation/gpuav_shader_instrumentor.h", "$_checkout_dir/layers/gpuav/instrumentation/gpuav_instrumentation.cpp", "$_checkout_dir/layers/gpuav/instrumentation/gpuav_instrumentation.h", - "$_checkout_dir/layers/gpuav/resources/gpuav_vulkan_objects.cpp", - "$_checkout_dir/layers/gpuav/resources/gpuav_vulkan_objects.h", + "$_checkout_dir/layers/gpuav/instrumentation/gpuav_shader_instrumentor.cpp", + "$_checkout_dir/layers/gpuav/instrumentation/gpuav_shader_instrumentor.h", "$_checkout_dir/layers/gpuav/resources/gpuav_shader_resources.h", "$_checkout_dir/layers/gpuav/resources/gpuav_state_trackers.cpp", "$_checkout_dir/layers/gpuav/resources/gpuav_state_trackers.h", - "$_checkout_dir/layers/gpuav/shaders/validation_cmd/draw_push_data.h", + "$_checkout_dir/layers/gpuav/resources/gpuav_vulkan_objects.cpp", + "$_checkout_dir/layers/gpuav/resources/gpuav_vulkan_objects.h", "$_checkout_dir/layers/gpuav/shaders/gpuav_error_codes.h", "$_checkout_dir/layers/gpuav/shaders/gpuav_error_header.h", "$_checkout_dir/layers/gpuav/shaders/gpuav_shaders_constants.h", - "$_checkout_dir/layers/gpuav/spirv/descriptor_indexing_oob_pass.cpp", - "$_checkout_dir/layers/gpuav/spirv/descriptor_indexing_oob_pass.h", + "$_checkout_dir/layers/gpuav/shaders/validation_cmd/draw_push_data.h", + "$_checkout_dir/layers/gpuav/spirv/buffer_device_address_pass.cpp", + "$_checkout_dir/layers/gpuav/spirv/buffer_device_address_pass.h", + "$_checkout_dir/layers/gpuav/spirv/debug_printf_pass.cpp", + "$_checkout_dir/layers/gpuav/spirv/debug_printf_pass.h", "$_checkout_dir/layers/gpuav/spirv/descriptor_class_general_buffer_pass.cpp", "$_checkout_dir/layers/gpuav/spirv/descriptor_class_general_buffer_pass.h", "$_checkout_dir/layers/gpuav/spirv/descriptor_class_texel_buffer_pass.cpp", "$_checkout_dir/layers/gpuav/spirv/descriptor_class_texel_buffer_pass.h", - "$_checkout_dir/layers/gpuav/spirv/buffer_device_address_pass.cpp", - "$_checkout_dir/layers/gpuav/spirv/buffer_device_address_pass.h", - "$_checkout_dir/layers/gpuav/spirv/post_process_descriptor_indexing_pass.cpp", - "$_checkout_dir/layers/gpuav/spirv/post_process_descriptor_indexing_pass.h", - "$_checkout_dir/layers/gpuav/spirv/vertex_attribute_fetch_oob.cpp", - "$_checkout_dir/layers/gpuav/spirv/vertex_attribute_fetch_oob.h", + "$_checkout_dir/layers/gpuav/spirv/descriptor_indexing_oob_pass.cpp", + "$_checkout_dir/layers/gpuav/spirv/descriptor_indexing_oob_pass.h", "$_checkout_dir/layers/gpuav/spirv/function_basic_block.cpp", "$_checkout_dir/layers/gpuav/spirv/function_basic_block.h", + "$_checkout_dir/layers/gpuav/spirv/inject_conditional_function_pass.cpp", + "$_checkout_dir/layers/gpuav/spirv/inject_conditional_function_pass.h", + "$_checkout_dir/layers/gpuav/spirv/inject_function_pass.cpp", + "$_checkout_dir/layers/gpuav/spirv/inject_function_pass.h", "$_checkout_dir/layers/gpuav/spirv/instruction.cpp", "$_checkout_dir/layers/gpuav/spirv/instruction.h", "$_checkout_dir/layers/gpuav/spirv/interface.h", "$_checkout_dir/layers/gpuav/spirv/link.h", "$_checkout_dir/layers/gpuav/spirv/module.cpp", "$_checkout_dir/layers/gpuav/spirv/module.h", - "$_checkout_dir/layers/gpuav/spirv/inject_conditional_function_pass.cpp", - "$_checkout_dir/layers/gpuav/spirv/inject_conditional_function_pass.h", - "$_checkout_dir/layers/gpuav/spirv/inject_function_pass.cpp", - "$_checkout_dir/layers/gpuav/spirv/inject_function_pass.h", "$_checkout_dir/layers/gpuav/spirv/pass.cpp", "$_checkout_dir/layers/gpuav/spirv/pass.h", + "$_checkout_dir/layers/gpuav/spirv/post_process_descriptor_indexing_pass.cpp", + "$_checkout_dir/layers/gpuav/spirv/post_process_descriptor_indexing_pass.h", "$_checkout_dir/layers/gpuav/spirv/ray_query_pass.cpp", "$_checkout_dir/layers/gpuav/spirv/ray_query_pass.h", - "$_checkout_dir/layers/gpuav/spirv/debug_printf_pass.cpp", - "$_checkout_dir/layers/gpuav/spirv/debug_printf_pass.h", "$_checkout_dir/layers/gpuav/spirv/type_manager.cpp", "$_checkout_dir/layers/gpuav/spirv/type_manager.h", + "$_checkout_dir/layers/gpuav/spirv/vertex_attribute_fetch_oob.cpp", + "$_checkout_dir/layers/gpuav/spirv/vertex_attribute_fetch_oob.h", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_copy_buffer_to_image.cpp", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_copy_buffer_to_image.h", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_dispatch.cpp", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_dispatch.h", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_draw.cpp", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_draw.h", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_trace_rays.cpp", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_trace_rays.h", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_validation_cmd_common.cpp", + "$_checkout_dir/layers/gpuav/validation_cmd/gpuav_validation_cmd_common.h", "$_checkout_dir/layers/layer_options.cpp", "$_checkout_dir/layers/layer_options.h", "$_checkout_dir/layers/object_tracker/object_lifetime_validation.h", @@ -348,20 +346,6 @@ vvl_sources = [ "$_checkout_dir/layers/vulkan/generated/best_practices_device_methods.h", "$_checkout_dir/layers/vulkan/generated/best_practices_instance_methods.h", "$_checkout_dir/layers/vulkan/generated/chassis.cpp", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_copy_buffer_to_image_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_copy_buffer_to_image_comp.h", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_dispatch_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_dispatch_comp.h", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_count_buffer_comp.h", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_count_buffer_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_first_instance_comp.h", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_first_instance_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_draw_indexed_indirect_index_buffer_comp.h", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_draw_indexed_indirect_index_buffer_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_draw_mesh_indirect_comp.h", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_draw_mesh_indirect_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_trace_rays_rgen.cpp", - "$_checkout_dir/layers/vulkan/generated/validation_cmd_trace_rays_rgen.h", "$_checkout_dir/layers/vulkan/generated/command_validation.cpp", "$_checkout_dir/layers/vulkan/generated/device_features.cpp", "$_checkout_dir/layers/vulkan/generated/device_features.h", @@ -378,20 +362,20 @@ vvl_sources = [ "$_checkout_dir/layers/vulkan/generated/error_location_helper.h", "$_checkout_dir/layers/vulkan/generated/feature_requirements_helper.cpp", "$_checkout_dir/layers/vulkan/generated/feature_requirements_helper.h", - "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_bindless_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_bindless_comp.h", - "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_non_bindless_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_non_bindless_comp.h", + "$_checkout_dir/layers/vulkan/generated/instrumentation_buffer_device_address_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/instrumentation_buffer_device_address_comp.h", "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_class_general_buffer_comp.cpp", "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_class_general_buffer_comp.h", "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_class_texel_buffer_comp.cpp", "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_class_texel_buffer_comp.h", - "$_checkout_dir/layers/vulkan/generated/instrumentation_buffer_device_address_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/instrumentation_buffer_device_address_comp.h", - "$_checkout_dir/layers/vulkan/generated/instrumentation_ray_query_comp.cpp", - "$_checkout_dir/layers/vulkan/generated/instrumentation_ray_query_comp.h", + "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_bindless_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_bindless_comp.h", + "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_non_bindless_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_non_bindless_comp.h", "$_checkout_dir/layers/vulkan/generated/instrumentation_post_process_descriptor_index_comp.cpp", "$_checkout_dir/layers/vulkan/generated/instrumentation_post_process_descriptor_index_comp.h", + "$_checkout_dir/layers/vulkan/generated/instrumentation_ray_query_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/instrumentation_ray_query_comp.h", "$_checkout_dir/layers/vulkan/generated/instrumentation_vertex_attribute_fetch_oob_vert.cpp", "$_checkout_dir/layers/vulkan/generated/instrumentation_vertex_attribute_fetch_oob_vert.h", "$_checkout_dir/layers/vulkan/generated/object_tracker.cpp", @@ -414,6 +398,20 @@ vvl_sources = [ "$_checkout_dir/layers/vulkan/generated/valid_enum_values.cpp", "$_checkout_dir/layers/vulkan/generated/valid_enum_values.h", "$_checkout_dir/layers/vulkan/generated/valid_flag_values.cpp", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_copy_buffer_to_image_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_copy_buffer_to_image_comp.h", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_count_buffer_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_count_buffer_comp.h", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_dispatch_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_dispatch_comp.h", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_draw_indexed_indirect_index_buffer_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_draw_indexed_indirect_index_buffer_comp.h", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_draw_mesh_indirect_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_draw_mesh_indirect_comp.h", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_first_instance_comp.cpp", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_first_instance_comp.h", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_trace_rays_rgen.cpp", + "$_checkout_dir/layers/vulkan/generated/validation_cmd_trace_rays_rgen.h", "$_checkout_dir/layers/vulkan/generated/validation_object.cpp", "$_checkout_dir/layers/vulkan/generated/validation_object_methods.h", "$_checkout_dir/layers/vulkan/generated/vk_api_version.h", @@ -428,6 +426,8 @@ vvl_sources = [ "$_checkout_dir/layers/vulkan/generated/vk_object_types.cpp", "$_checkout_dir/layers/vulkan/generated/vk_object_types.h", "$_checkout_dir/layers/vulkan/generated/vk_validation_error_messages.h", + "$vulkan_headers_dir/include/vulkan/vk_layer.h", + "$vulkan_headers_dir/include/vulkan/vulkan.h", ] layers = [ [ diff --git a/engine/src/flutter/build/secondary/third_party/zlib/google/BUILD.gn b/engine/src/flutter/build/secondary/third_party/zlib/google/BUILD.gn index 9e3f0348878fe..24eb9c9260501 100644 --- a/engine/src/flutter/build/secondary/third_party/zlib/google/BUILD.gn +++ b/engine/src/flutter/build/secondary/third_party/zlib/google/BUILD.gn @@ -7,6 +7,7 @@ config("compression_utils_config") { } group("compression_utils_portable") { - public_deps = [ "//flutter/third_party/zlib/google:compression_utils_portable" ] + public_deps = + [ "//flutter/third_party/zlib/google:compression_utils_portable" ] public_configs = [ ":compression_utils_config" ] } diff --git a/engine/src/flutter/ci/builders/linux_android_aot_engine.json b/engine/src/flutter/ci/builders/linux_android_aot_engine.json index 8d173794281b4..fd8f4729b3d28 100644 --- a/engine/src/flutter/ci/builders/linux_android_aot_engine.json +++ b/engine/src/flutter/ci/builders/linux_android_aot_engine.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ @@ -301,6 +299,98 @@ "flutter/shell/platform/android:analyze_snapshot" ] } + }, + { + "archives": [ + { + "name": "ci/android_profile_riscv64", + "type": "gcs", + "base_path": "out/ci/android_profile_riscv64/zip_archives/", + "include_paths": [ + "out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/artifacts.zip", + "out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/linux-x64.zip", + "out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/symbols.zip", + "out/ci/android_profile_riscv64/zip_archives/android-riscv64-profile/analyze-snapshot-linux-x64.zip", + "out/ci/android_profile_riscv64/zip_archives/download.flutter.io" + ], + "realm": "production" + } + ], + "drone_dimensions": [ + "device_type=none", + "os=Linux" + ], + "gclient_variables": { + "use_rbe": true + }, + "gn": [ + "--target-dir", + "ci/android_profile_riscv64", + "--runtime-mode", + "profile", + "--android", + "--android-cpu", + "riscv64", + "--rbe", + "--no-goma" + ], + "name": "ci/android_profile_riscv64", + "description": "Produces profile mode artifacts to target riscv64 Android from a Linux host.", + "ninja": { + "config": "ci/android_profile_riscv64", + "targets": [ + "default", + "clang_x64/gen_snapshot", + "flutter/shell/platform/android:abi_jars", + "flutter/shell/platform/android:analyze_snapshot" + ] + } + }, + { + "archives": [ + { + "name": "ci/android_release_riscv64", + "type": "gcs", + "base_path": "out/ci/android_release_riscv64/zip_archives/", + "include_paths": [ + "out/ci/android_release_riscv64/zip_archives/android-riscv64-release/artifacts.zip", + "out/ci/android_release_riscv64/zip_archives/android-riscv64-release/linux-x64.zip", + "out/ci/android_release_riscv64/zip_archives/android-riscv64-release/symbols.zip", + "out/ci/android_release_riscv64/zip_archives/android-riscv64-release/analyze-snapshot-linux-x64.zip", + "out/ci/android_release_riscv64/zip_archives/download.flutter.io" + ], + "realm": "production" + } + ], + "drone_dimensions": [ + "device_type=none", + "os=Linux" + ], + "gclient_variables": { + "use_rbe": true + }, + "gn": [ + "--target-dir", + "ci/android_release_riscv64", + "--runtime-mode", + "release", + "--android", + "--android-cpu", + "riscv64", + "--rbe", + "--no-goma" + ], + "name": "ci/android_release_riscv64", + "description": "Produces release mode artifacts to target riscv64 Android from a Linux host.", + "ninja": { + "config": "ci/android_release_riscv64", + "targets": [ + "default", + "clang_x64/gen_snapshot", + "flutter/shell/platform/android:abi_jars", + "flutter/shell/platform/android:analyze_snapshot" + ] + } } ], "generators": { diff --git a/engine/src/flutter/ci/builders/linux_android_aot_engine_ddm.json b/engine/src/flutter/ci/builders/linux_android_aot_engine_ddm.json index bbc05d459cdc2..6bb1831341704 100644 --- a/engine/src/flutter/ci/builders/linux_android_aot_engine_ddm.json +++ b/engine/src/flutter/ci/builders/linux_android_aot_engine_ddm.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ diff --git a/engine/src/flutter/ci/builders/linux_android_aot_engine_size_exp.json b/engine/src/flutter/ci/builders/linux_android_aot_engine_size_exp.json index f5532cdab2bb0..78a93c5c2ea65 100644 --- a/engine/src/flutter/ci/builders/linux_android_aot_engine_size_exp.json +++ b/engine/src/flutter/ci/builders/linux_android_aot_engine_size_exp.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ diff --git a/engine/src/flutter/ci/builders/linux_android_debug_engine.json b/engine/src/flutter/ci/builders/linux_android_debug_engine.json index 1cb564c9f4363..f0632b4578a57 100644 --- a/engine/src/flutter/ci/builders/linux_android_debug_engine.json +++ b/engine/src/flutter/ci/builders/linux_android_debug_engine.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ @@ -194,6 +192,50 @@ "flutter/impeller/toolkit/interop:sdk" ] } + }, + { + "archives": [ + { + "name": "ci/android_debug_riscv64", + "type": "gcs", + "base_path": "out/ci/android_debug_riscv64/zip_archives/", + "include_paths": [ + "out/ci/android_debug_riscv64/zip_archives/android-riscv64/artifacts.zip", + "out/ci/android_debug_riscv64/zip_archives/android-riscv64/android-riscv64-embedder.zip", + "out/ci/android_debug_riscv64/zip_archives/android-riscv64/impeller_sdk.zip", + "out/ci/android_debug_riscv64/zip_archives/android-riscv64/symbols.zip", + "out/ci/android_debug_riscv64/zip_archives/download.flutter.io" + ], + "realm": "production" + } + ], + "drone_dimensions": [ + "device_type=none", + "os=Linux" + ], + "gclient_variables": { + "use_rbe": true + }, + "gn": [ + "--target-dir", + "ci/android_debug_riscv64", + "--android", + "--android-cpu=riscv64", + "--no-lto", + "--rbe", + "--no-goma" + ], + "name": "ci/android_debug_riscv64", + "description": "Produces debug mode artifacts to target riscv64 Android from a Linux host.", + "ninja": { + "config": "ci/android_debug_riscv64", + "targets": [ + "flutter", + "flutter/shell/platform/android:abi_jars", + "flutter/shell/platform/embedder:embedder-archive", + "flutter/impeller/toolkit/interop:sdk" + ] + } } ], "generators": { diff --git a/engine/src/flutter/ci/builders/linux_android_debug_engine_ddm.json b/engine/src/flutter/ci/builders/linux_android_debug_engine_ddm.json index 931b710c6f918..cf4a7719ae8a8 100644 --- a/engine/src/flutter/ci/builders/linux_android_debug_engine_ddm.json +++ b/engine/src/flutter/ci/builders/linux_android_debug_engine_ddm.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ diff --git a/engine/src/flutter/ci/builders/linux_android_emulator.json b/engine/src/flutter/ci/builders/linux_android_emulator.json index 92d3071a1ce25..94d43842afe83 100644 --- a/engine/src/flutter/ci/builders/linux_android_emulator.json +++ b/engine/src/flutter/ci/builders/linux_android_emulator.json @@ -23,6 +23,10 @@ { "dependency": "goldctl", "version": "git_revision:720a542f6fe4f92922c3b8f0fdcc4d2ac6bb83cd" + }, + { + "dependency": "open_jdk", + "version": "version:21" } ], "name": "ci/android_emulator_debug_x64", diff --git a/engine/src/flutter/ci/builders/linux_fuchsia.json b/engine/src/flutter/ci/builders/linux_fuchsia.json index 1bc8ff0a63460..1a5856c63bd70 100644 --- a/engine/src/flutter/ci/builders/linux_fuchsia.json +++ b/engine/src/flutter/ci/builders/linux_fuchsia.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ diff --git a/engine/src/flutter/ci/builders/linux_host_engine.json b/engine/src/flutter/ci/builders/linux_host_engine.json index 682107ff55b9d..b3eed2f4921a3 100644 --- a/engine/src/flutter/ci/builders/linux_host_engine.json +++ b/engine/src/flutter/ci/builders/linux_host_engine.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ diff --git a/engine/src/flutter/ci/builders/local_engine.json b/engine/src/flutter/ci/builders/local_engine.json index eb13020cff644..51ff9ac8f0329 100644 --- a/engine/src/flutter/ci/builders/local_engine.json +++ b/engine/src/flutter/ci/builders/local_engine.json @@ -261,6 +261,32 @@ "targets": [] } }, + { + "cas_archive": false, + "drone_dimensions": [ + "os=Linux", + "device_type=none" + ], + "gclient_variables": { + "use_rbe": true + }, + "gn": [ + "--runtime-mode", + "debug", + "--android", + "--android-cpu=riscv64", + "--no-stripped", + "--no-lto", + "--rbe", + "--no-goma" + ], + "name": "linux/android_debug_riscv64", + "description": "Builds a debug mode engine that targets riscv64 Android from a Linux host.", + "ninja": { + "config": "android_debug_riscv64", + "targets": [] + } + }, { "cas_archive": false, "drone_dimensions": [ diff --git a/engine/src/flutter/ci/builders/mac_host_engine.json b/engine/src/flutter/ci/builders/mac_host_engine.json index db715f15a3ceb..89ebd06bbd965 100644 --- a/engine/src/flutter/ci/builders/mac_host_engine.json +++ b/engine/src/flutter/ci/builders/mac_host_engine.json @@ -11,8 +11,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ diff --git a/engine/src/flutter/ci/builders/mac_ios_engine.json b/engine/src/flutter/ci/builders/mac_ios_engine.json index 5573abca64207..3e84fdc4629b2 100644 --- a/engine/src/flutter/ci/builders/mac_ios_engine.json +++ b/engine/src/flutter/ci/builders/mac_ios_engine.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ diff --git a/engine/src/flutter/ci/builders/mac_ios_engine_ddm.json b/engine/src/flutter/ci/builders/mac_ios_engine_ddm.json index a76c23f3c897a..1718ca9f8985b 100644 --- a/engine/src/flutter/ci/builders/mac_ios_engine_ddm.json +++ b/engine/src/flutter/ci/builders/mac_ios_engine_ddm.json @@ -8,8 +8,6 @@ "definition files." ], "luci_flags": { - "delay_collect_builds": true, - "parallel_download_builds": true, "upload_content_hash": true }, "builds": [ diff --git a/engine/src/flutter/ci/builders/windows_arm_host_engine.json b/engine/src/flutter/ci/builders/windows_arm_host_engine.json index cfbbd524e3f9b..2031e1d131fc7 100644 --- a/engine/src/flutter/ci/builders/windows_arm_host_engine.json +++ b/engine/src/flutter/ci/builders/windows_arm_host_engine.json @@ -1,6 +1,6 @@ { "luci_flags": { - "upload_content_hash": true + "upload_content_hash": true }, "builds": [ { diff --git a/engine/src/flutter/ci/licenses.sh b/engine/src/flutter/ci/licenses.sh deleted file mode 100755 index 49890d1148a60..0000000000000 --- a/engine/src/flutter/ci/licenses.sh +++ /dev/null @@ -1,218 +0,0 @@ -#!/bin/bash -# -# Copyright 2013 The Flutter Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -# Do not exit when a non-zero return value is encountered to output all errors. -# See: https://github.com/flutter/flutter/issues/131680 -# set -e -shopt -s nullglob - -# Needed because if it is set, cd may print the path it changed to. -unset CDPATH - -# On Mac OS, readlink -f doesn't work, so follow_links traverses the path one -# link at a time, and then cds into the link destination and find out where it -# ends up. -# -# The function is enclosed in a subshell to avoid changing the working directory -# of the caller. -function follow_links() ( - cd -P "$(dirname -- "$1")" - file="$PWD/$(basename -- "$1")" - while [[ -L "$file" ]]; do - cd -P "$(dirname -- "$file")" - file="$(readlink -- "$file")" - cd -P "$(dirname -- "$file")" - file="$PWD/$(basename -- "$file")" - done - echo "$file" -) - -function dart_bin() { - dart_path="$1/flutter/third_party/dart/tools/sdks/dart-sdk/bin" - if [[ ! -e "$dart_path" ]]; then - dart_path="$1/third_party/dart/tools/sdks/dart-sdk/bin" - fi - echo "$dart_path" -} - -SCRIPT_DIR=$(follow_links "$(dirname -- "${BASH_SOURCE[0]}")") -SRC_DIR="$( - cd "$SCRIPT_DIR/../.." - pwd -P -)" -DART_BIN=$(dart_bin "$SRC_DIR") -PATH="$DART_BIN:$PATH" - -# Use: -# env VERBOSE=1 ./ci/licenses.sh -# to turn on verbose progress report printing. Set it to 2 to also output -# information about which patterns are taking the most time. -QUIET="--quiet" -if [[ "${VERBOSE}" == "1" ]]; then - QUIET="" -fi -if [[ "${VERBOSE}" == "2" ]]; then - QUIET="--verbose" -fi - -echo "Verifying license script is still happy..." -echo "Using dart from: $(command -v dart)" - -untracked_files="$( - cd "$SRC_DIR/flutter" - git status --ignored --short | grep -E "^!" | awk "{print\$2}" -)" -untracked_count="$(echo "$untracked_files" | wc -l)" -if [[ $untracked_count -gt 0 ]]; then - echo "" - echo "WARNING: There are $untracked_count untracked/ignored files or directories in the flutter repository." - echo "False positives may occur." - echo "You can use 'git clean -dxf' in the flutter dir to clean out these files." - echo "BUT, be warned that this will recursively remove all these files and directories:" - echo "$untracked_files" - echo "" -fi - -dart --version - -# Runs the tests for the license script. -function run_tests() ( - cd "$SRC_DIR/flutter/tools/licenses" - find . -name "*_test.dart" | xargs -n 1 dart --enable-asserts -) - -# Collects the license information from the repo. -# Runs in a subshell. -function collect_licenses() ( - cd "$SRC_DIR/flutter/tools/licenses" - # `--interpret_irregexp`` tells dart to use interpreter mode for running - # the regexp matching, rather than generating machine code for it. - # For very large RegExps that are currently used in license script using - # interpreter is faster than using unoptimized machine code, which has - # no chance of being optimized(due to its size). - dart \ - --enable-asserts \ - --interpret_irregexp \ - lib/main.dart \ - --src ../../.. \ - --out ../../../out/license_script_output \ - --golden ../../ci/licenses_golden \ - "${QUIET}" -) - -# Verifies the licenses in the repo. -# Runs in a subshell. -function verify_licenses() ( - local exitStatus=0 - cd "$SRC_DIR" - - # These files trip up the script on Mac OS X. - find . -name ".DS_Store" -exec rm -f {} \; - - collect_licenses - - # The dart license includes a git sha in it. This is the line that contains - # it. We ignore that for the purposes of diffing. If the license file changes - # this will need to be updated. - dart_ignore_line=4865 - for f in out/license_script_output/licenses_*; do - golden_file="flutter/ci/licenses_golden/$(basename "$f")" - if [[ $(basename "$f") == "licenses_dart" ]]; then - cmp -s <(sed "${dart_ignore_line}d" "$golden_file") <(sed "${dart_ignore_line}d" "$f") - cmp_result=$? - if ! sed -n "${dart_ignore_line}p" "$golden_file" | grep -q 'dart\.googlesource\.com'; then - echo "============================= ERROR =============================" - echo "Ignored dart license line did not include the googlesource url as expected." - echo "=================================================================" - exitStatus=1 - fi - else - cmp -s "$golden_file" "$f" - cmp_result=$? - fi - if [[ $cmp_result -ne 0 ]]; then - echo "============================= ERROR =============================" - echo "License script got different results than expected for $f." - echo "Please rerun the licenses script locally to verify that it is" - echo "correctly catching any new licenses for anything you may have" - echo "changed, and then update this file:" - echo " flutter/sky/packages/sky_engine/LICENSE" - echo "For more information, see the script in:" - echo " https://github.com/flutter/flutter/tree/main/engine/src/flutter/tools/licenses" - echo "" - diff -U 6 "flutter/ci/licenses_golden/$(basename "$f")" "$f" - echo "=================================================================" - echo "" - exitStatus=1 - fi - done - - echo "Verifying license tool signature..." - if ! cmp -s "flutter/ci/licenses_golden/tool_signature" "out/license_script_output/tool_signature"; then - echo "============================= ERROR =============================" - echo "The license tool signature has changed. This is expected when" - echo "there have been changes to the license tool itself. Licenses have" - echo "been re-computed for all components. If only the license script has" - echo "changed, no diffs are typically expected in the output of the" - echo "script. Verify the output, and if it looks correct, update the" - echo "license tool signature golden file:" - echo " ci/licenses_golden/tool_signature" - echo "For more information, see the script in:" - echo " https://github.com/flutter/flutter/tree/main/engine/src/flutter/tools/licenses" - echo "" - diff -U 6 "flutter/ci/licenses_golden/tool_signature" "out/license_script_output/tool_signature" - echo "=================================================================" - echo "" - exitStatus=1 - fi - - echo "Verifying excluded files list..." - if ! cmp -s "flutter/ci/licenses_golden/excluded_files" "out/license_script_output/excluded_files"; then - echo "============================= ERROR =============================" - echo "The license is excluding a different number of files than previously." - echo "This is only expected when new non-source files have been introduced." - echo "Verify that all the newly ignored files are definitely not shipped with" - echo "any binaries that we compile (including impellerc and Wasm)." - echo "If the changes look correct, update this file:" - echo " ci/licenses_golden/excluded_files" - echo "For more information, see the script in:" - echo " https://github.com/flutter/engine/tree/main/tools/licenses" - echo "" - diff -U 6 "flutter/ci/licenses_golden/excluded_files" "out/license_script_output/excluded_files" - echo "=================================================================" - echo "" - exitStatus=1 - fi - - echo "Checking license count in licenses_flutter..." - - local actualLicenseCount - actualLicenseCount="$(tail -n 1 flutter/ci/licenses_golden/licenses_flutter | tr -dc '0-9')" - local expectedLicenseCount=865 - - if [[ $actualLicenseCount -ne $expectedLicenseCount ]]; then - echo "=============================== ERROR ===============================" - echo "The total license count in flutter/ci/licenses_golden/licenses_flutter" - echo "changed from $expectedLicenseCount to $actualLicenseCount." - echo "It's very likely that this is an unintentional change. Please" - echo "double-check that all newly added files have a BSD-style license" - echo "header with the following copyright:" - echo " Copyright 2013 The Flutter Authors. All rights reserved." - echo "If you're absolutely sure that the change in license count is" - echo "intentional, update 'flutter/ci/licenses.sh' with the new count." - echo "=================================================================" - echo "" - exitStatus=1 - fi - - if [[ $exitStatus -eq 0 ]]; then - echo "Licenses are as expected." - fi - return $exitStatus -) - -run_tests -verify_licenses diff --git a/engine/src/flutter/ci/licenses_cpp.sh b/engine/src/flutter/ci/licenses_cpp.sh index 860785c8dfb6b..ff7a5f8b65dc6 100755 --- a/engine/src/flutter/ci/licenses_cpp.sh +++ b/engine/src/flutter/ci/licenses_cpp.sh @@ -93,6 +93,8 @@ if ! git diff \ echo "The licenses have changed." echo "Please review added licenses and update //engine/src/flutter/sky/packages/sky_engine/LICENSE" echo "The license check can be repeated locally with //engine/src/flutter/ci/licenses_cpp.sh" + echo "Make sure your licenses_cpp executable is built. For example:" + echo " et build -c host_profile_arm64 //flutter/tools/licenses_cpp" echo "When executed locally the following command can update the licenses after a run:" echo "cp $LICENSES_OUTPUT_PATH $LICENSES_PATH" exit 1 diff --git a/engine/src/flutter/ci/licenses_golden/excluded_files b/engine/src/flutter/ci/licenses_golden/excluded_files deleted file mode 100644 index d9eeb5fc97dfb..0000000000000 --- a/engine/src/flutter/ci/licenses_golden/excluded_files +++ /dev/null @@ -1,4123 +0,0 @@ -../../../.clang-format -../../../.gitattributes -../../../.gitignore -../../../.gn -../../../AUTHORS -../../../README.md -../../../build -../../../build_overrides -../../../flutter/.ci.yaml -../../../flutter/.clang-format -../../../flutter/.clang-tidy -../../../flutter/.dart_tool -../../../flutter/.gitattributes -../../../flutter/.github -../../../flutter/.gitignore -../../../flutter/.style.yapf -../../../flutter/AUTHORS -../../../flutter/CONTRIBUTING.md -../../../flutter/Doxyfile -../../../flutter/README.md -../../../flutter/analysis_options.yaml -../../../flutter/assets/native_assets_unittests.cc -../../../flutter/build -../../../flutter/buildtools -../../../flutter/ci -../../../flutter/common/README.md -../../../flutter/display_list/benchmarking/dl_complexity_unittests.cc -../../../flutter/display_list/display_list_unittests.cc -../../../flutter/display_list/dl_canvas_unittests.cc -../../../flutter/display_list/dl_color_unittests.cc -../../../flutter/display_list/dl_paint_unittests.cc -../../../flutter/display_list/dl_storage_unittests.cc -../../../flutter/display_list/dl_vertices_unittests.cc -../../../flutter/display_list/effects/dl_color_filter_unittests.cc -../../../flutter/display_list/effects/dl_color_source_unittests.cc -../../../flutter/display_list/effects/dl_image_filter_unittests.cc -../../../flutter/display_list/effects/dl_mask_filter_unittests.cc -../../../flutter/display_list/geometry/dl_geometry_types_unittests.cc -../../../flutter/display_list/geometry/dl_path_builder_unittests.cc -../../../flutter/display_list/geometry/dl_path_unittests.cc -../../../flutter/display_list/geometry/dl_region_unittests.cc -../../../flutter/display_list/geometry/dl_rtree_unittests.cc -../../../flutter/display_list/skia/dl_sk_canvas_unittests.cc -../../../flutter/display_list/skia/dl_sk_conversions_unittests.cc -../../../flutter/display_list/skia/dl_sk_paint_dispatcher_unittests.cc -../../../flutter/display_list/testing -../../../flutter/display_list/utils/dl_accumulation_rect_unittests.cc -../../../flutter/display_list/utils/dl_matrix_clip_tracker_unittests.cc -../../../flutter/docs -../../../flutter/engine.code-workspace -../../../flutter/examples -../../../flutter/flow/README.md -../../../flutter/flow/diff_context_unittests.cc -../../../flutter/flow/embedded_view_params_unittests.cc -../../../flutter/flow/flow_run_all_unittests.cc -../../../flutter/flow/frame_timings_recorder_unittests.cc -../../../flutter/flow/gl_context_switch_unittests.cc -../../../flutter/flow/layers/backdrop_filter_layer_unittests.cc -../../../flutter/flow/layers/clip_path_layer_unittests.cc -../../../flutter/flow/layers/clip_rect_layer_unittests.cc -../../../flutter/flow/layers/clip_rrect_layer_unittests.cc -../../../flutter/flow/layers/clip_rsuperellipse_layer_unittests.cc -../../../flutter/flow/layers/color_filter_layer_unittests.cc -../../../flutter/flow/layers/container_layer_unittests.cc -../../../flutter/flow/layers/display_list_layer_unittests.cc -../../../flutter/flow/layers/image_filter_layer_unittests.cc -../../../flutter/flow/layers/layer_state_stack_unittests.cc -../../../flutter/flow/layers/layer_tree_unittests.cc -../../../flutter/flow/layers/offscreen_surface_unittests.cc -../../../flutter/flow/layers/opacity_layer_unittests.cc -../../../flutter/flow/layers/performance_overlay_layer_unittests.cc -../../../flutter/flow/layers/platform_view_layer_unittests.cc -../../../flutter/flow/layers/shader_mask_layer_unittests.cc -../../../flutter/flow/layers/texture_layer_unittests.cc -../../../flutter/flow/layers/transform_layer_unittests.cc -../../../flutter/flow/mutators_stack_unittests.cc -../../../flutter/flow/raster_cache_unittests.cc -../../../flutter/flow/skia_gpu_object_unittests.cc -../../../flutter/flow/stopwatch_dl_unittests.cc -../../../flutter/flow/stopwatch_unittests.cc -../../../flutter/flow/surface_frame_unittests.cc -../../../flutter/flow/testing -../../../flutter/flow/texture_unittests.cc -../../../flutter/flow/view_slicer_unittests.cc -../../../flutter/flutter_frontend_server -../../../flutter/flutter_vma/include/README.md -../../../flutter/fml/ascii_trie_unittests.cc -../../../flutter/fml/backtrace_unittests.cc -../../../flutter/fml/base32_unittest.cc -../../../flutter/fml/closure_unittests.cc -../../../flutter/fml/command_line_unittest.cc -../../../flutter/fml/container_unittests.cc -../../../flutter/fml/cpu_affinity_unittests.cc -../../../flutter/fml/endianness_unittests.cc -../../../flutter/fml/file_unittest.cc -../../../flutter/fml/hash_combine_unittests.cc -../../../flutter/fml/hex_codec_unittest.cc -../../../flutter/fml/logging_unittests.cc -../../../flutter/fml/mapping_unittests.cc -../../../flutter/fml/math_unittests.cc -../../../flutter/fml/memory/ref_counted_unittest.cc -../../../flutter/fml/memory/task_runner_checker_unittest.cc -../../../flutter/fml/memory/weak_ptr_unittest.cc -../../../flutter/fml/message_loop_task_queues_merge_unmerge_unittests.cc -../../../flutter/fml/message_loop_task_queues_unittests.cc -../../../flutter/fml/message_loop_unittests.cc -../../../flutter/fml/paths_unittests.cc -../../../flutter/fml/platform/darwin/cf_utils_unittests.mm -../../../flutter/fml/platform/darwin/string_range_sanitization_unittests.mm -../../../flutter/fml/platform/fuchsia/log_interest_listener_unittests.cc -../../../flutter/fml/platform/win/file_win_unittests.cc -../../../flutter/fml/platform/win/wstring_conversion_unittests.cc -../../../flutter/fml/raster_thread_merger_unittests.cc -../../../flutter/fml/string_conversion_unittests.cc -../../../flutter/fml/synchronization/count_down_latch_unittests.cc -../../../flutter/fml/synchronization/semaphore_unittest.cc -../../../flutter/fml/synchronization/sync_switch_unittest.cc -../../../flutter/fml/synchronization/waitable_event_unittest.cc -../../../flutter/fml/task_source_unittests.cc -../../../flutter/fml/thread_unittests.cc -../../../flutter/fml/time/time_delta_unittest.cc -../../../flutter/fml/time/time_point_unittest.cc -../../../flutter/fml/time/time_unittest.cc -../../../flutter/impeller/.clang-format -../../../flutter/impeller/.gitignore -../../../flutter/impeller/README.md -../../../flutter/impeller/base/README.md -../../../flutter/impeller/base/allocation_size_unittests.cc -../../../flutter/impeller/base/base_unittests.cc -../../../flutter/impeller/compiler/README.md -../../../flutter/impeller/compiler/compiler_unittests.cc -../../../flutter/impeller/compiler/shader_bundle_unittests.cc -../../../flutter/impeller/compiler/switches_unittests.cc -../../../flutter/impeller/core/allocator_unittests.cc -../../../flutter/impeller/core/buffer_view_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_atlas_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_basic_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_blend_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_blur_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_clip_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_gradient_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_opacity_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_path_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_runtime_effect_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_text_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_unittests.cc -../../../flutter/impeller/display_list/aiks_dl_vertices_unittests.cc -../../../flutter/impeller/display_list/aiks_unittests.cc -../../../flutter/impeller/display_list/aiks_unittests.h -../../../flutter/impeller/display_list/canvas_unittests.cc -../../../flutter/impeller/display_list/dl_golden_blur_unittests.cc -../../../flutter/impeller/display_list/dl_golden_unittests.cc -../../../flutter/impeller/display_list/dl_golden_unittests.h -../../../flutter/impeller/display_list/dl_unittests.cc -../../../flutter/impeller/display_list/paint_unittests.cc -../../../flutter/impeller/display_list/skia_conversions_unittests.cc -../../../flutter/impeller/display_list/testing -../../../flutter/impeller/docs -../../../flutter/impeller/entity/clip_stack_unittests.cc -../../../flutter/impeller/entity/contents/filters/blend_filter_contents_unittests.cc -../../../flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents_unittests.cc -../../../flutter/impeller/entity/contents/filters/inputs/filter_input_unittests.cc -../../../flutter/impeller/entity/contents/filters/matrix_filter_contents_unittests.cc -../../../flutter/impeller/entity/contents/host_buffer_unittests.cc -../../../flutter/impeller/entity/contents/line_contents_unittests.cc -../../../flutter/impeller/entity/contents/test -../../../flutter/impeller/entity/contents/text_contents_unittests.cc -../../../flutter/impeller/entity/contents/tiled_texture_contents_unittests.cc -../../../flutter/impeller/entity/draw_order_resolver_unittests.cc -../../../flutter/impeller/entity/entity_pass_target_unittests.cc -../../../flutter/impeller/entity/entity_unittests.cc -../../../flutter/impeller/entity/geometry/geometry_unittests.cc -../../../flutter/impeller/entity/render_target_cache_unittests.cc -../../../flutter/impeller/entity/save_layer_utils_unittests.cc -../../../flutter/impeller/fixtures -../../../flutter/impeller/geometry/README.md -../../../flutter/impeller/geometry/arc_unittests.cc -../../../flutter/impeller/geometry/geometry_unittests.cc -../../../flutter/impeller/geometry/matrix_unittests.cc -../../../flutter/impeller/geometry/path_source_unittests.cc -../../../flutter/impeller/geometry/rational_unittests.cc -../../../flutter/impeller/geometry/rect_unittests.cc -../../../flutter/impeller/geometry/round_rect_unittests.cc -../../../flutter/impeller/geometry/round_superellipse_unittests.cc -../../../flutter/impeller/geometry/rounding_radii_unittests.cc -../../../flutter/impeller/geometry/rstransform_unittests.cc -../../../flutter/impeller/geometry/saturated_math_unittests.cc -../../../flutter/impeller/geometry/size_unittests.cc -../../../flutter/impeller/geometry/trig_unittests.cc -../../../flutter/impeller/golden_tests/README.md -../../../flutter/impeller/playground -../../../flutter/impeller/renderer/backend/gles/buffer_bindings_gles_unittests.cc -../../../flutter/impeller/renderer/backend/gles/device_buffer_gles_unittests.cc -../../../flutter/impeller/renderer/backend/gles/test -../../../flutter/impeller/renderer/backend/gles/unique_handle_gles_unittests.cc -../../../flutter/impeller/renderer/backend/metal/allocator_mtl_unittests.mm -../../../flutter/impeller/renderer/backend/metal/context_mtl_unittests.mm -../../../flutter/impeller/renderer/backend/metal/swapchain_transients_mtl_unittests.mm -../../../flutter/impeller/renderer/backend/metal/texture_mtl_unittests.mm -../../../flutter/impeller/renderer/backend/vulkan/allocator_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/command_encoder_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/command_pool_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/context_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/driver_info_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/formats_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_data_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/render_pass_builder_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/render_pass_cache_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/render_pass_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/resource_manager_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/surface_context_vk_unittests.cc -../../../flutter/impeller/renderer/backend/vulkan/swapchain/README.md -../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/README.md -../../../flutter/impeller/renderer/backend/vulkan/test -../../../flutter/impeller/renderer/blit_pass_unittests.cc -../../../flutter/impeller/renderer/capabilities_unittests.cc -../../../flutter/impeller/renderer/compute_unittests.cc -../../../flutter/impeller/renderer/device_buffer_unittests.cc -../../../flutter/impeller/renderer/pipeline_descriptor_unittests.cc -../../../flutter/impeller/renderer/pool_unittests.cc -../../../flutter/impeller/renderer/renderer_dart_unittests.cc -../../../flutter/impeller/renderer/renderer_unittests.cc -../../../flutter/impeller/renderer/testing -../../../flutter/impeller/runtime_stage/runtime_stage_unittests.cc -../../../flutter/impeller/shader_archive/shader_archive_unittests.cc -../../../flutter/impeller/tessellator/dart/.dart_tool -../../../flutter/impeller/tessellator/dart/pubspec.yaml -../../../flutter/impeller/tessellator/path_tessellator_unittests.cc -../../../flutter/impeller/tessellator/tessellator_unittests.cc -../../../flutter/impeller/toolkit/android/README.md -../../../flutter/impeller/toolkit/android/toolkit_android_unittests.cc -../../../flutter/impeller/toolkit/glvk/README.md -../../../flutter/impeller/toolkit/interop/README.md -../../../flutter/impeller/toolkit/interop/impeller_unittests.cc -../../../flutter/impeller/toolkit/interop/object_unittests.cc -../../../flutter/impeller/tools/malioc_cores.py -../../../flutter/impeller/tools/malioc_diff.py -../../../flutter/impeller/tools/metal_library.py -../../../flutter/impeller/tools/xxd.py -../../../flutter/impeller/typographer/typographer_unittests.cc -../../../flutter/lib/gpu/analysis_options.yaml -../../../flutter/lib/gpu/pubspec.yaml -../../../flutter/lib/snapshot/libraries.json -../../../flutter/lib/snapshot/libraries.yaml -../../../flutter/lib/snapshot/pubspec.yaml -../../../flutter/lib/ui/analysis_options.yaml -../../../flutter/lib/ui/compositing/scene_builder_unittests.cc -../../../flutter/lib/ui/fixtures -../../../flutter/lib/ui/hooks_unittests.cc -../../../flutter/lib/ui/painting/image_decoder_no_gl_unittests.cc -../../../flutter/lib/ui/painting/image_decoder_no_gl_unittests.h -../../../flutter/lib/ui/painting/image_decoder_unittests.cc -../../../flutter/lib/ui/painting/image_dispose_unittests.cc -../../../flutter/lib/ui/painting/image_encoding_unittests.cc -../../../flutter/lib/ui/painting/image_generator_registry_unittests.cc -../../../flutter/lib/ui/painting/paint_unittests.cc -../../../flutter/lib/ui/painting/path_unittests.cc -../../../flutter/lib/ui/painting/single_frame_codec_unittests.cc -../../../flutter/lib/ui/semantics/semantics_update_builder_unittests.cc -../../../flutter/lib/ui/window/platform_configuration_unittests.cc -../../../flutter/lib/ui/window/platform_message_response_dart_port_unittests.cc -../../../flutter/lib/ui/window/platform_message_response_dart_unittests.cc -../../../flutter/lib/ui/window/pointer_data_packet_converter_unittests.cc -../../../flutter/lib/ui/window/pointer_data_packet_unittests.cc -../../../flutter/lib/web_ui/.gitignore -../../../flutter/lib/web_ui/CODE_CONVENTIONS.md -../../../flutter/lib/web_ui/README.md -../../../flutter/lib/web_ui/analysis_options.yaml -../../../flutter/lib/web_ui/dart_test_chrome.yaml -../../../flutter/lib/web_ui/dart_test_edge.yaml -../../../flutter/lib/web_ui/dart_test_firefox.yaml -../../../flutter/lib/web_ui/dart_test_safari.yaml -../../../flutter/lib/web_ui/dev -../../../flutter/lib/web_ui/pubspec.yaml -../../../flutter/lib/web_ui/test -../../../flutter/prebuilts -../../../flutter/pubspec.lock -../../../flutter/pubspec.yaml -../../../flutter/runtime/dart_isolate_unittests.cc -../../../flutter/runtime/dart_lifecycle_unittests.cc -../../../flutter/runtime/dart_plugin_registrant_unittests.cc -../../../flutter/runtime/dart_service_isolate_unittests.cc -../../../flutter/runtime/dart_vm_unittests.cc -../../../flutter/runtime/fixtures -../../../flutter/runtime/no_dart_plugin_registrant_unittests.cc -../../../flutter/runtime/platform_isolate_manager_unittests.cc -../../../flutter/runtime/type_conversions_unittests.cc -../../../flutter/shell/common/animator_unittests.cc -../../../flutter/shell/common/base64_unittests.cc -../../../flutter/shell/common/context_options_unittests.cc -../../../flutter/shell/common/dl_op_spy_unittests.cc -../../../flutter/shell/common/engine_animator_unittests.cc -../../../flutter/shell/common/engine_unittests.cc -../../../flutter/shell/common/fixtures -../../../flutter/shell/common/input_events_unittests.cc -../../../flutter/shell/common/persistent_cache_unittests.cc -../../../flutter/shell/common/pipeline_unittests.cc -../../../flutter/shell/common/rasterizer_unittests.cc -../../../flutter/shell/common/resource_cache_limit_calculator_unittests.cc -../../../flutter/shell/common/shell_fuchsia_unittests.cc -../../../flutter/shell/common/shell_io_manager_unittests.cc -../../../flutter/shell/common/shell_unittests.cc -../../../flutter/shell/common/switches_unittests.cc -../../../flutter/shell/common/variable_refresh_rate_display_unittests.cc -../../../flutter/shell/common/vsync_waiter_unittests.cc -../../../flutter/shell/gpu/gpu_surface_metal_impeller_unittests.mm -../../../flutter/shell/gpu/gpu_surface_noop_unittests.mm -../../../flutter/shell/platform/android/.gitignore -../../../flutter/shell/platform/android/README.md -../../../flutter/shell/platform/android/android_context_gl_impeller_unittests.cc -../../../flutter/shell/platform/android/android_context_gl_unittests.cc -../../../flutter/shell/platform/android/android_shell_holder_unittests.cc -../../../flutter/shell/platform/android/apk_asset_provider_unittests.cc -../../../flutter/shell/platform/android/build.gradle -../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_unittests.cc -../../../flutter/shell/platform/android/external_view_embedder/surface_pool_unittests.cc -../../../flutter/shell/platform/android/flutter_shell_native_unittests.cc -../../../flutter/shell/platform/android/gradle.properties -../../../flutter/shell/platform/android/image_lru_unittests.cc -../../../flutter/shell/platform/android/jni/jni_mock_unittest.cc -../../../flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate_unittests.cc -../../../flutter/shell/platform/android/platform_view_android_unittests.cc -../../../flutter/shell/platform/android/test -../../../flutter/shell/platform/android/test_runner -../../../flutter/shell/platform/common/accessibility_bridge_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/README -../../../flutter/shell/platform/common/client_wrapper/basic_message_channel_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/encodable_value_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/event_channel_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/method_call_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/method_channel_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/method_result_functions_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/plugin_registrar_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/standard_message_codec_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/standard_method_codec_unittests.cc -../../../flutter/shell/platform/common/client_wrapper/testing -../../../flutter/shell/platform/common/client_wrapper/texture_registrar_unittests.cc -../../../flutter/shell/platform/common/engine_switches_unittests.cc -../../../flutter/shell/platform/common/flutter_platform_node_delegate_unittests.cc -../../../flutter/shell/platform/common/geometry_unittests.cc -../../../flutter/shell/platform/common/incoming_message_dispatcher_unittests.cc -../../../flutter/shell/platform/common/json_message_codec_unittests.cc -../../../flutter/shell/platform/common/json_method_codec_unittests.cc -../../../flutter/shell/platform/common/path_utils_unittests.cc -../../../flutter/shell/platform/common/text_editing_delta_unittests.cc -../../../flutter/shell/platform/common/text_input_model_unittests.cc -../../../flutter/shell/platform/common/text_range_unittests.cc -../../../flutter/shell/platform/darwin/Doxyfile -../../../flutter/shell/platform/darwin/common/availability_version_check_unittests.cc -../../../flutter/shell/platform/darwin/common/framework/Source/flutter_codecs_unittest.mm -../../../flutter/shell/platform/darwin/common/framework/Source/flutter_standard_codec_unittest.mm -../../../flutter/shell/platform/darwin/common/framework/Source/framework_common_swift_unittests.mm -../../../flutter/shell/platform/darwin/ios/ios_context_noop_unittests.mm -../../../flutter/shell/platform/darwin/ios/ios_surface_noop_unittests.mm -../../../flutter/shell/platform/darwin/macos/README.md -../../../flutter/shell/platform/darwin/macos/framework/Source/fixtures -../../../flutter/shell/platform/embedder/fixtures -../../../flutter/shell/platform/embedder/platform_view_embedder_unittests.cc -../../../flutter/shell/platform/embedder/tests -../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/README.md -../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/pubspec.yaml -../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/README.md -../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/pubspec.yaml -../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/test -../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/pubspec.yaml -../../../flutter/shell/platform/fuchsia/dart_runner/.gitignore -../../../flutter/shell/platform/fuchsia/dart_runner/README.md -../../../flutter/shell/platform/fuchsia/dart_runner/embedder/pubspec.yaml -../../../flutter/shell/platform/fuchsia/dart_runner/kernel/libraries.json -../../../flutter/shell/platform/fuchsia/dart_runner/kernel/libraries.yaml -../../../flutter/shell/platform/fuchsia/dart_runner/tests -../../../flutter/shell/platform/fuchsia/dart_runner/vmservice/pubspec.yaml -../../../flutter/shell/platform/fuchsia/flutter/README.md -../../../flutter/shell/platform/fuchsia/flutter/accessibility_bridge_unittest.cc -../../../flutter/shell/platform/fuchsia/flutter/build/asset_package.py -../../../flutter/shell/platform/fuchsia/flutter/build/gen_debug_wrapper_main.py -../../../flutter/shell/platform/fuchsia/flutter/canvas_spy_unittests.cc -../../../flutter/shell/platform/fuchsia/flutter/component_v2_unittest.cc -../../../flutter/shell/platform/fuchsia/flutter/focus_delegate_unittests.cc -../../../flutter/shell/platform/fuchsia/flutter/fuchsia_intl_unittest.cc -../../../flutter/shell/platform/fuchsia/flutter/kernel/analysis_options.yaml -../../../flutter/shell/platform/fuchsia/flutter/kernel/libraries.json -../../../flutter/shell/platform/fuchsia/flutter/kernel/libraries.yaml -../../../flutter/shell/platform/fuchsia/flutter/kernel/pubspec.yaml -../../../flutter/shell/platform/fuchsia/flutter/keyboard_unittest.cc -../../../flutter/shell/platform/fuchsia/flutter/pointer_delegate_unittests.cc -../../../flutter/shell/platform/fuchsia/flutter/pointer_injector_delegate_unittest.cc -../../../flutter/shell/platform/fuchsia/flutter/rtree_unittests.cc -../../../flutter/shell/platform/fuchsia/flutter/runner_tzdata_missing_unittest.cc -../../../flutter/shell/platform/fuchsia/flutter/runner_tzdata_unittest.cc -../../../flutter/shell/platform/fuchsia/flutter/tests -../../../flutter/shell/platform/fuchsia/flutter/text_delegate_unittests.cc -../../../flutter/shell/platform/fuchsia/flutter/vsync_waiter_unittest.cc -../../../flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols/analysis_options.yaml -../../../flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols/pubspec.yaml -../../../flutter/shell/platform/fuchsia/runtime/dart/utils/build_info_unittests.cc -../../../flutter/shell/platform/fuchsia/unit_tests.md -../../../flutter/shell/platform/glfw/client_wrapper/flutter_engine_unittests.cc -../../../flutter/shell/platform/glfw/client_wrapper/flutter_window_controller_unittests.cc -../../../flutter/shell/platform/glfw/client_wrapper/flutter_window_unittests.cc -../../../flutter/shell/platform/glfw/client_wrapper/plugin_registrar_glfw_unittests.cc -../../../flutter/shell/platform/glfw/client_wrapper/testing -../../../flutter/shell/platform/linux/.clang-tidy -../../../flutter/shell/platform/linux/testing -../../../flutter/shell/platform/windows/README.md -../../../flutter/shell/platform/windows/accessibility_bridge_windows_unittests.cc -../../../flutter/shell/platform/windows/client_wrapper/dart_project_unittests.cc -../../../flutter/shell/platform/windows/client_wrapper/flutter_engine_unittests.cc -../../../flutter/shell/platform/windows/client_wrapper/flutter_view_controller_unittests.cc -../../../flutter/shell/platform/windows/client_wrapper/flutter_view_unittests.cc -../../../flutter/shell/platform/windows/client_wrapper/plugin_registrar_windows_unittests.cc -../../../flutter/shell/platform/windows/client_wrapper/testing -../../../flutter/shell/platform/windows/compositor_opengl_unittests.cc -../../../flutter/shell/platform/windows/compositor_software_unittests.cc -../../../flutter/shell/platform/windows/cursor_handler_unittests.cc -../../../flutter/shell/platform/windows/direct_manipulation_unittests.cc -../../../flutter/shell/platform/windows/dpi_utils_unittests.cc -../../../flutter/shell/platform/windows/fixtures -../../../flutter/shell/platform/windows/flutter_project_bundle_unittests.cc -../../../flutter/shell/platform/windows/flutter_window_unittests.cc -../../../flutter/shell/platform/windows/display_monitor_unittests.cc -../../../flutter/shell/platform/windows/flutter_windows_engine_unittests.cc -../../../flutter/shell/platform/windows/flutter_windows_texture_registrar_unittests.cc -../../../flutter/shell/platform/windows/flutter_windows_unittests.cc -../../../flutter/shell/platform/windows/flutter_windows_view_unittests.cc -../../../flutter/shell/platform/windows/keyboard_key_channel_handler_unittests.cc -../../../flutter/shell/platform/windows/keyboard_key_embedder_handler_unittests.cc -../../../flutter/shell/platform/windows/keyboard_key_handler_unittests.cc -../../../flutter/shell/platform/windows/keyboard_unittests.cc -../../../flutter/shell/platform/windows/keyboard_utils_unittests.cc -../../../flutter/shell/platform/windows/platform_handler_unittests.cc -../../../flutter/shell/platform/windows/sequential_id_generator_unittests.cc -../../../flutter/shell/platform/windows/settings_plugin_unittests.cc -../../../flutter/shell/platform/windows/system_utils_unittests.cc -../../../flutter/shell/platform/windows/task_runner_unittests.cc -../../../flutter/shell/platform/windows/testing -../../../flutter/shell/platform/windows/text_input_plugin_unittest.cc -../../../flutter/shell/platform/windows/window_manager_unittests.cc -../../../flutter/shell/platform/windows/window_proc_delegate_manager_unittests.cc -../../../flutter/shell/platform/windows/window_unittests.cc -../../../flutter/shell/platform/windows/windows_lifecycle_manager_unittests.cc -../../../flutter/shell/profiling/sampling_profiler_unittest.cc -../../../flutter/shell/testing -../../../flutter/shell/vmservice/.dart_tool -../../../flutter/shell/vmservice/pubspec.yaml -../../../flutter/sky/packages/sky_engine/.gitignore -../../../flutter/sky/packages/sky_engine/LICENSE -../../../flutter/sky/packages/sky_engine/LICENSE_CPP -../../../flutter/sky/packages/sky_engine/README.md -../../../flutter/sky/packages/sky_engine/lib/_embedder.yaml -../../../flutter/sky/packages/sky_engine/pubspec.yaml -../../../flutter/sky/tools/cp.py -../../../flutter/sky/tools/create_embedder_framework.py -../../../flutter/sky/tools/create_ios_framework.py -../../../flutter/sky/tools/create_macos_binary.py -../../../flutter/sky/tools/create_macos_framework.py -../../../flutter/sky/tools/create_macos_gen_snapshots.py -../../../flutter/sky/tools/create_xcframework.py -../../../flutter/sky/tools/dist_dart_pkg.py -../../../flutter/sky/tools/install_framework_headers.py -../../../flutter/sky/tools/sky_utils.py -../../../flutter/testing -../../../flutter/third_party/.clang-tidy -../../../flutter/third_party/.gitignore -../../../flutter/third_party/README.md -../../../flutter/third_party/abseil-cpp/.git -../../../flutter/third_party/abseil-cpp/.github -../../../flutter/third_party/abseil-cpp/ABSEIL_ISSUE_TEMPLATE.md -../../../flutter/third_party/abseil-cpp/AUTHORS -../../../flutter/third_party/abseil-cpp/BUILD.bazel -../../../flutter/third_party/abseil-cpp/CMake -../../../flutter/third_party/abseil-cpp/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/CONTRIBUTING.md -../../../flutter/third_party/abseil-cpp/DIR_METADATA -../../../flutter/third_party/abseil-cpp/FAQ.md -../../../flutter/third_party/abseil-cpp/OWNERS -../../../flutter/third_party/abseil-cpp/README.chromium -../../../flutter/third_party/abseil-cpp/README.md -../../../flutter/third_party/abseil-cpp/UPGRADES.md -../../../flutter/third_party/abseil-cpp/WORKSPACE -../../../flutter/third_party/abseil-cpp/absl/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/abseil.podspec.gen.py -../../../flutter/third_party/abseil-cpp/absl/algorithm/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/algorithm/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/algorithm/algorithm_test.cc -../../../flutter/third_party/abseil-cpp/absl/algorithm/container_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/base/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/base/bit_cast_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/call_once_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/config_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/exception_safety_testing_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/inline_variable_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/atomic_hook_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/cmake_thread_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/endian_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/errno_saver_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/fast_type_id_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/low_level_alloc_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/scoped_set_env_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/strerror_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/sysinfo_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/thread_identity_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/internal/unique_small_name_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/invoke_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/log_severity_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/no_destructor_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/nullability_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/optimization_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/prefetch_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/raw_logging_test.cc -../../../flutter/third_party/abseil-cpp/absl/base/throw_delegate_test.cc -../../../flutter/third_party/abseil-cpp/absl/cleanup/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/cleanup/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/cleanup/cleanup_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/container/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/container/btree_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/btree_test.h -../../../flutter/third_party/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/fixed_array_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/flat_hash_map_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/flat_hash_set_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/inlined_vector_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/common_policy_traits_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/compressed_tuple_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/container_memory_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/layout_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/node_slot_policy_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_map_members_test.h -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_map_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_set_members_test.h -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h -../../../flutter/third_party/abseil-cpp/absl/container/internal/unordered_set_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/node_hash_map_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/node_hash_set_test.cc -../../../flutter/third_party/abseil-cpp/absl/container/sample_element_size_test.cc -../../../flutter/third_party/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake -../../../flutter/third_party/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake -../../../flutter/third_party/abseil-cpp/absl/copts/GENERATED_copts.bzl -../../../flutter/third_party/abseil-cpp/absl/copts/configure_copts.bzl -../../../flutter/third_party/abseil-cpp/absl/copts/copts.py -../../../flutter/third_party/abseil-cpp/absl/copts/generate_copts.py -../../../flutter/third_party/abseil-cpp/absl/crc/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/crc/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/crc/crc32c_test.cc -../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc -../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc -../../../flutter/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc -../../../flutter/third_party/abseil-cpp/absl/debugging/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/debugging/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/debugging/failure_signal_handler_test.cc -../../../flutter/third_party/abseil-cpp/absl/debugging/internal/demangle_test.cc -../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc -../../../flutter/third_party/abseil-cpp/absl/debugging/leak_check_fail_test.cc -../../../flutter/third_party/abseil-cpp/absl/debugging/leak_check_test.cc -../../../flutter/third_party/abseil-cpp/absl/debugging/stacktrace_test.cc -../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/flags/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/flags/commandlineflag_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/config_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/flag_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/internal/path_util_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/internal/program_name_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/internal/sequence_lock_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/internal/usage_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/marshalling_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/parse_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/reflection_test.cc -../../../flutter/third_party/abseil-cpp/absl/flags/usage_config_test.cc -../../../flutter/third_party/abseil-cpp/absl/functional/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/functional/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/functional/any_invocable_test.cc -../../../flutter/third_party/abseil-cpp/absl/functional/bind_front_test.cc -../../../flutter/third_party/abseil-cpp/absl/functional/function_ref_test.cc -../../../flutter/third_party/abseil-cpp/absl/functional/overload_test.cc -../../../flutter/third_party/abseil-cpp/absl/hash/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/hash/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/hash/hash_instantiated_test.cc -../../../flutter/third_party/abseil-cpp/absl/hash/hash_test.cc -../../../flutter/third_party/abseil-cpp/absl/hash/internal/city_test.cc -../../../flutter/third_party/abseil-cpp/absl/hash/internal/hash_test.h -../../../flutter/third_party/abseil-cpp/absl/hash/internal/low_level_hash_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/log/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/log/absl_check_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/absl_log_basic_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/check_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/die_if_null_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/flags_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/globals_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/internal/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/log/internal/fnmatch_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/log_basic_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/log_entry_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/log_format_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/log_macro_hygiene_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/log_modifier_methods_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/log_sink_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/log_streamer_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/scoped_mock_log_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/stripping_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/structured_test.cc -../../../flutter/third_party/abseil-cpp/absl/log/vlog_is_on_test.cc -../../../flutter/third_party/abseil-cpp/absl/memory/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/memory/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/memory/memory_test.cc -../../../flutter/third_party/abseil-cpp/absl/meta/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/meta/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/meta/type_traits_test.cc -../../../flutter/third_party/abseil-cpp/absl/numeric/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/numeric/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/numeric/bits_test.cc -../../../flutter/third_party/abseil-cpp/absl/numeric/int128_stream_test.cc -../../../flutter/third_party/abseil-cpp/absl/numeric/int128_test.cc -../../../flutter/third_party/abseil-cpp/absl/profiling/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/profiling/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc -../../../flutter/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc -../../../flutter/third_party/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/random/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/random/bernoulli_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/beta_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/bit_gen_ref_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/discrete_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/distributions_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/examples_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/exponential_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/gaussian_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/generators_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/random/internal/chi_square_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/distribution_test_util_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/fastmath_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/generate_real_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/nanobenchmark_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/nonsecure_base_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/pcg_engine_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/pool_urbg_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_engine_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_hwaes_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_slow_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/seed_material_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/traits_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/uniform_helper_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/internal/wide_multiply_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/mock_distributions_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/mocking_bit_gen_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/poisson_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/seed_sequences_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/uniform_int_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/uniform_real_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/random/zipf_distribution_test.cc -../../../flutter/third_party/abseil-cpp/absl/status/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/status/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/status/status_test.cc -../../../flutter/third_party/abseil-cpp/absl/status/statusor_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/strings/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/strings/ascii_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/atod_manual_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/char_formatting_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/charconv_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/charset_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/cord_buffer_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/cord_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/cordz_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/escaping_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/has_absl_stringify_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/has_ostream_operator_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_parse_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_functions_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_handle_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_info_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/memutil_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/ostringstream_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/pow10_helper_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/arg_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/bind_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/checker_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/convert_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/extension_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/output_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/string_constant_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/internal/utf8_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/match_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/numbers_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/str_cat_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/str_format_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/str_join_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/str_replace_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/str_split_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/string_view_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/strip_test.cc -../../../flutter/third_party/abseil-cpp/absl/strings/substitute_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/synchronization/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/synchronization/barrier_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/blocking_counter_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/waiter_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/lifetime_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/mutex_test.cc -../../../flutter/third_party/abseil-cpp/absl/synchronization/notification_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/time/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/time/civil_time_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/clock_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/duration_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/flag_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/format_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/testdata -../../../flutter/third_party/abseil-cpp/absl/time/time_test.cc -../../../flutter/third_party/abseil-cpp/absl/time/time_zone_test.cc -../../../flutter/third_party/abseil-cpp/absl/types/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/types/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/types/any_exception_safety_test.cc -../../../flutter/third_party/abseil-cpp/absl/types/any_test.cc -../../../flutter/third_party/abseil-cpp/absl/types/compare_test.cc -../../../flutter/third_party/abseil-cpp/absl/types/optional_exception_safety_test.cc -../../../flutter/third_party/abseil-cpp/absl/types/optional_test.cc -../../../flutter/third_party/abseil-cpp/absl/types/span_test.cc -../../../flutter/third_party/abseil-cpp/absl/types/variant_exception_safety_test.cc -../../../flutter/third_party/abseil-cpp/absl/types/variant_test.cc -../../../flutter/third_party/abseil-cpp/absl/utility/BUILD.bazel -../../../flutter/third_party/abseil-cpp/absl/utility/CMakeLists.txt -../../../flutter/third_party/abseil-cpp/absl/utility/internal/if_constexpr_test.cc -../../../flutter/third_party/abseil-cpp/absl/utility/utility_test.cc -../../../flutter/third_party/abseil-cpp/absl_hardening_test.cc -../../../flutter/third_party/abseil-cpp/conanfile.py -../../../flutter/third_party/abseil-cpp/create_lts.py -../../../flutter/third_party/abseil-cpp/generate_def_files.py -../../../flutter/third_party/abseil-cpp/roll_abseil.py -../../../flutter/third_party/accessibility/README.md -../../../flutter/third_party/accessibility/ax/ax_enum_util_unittest.cc -../../../flutter/third_party/accessibility/ax/ax_event_generator_unittest.cc -../../../flutter/third_party/accessibility/ax/ax_node_data_unittest.cc -../../../flutter/third_party/accessibility/ax/ax_node_position_unittest.cc -../../../flutter/third_party/accessibility/ax/ax_range_unittest.cc -../../../flutter/third_party/accessibility/ax/ax_role_properties_unittest.cc -../../../flutter/third_party/accessibility/ax/ax_table_info_unittest.cc -../../../flutter/third_party/accessibility/ax/ax_tree_unittest.cc -../../../flutter/third_party/accessibility/ax/platform/ax_fragment_root_win_unittest.cc -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_base_unittest.cc -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_mac_unittest.h -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_mac_unittest.mm -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textprovider_win_unittest.cc -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textrangeprovider_win_unittest.cc -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_unittest.cc -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_unittest.h -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_win_unittest.cc -../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_win_unittest.h -../../../flutter/third_party/accessibility/ax/platform/ax_unique_id_unittest.cc -../../../flutter/third_party/accessibility/base/logging_unittests.cc -../../../flutter/third_party/accessibility/base/numerics/README.md -../../../flutter/third_party/accessibility/base/string_utils_unittest.cc -../../../flutter/third_party/accessibility/base/test -../../../flutter/third_party/accessibility/base/win/display_unittest.cc -../../../flutter/third_party/accessibility/base/win/enum_variant_unittest.cc -../../../flutter/third_party/accessibility/base/win/scoped_bstr_unittest.cc -../../../flutter/third_party/accessibility/base/win/scoped_safearray_unittest.cc -../../../flutter/third_party/accessibility/base/win/scoped_variant_unittest.cc -../../../flutter/third_party/accessibility/base/win/variant_vector_unittest.cc -../../../flutter/third_party/accessibility/gfx/geometry/insets_unittest.cc -../../../flutter/third_party/accessibility/gfx/geometry/point_unittest.cc -../../../flutter/third_party/accessibility/gfx/geometry/rect_unittest.cc -../../../flutter/third_party/accessibility/gfx/geometry/size_unittest.cc -../../../flutter/third_party/accessibility/gfx/geometry/vector2d_unittest.cc -../../../flutter/third_party/accessibility/gfx/range/range_unittest.cc -../../../flutter/third_party/accessibility/gfx/test -../../../flutter/third_party/android_embedding_dependencies -../../../flutter/third_party/android_tools -../../../flutter/third_party/angle/.clang-format -../../../flutter/third_party/angle/.git -../../../flutter/third_party/angle/.gitattributes -../../../flutter/third_party/angle/.gitignore -../../../flutter/third_party/angle/.gn -../../../flutter/third_party/angle/.style.yapf -../../../flutter/third_party/angle/.vpython -../../../flutter/third_party/angle/.vpython3 -../../../flutter/third_party/angle/.yapfignore -../../../flutter/third_party/angle/AUTHORS -../../../flutter/third_party/angle/Android.mk -../../../flutter/third_party/angle/CONTRIBUTORS -../../../flutter/third_party/angle/DEPS -../../../flutter/third_party/angle/DIR_METADATA -../../../flutter/third_party/angle/OWNERS -../../../flutter/third_party/angle/PRESUBMIT.py -../../../flutter/third_party/angle/README.chromium -../../../flutter/third_party/angle/README.md -../../../flutter/third_party/angle/WATCHLISTS -../../../flutter/third_party/angle/additional_readme_paths.json -../../../flutter/third_party/angle/android -../../../flutter/third_party/angle/codereview.settings -../../../flutter/third_party/angle/doc -../../../flutter/third_party/angle/extensions -../../../flutter/third_party/angle/include/CL/.clang-format -../../../flutter/third_party/angle/include/CL/README.md -../../../flutter/third_party/angle/include/EGL/.clang-format -../../../flutter/third_party/angle/include/GLES/.clang-format -../../../flutter/third_party/angle/include/GLES/README.md -../../../flutter/third_party/angle/include/GLES2/.clang-format -../../../flutter/third_party/angle/include/GLES3/.clang-format -../../../flutter/third_party/angle/include/GLX/.clang-format -../../../flutter/third_party/angle/include/KHR/.clang-format -../../../flutter/third_party/angle/include/WGL/.clang-format -../../../flutter/third_party/angle/include/platform/autogen/.clang-format -../../../flutter/third_party/angle/include/platform/gen_features.py -../../../flutter/third_party/angle/infra -../../../flutter/third_party/angle/samples -../../../flutter/third_party/angle/scripts -../../../flutter/third_party/angle/src/commit_id.py -../../../flutter/third_party/angle/src/common/BinaryStream_unittest.cpp -../../../flutter/third_party/angle/src/common/CircularBuffer_unittest.cpp -../../../flutter/third_party/angle/src/common/FastVector_unittest.cpp -../../../flutter/third_party/angle/src/common/FixedQueue_unittest.cpp -../../../flutter/third_party/angle/src/common/FixedVector_unittest.cpp -../../../flutter/third_party/angle/src/common/Float16ToFloat32.py -../../../flutter/third_party/angle/src/common/Optional_unittest.cpp -../../../flutter/third_party/angle/src/common/PoolAlloc_unittest.cpp -../../../flutter/third_party/angle/src/common/WorkerThread_unittest.cpp -../../../flutter/third_party/angle/src/common/aligned_memory_unittest.cpp -../../../flutter/third_party/angle/src/common/angleutils_unittest.cpp -../../../flutter/third_party/angle/src/common/base/README.angle -../../../flutter/third_party/angle/src/common/base/anglebase/numerics/OWNERS -../../../flutter/third_party/angle/src/common/bitset_utils_unittest.cpp -../../../flutter/third_party/angle/src/common/fuchsia_egl/OWNERS -../../../flutter/third_party/angle/src/common/gen_packed_gl_enums.py -../../../flutter/third_party/angle/src/common/gen_uniform_type_table.py -../../../flutter/third_party/angle/src/common/hash_utils_unittest.cpp -../../../flutter/third_party/angle/src/common/mathutil_unittest.cpp -../../../flutter/third_party/angle/src/common/matrix_utils_unittest.cpp -../../../flutter/third_party/angle/src/common/serializer/JsonSerializer_unittest.cpp -../../../flutter/third_party/angle/src/common/spirv/gen_spirv_builder_and_parser.py -../../../flutter/third_party/angle/src/common/string_utils_unittest.cpp -../../../flutter/third_party/angle/src/common/system_utils_unittest.cpp -../../../flutter/third_party/angle/src/common/third_party/xxhash/README.chromium -../../../flutter/third_party/angle/src/common/third_party/xxhash/README.md -../../../flutter/third_party/angle/src/common/utilities_unittest.cpp -../../../flutter/third_party/angle/src/common/vector_utils_unittest.cpp -../../../flutter/third_party/angle/src/compiler/generate_parser_tools.py -../../../flutter/third_party/angle/src/compiler/preprocessor/generate_parser.py -../../../flutter/third_party/angle/src/compiler/translator/gen_builtin_symbols.py -../../../flutter/third_party/angle/src/compiler/translator/generate_parser.py -../../../flutter/third_party/angle/src/compiler/translator/hlsl/gen_emulated_builtin_function_tables.py -../../../flutter/third_party/angle/src/compiler/translator/span_unittest.cpp -../../../flutter/third_party/angle/src/feature_support_util/OWNERS -../../../flutter/third_party/angle/src/feature_support_util/feature_support_util_unittest.cpp -../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_unittest.cpp -../../../flutter/third_party/angle/src/image_util/AstcDecompressor_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/BlendStateExt_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/BlobCache_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/Config_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/Fence_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/GlobalMutex_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/HandleAllocator_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/ImageIndexIterator_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/Image_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/Observer_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/Program_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/ResourceManager_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/ResourceMap_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/SizedMRUCache_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/Surface_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/TransformFeedback_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/UnlockedTailCall_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/VaryingPacking_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/VertexArray_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/capture/OWNERS -../../../flutter/third_party/angle/src/libANGLE/gen_copy_conversion_table.py -../../../flutter/third_party/angle/src/libANGLE/gen_extensions.py -../../../flutter/third_party/angle/src/libANGLE/gen_format_map.py -../../../flutter/third_party/angle/src/libANGLE/gen_overlay_fonts.py -../../../flutter/third_party/angle/src/libANGLE/gen_overlay_widgets.py -../../../flutter/third_party/angle/src/libANGLE/renderer/README.md -../../../flutter/third_party/angle/src/libANGLE/renderer/angle_format.py -../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/OWNERS -../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/FormatTables.md -../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/UniformBlockToStructuredBufferTranslation.md -../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/gen_blit11helper.py -../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/gen_texture_format_table.py -../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/renderer/gen_angle_format_table.py -../../../flutter/third_party/angle/src/libANGLE/renderer/gen_dxgi_format_table.py -../../../flutter/third_party/angle/src/libANGLE/renderer/gen_dxgi_support_tables.py -../../../flutter/third_party/angle/src/libANGLE/renderer/gen_load_functions_table.py -../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DisplayGL_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FeatureSupportGL.md -../../../flutter/third_party/angle/src/libANGLE/renderer/gl/OWNERS -../../../flutter/third_party/angle/src/libANGLE/renderer/gl/generate_gl_dispatch_table.py -../../../flutter/third_party/angle/src/libANGLE/renderer/metal/doc -../../../flutter/third_party/angle/src/libANGLE/renderer/metal/gen_mtl_format_table.py -../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/gen_mtl_internal_shaders.py -../../../flutter/third_party/angle/src/libANGLE/renderer/serial_utils_unittest.cpp -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/OWNERS -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/README.md -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/doc -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/OWNERS -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/gen_vk_format_table.py -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/gen_vk_mandatory_format_support_table.py -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/README.md -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/.clang-format -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/etc_decoder/README.chromium -../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/README.chromium -../../../flutter/third_party/angle/src/program_serialize_data_version.py -../../../flutter/third_party/angle/src/tests -../../../flutter/third_party/angle/src/third_party/ceval/.clang-format -../../../flutter/third_party/angle/src/third_party/ceval/README.chromium -../../../flutter/third_party/angle/src/third_party/ceval/README.md -../../../flutter/third_party/angle/src/third_party/ceval/package.json -../../../flutter/third_party/angle/src/third_party/libXNVCtrl/README.chromium -../../../flutter/third_party/angle/src/third_party/volk -../../../flutter/third_party/angle/third_party -../../../flutter/third_party/angle/tools -../../../flutter/third_party/angle/util -../../../flutter/third_party/benchmark -../../../flutter/third_party/boringssl/src/.bazelrc -../../../flutter/third_party/boringssl/src/.bazelversion -../../../flutter/third_party/boringssl/src/.bcr/README.md -../../../flutter/third_party/boringssl/src/.clang-format -../../../flutter/third_party/boringssl/src/.git -../../../flutter/third_party/boringssl/src/.github -../../../flutter/third_party/boringssl/src/.gitignore -../../../flutter/third_party/boringssl/src/API-CONVENTIONS.md -../../../flutter/third_party/boringssl/src/AUTHORS -../../../flutter/third_party/boringssl/src/BREAKING-CHANGES.md -../../../flutter/third_party/boringssl/src/BUILD.bazel -../../../flutter/third_party/boringssl/src/BUILDING.md -../../../flutter/third_party/boringssl/src/CMakeLists.txt -../../../flutter/third_party/boringssl/src/CONTRIBUTING.md -../../../flutter/third_party/boringssl/src/FUZZING.md -../../../flutter/third_party/boringssl/src/INCORPORATING.md -../../../flutter/third_party/boringssl/src/PORTING.md -../../../flutter/third_party/boringssl/src/README.md -../../../flutter/third_party/boringssl/src/SANDBOXING.md -../../../flutter/third_party/boringssl/src/STYLE.md -../../../flutter/third_party/boringssl/src/cmake -../../../flutter/third_party/boringssl/src/codereview.settings -../../../flutter/third_party/boringssl/src/crypto/abi_self_test.cc -../../../flutter/third_party/boringssl/src/crypto/asn1/asn1_test.cc -../../../flutter/third_party/boringssl/src/crypto/base64/base64_test.cc -../../../flutter/third_party/boringssl/src/crypto/bio/bio_test.cc -../../../flutter/third_party/boringssl/src/crypto/blake2/blake2_test.cc -../../../flutter/third_party/boringssl/src/crypto/buf/buf_test.cc -../../../flutter/third_party/boringssl/src/crypto/bytestring/bytestring_test.cc -../../../flutter/third_party/boringssl/src/crypto/chacha/chacha_test.cc -../../../flutter/third_party/boringssl/src/crypto/cipher/aead_test.cc -../../../flutter/third_party/boringssl/src/crypto/cipher/cipher_test.cc -../../../flutter/third_party/boringssl/src/crypto/cipher/test -../../../flutter/third_party/boringssl/src/crypto/cms/cms_test.cc -../../../flutter/third_party/boringssl/src/crypto/compiler_test.cc -../../../flutter/third_party/boringssl/src/crypto/conf/conf_test.cc -../../../flutter/third_party/boringssl/src/crypto/constant_time_test.cc -../../../flutter/third_party/boringssl/src/crypto/cpu_arm_linux_test.cc -../../../flutter/third_party/boringssl/src/crypto/crypto_test.cc -../../../flutter/third_party/boringssl/src/crypto/curve25519/ed25519_test.cc -../../../flutter/third_party/boringssl/src/crypto/curve25519/make_curve25519_tables.py -../../../flutter/third_party/boringssl/src/crypto/curve25519/spake25519_test.cc -../../../flutter/third_party/boringssl/src/crypto/curve25519/x25519_test.cc -../../../flutter/third_party/boringssl/src/crypto/dh/dh_test.cc -../../../flutter/third_party/boringssl/src/crypto/digest/digest_test.cc -../../../flutter/third_party/boringssl/src/crypto/dsa/dsa_test.cc -../../../flutter/third_party/boringssl/src/crypto/ecdh/ecdh_test.cc -../../../flutter/third_party/boringssl/src/crypto/ecdsa/ecdsa_p1363_test.cc -../../../flutter/third_party/boringssl/src/crypto/err/err_test.cc -../../../flutter/third_party/boringssl/src/crypto/evp/evp_extra_test.cc -../../../flutter/third_party/boringssl/src/crypto/evp/evp_test.cc -../../../flutter/third_party/boringssl/src/crypto/evp/pbkdf_test.cc -../../../flutter/third_party/boringssl/src/crypto/evp/scrypt_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/FIPS.md -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/aes_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/bn_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/bn_test_to_fuzzer.go -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/check_bn_tests.go -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/test -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cmac/cmac_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/asm/p256_beeu-armv8-asm.pl -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/asm/p256_beeu-x86_64-asm.pl -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/ec_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/make_ec_scalar_base_mult_tests.go -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/make_p256-nistz-tests.go -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/make_tables.go -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/hkdf/hkdf_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/keccak/keccak_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator_test.cc -../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/sha_test.cc -../../../flutter/third_party/boringssl/src/crypto/hmac/hmac_test.cc -../../../flutter/third_party/boringssl/src/crypto/hpke/hpke_test.cc -../../../flutter/third_party/boringssl/src/crypto/hpke/translate_test_vectors.py -../../../flutter/third_party/boringssl/src/crypto/hrss/hrss_test.cc -../../../flutter/third_party/boringssl/src/crypto/impl_dispatch_test.cc -../../../flutter/third_party/boringssl/src/crypto/kyber/kyber_test.cc -../../../flutter/third_party/boringssl/src/crypto/lhash/lhash_test.cc -../../../flutter/third_party/boringssl/src/crypto/md5/md5_test.cc -../../../flutter/third_party/boringssl/src/crypto/mem_test.cc -../../../flutter/third_party/boringssl/src/crypto/mldsa/mldsa_test.cc -../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem_test.cc -../../../flutter/third_party/boringssl/src/crypto/obj/README -../../../flutter/third_party/boringssl/src/crypto/obj/obj_test.cc -../../../flutter/third_party/boringssl/src/crypto/pem/pem_test.cc -../../../flutter/third_party/boringssl/src/crypto/perlasm/readme -../../../flutter/third_party/boringssl/src/crypto/pkcs7/pkcs7_test.cc -../../../flutter/third_party/boringssl/src/crypto/pkcs7/test -../../../flutter/third_party/boringssl/src/crypto/pkcs8/pkcs12_test.cc -../../../flutter/third_party/boringssl/src/crypto/pkcs8/pkcs8_test.cc -../../../flutter/third_party/boringssl/src/crypto/pkcs8/test -../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305_test.cc -../../../flutter/third_party/boringssl/src/crypto/pool/pool_test.cc -../../../flutter/third_party/boringssl/src/crypto/rand/fork_detect_test.cc -../../../flutter/third_party/boringssl/src/crypto/rand/getentropy_test.cc -../../../flutter/third_party/boringssl/src/crypto/rand/rand_test.cc -../../../flutter/third_party/boringssl/src/crypto/rand/urandom_test.cc -../../../flutter/third_party/boringssl/src/crypto/refcount_test.cc -../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_test.cc -../../../flutter/third_party/boringssl/src/crypto/self_test.cc -../../../flutter/third_party/boringssl/src/crypto/siphash/siphash_test.cc -../../../flutter/third_party/boringssl/src/crypto/slhdsa/slhdsa_test.cc -../../../flutter/third_party/boringssl/src/crypto/spake2plus/spake2plus_test.cc -../../../flutter/third_party/boringssl/src/crypto/stack/stack_test.cc -../../../flutter/third_party/boringssl/src/crypto/test -../../../flutter/third_party/boringssl/src/crypto/thread_test.cc -../../../flutter/third_party/boringssl/src/crypto/trust_token/trust_token_test.cc -../../../flutter/third_party/boringssl/src/crypto/x509/test -../../../flutter/third_party/boringssl/src/crypto/x509/x509_test.cc -../../../flutter/third_party/boringssl/src/crypto/x509/x509_time_test.cc -../../../flutter/third_party/boringssl/src/crypto/xwing/xwing_test.cc -../../../flutter/third_party/boringssl/src/decrepit/blowfish/blowfish_test.cc -../../../flutter/third_party/boringssl/src/decrepit/cast/cast_test.cc -../../../flutter/third_party/boringssl/src/decrepit/cfb/cfb_test.cc -../../../flutter/third_party/boringssl/src/decrepit/des/des_test.cc -../../../flutter/third_party/boringssl/src/decrepit/evp/evp_test.cc -../../../flutter/third_party/boringssl/src/decrepit/ripemd/ripemd_test.cc -../../../flutter/third_party/boringssl/src/decrepit/xts/xts_test.cc -../../../flutter/third_party/boringssl/src/fuzz -../../../flutter/third_party/boringssl/src/gen/README.md -../../../flutter/third_party/boringssl/src/gen/sources.bzl -../../../flutter/third_party/boringssl/src/gen/sources.cmake -../../../flutter/third_party/boringssl/src/gen/sources.mk -../../../flutter/third_party/boringssl/src/gen/test_support -../../../flutter/third_party/boringssl/src/infra/config/README.md -../../../flutter/third_party/boringssl/src/pki/README.md -../../../flutter/third_party/boringssl/src/pki/cert_issuer_source_static_unittest.cc -../../../flutter/third_party/boringssl/src/pki/cert_issuer_source_sync_unittest.h -../../../flutter/third_party/boringssl/src/pki/certificate_policies_unittest.cc -../../../flutter/third_party/boringssl/src/pki/certificate_unittest.cc -../../../flutter/third_party/boringssl/src/pki/crl_unittest.cc -../../../flutter/third_party/boringssl/src/pki/encode_values_unittest.cc -../../../flutter/third_party/boringssl/src/pki/extended_key_usage_unittest.cc -../../../flutter/third_party/boringssl/src/pki/general_names_unittest.cc -../../../flutter/third_party/boringssl/src/pki/input_unittest.cc -../../../flutter/third_party/boringssl/src/pki/ip_util_unittest.cc -../../../flutter/third_party/boringssl/src/pki/name_constraints_unittest.cc -../../../flutter/third_party/boringssl/src/pki/nist_pkits_unittest.cc -../../../flutter/third_party/boringssl/src/pki/nist_pkits_unittest.h -../../../flutter/third_party/boringssl/src/pki/ocsp_unittest.cc -../../../flutter/third_party/boringssl/src/pki/parse_certificate_unittest.cc -../../../flutter/third_party/boringssl/src/pki/parse_name_unittest.cc -../../../flutter/third_party/boringssl/src/pki/parse_values_unittest.cc -../../../flutter/third_party/boringssl/src/pki/parsed_certificate_unittest.cc -../../../flutter/third_party/boringssl/src/pki/parser_unittest.cc -../../../flutter/third_party/boringssl/src/pki/path_builder_pkits_unittest.cc -../../../flutter/third_party/boringssl/src/pki/path_builder_unittest.cc -../../../flutter/third_party/boringssl/src/pki/path_builder_verify_certificate_chain_unittest.cc -../../../flutter/third_party/boringssl/src/pki/pem_unittest.cc -../../../flutter/third_party/boringssl/src/pki/signature_algorithm_unittest.cc -../../../flutter/third_party/boringssl/src/pki/simple_path_builder_delegate_unittest.cc -../../../flutter/third_party/boringssl/src/pki/string_util_unittest.cc -../../../flutter/third_party/boringssl/src/pki/testdata -../../../flutter/third_party/boringssl/src/pki/trust_store_collection_unittest.cc -../../../flutter/third_party/boringssl/src/pki/trust_store_in_memory_unittest.cc -../../../flutter/third_party/boringssl/src/pki/verify_certificate_chain_pkits_unittest.cc -../../../flutter/third_party/boringssl/src/pki/verify_certificate_chain_typed_unittest.h -../../../flutter/third_party/boringssl/src/pki/verify_certificate_chain_unittest.cc -../../../flutter/third_party/boringssl/src/pki/verify_name_match_unittest.cc -../../../flutter/third_party/boringssl/src/pki/verify_signed_data_unittest.cc -../../../flutter/third_party/boringssl/src/pki/verify_unittest.cc -../../../flutter/third_party/boringssl/src/rust -../../../flutter/third_party/boringssl/src/ssl/span_test.cc -../../../flutter/third_party/boringssl/src/ssl/ssl_c_test.c -../../../flutter/third_party/boringssl/src/ssl/ssl_internal_test.cc -../../../flutter/third_party/boringssl/src/ssl/ssl_test.cc -../../../flutter/third_party/boringssl/src/ssl/test -../../../flutter/third_party/boringssl/src/third_party/fiat/AUTHORS -../../../flutter/third_party/boringssl/src/third_party/fiat/METADATA -../../../flutter/third_party/boringssl/src/third_party/fiat/README.chromium -../../../flutter/third_party/boringssl/src/third_party/fiat/README.md -../../../flutter/third_party/boringssl/src/third_party/fiat/bedrock_platform_test.cc -../../../flutter/third_party/boringssl/src/third_party/googletest -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/METADATA -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aead_aes_siv_cmac_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aegis128L_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aegis128_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aegis256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_ccm_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_cmac_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_cmac_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_eax_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_eax_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_gcm_siv_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_gcm_siv_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_gcm_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_gcm_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/aes_siv_cmac_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/chacha20_poly1305_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/chacha20_poly1305_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_2048_224_sha224_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_2048_224_sha224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_2048_224_sha256_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_2048_224_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_2048_256_sha256_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_2048_256_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_3072_256_sha256_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_3072_256_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/dsa_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_brainpoolP224r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_brainpoolP256r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_brainpoolP320r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_brainpoolP384r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_brainpoolP512r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp224r1_ecpoint_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp224r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp224r1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp256k1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp256r1_ecpoint_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp256r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp256r1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp384r1_ecpoint_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp384r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp384r1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp521r1_ecpoint_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp521r1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_secp521r1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdh_webcrypto_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP224r1_sha224_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP224r1_sha224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP256r1_sha256_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP256r1_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP320r1_sha384_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP320r1_sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP384r1_sha384_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP384r1_sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP512r1_sha512_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP512r1_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_p1363_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_p1363_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha3_224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha3_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha3_512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_p1363_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha256_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha3_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha3_512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha512_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_p1363_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha3_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha3_512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_p1363_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_p1363_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha3_384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha3_512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_p1363_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha3_512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_p1363_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_p1363_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ecdsa_webcrypto_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/ed448_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/eddsa_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/eddsa_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/gmac_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hkdf_sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hkdf_sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hkdf_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hkdf_sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hkdf_sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hkdf_sha384_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hkdf_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hkdf_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha224_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha384_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha3_224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha3_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha3_384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha3_512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/hmac_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/kw_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/kw_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/kwp_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/kwp_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/mldsa_65_standard_sign_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/mldsa_65_standard_sign_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/mldsa_65_standard_verify_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/mldsa_65_standard_verify_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/mldsa_87_standard_sign_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/mldsa_87_standard_sign_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/mldsa_87_standard_verify_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/mldsa_87_standard_verify_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/primality_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/primality_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha1_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha1_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha224_mgf1sha224_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha256_mgf1sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha384_mgf1sha384_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_2048_sha512_mgf1sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_3072_sha256_mgf1sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_3072_sha512_mgf1sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_4096_sha256_mgf1sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha1_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha1_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_4096_sha512_mgf1sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_misc_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_oaep_misc_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pkcs1_2048_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pkcs1_2048_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pkcs1_3072_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pkcs1_3072_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pkcs1_4096_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pkcs1_4096_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_2048_sha1_mgf1_20_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_2048_sha1_mgf1_20_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_0_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_0_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_32_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_2048_sha256_mgf1_32_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_2048_sha512_256_mgf1_28_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_2048_sha512_256_mgf1_32_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_3072_sha256_mgf1_32_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_3072_sha256_mgf1_32_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_4096_sha256_mgf1_32_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_4096_sha256_mgf1_32_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_4096_sha512_mgf1_32_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_4096_sha512_mgf1_32_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_misc_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_pss_misc_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_sig_gen_misc_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_sig_gen_misc_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha384_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha3_224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha3_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha3_384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha3_512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha512_224_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha512_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha3_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha3_384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha3_512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha512_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha512_256_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/rsa_signature_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/vmac_128_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/vmac_64_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x25519_asn_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x25519_jwk_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x25519_pem_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x25519_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x25519_test.txt -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x448_asn_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x448_jwk_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x448_pem_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/x448_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/xchacha20_poly1305_test.json -../../../flutter/third_party/boringssl/src/third_party/wycheproof_testvectors/xchacha20_poly1305_test.txt -../../../flutter/third_party/boringssl/src/util -../../../flutter/third_party/brotli/.editorconfig -../../../flutter/third_party/brotli/.git -../../../flutter/third_party/brotli/.gitattributes -../../../flutter/third_party/brotli/.github -../../../flutter/third_party/brotli/.gitignore -../../../flutter/third_party/brotli/BUILD.bazel -../../../flutter/third_party/brotli/CHANGELOG.md -../../../flutter/third_party/brotli/CMakeLists.txt -../../../flutter/third_party/brotli/CONTRIBUTING.md -../../../flutter/third_party/brotli/MANIFEST.in -../../../flutter/third_party/brotli/README -../../../flutter/third_party/brotli/README.md -../../../flutter/third_party/brotli/SECURITY.md -../../../flutter/third_party/brotli/WORKSPACE.bazel -../../../flutter/third_party/brotli/c/fuzz/.bazelrc -../../../flutter/third_party/brotli/c/fuzz/BUILD.bazel -../../../flutter/third_party/brotli/c/fuzz/WORKSPACE.bazel -../../../flutter/third_party/brotli/csharp -../../../flutter/third_party/brotli/docs -../../../flutter/third_party/brotli/go -../../../flutter/third_party/brotli/java -../../../flutter/third_party/brotli/js -../../../flutter/third_party/brotli/python -../../../flutter/third_party/brotli/research -../../../flutter/third_party/brotli/scripts -../../../flutter/third_party/brotli/setup.py -../../../flutter/third_party/brotli/tests -../../../flutter/third_party/cpu_features/src/.clang-format -../../../flutter/third_party/cpu_features/src/.git -../../../flutter/third_party/cpu_features/src/.github -../../../flutter/third_party/cpu_features/src/.gitignore -../../../flutter/third_party/cpu_features/src/BUILD.bazel -../../../flutter/third_party/cpu_features/src/CMakeLists.txt -../../../flutter/third_party/cpu_features/src/CONTRIBUTING.md -../../../flutter/third_party/cpu_features/src/README.md -../../../flutter/third_party/cpu_features/src/WORKSPACE -../../../flutter/third_party/cpu_features/src/bazel/ci/README.md -../../../flutter/third_party/cpu_features/src/bazel/platforms.bzl -../../../flutter/third_party/cpu_features/src/cmake -../../../flutter/third_party/cpu_features/src/ndk_compat/CMakeLists.txt -../../../flutter/third_party/cpu_features/src/ndk_compat/README.md -../../../flutter/third_party/cpu_features/src/test -../../../flutter/third_party/dart -../../../flutter/third_party/dart/.clang-format -../../../flutter/third_party/dart/.dart_tool -../../../flutter/third_party/dart/.git -../../../flutter/third_party/dart/.gitattributes -../../../flutter/third_party/dart/.gitconfig -../../../flutter/third_party/dart/.github -../../../flutter/third_party/dart/.gitignore -../../../flutter/third_party/dart/.gn -../../../flutter/third_party/dart/.mailmap -../../../flutter/third_party/dart/.style.yapf -../../../flutter/third_party/dart/AUTHORS -../../../flutter/third_party/dart/CHANGELOG.md -../../../flutter/third_party/dart/CONTRIBUTING.md -../../../flutter/third_party/dart/DEPS -../../../flutter/third_party/dart/OWNERS -../../../flutter/third_party/dart/PATENT_GRANT -../../../flutter/third_party/dart/PRESUBMIT.py -../../../flutter/third_party/dart/README.dart-sdk -../../../flutter/third_party/dart/README.md -../../../flutter/third_party/dart/SECURITY.md -../../../flutter/third_party/dart/WATCHLISTS -../../../flutter/third_party/dart/benchmarks -../../../flutter/third_party/dart/build -../../../flutter/third_party/dart/codereview.settings -../../../flutter/third_party/dart/docs -../../../flutter/third_party/dart/pkg -../../../flutter/third_party/dart/pubspec.lock -../../../flutter/third_party/dart/pubspec.yaml -../../../flutter/third_party/dart/runtime/.clang-tidy -../../../flutter/third_party/dart/runtime/.gitignore -../../../flutter/third_party/dart/runtime/CPPLINT.cfg -../../../flutter/third_party/dart/runtime/OWNERS -../../../flutter/third_party/dart/runtime/PRESUBMIT.py -../../../flutter/third_party/dart/runtime/bin/abstract_socket_test.cc -../../../flutter/third_party/dart/runtime/bin/crypto_test.cc -../../../flutter/third_party/dart/runtime/bin/directory_test.cc -../../../flutter/third_party/dart/runtime/bin/entrypoints_verification_test.cc -../../../flutter/third_party/dart/runtime/bin/eventhandler_test.cc -../../../flutter/third_party/dart/runtime/bin/ffi_test -../../../flutter/third_party/dart/runtime/bin/file_test.cc -../../../flutter/third_party/dart/runtime/bin/hashmap_test.cc -../../../flutter/third_party/dart/runtime/bin/list_queue_test.cc -../../../flutter/third_party/dart/runtime/bin/priority_heap_test.cc -../../../flutter/third_party/dart/runtime/bin/process_test.cc -../../../flutter/third_party/dart/runtime/bin/secure_socket_utils_test.cc -../../../flutter/third_party/dart/runtime/bin/snapshot_utils_test.cc -../../../flutter/third_party/dart/runtime/bin/uri_test.cc -../../../flutter/third_party/dart/runtime/codereview.settings -../../../flutter/third_party/dart/runtime/docs -../../../flutter/third_party/dart/runtime/engine/README.md -../../../flutter/third_party/dart/runtime/observatory/.gitignore -../../../flutter/third_party/dart/runtime/observatory/HACKING.md -../../../flutter/third_party/dart/runtime/observatory/analysis_options.yaml -../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/css/shared.css -../../../flutter/third_party/dart/runtime/observatory/pubspec.yaml -../../../flutter/third_party/dart/runtime/observatory/tests -../../../flutter/third_party/dart/runtime/observatory/web/third_party/README.md -../../../flutter/third_party/dart/runtime/tests -../../../flutter/third_party/dart/runtime/tools/.dart_tool -../../../flutter/third_party/dart/runtime/tools/.gitignore -../../../flutter/third_party/dart/runtime/tools/android_finder.py -../../../flutter/third_party/dart/runtime/tools/benchmark.py -../../../flutter/third_party/dart/runtime/tools/bin_to_assembly.py -../../../flutter/third_party/dart/runtime/tools/bin_to_coff.py -../../../flutter/third_party/dart/runtime/tools/compiler_layering_check.py -../../../flutter/third_party/dart/runtime/tools/create_archive.py -../../../flutter/third_party/dart/runtime/tools/create_snapshot_bin.py -../../../flutter/third_party/dart/runtime/tools/create_snapshot_file.py -../../../flutter/third_party/dart/runtime/tools/create_string_literal.py -../../../flutter/third_party/dart/runtime/tools/dart_codesign.py -../../../flutter/third_party/dart/runtime/tools/dart_profiler_symbols.py -../../../flutter/third_party/dart/runtime/tools/dartfuzz/README.md -../../../flutter/third_party/dart/runtime/tools/dartfuzz/README_minimize.md -../../../flutter/third_party/dart/runtime/tools/dartfuzz/analysis_options.yaml -../../../flutter/third_party/dart/runtime/tools/dartfuzz/collect_data.py -../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz_test.dart -../../../flutter/third_party/dart/runtime/tools/dartfuzz/minimize.py -../../../flutter/third_party/dart/runtime/tools/dartfuzz/pubspec.yaml -../../../flutter/third_party/dart/runtime/tools/dartfuzz/update_spreadsheet.py -../../../flutter/third_party/dart/runtime/tools/embedder_layering_check.py -../../../flutter/third_party/dart/runtime/tools/entitlements/README.md -../../../flutter/third_party/dart/runtime/tools/exists.py -../../../flutter/third_party/dart/runtime/tools/gen_library_src_paths.py -../../../flutter/third_party/dart/runtime/tools/graphexplorer/graphexplorer.css -../../../flutter/third_party/dart/runtime/tools/heapsnapshot/CHANGELOG.md -../../../flutter/third_party/dart/runtime/tools/heapsnapshot/README.md -../../../flutter/third_party/dart/runtime/tools/heapsnapshot/pubspec.yaml -../../../flutter/third_party/dart/runtime/tools/heapsnapshot/test -../../../flutter/third_party/dart/runtime/tools/profiling/.dart_tool -../../../flutter/third_party/dart/runtime/tools/profiling/.gitignore -../../../flutter/third_party/dart/runtime/tools/profiling/CHANGELOG.md -../../../flutter/third_party/dart/runtime/tools/profiling/README.md -../../../flutter/third_party/dart/runtime/tools/profiling/analysis_options.yaml -../../../flutter/third_party/dart/runtime/tools/profiling/pubspec.yaml -../../../flutter/third_party/dart/runtime/tools/pubspec.yaml -../../../flutter/third_party/dart/runtime/tools/utils.py -../../../flutter/third_party/dart/runtime/tools/valgrind.py -../../../flutter/third_party/dart/runtime/tools/wiki/README.md -../../../flutter/third_party/dart/runtime/tools/wiki/build/admonitions.py -../../../flutter/third_party/dart/runtime/tools/wiki/build/build.py -../../../flutter/third_party/dart/runtime/tools/wiki/build/cpp_indexer.py -../../../flutter/third_party/dart/runtime/tools/wiki/build/xrefs.py -../../../flutter/third_party/dart/runtime/vm/allocation_test.cc -../../../flutter/third_party/dart/runtime/vm/ama_test.cc -../../../flutter/third_party/dart/runtime/vm/assert_test.cc -../../../flutter/third_party/dart/runtime/vm/atomic_test.cc -../../../flutter/third_party/dart/runtime/vm/base64_test.cc -../../../flutter/third_party/dart/runtime/vm/benchmark_test.cc -../../../flutter/third_party/dart/runtime/vm/benchmark_test.h -../../../flutter/third_party/dart/runtime/vm/bit_set_test.cc -../../../flutter/third_party/dart/runtime/vm/bit_vector_test.cc -../../../flutter/third_party/dart/runtime/vm/bitfield_test.cc -../../../flutter/third_party/dart/runtime/vm/bitmap_test.cc -../../../flutter/third_party/dart/runtime/vm/catch_entry_moves_test.cc -../../../flutter/third_party/dart/runtime/vm/class_finalizer_test.cc -../../../flutter/third_party/dart/runtime/vm/code_descriptors_test.cc -../../../flutter/third_party/dart/runtime/vm/code_patcher_arm64_test.cc -../../../flutter/third_party/dart/runtime/vm/code_patcher_arm_test.cc -../../../flutter/third_party/dart/runtime/vm/code_patcher_ia32_test.cc -../../../flutter/third_party/dart/runtime/vm/code_patcher_riscv_test.cc -../../../flutter/third_party/dart/runtime/vm/code_patcher_x64_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/README.md -../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm64_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_ia32_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_riscv_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_test.h -../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_x64_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/bce_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/constant_propagator_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/inliner_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/linearscan_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations_helpers_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/loops_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/memory_copy_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/pragma_unsafe_no_bounds_check_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/range_analysis_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/reachability_fence_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/redundancy_elimination_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/slot_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/type_propagator_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/typed_data_aot_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/backend/yield_position_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/cha_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/ffi/README.md -../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_calling_convention_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_location_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_type_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_type_vm_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/ffi/unit_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/ffi/unit_test.h -../../../flutter/third_party/dart/runtime/vm/compiler/ffi/unit_tests -../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_binary_flowgraph_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/relocation_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler/write_barrier_elimination_test.cc -../../../flutter/third_party/dart/runtime/vm/compiler_test.cc -../../../flutter/third_party/dart/runtime/vm/cpu_test.cc -../../../flutter/third_party/dart/runtime/vm/cpuinfo_test.cc -../../../flutter/third_party/dart/runtime/vm/custom_isolate_test.cc -../../../flutter/third_party/dart/runtime/vm/dart_api_impl_test.cc -../../../flutter/third_party/dart/runtime/vm/datastream_test.cc -../../../flutter/third_party/dart/runtime/vm/debugger_api_impl_test.cc -../../../flutter/third_party/dart/runtime/vm/debugger_api_impl_test.h -../../../flutter/third_party/dart/runtime/vm/exceptions_test.cc -../../../flutter/third_party/dart/runtime/vm/ffi_callback_metadata_test.cc -../../../flutter/third_party/dart/runtime/vm/fixed_cache_test.cc -../../../flutter/third_party/dart/runtime/vm/flags_test.cc -../../../flutter/third_party/dart/runtime/vm/growable_array_test.cc -../../../flutter/third_party/dart/runtime/vm/guard_field_test.cc -../../../flutter/third_party/dart/runtime/vm/handles_test.cc -../../../flutter/third_party/dart/runtime/vm/hash_map_test.cc -../../../flutter/third_party/dart/runtime/vm/hash_table_test.cc -../../../flutter/third_party/dart/runtime/vm/heap/become_test.cc -../../../flutter/third_party/dart/runtime/vm/heap/freelist_test.cc -../../../flutter/third_party/dart/runtime/vm/heap/heap_test.cc -../../../flutter/third_party/dart/runtime/vm/heap/safepoint_test.cc -../../../flutter/third_party/dart/runtime/vm/heap/splay_test.cc -../../../flutter/third_party/dart/runtime/vm/heap/weak_table_test.cc -../../../flutter/third_party/dart/runtime/vm/instructions_arm64_test.cc -../../../flutter/third_party/dart/runtime/vm/instructions_arm_test.cc -../../../flutter/third_party/dart/runtime/vm/instructions_ia32_test.cc -../../../flutter/third_party/dart/runtime/vm/instructions_riscv_test.cc -../../../flutter/third_party/dart/runtime/vm/instructions_x64_test.cc -../../../flutter/third_party/dart/runtime/vm/intrusive_dlist_test.cc -../../../flutter/third_party/dart/runtime/vm/isolate_reload_test.cc -../../../flutter/third_party/dart/runtime/vm/isolate_test.cc -../../../flutter/third_party/dart/runtime/vm/json_test.cc -../../../flutter/third_party/dart/runtime/vm/libfuzzer/README.md -../../../flutter/third_party/dart/runtime/vm/line_starts_reader_test.cc -../../../flutter/third_party/dart/runtime/vm/log_test.cc -../../../flutter/third_party/dart/runtime/vm/longjump_test.cc -../../../flutter/third_party/dart/runtime/vm/memory_region_test.cc -../../../flutter/third_party/dart/runtime/vm/message_handler_test.cc -../../../flutter/third_party/dart/runtime/vm/message_test.cc -../../../flutter/third_party/dart/runtime/vm/metrics_test.cc -../../../flutter/third_party/dart/runtime/vm/mixin_test.cc -../../../flutter/third_party/dart/runtime/vm/native_entry_test.cc -../../../flutter/third_party/dart/runtime/vm/native_entry_test.h -../../../flutter/third_party/dart/runtime/vm/object_arm64_test.cc -../../../flutter/third_party/dart/runtime/vm/object_arm_test.cc -../../../flutter/third_party/dart/runtime/vm/object_graph_test.cc -../../../flutter/third_party/dart/runtime/vm/object_ia32_test.cc -../../../flutter/third_party/dart/runtime/vm/object_id_ring_test.cc -../../../flutter/third_party/dart/runtime/vm/object_riscv_test.cc -../../../flutter/third_party/dart/runtime/vm/object_store_test.cc -../../../flutter/third_party/dart/runtime/vm/object_test.cc -../../../flutter/third_party/dart/runtime/vm/object_x64_test.cc -../../../flutter/third_party/dart/runtime/vm/os_test.cc -../../../flutter/third_party/dart/runtime/vm/port_test.cc -../../../flutter/third_party/dart/runtime/vm/profiler_test.cc -../../../flutter/third_party/dart/runtime/vm/protos/.gitignore -../../../flutter/third_party/dart/runtime/vm/regexp/regexp_test.cc -../../../flutter/third_party/dart/runtime/vm/ring_buffer_test.cc -../../../flutter/third_party/dart/runtime/vm/scopes_test.cc -../../../flutter/third_party/dart/runtime/vm/service -../../../flutter/third_party/dart/runtime/vm/service_test.cc -../../../flutter/third_party/dart/runtime/vm/snapshot_test.cc -../../../flutter/third_party/dart/runtime/vm/source_report_test.cc -../../../flutter/third_party/dart/runtime/vm/stack_frame_test.cc -../../../flutter/third_party/dart/runtime/vm/stub_code_arm64_test.cc -../../../flutter/third_party/dart/runtime/vm/stub_code_arm_test.cc -../../../flutter/third_party/dart/runtime/vm/stub_code_ia32_test.cc -../../../flutter/third_party/dart/runtime/vm/stub_code_riscv_test.cc -../../../flutter/third_party/dart/runtime/vm/stub_code_test.cc -../../../flutter/third_party/dart/runtime/vm/stub_code_x64_test.cc -../../../flutter/third_party/dart/runtime/vm/thread_barrier_test.cc -../../../flutter/third_party/dart/runtime/vm/thread_pool_test.cc -../../../flutter/third_party/dart/runtime/vm/thread_test.cc -../../../flutter/third_party/dart/runtime/vm/timeline_test.cc -../../../flutter/third_party/dart/runtime/vm/type_testing_stubs_test.cc -../../../flutter/third_party/dart/runtime/vm/unicode_test.cc -../../../flutter/third_party/dart/runtime/vm/unit_test.cc -../../../flutter/third_party/dart/runtime/vm/unit_test.h -../../../flutter/third_party/dart/runtime/vm/utils_test.cc -../../../flutter/third_party/dart/runtime/vm/virtual_memory_test.cc -../../../flutter/third_party/dart/runtime/vm/zone_test.cc -../../../flutter/third_party/dart/samples -../../../flutter/third_party/dart/sdk/.gitignore -../../../flutter/third_party/dart/sdk/OWNERS -../../../flutter/third_party/dart/sdk/api_readme.md -../../../flutter/third_party/dart/sdk/lib/PRESUBMIT.py -../../../flutter/third_party/dart/sdk/lib/_internal/allowed_experiments.json -../../../flutter/third_party/dart/sdk/lib/_internal/fix_data.yaml -../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/OWNERS -../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/preambles/README -../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/OWNERS -../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/preambles/README -../../../flutter/third_party/dart/sdk/lib/_internal/sdk_library_metadata/pubspec.yaml -../../../flutter/third_party/dart/sdk/lib/_internal/vm/OWNERS -../../../flutter/third_party/dart/sdk/lib/_internal/wasm/OWNERS -../../../flutter/third_party/dart/sdk/lib/_wasm/OWNERS -../../../flutter/third_party/dart/sdk/lib/html/dart2js -../../../flutter/third_party/dart/sdk/lib/html/doc -../../../flutter/third_party/dart/sdk/lib/libraries.json -../../../flutter/third_party/dart/sdk/lib/libraries.yaml -../../../flutter/third_party/dart/sdk/lib/svg/dart2js -../../../flutter/third_party/dart/sdk/lib/vmservice_libraries.json -../../../flutter/third_party/dart/sdk/lib/vmservice_libraries.yaml -../../../flutter/third_party/dart/sdk/version -../../../flutter/third_party/dart/sdk_packages.yaml -../../../flutter/third_party/dart/tests -../../../flutter/third_party/dart/third_party/.gitignore -../../../flutter/third_party/dart/third_party/OWNERS -../../../flutter/third_party/dart/third_party/binary_size -../../../flutter/third_party/dart/third_party/binaryen -../../../flutter/third_party/dart/third_party/boringssl/OWNERS -../../../flutter/third_party/dart/third_party/clang.tar.gz.sha1 -../../../flutter/third_party/dart/third_party/cpu_features/OWNERS -../../../flutter/third_party/dart/third_party/cpu_features/README.chromium -../../../flutter/third_party/dart/third_party/d3 -../../../flutter/third_party/dart/third_party/d8 -../../../flutter/third_party/dart/third_party/devtools -../../../flutter/third_party/dart/third_party/double-conversion/.gitignore -../../../flutter/third_party/dart/third_party/double-conversion/AUTHORS -../../../flutter/third_party/dart/third_party/double-conversion/Changelog -../../../flutter/third_party/dart/third_party/double-conversion/OWNERS -../../../flutter/third_party/dart/third_party/double-conversion/README.dart -../../../flutter/third_party/dart/third_party/double-conversion/README.md -../../../flutter/third_party/dart/third_party/fallback_root_certificates/OWNERS -../../../flutter/third_party/dart/third_party/fallback_root_certificates/README.google -../../../flutter/third_party/dart/third_party/fallback_root_certificates/certdata.pem -../../../flutter/third_party/dart/third_party/fallback_root_certificates/certdata.txt -../../../flutter/third_party/dart/third_party/firefox_jsshell -../../../flutter/third_party/dart/third_party/jsc/README.google -../../../flutter/third_party/dart/third_party/mdn/browser-compat-data/README.google -../../../flutter/third_party/dart/third_party/pkg -../../../flutter/third_party/dart/third_party/requirejs -../../../flutter/third_party/dart/tools -../../../flutter/third_party/dart/utils/.dart_tool -../../../flutter/third_party/dart/utils/OWNERS -../../../flutter/third_party/dart/utils/compiler/.gitignore -../../../flutter/third_party/dart/utils/dartanalyzer/.gitignore -../../../flutter/third_party/dart/utils/dynamic_module_runner/dynamic_interface.yaml -../../../flutter/third_party/dart/utils/pubspec.yaml -../../../flutter/third_party/depot_tools -../../../flutter/third_party/expat/.git -../../../flutter/third_party/expat/.github -../../../flutter/third_party/expat/.gitignore -../../../flutter/third_party/expat/.mailmap -../../../flutter/third_party/expat/Brewfile -../../../flutter/third_party/expat/README.md -../../../flutter/third_party/expat/SECURITY.md -../../../flutter/third_party/expat/expat/.clang-format -../../../flutter/third_party/expat/expat/.gitignore -../../../flutter/third_party/expat/expat/AUTHORS -../../../flutter/third_party/expat/expat/CMake.README -../../../flutter/third_party/expat/expat/CMakeLists.txt -../../../flutter/third_party/expat/expat/Changes -../../../flutter/third_party/expat/expat/ConfigureChecks.cmake -../../../flutter/third_party/expat/expat/README.md -../../../flutter/third_party/expat/expat/acinclude.m4 -../../../flutter/third_party/expat/expat/cmake -../../../flutter/third_party/expat/expat/configure-ac-style.md -../../../flutter/third_party/expat/expat/conftools/.gitignore -../../../flutter/third_party/expat/expat/conftools/ax-append-compile-flags.m4 -../../../flutter/third_party/expat/expat/conftools/ax-append-flag.m4 -../../../flutter/third_party/expat/expat/conftools/ax-append-link-flags.m4 -../../../flutter/third_party/expat/expat/conftools/ax-check-compile-flag.m4 -../../../flutter/third_party/expat/expat/conftools/ax-check-link-flag.m4 -../../../flutter/third_party/expat/expat/conftools/ax-cxx-compile-stdcxx-11.m4 -../../../flutter/third_party/expat/expat/conftools/ax-cxx-compile-stdcxx.m4 -../../../flutter/third_party/expat/expat/conftools/ax-require-defined.m4 -../../../flutter/third_party/expat/expat/conftools/expat.m4 -../../../flutter/third_party/expat/expat/conftools/expatcfg-compiler-supports-visibility.m4 -../../../flutter/third_party/expat/expat/doc -../../../flutter/third_party/expat/expat/examples -../../../flutter/third_party/expat/expat/expat.pc.cmake -../../../flutter/third_party/expat/expat/expat_config.h.cmake -../../../flutter/third_party/expat/expat/fuzz/.gitignore -../../../flutter/third_party/expat/expat/gennmtab/.gitignore -../../../flutter/third_party/expat/expat/lib/.gitignore -../../../flutter/third_party/expat/expat/lib/libexpat.def.cmake -../../../flutter/third_party/expat/expat/m4/.gitignore -../../../flutter/third_party/expat/expat/memory-sanitizer-blacklist.txt -../../../flutter/third_party/expat/expat/tests -../../../flutter/third_party/expat/expat/win32/.gitignore -../../../flutter/third_party/expat/expat/win32/MANIFEST.txt -../../../flutter/third_party/expat/expat/win32/README.txt -../../../flutter/third_party/expat/expat/win32/expat.iss -../../../flutter/third_party/expat/expat/win32/version.rc.cmake -../../../flutter/third_party/expat/expat/xmlwf/.gitignore -../../../flutter/third_party/expat/expat/xmlwf/xmlwf_helpgen.py -../../../flutter/third_party/expat/testdata -../../../flutter/third_party/flatbuffers/.bazelci -../../../flutter/third_party/flatbuffers/.clang-format -../../../flutter/third_party/flatbuffers/.editorconfig -../../../flutter/third_party/flatbuffers/.eslintrc.js -../../../flutter/third_party/flatbuffers/.git -../../../flutter/third_party/flatbuffers/.gitattributes -../../../flutter/third_party/flatbuffers/.github -../../../flutter/third_party/flatbuffers/.gitignore -../../../flutter/third_party/flatbuffers/.travis.yml -../../../flutter/third_party/flatbuffers/.travis/check-sources.sh.py -../../../flutter/third_party/flatbuffers/BUILD.bazel -../../../flutter/third_party/flatbuffers/CMake -../../../flutter/third_party/flatbuffers/CMakeLists.txt -../../../flutter/third_party/flatbuffers/CONTRIBUTING.md -../../../flutter/third_party/flatbuffers/Formatters.md -../../../flutter/third_party/flatbuffers/SECURITY.md -../../../flutter/third_party/flatbuffers/WORKSPACE -../../../flutter/third_party/flatbuffers/android -../../../flutter/third_party/flatbuffers/benchmarks -../../../flutter/third_party/flatbuffers/build_defs.bzl -../../../flutter/third_party/flatbuffers/conan/CMakeLists.txt -../../../flutter/third_party/flatbuffers/conan/appveyor/build.py -../../../flutter/third_party/flatbuffers/conan/appveyor/install.py -../../../flutter/third_party/flatbuffers/conan/build.py -../../../flutter/third_party/flatbuffers/conan/test_package/CMakeLists.txt -../../../flutter/third_party/flatbuffers/conan/test_package/conanfile.py -../../../flutter/third_party/flatbuffers/conanfile.py -../../../flutter/third_party/flatbuffers/dart/CHANGELOG.md -../../../flutter/third_party/flatbuffers/dart/README.md -../../../flutter/third_party/flatbuffers/dart/analysis_options.yaml -../../../flutter/third_party/flatbuffers/dart/example -../../../flutter/third_party/flatbuffers/dart/pubspec.yaml -../../../flutter/third_party/flatbuffers/dart/test -../../../flutter/third_party/flatbuffers/docs -../../../flutter/third_party/flatbuffers/go -../../../flutter/third_party/flatbuffers/grpc/README.md -../../../flutter/third_party/flatbuffers/grpc/examples -../../../flutter/third_party/flatbuffers/grpc/flatbuffers-java-grpc/pom.xml -../../../flutter/third_party/flatbuffers/grpc/pom.xml -../../../flutter/third_party/flatbuffers/grpc/samples -../../../flutter/third_party/flatbuffers/grpc/src/compiler/BUILD.bazel -../../../flutter/third_party/flatbuffers/grpc/tests -../../../flutter/third_party/flatbuffers/js/README.md -../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/jvmTest -../../../flutter/third_party/flatbuffers/kotlin/gradle.properties -../../../flutter/third_party/flatbuffers/mjs/README.md -../../../flutter/third_party/flatbuffers/net -../../../flutter/third_party/flatbuffers/package.json -../../../flutter/third_party/flatbuffers/php -../../../flutter/third_party/flatbuffers/pom.xml -../../../flutter/third_party/flatbuffers/python -../../../flutter/third_party/flatbuffers/readme.md -../../../flutter/third_party/flatbuffers/reflection/BUILD.bazel -../../../flutter/third_party/flatbuffers/rust -../../../flutter/third_party/flatbuffers/samples -../../../flutter/third_party/flatbuffers/scripts/check_generate_code.py -../../../flutter/third_party/flatbuffers/scripts/generate_code.py -../../../flutter/third_party/flatbuffers/snap/snapcraft.yaml -../../../flutter/third_party/flatbuffers/src/BUILD.bazel -../../../flutter/third_party/flatbuffers/swift.swiftformat -../../../flutter/third_party/flatbuffers/swift/BUILD.bazel -../../../flutter/third_party/flatbuffers/swift/README.md -../../../flutter/third_party/flatbuffers/tests -../../../flutter/third_party/flatbuffers/ts -../../../flutter/third_party/flatbuffers/typescript.bzl -../../../flutter/third_party/freetype2/.clang-format -../../../flutter/third_party/freetype2/.git -../../../flutter/third_party/freetype2/.gitignore -../../../flutter/third_party/freetype2/.gitlab-ci.yml -../../../flutter/third_party/freetype2/.gitmodules -../../../flutter/third_party/freetype2/.mailmap -../../../flutter/third_party/freetype2/CMakeLists.txt -../../../flutter/third_party/freetype2/Makefile -../../../flutter/third_party/freetype2/README -../../../flutter/third_party/freetype2/README.git -../../../flutter/third_party/freetype2/builds -../../../flutter/third_party/freetype2/docs/.gitignore -../../../flutter/third_party/freetype2/docs/CHANGES -../../../flutter/third_party/freetype2/docs/CMAKE -../../../flutter/third_party/freetype2/docs/CUSTOMIZE -../../../flutter/third_party/freetype2/docs/DEBUG -../../../flutter/third_party/freetype2/docs/DOCGUIDE -../../../flutter/third_party/freetype2/docs/GPLv2.TXT -../../../flutter/third_party/freetype2/docs/INSTALL -../../../flutter/third_party/freetype2/docs/INSTALL.ANY -../../../flutter/third_party/freetype2/docs/INSTALL.CROSS -../../../flutter/third_party/freetype2/docs/INSTALL.GNU -../../../flutter/third_party/freetype2/docs/INSTALL.MAC -../../../flutter/third_party/freetype2/docs/INSTALL.UNIX -../../../flutter/third_party/freetype2/docs/INSTALL.VMS -../../../flutter/third_party/freetype2/docs/MAKEPP -../../../flutter/third_party/freetype2/docs/PROBLEMS -../../../flutter/third_party/freetype2/docs/README -../../../flutter/third_party/freetype2/docs/TODO -../../../flutter/third_party/freetype2/docs/VERSIONS.TXT -../../../flutter/third_party/freetype2/docs/formats.txt -../../../flutter/third_party/freetype2/docs/freetype-config.1 -../../../flutter/third_party/freetype2/docs/markdown -../../../flutter/third_party/freetype2/docs/oldlogs -../../../flutter/third_party/freetype2/docs/raster.txt -../../../flutter/third_party/freetype2/docs/release -../../../flutter/third_party/freetype2/meson.build -../../../flutter/third_party/freetype2/objs/.gitignore -../../../flutter/third_party/freetype2/objs/README -../../../flutter/third_party/freetype2/src/autofit/module.mk -../../../flutter/third_party/freetype2/src/autofit/rules.mk -../../../flutter/third_party/freetype2/src/base/rules.mk -../../../flutter/third_party/freetype2/src/bdf/README -../../../flutter/third_party/freetype2/src/bdf/module.mk -../../../flutter/third_party/freetype2/src/bdf/rules.mk -../../../flutter/third_party/freetype2/src/bzip2/rules.mk -../../../flutter/third_party/freetype2/src/cache/rules.mk -../../../flutter/third_party/freetype2/src/cff/module.mk -../../../flutter/third_party/freetype2/src/cff/rules.mk -../../../flutter/third_party/freetype2/src/cid/module.mk -../../../flutter/third_party/freetype2/src/cid/rules.mk -../../../flutter/third_party/freetype2/src/dlg/rules.mk -../../../flutter/third_party/freetype2/src/gxvalid/README -../../../flutter/third_party/freetype2/src/gxvalid/module.mk -../../../flutter/third_party/freetype2/src/gxvalid/rules.mk -../../../flutter/third_party/freetype2/src/gzip/README.freetype -../../../flutter/third_party/freetype2/src/gzip/rules.mk -../../../flutter/third_party/freetype2/src/lzw/rules.mk -../../../flutter/third_party/freetype2/src/otvalid/module.mk -../../../flutter/third_party/freetype2/src/otvalid/rules.mk -../../../flutter/third_party/freetype2/src/pcf/README -../../../flutter/third_party/freetype2/src/pcf/module.mk -../../../flutter/third_party/freetype2/src/pcf/rules.mk -../../../flutter/third_party/freetype2/src/pfr/module.mk -../../../flutter/third_party/freetype2/src/pfr/rules.mk -../../../flutter/third_party/freetype2/src/psaux/module.mk -../../../flutter/third_party/freetype2/src/psaux/rules.mk -../../../flutter/third_party/freetype2/src/pshinter/module.mk -../../../flutter/third_party/freetype2/src/pshinter/rules.mk -../../../flutter/third_party/freetype2/src/psnames/module.mk -../../../flutter/third_party/freetype2/src/psnames/rules.mk -../../../flutter/third_party/freetype2/src/raster/module.mk -../../../flutter/third_party/freetype2/src/raster/rules.mk -../../../flutter/third_party/freetype2/src/sdf/module.mk -../../../flutter/third_party/freetype2/src/sdf/rules.mk -../../../flutter/third_party/freetype2/src/sfnt/module.mk -../../../flutter/third_party/freetype2/src/sfnt/rules.mk -../../../flutter/third_party/freetype2/src/smooth/module.mk -../../../flutter/third_party/freetype2/src/smooth/rules.mk -../../../flutter/third_party/freetype2/src/svg/module.mk -../../../flutter/third_party/freetype2/src/svg/rules.mk -../../../flutter/third_party/freetype2/src/tools -../../../flutter/third_party/freetype2/src/truetype/module.mk -../../../flutter/third_party/freetype2/src/truetype/rules.mk -../../../flutter/third_party/freetype2/src/type1/module.mk -../../../flutter/third_party/freetype2/src/type1/rules.mk -../../../flutter/third_party/freetype2/src/type42/module.mk -../../../flutter/third_party/freetype2/src/type42/rules.mk -../../../flutter/third_party/freetype2/src/winfonts/module.mk -../../../flutter/third_party/freetype2/src/winfonts/rules.mk -../../../flutter/third_party/freetype2/tests -../../../flutter/third_party/freetype2/vms_make.com -../../../flutter/third_party/glfw/.appveyor.yml -../../../flutter/third_party/glfw/.git -../../../flutter/third_party/glfw/.gitattributes -../../../flutter/third_party/glfw/.github -../../../flutter/third_party/glfw/.gitignore -../../../flutter/third_party/glfw/.mailmap -../../../flutter/third_party/glfw/CMake -../../../flutter/third_party/glfw/CMakeLists.txt -../../../flutter/third_party/glfw/CONTRIBUTORS.md -../../../flutter/third_party/glfw/README.md -../../../flutter/third_party/glfw/deps -../../../flutter/third_party/glfw/docs -../../../flutter/third_party/glfw/examples -../../../flutter/third_party/glfw/src/CMakeLists.txt -../../../flutter/third_party/glfw/tests -../../../flutter/third_party/gn -../../../flutter/third_party/google_fonts_for_unit_tests -../../../flutter/third_party/googletest -../../../flutter/third_party/gradle -../../../flutter/third_party/gtest-parallel/.git -../../../flutter/third_party/gtest-parallel/.gitignore -../../../flutter/third_party/gtest-parallel/CONTRIBUTING.md -../../../flutter/third_party/gtest-parallel/README.md -../../../flutter/third_party/gtest-parallel/gtest_parallel.py -../../../flutter/third_party/gtest-parallel/gtest_parallel_mocks.py -../../../flutter/third_party/gtest-parallel/gtest_parallel_tests.py -../../../flutter/third_party/harfbuzz/.ci/requirements.txt -../../../flutter/third_party/harfbuzz/.clang-format -../../../flutter/third_party/harfbuzz/.editorconfig -../../../flutter/third_party/harfbuzz/.git -../../../flutter/third_party/harfbuzz/.github -../../../flutter/third_party/harfbuzz/AUTHORS -../../../flutter/third_party/harfbuzz/BUILD.md -../../../flutter/third_party/harfbuzz/CMakeLists.txt -../../../flutter/third_party/harfbuzz/CONFIG.md -../../../flutter/third_party/harfbuzz/NEWS -../../../flutter/third_party/harfbuzz/README.md -../../../flutter/third_party/harfbuzz/README.mingw.md -../../../flutter/third_party/harfbuzz/README.python.md -../../../flutter/third_party/harfbuzz/RELEASING.md -../../../flutter/third_party/harfbuzz/SECURITY.md -../../../flutter/third_party/harfbuzz/TESTING.md -../../../flutter/third_party/harfbuzz/THANKS -../../../flutter/third_party/harfbuzz/docs -../../../flutter/third_party/harfbuzz/meson.build -../../../flutter/third_party/harfbuzz/perf -../../../flutter/third_party/harfbuzz/replace-enum-strings.cmake -../../../flutter/third_party/harfbuzz/src/addTable.py -../../../flutter/third_party/harfbuzz/src/check-c-linkage-decls.py -../../../flutter/third_party/harfbuzz/src/check-externs.py -../../../flutter/third_party/harfbuzz/src/check-header-guards.py -../../../flutter/third_party/harfbuzz/src/check-includes.py -../../../flutter/third_party/harfbuzz/src/check-libstdc++.py -../../../flutter/third_party/harfbuzz/src/check-static-inits.py -../../../flutter/third_party/harfbuzz/src/check-symbols.py -../../../flutter/third_party/harfbuzz/src/fix_get_types.py -../../../flutter/third_party/harfbuzz/src/fontations/meson.build -../../../flutter/third_party/harfbuzz/src/gen-arabic-joining-list.py -../../../flutter/third_party/harfbuzz/src/gen-arabic-pua.py -../../../flutter/third_party/harfbuzz/src/gen-arabic-table.py -../../../flutter/third_party/harfbuzz/src/gen-def.py -../../../flutter/third_party/harfbuzz/src/gen-emoji-table.py -../../../flutter/third_party/harfbuzz/src/gen-harfbuzzcc.py -../../../flutter/third_party/harfbuzz/src/gen-hb-version.py -../../../flutter/third_party/harfbuzz/src/gen-indic-table.py -../../../flutter/third_party/harfbuzz/src/gen-os2-unicode-ranges.py -../../../flutter/third_party/harfbuzz/src/gen-ragel-artifacts.py -../../../flutter/third_party/harfbuzz/src/gen-tag-table.py -../../../flutter/third_party/harfbuzz/src/gen-ucd-table.py -../../../flutter/third_party/harfbuzz/src/gen-use-table.py -../../../flutter/third_party/harfbuzz/src/gen-vowel-constraints.py -../../../flutter/third_party/harfbuzz/src/hb-bit-vector.hh -../../../flutter/third_party/harfbuzz/src/hb-directwrite-shape.cc -../../../flutter/third_party/harfbuzz/src/hb-directwrite.hh -../../../flutter/third_party/harfbuzz/src/hb-fontations.h -../../../flutter/third_party/harfbuzz/src/justify.py -../../../flutter/third_party/harfbuzz/src/meson.build -../../../flutter/third_party/harfbuzz/src/relative_to.py -../../../flutter/third_party/harfbuzz/src/sample.py -../../../flutter/third_party/harfbuzz/src/wasm/graphite/Makefile -../../../flutter/third_party/harfbuzz/src/wasm/sample/c/Makefile -../../../flutter/third_party/harfbuzz/subprojects/.gitignore -../../../flutter/third_party/harfbuzz/subprojects/packagefiles/ragel/meson.build -../../../flutter/third_party/harfbuzz/test -../../../flutter/third_party/harfbuzz/util -../../../flutter/third_party/icu/.git -../../../flutter/third_party/icu/DIR_METADATA -../../../flutter/third_party/icu/OWNERS -../../../flutter/third_party/icu/README.chromium -../../../flutter/third_party/icu/README.fuchsia -../../../flutter/third_party/icu/codereview.settings -../../../flutter/third_party/icu/filters -../../../flutter/third_party/icu/flutter/README.md -../../../flutter/third_party/icu/fuzzers -../../../flutter/third_party/icu/icu4c.css -../../../flutter/third_party/icu/license.html -../../../flutter/third_party/icu/patches -../../../flutter/third_party/icu/readme.html -../../../flutter/third_party/icu/scripts -../../../flutter/third_party/icu/source/.clang-format -../../../flutter/third_party/icu/source/Makefile.in -../../../flutter/third_party/icu/source/acinclude.m4 -../../../flutter/third_party/icu/source/aclocal.m4 -../../../flutter/third_party/icu/source/common/BUILD.bazel -../../../flutter/third_party/icu/source/common/Makefile.in -../../../flutter/third_party/icu/source/common/rbbicst.pl -../../../flutter/third_party/icu/source/common/sources.txt -../../../flutter/third_party/icu/source/common/unicode/uvernum.h -../../../flutter/third_party/icu/source/config -../../../flutter/third_party/icu/source/data/BUILDRULES.py -../../../flutter/third_party/icu/source/data/Makefile.in -../../../flutter/third_party/icu/source/data/brkitr/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/data/brkitr/dictionaries/burmesedict.txt -../../../flutter/third_party/icu/source/data/brkitr/dictionaries/cjdict.txt -../../../flutter/third_party/icu/source/data/brkitr/dictionaries/laodict.txt -../../../flutter/third_party/icu/source/data/brkitr/rules/README.md -../../../flutter/third_party/icu/source/data/build.xml -../../../flutter/third_party/icu/source/data/coll/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/data/curr/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/data/dtd -../../../flutter/third_party/icu/source/data/lang/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/data/locales/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/data/mappings/ucmcore.mk -../../../flutter/third_party/icu/source/data/mappings/ucmebcdic.mk -../../../flutter/third_party/icu/source/data/mappings/ucmfiles.mk -../../../flutter/third_party/icu/source/data/pkgdataMakefile.in -../../../flutter/third_party/icu/source/data/rbnf/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/data/region/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/data/sprep/sprepfiles.mk -../../../flutter/third_party/icu/source/data/unidata/norm2/BUILD.bazel -../../../flutter/third_party/icu/source/data/unit/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/data/zone/LOCALE_DEPS.json -../../../flutter/third_party/icu/source/extra/Makefile.in -../../../flutter/third_party/icu/source/extra/scrptrun/Makefile.in -../../../flutter/third_party/icu/source/extra/scrptrun/readme.html -../../../flutter/third_party/icu/source/extra/scrptrun/sources.txt -../../../flutter/third_party/icu/source/extra/uconv/Makefile.in -../../../flutter/third_party/icu/source/extra/uconv/README -../../../flutter/third_party/icu/source/extra/uconv/pkgdataMakefile.in -../../../flutter/third_party/icu/source/extra/uconv/resfiles.mk -../../../flutter/third_party/icu/source/extra/uconv/samples -../../../flutter/third_party/icu/source/extra/uconv/sources.txt -../../../flutter/third_party/icu/source/extra/uconv/uconv.1.in -../../../flutter/third_party/icu/source/i18n/BUILD.bazel -../../../flutter/third_party/icu/source/i18n/Makefile.in -../../../flutter/third_party/icu/source/i18n/sources.txt -../../../flutter/third_party/icu/source/io/Makefile.in -../../../flutter/third_party/icu/source/io/sources.txt -../../../flutter/third_party/icu/source/python/icutools/__init__.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/__init__.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/__main__.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/comment_stripper.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/filtration.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/renderers/__init__.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/renderers/common_exec.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/renderers/makefile.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/request_types.py -../../../flutter/third_party/icu/source/python/icutools/databuilder/test -../../../flutter/third_party/icu/source/python/icutools/databuilder/utils.py -../../../flutter/third_party/icu/source/samples -../../../flutter/third_party/icu/source/stubdata/BUILD.bazel -../../../flutter/third_party/icu/source/stubdata/Makefile.in -../../../flutter/third_party/icu/source/stubdata/sources.txt -../../../flutter/third_party/icu/source/test -../../../flutter/third_party/icu/source/tools/Makefile.in -../../../flutter/third_party/icu/source/tools/ctestfw/Makefile.in -../../../flutter/third_party/icu/source/tools/ctestfw/sources.txt -../../../flutter/third_party/icu/source/tools/escapesrc/Makefile.in -../../../flutter/third_party/icu/source/tools/genbrk/Makefile.in -../../../flutter/third_party/icu/source/tools/genbrk/genbrk.1.in -../../../flutter/third_party/icu/source/tools/genbrk/sources.txt -../../../flutter/third_party/icu/source/tools/genccode/Makefile.in -../../../flutter/third_party/icu/source/tools/genccode/genccode.8.in -../../../flutter/third_party/icu/source/tools/genccode/sources.txt -../../../flutter/third_party/icu/source/tools/gencfu/Makefile.in -../../../flutter/third_party/icu/source/tools/gencfu/gencfu.1.in -../../../flutter/third_party/icu/source/tools/gencfu/sources.txt -../../../flutter/third_party/icu/source/tools/gencmn/Makefile.in -../../../flutter/third_party/icu/source/tools/gencmn/gencmn.8.in -../../../flutter/third_party/icu/source/tools/gencmn/sources.txt -../../../flutter/third_party/icu/source/tools/gencnval/Makefile.in -../../../flutter/third_party/icu/source/tools/gencnval/gencnval.1.in -../../../flutter/third_party/icu/source/tools/gencnval/sources.txt -../../../flutter/third_party/icu/source/tools/gencolusb/Makefile -../../../flutter/third_party/icu/source/tools/gencolusb/README.md -../../../flutter/third_party/icu/source/tools/gendict/Makefile.in -../../../flutter/third_party/icu/source/tools/gendict/gendict.1.in -../../../flutter/third_party/icu/source/tools/gendict/sources.txt -../../../flutter/third_party/icu/source/tools/gennorm2/BUILD.bazel -../../../flutter/third_party/icu/source/tools/gennorm2/Makefile.in -../../../flutter/third_party/icu/source/tools/gennorm2/sources.txt -../../../flutter/third_party/icu/source/tools/genrb/Makefile.in -../../../flutter/third_party/icu/source/tools/genrb/derb.1.in -../../../flutter/third_party/icu/source/tools/genrb/genrb.1.in -../../../flutter/third_party/icu/source/tools/genrb/sources.txt -../../../flutter/third_party/icu/source/tools/genren/Makefile -../../../flutter/third_party/icu/source/tools/genren/README -../../../flutter/third_party/icu/source/tools/gensprep/Makefile.in -../../../flutter/third_party/icu/source/tools/gensprep/gensprep.8.in -../../../flutter/third_party/icu/source/tools/gensprep/sources.txt -../../../flutter/third_party/icu/source/tools/gentest/Makefile.in -../../../flutter/third_party/icu/source/tools/gentest/sources.txt -../../../flutter/third_party/icu/source/tools/icuexportdata/Makefile.in -../../../flutter/third_party/icu/source/tools/icuexportdata/icuexportdata.1.in -../../../flutter/third_party/icu/source/tools/icuexportdata/sources.txt -../../../flutter/third_party/icu/source/tools/icuinfo/Makefile.in -../../../flutter/third_party/icu/source/tools/icuinfo/sources.txt -../../../flutter/third_party/icu/source/tools/icupkg/Makefile.in -../../../flutter/third_party/icu/source/tools/icupkg/icupkg.8.in -../../../flutter/third_party/icu/source/tools/icupkg/sources.txt -../../../flutter/third_party/icu/source/tools/icuswap/Makefile.in -../../../flutter/third_party/icu/source/tools/icuswap/sources.txt -../../../flutter/third_party/icu/source/tools/makeconv/Makefile.in -../../../flutter/third_party/icu/source/tools/makeconv/makeconv.1.in -../../../flutter/third_party/icu/source/tools/makeconv/sources.txt -../../../flutter/third_party/icu/source/tools/memcheck/ICUMemCheck.pl -../../../flutter/third_party/icu/source/tools/pkgdata/Makefile.in -../../../flutter/third_party/icu/source/tools/pkgdata/pkgdata.1.in -../../../flutter/third_party/icu/source/tools/pkgdata/sources.txt -../../../flutter/third_party/icu/source/tools/toolutil/BUILD.bazel -../../../flutter/third_party/icu/source/tools/toolutil/Makefile.in -../../../flutter/third_party/icu/source/tools/toolutil/sources.txt -../../../flutter/third_party/icu/source/tools/tzcode/Makefile.in -../../../flutter/third_party/icu/source/tools/tzcode/readme.txt -../../../flutter/third_party/imgui -../../../flutter/third_party/inja/.clang-format -../../../flutter/third_party/inja/.git -../../../flutter/third_party/inja/.github -../../../flutter/third_party/inja/.gitignore -../../../flutter/third_party/inja/CMakeLists.txt -../../../flutter/third_party/inja/README.md -../../../flutter/third_party/inja/cmake -../../../flutter/third_party/inja/doc -../../../flutter/third_party/inja/meson.build -../../../flutter/third_party/inja/requirements.txt -../../../flutter/third_party/inja/scripts/amalgamate_config.json -../../../flutter/third_party/inja/test -../../../flutter/third_party/inja/third_party/amalgamate -../../../flutter/third_party/inja/third_party/include/doctest -../../../flutter/third_party/java -../../../flutter/third_party/json/.clang-format -../../../flutter/third_party/json/.clang-tidy -../../../flutter/third_party/json/.git -../../../flutter/third_party/json/.github -../../../flutter/third_party/json/.gitignore -../../../flutter/third_party/json/.lgtm.yml -../../../flutter/third_party/json/.reuse -../../../flutter/third_party/json/BUILD.bazel -../../../flutter/third_party/json/CITATION.cff -../../../flutter/third_party/json/CMakeLists.txt -../../../flutter/third_party/json/ChangeLog.md -../../../flutter/third_party/json/Makefile -../../../flutter/third_party/json/README.md -../../../flutter/third_party/json/WORKSPACE.bazel -../../../flutter/third_party/json/cmake -../../../flutter/third_party/json/docs -../../../flutter/third_party/json/meson.build -../../../flutter/third_party/json/tests -../../../flutter/third_party/json/tools/amalgamate/CHANGES.md -../../../flutter/third_party/json/tools/amalgamate/README.md -../../../flutter/third_party/json/tools/amalgamate/amalgamate.py -../../../flutter/third_party/json/tools/gdb_pretty_printer/README.md -../../../flutter/third_party/json/tools/gdb_pretty_printer/nlohmann-json.py -../../../flutter/third_party/json/tools/generate_natvis/README.md -../../../flutter/third_party/json/tools/generate_natvis/generate_natvis.py -../../../flutter/third_party/json/tools/serve_header/README.md -../../../flutter/third_party/json/tools/serve_header/requirements.txt -../../../flutter/third_party/json/tools/serve_header/serve_header.py -../../../flutter/third_party/libcxx/.clang-format -../../../flutter/third_party/libcxx/.clang-tidy -../../../flutter/third_party/libcxx/.git -../../../flutter/third_party/libcxx/.gitignore -../../../flutter/third_party/libcxx/CMakeLists.txt -../../../flutter/third_party/libcxx/CREDITS.TXT -../../../flutter/third_party/libcxx/TODO.TXT -../../../flutter/third_party/libcxx/cmake -../../../flutter/third_party/libcxx/docs -../../../flutter/third_party/libcxx/include/CMakeLists.txt -../../../flutter/third_party/libcxx/include/__cxx03/version -../../../flutter/third_party/libcxx/include/version -../../../flutter/third_party/libcxx/lib/abi/CHANGELOG.TXT -../../../flutter/third_party/libcxx/lib/abi/CMakeLists.txt -../../../flutter/third_party/libcxx/lib/abi/README.TXT -../../../flutter/third_party/libcxx/modules/.clang-format -../../../flutter/third_party/libcxx/modules/CMakeLists.txt -../../../flutter/third_party/libcxx/modules/README.md -../../../flutter/third_party/libcxx/src/.clang-tidy -../../../flutter/third_party/libcxx/src/CMakeLists.txt -../../../flutter/third_party/libcxx/src/ryu/README.txt -../../../flutter/third_party/libcxx/test -../../../flutter/third_party/libcxx/utils -../../../flutter/third_party/libcxxabi/.clang-format -../../../flutter/third_party/libcxxabi/.git -../../../flutter/third_party/libcxxabi/.gitignore -../../../flutter/third_party/libcxxabi/CMakeLists.txt -../../../flutter/third_party/libcxxabi/CREDITS.TXT -../../../flutter/third_party/libcxxabi/cmake -../../../flutter/third_party/libcxxabi/fuzz/CMakeLists.txt -../../../flutter/third_party/libcxxabi/include/CMakeLists.txt -../../../flutter/third_party/libcxxabi/src/CMakeLists.txt -../../../flutter/third_party/libcxxabi/src/demangle/.clang-format -../../../flutter/third_party/libcxxabi/src/demangle/README.txt -../../../flutter/third_party/libcxxabi/test -../../../flutter/third_party/libcxxabi/www -../../../flutter/third_party/libjpeg-turbo/src/.git -../../../flutter/third_party/libjpeg-turbo/src/.gitignore -../../../flutter/third_party/libjpeg-turbo/src/BUILDING.md -../../../flutter/third_party/libjpeg-turbo/src/CMakeLists.txt -../../../flutter/third_party/libjpeg-turbo/src/ChangeLog.md -../../../flutter/third_party/libjpeg-turbo/src/README.fuchsia -../../../flutter/third_party/libjpeg-turbo/src/README.md -../../../flutter/third_party/libjpeg-turbo/src/acinclude.m4 -../../../flutter/third_party/libjpeg-turbo/src/change.log -../../../flutter/third_party/libjpeg-turbo/src/cjpeg.1 -../../../flutter/third_party/libjpeg-turbo/src/coderules.txt -../../../flutter/third_party/libjpeg-turbo/src/djpeg.1 -../../../flutter/third_party/libjpeg-turbo/src/doxygen-extra.css -../../../flutter/third_party/libjpeg-turbo/src/doxygen.config -../../../flutter/third_party/libjpeg-turbo/src/jpegtran.1 -../../../flutter/third_party/libjpeg-turbo/src/rdjpgcom.1 -../../../flutter/third_party/libjpeg-turbo/src/simd/CMakeLists.txt -../../../flutter/third_party/libjpeg-turbo/src/structure.txt -../../../flutter/third_party/libjpeg-turbo/src/wrjpgcom.1 -../../../flutter/third_party/libpng/.appveyor.yml -../../../flutter/third_party/libpng/.editorconfig -../../../flutter/third_party/libpng/.git -../../../flutter/third_party/libpng/.gitignore -../../../flutter/third_party/libpng/.travis.yml -../../../flutter/third_party/libpng/ANNOUNCE -../../../flutter/third_party/libpng/AUTHORS -../../../flutter/third_party/libpng/CHANGES -../../../flutter/third_party/libpng/CMakeLists.txt -../../../flutter/third_party/libpng/INSTALL -../../../flutter/third_party/libpng/Makefile.in -../../../flutter/third_party/libpng/README -../../../flutter/third_party/libpng/TODO -../../../flutter/third_party/libpng/TRADEMARK -../../../flutter/third_party/libpng/aclocal.m4 -../../../flutter/third_party/libpng/ci -../../../flutter/third_party/libpng/contrib -../../../flutter/third_party/libpng/libpng-manual.txt -../../../flutter/third_party/libpng/libpng.3 -../../../flutter/third_party/libpng/libpngpf.3 -../../../flutter/third_party/libpng/loongarch -../../../flutter/third_party/libpng/mips -../../../flutter/third_party/libpng/png.5 -../../../flutter/third_party/libpng/powerpc -../../../flutter/third_party/libpng/projects -../../../flutter/third_party/libpng/scripts -../../../flutter/third_party/libpng/tests -../../../flutter/third_party/libtess2/.git -../../../flutter/third_party/libtess2/.gitignore -../../../flutter/third_party/libtess2/Contrib/nanosvg.c -../../../flutter/third_party/libtess2/Contrib/nanosvg.h -../../../flutter/third_party/libtess2/Example -../../../flutter/third_party/libtess2/README.md -../../../flutter/third_party/libtess2/alg_outline.md -../../../flutter/third_party/libwebp/.cmake-format.py -../../../flutter/third_party/libwebp/.git -../../../flutter/third_party/libwebp/.gitattributes -../../../flutter/third_party/libwebp/.gitignore -../../../flutter/third_party/libwebp/.mailmap -../../../flutter/third_party/libwebp/.style.yapf -../../../flutter/third_party/libwebp/AUTHORS -../../../flutter/third_party/libwebp/Android.mk -../../../flutter/third_party/libwebp/CMakeLists.txt -../../../flutter/third_party/libwebp/CONTRIBUTING.md -../../../flutter/third_party/libwebp/ChangeLog -../../../flutter/third_party/libwebp/Makefile.vc -../../../flutter/third_party/libwebp/NEWS -../../../flutter/third_party/libwebp/PATENTS -../../../flutter/third_party/libwebp/PRESUBMIT.py -../../../flutter/third_party/libwebp/README.md -../../../flutter/third_party/libwebp/build.gradle -../../../flutter/third_party/libwebp/cmake -../../../flutter/third_party/libwebp/codereview.settings -../../../flutter/third_party/libwebp/doc -../../../flutter/third_party/libwebp/examples -../../../flutter/third_party/libwebp/gradle -../../../flutter/third_party/libwebp/gradle.properties -../../../flutter/third_party/libwebp/imageio/Android.mk -../../../flutter/third_party/libwebp/m4/.gitignore -../../../flutter/third_party/libwebp/m4/ax_pthread.m4 -../../../flutter/third_party/libwebp/makefile.unix -../../../flutter/third_party/libwebp/man/cwebp.1 -../../../flutter/third_party/libwebp/man/dwebp.1 -../../../flutter/third_party/libwebp/man/gif2webp.1 -../../../flutter/third_party/libwebp/man/img2webp.1 -../../../flutter/third_party/libwebp/man/vwebp.1 -../../../flutter/third_party/libwebp/man/webpinfo.1 -../../../flutter/third_party/libwebp/man/webpmux.1 -../../../flutter/third_party/libwebp/swig -../../../flutter/third_party/libwebp/tests -../../../flutter/third_party/libwebp/webp_js -../../../flutter/third_party/llvm_libc/.clang-tidy -../../../flutter/third_party/llvm_libc/.git -../../../flutter/third_party/llvm_libc/.gitignore -../../../flutter/third_party/llvm_libc/AOR_v20.02 -../../../flutter/third_party/llvm_libc/CMakeLists.txt -../../../flutter/third_party/llvm_libc/README.txt -../../../flutter/third_party/llvm_libc/benchmarks -../../../flutter/third_party/llvm_libc/cmake -../../../flutter/third_party/llvm_libc/config/CMakeLists.txt -../../../flutter/third_party/llvm_libc/config/windows/README.md -../../../flutter/third_party/llvm_libc/docs/CMakeLists.txt -../../../flutter/third_party/llvm_libc/docs/README.txt -../../../flutter/third_party/llvm_libc/docs/_static/custom.css -../../../flutter/third_party/llvm_libc/docs/conf.py -../../../flutter/third_party/llvm_libc/examples -../../../flutter/third_party/llvm_libc/fuzzing -../../../flutter/third_party/llvm_libc/hdr/CMakeLists.txt -../../../flutter/third_party/llvm_libc/hdr/func/CMakeLists.txt -../../../flutter/third_party/llvm_libc/hdr/types/CMakeLists.txt -../../../flutter/third_party/llvm_libc/include/CMakeLists.txt -../../../flutter/third_party/llvm_libc/include/Uefi.yaml -../../../flutter/third_party/llvm_libc/include/arpa/inet.yaml -../../../flutter/third_party/llvm_libc/include/assert.yaml -../../../flutter/third_party/llvm_libc/include/complex.yaml -../../../flutter/third_party/llvm_libc/include/ctype.yaml -../../../flutter/third_party/llvm_libc/include/dirent.yaml -../../../flutter/third_party/llvm_libc/include/dlfcn.yaml -../../../flutter/third_party/llvm_libc/include/elf.yaml -../../../flutter/third_party/llvm_libc/include/endian.yaml -../../../flutter/third_party/llvm_libc/include/errno.yaml -../../../flutter/third_party/llvm_libc/include/fcntl.yaml -../../../flutter/third_party/llvm_libc/include/features.yaml -../../../flutter/third_party/llvm_libc/include/fenv.yaml -../../../flutter/third_party/llvm_libc/include/float.yaml -../../../flutter/third_party/llvm_libc/include/inttypes.yaml -../../../flutter/third_party/llvm_libc/include/limits.yaml -../../../flutter/third_party/llvm_libc/include/link.yaml -../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/CMakeLists.txt -../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/windows/CMakeLists.txt -../../../flutter/third_party/llvm_libc/include/llvm-libc-types/CMakeLists.txt -../../../flutter/third_party/llvm_libc/include/locale.yaml -../../../flutter/third_party/llvm_libc/include/malloc.yaml -../../../flutter/third_party/llvm_libc/include/math.yaml -../../../flutter/third_party/llvm_libc/include/poll.yaml -../../../flutter/third_party/llvm_libc/include/pthread.yaml -../../../flutter/third_party/llvm_libc/include/sched.yaml -../../../flutter/third_party/llvm_libc/include/search.yaml -../../../flutter/third_party/llvm_libc/include/setjmp.yaml -../../../flutter/third_party/llvm_libc/include/signal.yaml -../../../flutter/third_party/llvm_libc/include/spawn.yaml -../../../flutter/third_party/llvm_libc/include/stdbit.yaml -../../../flutter/third_party/llvm_libc/include/stdckdint.yaml -../../../flutter/third_party/llvm_libc/include/stdfix.yaml -../../../flutter/third_party/llvm_libc/include/stdint.yaml -../../../flutter/third_party/llvm_libc/include/stdio.yaml -../../../flutter/third_party/llvm_libc/include/stdlib-malloc.yaml -../../../flutter/third_party/llvm_libc/include/stdlib.yaml -../../../flutter/third_party/llvm_libc/include/string.yaml -../../../flutter/third_party/llvm_libc/include/strings.yaml -../../../flutter/third_party/llvm_libc/include/sys/auxv.yaml -../../../flutter/third_party/llvm_libc/include/sys/epoll.yaml -../../../flutter/third_party/llvm_libc/include/sys/ioctl.yaml -../../../flutter/third_party/llvm_libc/include/sys/mman.yaml -../../../flutter/third_party/llvm_libc/include/sys/prctl.yaml -../../../flutter/third_party/llvm_libc/include/sys/random.yaml -../../../flutter/third_party/llvm_libc/include/sys/resource.yaml -../../../flutter/third_party/llvm_libc/include/sys/select.yaml -../../../flutter/third_party/llvm_libc/include/sys/sendfile.yaml -../../../flutter/third_party/llvm_libc/include/sys/socket.yaml -../../../flutter/third_party/llvm_libc/include/sys/stat.yaml -../../../flutter/third_party/llvm_libc/include/sys/statvfs.yaml -../../../flutter/third_party/llvm_libc/include/sys/syscall.yaml -../../../flutter/third_party/llvm_libc/include/sys/time.yaml -../../../flutter/third_party/llvm_libc/include/sys/types.yaml -../../../flutter/third_party/llvm_libc/include/sys/uio.yaml -../../../flutter/third_party/llvm_libc/include/sys/utsname.yaml -../../../flutter/third_party/llvm_libc/include/sys/wait.yaml -../../../flutter/third_party/llvm_libc/include/sysexits.yaml -../../../flutter/third_party/llvm_libc/include/termios.yaml -../../../flutter/third_party/llvm_libc/include/threads.yaml -../../../flutter/third_party/llvm_libc/include/time.yaml -../../../flutter/third_party/llvm_libc/include/uchar.yaml -../../../flutter/third_party/llvm_libc/include/unistd.yaml -../../../flutter/third_party/llvm_libc/include/wchar.yaml -../../../flutter/third_party/llvm_libc/lib/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/.clang-tidy -../../../flutter/third_party/llvm_libc/src/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/CPP/.clang-tidy -../../../flutter/third_party/llvm_libc/src/__support/CPP/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/CPP/README.md -../../../flutter/third_party/llvm_libc/src/__support/FPUtil/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/README.md -../../../flutter/third_party/llvm_libc/src/__support/File/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/File/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/GPU/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/HashTable/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/baremetal/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/arm/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/aarch64/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/arm/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/i386/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/riscv/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/x86_64/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/uefi/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/OSUtil/windows/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/RPC/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/StringUtil/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/fixed_point/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/macros/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/macros/README.md -../../../flutter/third_party/llvm_libc/src/__support/macros/properties/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/macros/properties/README.md -../../../flutter/third_party/llvm_libc/src/__support/threads/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/threads/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/threads/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/time/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/time/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/time/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/__support/time/windows/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/arpa/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/arpa/inet/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/assert/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/assert/generic/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/assert/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/compiler/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/compiler/generic/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/complex/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/complex/generic/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/ctype/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/dirent/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/dlfcn/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/errno/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/fcntl/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/fcntl/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/fenv/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/inttypes/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/link/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/locale/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/math/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/math/amdgpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/math/generic/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/math/nvptx/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/poll/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/poll/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/pthread/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sched/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sched/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/search/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/search/hsearch/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/setjmp/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/setjmp/aarch64/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/setjmp/arm/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/setjmp/riscv/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/setjmp/x86_64/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/signal/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/signal/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/spawn/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/spawn/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdbit/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdfix/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdio/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdio/baremetal/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdio/generic/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdio/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdio/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdio/printf_core/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdlib/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdlib/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/stdlib/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/string/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/string/memory_utils/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/string/memory_utils/README.md -../../../flutter/third_party/llvm_libc/src/strings/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/auxv/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/auxv/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/epoll/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/mman/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/mman/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/prctl/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/prctl/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/random/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/random/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/resource/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/resource/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/select/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/select/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/sendfile/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/sendfile/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/socket/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/socket/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/stat/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/stat/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/statvfs/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/statvfs/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/uio/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/uio/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/utsname/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/utsname/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/wait/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/sys/wait/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/termios/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/termios/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/threads/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/threads/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/time/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/time/baremetal/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/time/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/time/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/time/strftime_core/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/time/windows/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/unistd/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/unistd/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/unistd/windows/CMakeLists.txt -../../../flutter/third_party/llvm_libc/src/wchar/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/baremetal/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/gpu/amdgpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/gpu/nvptx/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/linux/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/linux/aarch64/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/linux/riscv/CMakeLists.txt -../../../flutter/third_party/llvm_libc/startup/linux/x86_64/CMakeLists.txt -../../../flutter/third_party/llvm_libc/test -../../../flutter/third_party/llvm_libc/utils/CMakeLists.txt -../../../flutter/third_party/llvm_libc/utils/MPCWrapper/CMakeLists.txt -../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/CMakeLists.txt -../../../flutter/third_party/llvm_libc/utils/buildbot/Dockerfile -../../../flutter/third_party/llvm_libc/utils/buildbot/README.txt -../../../flutter/third_party/llvm_libc/utils/docgen/aio.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/arpa/inet.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/assert.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/cpio.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/ctype.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/docgen.py -../../../flutter/third_party/llvm_libc/utils/docgen/endian.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/errno.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/fenv.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/float.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/glob.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/header.py -../../../flutter/third_party/llvm_libc/utils/docgen/inttypes.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/locale.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/net/if.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/netinet/in.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/pthread.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/setjmp.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/signal.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/stdbit.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/stdio.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/stdlib.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/string.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/strings.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/sys/mman.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/sys/resource.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/sys/stat.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/sys/statvfs.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/sys/time.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/sys/utsname.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/sys/wait.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/termios.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/threads.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/uchar.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/unistd.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/wchar.yaml -../../../flutter/third_party/llvm_libc/utils/docgen/wctype.yaml -../../../flutter/third_party/llvm_libc/utils/gpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/utils/gpu/loader/CMakeLists.txt -../../../flutter/third_party/llvm_libc/utils/gpu/loader/amdgpu/CMakeLists.txt -../../../flutter/third_party/llvm_libc/utils/gpu/loader/nvptx/CMakeLists.txt -../../../flutter/third_party/llvm_libc/utils/hdrgen/CMakeLists.txt -../../../flutter/third_party/llvm_libc/utils/hdrgen/README.rst -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/__init__.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/enumeration.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/function.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/gpu_headers.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/header.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/macro.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/main.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/object.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/type.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/yaml_functions_sorted.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/hdrgen/yaml_to_classes.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/main.py -../../../flutter/third_party/llvm_libc/utils/hdrgen/tests -../../../flutter/third_party/llvm_libc/utils/hdrgen/yaml_to_classes.py -../../../flutter/third_party/llvm_libc/utils/mathtools/GenerateHPDConstants.py -../../../flutter/third_party/llvm_libc/utils/mathtools/ryu_tablegen.py -../../../flutter/third_party/ocmock -../../../flutter/third_party/perfetto/.clang-format -../../../flutter/third_party/perfetto/.clang-tidy -../../../flutter/third_party/perfetto/.git -../../../flutter/third_party/perfetto/.gitattributes -../../../flutter/third_party/perfetto/.github -../../../flutter/third_party/perfetto/.gitignore -../../../flutter/third_party/perfetto/.gn -../../../flutter/third_party/perfetto/.style.yapf -../../../flutter/third_party/perfetto/CHANGELOG -../../../flutter/third_party/perfetto/DIR_METADATA -../../../flutter/third_party/perfetto/METADATA -../../../flutter/third_party/perfetto/OWNERS -../../../flutter/third_party/perfetto/PRESUBMIT.py -../../../flutter/third_party/perfetto/README.chromium -../../../flutter/third_party/perfetto/README.md -../../../flutter/third_party/perfetto/WORKSPACE -../../../flutter/third_party/perfetto/bazel/deps.bzl -../../../flutter/third_party/perfetto/bazel/proto_gen.bzl -../../../flutter/third_party/perfetto/bazel/rules.bzl -../../../flutter/third_party/perfetto/bazel/standalone/README.md -../../../flutter/third_party/perfetto/bazel/standalone/perfetto_cfg.bzl -../../../flutter/third_party/perfetto/buildtools/.gitignore -../../../flutter/third_party/perfetto/buildtools/README.md -../../../flutter/third_party/perfetto/codereview.settings -../../../flutter/third_party/perfetto/debian -../../../flutter/third_party/perfetto/docs/.gitignore -../../../flutter/third_party/perfetto/docs/README.md -../../../flutter/third_party/perfetto/examples -../../../flutter/third_party/perfetto/gn/standalone/build_tool_wrapper.py -../../../flutter/third_party/perfetto/gn/standalone/cp.py -../../../flutter/third_party/perfetto/gn/standalone/glob.py -../../../flutter/third_party/perfetto/gn/standalone/protoc.py -../../../flutter/third_party/perfetto/gn/standalone/toolchain/linux_find_llvm.py -../../../flutter/third_party/perfetto/gn/standalone/toolchain/llvm-strip.py -../../../flutter/third_party/perfetto/gn/standalone/toolchain/mac_find_llvm.py -../../../flutter/third_party/perfetto/gn/standalone/toolchain/win_find_msvc.py -../../../flutter/third_party/perfetto/gn/write_buildflag_header.py -../../../flutter/third_party/perfetto/include/README.md -../../../flutter/third_party/perfetto/include/perfetto/README.md -../../../flutter/third_party/perfetto/include/perfetto/profiling/OWNERS -../../../flutter/third_party/perfetto/include/perfetto/test -../../../flutter/third_party/perfetto/include/perfetto/trace_processor/OWNERS -../../../flutter/third_party/perfetto/include/perfetto/tracing/OWNERS -../../../flutter/third_party/perfetto/infra -../../../flutter/third_party/perfetto/meson.build -../../../flutter/third_party/perfetto/protos -../../../flutter/third_party/perfetto/python/README.md -../../../flutter/third_party/perfetto/python/example.py -../../../flutter/third_party/perfetto/python/generators/diff_tests/runner.py -../../../flutter/third_party/perfetto/python/generators/diff_tests/testing.py -../../../flutter/third_party/perfetto/python/generators/diff_tests/utils.py -../../../flutter/third_party/perfetto/python/generators/sql_processing/docs_extractor.py -../../../flutter/third_party/perfetto/python/generators/sql_processing/docs_parse.py -../../../flutter/third_party/perfetto/python/generators/sql_processing/utils.py -../../../flutter/third_party/perfetto/python/generators/trace_processor_table/public.py -../../../flutter/third_party/perfetto/python/generators/trace_processor_table/serialize.py -../../../flutter/third_party/perfetto/python/generators/trace_processor_table/util.py -../../../flutter/third_party/perfetto/python/perfetto/batch_trace_processor/__init__.py -../../../flutter/third_party/perfetto/python/perfetto/batch_trace_processor/api.py -../../../flutter/third_party/perfetto/python/perfetto/batch_trace_processor/platform.py -../../../flutter/third_party/perfetto/python/perfetto/common/repo_utils.py -../../../flutter/third_party/perfetto/python/perfetto/experimental/slice_breakdown/__init__.py -../../../flutter/third_party/perfetto/python/perfetto/experimental/slice_breakdown/breakdown.py -../../../flutter/third_party/perfetto/python/perfetto/prebuilts/manifests/trace_processor_shell.py -../../../flutter/third_party/perfetto/python/perfetto/prebuilts/manifests/tracebox.py -../../../flutter/third_party/perfetto/python/perfetto/prebuilts/manifests/traceconv.py -../../../flutter/third_party/perfetto/python/perfetto/prebuilts/perfetto_prebuilts.py -../../../flutter/third_party/perfetto/python/perfetto/trace_processor -../../../flutter/third_party/perfetto/python/perfetto/trace_uri_resolver/path.py -../../../flutter/third_party/perfetto/python/perfetto/trace_uri_resolver/registry.py -../../../flutter/third_party/perfetto/python/perfetto/trace_uri_resolver/resolver.py -../../../flutter/third_party/perfetto/python/perfetto/trace_uri_resolver/util.py -../../../flutter/third_party/perfetto/python/run_tests.py -../../../flutter/third_party/perfetto/python/setup.py -../../../flutter/third_party/perfetto/python/test -../../../flutter/third_party/perfetto/python/tools/batch_trace_processor_shell.py -../../../flutter/third_party/perfetto/python/tools/check_imports.py -../../../flutter/third_party/perfetto/python/tools/cpu_profile.py -../../../flutter/third_party/perfetto/python/tools/heap_profile.py -../../../flutter/third_party/perfetto/python/tools/record_android_trace.py -../../../flutter/third_party/perfetto/python/tools/slice_breakdown.py -../../../flutter/third_party/perfetto/python/tools/trace_processor.py -../../../flutter/third_party/perfetto/python/tools/tracebox.py -../../../flutter/third_party/perfetto/python/tools/traceconv.py -../../../flutter/third_party/perfetto/python/tools/update_permalink.py -../../../flutter/third_party/perfetto/src/android_internal/README.md -../../../flutter/third_party/perfetto/src/base/base64_unittest.cc -../../../flutter/third_party/perfetto/src/base/circular_queue_unittest.cc -../../../flutter/third_party/perfetto/src/base/flat_hash_map_unittest.cc -../../../flutter/third_party/perfetto/src/base/flat_set_unittest.cc -../../../flutter/third_party/perfetto/src/base/getopt_compat_unittest.cc -../../../flutter/third_party/perfetto/src/base/hash_unittest.cc -../../../flutter/third_party/perfetto/src/base/http/http_server_unittest.cc -../../../flutter/third_party/perfetto/src/base/http/sha1_unittest.cc -../../../flutter/third_party/perfetto/src/base/logging_unittest.cc -../../../flutter/third_party/perfetto/src/base/metatrace_unittest.cc -../../../flutter/third_party/perfetto/src/base/no_destructor_unittest.cc -../../../flutter/third_party/perfetto/src/base/paged_memory_unittest.cc -../../../flutter/third_party/perfetto/src/base/periodic_task_unittest.cc -../../../flutter/third_party/perfetto/src/base/scoped_file_unittest.cc -../../../flutter/third_party/perfetto/src/base/small_vector_unittest.cc -../../../flutter/third_party/perfetto/src/base/status_or_unittest.cc -../../../flutter/third_party/perfetto/src/base/status_unittest.cc -../../../flutter/third_party/perfetto/src/base/string_splitter_unittest.cc -../../../flutter/third_party/perfetto/src/base/string_utils_unittest.cc -../../../flutter/third_party/perfetto/src/base/string_view_unittest.cc -../../../flutter/third_party/perfetto/src/base/string_writer_unittest.cc -../../../flutter/third_party/perfetto/src/base/subprocess_unittest.cc -../../../flutter/third_party/perfetto/src/base/task_runner_unittest.cc -../../../flutter/third_party/perfetto/src/base/temp_file_unittest.cc -../../../flutter/third_party/perfetto/src/base/test -../../../flutter/third_party/perfetto/src/base/thread_checker_unittest.cc -../../../flutter/third_party/perfetto/src/base/thread_task_runner_unittest.cc -../../../flutter/third_party/perfetto/src/base/threading/channel_unittest.cc -../../../flutter/third_party/perfetto/src/base/threading/future_unittest.cc -../../../flutter/third_party/perfetto/src/base/threading/spawn_unittest.cc -../../../flutter/third_party/perfetto/src/base/threading/stream_unittest.cc -../../../flutter/third_party/perfetto/src/base/threading/thread_pool_unittest.cc -../../../flutter/third_party/perfetto/src/base/threading/util_unittest.cc -../../../flutter/third_party/perfetto/src/base/time_unittest.cc -../../../flutter/third_party/perfetto/src/base/unix_socket_unittest.cc -../../../flutter/third_party/perfetto/src/base/utils_unittest.cc -../../../flutter/third_party/perfetto/src/base/uuid_unittest.cc -../../../flutter/third_party/perfetto/src/base/watchdog_posix_unittest.cc -../../../flutter/third_party/perfetto/src/base/watchdog_unittest.cc -../../../flutter/third_party/perfetto/src/base/weak_ptr_unittest.cc -../../../flutter/third_party/perfetto/src/bigtrace/trace_processor_wrapper_unittest.cc -../../../flutter/third_party/perfetto/src/ipc -../../../flutter/third_party/perfetto/src/kallsyms/kernel_symbol_map_unittest.cc -../../../flutter/third_party/perfetto/src/kallsyms/lazy_kernel_symbolizer_unittest.cc -../../../flutter/third_party/perfetto/src/perfetto_cmd/config_unittest.cc -../../../flutter/third_party/perfetto/src/perfetto_cmd/packet_writer_unittest.cc -../../../flutter/third_party/perfetto/src/perfetto_cmd/pbtxt_to_pb_unittest.cc -../../../flutter/third_party/perfetto/src/perfetto_cmd/rate_limiter_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/OWNERS -../../../flutter/third_party/perfetto/src/profiling/common/interner_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/common/proc_cmdline_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/common/proc_utils_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/common/producer_support_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/common/profiler_guardrails_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/deobfuscator_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/memory -../../../flutter/third_party/perfetto/src/profiling/perf/event_config_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/perf/perf_producer_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/perf/unwind_queue_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_parser_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_symbolizer_unittest.cc -../../../flutter/third_party/perfetto/src/profiling/symbolizer/local_symbolizer_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/copyable_ptr_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_generator_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_parser_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/filtering/filter_util_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/filtering/message_tokenizer_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/filtering/string_filter_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/message_arena_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/message_handle_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/message_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/proto_decoder_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/proto_ring_buffer_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/proto_utils_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/scattered_stream_writer_unittest.cc -../../../flutter/third_party/perfetto/src/protozero/test -../../../flutter/third_party/perfetto/src/shared_lib/intern_map_unittest.cc -../../../flutter/third_party/perfetto/src/shared_lib/test -../../../flutter/third_party/perfetto/src/tools -../../../flutter/third_party/perfetto/src/trace_processor -../../../flutter/third_party/perfetto/src/traceconv/trace_to_text_unittest.cc -../../../flutter/third_party/perfetto/src/traced -../../../flutter/third_party/perfetto/src/traced_relay/relay_service_unittest.cc -../../../flutter/third_party/perfetto/src/traced_relay/socket_relay_handler_unittest.cc -../../../flutter/third_party/perfetto/src/tracing -../../../flutter/third_party/perfetto/test -../../../flutter/third_party/perfetto/third_party/.gitignore -../../../flutter/third_party/perfetto/tools/analyze_profiling_sampling_distribution.py -../../../flutter/third_party/perfetto/tools/check_sql_metrics.py -../../../flutter/third_party/perfetto/tools/check_sql_modules.py -../../../flutter/third_party/perfetto/tools/compat.py -../../../flutter/third_party/perfetto/tools/diff_test_trace_processor.py -../../../flutter/third_party/perfetto/tools/download_changed_screenshots.py -../../../flutter/third_party/perfetto/tools/export_power_profiles.py -../../../flutter/third_party/perfetto/tools/find_scan_roots.py -../../../flutter/third_party/perfetto/tools/gen_amalgamated_sql.py -../../../flutter/third_party/perfetto/tools/gen_cc_proto_descriptor.py -../../../flutter/third_party/perfetto/tools/gen_grpc_build_gn.py -../../../flutter/third_party/perfetto/tools/gen_stdlib_docs_json.py -../../../flutter/third_party/perfetto/tools/gen_tp_table_docs.py -../../../flutter/third_party/perfetto/tools/gen_tp_table_headers.py -../../../flutter/third_party/perfetto/tools/gn_utils.py -../../../flutter/third_party/perfetto/tools/measure_tp_performance.py -../../../flutter/third_party/perfetto/tools/print_descriptor.py -../../../flutter/third_party/perfetto/tools/protoc_helper.py -../../../flutter/third_party/perfetto/tools/pull_ftrace_format_files.py -../../../flutter/third_party/perfetto/tools/run_buildtools_binary.py -../../../flutter/third_party/perfetto/tools/serialize_test_trace.py -../../../flutter/third_party/perfetto/tools/setup_all_configs.py -../../../flutter/third_party/perfetto/tools/test_gen_amalgamated.py -../../../flutter/third_party/perfetto/tools/touch_file.py -../../../flutter/third_party/perfetto/tools/write_version_header.py -../../../flutter/third_party/perfetto/ui/.clang-format -../../../flutter/third_party/perfetto/ui/.eslintrc.js -../../../flutter/third_party/perfetto/ui/.gitignore -../../../flutter/third_party/perfetto/ui/OWNERS -../../../flutter/third_party/perfetto/ui/PRESUBMIT.py -../../../flutter/third_party/perfetto/ui/README.md -../../../flutter/third_party/perfetto/ui/config/.gitignore -../../../flutter/third_party/perfetto/ui/package.json -../../../flutter/third_party/perfetto/ui/pnpm-lock.yaml -../../../flutter/third_party/perfetto/ui/release/OWNERS -../../../flutter/third_party/perfetto/ui/release/build_all_channels.py -../../../flutter/third_party/perfetto/ui/release/roll_branch.py -../../../flutter/third_party/perfetto/ui/src/assets/.gitignore -../../../flutter/third_party/perfetto/ui/src/base/array_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/bigint_math_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/binary_search_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/classnames_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/deferred_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/disposable_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/dom_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/fuzzy_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/hotkeys_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/json_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/object_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/set_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/string_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/time_unittest.ts -../../../flutter/third_party/perfetto/ui/src/base/utils/package.json -../../../flutter/third_party/perfetto/ui/src/base/validators_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/actions_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/canvas_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/colorizer_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/dragndrop_logic_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/event_set_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/feature_flags_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/flamegraph_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/high_precision_time_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/metatracing_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/plugins_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/proto_ring_buffer_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/protos_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/query_result_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/query_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factories/android_websocket_target_factory_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factories/chrome_target_factory_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/registry_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/schema_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/state_unittest.ts -../../../flutter/third_party/perfetto/ui/src/common/upload_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/controller/area_selection_handler_unittest.ts -../../../flutter/third_party/perfetto/ui/src/controller/args_parser_unittest.ts -../../../flutter/third_party/perfetto/ui/src/controller/controller_unittest.ts -../../../flutter/third_party/perfetto/ui/src/controller/pivot_table_tree_builder_unittest.ts -../../../flutter/third_party/perfetto/ui/src/core/perf_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/base_slice_track_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/flamegraph_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/gridline_helper_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/query_table_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/router_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/column_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/state_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/sql_utils_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/store_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/task_tracker_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/time_scale_unittest.ts -../../../flutter/third_party/perfetto/ui/src/frontend/track_cache_unittest.ts -../../../flutter/third_party/perfetto/ui/src/plugins/com.example.Skeleton/OWNERS -../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.AndroidCujs/OWNERS -../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.AndroidPerf/OWNERS -../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.LargeScreensPerf/OWNERS -../../../flutter/third_party/perfetto/ui/src/test -../../../flutter/third_party/pkg/archive -../../../flutter/third_party/pkg/coverage/.git -../../../flutter/third_party/pkg/coverage/.github -../../../flutter/third_party/pkg/coverage/.gitignore -../../../flutter/third_party/pkg/coverage/AUTHORS -../../../flutter/third_party/pkg/coverage/CHANGELOG.md -../../../flutter/third_party/pkg/coverage/PATENTS -../../../flutter/third_party/pkg/coverage/README.md -../../../flutter/third_party/pkg/coverage/analysis_options.yaml -../../../flutter/third_party/pkg/coverage/benchmark/.gitignore -../../../flutter/third_party/pkg/coverage/pubspec.yaml -../../../flutter/third_party/pkg/coverage/test -../../../flutter/third_party/pkg/equatable -../../../flutter/third_party/pkg/flutter_packages -../../../flutter/third_party/pkg/gcloud -../../../flutter/third_party/pkg/googleapis -../../../flutter/third_party/pkg/io/.git -../../../flutter/third_party/pkg/io/.github -../../../flutter/third_party/pkg/io/.gitignore -../../../flutter/third_party/pkg/io/AUTHORS -../../../flutter/third_party/pkg/io/CHANGELOG.md -../../../flutter/third_party/pkg/io/README.md -../../../flutter/third_party/pkg/io/analysis_options.yaml -../../../flutter/third_party/pkg/io/example -../../../flutter/third_party/pkg/io/pubspec.yaml -../../../flutter/third_party/pkg/io/test -../../../flutter/third_party/pkg/node_preamble/.git -../../../flutter/third_party/pkg/node_preamble/.gitignore -../../../flutter/third_party/pkg/node_preamble/CHANGELOG.md -../../../flutter/third_party/pkg/node_preamble/README.md -../../../flutter/third_party/pkg/node_preamble/example -../../../flutter/third_party/pkg/node_preamble/package.json -../../../flutter/third_party/pkg/node_preamble/pubspec.yaml -../../../flutter/third_party/pkg/process -../../../flutter/third_party/pkg/process_runner -../../../flutter/third_party/pkg/vector_math -../../../flutter/third_party/protobuf -../../../flutter/third_party/pyyaml -../../../flutter/third_party/rapidjson/.git -../../../flutter/third_party/rapidjson/.gitattributes -../../../flutter/third_party/rapidjson/.gitignore -../../../flutter/third_party/rapidjson/.gitmodules -../../../flutter/third_party/rapidjson/.travis.yml -../../../flutter/third_party/rapidjson/CHANGELOG.md -../../../flutter/third_party/rapidjson/CMakeLists.txt -../../../flutter/third_party/rapidjson/CMakeModules/FindGTestSrc.cmake -../../../flutter/third_party/rapidjson/README.fuchsia -../../../flutter/third_party/rapidjson/README.fuchsia.md -../../../flutter/third_party/rapidjson/RapidJSON.pc.in -../../../flutter/third_party/rapidjson/RapidJSONConfig.cmake.in -../../../flutter/third_party/rapidjson/RapidJSONConfigVersion.cmake.in -../../../flutter/third_party/rapidjson/appveyor.yml -../../../flutter/third_party/rapidjson/contrib -../../../flutter/third_party/rapidjson/doc -../../../flutter/third_party/rapidjson/docker/debian/Dockerfile -../../../flutter/third_party/rapidjson/example -../../../flutter/third_party/rapidjson/include_dirs.js -../../../flutter/third_party/rapidjson/library.json -../../../flutter/third_party/rapidjson/package.json -../../../flutter/third_party/rapidjson/rapidjson.autopkg -../../../flutter/third_party/rapidjson/readme.md -../../../flutter/third_party/rapidjson/readme.zh-cn.md -../../../flutter/third_party/rapidjson/test -../../../flutter/third_party/re2/.bazelrc -../../../flutter/third_party/re2/.git -../../../flutter/third_party/re2/.github -../../../flutter/third_party/re2/.gitignore -../../../flutter/third_party/re2/BUILD.bazel -../../../flutter/third_party/re2/CMakeLists.txt -../../../flutter/third_party/re2/CONTRIBUTING.md -../../../flutter/third_party/re2/Makefile -../../../flutter/third_party/re2/README -../../../flutter/third_party/re2/SECURITY.md -../../../flutter/third_party/re2/WORKSPACE.bazel -../../../flutter/third_party/re2/app/BUILD.bazel -../../../flutter/third_party/re2/app/package.json -../../../flutter/third_party/re2/benchlog -../../../flutter/third_party/re2/python/BUILD.bazel -../../../flutter/third_party/re2/python/README -../../../flutter/third_party/re2/python/re2.py -../../../flutter/third_party/re2/python/re2_test.py -../../../flutter/third_party/re2/python/setup.py -../../../flutter/third_party/re2/python/toolchains/generate.py -../../../flutter/third_party/re2/re2/make_unicode_casefold.py -../../../flutter/third_party/re2/re2/make_unicode_groups.py -../../../flutter/third_party/re2/re2/testing -../../../flutter/third_party/re2/re2/unicode.py -../../../flutter/third_party/shaderc/.clang-format -../../../flutter/third_party/shaderc/.git -../../../flutter/third_party/shaderc/.github -../../../flutter/third_party/shaderc/.gitignore -../../../flutter/third_party/shaderc/AUTHORS -../../../flutter/third_party/shaderc/Android.mk -../../../flutter/third_party/shaderc/CHANGES -../../../flutter/third_party/shaderc/CMakeLists.txt -../../../flutter/third_party/shaderc/CONTRIBUTING.md -../../../flutter/third_party/shaderc/CONTRIBUTORS -../../../flutter/third_party/shaderc/DEPS -../../../flutter/third_party/shaderc/Dockerfile -../../../flutter/third_party/shaderc/README.md -../../../flutter/third_party/shaderc/android_test/Android.mk -../../../flutter/third_party/shaderc/android_test/jni/Android.mk -../../../flutter/third_party/shaderc/android_test/jni/Application.mk -../../../flutter/third_party/shaderc/cmake -../../../flutter/third_party/shaderc/examples -../../../flutter/third_party/shaderc/glslc/CMakeLists.txt -../../../flutter/third_party/shaderc/glslc/README.asciidoc -../../../flutter/third_party/shaderc/glslc/test -../../../flutter/third_party/shaderc/libshaderc/Android.mk -../../../flutter/third_party/shaderc/libshaderc/CMakeLists.txt -../../../flutter/third_party/shaderc/libshaderc/README.md -../../../flutter/third_party/shaderc/libshaderc_util/Android.mk -../../../flutter/third_party/shaderc/libshaderc_util/CMakeLists.txt -../../../flutter/third_party/shaderc/libshaderc_util/testdata -../../../flutter/third_party/shaderc/license-checker.cfg -../../../flutter/third_party/shaderc/third_party/Android.mk -../../../flutter/third_party/shaderc/third_party/CMakeLists.txt -../../../flutter/third_party/shaderc/third_party/LICENSE.glslang -../../../flutter/third_party/shaderc/third_party/LICENSE.spirv-tools -../../../flutter/third_party/shaderc/utils/add_copyright.py -../../../flutter/third_party/shaderc/utils/remove-file-by-suffix.py -../../../flutter/third_party/shaderc/utils/update_build_version.py -../../../flutter/third_party/skia -../../../flutter/third_party/skia/.bazelrc -../../../flutter/third_party/skia/.bazelversion -../../../flutter/third_party/skia/.clang-format -../../../flutter/third_party/skia/.clang-tidy -../../../flutter/third_party/skia/.git -../../../flutter/third_party/skia/.gitignore -../../../flutter/third_party/skia/.gn -../../../flutter/third_party/skia/.vpython3 -../../../flutter/third_party/skia/AUTHORS -../../../flutter/third_party/skia/BUILD.bazel -../../../flutter/third_party/skia/CONTRIBUTING -../../../flutter/third_party/skia/CQ_COMMITTERS -../../../flutter/third_party/skia/DEPS -../../../flutter/third_party/skia/DIR_METADATA -../../../flutter/third_party/skia/OWNERS -../../../flutter/third_party/skia/OWNERS.android -../../../flutter/third_party/skia/PRESUBMIT.py -../../../flutter/third_party/skia/PRESUBMIT_test.py -../../../flutter/third_party/skia/PRESUBMIT_test_mocks.py -../../../flutter/third_party/skia/README -../../../flutter/third_party/skia/README.chromium -../../../flutter/third_party/skia/bazel -../../../flutter/third_party/skia/bench -../../../flutter/third_party/skia/codereview.settings -../../../flutter/third_party/skia/demos.skia.org -../../../flutter/third_party/skia/dm/BUILD.bazel -../../../flutter/third_party/skia/docs -../../../flutter/third_party/skia/example -../../../flutter/third_party/skia/experimental -../../../flutter/third_party/skia/fuzz/README.md -../../../flutter/third_party/skia/gm/BUILD.bazel -../../../flutter/third_party/skia/gm/png_codec.bzl -../../../flutter/third_party/skia/gn/BUILD.bazel -../../../flutter/third_party/skia/gn/__init__.py -../../../flutter/third_party/skia/gn/bazel_build.py -../../../flutter/third_party/skia/gn/call.py -../../../flutter/third_party/skia/gn/checkdir.py -../../../flutter/third_party/skia/gn/codesign_ios.py -../../../flutter/third_party/skia/gn/compile_ib_files.py -../../../flutter/third_party/skia/gn/compile_sksl_tests.py -../../../flutter/third_party/skia/gn/copy_git_directory.py -../../../flutter/third_party/skia/gn/cp.py -../../../flutter/third_party/skia/gn/find_headers.py -../../../flutter/third_party/skia/gn/find_msvc.py -../../../flutter/third_party/skia/gn/find_xcode_sysroot.py -../../../flutter/third_party/skia/gn/gn_meta_sln.py -../../../flutter/third_party/skia/gn/gn_to_bp.py -../../../flutter/third_party/skia/gn/gn_to_bp_utils.py -../../../flutter/third_party/skia/gn/gn_to_cmake.py -../../../flutter/third_party/skia/gn/highest_version_dir.py -../../../flutter/third_party/skia/gn/is_clang.py -../../../flutter/third_party/skia/gn/make_gm_gni.py -../../../flutter/third_party/skia/gn/minify_sksl.py -../../../flutter/third_party/skia/gn/minify_sksl_tests.py -../../../flutter/third_party/skia/gn/push_to_android.py -../../../flutter/third_party/skia/gn/rm.py -../../../flutter/third_party/skia/gn/run_sksllex.py -../../../flutter/third_party/skia/gn/skqp_gn_args.py -../../../flutter/third_party/skia/gn/toolchain/num_cpus.py -../../../flutter/third_party/skia/include/BUILD.bazel -../../../flutter/third_party/skia/include/OWNERS -../../../flutter/third_party/skia/include/android/BUILD.bazel -../../../flutter/third_party/skia/include/codec/BUILD.bazel -../../../flutter/third_party/skia/include/config/BUILD.bazel -../../../flutter/third_party/skia/include/config/OWNERS -../../../flutter/third_party/skia/include/config/WORKSPACE.bazel -../../../flutter/third_party/skia/include/config/copts.bzl -../../../flutter/third_party/skia/include/config/linkopts.bzl -../../../flutter/third_party/skia/include/core/BUILD.bazel -../../../flutter/third_party/skia/include/docs/BUILD.bazel -../../../flutter/third_party/skia/include/effects/BUILD.bazel -../../../flutter/third_party/skia/include/encode/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/d3d/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/gl/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/gl/egl/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/gl/epoxy/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/gl/glx/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/gl/ios/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/gl/mac/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/gl/win/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/mock/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/mtl/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/ganesh/vk/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/graphite/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/graphite/dawn/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/graphite/mtl/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/graphite/precompile/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/graphite/vk/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/graphite/vk/precompile/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/mtl/BUILD.bazel -../../../flutter/third_party/skia/include/gpu/vk/BUILD.bazel -../../../flutter/third_party/skia/include/pathops/BUILD.bazel -../../../flutter/third_party/skia/include/ports/BUILD.bazel -../../../flutter/third_party/skia/include/private/BUILD.bazel -../../../flutter/third_party/skia/include/private/OWNERS -../../../flutter/third_party/skia/include/private/base/BUILD.bazel -../../../flutter/third_party/skia/include/private/base/README.md -../../../flutter/third_party/skia/include/private/chromium/BUILD.bazel -../../../flutter/third_party/skia/include/private/gpu/BUILD.bazel -../../../flutter/third_party/skia/include/private/gpu/ganesh/BUILD.bazel -../../../flutter/third_party/skia/include/private/gpu/vk/BUILD.bazel -../../../flutter/third_party/skia/include/sksl/BUILD.bazel -../../../flutter/third_party/skia/include/svg/BUILD.bazel -../../../flutter/third_party/skia/include/third_party/vulkan/BUILD.bazel -../../../flutter/third_party/skia/include/utils/BUILD.bazel -../../../flutter/third_party/skia/include/utils/mac/BUILD.bazel -../../../flutter/third_party/skia/infra -../../../flutter/third_party/skia/modules/audioplayer/BUILD.bazel -../../../flutter/third_party/skia/modules/bentleyottmann/BUILD.bazel -../../../flutter/third_party/skia/modules/bentleyottmann/include/BUILD.bazel -../../../flutter/third_party/skia/modules/bentleyottmann/src/BUILD.bazel -../../../flutter/third_party/skia/modules/bentleyottmann/tests -../../../flutter/third_party/skia/modules/canvaskit/.gitignore -../../../flutter/third_party/skia/modules/canvaskit/BUILD.bazel -../../../flutter/third_party/skia/modules/canvaskit/CHANGELOG.md -../../../flutter/third_party/skia/modules/canvaskit/Makefile -../../../flutter/third_party/skia/modules/canvaskit/README.md -../../../flutter/third_party/skia/modules/canvaskit/external_test/.gitignore -../../../flutter/third_party/skia/modules/canvaskit/external_test/Makefile -../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser/package.json -../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser_es6/package.json -../../../flutter/third_party/skia/modules/canvaskit/fonts/README.md -../../../flutter/third_party/skia/modules/canvaskit/go/gold_test_env -../../../flutter/third_party/skia/modules/canvaskit/npm_build/.gitignore -../../../flutter/third_party/skia/modules/canvaskit/npm_build/CODE_OF_CONDUCT.md -../../../flutter/third_party/skia/modules/canvaskit/npm_build/CONTRIBUTING.md -../../../flutter/third_party/skia/modules/canvaskit/npm_build/README.md -../../../flutter/third_party/skia/modules/canvaskit/npm_build/example.html -../../../flutter/third_party/skia/modules/canvaskit/npm_build/package.json -../../../flutter/third_party/skia/modules/canvaskit/npm_build/types/README.md -../../../flutter/third_party/skia/modules/canvaskit/package.json -../../../flutter/third_party/skia/modules/canvaskit/tests -../../../flutter/third_party/skia/modules/canvaskit/wasm_tools/SIMD/.gitignore -../../../flutter/third_party/skia/modules/jetski/BUILD.bazel -../../../flutter/third_party/skia/modules/jetski/README -../../../flutter/third_party/skia/modules/jsonreader/BUILD.bazel -../../../flutter/third_party/skia/modules/pathkit/.gitignore -../../../flutter/third_party/skia/modules/pathkit/BUILD.bazel -../../../flutter/third_party/skia/modules/pathkit/CHANGELOG.md -../../../flutter/third_party/skia/modules/pathkit/Makefile -../../../flutter/third_party/skia/modules/pathkit/README.md -../../../flutter/third_party/skia/modules/pathkit/npm-asmjs/CODE_OF_CONDUCT.md -../../../flutter/third_party/skia/modules/pathkit/npm-asmjs/CONTRIBUTING.md -../../../flutter/third_party/skia/modules/pathkit/npm-asmjs/README.md -../../../flutter/third_party/skia/modules/pathkit/npm-asmjs/example.html -../../../flutter/third_party/skia/modules/pathkit/npm-asmjs/package.json -../../../flutter/third_party/skia/modules/pathkit/npm-wasm/CODE_OF_CONDUCT.md -../../../flutter/third_party/skia/modules/pathkit/npm-wasm/CONTRIBUTING.md -../../../flutter/third_party/skia/modules/pathkit/npm-wasm/README.md -../../../flutter/third_party/skia/modules/pathkit/npm-wasm/example.html -../../../flutter/third_party/skia/modules/pathkit/npm-wasm/package.json -../../../flutter/third_party/skia/modules/pathkit/package.json -../../../flutter/third_party/skia/modules/pathkit/tests -../../../flutter/third_party/skia/modules/skcms/BUILD.bazel -../../../flutter/third_party/skia/modules/skcms/OWNERS -../../../flutter/third_party/skia/modules/skcms/README.chromium -../../../flutter/third_party/skia/modules/skcms/version.sha1 -../../../flutter/third_party/skia/modules/skottie/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/fuzz/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/gm/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/include/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/src/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/src/animator/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/src/effects/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/src/layers/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/src/text/BUILD.bazel -../../../flutter/third_party/skia/modules/skottie/tests -../../../flutter/third_party/skia/modules/skottie/utils/BUILD.bazel -../../../flutter/third_party/skia/modules/skparagraph/BUILD.bazel -../../../flutter/third_party/skia/modules/skparagraph/bench/BUILD.bazel -../../../flutter/third_party/skia/modules/skparagraph/gm/BUILD.bazel -../../../flutter/third_party/skia/modules/skparagraph/include/BUILD.bazel -../../../flutter/third_party/skia/modules/skparagraph/slides/BUILD.bazel -../../../flutter/third_party/skia/modules/skparagraph/src/BUILD.bazel -../../../flutter/third_party/skia/modules/skparagraph/tests -../../../flutter/third_party/skia/modules/skparagraph/utils/BUILD.bazel -../../../flutter/third_party/skia/modules/skplaintexteditor/README.md -../../../flutter/third_party/skia/modules/skresources/BUILD.bazel -../../../flutter/third_party/skia/modules/skresources/include/BUILD.bazel -../../../flutter/third_party/skia/modules/skresources/src/BUILD.bazel -../../../flutter/third_party/skia/modules/sksg/BUILD.bazel -../../../flutter/third_party/skia/modules/sksg/include/BUILD.bazel -../../../flutter/third_party/skia/modules/sksg/slides/BUILD.bazel -../../../flutter/third_party/skia/modules/sksg/src/BUILD.bazel -../../../flutter/third_party/skia/modules/sksg/tests -../../../flutter/third_party/skia/modules/skshaper/BUILD.bazel -../../../flutter/third_party/skia/modules/skshaper/include/BUILD.bazel -../../../flutter/third_party/skia/modules/skshaper/src/BUILD.bazel -../../../flutter/third_party/skia/modules/skshaper/tests -../../../flutter/third_party/skia/modules/skshaper/utils/BUILD.bazel -../../../flutter/third_party/skia/modules/skunicode/BUILD.bazel -../../../flutter/third_party/skia/modules/skunicode/include/BUILD.bazel -../../../flutter/third_party/skia/modules/skunicode/src/BUILD.bazel -../../../flutter/third_party/skia/modules/skunicode/tests -../../../flutter/third_party/skia/modules/svg/BUILD.bazel -../../../flutter/third_party/skia/modules/svg/include/BUILD.bazel -../../../flutter/third_party/skia/modules/svg/src/BUILD.bazel -../../../flutter/third_party/skia/modules/svg/tests -../../../flutter/third_party/skia/modules/svg/utils/BUILD.bazel -../../../flutter/third_party/skia/package.json -../../../flutter/third_party/skia/platform_tools -../../../flutter/third_party/skia/relnotes/README.md -../../../flutter/third_party/skia/requirements.txt -../../../flutter/third_party/skia/resources -../../../flutter/third_party/skia/site -../../../flutter/third_party/skia/specs -../../../flutter/third_party/skia/src/BUILD.bazel -../../../flutter/third_party/skia/src/android/BUILD.bazel -../../../flutter/third_party/skia/src/base/BUILD.bazel -../../../flutter/third_party/skia/src/base/README.md -../../../flutter/third_party/skia/src/capture/BUILD.bazel -../../../flutter/third_party/skia/src/codec/BUILD.bazel -../../../flutter/third_party/skia/src/core/BUILD.bazel -../../../flutter/third_party/skia/src/effects/BUILD.bazel -../../../flutter/third_party/skia/src/effects/colorfilters/BUILD.bazel -../../../flutter/third_party/skia/src/effects/imagefilters/BUILD.bazel -../../../flutter/third_party/skia/src/encode/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/android/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/d3d/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/effects/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/geometry/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/android/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/egl/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/epoxy/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/glx/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/iOS/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/mac/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/webgl/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gl/win/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/glsl/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gradients/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/gradients/README.md -../../../flutter/third_party/skia/src/gpu/ganesh/image/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/mock/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/mtl/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/ops/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/surface/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/text/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/ganesh/vk/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/compute/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/dawn/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/geom/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/mtl/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/precompile/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/render/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/surface/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/task/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/text/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/vk/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/graphite/vk/precompile/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/mtl/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/tessellate/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/vk/BUILD.bazel -../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/BUILD.bazel -../../../flutter/third_party/skia/src/image/BUILD.bazel -../../../flutter/third_party/skia/src/lazy/BUILD.bazel -../../../flutter/third_party/skia/src/opts/BUILD.bazel -../../../flutter/third_party/skia/src/pathops/BUILD.bazel -../../../flutter/third_party/skia/src/pdf/BUILD.bazel -../../../flutter/third_party/skia/src/ports/BUILD.bazel -../../../flutter/third_party/skia/src/ports/fontations/BUILD.bazel -../../../flutter/third_party/skia/src/sfnt/BUILD.bazel -../../../flutter/third_party/skia/src/shaders/BUILD.bazel -../../../flutter/third_party/skia/src/shaders/gradients/BUILD.bazel -../../../flutter/third_party/skia/src/sksl/BUILD.bazel -../../../flutter/third_party/skia/src/sksl/README.md -../../../flutter/third_party/skia/src/sksl/analysis/BUILD.bazel -../../../flutter/third_party/skia/src/sksl/codegen/BUILD.bazel -../../../flutter/third_party/skia/src/sksl/ir/BUILD.bazel -../../../flutter/third_party/skia/src/sksl/lex/BUILD.bazel -../../../flutter/third_party/skia/src/sksl/tracing/BUILD.bazel -../../../flutter/third_party/skia/src/sksl/transform/BUILD.bazel -../../../flutter/third_party/skia/src/svg/BUILD.bazel -../../../flutter/third_party/skia/src/text/BUILD.bazel -../../../flutter/third_party/skia/src/text/gpu/BUILD.bazel -../../../flutter/third_party/skia/src/utils/BUILD.bazel -../../../flutter/third_party/skia/src/utils/mac/BUILD.bazel -../../../flutter/third_party/skia/src/utils/win/BUILD.bazel -../../../flutter/third_party/skia/src/xml/BUILD.bazel -../../../flutter/third_party/skia/src/xps/BUILD.bazel -../../../flutter/third_party/skia/tests -../../../flutter/third_party/skia/third_party/README -../../../flutter/third_party/skia/third_party/etc1/BUILD.bazel -../../../flutter/third_party/skia/third_party/etc1/README.google -../../../flutter/third_party/skia/third_party/freetype2 -../../../flutter/third_party/skia/third_party/harfbuzz/README -../../../flutter/third_party/skia/third_party/icu -../../../flutter/third_party/skia/third_party/libgrapheme/generate_headers.py -../../../flutter/third_party/skia/third_party/libjpeg-turbo -../../../flutter/third_party/skia/third_party/libpng -../../../flutter/third_party/skia/third_party/lua -../../../flutter/third_party/skia/third_party/vello -../../../flutter/third_party/skia/third_party/vulkanmemoryallocator/BUILD.bazel -../../../flutter/third_party/skia/toolchain/BUILD.bazel -../../../flutter/third_party/skia/toolchain/android_trampolines/gen_trampolines/BUILD.bazel -../../../flutter/third_party/skia/toolchain/clang_layering_check.bzl -../../../flutter/third_party/skia/toolchain/download_ios_toolchain.bzl -../../../flutter/third_party/skia/toolchain/download_linux_amd64_toolchain.bzl -../../../flutter/third_party/skia/toolchain/download_mac_toolchain.bzl -../../../flutter/third_party/skia/toolchain/download_ndk_linux_amd64_toolchain.bzl -../../../flutter/third_party/skia/toolchain/download_toolchains.bzl -../../../flutter/third_party/skia/toolchain/download_windows_amd64_toolchain.bzl -../../../flutter/third_party/skia/toolchain/ios_toolchain_config.bzl -../../../flutter/third_party/skia/toolchain/linux_amd64_toolchain_config.bzl -../../../flutter/third_party/skia/toolchain/mac_toolchain_config.bzl -../../../flutter/third_party/skia/toolchain/ndk_linux_arm64_toolchain_config.bzl -../../../flutter/third_party/skia/toolchain/utils.bzl -../../../flutter/third_party/skia/toolchain/windows_toolchain_config.bzl -../../../flutter/third_party/skia/tools -../../../flutter/third_party/spring_animation/README.md -../../../flutter/third_party/sqlite/.git -../../../flutter/third_party/sqlite/.gitignore -../../../flutter/third_party/sqlite/GIT_REVISION -../../../flutter/third_party/sqlite/LAST_UPDATE -../../../flutter/third_party/sqlite/Makefile -../../../flutter/third_party/sqlite/README.md -../../../flutter/third_party/sqlite/VERSION -../../../flutter/third_party/swiftshader/.clang-format -../../../flutter/third_party/swiftshader/.git -../../../flutter/third_party/swiftshader/.gitignore -../../../flutter/third_party/swiftshader/.gitmodules -../../../flutter/third_party/swiftshader/.vscode -../../../flutter/third_party/swiftshader/CMakeLists.txt -../../../flutter/third_party/swiftshader/CONTRIBUTING.txt -../../../flutter/third_party/swiftshader/DIR_METADATA -../../../flutter/third_party/swiftshader/OWNERS -../../../flutter/third_party/swiftshader/README.md -../../../flutter/third_party/swiftshader/build/android.toolchain.cmake -../../../flutter/third_party/swiftshader/codereview.settings -../../../flutter/third_party/swiftshader/src/Device/CMakeLists.txt -../../../flutter/third_party/swiftshader/src/Pipeline/CMakeLists.txt -../../../flutter/third_party/swiftshader/src/Reactor/CMakeLists.txt -../../../flutter/third_party/swiftshader/src/System/CMakeLists.txt -../../../flutter/third_party/swiftshader/src/Vulkan/CMakeLists.txt -../../../flutter/third_party/swiftshader/src/Vulkan/write_icd_json.py -../../../flutter/third_party/swiftshader/src/WSI/CMakeLists.txt -../../../flutter/third_party/swiftshader/src/commit_id.py -../../../flutter/third_party/swiftshader/tests -../../../flutter/third_party/swiftshader/third_party -../../../flutter/third_party/swiftshader/tools/cmake_generate_graphviz/CMakeGraphVizOptions.cmake -../../../flutter/third_party/test_shaders -../../../flutter/third_party/tonic/.clang-format -../../../flutter/third_party/tonic/AUTHORS -../../../flutter/third_party/tonic/PATENTS -../../../flutter/third_party/tonic/README.md -../../../flutter/third_party/tonic/file_loader/file_loader_unittests.cc -../../../flutter/third_party/tonic/filesystem/README.md -../../../flutter/third_party/tonic/filesystem/tests -../../../flutter/third_party/tonic/tests -../../../flutter/third_party/vulkan-deps/.git -../../../flutter/third_party/vulkan-deps/.gitattributes -../../../flutter/third_party/vulkan-deps/.gitignore -../../../flutter/third_party/vulkan-deps/.gitmodules -../../../flutter/third_party/vulkan-deps/DEPS -../../../flutter/third_party/vulkan-deps/OWNERS -../../../flutter/third_party/vulkan-deps/README.chromium -../../../flutter/third_party/vulkan-deps/README.md -../../../flutter/third_party/vulkan-deps/additional_readme_paths.json -../../../flutter/third_party/vulkan-deps/glslang/DIR_METADATA -../../../flutter/third_party/vulkan-deps/glslang/LICENSE -../../../flutter/third_party/vulkan-deps/glslang/README.chromium -../../../flutter/third_party/vulkan-deps/glslang/src/.clang-format -../../../flutter/third_party/vulkan-deps/glslang/src/.git -../../../flutter/third_party/vulkan-deps/glslang/src/.gitattributes -../../../flutter/third_party/vulkan-deps/glslang/src/.github -../../../flutter/third_party/vulkan-deps/glslang/src/.gitignore -../../../flutter/third_party/vulkan-deps/glslang/src/.gn -../../../flutter/third_party/vulkan-deps/glslang/src/.mailmap -../../../flutter/third_party/vulkan-deps/glslang/src/Android.mk -../../../flutter/third_party/vulkan-deps/glslang/src/CHANGES.md -../../../flutter/third_party/vulkan-deps/glslang/src/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/glslang/src/CODE_OF_CONDUCT.md -../../../flutter/third_party/vulkan-deps/glslang/src/DEPS -../../../flutter/third_party/vulkan-deps/glslang/src/External/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/glslang/src/LICENSE.txt -../../../flutter/third_party/vulkan-deps/glslang/src/README-spirv-remap.txt -../../../flutter/third_party/vulkan-deps/glslang/src/README.md -../../../flutter/third_party/vulkan-deps/glslang/src/SECURITY.md -../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/glslang/src/Test -../../../flutter/third_party/vulkan-deps/glslang/src/_config.yml -../../../flutter/third_party/vulkan-deps/glslang/src/build_info.py -../../../flutter/third_party/vulkan-deps/glslang/src/gen_extension_headers.py -../../../flutter/third_party/vulkan-deps/glslang/src/glslang/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/Unix/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/Web -../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/Windows/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/glslang/src/gtests/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/glslang/src/gtests/README.md -../../../flutter/third_party/vulkan-deps/glslang/src/known_good.json -../../../flutter/third_party/vulkan-deps/glslang/src/known_good_khr.json -../../../flutter/third_party/vulkan-deps/glslang/src/kokoro -../../../flutter/third_party/vulkan-deps/glslang/src/license-checker.cfg -../../../flutter/third_party/vulkan-deps/glslang/src/ndk_test/Android.mk -../../../flutter/third_party/vulkan-deps/glslang/src/ndk_test/jni/Application.mk -../../../flutter/third_party/vulkan-deps/glslang/src/parse_version.cmake -../../../flutter/third_party/vulkan-deps/glslang/src/update_glslang_sources.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/README.chromium -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/.clang-format -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/.git -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/.gitattributes -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/.github -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/.gitignore -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/BUILD.md -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/CONTRIBUTING.md -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/README.md -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/README.md -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/test -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/android.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/api_dump_generator.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/common_codegen.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/generate_source.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/github_ci_linux.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/gn/DEPS -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/gn/generate_vulkantools_layers_json.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/gn/gn.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/known_good.json -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/update_deps.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/scripts/vt_genvk.py -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/tests -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/README.md -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/macOS/vkconfig.cmake -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/test -../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_gui -../../../flutter/third_party/vulkan-deps/spirv-cross/DIR_METADATA -../../../flutter/third_party/vulkan-deps/spirv-cross/README.chromium -../../../flutter/third_party/vulkan-deps/spirv-cross/src/.clang-format -../../../flutter/third_party/vulkan-deps/spirv-cross/src/.git -../../../flutter/third_party/vulkan-deps/spirv-cross/src/.github -../../../flutter/third_party/vulkan-deps/spirv-cross/src/.gitignore -../../../flutter/third_party/vulkan-deps/spirv-cross/src/.reuse -../../../flutter/third_party/vulkan-deps/spirv-cross/src/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/spirv-cross/src/CODE_OF_CONDUCT.adoc -../../../flutter/third_party/vulkan-deps/spirv-cross/src/LICENSES -../../../flutter/third_party/vulkan-deps/spirv-cross/src/Makefile -../../../flutter/third_party/vulkan-deps/spirv-cross/src/README.md -../../../flutter/third_party/vulkan-deps/spirv-cross/src/appveyor.yml -../../../flutter/third_party/vulkan-deps/spirv-cross/src/cmake -../../../flutter/third_party/vulkan-deps/spirv-cross/src/samples -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-hlsl -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-hlsl-no-opt -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-msl -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-msl-no-opt -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-no-opt -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-other -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-reflection -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-ue4 -../../../flutter/third_party/vulkan-deps/spirv-cross/src/shaders-ue4-no-opt -../../../flutter/third_party/vulkan-deps/spirv-cross/src/test_shaders.py -../../../flutter/third_party/vulkan-deps/spirv-headers -../../../flutter/third_party/vulkan-deps/spirv-tools -../../../flutter/third_party/vulkan-deps/update-commit-message.py -../../../flutter/third_party/vulkan-deps/vulkan-headers/DIR_METADATA -../../../flutter/third_party/vulkan-deps/vulkan-headers/README.chromium -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/.git -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/.gitattributes -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/.github -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/.gitignore -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/.reuse -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/BUILD.md -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/CODE_OF_CONDUCT.adoc -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/CONTRIBUTING.md -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/LICENSE.md -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/Makefile.release -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/README.md -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/SECURITY.md -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/registry -../../../flutter/third_party/vulkan-deps/vulkan-headers/src/tests -../../../flutter/third_party/vulkan-deps/vulkan-loader -../../../flutter/third_party/vulkan-deps/vulkan-tools -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/README.chromium -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/.clang-format -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/.git -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/.gitattributes -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/.github -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/.gitignore -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/.reuse -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/BUILD.md -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/CODE_OF_CONDUCT.md -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/LICENSE.md -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/README.md -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/common_ci.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generate_source.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generators/base_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generators/dispatch_table_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generators/enum_string_helper_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generators/format_utils_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generators/generator_utils.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generators/safe_struct_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generators/struct_helper_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/generators/vulkan_object.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/gn/DEPS -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/gn/gn.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/known_good.json -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/update_deps.py -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/tests -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/README.chromium -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/.clang-format -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/.clang-tidy -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/.git -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/.gitattributes -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/.github -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/.gitignore -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/.mailmap -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/BUILD.md -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/CODE_OF_CONDUCT.md -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/CONTRIBUTING.md -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/README.md -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/docs -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/README.md -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/README.md -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/.clang-format -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/CMakeLists.txt -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/android.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/antialias_source.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/check_code_format.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/clang-format-diff.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/common_ci.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generate_source.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generate_spec_error_message.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generate_spirv.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/api_version_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/base_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/best_practices_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/command_validation_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/device_features_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/dispatch_object_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/dispatch_table_helper_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/dispatch_vector_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/dynamic_state_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/enum_flag_bits_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/error_location_helper_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/extension_helper_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/feature_requirements.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/function_pointers_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/generator_utils.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/layer_chassis_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/layer_dispatch_table_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/object_tracker_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/object_types_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/pnext_chain_extraction_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/spirv_grammar_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/spirv_tool_commit_id_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/spirv_validation_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/stateless_validation_helper_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/sync_validation_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/test_icd_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/thread_safety_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/valid_enum_values_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/valid_flag_values_generator.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/generators/vulkan_object.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/DEPS -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/commit_id.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/export_targets.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/generate_vulkan_layers_json.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/gn/gn.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/known_good.json -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/tests.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/update_deps.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/scripts/vk_validation_stats.py -../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/tests -../../../flutter/third_party/vulkan_memory_allocator/.git -../../../flutter/third_party/vulkan_memory_allocator/.gitignore -../../../flutter/third_party/vulkan_memory_allocator/.travis.yml -../../../flutter/third_party/vulkan_memory_allocator/CHANGELOG.md -../../../flutter/third_party/vulkan_memory_allocator/CMakeLists.txt -../../../flutter/third_party/vulkan_memory_allocator/Doxyfile -../../../flutter/third_party/vulkan_memory_allocator/README.md -../../../flutter/third_party/vulkan_memory_allocator/bin -../../../flutter/third_party/vulkan_memory_allocator/docs -../../../flutter/third_party/vulkan_memory_allocator/media -../../../flutter/third_party/vulkan_memory_allocator/src -../../../flutter/third_party/vulkan_memory_allocator/tools -../../../flutter/third_party/web_locale_keymap/CHANGELOG.md -../../../flutter/third_party/web_locale_keymap/README.md -../../../flutter/third_party/web_locale_keymap/pubspec.yaml -../../../flutter/third_party/web_locale_keymap/test -../../../flutter/third_party/web_test_fonts/pubspec.yaml -../../../flutter/third_party/web_unicode/README.md -../../../flutter/third_party/web_unicode/pubspec.yaml -../../../flutter/third_party/wuffs/.git -../../../flutter/third_party/wuffs/.github -../../../flutter/third_party/wuffs/README.md -../../../flutter/third_party/wuffs/docs -../../../flutter/third_party/wuffs/release/c/README.md -../../../flutter/third_party/wuffs/script -../../../flutter/third_party/wuffs/sync.txt -../../../flutter/third_party/yapf -../../../flutter/third_party/zlib/.git -../../../flutter/third_party/zlib/CMakeLists.txt -../../../flutter/third_party/zlib/DIR_METADATA -../../../flutter/third_party/zlib/OWNERS -../../../flutter/third_party/zlib/README.chromium -../../../flutter/third_party/zlib/contrib/minizip/Makefile -../../../flutter/third_party/zlib/contrib/minizip/README.chromium -../../../flutter/third_party/zlib/contrib/minizip/miniunz.c -../../../flutter/third_party/zlib/contrib/minizip/minizip.c -../../../flutter/third_party/zlib/contrib/minizip/minizip.md -../../../flutter/third_party/zlib/contrib/tests -../../../flutter/third_party/zlib/examples -../../../flutter/third_party/zlib/google/DEPS -../../../flutter/third_party/zlib/google/OWNERS -../../../flutter/third_party/zlib/google/compression_utils_unittest.cc -../../../flutter/third_party/zlib/google/test -../../../flutter/third_party/zlib/google/zip_reader_unittest.cc -../../../flutter/third_party/zlib/google/zip_unittest.cc -../../../flutter/third_party/zlib/patches/README -../../../flutter/third_party/zlib/test -../../../flutter/third_party/zlib/zlib.3 -../../../flutter/tools -../../../flutter/tools/licenses/.dart_tool -../../../flutter/tools/licenses/.gitignore -../../../flutter/tools/licenses/README.md -../../../flutter/tools/licenses/analysis_options.yaml -../../../flutter/tools/licenses/data -../../../flutter/tools/licenses/lib/README -../../../flutter/tools/licenses/pubspec.yaml -../../../flutter/tools/licenses/test -../../../flutter/txt/.clang-format -../../../flutter/txt/.gitattributes -../../../flutter/txt/.gitignore -../../../flutter/txt/tests -../../../flutter/txt/third_party/fonts -../../../flutter/web_sdk -../../../fuchsia/sdk/linux/.build-id -../../../fuchsia/sdk/linux/.versions -../../../fuchsia/sdk/linux/AUTHORS -../../../fuchsia/sdk/linux/NOTICE.fuchsia -../../../fuchsia/sdk/linux/PATENTS -../../../fuchsia/sdk/linux/README.md -../../../fuchsia/sdk/linux/arch/arm64/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/arch/arm64/sysroot/dist/lib/hwasan/ld.so.1 -../../../fuchsia/sdk/linux/arch/arm64/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/arch/riscv64/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/arch/riscv64/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/arch/x64/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/arch/x64/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/bind/fuchsia.acpi/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.adc/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform.a311d/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform.meson/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.arm.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.block/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.broadcom.platform.sdio/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.broadcom.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.clock/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.designware.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.devicetree/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.ethernet/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.focaltech.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.google.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.gpio/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.i2c/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.interconnect/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.khadas.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.mailbox/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.nxp.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.pci/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.power/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.pwm/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.realtek.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.register/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.regulator/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.sdio/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.sdmmc/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.serial/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.spmi/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.sysmem/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.test.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.test/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.ti.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.usb.phy/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia.verisilicon.platform/meta.json -../../../fuchsia/sdk/linux/bind/fuchsia/meta.json -../../../fuchsia/sdk/linux/dart/sl4f/meta.json -../../../fuchsia/sdk/linux/data/config/symbol_index/meta.json -../../../fuchsia/sdk/linux/docs -../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.gesture/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.semantics/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.tts/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.virtualkeyboard/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.audio.effects/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.auth.oldtokens/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.auth/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.a2dp/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.fastpair/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.hfp/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.host/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.boot.metadata/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.buildinfo.test/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.buildinfo/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.buttons/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.camera/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.camera2.hal/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.camera2/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.castauth/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.castconfig/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.castremotecontrol/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.castsetup/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.castsysteminfo/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.castwindow/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.component.runner/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.component.runtime/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.component.sandbox/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.component.test/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.component/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.data/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.debugdata/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.developer.tiles/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.device.fs/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics.system/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics.types/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.driver.metadata/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.driver.registrar/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.driver.test/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.element/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.factory.wlan/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.factory/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.gpu.agis/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.gpu.magma/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.adc/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.adcimpl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.clock/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.clockimpl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.cpu.ctrl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.gnss/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.gpio/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.haptics/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.hrtimer/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2c.businfo/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2c/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2cimpl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.interconnect/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.light/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.mailbox/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network.driver/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.nfc/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pci/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pin/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pinimpl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.bus/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.device/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.sensor/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.statecontrol/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.suspend/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.qualcomm.fastrpc/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.qualcomm.router/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.radar/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.registers/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.rtc/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdhci/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdio/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdmmc/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.serial/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.serialimpl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sharedmemory/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spi.businfo/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spi/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spiimpl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spmi/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.temperature/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.trippoint/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.dci/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.descriptor/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.endpoint/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.phy/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.request/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.uwb/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.vreg/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.hwinfo/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.images/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.images2/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.input.virtualkeyboard/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.input/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.inspect/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.intl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.io/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ldsvc/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.legacymetrics/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.location.gnss.types/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.location.namedplace/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.location.position/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.location.sensor/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.location/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.logger/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.bootstrap/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.math/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.media.sounds/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.media.target/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.media/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.mediacodec/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.mem/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.memorypressure/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.metrics/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.migration/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.net.http/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.net.interfaces/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.net.reachability/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.net.stackmigrationdeprecated/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.net/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.pkg.resolution/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.power.broker/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.power.clientlevel/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.power.observability/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.power.profile/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.power.system/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.power.systemmode/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.power/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.process.lifecycle/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.process/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.recovery.ui/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.recovery/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.scenic.scheduling/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.scheduler/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.session/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.settings.policy/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.settings/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.storage.ftl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.sysinfo/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.system.state/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.test/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.thermal/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.time.alarms/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.controller/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.perfetto/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.provider/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.tracing/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity.control/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.brightness/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.display.singleton/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.observation.geometry/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.scene/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.types/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.ultrasound/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.unknown/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.update.channel/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.update.channelcontrol/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.update.config/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.update/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.url/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.version/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.weave/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.web/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.fullmac/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.phyimpl/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.product.deprecatedclient/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.product.deprecatedconfiguration/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.softmac/meta.json -../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.stats/meta.json -../../../fuchsia/sdk/linux/fidl/zx/meta.json -../../../fuchsia/sdk/linux/meta -../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/dist/lib/hwasan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/dist/lib/hwasan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/dist/lib/hwasan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/dist/lib/hwasan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/dist/lib/hwasan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/dist/lib/hwasan/ld.so.1 -../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/dist/lib/asan/ld.so.1 -../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/dist/lib/ld.so.1 -../../../fuchsia/sdk/linux/packages/blobs -../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/meta.json -../../../fuchsia/sdk/linux/packages/fake-build-info/meta.json -../../../fuchsia/sdk/linux/packages/heapdump-collector/meta.json -../../../fuchsia/sdk/linux/packages/intl_property_manager/meta.json -../../../fuchsia/sdk/linux/packages/realm_builder_server/meta.json -../../../fuchsia/sdk/linux/packages/vkcopy-test/meta.json -../../../fuchsia/sdk/linux/packages/vkext-test/meta.json -../../../fuchsia/sdk/linux/packages/vkloop-test/meta.json -../../../fuchsia/sdk/linux/packages/vkproto-driver-test/meta.json -../../../fuchsia/sdk/linux/packages/vkreadback_test/meta.json -../../../fuchsia/sdk/linux/pkg/async-cpp/meta.json -../../../fuchsia/sdk/linux/pkg/async-default/meta.json -../../../fuchsia/sdk/linux/pkg/async-loop-cpp/meta.json -../../../fuchsia/sdk/linux/pkg/async-loop-default/meta.json -../../../fuchsia/sdk/linux/pkg/async-loop-testing/include/lib/async-loop/testing -../../../fuchsia/sdk/linux/pkg/async-loop-testing/meta.json -../../../fuchsia/sdk/linux/pkg/async-loop/meta.json -../../../fuchsia/sdk/linux/pkg/async-testing/meta.json -../../../fuchsia/sdk/linux/pkg/async/meta.json -../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/async_patterns_testing_cpp/include/lib/async_patterns/testing -../../../fuchsia/sdk/linux/pkg/async_patterns_testing_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/backend_fuchsia_globals/meta.json -../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_component_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_devfs_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_fake_bti_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_fake_gpio_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_fake_mmio_reg_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_fake_platform_device_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_fake_resource_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_metadata_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_node_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_outgoing_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_platform_device_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_power_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_runtime/meta.json -../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_runtime_env/meta.json -../../../fuchsia/sdk/linux/pkg/driver_runtime_env_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_runtime_shared_lib/meta.json -../../../fuchsia/sdk/linux/pkg/driver_runtime_testing/meta.json -../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/include/lib/driver/runtime/testing -../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_symbols/meta.json -../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/include/lib/driver/testing -../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/driver_testing_scoped_global_logger_cpp/include/lib/driver/testing -../../../fuchsia/sdk/linux/pkg/driver_testing_scoped_global_logger_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/fdio/meta.json -../../../fuchsia/sdk/linux/pkg/fidl/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_base/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_cpp_hlcpp_conversion/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_cpp_natural_ostream/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_driver/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/meta.json -../../../fuchsia/sdk/linux/pkg/fidl_driver_transport/meta.json -../../../fuchsia/sdk/linux/pkg/fit-promise/meta.json -../../../fuchsia/sdk/linux/pkg/fit/meta.json -../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/meta.json -../../../fuchsia/sdk/linux/pkg/hwreg/meta.json -../../../fuchsia/sdk/linux/pkg/images_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/input_report_reader/meta.json -../../../fuchsia/sdk/linux/pkg/inspect/meta.json -../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/magma_client/meta.json -../../../fuchsia/sdk/linux/pkg/magma_common/meta.json -../../../fuchsia/sdk/linux/pkg/media_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/meta.json -../../../fuchsia/sdk/linux/pkg/memory_barriers/meta.json -../../../fuchsia/sdk/linux/pkg/mmio-ptr/meta.json -../../../fuchsia/sdk/linux/pkg/mmio/meta.json -../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/scenic_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/scenic_cpp_testing/include/lib/ui/scenic/cpp/testing -../../../fuchsia/sdk/linux/pkg/scenic_cpp_testing/meta.json -../../../fuchsia/sdk/linux/pkg/stdcompat/meta.json -../../../fuchsia/sdk/linux/pkg/svc/meta.json -../../../fuchsia/sdk/linux/pkg/sync/meta.json -../../../fuchsia/sdk/linux/pkg/sync_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/sys/testing -../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/include/lib/sys/component/cpp/testing -../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/meta.json -../../../fuchsia/sdk/linux/pkg/sys_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/sys_cpp_testing/include/lib/sys/cpp/testing -../../../fuchsia/sdk/linux/pkg/sys_cpp_testing/meta.json -../../../fuchsia/sdk/linux/pkg/sys_service_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/syslog/meta.json -../../../fuchsia/sdk/linux/pkg/syslog_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/syslog_structured_backend/meta.json -../../../fuchsia/sdk/linux/pkg/sysroot/meta.json -../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/meta.json -../../../fuchsia/sdk/linux/pkg/trace-engine/meta.json -../../../fuchsia/sdk/linux/pkg/trace-headersonly/meta.json -../../../fuchsia/sdk/linux/pkg/trace-provider-so/meta.json -../../../fuchsia/sdk/linux/pkg/trace-vthread-headersonly/meta.json -../../../fuchsia/sdk/linux/pkg/trace-vthread/meta.json -../../../fuchsia/sdk/linux/pkg/trace/meta.json -../../../fuchsia/sdk/linux/pkg/utf-utils/meta.json -../../../fuchsia/sdk/linux/pkg/vfs_cpp/meta.json -../../../fuchsia/sdk/linux/pkg/vfs_internal/meta.json -../../../fuchsia/sdk/linux/pkg/virtgralloc_headers/meta.json -../../../fuchsia/sdk/linux/pkg/vulkan/meta.json -../../../fuchsia/sdk/linux/pkg/vulkan_layers/meta.json -../../../fuchsia/sdk/linux/pkg/zbi-format/meta.json -../../../fuchsia/sdk/linux/pkg/zx/meta.json -../../../fuchsia/sdk/linux/python/rtc_conformance_test/meta.json -../../../fuchsia/sdk/linux/tools -../../../fuchsia/sdk/linux/version_history.json -../../../out -../../../tools diff --git a/engine/src/flutter/ci/licenses_golden/licenses_dart b/engine/src/flutter/ci/licenses_golden/licenses_dart deleted file mode 100644 index 9b186085bb3bb..0000000000000 --- a/engine/src/flutter/ci/licenses_golden/licenses_dart +++ /dev/null @@ -1,4905 +0,0 @@ -Signature: 61dd904ddd4ec5f8730ae4bbf5a49672 - -==================================================================================================== -LIBRARY: dart -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/pprof/profile.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/common/builtin_clock.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/clock_snapshot.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/interned_data/interned_data.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/profiling/profile_common.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/profiling/profile_packet.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/trace.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/trace_packet.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/debug_annotation.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/process_descriptor.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/thread_descriptor.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/track_descriptor.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/track_event.proto -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/pprof/profile.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/common/builtin_clock.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/clock_snapshot.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/interned_data/interned_data.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/profiling/profile_common.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/profiling/profile_packet.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/trace.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/trace_packet.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/debug_annotation.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/process_descriptor.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/thread_descriptor.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/track_descriptor.proto -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/track_event.proto ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/bigint_patch.dart -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/bigint_patch.dart -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/bigint_patch.dart -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/bigint_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/bigint_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/bigint_patch.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2003-2005 Tom Wu -Copyright (c) 2012 Adam Singer (adam@solvr.io) -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - -IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, -INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF -THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -In addition, the following condition applies: - -All redistributions must retain an intact copy of this copyright notice -and disclaimer. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/splay-tree-inl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/splay-tree.h + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/platform/splay-tree-inl.h -FILE: ../../../flutter/third_party/dart/runtime/platform/splay-tree.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2010, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/snapshot_empty.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/snapshot_in.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/dart_tools_api.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/double.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/math.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/mirrors.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/object.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/string.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bitfield.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart_api_impl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart_entry.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart_entry.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/debugger_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/debugger_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/debugger_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/double_conversion.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/double_conversion.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/exceptions.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/exceptions.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/handle_visitor.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/handles.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/freelist.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/marker.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/marker.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/pages.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/scavenger.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/sweeper.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/sweeper.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/verifier.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/longjump.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/memory_region.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/message.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/message.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/message_handler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/message_handler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_entry.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_entry.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_function.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/port.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/resolver.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/resolver.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/runtime_entry.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/runtime_entry.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/runtime_entry_list.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_frame.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stub_code.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/timer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/timer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/token.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/unicode_data.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/visitor.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/queue.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/comparable.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/date_time.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/duration.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/function.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/iterable.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/pattern.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/set.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/stopwatch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/string_buffer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/html/html_common/device.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/html/html_common/filtered_element_list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/html/html_common/lists.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/iterable.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/sort.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/snapshot_empty.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/snapshot_in.cc -FILE: ../../../flutter/third_party/dart/runtime/include/dart_tools_api.h -FILE: ../../../flutter/third_party/dart/runtime/lib/double.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/math.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/mirrors.h -FILE: ../../../flutter/third_party/dart/runtime/lib/object.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/string.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/bitfield.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/dart.h -FILE: ../../../flutter/third_party/dart/runtime/vm/dart_api_impl.h -FILE: ../../../flutter/third_party/dart/runtime/vm/dart_entry.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/dart_entry.h -FILE: ../../../flutter/third_party/dart/runtime/vm/debugger_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/debugger_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/debugger_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/double_conversion.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/double_conversion.h -FILE: ../../../flutter/third_party/dart/runtime/vm/exceptions.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/exceptions.h -FILE: ../../../flutter/third_party/dart/runtime/vm/handle_visitor.h -FILE: ../../../flutter/third_party/dart/runtime/vm/handles.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/freelist.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/marker.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/marker.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/pages.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/scavenger.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/sweeper.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/sweeper.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/verifier.h -FILE: ../../../flutter/third_party/dart/runtime/vm/longjump.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/memory_region.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/message.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/message.h -FILE: ../../../flutter/third_party/dart/runtime/vm/message_handler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/message_handler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/native_entry.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/native_entry.h -FILE: ../../../flutter/third_party/dart/runtime/vm/native_function.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os.h -FILE: ../../../flutter/third_party/dart/runtime/vm/port.h -FILE: ../../../flutter/third_party/dart/runtime/vm/resolver.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/resolver.h -FILE: ../../../flutter/third_party/dart/runtime/vm/runtime_entry.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/runtime_entry.h -FILE: ../../../flutter/third_party/dart/runtime/vm/runtime_entry_list.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_frame.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stub_code.h -FILE: ../../../flutter/third_party/dart/runtime/vm/timer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/timer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/token.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/unicode_data.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/visitor.h -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/queue.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/comparable.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/date_time.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/duration.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/function.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/iterable.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/pattern.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/set.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/stopwatch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/string_buffer.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/device.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/filtered_element_list.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/lists.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/iterable.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/sort.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/builtin.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/builtin.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/builtin_gen_snapshot.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/builtin_in.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/builtin_natives.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/crashpad.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/crypto.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/crypto.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/crypto_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/crypto_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/crypto_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dartutils.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dartutils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/directory.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/directory.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/directory_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/directory_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/directory_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler_linux.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler_macos.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler_win.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/fdutils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/fdutils_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/fdutils_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/fdutils_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/io_buffer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/io_buffer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/io_natives.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/isolate_data.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/lockers.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/main.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/main_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/process.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/process_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/process_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/process_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/run_vm_tests.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/secure_socket_unsupported.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_linux.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_macos.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_win.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/thread.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/thread_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/thread_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/thread_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/utils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/utils_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/utils_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/utils_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/utils_win.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/dart_api.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/array.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/bool.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/date.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/errors.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/function.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/growable_array.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/identical.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/integers.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/isolate.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/mirrors.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/regexp.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/stopwatch.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/assert.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/assert.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/floating_point.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/floating_point_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/floating_point_win.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/globals.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/hashmap.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/hashmap.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/syslog.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/syslog_android.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/syslog_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/syslog_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/syslog_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/text_buffer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/text_buffer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/unicode.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/unicode.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_android.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_android.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_linux.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_macos.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_win.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/allocation.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bit_set.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bit_vector.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bit_vector.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bitmap.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bitmap.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bootstrap.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bootstrap.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bootstrap_natives.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bootstrap_natives.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/class_finalizer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/class_table.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/class_table.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_descriptors.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_descriptors.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_observers.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_observers.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_patcher.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_patcher.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_patcher_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_patcher_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/aot_call_specializer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_base.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_x86.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/object_pool_builder.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/constant_propagator.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_printer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_printer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/inliner.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/cha.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/cha.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/flow_graph_builder.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/flow_graph_builder.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/intrinsifier.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/intrinsifier.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/jit/compiler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/jit/compiler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart_api_message.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart_api_state.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/datastream.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/debugger.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/debugger.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/double_internals.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/flag_list.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/flags.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/flags.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/globals.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/growable_array.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/handles.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/handles_impl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/hash_map.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/freelist.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/heap.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/heap.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/pages.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/pointer_block.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/pointer_block.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/scavenger.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/verifier.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_ia32.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_x64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/lockers.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/megamorphic_cache_table.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/megamorphic_cache_table.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/memory_region.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_arguments.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_message_handler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_message_handler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_set.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_store.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_android.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_android.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_android.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_linux.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_macos.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_win.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/parser.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/parser.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/port.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/proccpuinfo.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/proccpuinfo.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/raw_object.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/raw_object.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/scopes.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/scopes.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/snapshot.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/snapshot.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_frame.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stub_code.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/symbols.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/symbols.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_pool.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_pool.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/token.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/unicode.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/version.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/version_in.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/virtual_memory.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/virtual_memory.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_posix.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/zone.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/zone.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/crypto.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/http_date.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/bigint_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/isolate_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/math_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/foreign_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/interceptors.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_array.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_number.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_string.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/native_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/regexp_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/string_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/async_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/bigint_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/constant_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/core_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/foreign_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/interceptors.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/isolate_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_array.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_number.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_string.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/math_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/native_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/regexp_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/string_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/builtin.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/common_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/directory_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/eventhandler_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/file_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/platform_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/secure_socket_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/array.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/array_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/double.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/double_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/empty_source.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/errors_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/expando_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/function_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/growable_array.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/identical_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/immutable_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/integers.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/invocation_mirror_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/isolate_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/math_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/mirrors_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/mirrors_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/object_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/print_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/regexp_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/stopwatch_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/string_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/timer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/type_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/weak_property.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/bool_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/date_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/integers_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/map_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/string_buffer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/array_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/async.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/async_error.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/broadcast_stream_controller.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/future.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/future_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/stream_controller.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/stream_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/stream_pipe.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/timer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/collection.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/iterable.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/iterator.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/maps.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/splay_tree.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/bool.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/core.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/double.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/errors.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/exceptions.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/identical.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/int.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/invocation.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/iterator.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/num.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/object.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/print.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/regexp.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/string.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/type.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/uri.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/weak.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/html/dartium/nativewrappers.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/html/html_common/conversions.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/html/html_common/css_class_set.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/html/html_common/html_common_dart2js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/html/html_common/metadata.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/async_cast.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/cast.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/internal.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/common.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/directory.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/directory_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/eventhandler.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/io.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/platform.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/platform_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/secure_server_socket.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/isolate/isolate.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/math/math.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/math/random.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/web_audio/dart2js/web_audio_dart2js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/web_sql/dart2js/web_sql_dart2js.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/builtin.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/builtin.h -FILE: ../../../flutter/third_party/dart/runtime/bin/builtin_gen_snapshot.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/builtin_in.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/builtin_natives.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/crashpad.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/crypto.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/crypto.h -FILE: ../../../flutter/third_party/dart/runtime/bin/crypto_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/crypto_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/crypto_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/dartutils.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/dartutils.h -FILE: ../../../flutter/third_party/dart/runtime/bin/directory.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/directory.h -FILE: ../../../flutter/third_party/dart/runtime/bin/directory_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/directory_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/directory_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler.h -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler_linux.h -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler_macos.h -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler_win.h -FILE: ../../../flutter/third_party/dart/runtime/bin/fdutils.h -FILE: ../../../flutter/third_party/dart/runtime/bin/fdutils_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/fdutils_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/fdutils_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/io_buffer.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/io_buffer.h -FILE: ../../../flutter/third_party/dart/runtime/bin/io_natives.h -FILE: ../../../flutter/third_party/dart/runtime/bin/isolate_data.h -FILE: ../../../flutter/third_party/dart/runtime/bin/lockers.h -FILE: ../../../flutter/third_party/dart/runtime/bin/main.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/main_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/platform.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/platform.h -FILE: ../../../flutter/third_party/dart/runtime/bin/platform_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/platform_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/platform_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/process.h -FILE: ../../../flutter/third_party/dart/runtime/bin/process_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/process_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/process_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/run_vm_tests.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/secure_socket_unsupported.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_linux.h -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_macos.h -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_win.h -FILE: ../../../flutter/third_party/dart/runtime/bin/thread.h -FILE: ../../../flutter/third_party/dart/runtime/bin/thread_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/thread_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/thread_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/utils.h -FILE: ../../../flutter/third_party/dart/runtime/bin/utils_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/utils_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/utils_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/utils_win.h -FILE: ../../../flutter/third_party/dart/runtime/include/dart_api.h -FILE: ../../../flutter/third_party/dart/runtime/lib/array.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/bool.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/date.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/errors.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/function.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/growable_array.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/identical.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/integers.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/isolate.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/mirrors.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/regexp.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/stopwatch.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/assert.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/assert.h -FILE: ../../../flutter/third_party/dart/runtime/platform/floating_point.h -FILE: ../../../flutter/third_party/dart/runtime/platform/floating_point_win.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/floating_point_win.h -FILE: ../../../flutter/third_party/dart/runtime/platform/globals.h -FILE: ../../../flutter/third_party/dart/runtime/platform/hashmap.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/hashmap.h -FILE: ../../../flutter/third_party/dart/runtime/platform/syslog.h -FILE: ../../../flutter/third_party/dart/runtime/platform/syslog_android.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/syslog_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/syslog_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/syslog_win.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/text_buffer.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/text_buffer.h -FILE: ../../../flutter/third_party/dart/runtime/platform/unicode.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/unicode.h -FILE: ../../../flutter/third_party/dart/runtime/platform/utils.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/utils.h -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_android.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_android.h -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_linux.h -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_macos.h -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_win.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_win.h -FILE: ../../../flutter/third_party/dart/runtime/vm/allocation.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/bit_set.h -FILE: ../../../flutter/third_party/dart/runtime/vm/bit_vector.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/bit_vector.h -FILE: ../../../flutter/third_party/dart/runtime/vm/bitmap.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/bitmap.h -FILE: ../../../flutter/third_party/dart/runtime/vm/bootstrap.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/bootstrap.h -FILE: ../../../flutter/third_party/dart/runtime/vm/bootstrap_natives.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/bootstrap_natives.h -FILE: ../../../flutter/third_party/dart/runtime/vm/class_finalizer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/class_table.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/class_table.h -FILE: ../../../flutter/third_party/dart/runtime/vm/code_descriptors.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/code_descriptors.h -FILE: ../../../flutter/third_party/dart/runtime/vm/code_observers.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/code_observers.h -FILE: ../../../flutter/third_party/dart/runtime/vm/code_patcher.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/code_patcher.h -FILE: ../../../flutter/third_party/dart/runtime/vm/code_patcher_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/code_patcher_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/aot_call_specializer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_base.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_x86.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/object_pool_builder.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/constant_propagator.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_printer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_printer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/inliner.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/cha.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/cha.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/flow_graph_builder.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/flow_graph_builder.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/intrinsifier.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/intrinsifier.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/jit/compiler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/jit/compiler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/dart_api_message.h -FILE: ../../../flutter/third_party/dart/runtime/vm/dart_api_state.h -FILE: ../../../flutter/third_party/dart/runtime/vm/datastream.h -FILE: ../../../flutter/third_party/dart/runtime/vm/debugger.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/debugger.h -FILE: ../../../flutter/third_party/dart/runtime/vm/double_internals.h -FILE: ../../../flutter/third_party/dart/runtime/vm/flag_list.h -FILE: ../../../flutter/third_party/dart/runtime/vm/flags.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/flags.h -FILE: ../../../flutter/third_party/dart/runtime/vm/globals.h -FILE: ../../../flutter/third_party/dart/runtime/vm/growable_array.h -FILE: ../../../flutter/third_party/dart/runtime/vm/handles.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/handles_impl.h -FILE: ../../../flutter/third_party/dart/runtime/vm/hash_map.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/freelist.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/heap.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/heap.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/pages.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/pointer_block.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/pointer_block.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/scavenger.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/verifier.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_ia32.h -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_x64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/lockers.h -FILE: ../../../flutter/third_party/dart/runtime/vm/megamorphic_cache_table.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/megamorphic_cache_table.h -FILE: ../../../flutter/third_party/dart/runtime/vm/memory_region.h -FILE: ../../../flutter/third_party/dart/runtime/vm/native_arguments.h -FILE: ../../../flutter/third_party/dart/runtime/vm/native_message_handler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/native_message_handler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/object.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/object.h -FILE: ../../../flutter/third_party/dart/runtime/vm/object_set.h -FILE: ../../../flutter/third_party/dart/runtime/vm/object_store.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os_android.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_android.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_android.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_linux.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_macos.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_win.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_win.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os_win.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/parser.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/parser.h -FILE: ../../../flutter/third_party/dart/runtime/vm/port.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/proccpuinfo.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/proccpuinfo.h -FILE: ../../../flutter/third_party/dart/runtime/vm/raw_object.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/raw_object.h -FILE: ../../../flutter/third_party/dart/runtime/vm/scopes.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/scopes.h -FILE: ../../../flutter/third_party/dart/runtime/vm/snapshot.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/snapshot.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_frame.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/stub_code.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/symbols.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/symbols.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_pool.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_pool.h -FILE: ../../../flutter/third_party/dart/runtime/vm/token.h -FILE: ../../../flutter/third_party/dart/runtime/vm/unicode.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/version.h -FILE: ../../../flutter/third_party/dart/runtime/vm/version_in.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/virtual_memory.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/virtual_memory.h -FILE: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_posix.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_win.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/zone.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/zone.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/crypto.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/http_date.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/bigint_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/isolate_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/math_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/foreign_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/interceptors.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_array.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_number.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_string.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/native_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/regexp_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/string_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/async_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/bigint_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/constant_map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/core_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/foreign_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/interceptors.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/isolate_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_array.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_number.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_string.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/math_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/native_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/regexp_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/string_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/builtin.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/common_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/directory_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/eventhandler_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/file_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/platform_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/secure_socket_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/array.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/array_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/double.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/double_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/empty_source.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/errors_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/expando_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/function_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/growable_array.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/identical_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/immutable_map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/integers.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/invocation_mirror_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/isolate_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/math_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/mirrors_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/mirrors_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/object_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/print_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/regexp_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/stopwatch_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/string_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/timer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/type_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/weak_property.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/bool_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/date_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/integers_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/map_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/string_buffer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/array_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/async.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/async_error.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/broadcast_stream_controller.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/future.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/future_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/stream_controller.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/stream_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/stream_pipe.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/timer.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/collection.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/iterable.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/iterator.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/maps.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/splay_tree.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/bool.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/core.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/double.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/errors.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/exceptions.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/identical.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/int.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/invocation.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/iterator.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/list.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/num.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/object.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/print.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/regexp.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/string.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/type.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/uri.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/weak.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/dartium/nativewrappers.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/conversions.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/css_class_set.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/html_common_dart2js.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/metadata.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/async_cast.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/cast.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/internal.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/common.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/directory.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/directory_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/eventhandler.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/io.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/platform.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/platform_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/secure_server_socket.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/isolate/isolate.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/math/math.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/math/random.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/web_audio/dart2js/web_audio_dart2js.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/web_sql/dart2js/web_sql_dart2js.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/filter.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/filter.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/gen_snapshot.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/io_natives.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/io_service.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/io_service.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/io_service_no_ssl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/io_service_no_ssl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/process.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/stdio.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/stdio.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/stdio_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/stdio_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/stdio_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/vmservice_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/vmservice_impl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/dart_native_api.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/invocation_mirror.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/libgen_in.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/simd128.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/stacktrace.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/typed_data.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/uri.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/application.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/location_manager.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_instances.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/code_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/code_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/context_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/context_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/cpu_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/cpu_profile/virtual_tree.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/cpu_profile_table.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/curly_block.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/error_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/eval_box.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/field_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/field_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/flag_list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/function_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/function_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/heap_snapshot.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/any_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/icdata_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/icdata_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/instance_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/instance_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/json_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/library_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/library_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/local_var_descriptors_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/megamorphiccache_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/native_memory_profiler.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/object_common.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/object_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/objectpool_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/objectstore_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/observatory_application.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/pc_descriptors_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/sample_buffer_control.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/script_inset.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/script_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/script_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/sentinel_value.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/sentinel_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/source_inset.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/stack_trace_tree_config.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/type_arguments_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/unknown_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/vm_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/tracer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/atomic.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/signal_blocker.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/allocation.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/class_finalizer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_patcher_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/aot_call_specializer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_ia32.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_x64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/block_scheduler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/block_scheduler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/constant_propagator.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/inliner.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/linearscan.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/linearscan.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/type_propagator.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/type_propagator.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/jit/jit_call_specializer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_arm.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_ia32.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_x64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart_api_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/deferred_objects.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/deferred_objects.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/deopt_instructions.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/deopt_instructions.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/weak_table.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/weak_table.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_arm.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/isolate.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/isolate.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/json_stream.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/json_stream.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_api_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_symbol.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_symbol_posix.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/native_symbol_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_id_ring.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_id_ring.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_store.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/profiler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/profiler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/random.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/random.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/reusable_handles.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/service.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/service.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/service_isolate.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/signal_handler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/signal_handler_android.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/signal_handler_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/signal_handler_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/signal_handler_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_arm.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_frame_arm.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_frame_ia32.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_frame_x64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/tags.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_android.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/http.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/http_headers.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/http_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/http_parser.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/http_session.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/websocket.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/websocket_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/collection_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/convert_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/internal_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/io_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/typed_data_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/annotations.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_primitives.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_rti.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/mirror_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/native_typed_data.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/annotations.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/collection_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/convert_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/internal_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/io_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_names.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_primitives.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/native_typed_data.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/typed_data_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/file_system_entity_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/filter_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/io_service_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/process_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/socket_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/stdio_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/vmservice_io.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/vmservice_server.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/core_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/function.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/internal_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/mirror_reference.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/schedule_microtask_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/stacktrace.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/symbol_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/timer_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/typed_data_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/uri_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/collection_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/null_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/io_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/deferred_load.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/schedule_microtask.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/stream.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/stream_transformers.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/zone.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/collections.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/hash_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/hash_set.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/linked_hash_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/linked_hash_set.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/linked_list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/ascii.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/byte_conversion.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/chunked_conversion.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/codec.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/convert.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/converter.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/encoding.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/html_escape.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/json.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/latin1.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/line_splitter.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/string_conversion.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/utf.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/annotations.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/null.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/stacktrace.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/string_sink.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/symbol.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/bytes_builder.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/print.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/symbol.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/data_transformer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/file.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/file_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/file_system_entity.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/io_service.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/io_sink.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/link.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/secure_socket.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/socket.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/stdio.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/string_transformer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js/js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/math/point.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/math/rectangle.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/mirrors/mirrors.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/typed_data/typed_data.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/client.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/constants.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/message.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/message_router.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/running_isolate.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/running_isolates.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/utils/compiler/create_snapshot_entry.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file.h -FILE: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher.h -FILE: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/filter.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/filter.h -FILE: ../../../flutter/third_party/dart/runtime/bin/gen_snapshot.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/io_natives.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/io_service.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/io_service.h -FILE: ../../../flutter/third_party/dart/runtime/bin/io_service_no_ssl.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/io_service_no_ssl.h -FILE: ../../../flutter/third_party/dart/runtime/bin/process.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket.h -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/stdio.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/stdio.h -FILE: ../../../flutter/third_party/dart/runtime/bin/stdio_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/stdio_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/stdio_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/vmservice_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/vmservice_impl.h -FILE: ../../../flutter/third_party/dart/runtime/include/dart_native_api.h -FILE: ../../../flutter/third_party/dart/runtime/lib/invocation_mirror.h -FILE: ../../../flutter/third_party/dart/runtime/lib/libgen_in.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/simd128.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/stacktrace.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/typed_data.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/uri.cc -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/application.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/location_manager.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_instances.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/code_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/code_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/context_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/context_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/cpu_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/cpu_profile/virtual_tree.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/cpu_profile_table.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/curly_block.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/error_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/eval_box.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/field_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/field_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/flag_list.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/function_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/function_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/heap_snapshot.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/any_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/icdata_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/icdata_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/instance_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/instance_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/json_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/library_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/library_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/local_var_descriptors_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/megamorphiccache_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/native_memory_profiler.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/object_common.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/object_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/objectpool_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/objectstore_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/observatory_application.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/pc_descriptors_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/sample_buffer_control.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/script_inset.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/script_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/script_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/sentinel_value.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/sentinel_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/source_inset.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/stack_trace_tree_config.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/type_arguments_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/unknown_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/vm_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/tracer.dart -FILE: ../../../flutter/third_party/dart/runtime/platform/atomic.h -FILE: ../../../flutter/third_party/dart/runtime/platform/signal_blocker.h -FILE: ../../../flutter/third_party/dart/runtime/vm/allocation.h -FILE: ../../../flutter/third_party/dart/runtime/vm/class_finalizer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/code_patcher_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/aot_call_specializer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_ia32.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_x64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/block_scheduler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/block_scheduler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/constant_propagator.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/inliner.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/linearscan.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/linearscan.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/type_propagator.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/type_propagator.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/jit/jit_call_specializer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_arm.h -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_ia32.h -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_x64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/dart.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/dart_api_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/deferred_objects.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/deferred_objects.h -FILE: ../../../flutter/third_party/dart/runtime/vm/deopt_instructions.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/deopt_instructions.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/weak_table.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/weak_table.h -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions.h -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_arm.h -FILE: ../../../flutter/third_party/dart/runtime/vm/isolate.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/isolate.h -FILE: ../../../flutter/third_party/dart/runtime/vm/json_stream.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/json_stream.h -FILE: ../../../flutter/third_party/dart/runtime/vm/native_api_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/native_symbol.h -FILE: ../../../flutter/third_party/dart/runtime/vm/native_symbol_posix.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/native_symbol_win.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/object_id_ring.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/object_id_ring.h -FILE: ../../../flutter/third_party/dart/runtime/vm/object_store.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/profiler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/profiler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/random.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/random.h -FILE: ../../../flutter/third_party/dart/runtime/vm/reusable_handles.h -FILE: ../../../flutter/third_party/dart/runtime/vm/service.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/service.h -FILE: ../../../flutter/third_party/dart/runtime/vm/service_isolate.h -FILE: ../../../flutter/third_party/dart/runtime/vm/signal_handler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/signal_handler_android.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/signal_handler_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/signal_handler_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/signal_handler_win.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator.h -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_arm.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_frame_arm.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_frame_ia32.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_frame_x64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/tags.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_android.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_win.cc -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/http.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/http_headers.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/http_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/http_parser.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/http_session.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/websocket.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/websocket_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/collection_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/convert_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/internal_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/io_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/typed_data_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/annotations.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_primitives.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_rti.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/mirror_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/native_typed_data.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/annotations.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/collection_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/convert_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/internal_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/io_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_names.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_primitives.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/native_typed_data.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/typed_data_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/file_system_entity_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/filter_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/io_service_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/process_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/socket_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/stdio_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/vmservice_io.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/vmservice_server.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/core_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/function.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/internal_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/mirror_reference.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/schedule_microtask_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/stacktrace.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/symbol_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/timer_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/typed_data_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/uri_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/collection_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/null_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/io_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/deferred_load.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/schedule_microtask.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/stream.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/stream_transformers.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/zone.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/collections.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/hash_map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/hash_set.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/linked_hash_map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/linked_hash_set.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/linked_list.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/list.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/ascii.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/byte_conversion.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/chunked_conversion.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/codec.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/convert.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/converter.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/encoding.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/html_escape.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/json.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/latin1.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/line_splitter.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/string_conversion.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/utf.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/annotations.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/null.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/stacktrace.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/string_sink.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/symbol.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/bytes_builder.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/list.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/print.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/symbol.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/data_transformer.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/file.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/file_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/file_system_entity.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/io_service.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/io_sink.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/link.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/secure_socket.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/socket.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/stdio.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/string_transformer.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js/js.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/math/point.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/math/rectangle.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/mirrors/mirrors.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/typed_data/typed_data.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/client.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/constants.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/message.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/message_router.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/running_isolate.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/running_isolates.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/web_gl/dart2js/web_gl_dart2js.dart -FILE: ../../../flutter/third_party/dart/utils/compiler/create_snapshot_entry.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/web/third_party/webcomponents.min.js + http://polymer.github.io/LICENSE.txt referenced by ../../../flutter/third_party/dart/runtime/observatory/web/third_party/webcomponents.min.js -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/observatory/web/third_party/webcomponents.min.js ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014 The Polymer Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/profiler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/bin/shell.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/app.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/object_graph.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/service.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/service_common.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/service_html.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/service_io.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/page.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/settings.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/view_model.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/allocation_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_tree.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/debugger.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/heap_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate_reconnect.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/metrics.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/vm_connect.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/service/object.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/utils.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/web/main.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/address_sanitizer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/memory_sanitizer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/safe_stack.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/verbose_gc_to_bmu.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_patcher_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/range_analysis.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/range_analysis.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/method_recognizer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/method_recognizer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_arm64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_arm.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_arm64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_ia32.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_x64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpuid.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpuid.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpuinfo.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_android.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/debugger_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/hash_table.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/spaces.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/weak_code.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/weak_code.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_arm64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/metrics.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/metrics.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_graph.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_graph.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_ir.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_ir.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_ast.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_ast.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_parser.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_parser.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/unibrow-inl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/unibrow.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/unibrow.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/report.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/report.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/ring_buffer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_arm64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_frame_arm64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/tags.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/preambles/d8.js + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/preambles/jsshell.js + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/linked_hash_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/synced/embedded_names.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/convert_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/lib_prefix.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/profiler.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/collection/set.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/sink.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/developer/profiler.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/process.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/service_object.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/isolate/capability.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/lib/profiler.cc -FILE: ../../../flutter/third_party/dart/runtime/observatory/bin/shell.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/app.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/object_graph.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/service.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/service_common.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/service_html.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/service_io.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/page.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/settings.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/view_model.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/allocation_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_tree.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/debugger.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/heap_map.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate_reconnect.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/metrics.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/vm_connect.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/service/object.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/utils.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/web/main.dart -FILE: ../../../flutter/third_party/dart/runtime/platform/address_sanitizer.h -FILE: ../../../flutter/third_party/dart/runtime/platform/memory_sanitizer.h -FILE: ../../../flutter/third_party/dart/runtime/platform/safe_stack.h -FILE: ../../../flutter/third_party/dart/runtime/tools/verbose_gc_to_bmu.dart -FILE: ../../../flutter/third_party/dart/runtime/vm/code_patcher_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_arm64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/range_analysis.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/range_analysis.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/method_recognizer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/method_recognizer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_arm64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_arm.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_arm64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_ia32.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_x64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpuid.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/cpuid.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpuinfo.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_android.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_win.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/debugger_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/hash_table.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/spaces.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/weak_code.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/weak_code.h -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_arm64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/metrics.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/metrics.h -FILE: ../../../flutter/third_party/dart/runtime/vm/object_graph.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/object_graph.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_ir.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_ir.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_ast.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_ast.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_parser.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_parser.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/unibrow-inl.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/unibrow.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/unibrow.h -FILE: ../../../flutter/third_party/dart/runtime/vm/report.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/report.h -FILE: ../../../flutter/third_party/dart/runtime/vm/ring_buffer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_arm64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_frame_arm64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/tags.cc -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/preambles/d8.js -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/preambles/jsshell.js -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/linked_hash_map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/synced/embedded_names.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/convert_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/lib_prefix.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/profiler.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/collection/set.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/sink.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/developer/profiler.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/process.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/service_object.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/isolate/capability.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dart_io_api_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/bin/dart_io_api.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/developer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/timeline.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/vmservice.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/allocation_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/cli.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/debugger.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/sample_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/allocation_profile/allocation_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/cli/command.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/debugger/debugger.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/debugger/debugger_location.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/heap_snapshot.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/logging.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/logging_list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/megamorphiccache_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/objectpool_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/persistent_handles.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/ports.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/timeline_page.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/sample_profile/sample_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/web/timeline.js + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/precompiler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/precompiler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/log.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/log.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/profiler_service.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/profiler_service.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/program_visitor.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/program_visitor.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_bytecode.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_bytecode.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_bytecode_inl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_bytecodes.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_interpreter.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_interpreter.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/scope_timer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/service_event.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/service_event.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/service_isolate.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/source_report.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/source_report.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_barrier.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_registry.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_registry.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/timeline.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/timeline.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/developer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/classes.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/rtti.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/runtime.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/utils.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/debugger.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/developer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/preambles/d8.js + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/preambles/jsshell.js + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/async_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/developer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/timeline.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/compact_hash.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/convert/base64.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/developer/developer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/developer/extension.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/developer/timeline.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/io_resource_info.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/security_context.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js/_js_annotations.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/vmservice.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/dart_io_api_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/include/bin/dart_io_api.h -FILE: ../../../flutter/third_party/dart/runtime/lib/developer.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/timeline.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/vmservice.cc -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/allocation_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/cli.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/debugger.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/sample_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/allocation_profile/allocation_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/cli/command.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/debugger/debugger.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/debugger/debugger_location.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/heap_snapshot.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/logging.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/logging_list.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/megamorphiccache_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/objectpool_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/persistent_handles.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/ports.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/timeline_page.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/sample_profile/sample_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/web/timeline.js -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/precompiler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/precompiler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/log.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/log.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/profiler_service.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/profiler_service.h -FILE: ../../../flutter/third_party/dart/runtime/vm/program_visitor.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/program_visitor.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_bytecode.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_bytecode.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_assembler_bytecode_inl.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_bytecodes.h -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_interpreter.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/regexp/regexp_interpreter.h -FILE: ../../../flutter/third_party/dart/runtime/vm/scope_timer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/service_event.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/service_event.h -FILE: ../../../flutter/third_party/dart/runtime/vm/service_isolate.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/source_report.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/source_report.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_barrier.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_registry.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_registry.h -FILE: ../../../flutter/third_party/dart/runtime/vm/timeline.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/timeline.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/developer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/classes.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/rtti.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/runtime.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/types.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/utils.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/debugger.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/developer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/preambles/d8.js -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/preambles/jsshell.js -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/async_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/developer.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/timeline.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/compact_hash.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/convert/base64.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/developer/developer.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/developer/extension.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/developer/timeline.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/io_resource_info.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/security_context.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js/_js_annotations.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/vmservice.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/crypto_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/directory_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/eventhandler_fuchsia.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_support.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/loader.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/loader.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/process_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/reference_counting.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/root_certificates_unsupported.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_fuchsia.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/stdio_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/thread_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/utils_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/stacktrace.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/event.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/models.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/repositories.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/notification.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_allocation_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/containers/virtual_collection.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/containers/virtual_tree.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/error_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/general_error.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/custom_element.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/nav_bar.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/nav_menu.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/rendering_queue.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/rendering_scheduler.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/uris.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/inbound_references.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/counter_chart.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/location.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/run_state.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/shared_summary.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/summary.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/metric/details.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/metric/graph.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/class_menu.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/isolate_menu.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/library_menu.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/menu_item.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/notify.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/notify_event.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/notify_exception.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/refresh.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/top_menu.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/vm_menu.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/retaining_path.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/source_link.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/strongly_reachable_instances.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/vm_connect_target.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/exceptions.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/allocation_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/breakpoint.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/class.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/code.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/context.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/error.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/event.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/extension_data.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/field.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/flag.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/frame.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/function.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/guarded.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/heap_space.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/icdata.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/inbound_references.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/instance.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/isolate.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/library.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/local_var_descriptors.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/map_association.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/megamorphiccache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/metric.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/notification.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/object.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/objectpool.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/objectstore.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/pc_descriptors.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/persistent_handles.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/ports.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/retaining_path.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/sample_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/script.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/sentinel.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/source_location.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/target.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/timeline_event.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/type_arguments.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/unknown.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/vm.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/allocation_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/breakpoint.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/class.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/context.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/editor.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/eval.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/event.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/field.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/flag.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/function.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/heap_snapshot.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/icdata.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/inbound_references.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/instance.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/isolate.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/library.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/megamorphiccache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/metric.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/notification.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/object.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/objectpool.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/objectstore.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/persistent_handles.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/ports.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/reachable_size.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/retained_size.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/retaining_path.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/sample_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/script.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/strongly_reachable_instances.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/target.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/type_arguments.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/allocation_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/breakpoint.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/class.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/context.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/editor.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/eval.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/event.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/field.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/flag.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/function.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/heap_snapshot.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/icdata.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/inbound_references.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/instance.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/isolate.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/library.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/megamorphiccache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/metric.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/notification.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/object.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/objectpool.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/objectstore.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/persistent_handles.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/ports.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/reachable_size.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/retained_size.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/retaining_path.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/sample_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/script.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/settings.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/strongly_reachable_instances.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/target.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/type_arguments.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/web/timeline_message_handler.js + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/syslog_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/utils_fuchsia.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/app_snapshot.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/app_snapshot.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/canonical_tables.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/branch_optimizer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/branch_optimizer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/redundancy_elimination.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/redundancy_elimination.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_to_il.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_to_il.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dart_api_state.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/become.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/become.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/safepoint.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/safepoint.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/isolate_reload.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/isolate_reload.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/kernel.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/kernel.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/kernel_binary.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/kernel_isolate.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/kernel_isolate.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/kernel_loader.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/kernel_loader.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/lockers.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_reload.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_service.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_fuchsia.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/signal_handler_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/token_position.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/token_position.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/developer/service.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js_util/js_util.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/devfs.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/crypto_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/directory_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/eventhandler_fuchsia.h -FILE: ../../../flutter/third_party/dart/runtime/bin/file_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_support.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_system_watcher_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/loader.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/loader.h -FILE: ../../../flutter/third_party/dart/runtime/bin/platform_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/process_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/reference_counting.h -FILE: ../../../flutter/third_party/dart/runtime/bin/root_certificates_unsupported.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_fuchsia.h -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/stdio_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/thread_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/utils_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/stacktrace.h -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/event.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/models.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/repositories.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/app/notification.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/class_allocation_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/containers/virtual_collection.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/containers/virtual_tree.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/error_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/general_error.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/custom_element.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/nav_bar.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/nav_menu.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/rendering_queue.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/rendering_scheduler.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/uris.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/inbound_references.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/counter_chart.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/location.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/run_state.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/shared_summary.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/isolate/summary.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/metric/details.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/metric/graph.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/class_menu.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/isolate_menu.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/library_menu.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/menu_item.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/notify.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/notify_event.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/notify_exception.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/refresh.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/top_menu.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/vm_menu.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/retaining_path.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/source_link.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/strongly_reachable_instances.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/vm_connect_target.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/exceptions.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/allocation_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/breakpoint.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/class.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/code.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/context.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/error.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/event.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/extension_data.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/field.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/flag.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/frame.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/function.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/guarded.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/heap_space.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/icdata.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/inbound_references.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/instance.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/isolate.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/library.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/local_var_descriptors.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/map_association.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/megamorphiccache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/metric.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/notification.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/object.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/objectpool.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/objectstore.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/pc_descriptors.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/persistent_handles.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/ports.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/retaining_path.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/sample_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/script.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/sentinel.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/source_location.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/target.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/timeline_event.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/type_arguments.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/unknown.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/vm.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/allocation_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/breakpoint.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/class.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/context.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/editor.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/eval.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/event.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/field.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/flag.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/function.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/heap_snapshot.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/icdata.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/inbound_references.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/instance.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/isolate.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/library.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/megamorphiccache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/metric.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/notification.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/object.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/objectpool.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/objectstore.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/persistent_handles.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/ports.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/reachable_size.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/retained_size.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/retaining_path.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/sample_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/script.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/strongly_reachable_instances.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/target.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/type_arguments.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/allocation_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/breakpoint.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/class.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/context.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/editor.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/eval.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/event.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/field.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/flag.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/function.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/heap_snapshot.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/icdata.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/inbound_references.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/instance.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/isolate.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/library.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/megamorphiccache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/metric.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/notification.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/object.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/objectpool.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/objectstore.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/persistent_handles.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/ports.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/reachable_size.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/retained_size.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/retaining_path.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/sample_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/script.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/settings.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/strongly_reachable_instances.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/target.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/type_arguments.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/web/timeline_message_handler.js -FILE: ../../../flutter/third_party/dart/runtime/platform/syslog_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/utils_fuchsia.h -FILE: ../../../flutter/third_party/dart/runtime/vm/app_snapshot.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/app_snapshot.h -FILE: ../../../flutter/third_party/dart/runtime/vm/canonical_tables.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/branch_optimizer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/branch_optimizer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/redundancy_elimination.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/redundancy_elimination.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_to_il.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_to_il.h -FILE: ../../../flutter/third_party/dart/runtime/vm/cpuinfo_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/dart_api_state.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/become.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/become.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/safepoint.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/safepoint.h -FILE: ../../../flutter/third_party/dart/runtime/vm/isolate_reload.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/isolate_reload.h -FILE: ../../../flutter/third_party/dart/runtime/vm/kernel.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/kernel.h -FILE: ../../../flutter/third_party/dart/runtime/vm/kernel_binary.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/kernel_isolate.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/kernel_isolate.h -FILE: ../../../flutter/third_party/dart/runtime/vm/kernel_loader.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/kernel_loader.h -FILE: ../../../flutter/third_party/dart/runtime/vm/lockers.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/object_reload.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/object_service.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_fuchsia.h -FILE: ../../../flutter/third_party/dart/runtime/vm/signal_handler_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/token_position.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/token_position.h -FILE: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_fuchsia.cc -FILE: ../../../flutter/third_party/dart/sdk/lib/developer/service.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js_util/js_util.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/devfs.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dfe.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dfe.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/error_exit.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/error_exit.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/gzip.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/gzip.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/isolate_data.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/main_options.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/main_options.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/namespace.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/namespace.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/namespace_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/namespace_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/namespace_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/namespace_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/options.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/options.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/secure_socket_filter.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/secure_socket_filter.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/secure_socket_utils.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/secure_socket_utils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/security_context.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/security_context.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/security_context_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/security_context_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/security_context_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/security_context_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/snapshot_utils.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/snapshot_utils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/sync_socket.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/sync_socket.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/sync_socket_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/sync_socket_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/sync_socket_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/sync_socket_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/async.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/containers/search_bar.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/reload.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/singletargetcache_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/singletargetcache_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/subtypetestcache_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/subtypetestcache_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/unlinkedcall_ref.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/unlinkedcall_view.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/service.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/single_target_cache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/subtype_test_cache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/timeline.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/unlinked_call.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/single_target_cache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/subtype_test_cache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/timeline.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/unlinked_call.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/vm.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/single_target_cache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/subtype_test_cache.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/timeline.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/unlinked_call.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/vm.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/allocation.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/growable_array.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_riscv.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations_helpers.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations_helpers_arm.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/call_specializer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/call_specializer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_binary_flowgraph.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/prologue_builder.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/prologue_builder.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/jit/jit_call_specializer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_riscv.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_x86.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dwarf.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dwarf.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/fixed_cache.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/gdb_helpers.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/compactor.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/compactor.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/image_snapshot.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/image_snapshot.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/json_writer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/json_writer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/kernel_binary.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_riscv.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_trace.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_trace.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/timeline_android.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/timeline_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/timeline_linux.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/zone_text_buffer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/zone_text_buffer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/overrides.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/custom_hash_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/identity_hash_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/namespace_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/sync_socket_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/class_id_fasta.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/bigint_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/cli/cli.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/bigint.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/linked_list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/embedder_config.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/namespace_impl.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/overrides.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/sync_socket.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/vmservice/named_lookup.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/utils/bazel/kernel_worker.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/dfe.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/dfe.h -FILE: ../../../flutter/third_party/dart/runtime/bin/error_exit.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/error_exit.h -FILE: ../../../flutter/third_party/dart/runtime/bin/gzip.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/gzip.h -FILE: ../../../flutter/third_party/dart/runtime/bin/isolate_data.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/main_options.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/main_options.h -FILE: ../../../flutter/third_party/dart/runtime/bin/namespace.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/namespace.h -FILE: ../../../flutter/third_party/dart/runtime/bin/namespace_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/namespace_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/namespace_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/namespace_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/options.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/options.h -FILE: ../../../flutter/third_party/dart/runtime/bin/secure_socket_filter.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/secure_socket_filter.h -FILE: ../../../flutter/third_party/dart/runtime/bin/secure_socket_utils.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/secure_socket_utils.h -FILE: ../../../flutter/third_party/dart/runtime/bin/security_context.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/security_context.h -FILE: ../../../flutter/third_party/dart/runtime/bin/security_context_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/security_context_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/security_context_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/security_context_win.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/snapshot_utils.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/snapshot_utils.h -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base.h -FILE: ../../../flutter/third_party/dart/runtime/bin/sync_socket.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/sync_socket.h -FILE: ../../../flutter/third_party/dart/runtime/bin/sync_socket_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/sync_socket_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/sync_socket_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/sync_socket_win.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/async.cc -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/containers/search_bar.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/nav/reload.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/singletargetcache_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/singletargetcache_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/subtypetestcache_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/subtypetestcache_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/unlinkedcall_ref.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/unlinkedcall_view.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/service.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/single_target_cache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/subtype_test_cache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/timeline.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/unlinked_call.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/single_target_cache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/subtype_test_cache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/timeline.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/unlinked_call.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/vm.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/single_target_cache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/subtype_test_cache.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/timeline.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/unlinked_call.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/vm.dart -FILE: ../../../flutter/third_party/dart/runtime/platform/allocation.h -FILE: ../../../flutter/third_party/dart/runtime/platform/growable_array.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_riscv.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations_helpers.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/locations_helpers_arm.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/call_specializer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/call_specializer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_binary_flowgraph.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/prologue_builder.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/prologue_builder.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/jit/jit_call_specializer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_riscv.h -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_x86.h -FILE: ../../../flutter/third_party/dart/runtime/vm/dwarf.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/dwarf.h -FILE: ../../../flutter/third_party/dart/runtime/vm/fixed_cache.h -FILE: ../../../flutter/third_party/dart/runtime/vm/gdb_helpers.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/compactor.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/compactor.h -FILE: ../../../flutter/third_party/dart/runtime/vm/image_snapshot.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/image_snapshot.h -FILE: ../../../flutter/third_party/dart/runtime/vm/json_writer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/json_writer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/kernel_binary.h -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_riscv.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_trace.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_trace.h -FILE: ../../../flutter/third_party/dart/runtime/vm/timeline_android.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/timeline_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/timeline_linux.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/zone_text_buffer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/zone_text_buffer.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/overrides.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/custom_hash_map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/identity_hash_map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/profile.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/namespace_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/sync_socket_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/class_id_fasta.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm_shared/lib/bigint_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/cli/cli.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/bigint.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/linked_list.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/embedder_config.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/namespace_impl.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/overrides.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/io/sync_socket.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/vmservice/named_lookup.dart -FILE: ../../../flutter/third_party/dart/utils/bazel/kernel_worker.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/crashpad.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dart_embedder_api_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/typed_data_utils.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/typed_data_utils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/dart_embedder_api.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/base64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/base64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/code_statistics.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/code_statistics.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/compile_type.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/loops.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/loops.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/slot.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/slot.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_pass.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_pass.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_state.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_state.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/base_flow_graph_builder.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/base_flow_graph_builder.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/constant_reader.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/constant_reader.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_fingerprints.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_fingerprints.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_translation_helper.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_translation_helper.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/scope_builder.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/scope_builder.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/relocation.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/datastream.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/finalizable_data.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/hash.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/raw_object_fields.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/raw_object_fields.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/reverse_pc_lookup_cache.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/reverse_pc_lookup_cache.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/type_testing_stubs.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/type_testing_stubs.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/v8_snapshot_writer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/v8_snapshot_writer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/instantiation.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js/_js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js/_js_client.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js/_js_server.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/crashpad.h -FILE: ../../../flutter/third_party/dart/runtime/bin/dart_embedder_api_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/typed_data_utils.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/typed_data_utils.h -FILE: ../../../flutter/third_party/dart/runtime/include/dart_embedder_api.h -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz.dart -FILE: ../../../flutter/third_party/dart/runtime/vm/base64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/base64.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/code_statistics.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/code_statistics.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/compile_type.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/loops.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/loops.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/slot.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/slot.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_pass.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_pass.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_state.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_state.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/base_flow_graph_builder.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/base_flow_graph_builder.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/constant_reader.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/constant_reader.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_fingerprints.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_fingerprints.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_translation_helper.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/kernel_translation_helper.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/scope_builder.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/frontend/scope_builder.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/relocation.h -FILE: ../../../flutter/third_party/dart/runtime/vm/constants.h -FILE: ../../../flutter/third_party/dart/runtime/vm/datastream.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/finalizable_data.h -FILE: ../../../flutter/third_party/dart/runtime/vm/hash.h -FILE: ../../../flutter/third_party/dart/runtime/vm/raw_object_fields.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/raw_object_fields.h -FILE: ../../../flutter/third_party/dart/runtime/vm/reverse_pc_lookup_cache.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/reverse_pc_lookup_cache.h -FILE: ../../../flutter/third_party/dart/runtime/vm/type_testing_stubs.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/type_testing_stubs.h -FILE: ../../../flutter/third_party/dart/runtime/vm/v8_snapshot_writer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/v8_snapshot_writer.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/instantiation.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js/_js.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js/_js_client.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js/_js_server.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/console.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/console_posix.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/console_win.cc + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/console.h -FILE: ../../../flutter/third_party/dart/runtime/bin/console_posix.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/console_win.cc ----------------------------------------------------------------------------------------------------- -Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/elf_loader.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/elf_loader.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/namespace_fuchsia.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/ffi.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/ffi_dynamic_library.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/tree_map.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/isolate_group.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/isolate_group.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/isolate_group.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/timeline_base.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/elf.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/thread_sanitizer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz_api_table.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz_ffi_api.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz_type_table.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/gen_api_table.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/gen_type_table.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/gen_util.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/ffi/sdk_lib_ffi_generator.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/graphexplorer/graphexplorer.html + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/graphexplorer/graphexplorer.js + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/run_clang_tidy.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bss_relocs.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bss_relocs.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/class_id.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_comments.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_comments.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_entry_kind.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/block_builder.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/evaluator.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/evaluator.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_checker.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_checker.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_test_helper.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_test_helper.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/graph_intrinsifier.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/graph_intrinsifier.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/offsets_extractor.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/recognized_methods_list.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/relocation.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/runtime_api.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/runtime_api.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/runtime_offsets_list.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_arm.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_arm64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_ia32.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/elf.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/elf.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/frame_layout.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/intrusive_dlist.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/libfuzzer/dart_libfuzzer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/longjump.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/pointer_tagging.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/splay-tree.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/static_type_exactness_state.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stub_code_list.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_stack_resource.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_stack_resource.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_state.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_state.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/rti.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/synced/recipe_syntax.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_dynamic_library_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_native_type_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/annotations.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/dynamic_library.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/ffi.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/native_type.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/struct.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/errors.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/elf_loader.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/elf_loader.h -FILE: ../../../flutter/third_party/dart/runtime/bin/namespace_fuchsia.h -FILE: ../../../flutter/third_party/dart/runtime/lib/ffi.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/ffi_dynamic_library.cc -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/tree_map.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/objects/isolate_group.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/models/repositories/isolate_group.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/isolate_group.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/repositories/timeline_base.dart -FILE: ../../../flutter/third_party/dart/runtime/platform/elf.h -FILE: ../../../flutter/third_party/dart/runtime/platform/thread_sanitizer.h -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz_api_table.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz_ffi_api.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/dartfuzz_type_table.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/gen_api_table.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/gen_type_table.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/gen_util.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/ffi/sdk_lib_ffi_generator.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/graphexplorer/graphexplorer.html -FILE: ../../../flutter/third_party/dart/runtime/tools/graphexplorer/graphexplorer.js -FILE: ../../../flutter/third_party/dart/runtime/tools/run_clang_tidy.dart -FILE: ../../../flutter/third_party/dart/runtime/vm/bss_relocs.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/bss_relocs.h -FILE: ../../../flutter/third_party/dart/runtime/vm/class_id.h -FILE: ../../../flutter/third_party/dart/runtime/vm/code_comments.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/code_comments.h -FILE: ../../../flutter/third_party/dart/runtime/vm/code_entry_kind.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/block_builder.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/evaluator.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/evaluator.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_checker.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_checker.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_test_helper.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_test_helper.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/graph_intrinsifier.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/graph_intrinsifier.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/offsets_extractor.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/recognized_methods_list.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/relocation.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/runtime_api.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/runtime_api.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/runtime_offsets_list.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_arm.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_arm64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_ia32.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/elf.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/elf.h -FILE: ../../../flutter/third_party/dart/runtime/vm/frame_layout.h -FILE: ../../../flutter/third_party/dart/runtime/vm/intrusive_dlist.h -FILE: ../../../flutter/third_party/dart/runtime/vm/libfuzzer/dart_libfuzzer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/longjump.h -FILE: ../../../flutter/third_party/dart/runtime/vm/pointer_tagging.h -FILE: ../../../flutter/third_party/dart/runtime/vm/splay-tree.h -FILE: ../../../flutter/third_party/dart/runtime/vm/static_type_exactness_state.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stub_code_list.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_stack_resource.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_stack_resource.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_state.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_state.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/rti.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/synced/recipe_syntax.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_dynamic_library_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_native_type_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/annotations.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/dynamic_library.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/ffi.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/native_type.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/struct.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/errors.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/io/network_profiling.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/sdk/lib/io/network_profiling.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/exe_utils.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/exe_utils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/ffi_unit_test/run_ffi_unit_tests.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/file_win.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform_macos.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/dart_api_dl.c + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/dart_api_dl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/dart_version.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/internal/dart_api_dl_impl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/bin/heap_snapshot.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/process_snapshot.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/allocation.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/leak_sanitizer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/priority_queue.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/unaligned.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/undefined_behavior_sanitizer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/canonical_tables.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/closure_functions_cache.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/closure_functions_cache.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/dispatch_table_generator.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/dispatch_table_generator.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/precompiler_tracer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/precompiler_tracer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/api/deopt_id.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/api/print_filter.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/api/print_filter.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/api/type_check_mode.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_base.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/abi.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/abi.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/callback.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/callback.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/frame_rebase.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/frame_rebase.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/marshaller.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/marshaller.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_calling_convention.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_calling_convention.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_location.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_location.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_type.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_type.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/recognized_method.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/recognized_method.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/unit_test_custom_zone.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/unit_test_custom_zone.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/write_barrier_elimination.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/write_barrier_elimination.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_base.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dispatch_table.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dispatch_table.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/experimental_features.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/experimental_features.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/field_table.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/field_table.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/port_set.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/tagged_pointer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/timeline_macos.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/visitor.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/embedder_config.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/js_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_struct_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/internal/lowering.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/exe_utils.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/exe_utils.h -FILE: ../../../flutter/third_party/dart/runtime/bin/ffi_unit_test/run_ffi_unit_tests.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/file_win.h -FILE: ../../../flutter/third_party/dart/runtime/bin/platform_macos.h -FILE: ../../../flutter/third_party/dart/runtime/include/dart_api_dl.c -FILE: ../../../flutter/third_party/dart/runtime/include/dart_api_dl.h -FILE: ../../../flutter/third_party/dart/runtime/include/dart_version.h -FILE: ../../../flutter/third_party/dart/runtime/include/internal/dart_api_dl_impl.h -FILE: ../../../flutter/third_party/dart/runtime/observatory/bin/heap_snapshot.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/process_snapshot.dart -FILE: ../../../flutter/third_party/dart/runtime/platform/allocation.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/leak_sanitizer.h -FILE: ../../../flutter/third_party/dart/runtime/platform/priority_queue.h -FILE: ../../../flutter/third_party/dart/runtime/platform/unaligned.h -FILE: ../../../flutter/third_party/dart/runtime/platform/undefined_behavior_sanitizer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/canonical_tables.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/closure_functions_cache.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/closure_functions_cache.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/dispatch_table_generator.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/dispatch_table_generator.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/precompiler_tracer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/aot/precompiler_tracer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/api/deopt_id.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/api/print_filter.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/api/print_filter.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/api/type_check_mode.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/assembler_base.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/abi.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/abi.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/callback.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/callback.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/frame_rebase.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/frame_rebase.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/marshaller.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/marshaller.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_calling_convention.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_calling_convention.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_location.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_location.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_type.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/native_type.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/recognized_method.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/recognized_method.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/unit_test_custom_zone.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/unit_test_custom_zone.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/write_barrier_elimination.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/write_barrier_elimination.h -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_base.h -FILE: ../../../flutter/third_party/dart/runtime/vm/dispatch_table.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/dispatch_table.h -FILE: ../../../flutter/third_party/dart/runtime/vm/experimental_features.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/experimental_features.h -FILE: ../../../flutter/third_party/dart/runtime/vm/field_table.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/field_table.h -FILE: ../../../flutter/third_party/dart/runtime/vm/port_set.h -FILE: ../../../flutter/third_party/dart/runtime/vm/tagged_pointer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/timeline_macos.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/visitor.cc -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/embedder_config.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/js_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_struct_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/internal/lowering.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/analyze_snapshot.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform_macos_cocoa.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/platform_macos_cocoa.mm + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/socket_base_posix.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/utils.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/virtual_memory.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/virtual_memory_fuchsia.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/virtual_memory_posix.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/virtual_memory_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/analyze_snapshot_api.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/analyze_snapshot_api_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/code_patcher_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_timings.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_timings.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/range.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/cpu_riscv.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/debugger_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_riscv.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions_riscv.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/message_snapshot.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/message_snapshot.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_graph_copy.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/object_graph_copy.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/pending_deopts.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/pending_deopts.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_frame_riscv.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_android_arm.S + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_compressed.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_compressed.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/dart2js_runtime_metrics.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/late_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_allocation_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/enum.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/abi.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/abi_specific.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/allocation.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/union.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/analyze_snapshot.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/platform_macos_cocoa.h -FILE: ../../../flutter/third_party/dart/runtime/bin/platform_macos_cocoa.mm -FILE: ../../../flutter/third_party/dart/runtime/bin/socket_base_posix.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/utils.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/virtual_memory.h -FILE: ../../../flutter/third_party/dart/runtime/bin/virtual_memory_fuchsia.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/virtual_memory_posix.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/virtual_memory_win.cc -FILE: ../../../flutter/third_party/dart/runtime/include/analyze_snapshot_api.h -FILE: ../../../flutter/third_party/dart/runtime/vm/analyze_snapshot_api_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/code_patcher_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/asm_intrinsifier_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/flow_graph_compiler_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_timings.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/compiler_timings.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/ffi/range.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/stub_code_compiler_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/cpu_riscv.h -FILE: ../../../flutter/third_party/dart/runtime/vm/debugger_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_riscv.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions_riscv.h -FILE: ../../../flutter/third_party/dart/runtime/vm/message_snapshot.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/message_snapshot.h -FILE: ../../../flutter/third_party/dart/runtime/vm/object_graph_copy.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/object_graph_copy.h -FILE: ../../../flutter/third_party/dart/runtime/vm/pending_deopts.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/pending_deopts.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_frame_riscv.h -FILE: ../../../flutter/third_party/dart/runtime/vm/thread_interrupter_android_arm.S -FILE: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_compressed.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/virtual_memory_compressed.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/dart2js_runtime_metrics.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/late_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_allocation_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/enum.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/abi.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/abi_specific.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/allocation.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/union.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/test_utils.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/test_utils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/thread_absl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/integers.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/mach_o.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/pe.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/bin/download.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/bin/explore.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/cli.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/completion.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/console.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/expression.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/load.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_serializer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_serializer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/gc_shared.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/gc_shared.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/page.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/page.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/sampler.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/sampler.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/instructions.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_absl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os_thread_absl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_x64.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_x64.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_http/http_testing.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_names.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/js_util_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/synced/embedded_names.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_native_finalizer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/finalizer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/hash_factories.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/record_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/boxed_bool.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/class_id.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/convert_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/core_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/deferred.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/double_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/errors_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/hash_factories.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/identical_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/internal_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/isolate_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_util_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/list.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/math_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/named_parameters.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/object_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/print_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/regexp_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/regexp_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/simd_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/stack_trace_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/stopwatch_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/symbol_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/timer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/type.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/typed_data_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/uri_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/convert_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_wasm/wasm_types.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/core/record.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/c_type.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/ffi/native_finalizer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js/js_wasm.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js_util/js_util_wasm.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/test_utils.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/test_utils.h -FILE: ../../../flutter/third_party/dart/runtime/bin/thread_absl.cc -FILE: ../../../flutter/third_party/dart/runtime/lib/integers.h -FILE: ../../../flutter/third_party/dart/runtime/platform/mach_o.h -FILE: ../../../flutter/third_party/dart/runtime/platform/pe.h -FILE: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/bin/download.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/bin/explore.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/cli.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/completion.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/console.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/expression.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/heapsnapshot/lib/src/load.dart -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_serializer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/il_serializer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/gc_shared.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/gc_shared.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/page.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/page.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/sampler.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/sampler.h -FILE: ../../../flutter/third_party/dart/runtime/vm/instructions.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_absl.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/os_thread_absl.h -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_x64.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_x64.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_http/http_testing.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/js_names.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/js_util_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/synced/embedded_names.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/ffi_native_finalizer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/finalizer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/hash_factories.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/record_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/boxed_bool.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/class_id.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/convert_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/core_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/deferred.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/double_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/errors_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/hash_factories.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/identical_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/internal_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/isolate_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_util_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/list.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/math_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/named_parameters.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/object_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/print_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/regexp_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/regexp_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/simd_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/stack_trace_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/stopwatch_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/symbol_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/timer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/type.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/typed_data_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/uri_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/convert_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_wasm/wasm_types.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/core/record.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/c_type.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/ffi/native_finalizer.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js/js_wasm.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js_util/js_util_wasm.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dartaotruntime_test_component.cml + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dartvm_test_component.cml + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/main_impl.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/run_vm_tests_test_component.cml + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/ffi_dynamic_library.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/unwinding_records.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/unwinding_records.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/unwinding_records_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm-jit.shard.cml + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm.shard.cml + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/parallel_move_resolver.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/parallel_move_resolver.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/ffi/native_assets.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/ffi/native_assets.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/ffi_callback_metadata.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/ffi_callback_metadata.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/unwinding_records.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/unwinding_records.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/unwinding_records_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/js_allow_interop_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/records.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_allow_interop_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/preambles/seal_native_object.js + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/records.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/convert_utf_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/js_interop_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/js_types.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/boxed_double.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/boxed_int.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/boxed_int_to_string.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/closure.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/date_patch_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/error_utils.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/int_common_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/int_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_array.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_interop_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_interop_unsafe_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_string.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_string_convert.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_typed_array.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_types.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/object_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/record_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/simd.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/string_buffer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/string_helper.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/string_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/sync_star_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/typed_data.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/wasm_types_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/weak_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/boxed_int_to_string.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/string_buffer_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/string_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/typed_data_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/async/future_extensions.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js_interop/js_interop.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/js_interop_unsafe/js_interop_unsafe.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/dartaotruntime_test_component.cml -FILE: ../../../flutter/third_party/dart/runtime/bin/dartvm_test_component.cml -FILE: ../../../flutter/third_party/dart/runtime/bin/main_impl.h -FILE: ../../../flutter/third_party/dart/runtime/bin/run_vm_tests_test_component.cml -FILE: ../../../flutter/third_party/dart/runtime/lib/ffi_dynamic_library.h -FILE: ../../../flutter/third_party/dart/runtime/platform/unwinding_records.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/unwinding_records.h -FILE: ../../../flutter/third_party/dart/runtime/platform/unwinding_records_win.cc -FILE: ../../../flutter/third_party/dart/runtime/vm-jit.shard.cml -FILE: ../../../flutter/third_party/dart/runtime/vm.shard.cml -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/parallel_move_resolver.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/parallel_move_resolver.h -FILE: ../../../flutter/third_party/dart/runtime/vm/ffi/native_assets.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/ffi/native_assets.h -FILE: ../../../flutter/third_party/dart/runtime/vm/ffi_callback_metadata.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/ffi_callback_metadata.h -FILE: ../../../flutter/third_party/dart/runtime/vm/unwinding_records.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/unwinding_records.h -FILE: ../../../flutter/third_party/dart/runtime/vm/unwinding_records_win.cc -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/patch/js_allow_interop_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/records.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/js_allow_interop_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/preambles/seal_native_object.js -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/records.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/convert_utf_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/js_interop_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/js_interop_unsafe_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/js_types.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/boxed_double.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/boxed_int.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/boxed_int_to_string.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/closure.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/date_patch_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/error_utils.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/int_common_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/int_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_array.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_interop_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_interop_unsafe_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_string.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_string_convert.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_typed_array.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_types.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/object_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/record_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/simd.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/string_buffer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/string_helper.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/string_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/sync_star_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/typed_data.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/wasm_types_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/weak_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/boxed_int_to_string.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/string_buffer_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/string_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/typed_data_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/async/future_extensions.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js_interop/js_interop.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/js_interop_unsafe/js_interop_unsafe.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/perfetto_utils.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/common/builtin_clock.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/clock_snapshot.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/interned_data/interned_data.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/profiling/profile_common.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/profiling/profile_packet.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/trace.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/trace_packet.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/debug_annotation.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/process_descriptor.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/thread_descriptor.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/track_descriptor.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/track_event.pbzero.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/protos/tools/compile_perfetto_protos.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/vm/perfetto_utils.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/common/builtin_clock.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/clock_snapshot.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/interned_data/interned_data.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/profiling/profile_common.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/profiling/profile_packet.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/trace.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/trace_packet.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/debug_annotation.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/process_descriptor.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/thread_descriptor.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/track_descriptor.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/perfetto/trace/track_event/track_event.pbzero.h -FILE: ../../../flutter/third_party/dart/runtime/vm/protos/tools/compile_perfetto_protos.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/icu.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/icu.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/ifaddrs.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/ifaddrs.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/native_assets_api_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/thread.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/uri.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/uri.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/include/bin/native_assets_api.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/lib/concurrent.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/no_tsan.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/no_tsan.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/synchronization.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/synchronization_absl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/synchronization_posix.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/synchronization_win.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/threads.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/flag_fuzzer.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/profiling/bin/convert_allocation_profile.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/profiling/bin/set_uprobe.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/elf_utils.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/perf/perf_data.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/symbols.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bytecode_reader.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/bytecode_reader.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_kbc.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_kbc.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/dart_calling_conventions.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/dart_calling_conventions.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_kbc.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/constants_kbc.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/incremental_compactor.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/heap/incremental_compactor.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/interpreter.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/interpreter.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/os.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_memory.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/stack_frame_kbc.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/custom_hash_set.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_only.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/identity_hash_set.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/linked_hash_set.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/dart2js_only.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/synced/array_flags.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/synced/invocation_mirror_constants.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/date_time_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/synced/async_status_codes.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/resident_compiler_utils.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/concurrent_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/compact_hash.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/ffi_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_helper_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/js_helper_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/concurrent/concurrent.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/icu.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/icu.h -FILE: ../../../flutter/third_party/dart/runtime/bin/ifaddrs.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/ifaddrs.h -FILE: ../../../flutter/third_party/dart/runtime/bin/native_assets_api_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/thread.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/uri.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/uri.h -FILE: ../../../flutter/third_party/dart/runtime/include/bin/native_assets_api.h -FILE: ../../../flutter/third_party/dart/runtime/lib/concurrent.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/no_tsan.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/no_tsan.h -FILE: ../../../flutter/third_party/dart/runtime/platform/synchronization.h -FILE: ../../../flutter/third_party/dart/runtime/platform/synchronization_absl.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/synchronization_posix.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/synchronization_win.cc -FILE: ../../../flutter/third_party/dart/runtime/platform/threads.h -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/flag_fuzzer.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/bin/convert_allocation_profile.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/bin/set_uprobe.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/elf_utils.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/perf/perf_data.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/symbols.dart -FILE: ../../../flutter/third_party/dart/runtime/vm/bytecode_reader.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/bytecode_reader.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_kbc.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/assembler/disassembler_kbc.h -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/dart_calling_conventions.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/compiler/backend/dart_calling_conventions.h -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_kbc.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/constants_kbc.h -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/incremental_compactor.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/heap/incremental_compactor.h -FILE: ../../../flutter/third_party/dart/runtime/vm/interpreter.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/interpreter.h -FILE: ../../../flutter/third_party/dart/runtime/vm/os.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_memory.h -FILE: ../../../flutter/third_party/dart/runtime/vm/stack_frame_kbc.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/custom_hash_set.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/ddc_only.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/identity_hash_set.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_dev_runtime/private/linked_hash_set.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/dart2js_only.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/synced/array_flags.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_runtime/lib/synced/invocation_mirror_constants.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/date_time_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/js_shared/lib/synced/async_status_codes.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/bin/resident_compiler_utils.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/vm/lib/concurrent_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/compact_hash.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/ffi_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/js_helper_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm_js_compatibility/lib/js_helper_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/concurrent/concurrent.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/developer/http_profiling.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/sdk/lib/developer/http_profiling.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/common_options.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dart_api_win.c + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dartdev.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dartdev_options.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/dartdev_options.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/macho_loader.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/macho_loader.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/mappable.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/bin/mappable.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/engine/dart_engine_impl.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/engine/engine.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/engine/engine.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/engine/include/dart_engine.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/element_utils.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/list_queue.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/platform/lockers.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/flag_fuzzer_dart2js.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/flag_fuzzer_dart2wasm.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/tools/generate_dart_api_win_c.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/dwarf_so_writer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/line_starts_reader.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/line_starts_reader.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/mach_o.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/mach_o.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/microtask_mirror_queues.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/microtask_mirror_queues.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/simulator_arm64_trampolines.S + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/so_writer.cc + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/runtime/vm/so_writer.h + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/dynamic_module.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/function_patch.dart + ../../../flutter/third_party/dart/LICENSE -ORIGIN: ../../../flutter/third_party/dart/utils/dart_mcp_server/dart_mcp_server.dart + ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/bin/common_options.h -FILE: ../../../flutter/third_party/dart/runtime/bin/dart_api_win.c -FILE: ../../../flutter/third_party/dart/runtime/bin/dartdev.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/dartdev_options.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/dartdev_options.h -FILE: ../../../flutter/third_party/dart/runtime/bin/macho_loader.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/macho_loader.h -FILE: ../../../flutter/third_party/dart/runtime/bin/mappable.cc -FILE: ../../../flutter/third_party/dart/runtime/bin/mappable.h -FILE: ../../../flutter/third_party/dart/runtime/engine/dart_engine_impl.cc -FILE: ../../../flutter/third_party/dart/runtime/engine/engine.cc -FILE: ../../../flutter/third_party/dart/runtime/engine/engine.h -FILE: ../../../flutter/third_party/dart/runtime/engine/include/dart_engine.h -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/helpers/element_utils.dart -FILE: ../../../flutter/third_party/dart/runtime/platform/list_queue.h -FILE: ../../../flutter/third_party/dart/runtime/platform/lockers.h -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/flag_fuzzer_dart2js.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/dartfuzz/flag_fuzzer_dart2wasm.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/generate_dart_api_win_c.dart -FILE: ../../../flutter/third_party/dart/runtime/vm/dwarf_so_writer.h -FILE: ../../../flutter/third_party/dart/runtime/vm/line_starts_reader.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/line_starts_reader.h -FILE: ../../../flutter/third_party/dart/runtime/vm/mach_o.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/mach_o.h -FILE: ../../../flutter/third_party/dart/runtime/vm/microtask_mirror_queues.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/microtask_mirror_queues.h -FILE: ../../../flutter/third_party/dart/runtime/vm/simulator_arm64_trampolines.S -FILE: ../../../flutter/third_party/dart/runtime/vm/so_writer.cc -FILE: ../../../flutter/third_party/dart/runtime/vm/so_writer.h -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/dynamic_module.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/function_patch.dart -FILE: ../../../flutter/third_party/dart/utils/dart_mcp_server/dart_mcp_server.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: double-conversion -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/cached-powers.cc -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/cached-powers.cc ----------------------------------------------------------------------------------------------------- -Copyright 2006-2008 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: double-conversion -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/bignum-dtoa.cc -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/bignum-dtoa.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/bignum.cc -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/bignum.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/cached-powers.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/diy-fp.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/double-to-string.cc -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/fast-dtoa.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/fixed-dtoa.cc -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/fixed-dtoa.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/string-to-double.cc -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/strtod.cc -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/strtod.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/utils.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/bignum-dtoa.cc -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/bignum-dtoa.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/bignum.cc -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/bignum.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/cached-powers.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/diy-fp.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/double-to-string.cc -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/fast-dtoa.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/fixed-dtoa.cc -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/fixed-dtoa.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/string-to-double.cc -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/strtod.cc -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/strtod.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/utils.h ----------------------------------------------------------------------------------------------------- -Copyright 2010 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: double-conversion -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/double-conversion.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/double-to-string.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/fast-dtoa.cc -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/ieee.h -ORIGIN: ../../../flutter/third_party/dart/third_party/double-conversion/src/string-to-double.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/double-conversion.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/double-to-string.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/fast-dtoa.cc -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/ieee.h -FILE: ../../../flutter/third_party/dart/third_party/double-conversion/src/string-to-double.h ----------------------------------------------------------------------------------------------------- -Copyright 2012 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: dart -ORIGIN: ../../../flutter/third_party/dart/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/elements.dart -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/img/chromium_icon.png -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/img/dart_icon.png -FILE: ../../../flutter/third_party/dart/runtime/observatory/lib/src/elements/img/isolate_icon.png -FILE: ../../../flutter/third_party/dart/runtime/observatory/web/favicon.ico -FILE: ../../../flutter/third_party/dart/runtime/observatory/web/index.html -FILE: ../../../flutter/third_party/dart/runtime/observatory/web/third_party/trace_viewer_full.html -FILE: ../../../flutter/third_party/dart/runtime/observatory/web/timeline.html -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/dart.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/dartaotruntime.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/dartaotruntime_product.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/dartvm.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/gen_snapshot.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/gen_snapshot_product.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_futures_aot.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_futures_aot_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_futures_kernel.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_futures_kernel_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_main_aot.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_main_aot_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_main_kernel.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_main_kernel_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_timer_aot.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_timer_aot_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_timer_async_aot.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_timer_async_aot_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_timer_async_kernel.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_timer_async_kernel_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_timer_kernel.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_timer_kernel_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_two_programs_aot.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_two_programs_aot_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_two_programs_kernel.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_two_programs_kernel_static.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/entitlements/run_vm_tests.plist -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/pprof/generated/profile.pb.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/pprof/generated/profile.pbenum.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/pprof/generated/profile.pbjson.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/profiling/lib/src/pprof/generated/profile.pbserver.dart -FILE: ../../../flutter/third_party/dart/runtime/tools/wiki/styles/style.scss -FILE: ../../../flutter/third_party/dart/runtime/tools/wiki/templates/includes/auto-refresh.html -FILE: ../../../flutter/third_party/dart/runtime/tools/wiki/templates/page.html -FILE: ../../../flutter/third_party/dart/sdk.code-workspace -FILE: ../../../flutter/third_party/dart/sdk/lib/_internal/wasm/lib/async_patch.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/conversions_dart2js.dart -FILE: ../../../flutter/third_party/dart/sdk/lib/html/html_common/html_common.dart ----------------------------------------------------------------------------------------------------- -Copyright 2012, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fallback_root_certificates -ORIGIN: ../../../flutter/third_party/dart/third_party/fallback_root_certificates/LICENSE -TYPE: LicenseType.mpl -FILE: ../../../flutter/third_party/dart/third_party/fallback_root_certificates/root_certificates.cc ----------------------------------------------------------------------------------------------------- -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. - -You may obtain a copy of this library's Source Code Form from: https://dart.googlesource.com/sdk/+/3f1307d72d6f3dd8a48e73a52bc89e8dc1a3d1b3 -/third_party/fallback_root_certificates/ - -==================================================================================================== - -Total license count: 28 diff --git a/engine/src/flutter/ci/licenses_golden/licenses_flutter b/engine/src/flutter/ci/licenses_golden/licenses_flutter deleted file mode 100644 index 7c1f30bd3a3a3..0000000000000 --- a/engine/src/flutter/ci/licenses_golden/licenses_flutter +++ /dev/null @@ -1,79947 +0,0 @@ -==================================================================================================== -LIBRARY: angle -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor_tab_autogen.cpp -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang_tab_autogen.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/glslang_tab.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/glslang_tab.cpp.h -TYPE: LicenseType.bison -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor_tab_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang_tab_autogen.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/glslang_tab.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/glslang_tab.cpp.h ----------------------------------------------------------------------------------------------------- - -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/dictionaries/thaidict.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/dictionaries/thaidict.txt ----------------------------------------------------------------------------------------------------- -# Copyright (c) 2006-2015 International Business Machines Corporation, - # Apple Inc., and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: lunarg-vulkantools -ORIGIN: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/LICENSE.txt -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/GOVERNANCE.md -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/api_dump_layer.md -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/images/lunarg.png -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/json/VkLayer_api_dump.json.in -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/json/VkLayer_monitor.json.in -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/json/VkLayer_screenshot.json.in -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/monitor_layer.md -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/screenshot_layer.md -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/vk_layer_settings.txt -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/images/bg-starfield.jpg -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/images/lunarg_via.png -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/images/lunarg_via_title.png -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/macOS/Info.plist -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/macOS/Resources/VulkanIcon.icns -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurations/3.0.0/API dump.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurations/3.0.0/Crash Diagnostic.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurations/3.0.0/Disable All Vulkan Layers.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurations/3.0.0/Frame Capture.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurations/3.0.0/Log Loader Messages.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurations/3.0.0/Portability.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurations/3.0.0/Synchronization.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurations/3.0.0/Validation.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layers/layers_schema.json -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layers/validusage.json ----------------------------------------------------------------------------------------------------- -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as -defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner -that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that -control, are controlled by, or are under common control with that entity. For the -purposes of this definition, "control" means (i) the power, direct or indirect, to -cause the direction or management of such entity, whether by contract or otherwise, -or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or -(iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions -granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not -limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included in or -attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based -on (or derived from) the Work and for which the editorial revisions, annotations, -elaborations, or other modifications represent, as a whole, an original work of -authorship. For the purposes of this License, Derivative Works shall not include works -that remain separable from, or merely link (or bind by name) to the interfaces of, the -Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the -Work and any modifications or additions to that Work or Derivative Works thereof, that -is intentionally submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. -For the purposes of this definition, "submitted" means any form of electronic, verbal, -or written communication sent to the Licensor or its representatives, including but not -limited to communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose -of discussing and improving the Work, but excluding communication that is conspicuously -marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a -Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each -Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, -royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each -Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, -royalty-free, irrevocable (except as stated in this section) patent license to make, -have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such -license applies only to those patent claims licensable by such Contributor that are -necessarily infringed by their Contribution(s) alone or by combination of their -Contribution(s) with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a cross-claim or counterclaim -in a lawsuit) alleging that the Work or a Contribution incorporated within the Work -constitutes direct or contributory patent infringement, then any patent licenses granted -to You under this License for that Work shall terminate as of the date such litigation -is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative -Works thereof in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this -License; and -You must cause any modified files to carry prominent notices stating that You changed -the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all -copyright, patent, trademark, and attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of the Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the attribution -notices contained within such NOTICE file, excluding those notices that do not pertain -to any part of the Derivative Works, in at least one of the following places: within a -NOTICE text file distributed as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, within a display -generated by the Derivative Works, if and wherever such third-party notices normally -appear. The contents of the NOTICE file are for informational purposes only and do not -modify the License. You may add Your own attribution notices within Derivative Works -that You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as modifying -the License. - -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution -intentionally submitted for inclusion in the Work by You to the Licensor shall be under -the terms and conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of any -separate license agreement you may have executed with Licensor regarding such -Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, -trademarks, service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and reproducing the -content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, -Licensor provides the Work (and each Contributor provides its Contributions) on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, -MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for -determining the appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort -(including negligence), contract, or otherwise, unless required by applicable law (such -as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor -be liable to You for damages, including any direct, indirect, special, incidental, or -consequential damages of any character arising as a result of this License or out of the -use or inability to use the Work (including but not limited to damages for loss of -goodwill, work stoppage, computer failure or malfunction, or any and all other -commercial damages or losses), even if such Contributor has been advised of the -possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or -Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of -support, warranty, indemnity, or other liability obligations and/or rights consistent -with this License. However, in accepting such obligations, You may act only on Your own -behalf and on Your sole responsibility, not on behalf of any other Contributor, and only -if You agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your accepting -any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: HOW TO APPLY THE APACHE LICENSE TO YOUR WORK -To apply the Apache License to your work, attach the following boilerplate notice, with -the fields enclosed by brackets "[]" replaced with your own identifying information. -(Don't include the brackets!) The text should be enclosed in the appropriate comment -syntax for the file format. We also recommend that a file or class name and description -of purpose be included on the same "printed page" as the copyright notice for easier -identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. -==================================================================================================== - -==================================================================================================== -LIBRARY: vulkan-validation-layers -ORIGIN: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/LICENSE.txt -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/.git-blame-ignore-revs -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/GOVERNANCE.md -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/VkLayer_khronos_validation-android.map -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/VkLayer_khronos_validation.exp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/VkLayer_khronos_validation.json.in -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/VkLayer_khronos_validation.map -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/profiling/profiling.md -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_layer_settings.txt ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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 - - http://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. - - - -File: layers/external/vma/vk_mem_alloc.h - - -Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: cpu_features -ORIGIN: ../../../flutter/third_party/cpu_features/src/LICENSE -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/cpu_features/src/.dockerignore -FILE: ../../../flutter/third_party/cpu_features/src/.grenrc.yml -FILE: ../../../flutter/third_party/cpu_features/src/ndk_compat/cpu-features.c -FILE: ../../../flutter/third_party/cpu_features/src/ndk_compat/ndk-compat-test.c -FILE: ../../../flutter/third_party/cpu_features/src/scripts/generate_badges.d ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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 - - http://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. - - -For files in the `ndk_compat` folder: - - -Copyright (C) 2010 The Android Open Source Project -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: flatbuffers -ORIGIN: ../../../flutter/third_party/flatbuffers/dart/LICENSE -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/flatbuffers/dart/lib/flat_buffers.dart -FILE: ../../../flutter/third_party/flatbuffers/dart/lib/flex_buffers.dart -FILE: ../../../flutter/third_party/flatbuffers/dart/lib/src/builder.dart -FILE: ../../../flutter/third_party/flatbuffers/dart/lib/src/reference.dart -FILE: ../../../flutter/third_party/flatbuffers/dart/lib/src/types.dart ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright 2014 Google Inc. - -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 - - http://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. -==================================================================================================== - -==================================================================================================== -LIBRARY: abseil-cpp -LIBRARY: angle -LIBRARY: boringssl -LIBRARY: cpu_features -LIBRARY: expat -LIBRARY: flatbuffers -LIBRARY: glslang -LIBRARY: lunarg-vulkantools -LIBRARY: perfetto -LIBRARY: shaderc -LIBRARY: spirv-cross -LIBRARY: swiftshader -LIBRARY: vulkan-headers -LIBRARY: vulkan-utility-libraries -LIBRARY: vulkan-validation-layers -LIBRARY: wuffs -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/overlay/LICENSE.txt -ORIGIN: ../../../flutter/third_party/boringssl/src/LICENSE -ORIGIN: ../../../flutter/third_party/flatbuffers/LICENSE.txt -ORIGIN: ../../../flutter/third_party/flatbuffers/swift/LICENSE -ORIGIN: ../../../flutter/third_party/shaderc/LICENSE -ORIGIN: ../../../flutter/third_party/swiftshader/LICENSE.txt -ORIGIN: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/LICENSE -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan.cppm -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_enums.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_extension_inspection.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_format_traits.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_funcs.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_handles.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_hash.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_hpp_macros.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_raii.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_shared.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_static_assertions.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_structs.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_to_string.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_video.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/main.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cfg.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cfg.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_common.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cpp.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cpp.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.natvis -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_c.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_c.h -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_containers.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_error_handling.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_parsed_ir.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_parsed_ir.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_util.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_util.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_glsl.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_glsl.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_hlsl.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_hlsl.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_msl.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_msl.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_parser.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_parser.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_reflect.cpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_reflect.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.cppm -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_enums.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_extension_inspection.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_format_traits.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_funcs.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_handles.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_hash.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_hpp_macros.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_raii.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_shared.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_static_assertions.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_structs.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_to_string.hpp -ORIGIN: Apache-2.0 OR MIT referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_video.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/angle/include/EGL/egl.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/angle/include/EGL/eglext.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/angle/include/EGL/eglplatform.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/angle/include/GLES2/gl2platform.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/angle/include/GLES3/gl3platform.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h264std.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h264std_decode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h264std_encode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h265std.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h265std_decode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h265std_encode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codecs_common.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vk_icd.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vk_layer.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vk_platform.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_android.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_beta.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_core.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_directfb.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_fuchsia.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_ggp.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_ios.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_macos.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_metal.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_screen.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_vi.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_wayland.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_win32.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_xcb.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_xlib.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_xlib_xrandr.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/Package.swift -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/barrier.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/external_interface.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/image.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/internal_interface.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/sampler.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/thread_group.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/pkg-config/spirv-cross-c-shared.pc.in -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/pkg-config/spirv-cross-c.pc.in -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_av1std.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_av1std_decode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_av1std_encode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h264std.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h264std_decode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h264std_encode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h265std.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h265std_decode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h265std_encode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codecs_common.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vk_icd.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vk_layer.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vk_platform.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_android.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_beta.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_core.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_directfb.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_fuchsia.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_ggp.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_ios.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_macos.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_metal.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_screen.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_vi.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_wayland.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_win32.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_xcb.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_xlib.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_xlib_xrandr.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/docs/generated_code.md -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/docs/layer_configuration.md -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/layer/vk_layer_settings.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/layer/vk_layer_settings.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_concurrent_unordered_map.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_dispatch_table.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_format_utils.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_safe_struct.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_safe_struct_utils.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_sparse_range_map.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_struct_helper.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/vk_enum_string_helper.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/gn/stub.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/layer_settings_manager.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/layer_settings_manager.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/layer_settings_util.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/layer_settings_util.hpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/vk_layer_settings.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/vk_layer_settings_helper.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_core.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_ext.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_khr.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_manual.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_utils.cpp -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_vendor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_d3d10.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_d3d11.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_dx9_media_sharing.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_dx9_media_sharing_intel.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_egl.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_ext.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_ext_intel.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_gl.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_gl_ext.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_half.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_icd.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_layer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_platform.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_va_api_media_sharing_intel.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/cl_version.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/CL/opencl.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/GLES/egl.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/include/GLES/glplatform.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/layout/fragment.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-af/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-am/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ar/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-as/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-az/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-b+sr+Latn/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-be/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-bg/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-bn/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-bs/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ca/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-cs/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-da/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-de/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-el/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rAU/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rCA/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rGB/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rIN/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rXC/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-es-rUS/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-es/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-et/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-eu/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-fa/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-fi/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-fr-rCA/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-fr/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-gl/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-gu/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-hi/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-hr/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-hu/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-hy/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-in/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-is/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-it/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-iw/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ja/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ka/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-kk/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-km/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-kn/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ko/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ky/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-lo/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-lt/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-lv/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-mk/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ml/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-mn/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-mr/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ms/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-my/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-nb/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ne/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-nl/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-or/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-pa/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-pl/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-pt-rPT/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-pt/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ro/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ru/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-si/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-sk/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-sl/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-sq/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-sr/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-sv/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-sw/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ta/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-te/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-th/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-tl/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-tr/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-uk/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-ur/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-uz/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-vi/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-zh-rCN/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-zh-rHK/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-zh-rTW/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values-zu/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values/dimens.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values/drivers.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values/global_settings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values/intents.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values/preference_keys.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/values/strings.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/res/xml/main.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/AndroidManifest.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/EmptyMainActivity.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/MainActivity.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/common/GlobalSettings.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/common/MainFragment.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/common/Receiver.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/common/SearchProvider.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/common/vulkan/vk_google_filtering_precision.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/angle/src/libANGLE/Overlay_font_autogen.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpu_features_cache_info.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpu_features_macros.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpuinfo_aarch64.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpuinfo_arm.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpuinfo_mips.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpuinfo_ppc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpuinfo_riscv.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpuinfo_s390x.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/cpuinfo_x86.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/internal/bit_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/internal/cpuid_x86.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/internal/filesystem.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/internal/hwcaps.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/internal/stack_line_reader.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/internal/string_view.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/include/internal/windows_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/copy.inl -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/define_introspection.inl -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/define_introspection_and_hwcaps.inl -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/equals.inl -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/filesystem.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/hwcaps.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_aarch64_linux_or_android.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_aarch64_windows.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_arm_linux_or_android.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_mips_linux_or_android.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_ppc_linux.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_riscv_linux.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_s390x_linux.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_x86__base_implementation.inl -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_x86_freebsd.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_x86_linux_or_android.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_x86_macos.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/impl_x86_windows.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/stack_line_reader.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/string_view.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/cpu_features/src/src/utils/list_cpu_features.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/conan/test_package/test_package.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/flatbuffers-java-grpc/src/main/java/com/google/flatbuffers/grpc/FlatbuffersUtils.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/src/compiler/java_generator.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/src/compiler/java_generator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/src/compiler/python_generator.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/src/compiler/python_generator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/src/compiler/schema_interface.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/src/compiler/swift_generator.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/src/compiler/swift_generator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/grpc/src/compiler/ts_generator.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/allocator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/array.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/bfbs_generator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/buffer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/buffer_ref.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/code_generators.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/default_allocator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/detached_buffer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/flatbuffer_builder.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/flatbuffers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/flatc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/flex_flat_util.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/flexbuffers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/grpc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/hash.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/idl.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/minireflect.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/pch/flatc_pch.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/pch/pch.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/reflection.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/registry.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/stl_emulation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/string.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/struct.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/table.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/util.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/vector.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/vector_downward.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/include/flatbuffers/verifier.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/BaseVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/BooleanVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ByteBufferUtil.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ByteVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Constants.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/DoubleVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/FlatBufferBuilder.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/FlexBuffers.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/FlexBuffersBuilder.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/FloatVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/IntVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/LongVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ShortVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/StringVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Struct.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Table.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/UnionVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Utf8.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Utf8Old.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/BaseVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/BooleanVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ByteBufferUtil.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ByteVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Constants.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/DoubleVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/FlatBufferBuilder.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/FlexBuffers.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/FlexBuffersBuilder.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/FloatVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/IntVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/LongVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ShortVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/StringVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Struct.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Table.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/UnionVector.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Utf8.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Utf8Old.java -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/kotlin/com/google/flatbuffers/kotlin/benchmark/FlexBuffersBenchmark.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/kotlin/com/google/flatbuffers/kotlin/benchmark/JsonBenchmark.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/kotlin/com/google/flatbuffers/kotlin/benchmark/UTF8Benchmark.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/Buffers.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/ByteArray.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/FlexBuffers.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/FlexBuffersBuilder.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/FlexBuffersInternals.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/JSON.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/Utf8.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonTest/kotlin/com/google/flatbuffers/kotlin/ByteArrayTest.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonTest/kotlin/com/google/flatbuffers/kotlin/FlexBuffersTest.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonTest/kotlin/com/google/flatbuffers/kotlin/JSONTest.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/jsMain/kotlin/com/google/flatbuffers/kotlin/ByteArray.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/jvmMain/kotlin/com/google/flatbuffers/kotlin/ByteArray.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/nativeMain/kotlin/com/google/flatbuffers/kotlin/ByteArray.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/kotlin/spotless/spotless.kt -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/lobster/flatbuffers.lobster -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/annotated_binary_text_gen.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/bfbs_gen.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/bfbs_gen_lua.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/bfbs_gen_lua.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/binary_annotator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/code_generators.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/flatc.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/flatc_main.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/flathash.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_cpp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_csharp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_dart.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_fbs.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_go.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_grpc.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_java.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_json_schema.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_kotlin.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_lobster.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_lua.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_php.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_python.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_rust.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_swift.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_text.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_gen_ts.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/idl_parser.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/reflection.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/src/util.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Package.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Package@swift-5.5.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/ByteBuffer.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Constants.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Enum.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/FlatBufferBuilder.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/FlatBufferObject.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/FlatBuffersUtils.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/FlatbuffersErrors.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Int+extension.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Message.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Mutable.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/NativeObject.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Offset.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Root.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/String+extension.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Struct.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Table.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/TableVerifier.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/VeriferOptions.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Verifiable.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Verifier.swift -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/Android.bp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/BUILD -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/PerfettoIntegrationTests.xml -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/bazel/BUILD -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/bazel/jsoncpp.BUILD -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/bazel/linenoise.BUILD -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/bazel/llvm_demangle.BUILD -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/bazel/sqlite.BUILD -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/bazel/zlib.BUILD -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/buildtools/libbacktrace_config/backtrace-supported.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/buildtools/libbacktrace_config/config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/buildtools/rustc-demangle-capi/rustc_demangle.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/gn/standalone/.emscripten -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/heapprofd.rc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/build_config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/build_configs/bazel/perfetto_build_flags.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/compiler.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/export.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/flat_set.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/logging.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/platform_handle.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/proc_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/status.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/task_runner.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/template_util.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/thread_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/base/time.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/android_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/base64.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/circular_queue.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/container_annotations.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/crash_keys.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/ctrl_c_handler.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/endian.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/event_fd.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/file_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/flat_hash_map.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/getopt.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/getopt_compat.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/hash.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/http/http_server.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/http/sha1.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/metatrace.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/metatrace_events.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/no_destructor.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/paged_memory.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/periodic_task.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/pipe.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/platform.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/scoped_file.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/small_set.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/small_vector.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/status_or.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/string_splitter.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/string_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/string_view.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/string_writer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/subprocess.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/sys_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/temp_file.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/thread_annotations.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/thread_checker.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/thread_task_runner.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/thread_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/channel.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/future.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/future_combinators.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/poll.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/spawn.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/stream.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/stream_combinators.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/thread_pool.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/util.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/unix_socket.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/unix_task_runner.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/uuid.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/version.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/waitable_event.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/watchdog.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/watchdog_noop.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/watchdog_posix.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/base/weak_ptr.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/bigtrace/environment.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/bigtrace/orchestrator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/bigtrace/worker.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/async_result.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/basic_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/client.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/client_info.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/codegen_helpers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/deferred.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/host.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/service.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/service_descriptor.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/service_proxy.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/demangle.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/export_json.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/graph.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/graph_processor.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/memory_allocator_node_id.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/memory_graph_edge.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/raw_memory_graph_node.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/raw_process_memory_node.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/rpc/query_result_serializer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/traced/data_source_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/traced/sys_stats_counters.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/traced/traced.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/basic_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/commit_data_request.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/consumer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/observable_events.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/producer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/shared_memory.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/shared_memory_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/shared_memory_arbiter.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/slice.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/trace_packet.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/trace_stats.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/trace_writer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/tracing_service.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/ipc/consumer_ipc_client.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/ipc/default_socket.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/ipc/producer_ipc_client.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/ipc/service_ipc_host.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/profiling/parse_smaps.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/profiling/pprof_builder.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/contiguous_memory_range.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/copyable_ptr.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/cpp_message_obj.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/field.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/field_writer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/gen_field_helpers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/message.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/message_arena.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/message_handle.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/packed_repeated_fields.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/proto_decoder.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/proto_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/root_message.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/scattered_stream_null_delegate.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/scattered_stream_writer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/protozero/static_buffer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/atomic.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/backend_type.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/data_source_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/export.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/heap_buffer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/pb_decoder_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/producer_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/stream_writer_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/thread_utils_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/tracing_session_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/track_event_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/track_event_hl_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/abi/track_event_ll_abi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/compiler.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/data_source.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/fnv1a.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/pb_decoder.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/pb_macros.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/pb_msg.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/pb_packed.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/pb_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/producer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/common/builtin_clock.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/common/data_source_descriptor.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/config/data_source_config.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/config/trace_config.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/config/track_event/track_event_config.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/interned_data/interned_data.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/test_event.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/trace.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/trace_packet.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/track_event/counter_descriptor.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/track_event/debug_annotation.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/track_event/track_descriptor.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/track_event/track_event.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/trigger.pzc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/stream_writer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/te_category_macros.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/te_macros.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/thread_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/tracing_session.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/public/track_event.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/basic_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/iterator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/metatrace_config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/read_trace.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/ref_counted.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/status.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/trace_blob.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/trace_blob_view.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/trace_processor.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/trace_processor_storage.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/backend_type.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/buffer_exhausted_policy.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/console_interceptor.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/chrome_config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/data_source_config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/data_source_descriptor.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/flush_flags.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/forward_decls.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/trace_config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/tracing_service_capabilities.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/tracing_service_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/data_source.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/debug_annotation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/event_context.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/interceptor.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/basic_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/checked_scope.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/compile_time_hash.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/data_source_internal.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/in_process_tracing_backend.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/interceptor_trace_writer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/system_tracing_backend.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/tracing_backend_fake.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/tracing_muxer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/tracing_tls.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_internal.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_interned_fields.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_macros.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/write_track_event_args.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/locked_handle.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/platform.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/string_helpers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/trace_writer_base.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/traced_proto.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/traced_value.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/traced_value_forward.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/tracing.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/tracing_backend.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/tracing_policy.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/track.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_args.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_category_registry.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_interned_data_index.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_legacy.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_state_tracker.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/perfetto.rc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/python/BUILD -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/atrace_hal.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/atrace_hal.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/health_hal.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/health_hal.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/incident_service.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/incident_service.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/lazy_library_loader.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/lazy_library_loader.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/power_stats.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/power_stats.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/statsd.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/statsd.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/statsd_logging.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/statsd_logging.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/tracing_service_proxy.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_internal/tracing_service_proxy.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_stats/perfetto_atoms.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_stats/statsd_logging_helper.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/android_stats/statsd_logging_helper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/android_utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/base64.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/crash_keys.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/ctrl_c_handler.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/debug_crash_stack_trace.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/default_platform.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/event_fd.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/file_utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/flat_hash_map_benchmark.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/flat_set_benchmark.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/getopt_compat.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/http/http_server.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/http/sha1.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/log_ring_buffer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/logging.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/metatrace.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/paged_memory.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/periodic_task.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/pipe.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/status.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/string_splitter.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/string_utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/string_view.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/subprocess.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/subprocess_posix.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/subprocess_windows.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/temp_file.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/thread_checker.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/thread_task_runner.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/thread_utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/threading/spawn.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/threading/stream_combinators.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/threading/thread_pool.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/time.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/unix_socket.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/unix_task_runner.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/uuid.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/version.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/virtual_destructors.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/vm_sockets.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/waitable_event.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/base/watchdog_posix.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/bigtrace/orchestrator_impl.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/bigtrace/orchestrator_impl.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/bigtrace/trace_processor_wrapper.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/bigtrace/trace_processor_wrapper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/bigtrace/worker_impl.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/bigtrace/worker_impl.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kallsyms/kernel_symbol_map.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kallsyms/kernel_symbol_map.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kallsyms/kernel_symbol_map_benchmark.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kallsyms/lazy_kernel_symbolizer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kallsyms/lazy_kernel_symbolizer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kernel_utils/syscall_table.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kernel_utils/syscall_table.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_aarch32.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_aarch64.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_armeabi.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_x86.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_x86_64.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/bugreport_path.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/config.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/main.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/packet_writer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/packet_writer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/pbtxt_to_pb.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/pbtxt_to_pb.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/perfetto_cmd.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/perfetto_cmd.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/perfetto_cmd_android.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/perfetto_cmd_state.proto -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/rate_limiter.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/rate_limiter.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/trigger_perfetto.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/trigger_perfetto_main.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/trigger_producer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/perfetto_cmd/trigger_producer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/callstack_trie.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/callstack_trie.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/interner.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/interning_output.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/interning_output.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/proc_cmdline.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/proc_cmdline.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/proc_utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/proc_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/producer_support.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/producer_support.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/profiler_guardrails.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/profiler_guardrails.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/unwind_support.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/common/unwind_support.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/deobfuscator.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/deobfuscator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/common_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/event_config.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/event_config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/event_reader.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/event_reader.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/main.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/perf_producer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/perf_producer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/proc_descriptors.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/proc_descriptors.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/regs_parsing.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/regs_parsing.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/traced_perf.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/traced_perf.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/unwind_queue.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/unwinding.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/perf/unwinding.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_parser.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_parser.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_symbolizer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_symbolizer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/elf.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/filesystem.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/filesystem_posix.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/filesystem_windows.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/local_symbolizer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/local_symbolizer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/scoped_read_mmap.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/scoped_read_mmap_posix.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/scoped_read_mmap_windows.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/subprocess.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/subprocess_posix.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/subprocess_windows.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/symbolize_database.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/symbolize_database.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/symbolizer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/profiling/symbolizer/symbolizer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/field.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_common.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_generator.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_generator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_parser.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_parser.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_parser_fuzzer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_util.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_util.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter_benchmark.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter_fuzzer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/message_tokenizer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/string_filter.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/string_filter.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/filtering/string_filter_benchmark.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/gen_field_helpers.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/message.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/message_arena.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/packed_repeated_fields.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/proto_decoder.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/proto_decoder_fuzzer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/proto_ring_buffer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/proto_ring_buffer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/protoc_plugin/cppgen_plugin.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/protoc_plugin/protozero_c_plugin.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/protoc_plugin/protozero_plugin.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/scattered_heap_buffer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/scattered_stream_null_delegate.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/scattered_stream_writer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/static_buffer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/protozero/virtual_destructors.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/data_source.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/heap_buffer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/intern_map.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/intern_map.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/pb_decoder.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/producer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/reset_for_testing.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/stream_writer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/stream_writer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/thread_utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/tracing_session.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/shared_lib/track_event.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/tracebox/tracebox.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/deobfuscate_profile.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/deobfuscate_profile.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/lite_fallbacks.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/main.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/pprof_builder.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/proto_full_utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/proto_full_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/symbolize_profile.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/symbolize_profile.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_hprof.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_hprof.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_json.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_json.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_profile.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_profile.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_systrace.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_systrace.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_text.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/trace_to_text.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/utils.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traceconv/utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traced_relay/relay_service.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traced_relay/relay_service.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traced_relay/relay_service_integrationtest.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traced_relay/relay_service_main.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traced_relay/socket_relay_handler.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/traced_relay/socket_relay_handler.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/websocket_bridge/websocket_bridge.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/websocket_bridge/websocket_bridge.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/src/websocket_bridge/websocket_bridge_main.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/traced_perf.rc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/build.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/config/integrationtest_env.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/config/integrationtest_setup.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/config/integrationtest_teardown.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/config/jest.integrationtest.config.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/config/jest.unittest.config.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/config/rollup.config.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/common.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/details.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/flags_page.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/fonts.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/home_page.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/metrics_page.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/modal.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/perfetto.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/query_page.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/record.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/sidebar.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/topbar.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/trace_info_page.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/viz_page.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/anchor.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/button.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/callout.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/checkbox.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/details_shell.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/details_table.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/editor.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/empty_state.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/error.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/form.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/grid_layout.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/hotkey.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/menu.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/multiselect.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/popup.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/section.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/select.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/spinner.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/switch.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/text_input.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/text_paragraph.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/theme.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/timestamp.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/vega_view.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets/virtual_scroll_container.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/assets/widgets_page.scss -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/base/utils/index-browser.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/perfetto/ui/src/base/utils/index.js -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/android_test/test.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/dependency_info.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/dependency_info.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/file.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/file.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/file_compiler.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/file_compiler.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/file_includer.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/file_includer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/file_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/main.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/resource_parse.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/resource_parse.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/resource_parse_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/shader_stage.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/shader_stage.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/glslc/src/stage_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/android-release/continuous_arm.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/android-release/continuous_x86.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/android-release/presubmit_arm.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/android-release/presubmit_x86.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/continuous_clang_asan.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/continuous_clang_debug.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/continuous_clang_release.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/continuous_gcc_debug.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/continuous_gcc_debug_exception.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/continuous_gcc_release.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/continuous_license_check.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/continuous_mingw_release.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_clang_asan.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_clang_debug.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_clang_release.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_gcc_debug.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_gcc_release.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_license_check.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_mingw_release.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/macos/continuous_clang_debug.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/macos/continuous_clang_release.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/macos/presubmit_clang_debug.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/macos/presubmit_clang_release.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/ndk-build/continuous_khronos.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/ndk-build/presubmit_khronos.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/windows/continuous_debug_2017.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/windows/continuous_debug_2019.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/windows/continuous_release_2017.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/windows/continuous_release_2019.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/windows/presubmit_debug_2017.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/windows/presubmit_debug_2019.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/windows/presubmit_release_2017.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/kokoro/windows/presubmit_release_2019.cfg -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/env.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/shaderc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/shaderc.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/status.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/visibility.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/src/common_shaders_for_test.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/src/shaderc.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_c_smoke_test.c -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_cpp_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_private.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_private_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/args.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/compiler.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/counting_includer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/exceptions.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/file_finder.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/format.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/io_shaderc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/message.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/mutex.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/resources.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/resources.inc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/shader_stage.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/spirv_tools_wrapper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/string_piece.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/universal_unistd.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/version_profile.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/args.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/compiler.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/compiler_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/counting_includer_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/death_test.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/file_finder.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/file_finder_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/format_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/io_shaderc.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/io_shaderc_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/message.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/message_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/mutex_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/resources.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/shader_stage.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/spirv_tools_wrapper.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/string_piece_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/version_profile.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/shaderc/libshaderc_util/src/version_profile_test.cc -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/Android.bp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/build/strip_unneeded.go -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/android/sync.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/cutils/native_handle.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/hardware/gralloc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/hardware/gralloc1.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/hardware/hardware.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/nativebase/nativebase.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/sync/sync.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/system/graphics.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/Android/vndk/window.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/include/vulkan/vk_sdk_platform.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Android.bp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/ASTC_Decoder.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/ASTC_Decoder.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/BC_Decoder.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/BC_Decoder.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Blitter.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Blitter.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Clipper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Clipper.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Config.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Context.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Context.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/ETC_Decoder.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/ETC_Decoder.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Memset.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/PixelProcessor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/PixelProcessor.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Polygon.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Primitive.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/QuadRasterizer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/QuadRasterizer.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Rasterizer.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Renderer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Renderer.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/RoutineCache.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Sampler.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/SetupProcessor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/SetupProcessor.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Stream.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/Vertex.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/VertexProcessor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Device/VertexProcessor.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/ComputeProgram.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/ComputeProgram.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/Constants.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/Constants.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/PixelProgram.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/PixelProgram.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/PixelRoutine.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/PixelRoutine.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SamplerCore.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SamplerCore.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SetupRoutine.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SetupRoutine.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/ShaderCore.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/ShaderCore.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvBinary.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvBinary.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvID.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvProfiler.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvProfiler.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShader.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShader.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderArithmetic.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderControlFlow.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderDebug.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderDebugger.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderGLSLstd450.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderGroup.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderImage.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderInstructions.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderMemory.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderSpec.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/VertexProgram.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/VertexProgram.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/VertexRoutine.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Pipeline/VertexRoutine.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Assert.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Assert.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/CPUID.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/CPUID.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Coroutine.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Debug.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Debug.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/ExecutableMemory.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/ExecutableMemory.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/LLVMAsm.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/LLVMAsm.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/LLVMJIT.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/LLVMReactor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/LLVMReactor.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/LLVMReactorDebugInfo.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/LLVMReactorDebugInfo.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Nucleus.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Optimizer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Optimizer.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Pragma.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Pragma.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/PragmaInternals.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Print.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Reactor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Reactor.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/ReactorDebugInfo.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/ReactorDebugInfo.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Routine.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/SIMD.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/SIMD.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/SubzeroReactor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Swizzle.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Traits.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/Traits.inl -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Reactor/x86.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Build.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Build.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/CPUID.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/CPUID.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Configurator.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Configurator.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Debug.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Debug.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Half.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Half.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/LRUCache.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Linux/MemFd.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Linux/MemFd.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Math.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Math.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Memory.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Memory.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/SharedLibrary.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Socket.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Socket.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/SwiftConfig.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/SwiftConfig.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Synchronization.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Timer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Timer.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/System/Types.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Context.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Context.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Debug.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/EventListener.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/EventListener.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/File.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/File.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/ID.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Location.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Server.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Server.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Thread.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Thread.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/TypeOf.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/TypeOf.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Value.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Value.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Variable.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Variable.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/WeakMap.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/Version.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkBuffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkBuffer.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkBufferView.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkBufferView.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkCommandBuffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkCommandBuffer.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkCommandPool.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkCommandPool.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkConfig.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDebugUtilsMessenger.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDebugUtilsMessenger.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorPool.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorPool.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorSet.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorSet.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorSetLayout.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorSetLayout.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorUpdateTemplate.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorUpdateTemplate.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDestroy.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDevice.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDevice.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemory.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemory.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalAndroid.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalAndroid.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalFuchsia.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalHost.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalHost.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalLinux.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalMac.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkEvent.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkFence.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkFormat.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkFormat.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkFramebuffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkFramebuffer.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkGetProcAddress.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkGetProcAddress.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkImage.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkImage.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkImageView.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkImageView.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkInstance.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkInstance.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkMemory.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkMemory.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkObject.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipeline.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipeline.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipelineCache.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipelineCache.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipelineLayout.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipelineLayout.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPrivateData.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkPromotedExtensions.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkQueryPool.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkQueryPool.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkQueue.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkQueue.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkRenderPass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkRenderPass.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkSampler.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkSampler.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkSemaphore.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkSemaphore.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkSemaphoreExternalFuchsia.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkSemaphoreExternalLinux.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkShaderModule.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkShaderModule.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkSpecializationInfo.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkSpecializationInfo.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkStringify.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkStringify.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkStructConversion.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkTimelineSemaphore.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VkTimelineSemaphore.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/VulkanPlatform.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/libVulkan.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/Vulkan/main.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/DirectFBSurfaceEXT.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/DirectFBSurfaceEXT.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/DisplaySurfaceKHR.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/DisplaySurfaceKHR.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/HeadlessSurfaceKHR.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/HeadlessSurfaceKHR.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/MetalSurface.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/MetalSurface.mm -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/VkSurfaceKHR.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/VkSurfaceKHR.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/VkSwapchainKHR.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/VkSwapchainKHR.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/WaylandSurfaceKHR.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/WaylandSurfaceKHR.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/Win32SurfaceKHR.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/Win32SurfaceKHR.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/XcbSurfaceKHR.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/XcbSurfaceKHR.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/libWaylandClient.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/libWaylandClient.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/libXCB.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/swiftshader/src/WSI/libXCB.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/bitutils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/hex_float.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Common.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/HexFloat.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/glslang/src/ndk_test/test.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/VKLayer_monitor.def -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/VkLayer_api_dump.def -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/VkLayer_screenshot.def -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/api_dump.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_html.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_html.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_json.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_json.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_text.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_text.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_video_html.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_video_json.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_video_text.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/monitor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/screenshot.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/screenshot_parsing.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/screenshot_parsing.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/vk_layer_table.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/vk_layer_table.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_bsd.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_bsd.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_linux.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_linux.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_macos.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_macos.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_windows.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_windows.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_doc.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_doc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_layers.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_layers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_reset.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_reset.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/alert.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/alert.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/application_singleton.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/application_singleton.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/bitfield.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/bitfield.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/command_line.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/command_line.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configuration.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configuration.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configuration_manager.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configuration_manager.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurator.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurator_signal.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurator_signal.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/date.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/date.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/doc.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/doc.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/executable.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/executable.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/executable_manager.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/executable_manager.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/header.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/header.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/help.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/help.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/is_dll_32.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/is_dll_32.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/json.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/json.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/json_validator.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/json_validator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer_manager.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer_manager.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer_preset.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer_preset.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/parameter.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/parameter.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/path.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/path.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/registry.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/registry.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/serialization.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_bool.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_bool.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_filesystem.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_filesystem.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_flags.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_flags.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_float.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_float.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_frames.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_frames.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_group.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_group.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_int.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_int.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_list.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_list.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_string.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_string.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_configuration_area.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_configuration_area.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_executable_mode.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_executable_mode.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_hide_message.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_hide_message.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_builtin.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_builtin.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_control.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_control.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_type.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_type.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layers_paths.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layers_paths.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_log.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_log.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_override_area.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_override_area.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_platform.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_platform.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_status.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_status.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_tab.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_tab.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/ui.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/ui.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/util.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/util.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/version.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/version.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/vulkan_util.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/vulkan_util.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/barrier.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/external_interface.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/image.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/internal_interface.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/sampler.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/thread_group.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/main.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cfg.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cfg.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_common.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cpp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cpp.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.natvis -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_c.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_c.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_containers.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_error_handling.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_parsed_ir.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_parsed_ir.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_util.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_util.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_glsl.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_glsl.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_hlsl.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_hlsl.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_msl.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_msl.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_parser.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_parser.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_reflect.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_reflect.hpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/small_vector.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/VkLayer_khronos_validation.def -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/best_practices_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/best_practices_validation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_buffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_cmd_buffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_cmd_buffer_nv.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_copy_blit_resolve.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_descriptor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_device_memory.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_drawdispatch.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_framebuffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_image.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_instance_device.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_pipeline.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_ray_tracing.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_render_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_synchronization.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_video.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_wsi.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/chassis.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/chassis_handle_data.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/chassis_manual.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/chassis_modification_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/dispatch_object.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/dispatch_object_manual.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/validation_object.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/custom_containers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/qfo_transfer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/range_vector.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/subresource_adapter.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/subresource_adapter.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_android.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_buffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_buffer_address.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_cmd_buffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_cmd_buffer_dynamic.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_copy_blit_resolve.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_descriptor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_device.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_device_generated_commands.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_device_memory.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_drawdispatch.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_external_object.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_image.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_image_layout.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_pipeline.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_pipeline_compute.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_pipeline_graphics.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_pipeline_ray_tracing.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_query.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_queue.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_ray_tracing.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_render_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_shader_interface.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_shader_object.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_spirv.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_state_tracker.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_state_tracker.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_submit.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_submit.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_synchronization.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_synchronization.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_video.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_vuid_maps.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_vuid_maps.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_wsi.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_ycbcr.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/core_validation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/drawdispatch/descriptor_validator.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/drawdispatch/descriptor_validator.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/drawdispatch/drawdispatch_vuids.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/drawdispatch/drawdispatch_vuids.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/error_location.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/error_location.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/error_strings.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/log_message_type.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/logging.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/logging.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/record_object.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/spirv_logging.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/spirv_logging.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/unimplementable_validation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vma.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vma.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav_constants.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav_record.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav_settings.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav_setup.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/debug_printf/debug_printf.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/debug_printf/debug_printf.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_descriptor_set.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_descriptor_set.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_descriptor_validation.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_descriptor_validation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_image_layout.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_image_layout.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/error_message/gpuav_vuids.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/error_message/gpuav_vuids.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/instrumentation/gpuav_instrumentation.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/instrumentation/gpuav_instrumentation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/instrumentation/gpuav_shader_instrumentor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/instrumentation/gpuav_shader_instrumentor.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_shader_resources.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_state_trackers.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_state_trackers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_vulkan_objects.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_vulkan_objects.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/gpuav_error_codes.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/gpuav_error_header.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/gpuav_shaders_constants.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/buffer_device_address.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/common_descriptor_sets.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/descriptor_class_general_buffer.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/descriptor_class_texel_buffer.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/descriptor_indexing_oob_bindless.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/descriptor_indexing_oob_non_bindless.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/post_process_descriptor_index.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/ray_query.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/vertex_attribute_fetch_oob.vert -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/common.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/copy_buffer_to_image.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/count_buffer.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/dispatch.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/draw_indexed_indirect_index_buffer.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/draw_mesh_indirect.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/draw_push_data.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/first_instance.comp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/trace_rays.rgen -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/buffer_device_address_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/buffer_device_address_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/debug_printf_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/debug_printf_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_class_general_buffer_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_class_general_buffer_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_class_texel_buffer_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_class_texel_buffer_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_indexing_oob_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_indexing_oob_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/function_basic_block.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/function_basic_block.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/inject_conditional_function_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/inject_conditional_function_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/inject_function_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/inject_function_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/instruction.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/instruction.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/interface.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/link.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/module.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/module.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/post_process_descriptor_indexing.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/post_process_descriptor_indexing.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/post_process_descriptor_indexing_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/post_process_descriptor_indexing_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/ray_query_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/ray_query_pass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/type_manager.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/type_manager.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/vertex_attribute_fetch_oob.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/vertex_attribute_fetch_oob.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_copy_buffer_to_image.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_copy_buffer_to_image.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_dispatch.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_dispatch.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_draw.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_draw.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_trace_rays.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_trace_rays.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_validation_cmd_common.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_validation_cmd_common.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/layer_options.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/layer_options.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/object_tracker/object_lifetime_validation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/object_tracker/object_tracker_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/profiling/profiling.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/profiling/profiling.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/buffer_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/buffer_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/cmd_buffer_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/cmd_buffer_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/descriptor_sets.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/descriptor_sets.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_generated_commands_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_generated_commands_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_memory_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_memory_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/fence_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/fence_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/image_layout_map.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/image_layout_map.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/image_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/image_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_layout_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_layout_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_sub_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_sub_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/query_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/queue_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/queue_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/ray_tracing_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/render_pass_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/render_pass_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/sampler_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/semaphore_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/semaphore_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_instruction.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_instruction.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_module.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_module.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_object_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_object_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_stage_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_stage_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/state_object.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/state_object.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/state_tracker.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/state_tracker.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/submission_reference.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/vertex_index_buffer_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/video_session_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/video_session_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_buffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_cmd_buffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_cmd_buffer_dynamic.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_descriptor.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_device_generated_commands.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_device_memory.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_external_object.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_framebuffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_image.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_instance_device.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_pipeline.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_ray_tracing.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_render_pass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_shader_object.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_synchronization.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_vuid_maps.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_vuid_maps.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_wsi.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/stateless_validation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_access_context.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_access_context.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_access_state.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_access_state.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_commandbuffer.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_commandbuffer.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_common.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_common.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_error_messages.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_error_messages.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_image.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_op.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_op.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_renderpass.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_renderpass.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_reporting.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_reporting.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_settings.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_stats.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_stats.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_submit.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_submit.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_validation.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_validation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_vuid_maps.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_vuid_maps.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/thread_tracker/thread_safety_validation.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/thread_tracker/thread_safety_validation.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/android_ndk_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/cast_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/convert_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/convert_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/hash_util.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/hash_util.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/hash_vk_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/image_layout_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/image_layout_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/ray_tracing_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/ray_tracing_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/shader_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/shader_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_layer_extension_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_layer_extension_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_layer_utils.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_layer_utils.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_struct_compare.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_struct_compare.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_layer_config.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_layer_config.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/best_practices.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/best_practices_device_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/best_practices_instance_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/chassis.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/command_validation.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/device_features.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/device_features.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_functions.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_object.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_object_device_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_object_instance_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_vector.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_vector.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dynamic_state_helper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dynamic_state_helper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/enum_flag_bits.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/error_location_helper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/error_location_helper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/feature_requirements_helper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/feature_requirements_helper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_buffer_device_address_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_buffer_device_address_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_class_general_buffer_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_class_general_buffer_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_class_texel_buffer_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_class_texel_buffer_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_bindless_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_bindless_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_non_bindless_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_non_bindless_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_post_process_descriptor_index_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_post_process_descriptor_index_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_ray_query_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_ray_query_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_vertex_attribute_fetch_oob_vert.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_vertex_attribute_fetch_oob_vert.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/object_tracker.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/object_tracker_device_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/object_tracker_instance_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/pnext_chain_extraction.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/pnext_chain_extraction.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/spirv_grammar_helper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/spirv_grammar_helper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/spirv_tools_commit_id.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/spirv_validation_helper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/stateless_device_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/stateless_instance_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/stateless_validation_helper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/sync_validation_types.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/sync_validation_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/test_icd_helper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/thread_safety.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/thread_safety_device_defs.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/thread_safety_instance_defs.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/valid_enum_values.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/valid_enum_values.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/valid_flag_values.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_copy_buffer_to_image_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_copy_buffer_to_image_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_count_buffer_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_count_buffer_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_dispatch_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_dispatch_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_draw_indexed_indirect_index_buffer_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_draw_indexed_indirect_index_buffer_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_draw_mesh_indirect_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_draw_mesh_indirect_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_first_instance_comp.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_first_instance_comp.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_trace_rays_rgen.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_trace_rays_rgen.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_object.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_object_methods.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_api_version.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_dispatch_table_helper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_dispatch_table_helper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_extension_helper.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_extension_helper.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_function_pointers.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_function_pointers.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_layer_dispatch_table.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_object_types.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_object_types.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_validation_error_messages.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/MODULE.bazel -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/WORKSPACE.bzlmod -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/algorithm/algorithm.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/algorithm/container.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/attributes.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/call_once.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/casts.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/config.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/const_init.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/dynamic_annotations.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/inline_variable_test_a.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/inline_variable_test_b.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/atomic_hook.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/cycleclock.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/cycleclock.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/direct_mmap.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/endian.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/errno_saver.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/exception_testing.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/fast_type_id.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/hide_ptr.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/identity.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/inline_variable.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/inline_variable_testing.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/invoke.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/nullability_impl.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/pretty_function.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/raw_logging.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/raw_logging.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/scoped_set_env.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/scoped_set_env.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/strerror.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/strerror.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/strerror_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/sysinfo.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/sysinfo.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/thread_identity.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/thread_identity.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/throw_delegate.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/unaligned_access.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/log_severity.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/log_severity.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/macros.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/no_destructor.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/no_destructor_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/nullability.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/optimization.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/options.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/policy_checks.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/port.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/prefetch.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/spinlock_test_common.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/base/thread_annotations.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/cleanup/cleanup.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/btree_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/btree_map.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/btree_set.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/fixed_array.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/fixed_array_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/flat_hash_map.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/flat_hash_set.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/inlined_vector.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/inlined_vector_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/btree.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/btree_container.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/common.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/container_memory.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_policy_testing.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtable_debug.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/inlined_vector.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/layout.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/layout_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/test_allocator.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/internal/tracked.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/node_hash_map.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/container/node_hash_set.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/crc32c.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/crc32c.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/crc32c_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc32c.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/failure_signal_handler.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/demangle.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/demangle.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/symbolize.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/leak_check.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/leak_check.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/stacktrace.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/stacktrace.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/stacktrace_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/commandlineflag.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/commandlineflag.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/config.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/declare.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/flag.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/flag.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/flag_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/flag_test_defs.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/flag.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/flag.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/parse.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/path_util.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/program_name.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/program_name.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/registry.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/usage.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/internal/usage.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/marshalling.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/marshalling.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/parse.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/parse.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/reflection.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/reflection.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/usage.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/usage.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/usage_config.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/flags/usage_config.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/functional/any_invocable.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/functional/bind_front.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/functional/function_ref.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/functional/function_type_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/functional/internal/any_invocable.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/functional/internal/front_binder.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/functional/internal/function_ref.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/functional/overload.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/hash.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/hash_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/hash_testing.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/internal/city.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/internal/city.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/internal/hash.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/internal/hash.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/internal/print_hash_of.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/hash/internal/spy_hash_state.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/absl_check.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/absl_log.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/check.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/check_test_impl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/die_if_null.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/die_if_null.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/flags.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/flags.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/globals.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/globals.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/initialize.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/initialize.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/append_truncated.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/check_impl.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/check_op.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/check_op.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/conditions.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/conditions.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/config.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/flags.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/fnmatch.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/fnmatch.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/globals.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/globals.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_format.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_format.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_impl.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_message.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_message.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_sink_set.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/nullguard.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/nullguard.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/nullstream.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/proto.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/proto.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/strip.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/structured.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_actions.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_actions.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_helpers.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_helpers.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_matchers.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_matchers.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/vlog_config.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/vlog_config.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/internal/voidify.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log_basic_test_impl.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log_entry.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log_entry.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log_sink.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log_sink.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log_sink_registry.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/log_streamer.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/scoped_mock_log.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/scoped_mock_log.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/structured.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/log/vlog_is_on.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/memory/memory.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/meta/type_traits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/bits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/bits_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/int128.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/int128.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/int128_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/internal/bits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/numeric/internal/representation.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/benchmarks.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/bernoulli_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/beta_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/bit_gen_ref.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/discrete_distribution.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/discrete_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/distributions.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/exponential_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/gaussian_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/chi_square.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/chi_square.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/distribution_caller.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/distribution_test_util.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/distribution_test_util.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/fastmath.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/generate_real.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/mock_helpers.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/mock_overload_set.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/nanobenchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/nanobenchmark.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/pcg_engine.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/platform.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/pool_urbg.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_benchmarks.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_detect.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_detect.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_engine.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_slow.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_slow.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_traits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/seed_material.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/seed_material.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/sequence_urbg.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/traits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/uniform_helper.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/internal/wide_multiply.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/mock_distributions.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/mocking_bit_gen.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/poisson_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/random.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/seed_gen_exception.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/seed_gen_exception.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/seed_sequences.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/seed_sequences.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/uniform_int_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/uniform_real_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/random/zipf_distribution.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/internal/status_internal.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/internal/status_internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/internal/statusor_internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/status.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/status.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/status_payload_printer.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/status_payload_printer.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/statusor.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/status/statusor.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/ascii.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/ascii.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/ascii_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/charconv.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/charconv.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/charconv_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/charset.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/charset_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/cord.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/cord.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/cord_analysis.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/cord_analysis.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/cord_buffer.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/cord_buffer.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/cord_test_helpers.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/cordz_test_helpers.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/escaping.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/escaping.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/escaping_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/has_absl_stringify.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/has_ostream_operator.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_test_util.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_info.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/escaping.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/escaping.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/escaping_test_common.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/memutil.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/memutil.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/memutil_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/numbers_test_common.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/ostringstream.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/pow10_helper.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/pow10_helper.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/output.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/string_constant.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/utf8.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/internal/utf8.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/match.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/match.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/numbers.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/numbers.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/numbers_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_cat.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_cat.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_cat_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_format.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_join.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_join_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_replace.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_replace.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_replace_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_split.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_split.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/str_split_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/string_view.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/string_view.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/string_view_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/strip.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/substitute.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/strings/substitute.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/barrier.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/barrier.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/blocking_counter.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/futex.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/thread_pool.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/waiter.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/mutex.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/mutex.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/mutex_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/notification.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/synchronization/notification.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/civil_time.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/civil_time.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/civil_time_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/clock.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/clock.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/clock_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/duration.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/duration_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/format.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/format_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/test_util.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/internal/test_util.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/time.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/time.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/time/time_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/any.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/bad_any_cast.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/bad_any_cast.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/bad_optional_access.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/bad_optional_access.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/bad_variant_access.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/bad_variant_access.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/compare.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/internal/optional.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/internal/span.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/internal/variant.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/optional.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/span.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/variant.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/types/variant_benchmark.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/utility/internal/if_constexpr.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/absl/utility/utility.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/abseil-cpp/ci/absl_alternate_options.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/MODULE.bazel -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/aes/aes.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_bitstr.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_bool.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_d2i_fp.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_dup.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_gentm.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_i2d_fp.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_int.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_mbstr.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_object.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_octet.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_strex.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_strnid.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_time.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_type.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/a_utctm.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/asn1_lib.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/asn1_par.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/asn_pack.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/f_int.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/f_string.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/posix_time.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_dec.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_enc.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_fre.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_new.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_typ.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_utl.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/base64/base64.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bcm_support.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/bio.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/bio_mem.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/connect.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/errno.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/fd.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/file.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/hexdump.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/pair.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/printf.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/socket.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bio/socket_helper.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/blake2/blake2.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/blake2/blake2b256_tests.txt -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bn/bn_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bn/convert.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bn/div.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bn/exponentiation.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bn/sqrt.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/buf/buf.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bytestring/asn1_compat.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bytestring/ber.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bytestring/cbb.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bytestring/cbs.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bytestring/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/bytestring/unicode.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/chacha/chacha.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/chacha/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/derive_key.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_aesctrhmac.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_aeseax.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_aesgcmsiv.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_chacha20poly1305.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_des.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_null.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_rc2.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_rc4.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/e_tls.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/get_cipher.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cipher/tls_cbc.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cms/cms.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/conf/conf.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/conf/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_apple.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_fuchsia.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_linux.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_openbsd.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_sysreg.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_win.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_arm_freebsd.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_arm_linux.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_arm_linux.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/cpu_intel.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/crypto.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/curve25519/asm/x25519-asm-arm.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/curve25519/curve25519.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/curve25519/curve25519_64_adx.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/curve25519/curve25519_tables.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/curve25519/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/curve25519/spake25519.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/des/des.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/des/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/dh/dh_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/dh/params.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/digest/digest_extra.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/dsa/dsa.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/dsa/dsa_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/dsa/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/ec/ec_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/ec/ec_derive.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/ec/hash_to_curve.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/ec/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/ecdh/ecdh.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/ecdsa/ecdsa_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/ecdsa/ecdsa_p1363.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/engine/engine.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/err/err.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/err/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/evp.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/evp_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/evp_ctx.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_dh.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_dh_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_dsa_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_ec.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_ec_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_ed25519.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_ed25519_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_hkdf.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_rsa.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_rsa_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_x25519.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/p_x25519_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/pbkdf.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/print.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/scrypt.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/scrypt_tests.txt -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/evp/sign.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/ex_data.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/aes.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/aes_nohw.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/cbc.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/cfb.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/ctr.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_nohw.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/ofb.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bcm.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bcm_interface.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/add.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/bytes.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/cmp.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/ctx.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/div.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/div_extra.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/exponentiation.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/gcd.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/gcd_extra.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/generic.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/jacobi.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/montgomery.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/mul.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/prime.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/random.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/rsaz_exp.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/shift.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/sqrt.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/aead.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/cipher.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cmac/cmac.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/delocate.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/dh/check.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/dh/dh.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/dh/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digest/digest.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digest/digests.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digest/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digest/md32_common.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digestsign/digestsign.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/builtin_curves.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/ec.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/ec_key.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/felem.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/oct.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p224-64.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz-table.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256_table.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/scalar.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/simple.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/simple_mul.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/util.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/wnaf.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdh/ecdh.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdsa/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/fips_shared_support.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/hkdf/hkdf.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/hmac/hmac.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/keccak/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/keccak/keccak.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/mldsa/mldsa.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/mlkem/mlkem.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rand/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/blinding.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/padding.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/rsa.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/self_check/fips.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/self_check/self_check.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/service_indicator/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/sha256.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/sha512.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/address.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/fors.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/fors.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/merkle.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/merkle.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/params.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/thash.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/thash.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/wots.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/wots.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/tls/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/tls/kdf.cc.inc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/fuzzer_mode.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/hpke/hpke.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/hrss/asm/poly_rq_mul.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/hrss/hrss.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/hrss/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/kyber/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/kyber/kyber.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/lhash/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/lhash/lhash.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/md4/md4.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/md5/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/md5/md5.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/mem.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/mem_internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/mldsa/mldsa.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/obj/obj.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/obj/obj_dat.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/obj/obj_xref.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/obj/objects.go -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/pem_all.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/pem_info.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/pem_lib.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/pem_oth.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/pem_pk8.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/pem_pkey.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/pem_x509.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pem/pem_xaux.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pkcs7/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pkcs7/pkcs7.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pkcs7/pkcs7_x509.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pkcs8/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pkcs8/p5_pbev2.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pkcs8/pkcs8.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pkcs8/pkcs8_x509.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/poly1305/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305_arm.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305_vec.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pool/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/pool/pool.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/deterministic.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/fork_detect.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/forkunsafe.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/getentropy.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/getrandom_fillin.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/ios.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/passive.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/rand.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/trusty.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/urandom.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rand/windows.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rc4/rc4.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/refcount.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rsa/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_crypt.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_extra.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_print.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/sha/sha1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/sha/sha256.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/sha/sha512.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/siphash/siphash.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/slhdsa/slhdsa.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/spake2plus/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/spake2plus/spake2plus.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/stack/stack.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/thread.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/thread_none.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/thread_pthread.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/thread_win.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/trust_token/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/trust_token/pmbtoken.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/trust_token/trust_token.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/trust_token/voprf.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/a_digest.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/a_sign.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/a_verify.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/algorithm.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/asn1_gen.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/by_dir.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/by_file.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/i2d_pr.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/name_print.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/policy.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/rsa_pss.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/t_crl.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/t_req.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/t_x509.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/t_x509a.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_akey.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_akeya.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_alt.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_bcons.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_bitst.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_conf.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_cpols.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_crld.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_enum.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_extku.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_genn.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_ia5.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_info.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_int.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_lib.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_ncons.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_ocsp.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_pcons.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_pmaps.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_prn.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_purp.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_skey.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/v3_utl.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_att.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_cmp.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_d2.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_def.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_ext.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_lu.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_obj.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_req.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_set.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_trs.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_txt.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_v3.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_vfy.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509_vpm.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509cset.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509name.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509rset.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x509spki.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_algor.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_all.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_attrib.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_crl.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_exten.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_name.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_pubkey.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_req.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_sig.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_spki.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_val.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_x509.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/x509/x_x509a.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/crypto/xwing/xwing.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/bio/base64_bio.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/blowfish/blowfish.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/cast/cast.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/cast/cast_tables.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/cast/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/cfb/cfb.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/des/cfb64ede.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/dh/dh_decrepit.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/dsa/dsa_decrepit.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/evp/dss1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/evp/evp_do_all.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/macros.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/obj/obj_decrepit.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/rc4/rc4_decrepit.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/ripemd/ripemd.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/rsa/rsa_decrepit.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/ssl/ssl_decrepit.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/x509/x509_decrepit.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/decrepit/xts/xts.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/bsaes-armv7-linux.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-armv4-linux.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-armv8-apple.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-armv8-linux.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-armv8-win.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-armv4-linux.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-armv8-apple.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-armv8-linux.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-armv8-win.S -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/gen/crypto/err_data.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/aead.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/aes.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/arm_arch.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/asm_base.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/asn1.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/asn1_mac.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/asn1t.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/base.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/base64.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/bcm_public.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/bio.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/blake2.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/blowfish.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/bn.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/buf.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/buffer.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/bytestring.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/cast.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/chacha.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/cipher.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/cmac.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/cms.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/conf.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/cpu.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/crypto.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ctrdrbg.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/curve25519.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/des.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/dh.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/digest.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/dsa.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/dtls1.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/e_os2.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ec.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ec_key.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ecdh.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ecdsa.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/engine.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/err.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/evp.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/evp_errors.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ex_data.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/experimental/kyber.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/hkdf.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/hmac.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/hpke.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/hrss.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/is_boringssl.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/kdf.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/lhash.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/md4.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/md5.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/mem.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/mldsa.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/mlkem.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/nid.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/obj.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/obj_mac.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/objects.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/opensslconf.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/opensslv.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ossl_typ.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pem.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pkcs12.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pkcs7.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pkcs8.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pki/certificate.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pki/ocsp.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pki/signature_verify_cache.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pki/verify_error.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/poly1305.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/pool.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/posix_time.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/rand.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/rc4.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ripemd.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/rsa.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/safestack.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/service_indicator.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/sha.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/siphash.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/slhdsa.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/span.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/srtp.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ssl.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/ssl3.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/stack.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/target.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/thread.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/time.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/tls1.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/trust_token.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/type_check.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/x509.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/x509_vfy.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/x509v3.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/x509v3_errors.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/include/openssl/xwing.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_error_id.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_error_id.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_error_params.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_error_params.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_errors.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_errors.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_issuer_source.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_issuer_source_static.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/cert_issuer_source_static.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/certificate.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/certificate_policies.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/certificate_policies.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/common_cert_errors.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/common_cert_errors.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/crl.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/crl.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/encode_values.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/encode_values.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/extended_key_usage.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/extended_key_usage.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/general_names.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/general_names.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/input.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/input.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/ip_util.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/ip_util.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/mock_signature_verify_cache.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/mock_signature_verify_cache.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/name_constraints.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/name_constraints.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/ocsp.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/ocsp.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parse_certificate.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parse_certificate.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parse_name.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parse_name.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parse_values.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parse_values.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parsed_certificate.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parsed_certificate.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parser.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/parser.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/path_builder.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/path_builder.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/pem.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/pem.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/revocation_util.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/revocation_util.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/signature_algorithm.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/signature_algorithm.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/simple_path_builder_delegate.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/simple_path_builder_delegate.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/string_util.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/string_util.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/test_helpers.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/test_helpers.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/trust_store.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/trust_store.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/trust_store_collection.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/trust_store_collection.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/trust_store_in_memory.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/trust_store_in_memory.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/verify.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/verify_certificate_chain.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/verify_certificate_chain.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/verify_error.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/verify_name_match.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/verify_name_match.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/verify_signed_data.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/pki/verify_signed_data.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/bio_ssl.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/d1_both.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/d1_lib.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/d1_pkt.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/d1_srtp.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/dtls_method.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/dtls_record.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/encrypted_client_hello.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/extensions.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/handoff.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/handshake.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/handshake_client.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/handshake_server.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/s3_both.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/s3_lib.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/s3_pkt.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_aead_ctx.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_asn1.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_buffer.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_cert.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_cipher.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_credential.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_file.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_key_share.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_lib.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_privkey.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_session.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_stat.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_transcript.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_versions.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/ssl_x509.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/t1_enc.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/tls13_both.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/tls13_client.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/tls13_enc.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/tls13_server.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/tls_method.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/ssl/tls_record.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/args.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/ciphers.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/client.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/const.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/digest.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/fd.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/file.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/generate_ech.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/generate_ed25519.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/genrsa.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/internal.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/pkcs12.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/rand.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/server.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/sign.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/speed.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/tool.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/transport_common.cc -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/boringssl/src/tool/transport_common.h -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/expat/expat/fuzz/xml_parse_fuzzer.c -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/expat/expat/fuzz/xml_parsebuffer_fuzzer.c -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/wuffs/release/c/wuffs-v0.2.c -ORIGIN: https://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/wuffs/release/c/wuffs-v0.3.c -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/abseil-cpp/MODULE.bazel -FILE: ../../../flutter/third_party/abseil-cpp/WORKSPACE.bzlmod -FILE: ../../../flutter/third_party/abseil-cpp/absl/algorithm/algorithm.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/algorithm/container.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/attributes.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/call_once.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/casts.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/config.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/const_init.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/dynamic_annotations.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/inline_variable_test_a.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/inline_variable_test_b.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/atomic_hook.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/cycleclock.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/cycleclock.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/direct_mmap.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/endian.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/errno_saver.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/exception_safety_testing.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/exception_testing.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/fast_type_id.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/hide_ptr.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/identity.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/inline_variable.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/inline_variable_testing.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/invoke.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/nullability_impl.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/pretty_function.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/raw_logging.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/raw_logging.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/scoped_set_env.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/scoped_set_env.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/strerror.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/strerror.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/strerror_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/sysinfo.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/sysinfo.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/thread_identity.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/thread_identity.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/throw_delegate.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/unaligned_access.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/log_severity.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/log_severity.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/macros.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/no_destructor.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/no_destructor_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/nullability.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/optimization.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/options.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/policy_checks.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/port.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/prefetch.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/spinlock_test_common.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/base/thread_annotations.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/cleanup/cleanup.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/btree_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/btree_map.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/btree_set.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/fixed_array.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/fixed_array_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/flat_hash_map.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/flat_hash_set.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/inlined_vector.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/inlined_vector_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/btree.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/btree_container.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/common.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/container_memory.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_generator_testing.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_policy_testing.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtable_debug.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/inlined_vector.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/layout.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/layout_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/test_allocator.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/test_instance_tracker.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/internal/tracked.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/node_hash_map.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/container/node_hash_set.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/crc32c.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/crc32c.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/crc32c_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc32c.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_internal.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/failure_signal_handler.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/demangle.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/demangle.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stack_consumption.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/symbolize.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/leak_check.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/leak_check.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/stacktrace.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/stacktrace.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/stacktrace_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/commandlineflag.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/commandlineflag.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/config.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/declare.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/flag.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/flag.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/flag_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/flag_test_defs.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/flag.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/flag.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/parse.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/path_util.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/program_name.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/program_name.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/registry.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/usage.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/internal/usage.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/marshalling.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/marshalling.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/parse.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/parse.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/reflection.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/reflection.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/usage.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/usage.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/usage_config.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/usage_config.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/functional/any_invocable.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/functional/bind_front.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/functional/function_ref.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/functional/function_type_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/functional/internal/any_invocable.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/functional/internal/front_binder.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/functional/internal/function_ref.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/functional/overload.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/hash.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/hash_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/hash_testing.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/internal/city.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/internal/city.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/internal/hash.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/internal/hash.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/internal/print_hash_of.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/hash/internal/spy_hash_state.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/absl_check.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/absl_log.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/check.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/check_test_impl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/die_if_null.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/die_if_null.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/flags.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/flags.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/globals.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/globals.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/initialize.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/initialize.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/append_truncated.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/check_impl.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/check_op.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/check_op.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/conditions.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/conditions.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/config.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/flags.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/fnmatch.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/fnmatch.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/globals.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/globals.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_format.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_format.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_impl.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_message.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_message.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/log_sink_set.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/nullguard.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/nullguard.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/nullstream.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/proto.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/proto.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/strip.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/structured.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_actions.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_actions.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_helpers.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_helpers.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_matchers.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/test_matchers.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/vlog_config.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/vlog_config.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/internal/voidify.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log_basic_test_impl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log_entry.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log_entry.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log_sink.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log_sink.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log_sink_registry.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/log_streamer.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/scoped_mock_log.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/scoped_mock_log.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/structured.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/log/vlog_is_on.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/memory/memory.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/meta/type_traits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/bits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/bits_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/int128.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/int128.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/int128_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/internal/bits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/numeric/internal/representation.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/benchmarks.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/bernoulli_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/beta_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/bit_gen_ref.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/discrete_distribution.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/discrete_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/distributions.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/exponential_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/gaussian_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/chi_square.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/chi_square.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/distribution_caller.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/distribution_test_util.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/distribution_test_util.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/explicit_seed_seq.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/fastmath.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/generate_real.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/mock_helpers.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/mock_overload_set.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/nanobenchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/nanobenchmark.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/pcg_engine.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/platform.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/pool_urbg.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_benchmarks.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_detect.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_detect.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_engine.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_slow.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_slow.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/randen_traits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/seed_material.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/seed_material.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/sequence_urbg.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/traits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/uniform_helper.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/internal/wide_multiply.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/mock_distributions.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/mocking_bit_gen.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/poisson_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/random.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/seed_gen_exception.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/seed_gen_exception.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/seed_sequences.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/seed_sequences.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/uniform_int_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/uniform_real_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/zipf_distribution.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/internal/status_internal.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/internal/status_internal.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/internal/statusor_internal.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/status.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/status.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/status_payload_printer.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/status_payload_printer.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/statusor.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/status/statusor.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/ascii.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/ascii.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/ascii_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/charconv.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/charconv.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/charconv_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/charset.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/charset_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/cord.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/cord.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/cord_analysis.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/cord_analysis.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/cord_buffer.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/cord_buffer.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/cord_test_helpers.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/cordz_test_helpers.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/escaping.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/escaping.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/escaping_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/has_absl_stringify.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/has_ostream_operator.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_internal.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cord_rep_test_util.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_info.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/escaping.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/escaping.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/escaping_test_common.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/memutil.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/memutil.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/memutil_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/numbers_test_common.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/ostringstream.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/pow10_helper.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/pow10_helper.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/output.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/string_constant.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/utf8.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/internal/utf8.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/match.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/match.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/numbers.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/numbers.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/numbers_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_cat.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_cat.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_cat_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_format.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_join.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_join_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_replace.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_replace.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_replace_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_split.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_split.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/str_split_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/string_view.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/string_view.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/string_view_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/strip.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/substitute.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/strings/substitute.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/barrier.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/barrier.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/blocking_counter.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/futex.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/thread_pool.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/waiter.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/mutex.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/mutex.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/mutex_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/notification.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/synchronization/notification.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/civil_time.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/civil_time.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/civil_time_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/clock.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/clock.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/clock_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/duration.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/duration_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/format.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/format_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/test_util.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/test_util.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/time.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/time.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/time_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/any.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/bad_any_cast.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/bad_any_cast.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/bad_optional_access.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/bad_optional_access.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/bad_variant_access.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/bad_variant_access.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/compare.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/internal/optional.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/internal/span.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/internal/variant.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/optional.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/span.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/variant.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/types/variant_benchmark.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/utility/internal/if_constexpr.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/utility/utility.h -FILE: ../../../flutter/third_party/abseil-cpp/ci/absl_alternate_options.h -FILE: ../../../flutter/third_party/angle/include/CL/cl.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_d3d10.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_d3d11.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_dx9_media_sharing.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_dx9_media_sharing_intel.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_egl.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_ext.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_ext_intel.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_gl.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_gl_ext.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_half.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_icd.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_layer.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_platform.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_va_api_media_sharing_intel.h -FILE: ../../../flutter/third_party/angle/include/CL/cl_version.h -FILE: ../../../flutter/third_party/angle/include/CL/opencl.h -FILE: ../../../flutter/third_party/angle/include/EGL/egl.h -FILE: ../../../flutter/third_party/angle/include/EGL/eglext.h -FILE: ../../../flutter/third_party/angle/include/EGL/eglplatform.h -FILE: ../../../flutter/third_party/angle/include/GLES/egl.h -FILE: ../../../flutter/third_party/angle/include/GLES/glplatform.h -FILE: ../../../flutter/third_party/angle/include/GLES2/gl2platform.h -FILE: ../../../flutter/third_party/angle/include/GLES3/gl3platform.h -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/layout/fragment.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-af/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-am/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ar/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-as/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-az/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-b+sr+Latn/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-be/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-bg/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-bn/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-bs/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ca/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-cs/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-da/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-de/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-el/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rAU/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rCA/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rGB/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rIN/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-en-rXC/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-es-rUS/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-es/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-et/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-eu/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-fa/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-fi/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-fr-rCA/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-fr/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-gl/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-gu/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-hi/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-hr/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-hu/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-hy/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-in/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-is/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-it/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-iw/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ja/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ka/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-kk/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-km/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-kn/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ko/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ky/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-lo/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-lt/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-lv/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-mk/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ml/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-mn/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-mr/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ms/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-my/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-nb/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ne/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-nl/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-or/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-pa/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-pl/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-pt-rPT/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-pt/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ro/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ru/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-si/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-sk/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-sl/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-sq/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-sr/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-sv/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-sw/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ta/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-te/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-th/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-tl/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-tr/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-uk/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-ur/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-uz/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-vi/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-zh-rCN/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-zh-rHK/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-zh-rTW/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-zu/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values/dimens.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values/drivers.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values/global_settings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values/intents.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values/preference_keys.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values/strings.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/xml/main.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/AndroidManifest.xml -FILE: ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/EmptyMainActivity.java -FILE: ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/MainActivity.java -FILE: ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/common/GlobalSettings.java -FILE: ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/common/MainFragment.java -FILE: ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/common/Receiver.java -FILE: ../../../flutter/third_party/angle/src/android_system_settings/src/com/android/angle/common/SearchProvider.java -FILE: ../../../flutter/third_party/angle/src/common/vulkan/vk_google_filtering_precision.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Overlay_font_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/overlay/RobotoMono-Bold.ttf -FILE: ../../../flutter/third_party/boringssl/src/.bazelignore -FILE: ../../../flutter/third_party/boringssl/src/.bcr/metadata.template.json -FILE: ../../../flutter/third_party/boringssl/src/.bcr/presubmit.yml -FILE: ../../../flutter/third_party/boringssl/src/.bcr/source.template.json -FILE: ../../../flutter/third_party/boringssl/src/MODULE.bazel -FILE: ../../../flutter/third_party/boringssl/src/MODULE.bazel.lock -FILE: ../../../flutter/third_party/boringssl/src/PrivacyInfo.xcprivacy -FILE: ../../../flutter/third_party/boringssl/src/build.json -FILE: ../../../flutter/third_party/boringssl/src/crypto/aes/aes.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_bitstr.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_bool.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_d2i_fp.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_dup.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_gentm.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_i2d_fp.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_int.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_mbstr.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_object.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_octet.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_strex.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_strnid.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_time.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_type.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/a_utctm.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/asn1_lib.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/asn1_par.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/asn_pack.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/f_int.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/f_string.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/posix_time.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_dec.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_enc.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_fre.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_new.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_typ.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/asn1/tasn_utl.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/base64/base64.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bcm_support.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/bio.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/bio_mem.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/connect.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/errno.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/fd.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/file.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/hexdump.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/pair.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/printf.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/socket.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bio/socket_helper.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/blake2/blake2.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/blake2/blake2b256_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/bn/bn_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bn/convert.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bn/div.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bn/exponentiation.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bn/sqrt.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/buf/buf.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bytestring/asn1_compat.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bytestring/ber.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bytestring/cbb.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bytestring/cbs.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/bytestring/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/bytestring/unicode.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/chacha/chacha.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/chacha/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/derive_key.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_aesctrhmac.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_aeseax.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_aesgcmsiv.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_chacha20poly1305.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_des.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_null.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_rc2.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_rc4.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/e_tls.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/get_cipher.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/cipher/tls_cbc.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cms/cms.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/conf/conf.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/conf/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_apple.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_fuchsia.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_linux.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_openbsd.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_sysreg.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_aarch64_win.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_arm_freebsd.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_arm_linux.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_arm_linux.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/cpu_intel.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/crypto.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/curve25519/asm/x25519-asm-arm.S -FILE: ../../../flutter/third_party/boringssl/src/crypto/curve25519/curve25519.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/curve25519/curve25519_64_adx.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/curve25519/curve25519_tables.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/curve25519/ed25519_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/curve25519/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/curve25519/spake25519.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/des/des.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/des/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/dh/dh_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/dh/params.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/digest/digest_extra.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/dsa/dsa.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/dsa/dsa_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/dsa/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/ec/ec_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/ec/ec_derive.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/ec/hash_to_curve.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/ec/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/ecdh/ecdh.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/ecdh/ecdh_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/ecdsa/ecdsa_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/ecdsa/ecdsa_p1363.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/engine/engine.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/asn1.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/bio.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/bn.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/cipher.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/cms.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/conf.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/dh.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/digest.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/dsa.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/ec.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/ecdh.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/ecdsa.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/engine.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/err.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/evp.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/hkdf.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/obj.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/pem.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/pkcs7.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/pkcs8.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/rsa.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/ssl.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/trust_token.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/x509.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/err/x509v3.errordata -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/evp.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/evp_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/evp_ctx.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/evp_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_dh.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_dh_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_dsa_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_ec.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_ec_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_ed25519.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_ed25519_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_hkdf.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_rsa.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_rsa_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_x25519.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/p_x25519_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/pbkdf.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/print.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/scrypt.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/scrypt_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/evp/sign.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/ex_data.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/aes.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/aes_nohw.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/aes_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/cbc.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/cfb.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/ctr.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_nohw.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/key_wrap.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/mode_wrappers.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/aes/ofb.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bcm.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bcm_interface.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/add.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/bytes.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/cmp.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/ctx.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/div.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/div_extra.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/exponentiation.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/gcd.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/gcd_extra.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/generic.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/jacobi.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/montgomery.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/montgomery_inv.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/mul.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/prime.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/random.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/rsaz_exp.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/rsaz_exp.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/shift.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/bn/sqrt.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/aead.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/cipher.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aesccm.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cipher/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cmac/cavp_3des_cmac_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cmac/cavp_aes128_cmac_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cmac/cavp_aes192_cmac_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cmac/cavp_aes256_cmac_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/cmac/cmac.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/delocate.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/dh/check.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/dh/dh.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/dh/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digest/digest.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digest/digests.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digest/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digest/md32_common.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/digestsign/digestsign.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/builtin_curves.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/ec.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/ec_key.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/ec_montgomery.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/ec_scalar_base_mult_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/felem.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/oct.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p224-64.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz-table.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256-nistz_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/p256_table.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/scalar.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/simple.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/simple_mul.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/util.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ec/wnaf.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdh/ecdh.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa_sign_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdsa/ecdsa_verify_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/ecdsa/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/fips_shared.lds -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/fips_shared_support.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/hkdf/hkdf.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/hmac/hmac.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/intcheck1.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/intcheck2.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/intcheck3.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/keccak/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/keccak/keccak.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/keccak/keccak_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/mldsa/fips_known_values.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/mldsa/mldsa.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/mlkem/fips_known_values.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/mlkem/mlkem.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/[Content_Types].xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/_rels/.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/customXml/_rels/item1.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/customXml/item1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/customXml/itemProps1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/docProps/app.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/docProps/core.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/_rels/document.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/document.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/endnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/fontTable.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/footer1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/footer2.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/footer3.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/footnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/header1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/header2.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/header3.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/media/image1.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/media/image2.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/numbering.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/settings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/styles.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/theme/theme1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20191020.docx!/word/webSettings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/[Content_Types].xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/_rels/.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/customXml/_rels/item1.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/customXml/item1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/customXml/itemProps1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/docProps/app.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/docProps/core.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/_rels/document.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/document.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/endnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/fontTable.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/footer1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/footnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/media/image1.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/media/image2.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/numbering.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/settings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/styles.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/theme/theme1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Android-Security-Policy-20210319.docx!/word/webSettings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/[Content_Types].xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/_rels/.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/customXml/_rels/item1.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/customXml/item1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/customXml/itemProps1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/docProps/app.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/docProps/core.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/docProps/thumbnail.emf -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/_rels/document.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/document.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/endnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/fontTable.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/footer1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/footnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/media/image1.jpeg -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/media/image2.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/numbering.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/settings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/styles.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/theme/theme1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20170615.docx!/word/webSettings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/[Content_Types].xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/_rels/.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/customXml/_rels/item1.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/customXml/item1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/customXml/itemProps1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/docProps/app.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/docProps/core.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/docProps/thumbnail.emf -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/_rels/document.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/document.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/endnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/fontTable.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/footer1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/footer2.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/footer3.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/footnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/header1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/header2.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/header3.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/media/image1.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/media/image2.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/numbering.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/settings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/styles.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/theme/theme1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20180730.docx!/word/webSettings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/[Content_Types].xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/_rels/.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/customXml/_rels/item1.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/customXml/item1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/customXml/itemProps1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/docProps/app.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/docProps/core.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/_rels/document.xml.rels -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/document.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/endnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/fontTable.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/footer1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/footnotes.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/media/image1.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/media/image2.png -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/numbering.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/settings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/styles.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/theme/theme1.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/policydocs/BoringCrypto-Security-Policy-20190808.docx!/word/webSettings.xml -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rand/ctrdrbg_vectors.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rand/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/blinding.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/padding.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/rsa.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/rsa/rsa_impl.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/self_check/fips.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/self_check/self_check.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/service_indicator/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/service_indicator/service_indicator.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/sha256.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/sha/sha512.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/address.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/fips_known_values.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/fors.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/fors.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/merkle.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/merkle.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/params.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/slhdsa.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/thash.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/thash.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/wots.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/slhdsa/wots.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/tls/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/fipsmodule/tls/kdf.cc.inc -FILE: ../../../flutter/third_party/boringssl/src/crypto/fuzzer_mode.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/hmac/hmac_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/hpke/hpke.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/hpke/hpke_test_vectors.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/hpke/test-vectors.json -FILE: ../../../flutter/third_party/boringssl/src/crypto/hrss/asm/poly_rq_mul.S -FILE: ../../../flutter/third_party/boringssl/src/crypto/hrss/hrss.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/hrss/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/kyber/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/kyber/kyber.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/kyber/kyber_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/lhash/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/lhash/lhash.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/md4/md4.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/md5/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/md5/md5.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/mem.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/mem_internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/mldsa/mldsa.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/mldsa/mldsa_nist_keygen_65_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mldsa/mldsa_nist_keygen_87_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mldsa/mldsa_nist_siggen_65_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mldsa/mldsa_nist_siggen_87_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem1024_decap_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem1024_encap_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem1024_keygen_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem1024_nist_decap_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem1024_nist_keygen_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem768_decap_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem768_encap_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem768_keygen_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem768_nist_decap_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/mlkem/mlkem768_nist_keygen_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/obj/obj.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/obj/obj_dat.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/obj/obj_mac.num -FILE: ../../../flutter/third_party/boringssl/src/crypto/obj/obj_xref.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/obj/objects.go -FILE: ../../../flutter/third_party/boringssl/src/crypto/obj/objects.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/pem_all.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/pem_info.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/pem_lib.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/pem_oth.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/pem_pk8.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/pem_pkey.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/pem_x509.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pem/pem_xaux.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pkcs7/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/pkcs7/pkcs7.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pkcs7/pkcs7_x509.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pkcs8/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/pkcs8/p5_pbev2.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pkcs8/pkcs8.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pkcs8/pkcs8_x509.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/poly1305/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305_arm.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305_arm_asm.S -FILE: ../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/poly1305/poly1305_vec.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/pool/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/pool/pool.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/deterministic.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/fork_detect.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/forkunsafe.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/getentropy.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/getrandom_fillin.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/ios.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/passive.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/rand.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/trusty.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/urandom.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rand/windows.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rc4/rc4.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/refcount.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rsa/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_crypt.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_extra.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/rsa/rsa_print.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/sha/sha1.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/sha/sha256.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/sha/sha512.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/siphash/siphash.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/siphash/siphash_tests.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/slhdsa/slhdsa.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/slhdsa/slhdsa_keygen.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/slhdsa/slhdsa_prehash.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/slhdsa/slhdsa_siggen.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/slhdsa/slhdsa_sigver.txt -FILE: ../../../flutter/third_party/boringssl/src/crypto/spake2plus/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/spake2plus/spake2plus.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/stack/stack.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/thread.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/thread_none.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/thread_pthread.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/thread_win.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/trust_token/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/trust_token/pmbtoken.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/trust_token/trust_token.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/trust_token/voprf.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/a_digest.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/a_sign.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/a_verify.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/algorithm.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/asn1_gen.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/by_dir.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/by_file.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/i2d_pr.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/internal.h -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/name_print.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/policy.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/rsa_pss.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/t_crl.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/t_req.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/t_x509.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/t_x509a.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_akey.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_akeya.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_alt.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_bcons.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_bitst.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_conf.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_cpols.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_crld.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_enum.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_extku.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_genn.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_ia5.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_info.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_int.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_lib.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_ncons.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_ocsp.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_pcons.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_pmaps.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_prn.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_purp.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_skey.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/v3_utl.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_att.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_cmp.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_d2.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_def.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_ext.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_lu.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_obj.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_req.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_set.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_trs.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_txt.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_v3.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_vfy.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509_vpm.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509cset.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509name.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509rset.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x509spki.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_algor.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_all.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_attrib.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_crl.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_exten.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_name.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_pubkey.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_req.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_sig.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_spki.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_val.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_x509.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/x509/x_x509a.cc -FILE: ../../../flutter/third_party/boringssl/src/crypto/xwing/xwing.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/bio/base64_bio.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/blowfish/blowfish.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/cast/cast.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/cast/cast_tables.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/cast/internal.h -FILE: ../../../flutter/third_party/boringssl/src/decrepit/cfb/cfb.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/des/cfb64ede.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/dh/dh_decrepit.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/dsa/dsa_decrepit.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/evp/dss1.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/evp/evp_do_all.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/macros.h -FILE: ../../../flutter/third_party/boringssl/src/decrepit/obj/obj_decrepit.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/rc4/rc4_decrepit.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/ripemd/ripemd.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/rsa/rsa_decrepit.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/ssl/ssl_decrepit.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/x509/x509_decrepit.cc -FILE: ../../../flutter/third_party/boringssl/src/decrepit/xts/xts.cc -FILE: ../../../flutter/third_party/boringssl/src/docs/releasing.md -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aes-gcm-avx2-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aes-gcm-avx2-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aes-gcm-avx2-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aes-gcm-avx512-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aes-gcm-avx512-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aes-gcm-avx512-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-gcm-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-gcm-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-gcm-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-x86-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-x86-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-x86-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesni-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesv8-armv7-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesv8-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesv8-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesv8-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesv8-gcm-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesv8-gcm-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/aesv8-gcm-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/armv4-mont-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/armv8-mont-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/armv8-mont-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/armv8-mont-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/bn-586-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/bn-586-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/bn-586-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/bn-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/bn-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/bn-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/bsaes-armv7-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/co-586-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/co-586-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/co-586-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-armv4-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-neon-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-neon-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-neon-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-ssse3-x86-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-ssse3-x86-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-ssse3-x86-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-ssse3-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-ssse3-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-ssse3-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-x86-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-x86-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-x86-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghash-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghashv8-armv7-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghashv8-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghashv8-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/ghashv8-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256-armv8-asm-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256-armv8-asm-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256-armv8-asm-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256-x86_64-asm-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256-x86_64-asm-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256-x86_64-asm-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256_beeu-armv8-asm-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256_beeu-armv8-asm-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256_beeu-armv8-asm-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256_beeu-x86_64-asm-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256_beeu-x86_64-asm-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/p256_beeu-x86_64-asm-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/rdrand-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/rdrand-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/rdrand-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/rsaz-avx2-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/rsaz-avx2-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/rsaz-avx2-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-586-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-586-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-586-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-armv4-large-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha1-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-586-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-586-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-586-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-armv4-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha256-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-586-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-586-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-586-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-armv4-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/sha512-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-armv7-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-x86-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-x86-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-x86-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/vpaes-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86-mont-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86-mont-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86-mont-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86_64-mont-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86_64-mont-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86_64-mont-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86_64-mont5-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86_64-mont5-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/bcm/x86_64-mont5-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/aes128gcmsiv-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/aes128gcmsiv-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/aes128gcmsiv-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-armv4-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-x86-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-x86-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-x86-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha20_poly1305_armv8-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha20_poly1305_armv8-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha20_poly1305_armv8-win.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha20_poly1305_x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha20_poly1305_x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/chacha20_poly1305_x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/err_data.cc -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/md5-586-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/md5-586-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/md5-586-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/md5-x86_64-apple.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/md5-x86_64-linux.S -FILE: ../../../flutter/third_party/boringssl/src/gen/crypto/md5-x86_64-win.asm -FILE: ../../../flutter/third_party/boringssl/src/gen/sources.json -FILE: ../../../flutter/third_party/boringssl/src/go.mod -FILE: ../../../flutter/third_party/boringssl/src/go.sum -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/aead.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/aes.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/arm_arch.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/asm_base.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/asn1.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/asn1_mac.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/asn1t.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/base.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/base64.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/bcm_public.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/bio.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/blake2.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/blowfish.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/bn.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/buf.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/buffer.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/bytestring.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/cast.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/chacha.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/cipher.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/cmac.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/cms.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/conf.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/cpu.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/crypto.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ctrdrbg.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/curve25519.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/des.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/dh.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/digest.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/dsa.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/dtls1.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/e_os2.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ec.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ec_key.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ecdh.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ecdsa.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/engine.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/err.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/evp.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/evp_errors.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ex_data.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/experimental/kyber.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/hkdf.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/hmac.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/hpke.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/hrss.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/is_boringssl.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/kdf.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/lhash.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/md4.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/md5.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/mem.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/mldsa.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/mlkem.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/nid.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/obj.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/obj_mac.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/objects.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/opensslconf.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/opensslv.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ossl_typ.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pem.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pkcs12.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pkcs7.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pkcs8.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pki/certificate.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pki/ocsp.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pki/signature_verify_cache.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pki/verify.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pki/verify_error.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/poly1305.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/pool.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/posix_time.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/rand.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/rc4.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ripemd.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/rsa.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/safestack.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/service_indicator.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/sha.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/siphash.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/slhdsa.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/span.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/srtp.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ssl.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/ssl3.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/stack.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/target.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/thread.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/time.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/tls1.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/trust_token.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/type_check.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/x509.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/x509_vfy.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/x509v3.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/x509v3_errors.h -FILE: ../../../flutter/third_party/boringssl/src/include/openssl/xwing.h -FILE: ../../../flutter/third_party/boringssl/src/infra/config/generated/commit-queue.cfg -FILE: ../../../flutter/third_party/boringssl/src/infra/config/generated/cr-buildbucket.cfg -FILE: ../../../flutter/third_party/boringssl/src/infra/config/generated/luci-logdog.cfg -FILE: ../../../flutter/third_party/boringssl/src/infra/config/generated/luci-milo.cfg -FILE: ../../../flutter/third_party/boringssl/src/infra/config/generated/luci-notify.cfg -FILE: ../../../flutter/third_party/boringssl/src/infra/config/generated/luci-scheduler.cfg -FILE: ../../../flutter/third_party/boringssl/src/infra/config/generated/project.cfg -FILE: ../../../flutter/third_party/boringssl/src/infra/config/generated/realms.cfg -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_error_id.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_error_id.h -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_error_params.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_error_params.h -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_errors.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_errors.h -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_issuer_source.h -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_issuer_source_static.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/cert_issuer_source_static.h -FILE: ../../../flutter/third_party/boringssl/src/pki/certificate.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/certificate_policies.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/certificate_policies.h -FILE: ../../../flutter/third_party/boringssl/src/pki/common_cert_errors.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/common_cert_errors.h -FILE: ../../../flutter/third_party/boringssl/src/pki/crl.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/crl.h -FILE: ../../../flutter/third_party/boringssl/src/pki/encode_values.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/encode_values.h -FILE: ../../../flutter/third_party/boringssl/src/pki/extended_key_usage.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/extended_key_usage.h -FILE: ../../../flutter/third_party/boringssl/src/pki/general_names.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/general_names.h -FILE: ../../../flutter/third_party/boringssl/src/pki/input.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/input.h -FILE: ../../../flutter/third_party/boringssl/src/pki/ip_util.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/ip_util.h -FILE: ../../../flutter/third_party/boringssl/src/pki/mock_signature_verify_cache.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/mock_signature_verify_cache.h -FILE: ../../../flutter/third_party/boringssl/src/pki/name_constraints.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/name_constraints.h -FILE: ../../../flutter/third_party/boringssl/src/pki/ocsp.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/ocsp.h -FILE: ../../../flutter/third_party/boringssl/src/pki/parse_certificate.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/parse_certificate.h -FILE: ../../../flutter/third_party/boringssl/src/pki/parse_name.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/parse_name.h -FILE: ../../../flutter/third_party/boringssl/src/pki/parse_values.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/parse_values.h -FILE: ../../../flutter/third_party/boringssl/src/pki/parsed_certificate.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/parsed_certificate.h -FILE: ../../../flutter/third_party/boringssl/src/pki/parser.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/parser.h -FILE: ../../../flutter/third_party/boringssl/src/pki/path_builder.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/path_builder.h -FILE: ../../../flutter/third_party/boringssl/src/pki/pem.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/pem.h -FILE: ../../../flutter/third_party/boringssl/src/pki/revocation_util.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/revocation_util.h -FILE: ../../../flutter/third_party/boringssl/src/pki/signature_algorithm.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/signature_algorithm.h -FILE: ../../../flutter/third_party/boringssl/src/pki/simple_path_builder_delegate.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/simple_path_builder_delegate.h -FILE: ../../../flutter/third_party/boringssl/src/pki/string_util.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/string_util.h -FILE: ../../../flutter/third_party/boringssl/src/pki/test_helpers.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/test_helpers.h -FILE: ../../../flutter/third_party/boringssl/src/pki/trust_store.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/trust_store.h -FILE: ../../../flutter/third_party/boringssl/src/pki/trust_store_collection.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/trust_store_collection.h -FILE: ../../../flutter/third_party/boringssl/src/pki/trust_store_in_memory.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/trust_store_in_memory.h -FILE: ../../../flutter/third_party/boringssl/src/pki/verify.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/verify_certificate_chain.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/verify_certificate_chain.h -FILE: ../../../flutter/third_party/boringssl/src/pki/verify_error.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/verify_name_match.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/verify_name_match.h -FILE: ../../../flutter/third_party/boringssl/src/pki/verify_signed_data.cc -FILE: ../../../flutter/third_party/boringssl/src/pki/verify_signed_data.h -FILE: ../../../flutter/third_party/boringssl/src/ssl/bio_ssl.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/d1_both.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/d1_lib.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/d1_pkt.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/d1_srtp.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/dtls_method.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/dtls_record.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/encrypted_client_hello.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/extensions.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/handoff.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/handshake.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/handshake_client.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/handshake_server.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/internal.h -FILE: ../../../flutter/third_party/boringssl/src/ssl/s3_both.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/s3_lib.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/s3_pkt.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_aead_ctx.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_asn1.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_buffer.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_cert.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_cipher.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_credential.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_file.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_key_share.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_lib.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_privkey.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_session.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_stat.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_transcript.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_versions.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/ssl_x509.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/t1_enc.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/tls13_both.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/tls13_client.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/tls13_enc.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/tls13_server.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/tls_method.cc -FILE: ../../../flutter/third_party/boringssl/src/ssl/tls_record.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/args.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/ciphers.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/client.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/const.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/digest.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/fd.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/file.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/generate_ech.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/generate_ed25519.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/genrsa.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/internal.h -FILE: ../../../flutter/third_party/boringssl/src/tool/pkcs12.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/rand.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/server.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/sign.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/speed.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/tool.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/transport_common.cc -FILE: ../../../flutter/third_party/boringssl/src/tool/transport_common.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpu_features_cache_info.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpu_features_macros.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpuinfo_aarch64.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpuinfo_arm.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpuinfo_mips.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpuinfo_ppc.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpuinfo_riscv.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpuinfo_s390x.h -FILE: ../../../flutter/third_party/cpu_features/src/include/cpuinfo_x86.h -FILE: ../../../flutter/third_party/cpu_features/src/include/internal/bit_utils.h -FILE: ../../../flutter/third_party/cpu_features/src/include/internal/cpuid_x86.h -FILE: ../../../flutter/third_party/cpu_features/src/include/internal/filesystem.h -FILE: ../../../flutter/third_party/cpu_features/src/include/internal/hwcaps.h -FILE: ../../../flutter/third_party/cpu_features/src/include/internal/stack_line_reader.h -FILE: ../../../flutter/third_party/cpu_features/src/include/internal/string_view.h -FILE: ../../../flutter/third_party/cpu_features/src/include/internal/windows_utils.h -FILE: ../../../flutter/third_party/cpu_features/src/src/copy.inl -FILE: ../../../flutter/third_party/cpu_features/src/src/define_introspection.inl -FILE: ../../../flutter/third_party/cpu_features/src/src/define_introspection_and_hwcaps.inl -FILE: ../../../flutter/third_party/cpu_features/src/src/equals.inl -FILE: ../../../flutter/third_party/cpu_features/src/src/filesystem.c -FILE: ../../../flutter/third_party/cpu_features/src/src/hwcaps.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_aarch64_linux_or_android.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_aarch64_windows.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_arm_linux_or_android.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_mips_linux_or_android.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_ppc_linux.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_riscv_linux.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_s390x_linux.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_x86__base_implementation.inl -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_x86_freebsd.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_x86_linux_or_android.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_x86_macos.c -FILE: ../../../flutter/third_party/cpu_features/src/src/impl_x86_windows.c -FILE: ../../../flutter/third_party/cpu_features/src/src/stack_line_reader.c -FILE: ../../../flutter/third_party/cpu_features/src/src/string_view.c -FILE: ../../../flutter/third_party/cpu_features/src/src/utils/list_cpu_features.c -FILE: ../../../flutter/third_party/expat/expat/fuzz/xml_parse_fuzzer.c -FILE: ../../../flutter/third_party/expat/expat/fuzz/xml_parsebuffer_fuzzer.c -FILE: ../../../flutter/third_party/flatbuffers/composer.json -FILE: ../../../flutter/third_party/flatbuffers/conan/test_package/test_package.cpp -FILE: ../../../flutter/third_party/flatbuffers/grpc/boringssl.patch -FILE: ../../../flutter/third_party/flatbuffers/grpc/flatbuffers-java-grpc/src/main/java/com/google/flatbuffers/grpc/FlatbuffersUtils.java -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/cpp_generator.cc -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/cpp_generator.h -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/go_generator.cc -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/go_generator.h -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/java_generator.cc -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/java_generator.h -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/python_generator.cc -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/python_generator.h -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/schema_interface.h -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/swift_generator.cc -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/swift_generator.h -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/ts_generator.cc -FILE: ../../../flutter/third_party/flatbuffers/grpc/src/compiler/ts_generator.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/allocator.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/array.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/base.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/bfbs_generator.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/buffer.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/buffer_ref.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/code_generators.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/default_allocator.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/detached_buffer.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/flatbuffer_builder.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/flatbuffers.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/flatc.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/flex_flat_util.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/flexbuffers.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/grpc.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/hash.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/idl.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/minireflect.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/pch/flatc_pch.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/pch/pch.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/reflection.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/reflection_generated.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/registry.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/stl_emulation.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/string.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/struct.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/table.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/util.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/vector.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/vector_downward.h -FILE: ../../../flutter/third_party/flatbuffers/include/flatbuffers/verifier.h -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ArrayReadWriteBuf.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/BaseVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/BooleanVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ByteBufferReadWriteBuf.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ByteBufferUtil.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ByteVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Constants.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/DoubleVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/FlatBufferBuilder.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/FlexBuffers.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/FlexBuffersBuilder.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/FloatVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/IntVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/LongVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ReadBuf.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ReadWriteBuf.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/ShortVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/StringVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Struct.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Table.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/UnionVector.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Utf8.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Utf8Old.java -FILE: ../../../flutter/third_party/flatbuffers/java/com/google/flatbuffers/Utf8Safe.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/build.gradle.kts -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ArrayReadWriteBuf.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/BaseVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/BooleanVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ByteBufferReadWriteBuf.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ByteBufferUtil.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ByteVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Constants.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/DoubleVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/FlatBufferBuilder.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/FlexBuffers.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/FlexBuffersBuilder.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/FloatVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/IntVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/LongVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ReadBuf.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ReadWriteBuf.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/ShortVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/StringVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Struct.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Table.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/UnionVector.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Utf8.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Utf8Old.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/java/com/google/flatbuffers/Utf8Safe.java -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/kotlin/com/google/flatbuffers/kotlin/benchmark/FlexBuffersBenchmark.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/kotlin/com/google/flatbuffers/kotlin/benchmark/JsonBenchmark.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/benchmark/src/jvmMain/kotlin/com/google/flatbuffers/kotlin/benchmark/UTF8Benchmark.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/build.gradle.kts -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/build.gradle.kts -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/Buffers.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/ByteArray.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/FlexBuffers.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/FlexBuffersBuilder.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/FlexBuffersInternals.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/JSON.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonMain/kotlin/com/google/flatbuffers/kotlin/Utf8.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonTest/kotlin/com/google/flatbuffers/kotlin/ByteArrayTest.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonTest/kotlin/com/google/flatbuffers/kotlin/FlexBuffersTest.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/commonTest/kotlin/com/google/flatbuffers/kotlin/JSONTest.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/jsMain/kotlin/com/google/flatbuffers/kotlin/ByteArray.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/jvmMain/kotlin/com/google/flatbuffers/kotlin/ByteArray.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/flatbuffers-kotlin/src/nativeMain/kotlin/com/google/flatbuffers/kotlin/ByteArray.kt -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/libs.versions.toml -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/META-INF/MANIFEST.MF -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/gradle-wrapper-classpath.properties -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/AbstractCommandLineConverter.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/AbstractPropertiesCommandLineConverter.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineArgumentException.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineConverter.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineOption.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$1.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$AfterFirstSubCommand.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$AfterOptions.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$KnownOptionParserState.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$MissingOptionArgState.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$OptionAwareParserState.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$OptionComparator.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$OptionParserState.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$OptionString.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$OptionStringComparator.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$ParserState.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser$UnknownOptionParserState.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/CommandLineParser.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/ParsedCommandLine.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/ParsedCommandLineOption.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/ProjectPropertiesCommandLineConverter.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/cli/SystemPropertiesCommandLineConverter.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/BootstrapMainStarter$1.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/BootstrapMainStarter.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Download$1.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Download$DefaultDownloadProgressListener.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Download$ProxyAuthenticator.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Download.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/DownloadProgressListener.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/ExclusiveFileAccessManager.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/GradleUserHomeLookup.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/GradleWrapperMain.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/IDownload.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Install$1.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Install$InstallCheck.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Install.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/Logger.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/PathAssembler$LocalDistribution.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/PathAssembler.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/SystemPropertiesHandler.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/WrapperConfiguration.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.jar!/org/gradle/wrapper/WrapperExecutor.class -FILE: ../../../flutter/third_party/flatbuffers/kotlin/gradle/wrapper/gradle-wrapper.properties -FILE: ../../../flutter/third_party/flatbuffers/kotlin/settings.gradle.kts -FILE: ../../../flutter/third_party/flatbuffers/kotlin/spotless/spotless.kt -FILE: ../../../flutter/third_party/flatbuffers/lobster/flatbuffers.lobster -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers.lua -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers/binaryarray.lua -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers/builder.lua -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers/compat.lua -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers/compat_5_1.lua -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers/compat_5_3.lua -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers/compat_luajit.lua -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers/numTypes.lua -FILE: ../../../flutter/third_party/flatbuffers/lua/flatbuffers/view.lua -FILE: ../../../flutter/third_party/flatbuffers/reflection/reflection.fbs -FILE: ../../../flutter/third_party/flatbuffers/src/annotated_binary_text_gen.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/annotated_binary_text_gen.h -FILE: ../../../flutter/third_party/flatbuffers/src/bfbs_gen.h -FILE: ../../../flutter/third_party/flatbuffers/src/bfbs_gen_lua.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/bfbs_gen_lua.h -FILE: ../../../flutter/third_party/flatbuffers/src/bfbs_namer.h -FILE: ../../../flutter/third_party/flatbuffers/src/binary_annotator.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/binary_annotator.h -FILE: ../../../flutter/third_party/flatbuffers/src/code_generators.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/flatc.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/flatc_main.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/flathash.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_cpp.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_csharp.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_dart.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_fbs.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_go.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_grpc.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_java.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_json_schema.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_kotlin.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_lobster.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_lua.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_php.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_python.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_rust.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_swift.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_text.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_gen_ts.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/idl_namer.h -FILE: ../../../flutter/third_party/flatbuffers/src/idl_parser.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/namer.h -FILE: ../../../flutter/third_party/flatbuffers/src/reflection.cpp -FILE: ../../../flutter/third_party/flatbuffers/src/util.cpp -FILE: ../../../flutter/third_party/flatbuffers/swift/FlatBuffers.podspec -FILE: ../../../flutter/third_party/flatbuffers/swift/Package.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Package@swift-5.5.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/ByteBuffer.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Constants.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Documentation.md -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/fbs/monster_step_1.fbs -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/fbs/monster_step_2.fbs -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/fbs/monster_step_3.fbs -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/fbs/monster_step_4.fbs -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/fbs/monster_step_5.fbs -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/fbs/monster_step_6.fbs -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/fbs/monster_step_7.fbs -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_1.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_10.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_11.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_12.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_13.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_2.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_3.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_4.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_5.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_6.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_7.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_8.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/code/swift/swift_code_9.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Resources/images/tutorial_cover_image_1.png -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Tutorials/Tutorial_Table_of_Contents.tutorial -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Tutorials/create_your_first_buffer.tutorial -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Tutorials/creating_flatbuffer_schema.tutorial -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Documentation.docc/Tutorials/reading_bytebuffer.tutorial -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Enum.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/FlatBufferBuilder.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/FlatBufferObject.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/FlatBuffersUtils.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/FlatbuffersErrors.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Int+extension.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Message.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Mutable.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/NativeObject.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Offset.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Root.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/String+extension.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Struct.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Table.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/TableVerifier.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/VeriferOptions.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Verifiable.swift -FILE: ../../../flutter/third_party/flatbuffers/swift/Sources/FlatBuffers/Verifier.swift -FILE: ../../../flutter/third_party/flatbuffers/tsconfig.json -FILE: ../../../flutter/third_party/flatbuffers/tsconfig.mjs.json -FILE: ../../../flutter/third_party/flatbuffers/yarn.lock -FILE: ../../../flutter/third_party/perfetto/Android.bp -FILE: ../../../flutter/third_party/perfetto/BUILD -FILE: ../../../flutter/third_party/perfetto/PerfettoIntegrationTests.xml -FILE: ../../../flutter/third_party/perfetto/bazel/BUILD -FILE: ../../../flutter/third_party/perfetto/bazel/jsoncpp.BUILD -FILE: ../../../flutter/third_party/perfetto/bazel/linenoise.BUILD -FILE: ../../../flutter/third_party/perfetto/bazel/llvm_demangle.BUILD -FILE: ../../../flutter/third_party/perfetto/bazel/sqlite.BUILD -FILE: ../../../flutter/third_party/perfetto/bazel/zlib.BUILD -FILE: ../../../flutter/third_party/perfetto/buildtools/libbacktrace_config/backtrace-supported.h -FILE: ../../../flutter/third_party/perfetto/buildtools/libbacktrace_config/config.h -FILE: ../../../flutter/third_party/perfetto/buildtools/rustc-demangle-capi/rustc_demangle.h -FILE: ../../../flutter/third_party/perfetto/gn/standalone/.emscripten -FILE: ../../../flutter/third_party/perfetto/heapprofd.rc -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/build_config.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/build_configs/android_tree/perfetto_build_flags.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/build_configs/bazel/perfetto_build_flags.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/compiler.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/export.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/flat_set.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/logging.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/platform_handle.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/proc_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/status.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/task_runner.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/template_util.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/thread_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/base/time.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/android_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/base64.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/circular_queue.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/container_annotations.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/crash_keys.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/ctrl_c_handler.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/endian.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/event_fd.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/file_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/flat_hash_map.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/getopt.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/getopt_compat.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/hash.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/http/http_server.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/http/sha1.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/metatrace.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/metatrace_events.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/no_destructor.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/paged_memory.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/periodic_task.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/pipe.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/platform.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/scoped_file.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/small_set.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/small_vector.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/status_or.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/string_splitter.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/string_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/string_view.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/string_writer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/subprocess.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/sys_types.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/temp_file.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/thread_annotations.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/thread_checker.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/thread_task_runner.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/thread_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/channel.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/future.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/future_combinators.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/poll.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/spawn.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/stream.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/stream_combinators.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/thread_pool.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/threading/util.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/unix_socket.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/unix_task_runner.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/uuid.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/version.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/waitable_event.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/watchdog.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/watchdog_noop.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/watchdog_posix.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/base/weak_ptr.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/bigtrace/environment.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/bigtrace/orchestrator.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/bigtrace/worker.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/async_result.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/basic_types.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/client.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/client_info.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/codegen_helpers.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/deferred.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/host.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/service.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/service_descriptor.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/ipc/service_proxy.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/demangle.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/export_json.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/graph.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/graph_processor.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/memory_allocator_node_id.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/memory_graph_edge.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/raw_memory_graph_node.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/importers/memory_tracker/raw_process_memory_node.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/trace_processor/rpc/query_result_serializer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/traced/data_source_types.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/traced/sys_stats_counters.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/traced/traced.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/basic_types.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/commit_data_request.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/consumer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/observable_events.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/producer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/shared_memory.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/shared_memory_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/shared_memory_arbiter.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/slice.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/trace_packet.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/trace_stats.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/trace_writer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/core/tracing_service.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/ipc/consumer_ipc_client.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/ipc/default_socket.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/ipc/producer_ipc_client.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/ext/tracing/ipc/service_ipc_host.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/profiling/parse_smaps.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/profiling/pprof_builder.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/contiguous_memory_range.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/copyable_ptr.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/cpp_message_obj.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/field.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/field_writer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/gen_field_helpers.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/message.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/message_arena.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/message_handle.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/packed_repeated_fields.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/proto_decoder.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/proto_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/root_message.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/scattered_heap_buffer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/scattered_stream_null_delegate.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/scattered_stream_writer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/protozero/static_buffer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/atomic.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/backend_type.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/data_source_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/export.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/heap_buffer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/pb_decoder_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/producer_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/stream_writer_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/thread_utils_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/tracing_session_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/track_event_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/track_event_hl_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/abi/track_event_ll_abi.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/compiler.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/data_source.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/fnv1a.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/pb_decoder.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/pb_macros.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/pb_msg.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/pb_packed.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/pb_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/producer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/common/builtin_clock.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/common/data_source_descriptor.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/config/data_source_config.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/config/trace_config.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/config/track_event/track_event_config.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/interned_data/interned_data.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/test_event.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/trace.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/trace_packet.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/track_event/counter_descriptor.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/track_event/debug_annotation.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/track_event/track_descriptor.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/track_event/track_event.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/protos/trace/trigger.pzc.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/stream_writer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/te_category_macros.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/te_macros.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/thread_utils.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/tracing_session.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/public/track_event.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/basic_types.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/iterator.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/metatrace_config.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/read_trace.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/ref_counted.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/status.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/trace_blob.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/trace_blob_view.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/trace_processor.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/trace_processor/trace_processor_storage.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/backend_type.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/buffer_exhausted_policy.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/console_interceptor.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/chrome_config.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/data_source_config.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/data_source_descriptor.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/flush_flags.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/forward_decls.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/trace_config.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/tracing_service_capabilities.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/core/tracing_service_state.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/data_source.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/debug_annotation.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/event_context.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/interceptor.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/basic_types.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/checked_scope.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/compile_time_hash.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/data_source_internal.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/in_process_tracing_backend.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/interceptor_trace_writer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/system_tracing_backend.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/tracing_backend_fake.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/tracing_muxer.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/tracing_tls.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_internal.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_interned_fields.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/track_event_macros.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/write_track_event_args.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/locked_handle.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/platform.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/string_helpers.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/trace_writer_base.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/traced_proto.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/traced_value.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/traced_value_forward.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/tracing.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/tracing_backend.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/tracing_policy.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/track.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_args.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_category_registry.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_interned_data_index.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_legacy.h -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/track_event_state_tracker.h -FILE: ../../../flutter/third_party/perfetto/perfetto.rc -FILE: ../../../flutter/third_party/perfetto/python/BUILD -FILE: ../../../flutter/third_party/perfetto/src/android_internal/atrace_hal.cc -FILE: ../../../flutter/third_party/perfetto/src/android_internal/atrace_hal.h -FILE: ../../../flutter/third_party/perfetto/src/android_internal/health_hal.cc -FILE: ../../../flutter/third_party/perfetto/src/android_internal/health_hal.h -FILE: ../../../flutter/third_party/perfetto/src/android_internal/incident_service.cc -FILE: ../../../flutter/third_party/perfetto/src/android_internal/incident_service.h -FILE: ../../../flutter/third_party/perfetto/src/android_internal/lazy_library_loader.cc -FILE: ../../../flutter/third_party/perfetto/src/android_internal/lazy_library_loader.h -FILE: ../../../flutter/third_party/perfetto/src/android_internal/power_stats.cc -FILE: ../../../flutter/third_party/perfetto/src/android_internal/power_stats.h -FILE: ../../../flutter/third_party/perfetto/src/android_internal/statsd.cc -FILE: ../../../flutter/third_party/perfetto/src/android_internal/statsd.h -FILE: ../../../flutter/third_party/perfetto/src/android_internal/statsd_logging.cc -FILE: ../../../flutter/third_party/perfetto/src/android_internal/statsd_logging.h -FILE: ../../../flutter/third_party/perfetto/src/android_internal/tracing_service_proxy.cc -FILE: ../../../flutter/third_party/perfetto/src/android_internal/tracing_service_proxy.h -FILE: ../../../flutter/third_party/perfetto/src/android_stats/perfetto_atoms.h -FILE: ../../../flutter/third_party/perfetto/src/android_stats/statsd_logging_helper.cc -FILE: ../../../flutter/third_party/perfetto/src/android_stats/statsd_logging_helper.h -FILE: ../../../flutter/third_party/perfetto/src/base/android_utils.cc -FILE: ../../../flutter/third_party/perfetto/src/base/base64.cc -FILE: ../../../flutter/third_party/perfetto/src/base/crash_keys.cc -FILE: ../../../flutter/third_party/perfetto/src/base/ctrl_c_handler.cc -FILE: ../../../flutter/third_party/perfetto/src/base/debug_crash_stack_trace.cc -FILE: ../../../flutter/third_party/perfetto/src/base/default_platform.cc -FILE: ../../../flutter/third_party/perfetto/src/base/event_fd.cc -FILE: ../../../flutter/third_party/perfetto/src/base/file_utils.cc -FILE: ../../../flutter/third_party/perfetto/src/base/flat_hash_map_benchmark.cc -FILE: ../../../flutter/third_party/perfetto/src/base/flat_set_benchmark.cc -FILE: ../../../flutter/third_party/perfetto/src/base/getopt_compat.cc -FILE: ../../../flutter/third_party/perfetto/src/base/http/http_server.cc -FILE: ../../../flutter/third_party/perfetto/src/base/http/sha1.cc -FILE: ../../../flutter/third_party/perfetto/src/base/log_ring_buffer.h -FILE: ../../../flutter/third_party/perfetto/src/base/logging.cc -FILE: ../../../flutter/third_party/perfetto/src/base/metatrace.cc -FILE: ../../../flutter/third_party/perfetto/src/base/paged_memory.cc -FILE: ../../../flutter/third_party/perfetto/src/base/periodic_task.cc -FILE: ../../../flutter/third_party/perfetto/src/base/pipe.cc -FILE: ../../../flutter/third_party/perfetto/src/base/status.cc -FILE: ../../../flutter/third_party/perfetto/src/base/string_splitter.cc -FILE: ../../../flutter/third_party/perfetto/src/base/string_utils.cc -FILE: ../../../flutter/third_party/perfetto/src/base/string_view.cc -FILE: ../../../flutter/third_party/perfetto/src/base/subprocess.cc -FILE: ../../../flutter/third_party/perfetto/src/base/subprocess_posix.cc -FILE: ../../../flutter/third_party/perfetto/src/base/subprocess_windows.cc -FILE: ../../../flutter/third_party/perfetto/src/base/temp_file.cc -FILE: ../../../flutter/third_party/perfetto/src/base/thread_checker.cc -FILE: ../../../flutter/third_party/perfetto/src/base/thread_task_runner.cc -FILE: ../../../flutter/third_party/perfetto/src/base/thread_utils.cc -FILE: ../../../flutter/third_party/perfetto/src/base/threading/spawn.cc -FILE: ../../../flutter/third_party/perfetto/src/base/threading/stream_combinators.cc -FILE: ../../../flutter/third_party/perfetto/src/base/threading/thread_pool.cc -FILE: ../../../flutter/third_party/perfetto/src/base/time.cc -FILE: ../../../flutter/third_party/perfetto/src/base/unix_socket.cc -FILE: ../../../flutter/third_party/perfetto/src/base/unix_task_runner.cc -FILE: ../../../flutter/third_party/perfetto/src/base/utils.cc -FILE: ../../../flutter/third_party/perfetto/src/base/uuid.cc -FILE: ../../../flutter/third_party/perfetto/src/base/version.cc -FILE: ../../../flutter/third_party/perfetto/src/base/virtual_destructors.cc -FILE: ../../../flutter/third_party/perfetto/src/base/vm_sockets.h -FILE: ../../../flutter/third_party/perfetto/src/base/waitable_event.cc -FILE: ../../../flutter/third_party/perfetto/src/base/watchdog_posix.cc -FILE: ../../../flutter/third_party/perfetto/src/bigtrace/orchestrator_impl.cc -FILE: ../../../flutter/third_party/perfetto/src/bigtrace/orchestrator_impl.h -FILE: ../../../flutter/third_party/perfetto/src/bigtrace/trace_processor_wrapper.cc -FILE: ../../../flutter/third_party/perfetto/src/bigtrace/trace_processor_wrapper.h -FILE: ../../../flutter/third_party/perfetto/src/bigtrace/worker_impl.cc -FILE: ../../../flutter/third_party/perfetto/src/bigtrace/worker_impl.h -FILE: ../../../flutter/third_party/perfetto/src/kallsyms/kernel_symbol_map.cc -FILE: ../../../flutter/third_party/perfetto/src/kallsyms/kernel_symbol_map.h -FILE: ../../../flutter/third_party/perfetto/src/kallsyms/kernel_symbol_map_benchmark.cc -FILE: ../../../flutter/third_party/perfetto/src/kallsyms/lazy_kernel_symbolizer.cc -FILE: ../../../flutter/third_party/perfetto/src/kallsyms/lazy_kernel_symbolizer.h -FILE: ../../../flutter/third_party/perfetto/src/kernel_utils/syscall_table.cc -FILE: ../../../flutter/third_party/perfetto/src/kernel_utils/syscall_table.h -FILE: ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_aarch32.h -FILE: ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_aarch64.h -FILE: ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_armeabi.h -FILE: ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_x86.h -FILE: ../../../flutter/third_party/perfetto/src/kernel_utils/syscalls_x86_64.h -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/bugreport_path.h -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/config.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/config.h -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/main.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/packet_writer.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/packet_writer.h -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/pbtxt_to_pb.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/pbtxt_to_pb.h -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/perfetto_cmd.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/perfetto_cmd.h -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/perfetto_cmd_android.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/perfetto_cmd_state.proto -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/rate_limiter.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/rate_limiter.h -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/trigger_perfetto.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/trigger_perfetto_main.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/trigger_producer.cc -FILE: ../../../flutter/third_party/perfetto/src/perfetto_cmd/trigger_producer.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/callstack_trie.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/callstack_trie.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/interner.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/interning_output.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/interning_output.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/proc_cmdline.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/proc_cmdline.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/proc_utils.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/proc_utils.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/producer_support.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/producer_support.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/profiler_guardrails.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/profiler_guardrails.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/unwind_support.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/common/unwind_support.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/deobfuscator.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/deobfuscator.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/common_types.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/event_config.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/event_config.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/event_reader.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/event_reader.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/main.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/perf_producer.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/perf_producer.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/proc_descriptors.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/proc_descriptors.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/regs_parsing.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/regs_parsing.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/traced_perf.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/traced_perf.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/unwind_queue.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/unwinding.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/perf/unwinding.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_parser.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_parser.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_symbolizer.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/breakpad_symbolizer.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/elf.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/filesystem.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/filesystem_posix.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/filesystem_windows.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/local_symbolizer.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/local_symbolizer.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/scoped_read_mmap.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/scoped_read_mmap_posix.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/scoped_read_mmap_windows.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/subprocess.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/subprocess_posix.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/subprocess_windows.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/symbolize_database.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/symbolize_database.h -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/symbolizer.cc -FILE: ../../../flutter/third_party/perfetto/src/profiling/symbolizer/symbolizer.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/field.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_common.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_generator.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_generator.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_parser.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_parser.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_bytecode_parser_fuzzer.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_util.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/filter_util.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter_benchmark.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/message_filter_fuzzer.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/message_tokenizer.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/string_filter.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/string_filter.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/filtering/string_filter_benchmark.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/gen_field_helpers.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/message.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/message_arena.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/packed_repeated_fields.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/proto_decoder.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/proto_decoder_fuzzer.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/proto_ring_buffer.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/proto_ring_buffer.h -FILE: ../../../flutter/third_party/perfetto/src/protozero/protoc_plugin/cppgen_plugin.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/protoc_plugin/protozero_c_plugin.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/protoc_plugin/protozero_plugin.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/scattered_heap_buffer.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/scattered_stream_null_delegate.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/scattered_stream_writer.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/static_buffer.cc -FILE: ../../../flutter/third_party/perfetto/src/protozero/virtual_destructors.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/data_source.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/heap_buffer.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/intern_map.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/intern_map.h -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/pb_decoder.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/producer.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/reset_for_testing.h -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/stream_writer.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/stream_writer.h -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/thread_utils.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/tracing_session.cc -FILE: ../../../flutter/third_party/perfetto/src/shared_lib/track_event.cc -FILE: ../../../flutter/third_party/perfetto/src/tracebox/tracebox.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/deobfuscate_profile.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/deobfuscate_profile.h -FILE: ../../../flutter/third_party/perfetto/src/traceconv/lite_fallbacks.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/main.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/pprof_builder.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/proto_full_utils.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/proto_full_utils.h -FILE: ../../../flutter/third_party/perfetto/src/traceconv/symbolize_profile.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/symbolize_profile.h -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_hprof.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_hprof.h -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_json.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_json.h -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_profile.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_profile.h -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_systrace.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_systrace.h -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_text.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/trace_to_text.h -FILE: ../../../flutter/third_party/perfetto/src/traceconv/utils.cc -FILE: ../../../flutter/third_party/perfetto/src/traceconv/utils.h -FILE: ../../../flutter/third_party/perfetto/src/traced_relay/relay_service.cc -FILE: ../../../flutter/third_party/perfetto/src/traced_relay/relay_service.h -FILE: ../../../flutter/third_party/perfetto/src/traced_relay/relay_service_integrationtest.cc -FILE: ../../../flutter/third_party/perfetto/src/traced_relay/relay_service_main.cc -FILE: ../../../flutter/third_party/perfetto/src/traced_relay/socket_relay_handler.cc -FILE: ../../../flutter/third_party/perfetto/src/traced_relay/socket_relay_handler.h -FILE: ../../../flutter/third_party/perfetto/src/websocket_bridge/websocket_bridge.cc -FILE: ../../../flutter/third_party/perfetto/src/websocket_bridge/websocket_bridge.h -FILE: ../../../flutter/third_party/perfetto/src/websocket_bridge/websocket_bridge_main.cc -FILE: ../../../flutter/third_party/perfetto/traced_perf.rc -FILE: ../../../flutter/third_party/perfetto/ui/build.js -FILE: ../../../flutter/third_party/perfetto/ui/config/integrationtest_env.js -FILE: ../../../flutter/third_party/perfetto/ui/config/integrationtest_setup.js -FILE: ../../../flutter/third_party/perfetto/ui/config/integrationtest_teardown.js -FILE: ../../../flutter/third_party/perfetto/ui/config/jest.integrationtest.config.js -FILE: ../../../flutter/third_party/perfetto/ui/config/jest.unittest.config.js -FILE: ../../../flutter/third_party/perfetto/ui/config/rollup.config.js -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/common.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/details.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/flags_page.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/fonts.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/home_page.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/metrics_page.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/modal.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/perfetto.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/query_page.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/record.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/sidebar.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/topbar.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/trace_info_page.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/viz_page.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/anchor.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/button.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/callout.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/checkbox.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/details_shell.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/details_table.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/editor.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/empty_state.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/error.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/form.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/grid_layout.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/hotkey.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/menu.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/multiselect.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/popup.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/section.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/select.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/spinner.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/switch.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/text_input.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/text_paragraph.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/theme.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/timestamp.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/vega_view.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/virtual_scroll_container.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets_page.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/base/utils/index-browser.js -FILE: ../../../flutter/third_party/perfetto/ui/src/base/utils/index.js -FILE: ../../../flutter/third_party/shaderc/DEVELOPMENT.howto.md -FILE: ../../../flutter/third_party/shaderc/android_test/test.cpp -FILE: ../../../flutter/third_party/shaderc/downloads.md -FILE: ../../../flutter/third_party/shaderc/glslc/src/dependency_info.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/dependency_info.h -FILE: ../../../flutter/third_party/shaderc/glslc/src/file.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/file.h -FILE: ../../../flutter/third_party/shaderc/glslc/src/file_compiler.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/file_compiler.h -FILE: ../../../flutter/third_party/shaderc/glslc/src/file_includer.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/file_includer.h -FILE: ../../../flutter/third_party/shaderc/glslc/src/file_test.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/main.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/resource_parse.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/resource_parse.h -FILE: ../../../flutter/third_party/shaderc/glslc/src/resource_parse_test.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/shader_stage.cc -FILE: ../../../flutter/third_party/shaderc/glslc/src/shader_stage.h -FILE: ../../../flutter/third_party/shaderc/glslc/src/stage_test.cc -FILE: ../../../flutter/third_party/shaderc/kokoro/android-release/continuous_arm.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/android-release/continuous_x86.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/android-release/presubmit_arm.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/android-release/presubmit_x86.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/img/linux.png -FILE: ../../../flutter/third_party/shaderc/kokoro/img/macos.png -FILE: ../../../flutter/third_party/shaderc/kokoro/img/windows.png -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/continuous_clang_asan.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/continuous_clang_debug.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/continuous_clang_release.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/continuous_gcc_debug.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/continuous_gcc_debug_exception.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/continuous_gcc_release.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/continuous_license_check.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/continuous_mingw_release.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_clang_asan.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_clang_debug.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_clang_release.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_gcc_debug.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_gcc_release.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_license_check.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/linux/presubmit_mingw_release.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/macos/continuous_clang_debug.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/macos/continuous_clang_release.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/macos/presubmit_clang_debug.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/macos/presubmit_clang_release.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/ndk-build/continuous_khronos.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/ndk-build/presubmit_khronos.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/windows/continuous_debug_2017.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/windows/continuous_debug_2019.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/windows/continuous_release_2017.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/windows/continuous_release_2019.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/windows/presubmit_debug_2017.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/windows/presubmit_debug_2019.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/windows/presubmit_release_2017.cfg -FILE: ../../../flutter/third_party/shaderc/kokoro/windows/presubmit_release_2019.cfg -FILE: ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/env.h -FILE: ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/shaderc.h -FILE: ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/shaderc.hpp -FILE: ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/status.h -FILE: ../../../flutter/third_party/shaderc/libshaderc/include/shaderc/visibility.h -FILE: ../../../flutter/third_party/shaderc/libshaderc/src/common_shaders_for_test.h -FILE: ../../../flutter/third_party/shaderc/libshaderc/src/shaderc.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_c_smoke_test.c -FILE: ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_cpp_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_private.h -FILE: ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_private_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc/src/shaderc_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/args.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/compiler.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/counting_includer.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/exceptions.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/file_finder.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/format.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/io_shaderc.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/message.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/mutex.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/resources.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/resources.inc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/shader_stage.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/spirv_tools_wrapper.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/string_piece.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/universal_unistd.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/include/libshaderc_util/version_profile.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/args.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/compiler.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/compiler_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/counting_includer_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/death_test.h -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/file_finder.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/file_finder_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/format_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/io_shaderc.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/io_shaderc_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/message.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/message_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/mutex_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/resources.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/shader_stage.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/spirv_tools_wrapper.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/string_piece_test.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/version_profile.cc -FILE: ../../../flutter/third_party/shaderc/libshaderc_util/src/version_profile_test.cc -FILE: ../../../flutter/third_party/swiftshader/.dir-locals.el -FILE: ../../../flutter/third_party/swiftshader/AUTHORS.txt -FILE: ../../../flutter/third_party/swiftshader/Android.bp -FILE: ../../../flutter/third_party/swiftshader/CMakeSettings.json -FILE: ../../../flutter/third_party/swiftshader/CONTRIBUTORS.txt -FILE: ../../../flutter/third_party/swiftshader/build/strip_unneeded.go -FILE: ../../../flutter/third_party/swiftshader/docs/ArchitectureLayers.png -FILE: ../../../flutter/third_party/swiftshader/docs/Exp-Log-Optimization.pdf -FILE: ../../../flutter/third_party/swiftshader/docs/Index.md -FILE: ../../../flutter/third_party/swiftshader/docs/LLVM.md -FILE: ../../../flutter/third_party/swiftshader/docs/Reactor.md -FILE: ../../../flutter/third_party/swiftshader/docs/ReactorDebugInfo.md -FILE: ../../../flutter/third_party/swiftshader/docs/Regres.md -FILE: ../../../flutter/third_party/swiftshader/docs/RuntimeConfiguration.md -FILE: ../../../flutter/third_party/swiftshader/docs/SamplingRoutines.md -FILE: ../../../flutter/third_party/swiftshader/docs/Sin-Cos-Optimization.pdf -FILE: ../../../flutter/third_party/swiftshader/docs/Subzero.md -FILE: ../../../flutter/third_party/swiftshader/docs/TimelineSemaphores.md -FILE: ../../../flutter/third_party/swiftshader/docs/VulkanShaderDebugging.md -FILE: ../../../flutter/third_party/swiftshader/docs/dEQP.md -FILE: ../../../flutter/third_party/swiftshader/include/Android/android/sync.h -FILE: ../../../flutter/third_party/swiftshader/include/Android/cutils/native_handle.h -FILE: ../../../flutter/third_party/swiftshader/include/Android/hardware/gralloc.h -FILE: ../../../flutter/third_party/swiftshader/include/Android/hardware/gralloc1.h -FILE: ../../../flutter/third_party/swiftshader/include/Android/hardware/hardware.h -FILE: ../../../flutter/third_party/swiftshader/include/Android/nativebase/nativebase.h -FILE: ../../../flutter/third_party/swiftshader/include/Android/sync/sync.h -FILE: ../../../flutter/third_party/swiftshader/include/Android/system/graphics.h -FILE: ../../../flutter/third_party/swiftshader/include/Android/vndk/window.h -FILE: ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h264std.h -FILE: ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h264std_decode.h -FILE: ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h264std_encode.h -FILE: ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h265std.h -FILE: ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h265std_decode.h -FILE: ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codec_h265std_encode.h -FILE: ../../../flutter/third_party/swiftshader/include/vk_video/vulkan_video_codecs_common.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vk_icd.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vk_layer.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vk_platform.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vk_sdk_platform.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan.cppm -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_android.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_beta.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_core.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_directfb.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_enums.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_extension_inspection.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_format_traits.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_fuchsia.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_funcs.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_ggp.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_handles.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_hash.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_hpp_macros.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_ios.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_macos.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_metal.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_raii.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_screen.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_shared.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_static_assertions.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_structs.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_to_string.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_vi.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_video.hpp -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_wayland.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_win32.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_xcb.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_xlib.h -FILE: ../../../flutter/third_party/swiftshader/include/vulkan/vulkan_xlib_xrandr.h -FILE: ../../../flutter/third_party/swiftshader/include/xcb/shm.h -FILE: ../../../flutter/third_party/swiftshader/include/xcb/xproto.h -FILE: ../../../flutter/third_party/swiftshader/infra/config/generated/commit-queue.cfg -FILE: ../../../flutter/third_party/swiftshader/infra/config/generated/project.cfg -FILE: ../../../flutter/third_party/swiftshader/infra/config/generated/realms.cfg -FILE: ../../../flutter/third_party/swiftshader/src/Android.bp -FILE: ../../../flutter/third_party/swiftshader/src/Device/ASTC_Decoder.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/ASTC_Decoder.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/BC_Decoder.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/BC_Decoder.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Blitter.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Blitter.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Clipper.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Clipper.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Config.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Context.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Context.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/ETC_Decoder.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/ETC_Decoder.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Memset.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/PixelProcessor.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/PixelProcessor.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Polygon.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Primitive.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/QuadRasterizer.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/QuadRasterizer.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Rasterizer.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Renderer.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Renderer.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/RoutineCache.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Sampler.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/SetupProcessor.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/SetupProcessor.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Stream.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/Vertex.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/VertexProcessor.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Device/VertexProcessor.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/ComputeProgram.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/ComputeProgram.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/Constants.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/Constants.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/PixelProgram.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/PixelProgram.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/PixelRoutine.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/PixelRoutine.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SamplerCore.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SamplerCore.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SetupRoutine.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SetupRoutine.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/ShaderCore.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/ShaderCore.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvBinary.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvBinary.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvID.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvProfiler.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvProfiler.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShader.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShader.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderArithmetic.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderControlFlow.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderDebug.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderDebugger.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderGLSLstd450.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderGroup.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderImage.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderInstructions.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderMemory.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderSampling.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/SpirvShaderSpec.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/VertexProgram.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/VertexProgram.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/VertexRoutine.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Pipeline/VertexRoutine.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Assert.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Assert.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/CPUID.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/CPUID.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Coroutine.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Debug.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Debug.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/ExecutableMemory.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/ExecutableMemory.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/LLVMAsm.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/LLVMAsm.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/LLVMJIT.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/LLVMReactor.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/LLVMReactor.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/LLVMReactorDebugInfo.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/LLVMReactorDebugInfo.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Nucleus.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Optimizer.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Optimizer.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Pragma.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Pragma.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/PragmaInternals.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Print.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Reactor.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Reactor.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/ReactorDebugInfo.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/ReactorDebugInfo.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Routine.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/SIMD.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/SIMD.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/SubzeroReactor.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Swizzle.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Traits.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/Traits.inl -FILE: ../../../flutter/third_party/swiftshader/src/Reactor/x86.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Build.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Build.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/CPUID.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/CPUID.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Configurator.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Configurator.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Debug.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Debug.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Half.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Half.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/LRUCache.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Linux/MemFd.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Linux/MemFd.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Math.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Math.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Memory.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Memory.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/SharedLibrary.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Socket.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Socket.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/SwiftConfig.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/SwiftConfig.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Synchronization.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Timer.cpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Timer.hpp -FILE: ../../../flutter/third_party/swiftshader/src/System/Types.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Context.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Context.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Debug.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/EventListener.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/EventListener.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/File.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/File.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/ID.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Location.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Server.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Server.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Thread.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Thread.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/TypeOf.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/TypeOf.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Value.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Value.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Variable.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/Variable.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Debug/WeakMap.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Version.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkBuffer.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkBuffer.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkBufferView.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkBufferView.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkCommandBuffer.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkCommandBuffer.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkCommandPool.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkCommandPool.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkConfig.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDebugUtilsMessenger.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDebugUtilsMessenger.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorPool.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorPool.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorSet.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorSet.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorSetLayout.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorSetLayout.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorUpdateTemplate.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDescriptorUpdateTemplate.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDestroy.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDevice.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDevice.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemory.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemory.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalAndroid.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalAndroid.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalFuchsia.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalHost.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalHost.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalLinux.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkDeviceMemoryExternalMac.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkEvent.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkFence.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkFormat.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkFormat.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkFramebuffer.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkFramebuffer.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkGetProcAddress.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkGetProcAddress.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkImage.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkImage.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkImageView.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkImageView.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkInstance.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkInstance.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkMemory.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkMemory.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkObject.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPhysicalDevice.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipeline.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipeline.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipelineCache.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipelineCache.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipelineLayout.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPipelineLayout.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPrivateData.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkPromotedExtensions.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkQueryPool.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkQueryPool.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkQueue.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkQueue.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkRenderPass.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkRenderPass.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkSampler.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkSampler.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkSemaphore.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkSemaphore.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkSemaphoreExternalFuchsia.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkSemaphoreExternalLinux.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkShaderModule.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkShaderModule.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkSpecializationInfo.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkSpecializationInfo.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkStringify.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkStringify.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkStructConversion.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkTimelineSemaphore.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VkTimelineSemaphore.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/Vulkan.rc -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/VulkanPlatform.hpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/android_host_vk_swiftshader.lds -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/android_vk_swiftshader.lds -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/fuchsia_vk_swiftshader.lds -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/libVulkan.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/main.cpp -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/resource.h -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/vk_swiftshader.def -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/vk_swiftshader.exports -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/vk_swiftshader.lds -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json -FILE: ../../../flutter/third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl -FILE: ../../../flutter/third_party/swiftshader/src/WSI/DirectFBSurfaceEXT.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/DirectFBSurfaceEXT.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/DisplaySurfaceKHR.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/DisplaySurfaceKHR.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/HeadlessSurfaceKHR.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/HeadlessSurfaceKHR.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/MetalSurface.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/MetalSurface.mm -FILE: ../../../flutter/third_party/swiftshader/src/WSI/VkSurfaceKHR.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/VkSurfaceKHR.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/VkSwapchainKHR.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/VkSwapchainKHR.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/WaylandSurfaceKHR.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/WaylandSurfaceKHR.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/Win32SurfaceKHR.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/Win32SurfaceKHR.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/XcbSurfaceKHR.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/XcbSurfaceKHR.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/libWaylandClient.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/libWaylandClient.hpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/libXCB.cpp -FILE: ../../../flutter/third_party/swiftshader/src/WSI/libXCB.hpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/bitutils.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/hex_float.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Common.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/HexFloat.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/ndk_test/test.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/VKLayer_monitor.def -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/VkLayer_api_dump.def -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/VkLayer_screenshot.def -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/api_dump.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_html.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_html.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_json.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_json.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_text.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_text.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_video_html.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_video_json.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/generated/api_dump_video_text.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/monitor.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/screenshot.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/screenshot_parsing.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/screenshot_parsing.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/vk_layer_table.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/layersvt/vk_layer_table.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system.hpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_bsd.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_bsd.hpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_linux.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_linux.hpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_macos.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_macos.hpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_windows.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/via/via_system_windows.hpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_doc.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_doc.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_layers.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_layers.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_reset.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_cmd/main_reset.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/alert.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/alert.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/application_singleton.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/application_singleton.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/bitfield.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/bitfield.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/command_line.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/command_line.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configuration.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configuration.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configuration_manager.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configuration_manager.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurator.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurator.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurator_signal.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/configurator_signal.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/date.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/date.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/doc.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/doc.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/executable.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/executable.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/executable_manager.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/executable_manager.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/header.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/header.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/help.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/help.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/is_dll_32.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/is_dll_32.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/json.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/json.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/json_validator.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/json_validator.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer_manager.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer_manager.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer_preset.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/layer_preset.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/parameter.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/parameter.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/path.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/path.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/registry.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/registry.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/serialization.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_bool.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_bool.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_filesystem.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_filesystem.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_flags.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_flags.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_float.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_float.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_frames.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_frames.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_group.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_group.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_int.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_int.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_list.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_list.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_string.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/setting_string.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_configuration_area.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_configuration_area.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_executable_mode.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_executable_mode.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_hide_message.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_hide_message.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_builtin.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_builtin.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_control.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_control.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_type.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layer_type.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layers_paths.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_layers_paths.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_log.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_log.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_override_area.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_override_area.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_platform.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_platform.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_status.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_status.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_tab.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/type_tab.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/ui.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/ui.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/util.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/util.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/version.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/version.h -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/vulkan_util.cpp -FILE: ../../../flutter/third_party/vulkan-deps/lunarg-vulkantools/src/vkconfig_core/vulkan_util.h -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/Package.swift -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/barrier.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/external_interface.h -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/image.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/internal_interface.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/sampler.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/include/spirv_cross/thread_group.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/main.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/pkg-config/spirv-cross-c-shared.pc.in -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/pkg-config/spirv-cross-c.pc.in -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/access-chain-invalidate.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/atomic-decrement.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/atomic-increment.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/bitcast_icmp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/block-name-alias-global.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/control-flow-hints.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/global-parameter-name-alias.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/nmin-max-clamp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/comp/nmin-max-clamp.relax-nan.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/array-of-structured-buffers.structured.fxconly.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/cbuffer-stripped.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/combined-sampler-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/empty-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/frem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/function-overload-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/image-extract-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/implicit-read-dep-phi.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/inf-nan-constant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/line-directive.line.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/lut-promotion-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/pack-and-unpack-uint2.fxconly.nofxc.sm60.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/pass-by-value.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/sample-and-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/single-function-private-lut.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/srem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/storage-class-output-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/structured-buffer.structured.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/texel-fetch-no-lod.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/texture-sampling-fp16.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/unknown-depth-state.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/frag/unreachable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/vert/extract-transposed-matrix-from-struct.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/vert/spec-constant-op-composite.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/vert/uint-vertex-id-instance-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/asm/vert/vertex-id-instance-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/access-chain-load-composite.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/access-chains.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/access-chains.force-uav.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/address-buffers.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/atomic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/barriers.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/builtins.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/composite-array-initialization.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/globallycoherent.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/image.nonwritable-uav-texture.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/inverse.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/num-workgroups-alone.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/num-workgroups-with-builtins.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/outer-product.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/rayquery.nofxc.fxconly.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/rmw-matrix.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/rwbuffer-matrix.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/scalar-std450-distance-length-normalize.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/shared.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/spec-constant-op-member-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/spec-constant-work-group-size.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/ssbo-array-length.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/ssbo-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/comp/ssbo-store-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/array.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/basic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/copy.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/dynamic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/matrix-conversion.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/matrixindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/multiindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/push-constant.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/struct.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/struct.rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/swizzle.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/flatten/types.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/array-lut-no-loop-variable.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/basic-color-3comp.sm30.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/basic-color-3comp.sm50.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/basic.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/bit-conversions.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/boolean-mix.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/builtins.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/bvec-operations.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/clip-cull-distance.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/combined-texture-sampler-parameter.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/combined-texture-sampler-shadow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/complex-expression-in-access-chain.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/constant-composites.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/control-dependent-in-branch.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/demote-to-helper.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/depth-greater-than.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/depth-less-than.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/dual-source-blending.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/early-fragment-test.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/for-loop-continue-control-flow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/fp16-packing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/front-facing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/hyperbolic.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/image-query-selective.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/image-query-uav.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/image-query-uav.nonwritable-uav-texture.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/image-query.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/input-attachment-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/input-attachment.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/io-block.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/legacy-tex-modifiers.sm30.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/lut-promotion.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/matrix-input.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/mod.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/mrt.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/no-return.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/no-return2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/nonuniform-qualifier.nonuniformresource.sm51.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/partial-write-preserve.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/pixel-interlock-ordered.sm51.fxconly.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/point-coord-compat.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/query-lod.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/readonly-coherent-ssbo.force-uav.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/readonly-coherent-ssbo.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/resources.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/row-major-layout-in-struct.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/sample-cmp-level-zero.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/sample-mask-in-and-out.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/sample-mask-in.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/sample-mask-out.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/sampler-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/sampler-image-arrays.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/scalar-refract-reflect.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/separate-combined-fake-overload.sm30.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/spec-constant-block-size.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/spec-constant-ternary.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/switch-unreachable-break.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/switch-unsigned-case.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/swizzle-scalar.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/tex-sampling-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/tex-sampling.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/tex-sampling.sm30.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/texel-fetch-offset.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/texture-proj-shadow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/texture-size-combined-image-sampler.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/unary-enclose.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/unorm-snorm-packing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/frag/various-glsl-ops.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/mesh/mesh-shader-basic-lines.spv14.vk.nocompat.mesh -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/mesh/mesh-shader-basic-triangle.spv14.vk.nocompat.mesh -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/task/task-basic.spv14.vk.nocompat.task -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/basic.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/clip-cull-distance.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/instancing.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/invariant.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/legacy-int-attribute.sm30.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/locations.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/matrix-attribute.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/matrix-output.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/no-contraction.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/no-input.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/point-size-compat.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/point-size.sm30.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/qualifiers.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/read-from-row-major-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/return-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/sampler-buffers.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/struct-composite-decl.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-hlsl/vert/texture_buffer.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/amd/shader_trinary_minmax.msl21.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/atomic-decrement.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/atomic-increment.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/bitcast_iadd.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/bitcast_icmp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/bitcast_sar.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/bitcast_sdiv.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/bitcast_slr.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/block-name-alias-global.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/buffer-write-relative-addr.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/buffer-write.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/copy-object-ssbo-to-ssbo.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/copy-object-ubo-to-ssbo.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/duplicate-spec-id.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/global-parameter-name-alias.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/image-load-store-short-vector.invalid.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/multiple-entry.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/op-spec-constant-op-vector-related.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/quantize.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/relaxed-block-layout.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/specialization-constant-workgroup.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/struct-resource-name-aliasing.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/uint_smulextended.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/undefined-constant-composite.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/undefined-spec-constant-composite.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/variable-pointers-2.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/variable-pointers-store-forwarding.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/vector-builtin-type-cast-func.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/comp/vector-builtin-type-cast.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/combined-sampler-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/default-member-names.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/depth-array-texture-lod.lod-as-grad.1d-as-2d.agx-cube-grad.msl23.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/depth-image-color-format-fetch.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/depth-image-color-format-sampled.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/descriptor-array-unnamed.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/disable-renamed-output.frag-output.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/empty-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/extract-packed-from-composite.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/frem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/function-overload-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/image-extract-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/implicit-read-dep-phi.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/inf-nan-constant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/interpolation-qualifiers-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/line-directive.line.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/locations-components.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/lut-promotion-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/min-lod.msl22.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/op-constant-null.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/op-image-sampled-image.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/pass-by-value.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/phi-loop-variable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/pull-model-interpolation.asm.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/sample-and-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/single-function-private-lut.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/srem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/storage-class-output-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/switch-different-sizes.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/switch-long-case.asm.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/switch-unsigned-long-case.asm.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/texel-fetch-no-lod.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/texture-atomics.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/texture-atomics.asm.graphics-robust-access.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/texture-sampling-fp16.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/undef-variable-store.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/unknown-depth-state.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/unord-relational-op.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/unord-relational-op.relax-nan.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/unreachable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/frag/vector-shuffle-oom.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/tesc/tess-level-overrun.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/tesc/tess-level-overrun.multi-patch.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/tese/unnamed-builtin-array.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/clip-distance-plain-variable.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/clip-distance-plain-variable.no-user-varying.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/copy-memory-interface.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/extract-transposed-matrix-from-struct.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/fake-builtin-input.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/invariant.msl21.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/packed-bool-to-uint.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/packed-bool2-to-packed_uint2.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/packing-test.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/spec-constant-op-composite.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/asm/vert/uint-vertex-id-instance-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/access-private-workgroup-in-function.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/argument-buffers-discrete.msl2.argument.discrete.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/argument-buffers-image-load-store.ios.msl2.argument.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/argument-buffers-image-load-store.msl2.argument.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/argument-buffers-runtime-array-buffer.argument.device-argument-buffer.argument-tier-1.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/argument-buffers-runtime-array-buffer.rich-descriptor.argument.device-argument-buffer.argument-tier-1.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/argument-buffers-runtime-array.argument.device-argument-buffer.argument-tier-1.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/array-length.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/array-length.msl2.argument.discrete.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/atomic-float.msl3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/atomic-image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/atomic-image.msl31.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/atomic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/barriers.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/basic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/basic.dispatchbase.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/basic.dispatchbase.msl11.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/basic.inline-block.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/buffer_device_address-packed-vec-and-cast-to-and-from-uvec2.msl23.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/buffer_device_address-recursive-struct-pointers.msl23.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/buffer_device_address.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/builtins.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/cfg-preserve-parameter.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/coherent-block.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/coherent-image-atomic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/coherent-image-atomic.msl2.argument.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/coherent-image-atomic.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/coherent-image-atomic.msl31.argument.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/coherent-image-atomic.msl31.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/coherent-image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/complex-composite-constant-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/complex-type-alias.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/composite-array-initialization.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/composite-array-initialization.force-native-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/composite-construct.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/copy-array-of-arrays.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/copy-array-of-arrays.force-native-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/culling.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/defer-parens.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/dowhile.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/force-recompile-hooks.swizzle.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/functions.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/global-invocation-id-writable-ssbo-in-function.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/global-invocation-id.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/image-atomic-automatic-bindings.argument.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/image-atomic-automatic-bindings.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/image-cube-array-load-store.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/insert.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/inverse.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/local-invocation-id.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/local-invocation-index.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/local-size-duplicate-spec-id.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/mat3-row-maj-read-write-const.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/mat3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/metal3_1_regression_patch.replace-recursive-inputs.msl3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/mod.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/modf.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/outer-product.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/packing-test-1.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/packing-test-2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/raw-buffer-descriptor-aliasing.argument.discrete.device-argument-buffer.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/raw-buffer-descriptor-aliasing.argument.discrete.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/ray-query.nocompat.spv14.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/ray-query.spv14.vk.ios.msl24..invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/read-write-only.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/rmw-matrix.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/rmw-opt.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/scalar-std450-distance-length-normalize.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shader_ballot.msl22.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shader_group_vote.msl21.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shared-array-of-arrays.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shared-matrix-array-of-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shared-matrix-cast.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shared-matrix-nested-struct-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shared-matrix-nested-struct.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shared-struct-bool-cast.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/shared.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/spec-constant-op-member-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/spec-constant-work-group-size.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/storage-buffer-std140-vector-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/struct-layout.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/struct-nested.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/struct-packing.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/threadgroup-boolean-workaround.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/torture-loop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/type-alias.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/type_casting_i64.msl22.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/udiv.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/comp/writable-ssbo.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/comp/extended-arithmetic.desktop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/frag/image-ms.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/frag/query-levels.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/frag/sampler-ms-query.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/tesc/arrayed-output.desktop.sso.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/tesc/basic.desktop.sso.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/tesc/basic.desktop.sso.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/tesc/struct-copy.desktop.sso.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/tesc/struct-copy.desktop.sso.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/tese/triangle.desktop.sso.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/vert/basic.desktop.sso.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/vert/clip-cull-distance..no-user-varying.desktop.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/vert/clip-cull-distance.desktop.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/vert/shader-draw-parameters.desktop.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/desktop-only/vert/shader-draw-parameters.desktop.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/flatten/basic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/flatten/multiindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/flatten/push-constant.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/flatten/rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/flatten/struct.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/flatten/swizzle.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/flatten/types.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/argument-buffers.msl2.argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/array-component-io.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/array-lut-no-loop-variable.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/array-of-array-lut.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/array-of-texture-swizzle-nonconstant-uniform.msl2.argument.discrete.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/array-of-texture-swizzle-nonconstant-uniform.msl2.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/array-of-texture-swizzle.msl2.argument.discrete.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/array-of-texture-swizzle.msl2.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/barycentric-nv-nopersp.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/barycentric-nv.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/basic.force-sample.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/basic.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/binary-func-unpack-pack-arguments.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/binary-unpack-pack-arguments.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/bitcasting.1d-as-2d.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/bitcasting.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/buffer-read-write.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/buffer-read-write.texture-buffer-native.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/builtins.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/clip-distance-varying.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/complex-expression-in-access-chain.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/composite-extract-forced-temporary.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/constant-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/constant-composites.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/control-dependent-in-branch.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/cull-distance-varying.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/depth-array-texture-lod.lod-as-grad.1d-as-2d.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/depth-greater-than.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/depth-less-than.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/depth-out-early-frag-tests.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/depth-out-no-early-frag-tests.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/disable-frag-output.frag-output.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/dual-source-blending.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/early-fragment-tests.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/false-loop-init.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/flush_params.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/for-loop-continue-control-flow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/for-loop-init.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/fp16-packing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/frag-demote-checks.discard-checks.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/frag-demote-checks.discard-checks.msl31.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/frag-discard-checks-continue-block.discard-checks.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/frag-discard-checks-continue-block.discard-checks.msl31.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/frag-discard-checks.discard-checks.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/frag-discard-checks.discard-checks.msl31.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/fragment-component-padding.pad-fragment.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/front-facing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/gather-dref.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/gather-offset.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/helper-invocation.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/huge-argument-buffer.device-argument-buffer.argument.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/illegal-name-test-0.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/image-query-lod.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/in_block.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/in_block_with_multiple_structs_of_same_type.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/in_mat.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/input-attachment-ms.arrayed-subpass.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/input-attachment-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/input-attachment-ms.multiview.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/input-attachment.arrayed-subpass.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/input-attachment.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/input-attachment.multiview.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/interpolation-qualifiers-block.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/interpolation-qualifiers.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/lut-promotion.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/mix.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/modf-access-tracking-function.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/mrt-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/nonuniform-qualifier.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/packed-expression-vector-shuffle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/packing-test-3.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/pixel-interlock-ordered.msl2.argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/pixel-interlock-ordered.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/pixel-interlock-ordered.msl31.argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/pixel-interlock-ordered.msl31.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/pls.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/post-depth-coverage.ios.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/post-depth-coverage.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/private-variable-prototype-declaration.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/ray-query-object-in-function.spv14.vk.msl24.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/read-cull-clip-distance-in-function.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/readonly-ssbo.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/return-value-after-discard-terminator.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/runtime_array_as_argument_buffer.msl3.argument-tier-1.rich-descriptor.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/runtime_array_as_argument_buffer_buf.msl3.argument-tier-1.rich-descriptor.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-depth-propagate-state-from-resource.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-depth-separate-image-sampler.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-mask-in-and-out.fixed-sample-mask.force-sample.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-mask-in-and-out.fixed-sample-mask.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-mask-not-used.fixed-sample-mask.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-mask.fixed-sample-mask.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-mask.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-position-func.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-position.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-rate-frag-coord-sample-id.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-rate-frag-coord-sample-input.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-rate-frag-coord-sample-pos.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sample-rate-frag-coord.force-sample.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-1d-lod.1d-as-2d.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-1d-lod.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-compare-bias.msl23.1d-as-2d.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-compare-cascade-gradient.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-compare-cascade-gradient.ios.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-compare-cascade-gradient.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-cube-grad.agx-cube-grad.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-image-arrays.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/sampler.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/scalar-refract-reflect.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/separate-image-sampler-argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/shader-arithmetic-8bit.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/spec-constant-block-size.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/spec-constant-ternary.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/stencil-export.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/subgroup-builtins.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/subgroup-globals-extract.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/switch-unreachable-break.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/switch-unsigned-case.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/texel-fetch-offset.1d-as-2d.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/texel-fetch-offset.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/texture-cube-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/texture-cube-array.ios.emulate-cube-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/texture-multisample-array.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/texture-proj-shadow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/ubo_layout.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/unary-enclose.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/vecsize-mismatch.shader-inputs.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/frag/write-depth-in-function.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/intel/shader-integer-functions2.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/legacy/vert/transpose.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/copy-arrays.mask-location-0.msl2.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/copy-arrays.mask-location-0.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/copy-arrays.mask-location-1.msl2.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/copy-arrays.mask-location-1.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs-block.mask-location-0.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs-block.mask-location-0.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs-block.mask-location-0.multi-patch.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs-block.mask-location-0.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs-block.mask-location-1.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs-block.mask-location-1.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs-block.mask-location-1.multi-patch.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs-block.mask-location-1.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-clip-distance.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-0.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-0.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-0.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-0.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-0.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-1.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-1.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-1.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-1.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-location-1.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-point-size.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-point-size.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-point-size.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-point-size.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-position.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/masking/write-outputs.mask-position.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/arrayed-block-io.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/basic.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/basic.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/complex-control-point-inout-types.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/complex-control-point-inout-types.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/complex-patch-out-types.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/load-control-point-array-of-matrix.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/load-control-point-array-of-matrix.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/load-control-point-array-of-struct.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/load-control-point-array-of-struct.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/load-control-point-array.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/load-control-point-array.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/matrix-output.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/reload-tess-level.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/reload-tess-level.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/struct-output.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/water_tess.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tesc/water_tess.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/in-array-of-struct.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/in-block-with-nested-struct.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/in-block-with-nested-struct.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/input-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/input-types.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/input-types.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/load-control-point-array-of-matrix.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/load-control-point-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/quad.domain.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/quad.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/read-patch-vertices-in-func.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/read-tess-level-in-func-quad.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/read-tess-level-in-func-quad.raw-tess-in.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/read-tess-level-in-func.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/read-tess-level-in-func.raw-tess-in.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/set-from-function.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/triangle-tess-level.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/triangle.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/water_tess.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/tese/water_tess.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/array-component-io.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/array-component-io.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/basic.capture.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/basic.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/basic.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/buffer_device_address.msl2.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/clip-distance-block.no-user-varying.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/clip-distance-block.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/copy.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/dynamic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/float-math.invariant-float-math.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/float-math.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/functions.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/implicit-position-1.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/implicit-position-2.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/in_out_array_mat.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/interface-block-block-composites.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/interface-block-block-composites.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/interface-block-single-element-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/interpolation-qualifiers-block.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/interpolation-qualifiers.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/invariant.msl21.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/leaf-function.capture.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/leaf-function.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/no-contraction.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/no-disable-vertex-out.frag-output.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/no_stage_out.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/no_stage_out.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/no_stage_out.write_buff.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/no_stage_out.write_buff_atomic.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/no_stage_out.write_tex.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/out-block-with-nested-struct-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/out-block-with-struct-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/out_block.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/packed-bool-to-uint.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/packed-bool2-to-packed_uint2.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/packed_matrix.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/pointsize.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/read-from-row-major-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/resource-arrays-leaf.ios.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/resource-arrays.ios.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/return-array.force-native-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/return-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/set_builtin_in_func.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/sign-int-types.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/signedness-mismatch.shader-inputs.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/texture_buffer.texture-buffer-native.msl21.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/texture_buffer.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/ubo.alignment.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/ubo.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/uniform-struct-out-of-order-offests.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/uniform-struct-packing-nested.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vert/unused-position.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/frag/basic.multiview.no-layered.nocompat.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/frag/basic.multiview.nocompat.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/frag/demote-to-helper-forwarding.asm.vk.nocompat.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/frag/demote-to-helper.vk.nocompat.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/frag/demote-to-helper.vk.nocompat.msl23.ios.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/frag/push-constant.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/frag/spec-constant.msl11.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/frag/spec-constant.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/vert/device-group.multiview.viewfromdev.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/vert/device-group.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/vert/multiview.multiview.no-layered.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/vert/multiview.multiview.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/vert/multiview.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/vert/small-storage.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-msl/vulkan/vert/vulkan-vertex.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/depth-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/global-constant-arrays.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/padded-float-array-member-defef.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/sample-mask-not-array.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/subpass-input.ios.framebuffer-fetch.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/subpass-input.msl23.framebuffer-fetch.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/texture-atomics.asm.argument.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/texture-atomics.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/frag/texture-atomics.asm.graphics-robust-access.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/tesc/hs-incorrect-base-type.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/tesc/hs-input-array-access.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/tesc/hs-texcoord-array.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/tesc/tess-factor-must-be-threadgroup.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/tese/ds-double-gl-in-deref.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/tese/ds-patch-input-fixes.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/tese/ds-patch-inputs.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/vert/array-missing-copies.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders-ue4/asm/vert/texture-buffer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/amd/gcn_shader.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/amd/shader_ballot.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/amd/shader_group_vote.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/amd/shader_trinary_minmax.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/atomic-decrement.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/atomic-increment.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/bitcast_iadd.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/bitcast_icmp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/bitcast_iequal.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/bitcast_sar.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/bitcast_sdiv.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/bitcast_slr.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/block-name-alias-global.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/builtin-compute-bitcast.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/control-flow-hints.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/decoration-group.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/global-parameter-name-alias.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/hlsl-functionality.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/logical.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/multiple-entry.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/nmin-max-clamp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/nmin-max-clamp.relax-nan.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/op-phi-swap.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/quantize.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/recompile-block-naming.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/specialization-constant-workgroup.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/switch-break-ladder.asm.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/comp/undefined-constant-composite.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/combined-sampler-reuse.vk.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/combined-sampler-reuse.vk.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/complex-name-workarounds.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/composite-construct-struct-no-swizzle.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/default-member-names.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/do-while-statement-fallback.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/empty-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/for-loop-phi-only-continue.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/frem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/function-overload-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/hlsl-sample-cmp-level-zero-cube.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/hlsl-sample-cmp-level-zero.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-extract-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-fetch-no-sampler.asm.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-fetch-no-sampler.asm.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-fetch-no-sampler.no-samplerless.asm.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-fetch-no-sampler.no-samplerless.asm.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-query-no-sampler.no-samplerless.vk.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-query-no-sampler.no-samplerless.vk.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-query-no-sampler.vk.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/image-query-no-sampler.vk.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/implicit-read-dep-phi.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/inf-nan-constant-double.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/inf-nan-constant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/invalidation.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/line-directive.line.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/locations-components.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/loop-body-dominator-continue-access.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/loop-header-to-continue.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/lut-promotion-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/multi-for-loop-init.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/op-constant-null.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/op-phi-swap-continue-block.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/out-of-bounds-access-opspecconstant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/out-of-bounds-access.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/pack-and-unpack-uint2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/pass-by-value.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/phi-loop-variable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/sample-and-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/sampler-buffer-array-without-sampler.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/sampler-buffer-without-sampler.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/single-function-private-lut.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/srem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/storage-class-output-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/struct-composite-extract-swizzle.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/switch-label-shared-block.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/switch-preserve-sign-extension.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/temporary-name-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/temporary-phi-hoisting.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/texel-fetch-no-lod.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/texture-sampling-fp16.asm.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/texture-sampling-fp16.asm.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/undef-variable-store.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/unknown-depth-state.asm.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/unknown-depth-state.asm.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/unreachable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/frag/vector-shuffle-oom.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/geom/block-name-namespace.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/geom/inout-split-access-chain-handle.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/geom/split-access-chain-input.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/geom/unroll-glposition-load.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/tese/unroll-input-array-load.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/empty-io.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/extract-transposed-matrix-from-struct.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/global-builtin.sso.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/invariant-block.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/invariant-block.sso.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/invariant.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/invariant.sso.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/spec-constant-op-composite.asm.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/spec-constant-op-composite.asm.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/asm/vert/uint-vertex-id-instance-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/atomic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/bake_gradient.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/barriers.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/basic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/casts.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/cfg-preserve-parameter.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/cfg.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/coherent-block.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/coherent-image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/composite-array-initialization.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/composite-construct.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/culling.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/defer-parens.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/dowhile.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/generate_height.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/insert.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/mat3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/mod.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/modf.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/outer-product.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/read-write-only.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/rmw-matrix.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/rmw-opt.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/scalar-std450-distance-length-normalize.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/shared.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/ssbo-array-length.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/ssbo-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/struct-layout.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/struct-packing.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/torture-loop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/type-alias.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/comp/udiv.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/comp/enhanced-layouts.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/comp/extended-arithmetic.desktop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/comp/fp64.desktop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/comp/image-formats.desktop.noeliminate.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/comp/int64.desktop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/clip-cull-distance.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/control-dependent-in-branch.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/depth-greater-than.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/depth-less-than.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/dual-source-blending.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/hlsl-uav-block-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/image-ms.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/image-query.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/image-size.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/image-size.no-qualifier-deduction.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/in-block-qualifiers.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/layout-component.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/query-levels.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/query-lod.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/sampler-ms-query.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/stencil-export.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/frag/texture-proj-shadow.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/geom/basic.desktop.sso.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/geom/viewport-index.desktop.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/tesc/basic.desktop.sso.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/tese/triangle.desktop.sso.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/vert/basic.desktop.sso.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/vert/clip-cull-distance.desktop.sso.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/vert/clip-cull-distance.desktop.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/vert/out-block-qualifiers.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/vert/shader-draw-parameters-450.desktop.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/vert/shader-draw-parameters-450.desktop.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/vert/shader-draw-parameters.desktop.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/desktop-only/vert/shader-draw-parameters.desktop.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/array.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/basic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/copy.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/dynamic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/matrix-conversion.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/matrixindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/multiindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/push-constant.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/struct.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/struct.rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/swizzle.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/flatten/types.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/array-lut-no-loop-variable.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/avoid-expression-lowering-to-loop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/barycentric-khr.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/barycentric-nv.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/basic.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/block-match-sad.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/block-match-ssd.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/box-filter.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/complex-expression-in-access-chain.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/composite-extract-forced-temporary.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/constant-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/constant-composites.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/false-loop-init.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/flush_params.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/for-loop-continue-control-flow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/for-loop-init.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/frexp-modf.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/front-facing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/gather-dref.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/ground.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/helper-invocation.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/hoisted-temporary-use-continue-block-as-value.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/image-load-store-uint-coord.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/inside-loop-dominated-variable-preservation.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/loop-dominator-and-switch-default.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/lut-promotion.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/mix.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/modf-pointer-function-analysis.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/partial-write-preserve.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/pixel-interlock-ordered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/pixel-interlock-unordered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/pls.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/post-depth-coverage-es.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/post-depth-coverage.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/round-even.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/round.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/sample-interlock-ordered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/sample-interlock-unordered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/sample-parameter.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/sample-weighted.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/sampler-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/sampler-proj.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/sampler.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/scalar-refract-reflect.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/selection-block-dominator.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/shader-clock.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/struct-type-unrelated-alias.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/switch-unreachable-break.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/switch-unsigned-case.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/texel-fetch-offset.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/ubo-load-row-major-workaround.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/ubo_layout.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/frag/unary-enclose.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/basic.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/geometry-passthrough.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/lines-adjacency.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/lines.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/multi-stream.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/points.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/single-invocation.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/transform-feedback-streams.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/triangles-adjacency.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/geom/triangles.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/explicit-lod.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/explicit-lod.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/fma.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/hyperbolic.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/io-blocks.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/isnan-isinf.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/modf.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/multiple-struct-flattening.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/round.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/struct-varying.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/fragment/switch.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/implicit-lod.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/int-attribute.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/inverse.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/io-block.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/outer-product.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/struct-flatten-inner-array.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/struct-flatten-stores-multi-dimension.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/struct-varying.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/switch-nested.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/legacy/vert/transpose.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/mesh/mesh-shader-basic-lines.spv14.vk.nocompat.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/mesh/mesh-shader-basic-points.spv14.vk.nocompat.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/mesh/mesh-shader-basic-triangle.spv14.vk.nocompat.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tesc/basic.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tesc/water_tess.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/ccw.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/cw.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/equal.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/fractional_even.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/fractional_odd.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/input-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/line.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/load-array-of-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/patch-input-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/read-patch-vertices-in-func.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/triangle.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/tese/water_tess.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/basic.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/ground.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/invariant.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/no-contraction.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/ocean.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/read-from-row-major-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/return-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/row-major-workaround.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/texture_buffer.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/transform-feedback-decorations.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vert/ubo.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/array-of-buffer-reference.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/buffer-reference-atomic.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/buffer-reference-base-alignment-promote.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/buffer-reference-bitcast-uvec2-2.nocompat.invalid.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/buffer-reference-bitcast-uvec2.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/buffer-reference-bitcast.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/buffer-reference-decorations.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/buffer-reference.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/fp-atomic.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/ray-query.nocompat.spv14.invalid.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/spec-constant-op-member-array.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/spec-constant-op-member-array.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/spec-constant-work-group-size.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/comp/spec-constant-work-group-size.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/block-match-sad.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/block-match-ssd.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/box-filter.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/combined-texture-sampler-shadow.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/combined-texture-sampler-shadow.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/combined-texture-sampler.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/combined-texture-sampler.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/demote-to-helper-forwarding.asm.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/demote-to-helper.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/desktop-mediump.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/desktop-mediump.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/input-attachment-ms.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/input-attachment-ms.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/input-attachment.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/input-attachment.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/nonuniform-qualifier.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/push-constant-as-ubo.push-ubo.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/push-constant-as-ubo.push-ubo.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/push-constant.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/push-constant.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/sample-weighted.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/separate-combined-fake-overload.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/separate-combined-fake-overload.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/separate-sampler-texture-array.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/separate-sampler-texture-array.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/separate-sampler-texture.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/separate-sampler-texture.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/shader-arithmetic-8bit.nocompat.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/spec-constant-block-size.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/spec-constant-block-size.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/spec-constant-ternary.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/frag/spec-constant-ternary.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rahit/terminators.khr.spv14.nocompat.vk.rahit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rahit/terminators.nocompat.vk.rahit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rcall/incoming-callable.khr.spv14.nocompat.vk.rcall.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_attribute_block.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_attribute_block.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_attribute_block_in_function.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_attribute_block_in_function.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_attribute_plain.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_attribute_plain.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_attribute_struct.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_attribute_struct.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_kind.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_kind.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_t.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/hit_t.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/incoming_ray_flags.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/incoming_ray_flags.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/instance_custom_id.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/instance_custom_id.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/instance_id.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/instance_id.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/object_ray_direction.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/object_ray_direction.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/object_ray_origin.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/object_ray_origin.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/object_to_world.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/object_to_world.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/payloads.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/payloads.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/primitive_id.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/primitive_id.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/ray_tmax.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/ray_tmax.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/ray_tmin.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/ray_tmin.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/ray_tracing.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/ray_tracing.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/world_ray_direction.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/world_ray_direction.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/world_ray_origin.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/world_ray_origin.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/world_to_object.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rchit/world_to_object.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/convert-u-to-as.spv14.vk.nocompat.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/execute_callable.nocompat.khr.spv14.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/execute_callable.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/launch_id.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/launch_id.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/launch_size.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/launch_size.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/payloads.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/pure_call.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/pure_call.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/ray_tracing.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/ray_tracing.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/shader_record_buffer.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rgen/shader_record_buffer.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rint/report-intersection.khr.spv14.nocompat.vk.rint.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rint/report-intersection.nocompat.vk.rint.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rmiss/ray_tracing.khr.spv14.nocompat.vk.rmiss.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rmiss/ray_tracing.nocompat.vk.rmiss.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/rmiss/ray_tracing_trace_incoming.khr.spv14.nocompat.vk.rmiss.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/vert/device-group.nocompat.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/vert/multiview.nocompat.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/vert/small-storage.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/vert/small-storage.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/vert/vulkan-vertex.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/opt/shaders/vulkan/vert/vulkan-vertex.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/access-chain-load-store-composite.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/aliased-struct-divergent-member-name.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/atomic-load-store.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/atomic-result-temporary.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/bitfield-signed-operations.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/bitscan.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/buffer-atomic-nonuniform.asm.sm51.nonuniformresource.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/constant-composite-undef.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/constant-lut-name-aliasing.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/eliminate-globals-not-in-entry-point.noeliminate.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/glsl-signed-operations.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/glsl.std450.frexp-modf-struct.fxconly.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/image-atomic-nonuniform.asm.sm51.nonuniformresource.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/local-size-id-override.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/local-size-id.asm.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/num-workgroups.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/spec-constant-name-aliasing.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/specialization-constant-workgroup.nofxc.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/comp/storage-buffer-basic.nofxc.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/anonymous-inner-struct-names.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/composite-insert-inheritance.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/empty-struct-in-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/image-fetch-uint-coord.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/nonuniform-bracket-handling-2.nonuniformresource.sm51.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/nonuniform-qualifier-propagation.nonuniformresource.sm51.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/nonuniform-ssbo.sm51.nonuniformresource.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/only-initializer-frag-depth.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/phi.zero-initialize.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/pixel-interlock-callstack.sm51.fxconly.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/pixel-interlock-control-flow.sm51.fxconly.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/pixel-interlock-split-functions.sm51.fxconly.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/reserved-function-identifier.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/sample-mask-load-store-array-uint.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/sample-mask-load-store-array.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/scalar-select.spv14.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/struct-packing-last-element-array-matrix-rule.invalid.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/subgroup-arithmetic-cast.invalid.nofxc.sm60.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/switch-block-case-fallthrough.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/unordered-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/unordered-compare.relax-nan.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/vec4-straddle-packing-holes.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/frag/vector-shuffle-undef-index.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/mesh/mesh-shader-dxil-spirv.flip-vert-y.asm.spv14.nofxc.nocompat.vk.mesh -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/mesh/mesh-shader-plain-builtin-outputs.spv14.asm.vk.nocompat.mesh -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/temporary.zero-initialize.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/vert/block-struct-initializer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/vert/builtin-output-initializer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/vert/complex-link-by-name.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/asm/vert/empty-struct-composite.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/bitfield.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/glsl.std450.fxconly.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/illegal-struct-name.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/intmin-literal.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/subgroups-boolean.invalid.nofxc.sm60.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/subgroups.invalid.nofxc.sm60.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/substruct-cbuffer-packing-straddle-top-level.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/substruct-cbuffer-packing-straddle.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/trivial-select-cast-vector.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/comp/trivial-select-matrix.spv14.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/cbuffer-packing-straddle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/constant-buffer-array.invalid.sm51.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/fp16.invalid.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/frag-coord.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/helper-invocation.fxconly.nofxc.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/native-16bit-types.fxconly.nofxc.sm62.native-16bit.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/nonuniform-constructor.sm51.nonuniformresource.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/pixel-interlock-simple-callstack.sm51.fxconly.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/spec-constant.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/texture-gather-uint-component.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/ubo-offset-out-of-order.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/variables.zero-initialize.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/frag/volatile-helper-invocation.fxconly.nofxc.spv16.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/mesh/mesh-shader-basic-triangle.spv14.vk.nocompat.nofxc.flip-vert-y.mesh -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/vert/base-instance.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/vert/base-vertex.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/vert/block-io-auto-location-assignment.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/vert/empty-shader.nofxc.sm30.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/vert/flatten-matrix-input.flatten-matrix-vertex-input.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl-no-opt/vert/pass-array-by-value.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/access-chain-invalidate.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/atomic-decrement.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/atomic-increment.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/bitcast_icmp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/block-name-alias-global.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/control-flow-hints.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/global-parameter-name-alias.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/nmin-max-clamp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/comp/nmin-max-clamp.relax-nan.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/array-of-structured-buffers.structured.fxconly.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/cbuffer-stripped.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/combined-sampler-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/empty-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/frem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/function-overload-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/image-extract-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/implicit-read-dep-phi.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/inf-nan-constant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/line-directive.line.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/lut-promotion-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/pack-and-unpack-uint2.fxconly.nofxc.sm60.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/pass-by-value.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/sample-and-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/single-function-private-lut.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/srem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/storage-class-output-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/structured-buffer.structured.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/texel-fetch-no-lod.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/texture-sampling-fp16.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/unknown-depth-state.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/frag/unreachable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/vert/extract-transposed-matrix-from-struct.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/vert/spec-constant-op-composite.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/vert/uint-vertex-id-instance-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/asm/vert/vertex-id-instance-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/access-chain-load-composite.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/access-chains.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/access-chains.force-uav.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/address-buffers.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/atomic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/barriers.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/builtins.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/composite-array-initialization.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/globallycoherent.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/image.nonwritable-uav-texture.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/inverse.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/num-workgroups-alone.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/num-workgroups-with-builtins.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/outer-product.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/rayquery.nofxc.fxconly.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/rmw-matrix.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/rwbuffer-matrix.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/scalar-std450-distance-length-normalize.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/shared.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/spec-constant-op-member-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/spec-constant-work-group-size.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/ssbo-array-length.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/ssbo-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/comp/ssbo-store-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/array.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/basic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/copy.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/dynamic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/matrix-conversion.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/matrixindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/multiindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/push-constant.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/struct.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/struct.rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/swizzle.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/flatten/types.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/array-lut-no-loop-variable.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/basic-color-3comp.sm30.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/basic-color-3comp.sm50.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/basic.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/bit-conversions.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/boolean-mix.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/builtins.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/bvec-operations.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/clip-cull-distance.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/combined-texture-sampler-parameter.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/combined-texture-sampler-shadow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/complex-expression-in-access-chain.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/constant-composites.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/control-dependent-in-branch.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/demote-to-helper.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/depth-greater-than.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/depth-less-than.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/dual-source-blending.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/early-fragment-test.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/for-loop-continue-control-flow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/fp16-packing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/front-facing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/hyperbolic.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/image-query-selective.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/image-query-uav.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/image-query-uav.nonwritable-uav-texture.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/image-query.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/input-attachment-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/input-attachment.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/io-block.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/legacy-tex-modifiers.sm30.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/lut-promotion.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/matrix-input.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/mod.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/mrt.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/no-return.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/no-return2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/nonuniform-qualifier.nonuniformresource.sm51.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/partial-write-preserve.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/pixel-interlock-ordered.sm51.fxconly.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/point-coord-compat.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/query-lod.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/readonly-coherent-ssbo.force-uav.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/readonly-coherent-ssbo.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/resources.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/row-major-layout-in-struct.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/sample-cmp-level-zero.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/sample-mask-in-and-out.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/sample-mask-in.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/sample-mask-out.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/sampler-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/sampler-image-arrays.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/scalar-refract-reflect.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/separate-combined-fake-overload.sm30.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/spec-constant-block-size.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/spec-constant-ternary.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/switch-unreachable-break.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/switch-unsigned-case.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/swizzle-scalar.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/tex-sampling-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/tex-sampling.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/tex-sampling.sm30.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/texel-fetch-offset.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/texture-proj-shadow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/texture-size-combined-image-sampler.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/unary-enclose.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/unorm-snorm-packing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/frag/various-glsl-ops.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/mesh/mesh-shader-basic-lines.spv14.vk.nocompat.mesh -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/mesh/mesh-shader-basic-triangle.spv14.vk.nocompat.mesh -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/task/task-basic.spv14.vk.nocompat.task -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/basic.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/clip-cull-distance.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/instancing.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/invariant.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/legacy-int-attribute.sm30.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/locations.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/matrix-attribute.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/matrix-output.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/no-contraction.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/no-input.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/point-size-compat.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/point-size.sm30.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/qualifiers.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/read-from-row-major-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/return-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/sampler-buffers.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/struct-composite-decl.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-hlsl/vert/texture_buffer.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/aliased-struct-divergent-member-name.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/arithmetic-conversion-signs.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/atomic-load-store.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/atomic-min-max-sign.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/atomic-result-temporary.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/bda-to-array-in-buffer.asm.spv16.msl24.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/bitcast-fp16-fp32.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/bitfield-signed-operations.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/bitscan.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/block-like-array-type-construct-2.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/block-like-array-type-construct.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/buffer-device-address-ptr-casting.msl24.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/composite-construct-buffer-struct.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/constant-composite-undef.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/constant-lut-name-aliasing.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/copy-logical-2.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/copy-logical-offset-and-array-stride-diffs.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/copy-logical.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/device-array-load-temporary.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/device-array-load-temporary.force-native-array.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/device-constant-array-load-store.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/device-constant-array-load-store.force-native-array.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/eliminate-globals-not-in-entry-point.noeliminate.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/glsl-signed-operations.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/glsl.std450.frexp-modf-struct.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/groupshared-inner-array-of-struct-copy.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/local-size-id-override.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/local-size-id.asm.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/modf-storage-class.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/opptrdiff-basic.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/opptrdiff-opptraccesschain-elem-offset.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/opptrequal-basic.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/opptrequal-row-maj-mtx-bypass-transpose.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/opptrnotequal-basic.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/spec-constant-name-aliasing.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/storage-buffer-basic.invalid.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/storage-buffer-pointer-argument.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/variable-pointers-2.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/variable-pointers-3.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/variable-pointers-vector-to-scalar.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/variable-pointers.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/comp/workgroup-uint-to-uchar-alias-ptr-access-chain.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/access-chain-array-ubo-partial.argument.msl2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/access-chain-array-ubo-partial.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/anonymous-inner-struct-names.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/component-insert-packed-expression.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/composite-insert-inheritance.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/constant-composite-block-no-array-stride-2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/copy-memory-block-like-thread-local.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/empty-struct-in-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/fixup-entry-point-identifier.nomain.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/image-fetch-uint-coord.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/image-gather.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/image-type-normal-comparison-usage.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/in_block_with_aliased_struct_and_name.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/input-attachment-unused-frag-coord.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/modf-frexp-scalar-access-chain-output.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/only-initializer-frag-depth.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/phi.zero-initialize.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/pixel-interlock-callstack.msl2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/pixel-interlock-control-flow.msl2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/pixel-interlock-split-functions.msl2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/private-initializer-direct-store.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/reserved-function-identifier.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/sample-mask-load-store-array-uint.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/sample-mask-load-store-array.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/scalar-select.spv14.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/subgroup-arithmetic-cast.msl21.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/switch-block-case-fallthrough.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/texture-access.swizzle.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/usage-tracking-modf-io-pointer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/frag/vector-shuffle-undef-index.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers-block.mask-location-0.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers-block.mask-location-0.multi-patch.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers-block.mask-location-1.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers-block.mask-location-1.multi-patch.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers-block.mask-point-size.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers-block.mask-point-size.multi-patch.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers-block.mask-position.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers-block.mask-position.multi-patch.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers.mask-location-0.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers.mask-location-0.msl2.multi-patch.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers.mask-location-1.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers.mask-location-1.multi-patch.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers.mask-point-size.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers.mask-point-size.msl2.multi-patch.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers.mask-position.msl2.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/masking/initializers.mask-position.msl2.multi-patch.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/composite-extract-row-major.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/load-packed-no-forwarding-2.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/load-packed-no-forwarding-3.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/load-packed-no-forwarding-4.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/load-packed-no-forwarding-5.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/load-packed-no-forwarding.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/packed-vector-extract-insert.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/row-major-split-access-chain.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-array-float2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-array-float3-one-element.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-array-float3.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-float2x2-col-major.invalid.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-float2x2-row-major.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-float2x3-col-major.invalid.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-float2x3-row-major.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-float3x2-col-major.invalid.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-float3x2-row-major.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-float3x3-col-major.invalid.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/packing/scalar-float3x3-row-major.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/temporary.zero-initialize.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/array-control-point-initializer.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/block-control-point-initializer.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/builtin-control-point-initializer.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/composite-control-point-initializer.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/copy-memory-control-point.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/copy-tess-level-tri.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/plain-control-point-initializer.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/tess-fixed-input-array-builtin-array.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/tess-fixed-input-array-builtin-array.invalid.multi-patch.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/tess-level-initializer-quad.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/tess-level-initializer-triangle.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tesc/tess-level-read-write-in-function-tri.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tese/copy-tess-level.asm.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/tese/split-access-chain.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/block-io-use-in-function.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/block-struct-initializer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/builtin-output-initializer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/composite-extract-physical-type-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/constant-composite-block-no-array-stride.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/duplicate-view-index.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/empty-struct-composite.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/op-load-forced-temporary-array.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/asm/vert/pointer-to-pointer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/array-copy-threadgroup-memory.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/basic.dynamic-buffer.msl2.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/bda-restrict-pointer-variable.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/bitcast-16bit-1.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/bitcast-16bit-2.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/bitfield.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/buffer-device-address-from-pointer-complex-chain.msl23.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/extract-atomics-from-function.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/glsl.std450.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/illegal-struct-name.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/image-array-atomic.msl31.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/implicit-integer-promotion.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/int16min-literal.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/int64.invalid.msl22.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/int64min-literal.msl22.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/integer-dot-product.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/intmin-literal.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/loop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/return.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/std140-array-load-composite-construct.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/struct-packing-scalar.nocompat.invalid.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/subgroups.nocompat.invalid.vk.msl12.emulate-subgroup.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/subgroups.nocompat.invalid.vk.msl21.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/subgroups.nocompat.invalid.vk.msl21.fixed-subgroup.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/subgroups.nocompat.invalid.vk.msl21.ios.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/subgroups.nocompat.invalid.vk.msl22.ios.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/subgroups.nocompat.invalid.vk.msl23.ios.simd.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/trivial-select-cast-vector.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/comp/trivial-select-matrix.spv14.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/components/fragment-input-component.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/components/fragment-output-component.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/components/fragment-output-component.pad-fragment.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/components/vertex-input-component.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/components/vertex-output-component.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/16bit-constants.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/combined-sampler-parameter-names.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/demote-to-helper.vk.nocompat.msl21.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/depth-image-gather.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/force-active-resources.msl2.argument..force-active.discrete.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/fp16.desktop.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/image-gather.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/in_block_assign.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/min-max-clamp.invalid.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/min-max-clamp.relax-nan.invalid.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/nonuniform-constructor.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/pixel-interlock-simple-callstack.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/pull-interpolant-access-chain.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/ray-query-mutability.spv14.vk.msl24.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/scalar-block-layout-ubo-std430.vk.nocompat.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/shadow-compare-global-alias.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/struct-bool-edge-cases.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subgroups.nocompat.invalid.vk.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subpass-input-attachment-index-fallback.msl20.ios.framebuffer-fetch.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subpass-input-attachment-index-fallback.msl23.framebuffer-fetch.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subpass-input-function-argument.framebuffer-fetch.ios.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subpass-input-function-argument.framebuffer-fetch.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subpass-input.decoration-binding.framebuffer-fetch.msl23.argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subpass-input.decoration-binding.framebuffer-fetch.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subpass-input.decoration-binding.ios.framebuffer-fetch.msl2.argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/subpass-input.decoration-binding.ios.framebuffer-fetch.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/texture-access-int.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/texture-access-leaf.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/texture-access-uint.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/texture-access.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/texture-gather-uint-component.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/ubo-array-multiple-structs-access-chain.argument.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/ubo-array-multiple-structs-access-chain.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/ubo-offset-out-of-order.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/variables.zero-initialize.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/frag/volatile-helper-invocation.msl23.spv16.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/array-of-vec3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/array-of-vec4.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/isolated-scalar-access.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/load-store-col-rows.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x2-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x2-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x2-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x3-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x3-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x3-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x4-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x4-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-2x4-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x2-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x2-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x2-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x3-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x3-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x3-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x4-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x4-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-3x4-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x2-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x2-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x2-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x3-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x3-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x3-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x4-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x4-std140.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-4x4-std430.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-multiply-row-major.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-multiply-unpacked-col-major-2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-multiply-unpacked-col-major.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-multiply-unpacked-row-major-2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/matrix-multiply-unpacked-row-major.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/member-padding.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/std140-array-of-vectors.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/std140-half-matrix-and-array-write.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/std140-half-matrix-and-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/struct-alignment.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/struct-packing-array-of-scalar.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/struct-packing-recursive.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/struct-packing.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/struct-size-padding-array-of-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/packing/struct-size-padding.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/tesc/copy-tess-level.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/tesc/passthrough-clip-cull.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/tesc/tess-level-read-write-in-function-quad.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/tese/builtin-input-automatic-attribute-assignment.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/tese/load-clip-cull.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/cull-distance.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/functions_nested.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/layer.msl11.invalid.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/modf-storage-class.capture.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/pass-array-by-value.force-native-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/pass-array-by-value.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/uninitialized-vertex-output.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vert/viewport-index.msl2.invalid.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl-no-opt/vulkan/frag/texture-access-function.swizzle.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/amd/shader_trinary_minmax.msl21.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/atomic-decrement.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/atomic-increment.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/bitcast_iadd.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/bitcast_icmp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/bitcast_sar.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/bitcast_sdiv.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/bitcast_slr.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/block-name-alias-global.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/buffer-write-relative-addr.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/buffer-write.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/copy-object-ssbo-to-ssbo.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/copy-object-ubo-to-ssbo.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/duplicate-spec-id.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/global-parameter-name-alias.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/image-load-store-short-vector.invalid.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/multiple-entry.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/op-spec-constant-op-vector-related.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/quantize.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/relaxed-block-layout.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/specialization-constant-workgroup.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/struct-resource-name-aliasing.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/uint_smulextended.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/undefined-constant-composite.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/undefined-spec-constant-composite.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/variable-pointers-2.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/variable-pointers-store-forwarding.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/vector-builtin-type-cast-func.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/comp/vector-builtin-type-cast.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/combined-sampler-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/default-member-names.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/depth-array-texture-lod.lod-as-grad.1d-as-2d.agx-cube-grad.msl23.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/depth-image-color-format-fetch.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/depth-image-color-format-sampled.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/descriptor-array-unnamed.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/disable-renamed-output.frag-output.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/empty-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/extract-packed-from-composite.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/frem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/function-overload-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/image-extract-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/implicit-read-dep-phi.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/inf-nan-constant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/interpolation-qualifiers-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/line-directive.line.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/locations-components.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/lut-promotion-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/min-lod.msl22.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/op-constant-null.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/op-image-sampled-image.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/pass-by-value.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/phi-loop-variable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/pull-model-interpolation.asm.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/sample-and-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/single-function-private-lut.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/srem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/storage-class-output-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/switch-different-sizes.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/switch-long-case.asm.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/switch-unsigned-long-case.asm.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/texel-fetch-no-lod.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/texture-atomics.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/texture-atomics.asm.graphics-robust-access.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/texture-sampling-fp16.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/undef-variable-store.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/unknown-depth-state.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/unord-relational-op.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/unord-relational-op.relax-nan.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/unreachable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/frag/vector-shuffle-oom.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/tesc/tess-level-overrun.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/tesc/tess-level-overrun.multi-patch.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/tese/unnamed-builtin-array.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/clip-distance-plain-variable.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/clip-distance-plain-variable.no-user-varying.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/copy-memory-interface.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/extract-transposed-matrix-from-struct.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/fake-builtin-input.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/invariant.msl21.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/packed-bool-to-uint.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/packed-bool2-to-packed_uint2.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/packing-test.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/spec-constant-op-composite.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/asm/vert/uint-vertex-id-instance-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/access-private-workgroup-in-function.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/argument-buffers-discrete.msl2.argument.discrete.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/argument-buffers-image-load-store.ios.msl2.argument.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/argument-buffers-image-load-store.msl2.argument.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/argument-buffers-runtime-array-buffer.argument.device-argument-buffer.argument-tier-1.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/argument-buffers-runtime-array-buffer.rich-descriptor.argument.device-argument-buffer.argument-tier-1.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/argument-buffers-runtime-array.argument.device-argument-buffer.argument-tier-1.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/array-length.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/array-length.msl2.argument.discrete.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/atomic-float.msl3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/atomic-image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/atomic-image.msl31.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/atomic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/barriers.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/basic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/basic.dispatchbase.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/basic.dispatchbase.msl11.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/basic.inline-block.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/buffer_device_address-packed-vec-and-cast-to-and-from-uvec2.msl23.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/buffer_device_address-recursive-struct-pointers.msl23.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/buffer_device_address.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/builtins.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/cfg-preserve-parameter.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/coherent-block.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/coherent-image-atomic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/coherent-image-atomic.msl2.argument.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/coherent-image-atomic.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/coherent-image-atomic.msl31.argument.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/coherent-image-atomic.msl31.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/coherent-image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/complex-composite-constant-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/complex-type-alias.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/composite-array-initialization.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/composite-array-initialization.force-native-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/composite-construct.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/copy-array-of-arrays.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/copy-array-of-arrays.force-native-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/culling.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/defer-parens.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/dowhile.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/force-recompile-hooks.swizzle.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/functions.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/global-invocation-id-writable-ssbo-in-function.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/global-invocation-id.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/image-atomic-automatic-bindings.argument.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/image-atomic-automatic-bindings.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/image-cube-array-load-store.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/insert.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/inverse.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/local-invocation-id.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/local-invocation-index.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/local-size-duplicate-spec-id.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/mat3-row-maj-read-write-const.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/mat3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/metal3_1_regression_patch.replace-recursive-inputs.msl3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/mod.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/modf.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/outer-product.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/packing-test-1.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/packing-test-2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/raw-buffer-descriptor-aliasing.argument.discrete.device-argument-buffer.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/raw-buffer-descriptor-aliasing.argument.discrete.msl2.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/ray-query.spv14.vk.ios.msl24..invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/read-write-only.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/rmw-matrix.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/rmw-opt.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/scalar-std450-distance-length-normalize.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shader_ballot.msl22.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shader_group_vote.msl21.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shared-array-of-arrays.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shared-matrix-array-of-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shared-matrix-cast.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shared-matrix-nested-struct-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shared-matrix-nested-struct.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shared-struct-bool-cast.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/shared.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/spec-constant-op-member-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/spec-constant-work-group-size.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/storage-buffer-std140-vector-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/struct-layout.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/struct-nested.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/struct-packing.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/threadgroup-boolean-workaround.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/torture-loop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/type-alias.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/type_casting_i64.msl22.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/udiv.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/comp/writable-ssbo.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/comp/extended-arithmetic.desktop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/frag/image-ms.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/frag/query-levels.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/frag/sampler-ms-query.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/tesc/arrayed-output.desktop.sso.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/tesc/basic.desktop.sso.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/tesc/basic.desktop.sso.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/tesc/struct-copy.desktop.sso.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/tesc/struct-copy.desktop.sso.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/tese/triangle.desktop.sso.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/vert/basic.desktop.sso.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/vert/clip-cull-distance..no-user-varying.desktop.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/vert/clip-cull-distance.desktop.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/vert/shader-draw-parameters.desktop.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/desktop-only/vert/shader-draw-parameters.desktop.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/flatten/basic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/flatten/multiindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/flatten/push-constant.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/flatten/rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/flatten/struct.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/flatten/swizzle.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/flatten/types.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/argument-buffers.msl2.argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/array-component-io.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/array-lut-no-loop-variable.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/array-of-array-lut.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/array-of-texture-swizzle-nonconstant-uniform.msl2.argument.discrete.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/array-of-texture-swizzle-nonconstant-uniform.msl2.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/array-of-texture-swizzle.msl2.argument.discrete.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/array-of-texture-swizzle.msl2.swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/barycentric-nv-nopersp.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/barycentric-nv.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/basic.force-sample.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/basic.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/binary-func-unpack-pack-arguments.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/binary-unpack-pack-arguments.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/bitcasting.1d-as-2d.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/bitcasting.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/buffer-read-write.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/buffer-read-write.texture-buffer-native.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/builtins.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/clip-distance-varying.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/complex-expression-in-access-chain.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/composite-extract-forced-temporary.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/constant-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/constant-composites.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/control-dependent-in-branch.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/cull-distance-varying.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/depth-array-texture-lod.lod-as-grad.1d-as-2d.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/depth-greater-than.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/depth-less-than.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/depth-out-early-frag-tests.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/depth-out-no-early-frag-tests.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/disable-frag-output.frag-output.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/dual-source-blending.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/early-fragment-tests.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/false-loop-init.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/flush_params.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/for-loop-continue-control-flow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/for-loop-init.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/fp16-packing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/frag-demote-checks.discard-checks.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/frag-demote-checks.discard-checks.msl31.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/frag-discard-checks-continue-block.discard-checks.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/frag-discard-checks-continue-block.discard-checks.msl31.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/frag-discard-checks.discard-checks.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/frag-discard-checks.discard-checks.msl31.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/fragment-component-padding.pad-fragment.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/front-facing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/gather-dref.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/gather-offset.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/helper-invocation.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/huge-argument-buffer.device-argument-buffer.argument.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/illegal-name-test-0.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/image-query-lod.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/in_block.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/in_block_with_multiple_structs_of_same_type.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/in_mat.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/input-attachment-ms.arrayed-subpass.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/input-attachment-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/input-attachment-ms.multiview.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/input-attachment.arrayed-subpass.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/input-attachment.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/input-attachment.multiview.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/interpolation-qualifiers-block.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/interpolation-qualifiers.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/lut-promotion.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/mix.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/modf-access-tracking-function.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/mrt-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/nonuniform-qualifier.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/packed-expression-vector-shuffle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/packing-test-3.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/pixel-interlock-ordered.msl2.argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/pixel-interlock-ordered.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/pixel-interlock-ordered.msl31.argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/pixel-interlock-ordered.msl31.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/pls.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/post-depth-coverage.ios.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/post-depth-coverage.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/private-variable-prototype-declaration.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/ray-query-object-in-function.spv14.vk.msl24.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/read-cull-clip-distance-in-function.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/readonly-ssbo.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/return-value-after-discard-terminator.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/runtime_array_as_argument_buffer.msl3.argument-tier-1.rich-descriptor.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/runtime_array_as_argument_buffer_buf.msl3.argument-tier-1.rich-descriptor.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-depth-propagate-state-from-resource.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-depth-separate-image-sampler.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-mask-in-and-out.fixed-sample-mask.force-sample.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-mask-in-and-out.fixed-sample-mask.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-mask-not-used.fixed-sample-mask.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-mask.fixed-sample-mask.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-mask.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-position-func.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-position.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-rate-frag-coord-sample-id.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-rate-frag-coord-sample-input.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-rate-frag-coord-sample-pos.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sample-rate-frag-coord.force-sample.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-1d-lod.1d-as-2d.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-1d-lod.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-compare-bias.msl23.1d-as-2d.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-compare-cascade-gradient.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-compare-cascade-gradient.ios.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-compare-cascade-gradient.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-cube-grad.agx-cube-grad.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-image-arrays.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/sampler.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/scalar-refract-reflect.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/separate-image-sampler-argument.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/shader-arithmetic-8bit.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/spec-constant-block-size.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/spec-constant-ternary.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/stencil-export.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/subgroup-builtins.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/subgroup-globals-extract.msl22.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/switch-unreachable-break.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/switch-unsigned-case.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/texel-fetch-offset.1d-as-2d.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/texel-fetch-offset.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/texture-cube-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/texture-cube-array.ios.emulate-cube-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/texture-multisample-array.msl21.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/texture-proj-shadow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/ubo_layout.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/unary-enclose.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/vecsize-mismatch.shader-inputs.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/frag/write-depth-in-function.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/intel/shader-integer-functions2.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/legacy/vert/transpose.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/copy-arrays.mask-location-0.msl2.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/copy-arrays.mask-location-0.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/copy-arrays.mask-location-1.msl2.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/copy-arrays.mask-location-1.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs-block.mask-location-0.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs-block.mask-location-0.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs-block.mask-location-0.multi-patch.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs-block.mask-location-0.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs-block.mask-location-1.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs-block.mask-location-1.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs-block.mask-location-1.multi-patch.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs-block.mask-location-1.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-clip-distance.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-0.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-0.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-0.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-0.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-0.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-1.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-1.msl2.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-1.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-1.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-location-1.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-point-size.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-point-size.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-point-size.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-point-size.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-position.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/masking/write-outputs.mask-position.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/arrayed-block-io.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/basic.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/basic.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/complex-control-point-inout-types.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/complex-control-point-inout-types.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/complex-patch-out-types.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/load-control-point-array-of-matrix.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/load-control-point-array-of-matrix.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/load-control-point-array-of-struct.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/load-control-point-array-of-struct.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/load-control-point-array.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/load-control-point-array.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/matrix-output.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/reload-tess-level.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/reload-tess-level.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/struct-output.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/water_tess.multi-patch.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tesc/water_tess.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/in-array-of-struct.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/in-block-with-nested-struct.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/in-block-with-nested-struct.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/input-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/input-types.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/input-types.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/load-control-point-array-of-matrix.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/load-control-point-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/quad.domain.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/quad.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/read-patch-vertices-in-func.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/read-tess-level-in-func-quad.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/read-tess-level-in-func-quad.raw-tess-in.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/read-tess-level-in-func.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/read-tess-level-in-func.raw-tess-in.msl2.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/set-from-function.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/triangle-tess-level.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/triangle.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/water_tess.raw-tess-in.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/tese/water_tess.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/array-component-io.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/array-component-io.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/basic.capture.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/basic.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/basic.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/buffer_device_address.msl2.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/clip-distance-block.no-user-varying.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/clip-distance-block.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/copy.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/dynamic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/float-math.invariant-float-math.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/float-math.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/functions.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/implicit-position-1.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/implicit-position-2.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/in_out_array_mat.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/interface-block-block-composites.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/interface-block-block-composites.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/interface-block-single-element-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/interpolation-qualifiers-block.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/interpolation-qualifiers.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/invariant.msl21.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/leaf-function.capture.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/leaf-function.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/no-contraction.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/no-disable-vertex-out.frag-output.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/no_stage_out.for-tess.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/no_stage_out.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/no_stage_out.write_buff.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/no_stage_out.write_buff_atomic.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/no_stage_out.write_tex.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/out-block-with-nested-struct-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/out-block-with-struct-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/out_block.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/packed-bool-to-uint.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/packed-bool2-to-packed_uint2.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/packed_matrix.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/pointsize.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/read-from-row-major-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/resource-arrays-leaf.ios.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/resource-arrays.ios.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/return-array.force-native-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/return-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/set_builtin_in_func.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/sign-int-types.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/signedness-mismatch.shader-inputs.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/texture_buffer.texture-buffer-native.msl21.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/texture_buffer.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/ubo.alignment.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/ubo.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/uniform-struct-out-of-order-offests.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/uniform-struct-packing-nested.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vert/unused-position.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/frag/basic.multiview.no-layered.nocompat.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/frag/basic.multiview.nocompat.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/frag/demote-to-helper-forwarding.asm.vk.nocompat.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/frag/demote-to-helper.vk.nocompat.msl23.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/frag/demote-to-helper.vk.nocompat.msl23.ios.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/frag/push-constant.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/frag/spec-constant.msl11.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/frag/spec-constant.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/vert/device-group.multiview.viewfromdev.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/vert/device-group.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/vert/multiview.multiview.no-layered.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/vert/multiview.multiview.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/vert/multiview.nocompat.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/vert/small-storage.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-msl/vulkan/vert/vulkan-vertex.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/access-chain-dominator-in-loop-body-2.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/access-chain-dominator-in-loop-body.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/access-tracking-function-call-result.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/aliased-struct-divergent-member-name.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/arithmetic-conversion-signs.asm.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/atomic-load-store.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/atomic-result-temporary.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/basic.spv16.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/bda-to-array-in-buffer.asm.spv16.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/bitcast-fp16-fp32.asm.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/bitcast-fp16-fp32.asm.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/bitfield-signed-operations.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/bitscan.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/block-undef.noeliminate.invalid.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-atomic-nonuniform.vk.nocompat.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-device-address-ptr-casting.vk.nocompat.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-aliased-block-name.nocompat.vk.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-chained-access.spv16.asm.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-pointer-to-plain-struct.asm.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-pointer-to-pod-in-buffer.asm.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-pointer-to-std140-std430-array.asm.spv16.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-pointer-to-unused-pod-in-buffer.asm.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-synthesized-pointer-2.asm.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-synthesized-pointer-to-pointer.asm.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/buffer-reference-synthesized-pointer.asm.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/constant-composite-undef.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/constant-lut-name-aliasing.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/copy-logical.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/eliminate-globals-not-in-entry-point.noeliminate.spv14.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/empty-ubo-block.noeliminate.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/expression-nesting-limits.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/extended-debug-extinst.invalid.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/fuzz-collapse-degenerate-loop.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/fuzz-loop-variable-dominator-with-unreachable-continue-block.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/glsl-signed-operations.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/glsl.std450.frexp-modf-struct.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/image-atomic-nonuniform.vk.nocompat.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/local-size-id-override.vk.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/local-size-id-override.vk.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/local-size-id.vk.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/local-size-id.vk.invalid.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/local-size-id.vk.invalid.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/loop-variable-early-read-with-initializer.asm.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/loop-variable-early-read-with-undef.asm.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/loop-variable-with-initializer.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/multi-break-switch-out-of-loop.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/nonuniform-bracket-handling.vk.nocompat.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/phi-temporary-copy-loop-variable.asm.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/ray-query-force-temporary-rtas.spv14.asm.vk.nocompat.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/ray-query-function-object.spv14.asm.vk.nocompat.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/spec-constant-name-aliasing.vk.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/spec-constant-name-aliasing.vk.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/spec-constant-op-convert-sign.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/storage-buffer-basic.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/comp/temorary-access-terminator.vk.nocompat.asm.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/degenerate-selection-constructs.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/anonymous-inner-struct-names.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/array-builtin-bitcast-load-store.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/collapsed-switch-phi-flush.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/combined-image-sampler-dxc-min16float.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/complex-opaque-handle-reuse-in-loop.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/composite-insert-hoisted-temporaries-1.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/composite-insert-hoisted-temporaries-2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/composite-insert-inheritance.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/demote-impure-function-call.vk.nocompat.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/discard-impure-function-call.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/do-while-continue-phi.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/do-while-loop-inverted-test.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/early-conditional-return-switch.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/empty-struct-in-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/for-loop-dedicated-merge-block-inverted.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/for-loop-dedicated-merge-block-non-inverted.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/for-loop-inverted-test.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/image-fetch-uint-coord.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/inliner-dominator-inside-loop.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/late-expression-invalidation-2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/late-expression-invalidation.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/ldexp-uint-exponent.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/loop-merge-to-continue.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/nonuniform-bracket-handling-2.vk.nocompat.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/nonuniform-qualifier-propagation.vk.nocompat.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/nonuniform-ssbo.nocompat.vk.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/only-initializer-frag-depth.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/opaque-id-literal-alias.preserve.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/out-of-order-struct-id.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/phi-alternative-precision.asm..vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/phi.zero-initialize.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/pixel-interlock-callstack.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/pixel-interlock-control-flow.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/pixel-interlock-split-functions.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/relaxed-precision-inheritance-rules-hoisted-temporaries.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/relaxed-precision-inheritance-rules-hoisted-temporary.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/relaxed-precision-inheritance-rules.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/reserved-function-identifier.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/reserved-identifiers.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/sample-mask-load-store-array-uint.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/sample-mask-load-store-array.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/scalar-select.spv14.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/selection-merge-to-continue.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/sparse-texture-feedback-uint-code.asm.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/subgroup-arithmetic-cast.nocompat.vk.asm.invalid.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/subgroup-ballot-only.vk.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/subgroup-ballot-only.vk.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/switch-block-case-fallthrough.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/switch-merge-to-continue.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/switch-non-default-fallthrough-no-phi.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/switch-single-case-multiple-exit-cfg.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/terminate-impure-function-call.spv16.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/texel-fetch-ms-uint-sample.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/unordered-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/unordered-compare.relax-nan.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/vector-extract-dynamic-spec-constant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/vector-shuffle-undef-index.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/frag/while-loop-inverted-test.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/geom/store-uint-layer.invalid.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/loop-header-self-continue-break.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/mesh/invariant-position-dx-style.vk.nocompat.spv14.asm.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/mesh/mesh-shader-clip-cull.vk.nocompat.spv14.asm.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/mesh/mesh-shader-plain-builtin-outputs.spv14.asm.vk.nocompat.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/rgen/acceleration-nonuniform.spv14.vk.nocompat.asm.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/task/task-shader.vk.nocompat.spv14.asm.task.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/temporary.zero-initialize.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/tesc/array-of-block-output-initializer.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/tesc/copy-memory-control-point.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/tesc/tess-fixed-input-array-builtin-array.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/tesc/tess-level-initializer.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/block-struct-initializer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/builtin-output-initializer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/complex-link-by-name.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/complex-link-by-name.force-flattened-io.legacy.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/constant-composite-extract.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/debug-printf.asm.vk.nocompat.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/empty-struct-composite.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/fma-legacy-fallback.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/asm/vert/semantic-decoration.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/bitcast-16bit-1.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/bitcast-16bit-2.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/bitfield.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/glsl.std450.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/illegal-struct-name.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/image-load-formatted.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/inout-struct.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/int16min-literal.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/int64min-literal.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/intmin-literal.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/loop-break-merge-after-inner-continue.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/loop-resolve-debug-semantics.g.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/loop-resolve-debug-semantics.gV.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/loop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/return.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/shader_ballot_nonuniform_invocations.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/specialization-constant-evaluation.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/struct-packing-scalar.nocompat.invalid.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups.nocompat.invalid.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_arithmetic_fadd.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_arithmetic_fadd.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_arithmetic_fmul.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_arithmetic_fmul.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_arithmetic_iadd.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_arithmetic_iadd.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_arithmetic_imul.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_arithmetic_imul.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_basicvoteballot.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/subgroups_basicvoteballot.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/trivial-select-cast-vector.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/comp/trivial-select-matrix.spv14.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/16bit-constants.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/fp16.invalid.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/frag-fully-covered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/fs.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/image-gather.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/mesh-shader-perprimitive.spv14.nocompat.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/modf-non-function-purity-analysis.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/multi-dimensional.desktop.invalid.flatten_dim.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/nonuniform-constructor.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/pixel-interlock-simple-callstack.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/scalar-block-layout-ubo-std430.vk.nocompat.invalid.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/sparse-texture-clamp.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/sparse-texture-feedback.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/subpass-input.framebuffer-fetch.nocompat.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/subpass-input.framebuffer-fetch.nocompat.framebuffer-fetch-noncoherent.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/subpass-input.framebuffer-fetch.nocompat.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/subpass-input.framebuffer-fetch.nocompat.legacy.framebuffer-fetch-noncoherent.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/texture-gather-offsets.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/texture-gather-uint-component.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/texture1d-emulation.es.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/texture1d-emulation.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/frag/variables.zero-initialize.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/legacy/frag/switch-single-case-multiple-exit-cfg.legacy.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/mesh/invariant-position-mesh.spv14.nocompat.vk.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/task/task-shader-basic-2.vk.spv14.nocompat.task.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/task/task-shader-basic.vk.spv14.nocompat.task.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vert/io-blocks.force-flattened-io.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vert/pass-array-by-value.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vulkan/comp/image-64bit.vk.nocompat.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vulkan/frag/shading-rate.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vulkan/frag/spec-constant.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vulkan/frag/spec-constant.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vulkan/frag/ubo-offset-out-of-order.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vulkan/frag/volatile-helper-invocation.vk.nocompat.spv16.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-no-opt/vulkan/vert/primitive-shading-rate.vk.nocompat.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/aliased-entry-point-names.asm.multi.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/comp/pointer-to-array-of-physical-pointer.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/op-source-glsl-ssbo-1.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/op-source-glsl-ssbo-2.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/op-source-hlsl-uav-1.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/op-source-hlsl-uav-2.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/op-source-none-ssbo-1.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/op-source-none-ssbo-2.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/op-source-none-uav-1.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/asm/op-source-none-uav-2.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/comp/array-of-physical-pointer.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/comp/function-pointer.invalid.asm.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/comp/out-of-order-block-offsets.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/comp/physical-pointer.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/comp/struct-layout.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/comp/struct-packing.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/comp/workgroup-size-spec-constant.comp.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/frag/combined-texture-sampler-shadow.vk.frag.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/frag/combined-texture-sampler.vk.frag.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/frag/image-load-store-uint-coord.asm.frag.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/frag/input-attachment-ms.vk.frag.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/frag/input-attachment.vk.frag.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/frag/push-constant.vk.frag.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/frag/separate-sampler-texture-array.vk.frag.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/frag/spec-constant.vk.frag.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/rgen/acceleration_structure.vk.rgen.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/vert/array-size-reflection.vert.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/vert/read-from-row-major-array.vert.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/vert/stride-reflection.vert.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-reflection/vert/texture_buffer.vert.json -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4-no-opt/asm/frag/accesschain-invalid-expression.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4-no-opt/asm/frag/array-copy-error.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4-no-opt/asm/frag/phi-variable-declaration.asm.invalid.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4-no-opt/asm/tese/ds-texcoord-array.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4-no-opt/asm/vert/loop-accesschain-writethrough.asm.invalid.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/depth-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/global-constant-arrays.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/padded-float-array-member-defef.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/sample-mask-not-array.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/subpass-input.ios.framebuffer-fetch.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/subpass-input.msl23.framebuffer-fetch.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/texture-atomics.asm.argument.msl2.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/texture-atomics.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/frag/texture-atomics.asm.graphics-robust-access.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/tesc/hs-incorrect-base-type.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/tesc/hs-input-array-access.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/tesc/hs-texcoord-array.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/tesc/tess-factor-must-be-threadgroup.invalid.asm.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/tese/ds-double-gl-in-deref.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/tese/ds-patch-input-fixes.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/tese/ds-patch-inputs.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/vert/array-missing-copies.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders-ue4/asm/vert/texture-buffer.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/amd/gcn_shader.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/amd/shader_ballot.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/amd/shader_group_vote.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/amd/shader_trinary_minmax.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/atomic-decrement.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/atomic-increment.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/bitcast_iadd.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/bitcast_icmp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/bitcast_iequal.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/bitcast_sar.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/bitcast_sdiv.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/bitcast_slr.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/block-name-alias-global.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/builtin-compute-bitcast.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/control-flow-hints.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/decoration-group.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/global-parameter-name-alias.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/hlsl-functionality.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/logical.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/multiple-entry.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/nmin-max-clamp.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/nmin-max-clamp.relax-nan.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/op-phi-swap.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/quantize.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/recompile-block-naming.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/specialization-constant-workgroup.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/switch-break-ladder.asm.invalid.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/comp/undefined-constant-composite.asm.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/combined-sampler-reuse.vk.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/combined-sampler-reuse.vk.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/complex-name-workarounds.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/composite-construct-struct-no-swizzle.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/default-member-names.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/do-while-statement-fallback.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/empty-struct.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/for-loop-phi-only-continue.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/frem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/function-overload-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/hlsl-sample-cmp-level-zero-cube.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/hlsl-sample-cmp-level-zero.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-extract-reuse.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-fetch-no-sampler.asm.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-fetch-no-sampler.asm.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-fetch-no-sampler.no-samplerless.asm.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-fetch-no-sampler.no-samplerless.asm.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-query-no-sampler.no-samplerless.vk.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-query-no-sampler.no-samplerless.vk.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-query-no-sampler.vk.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/image-query-no-sampler.vk.asm.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/implicit-read-dep-phi.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/inf-nan-constant-double.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/inf-nan-constant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/invalidation.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/line-directive.line.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/locations-components.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/loop-body-dominator-continue-access.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/loop-header-to-continue.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/lut-promotion-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/multi-for-loop-init.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/op-constant-null.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/op-phi-swap-continue-block.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/out-of-bounds-access-opspecconstant.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/out-of-bounds-access.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/pack-and-unpack-uint2.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/pass-by-value.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/phi-loop-variable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/sample-and-compare.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/sampler-buffer-array-without-sampler.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/sampler-buffer-without-sampler.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/single-function-private-lut.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/srem.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/storage-class-output-initializer.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/struct-composite-extract-swizzle.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/switch-label-shared-block.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/switch-preserve-sign-extension.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/temporary-name-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/temporary-phi-hoisting.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/texel-fetch-no-lod.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/texture-sampling-fp16.asm.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/texture-sampling-fp16.asm.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/undef-variable-store.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/unknown-depth-state.asm.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/unknown-depth-state.asm.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/unreachable.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/frag/vector-shuffle-oom.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/geom/block-name-namespace.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/geom/inout-split-access-chain-handle.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/geom/split-access-chain-input.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/geom/unroll-glposition-load.asm.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/tese/unroll-input-array-load.asm.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/empty-io.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/extract-transposed-matrix-from-struct.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/global-builtin.sso.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/invariant-block.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/invariant-block.sso.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/invariant.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/invariant.sso.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/spec-constant-op-composite.asm.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/spec-constant-op-composite.asm.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/asm/vert/uint-vertex-id-instance-id.asm.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/atomic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/bake_gradient.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/barriers.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/basic.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/casts.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/cfg-preserve-parameter.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/cfg.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/coherent-block.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/coherent-image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/composite-array-initialization.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/composite-construct.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/culling.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/defer-parens.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/dowhile.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/generate_height.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/image.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/insert.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/mat3.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/mod.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/modf.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/outer-product.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/read-write-only.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/rmw-matrix.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/rmw-opt.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/scalar-std450-distance-length-normalize.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/shared.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/ssbo-array-length.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/ssbo-array.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/struct-layout.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/struct-packing.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/torture-loop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/type-alias.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/comp/udiv.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/comp/enhanced-layouts.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/comp/extended-arithmetic.desktop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/comp/fp64.desktop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/comp/image-formats.desktop.noeliminate.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/comp/int64.desktop.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/clip-cull-distance.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/control-dependent-in-branch.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/depth-greater-than.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/depth-less-than.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/dual-source-blending.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/hlsl-uav-block-alias.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/image-ms.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/image-query.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/image-size.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/image-size.no-qualifier-deduction.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/in-block-qualifiers.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/layout-component.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/query-levels.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/query-lod.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/sampler-ms-query.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/stencil-export.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/frag/texture-proj-shadow.desktop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/geom/basic.desktop.sso.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/geom/viewport-index.desktop.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/tesc/basic.desktop.sso.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/tese/triangle.desktop.sso.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/vert/basic.desktop.sso.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/vert/clip-cull-distance.desktop.sso.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/vert/clip-cull-distance.desktop.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/vert/out-block-qualifiers.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/vert/shader-draw-parameters-450.desktop.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/vert/shader-draw-parameters-450.desktop.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/vert/shader-draw-parameters.desktop.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/desktop-only/vert/shader-draw-parameters.desktop.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/array.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/basic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/copy.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/dynamic.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/matrix-conversion.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/matrixindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/multiindex.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/push-constant.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/struct.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/struct.rowmajor.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/swizzle.flatten.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/flatten/types.flatten.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/array-lut-no-loop-variable.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/avoid-expression-lowering-to-loop.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/barycentric-khr.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/barycentric-nv.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/basic.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/block-match-sad.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/block-match-ssd.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/box-filter.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/complex-expression-in-access-chain.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/composite-extract-forced-temporary.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/constant-array.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/constant-composites.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/false-loop-init.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/flush_params.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/for-loop-continue-control-flow.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/for-loop-init.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/frexp-modf.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/front-facing.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/gather-dref.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/ground.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/helper-invocation.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/hoisted-temporary-use-continue-block-as-value.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/image-load-store-uint-coord.asm.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/inside-loop-dominated-variable-preservation.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/loop-dominator-and-switch-default.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/lut-promotion.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/mix.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/modf-pointer-function-analysis.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/partial-write-preserve.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/pixel-interlock-ordered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/pixel-interlock-unordered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/pls.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/post-depth-coverage-es.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/post-depth-coverage.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/round-even.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/round.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/sample-interlock-ordered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/sample-interlock-unordered.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/sample-parameter.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/sample-weighted.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/sampler-ms.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/sampler-proj.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/sampler.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/scalar-refract-reflect.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/selection-block-dominator.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/shader-clock.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/struct-type-unrelated-alias.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/switch-unreachable-break.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/switch-unsigned-case.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/swizzle.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/texel-fetch-offset.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/ubo-load-row-major-workaround.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/ubo_layout.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/frag/unary-enclose.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/basic.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/geometry-passthrough.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/lines-adjacency.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/lines.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/multi-stream.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/points.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/single-invocation.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/transform-feedback-streams.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/triangles-adjacency.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/geom/triangles.geom -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/explicit-lod.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/explicit-lod.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/fma.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/hyperbolic.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/io-blocks.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/isnan-isinf.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/modf.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/multiple-struct-flattening.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/round.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/struct-varying.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/fragment/switch.legacy.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/implicit-lod.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/int-attribute.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/inverse.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/io-block.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/outer-product.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/struct-flatten-inner-array.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/struct-flatten-stores-multi-dimension.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/struct-varying.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/switch-nested.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/legacy/vert/transpose.legacy.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/mesh/mesh-shader-basic-lines.spv14.vk.nocompat.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/mesh/mesh-shader-basic-points.spv14.vk.nocompat.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/mesh/mesh-shader-basic-triangle.spv14.vk.nocompat.mesh.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tesc/basic.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tesc/water_tess.tesc -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/ccw.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/cw.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/equal.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/fractional_even.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/fractional_odd.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/input-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/line.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/load-array-of-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/patch-input-array.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/read-patch-vertices-in-func.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/triangle.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/tese/water_tess.tese -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/basic.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/ground.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/invariant.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/no-contraction.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/ocean.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/read-from-row-major-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/return-array.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/row-major-workaround.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/texture_buffer.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/transform-feedback-decorations.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vert/ubo.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/array-of-buffer-reference.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/buffer-reference-atomic.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/buffer-reference-base-alignment-promote.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/buffer-reference-bitcast-uvec2-2.nocompat.invalid.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/buffer-reference-bitcast-uvec2.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/buffer-reference-bitcast.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/buffer-reference-decorations.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/buffer-reference.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/fp-atomic.nocompat.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/ray-query.nocompat.spv14.invalid.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/spec-constant-op-member-array.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/spec-constant-op-member-array.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/spec-constant-work-group-size.vk.comp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/comp/spec-constant-work-group-size.vk.comp.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/block-match-sad.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/block-match-ssd.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/box-filter.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/combined-texture-sampler-shadow.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/combined-texture-sampler-shadow.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/combined-texture-sampler.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/combined-texture-sampler.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/demote-to-helper-forwarding.asm.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/demote-to-helper.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/desktop-mediump.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/desktop-mediump.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/input-attachment-ms.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/input-attachment-ms.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/input-attachment.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/input-attachment.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/nonuniform-qualifier.vk.nocompat.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/push-constant-as-ubo.push-ubo.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/push-constant-as-ubo.push-ubo.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/push-constant.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/push-constant.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/sample-weighted.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/separate-combined-fake-overload.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/separate-combined-fake-overload.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/separate-sampler-texture-array.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/separate-sampler-texture-array.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/separate-sampler-texture.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/separate-sampler-texture.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/shader-arithmetic-8bit.nocompat.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/spec-constant-block-size.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/spec-constant-block-size.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/spec-constant-ternary.vk.frag -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/frag/spec-constant-ternary.vk.frag.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rahit/terminators.khr.spv14.nocompat.vk.rahit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rahit/terminators.nocompat.vk.rahit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rcall/incoming-callable.khr.spv14.nocompat.vk.rcall.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_attribute_block.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_attribute_block.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_attribute_block_in_function.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_attribute_block_in_function.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_attribute_plain.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_attribute_plain.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_attribute_struct.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_attribute_struct.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_kind.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_kind.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_t.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/hit_t.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/incoming_ray_flags.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/incoming_ray_flags.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/instance_custom_id.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/instance_custom_id.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/instance_id.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/instance_id.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/object_ray_direction.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/object_ray_direction.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/object_ray_origin.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/object_ray_origin.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/object_to_world.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/object_to_world.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/payloads.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/payloads.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/primitive_id.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/primitive_id.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/ray_tmax.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/ray_tmax.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/ray_tmin.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/ray_tmin.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/ray_tracing.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/ray_tracing.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/world_ray_direction.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/world_ray_direction.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/world_ray_origin.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/world_ray_origin.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/world_to_object.khr.spv14.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rchit/world_to_object.nocompat.vk.rchit.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/convert-u-to-as.spv14.vk.nocompat.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/execute_callable.nocompat.khr.spv14.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/execute_callable.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/launch_id.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/launch_id.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/launch_size.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/launch_size.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/payloads.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/payloads.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/pure_call.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/pure_call.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/ray_tracing.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/ray_tracing.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/shader_record_buffer.khr.spv14.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rgen/shader_record_buffer.nocompat.vk.rgen.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rint/report-intersection.khr.spv14.nocompat.vk.rint.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rint/report-intersection.nocompat.vk.rint.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rmiss/ray_tracing.khr.spv14.nocompat.vk.rmiss.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rmiss/ray_tracing.nocompat.vk.rmiss.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/rmiss/ray_tracing_trace_incoming.khr.spv14.nocompat.vk.rmiss.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/vert/device-group.nocompat.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/vert/multiview.nocompat.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/vert/small-storage.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/vert/small-storage.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/vert/vulkan-vertex.vk.vert -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/reference/shaders/vulkan/vert/vulkan-vertex.vk.vert.vk -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cfg.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cfg.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_common.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cpp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cpp.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross.natvis -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_c.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_c.h -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_containers.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_error_handling.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_parsed_ir.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_parsed_ir.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_util.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_cross_util.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_glsl.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_glsl.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_hlsl.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_hlsl.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_msl.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_msl.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_parser.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_parser.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_reflect.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv_reflect.hpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/c_api_test.c -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/c_api_test.spv -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/hlsl_resource_binding.spv -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/hlsl_resource_bindings.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/hlsl_wave_mask.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/msl_constexpr_test.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/msl_constexpr_test.spv -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/msl_resource_binding.spv -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/msl_resource_bindings.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/msl_ycbcr_conversion_test.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/msl_ycbcr_conversion_test.spv -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/msl_ycbcr_conversion_test_2.spv -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/small_vector.cpp -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/tests-other/typed_id_test.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_av1std.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_av1std_decode.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_av1std_encode.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h264std.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h264std_decode.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h264std_encode.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h265std.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h265std_decode.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codec_h265std_encode.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vk_video/vulkan_video_codecs_common.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vk_icd.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vk_layer.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vk_platform.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.cppm -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_android.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_beta.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_core.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_directfb.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_enums.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_extension_inspection.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_format_traits.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_fuchsia.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_funcs.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_ggp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_handles.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_hash.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_hpp_macros.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_ios.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_macos.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_metal.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_raii.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_screen.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_shared.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_static_assertions.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_structs.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_to_string.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_vi.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_video.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_wayland.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_win32.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_xcb.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_xlib.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_xlib_xrandr.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/docs/generated_code.md -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/docs/layer_configuration.md -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/layer/vk_layer_settings.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/layer/vk_layer_settings.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_concurrent_unordered_map.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_dispatch_table.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_format_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_safe_struct.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_safe_struct_utils.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_sparse_range_map.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_struct_helper.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/vk_enum_string_helper.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/scripts/gn/stub.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/layer_settings_manager.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/layer_settings_manager.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/layer_settings_util.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/layer_settings_util.hpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/vk_layer_settings.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/layer/vk_layer_settings_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_core.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_ext.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_khr.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_manual.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-utility-libraries/src/src/vulkan/vk_safe_struct_vendor.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/VkLayer_khronos_validation.def -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/best_practices_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/best_practices_validation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_buffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_cmd_buffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_cmd_buffer_nv.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_copy_blit_resolve.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_descriptor.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_device_memory.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_drawdispatch.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_framebuffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_image.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_instance_device.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_pipeline.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_ray_tracing.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_render_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_synchronization.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_video.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/best_practices/bp_wsi.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/chassis.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/chassis_handle_data.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/chassis_manual.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/chassis_modification_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/dispatch_object.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/dispatch_object_manual.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/chassis/validation_object.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/custom_containers.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/qfo_transfer.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/range_vector.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/subresource_adapter.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/containers/subresource_adapter.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_android.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_buffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_buffer_address.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_cmd_buffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_cmd_buffer_dynamic.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_copy_blit_resolve.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_descriptor.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_device.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_device_generated_commands.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_device_memory.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_drawdispatch.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_external_object.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_image.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_image_layout.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_pipeline.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_pipeline_compute.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_pipeline_graphics.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_pipeline_ray_tracing.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_query.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_queue.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_ray_tracing.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_render_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_shader_interface.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_shader_object.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_spirv.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_state_tracker.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_state_tracker.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_submit.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_submit.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_synchronization.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_synchronization.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_video.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_vuid_maps.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_vuid_maps.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_wsi.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/cc_ycbcr.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/core_checks/core_validation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/drawdispatch/descriptor_validator.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/drawdispatch/descriptor_validator.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/drawdispatch/drawdispatch_vuids.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/drawdispatch/drawdispatch_vuids.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/error_location.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/error_location.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/error_strings.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/log_message_type.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/logging.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/logging.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/record_object.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/spirv_logging.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/spirv_logging.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/error_message/unimplementable_validation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vma.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vma.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav_constants.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav_record.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav_settings.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/core/gpuav_setup.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/debug_printf/debug_printf.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/debug_printf/debug_printf.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_descriptor_set.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_descriptor_set.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_descriptor_validation.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_descriptor_validation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_image_layout.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/descriptor_validation/gpuav_image_layout.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/error_message/gpuav_vuids.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/error_message/gpuav_vuids.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/instrumentation/gpuav_instrumentation.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/instrumentation/gpuav_instrumentation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/instrumentation/gpuav_shader_instrumentor.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/instrumentation/gpuav_shader_instrumentor.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_shader_resources.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_state_trackers.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_state_trackers.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_vulkan_objects.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/resources/gpuav_vulkan_objects.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/gpuav_error_codes.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/gpuav_error_header.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/gpuav_shaders_constants.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/buffer_device_address.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/common_descriptor_sets.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/descriptor_class_general_buffer.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/descriptor_class_texel_buffer.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/descriptor_indexing_oob_bindless.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/descriptor_indexing_oob_non_bindless.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/post_process_descriptor_index.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/ray_query.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/instrumentation/vertex_attribute_fetch_oob.vert -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/common.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/copy_buffer_to_image.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/count_buffer.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/dispatch.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/draw_indexed_indirect_index_buffer.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/draw_mesh_indirect.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/draw_push_data.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/first_instance.comp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/shaders/validation_cmd/trace_rays.rgen -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/buffer_device_address_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/buffer_device_address_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/debug_printf_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/debug_printf_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_class_general_buffer_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_class_general_buffer_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_class_texel_buffer_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_class_texel_buffer_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_indexing_oob_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/descriptor_indexing_oob_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/function_basic_block.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/function_basic_block.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/inject_conditional_function_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/inject_conditional_function_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/inject_function_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/inject_function_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/instruction.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/instruction.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/interface.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/link.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/module.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/module.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/post_process_descriptor_indexing.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/post_process_descriptor_indexing.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/post_process_descriptor_indexing_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/post_process_descriptor_indexing_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/ray_query_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/ray_query_pass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/type_manager.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/type_manager.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/vertex_attribute_fetch_oob.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/spirv/vertex_attribute_fetch_oob.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_copy_buffer_to_image.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_copy_buffer_to_image.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_dispatch.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_dispatch.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_draw.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_draw.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_trace_rays.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_trace_rays.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_validation_cmd_common.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/gpuav/validation_cmd/gpuav_validation_cmd_common.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/layer_options.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/layer_options.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/object_tracker/object_lifetime_validation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/object_tracker/object_tracker_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/profiling/profiling.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/profiling/profiling.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/buffer_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/buffer_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/cmd_buffer_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/cmd_buffer_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/descriptor_sets.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/descriptor_sets.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_generated_commands_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_generated_commands_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_memory_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_memory_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/device_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/fence_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/fence_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/image_layout_map.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/image_layout_map.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/image_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/image_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_layout_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_layout_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_sub_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/pipeline_sub_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/query_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/queue_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/queue_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/ray_tracing_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/render_pass_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/render_pass_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/sampler_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/semaphore_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/semaphore_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_instruction.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_instruction.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_module.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_module.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_object_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_object_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_stage_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/shader_stage_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/state_object.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/state_object.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/state_tracker.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/state_tracker.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/submission_reference.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/vertex_index_buffer_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/video_session_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/state_tracker/video_session_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_buffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_cmd_buffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_cmd_buffer_dynamic.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_descriptor.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_device_generated_commands.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_device_memory.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_external_object.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_framebuffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_image.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_instance_device.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_pipeline.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_ray_tracing.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_render_pass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_shader_object.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_synchronization.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_vuid_maps.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_vuid_maps.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/sl_wsi.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/stateless/stateless_validation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_access_context.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_access_context.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_access_state.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_access_state.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_commandbuffer.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_commandbuffer.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_common.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_common.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_error_messages.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_error_messages.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_image.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_op.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_op.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_renderpass.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_renderpass.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_reporting.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_reporting.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_settings.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_stats.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_stats.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_submit.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_submit.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_validation.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_validation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_vuid_maps.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/sync/sync_vuid_maps.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/thread_tracker/thread_safety_validation.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/thread_tracker/thread_safety_validation.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/android_ndk_types.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/cast_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/convert_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/convert_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/hash_util.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/hash_util.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/hash_vk_types.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/image_layout_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/image_layout_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/ray_tracing_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/ray_tracing_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/shader_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/shader_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_layer_extension_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_layer_extension_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_layer_utils.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_layer_utils.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_struct_compare.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/utils/vk_struct_compare.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_layer_config.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vk_layer_config.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/best_practices.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/best_practices_device_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/best_practices_instance_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/chassis.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/command_validation.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/device_features.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/device_features.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_functions.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_object.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_object_device_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_object_instance_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_vector.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dispatch_vector.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dynamic_state_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/dynamic_state_helper.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/enum_flag_bits.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/error_location_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/error_location_helper.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/feature_requirements_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/feature_requirements_helper.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_buffer_device_address_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_buffer_device_address_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_class_general_buffer_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_class_general_buffer_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_class_texel_buffer_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_class_texel_buffer_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_bindless_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_bindless_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_non_bindless_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_descriptor_indexing_oob_non_bindless_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_post_process_descriptor_index_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_post_process_descriptor_index_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_ray_query_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_ray_query_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_vertex_attribute_fetch_oob_vert.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/instrumentation_vertex_attribute_fetch_oob_vert.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/object_tracker.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/object_tracker_device_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/object_tracker_instance_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/pnext_chain_extraction.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/pnext_chain_extraction.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/spirv_grammar_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/spirv_grammar_helper.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/spirv_tools_commit_id.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/spirv_validation_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/stateless_device_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/stateless_instance_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/stateless_validation_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/sync_validation_types.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/sync_validation_types.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/test_icd_helper.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/thread_safety.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/thread_safety_device_defs.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/thread_safety_instance_defs.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/valid_enum_values.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/valid_enum_values.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/valid_flag_values.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_copy_buffer_to_image_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_copy_buffer_to_image_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_count_buffer_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_count_buffer_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_dispatch_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_dispatch_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_draw_indexed_indirect_index_buffer_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_draw_indexed_indirect_index_buffer_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_draw_mesh_indirect_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_draw_mesh_indirect_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_first_instance_comp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_first_instance_comp.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_trace_rays_rgen.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_cmd_trace_rays_rgen.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_object.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/validation_object_methods.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_api_version.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_dispatch_table_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_dispatch_table_helper.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_extension_helper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_extension_helper.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_function_pointers.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_function_pointers.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_layer_dispatch_table.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_object_types.cpp -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_object_types.h -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/vulkan/generated/vk_validation_error_messages.h -FILE: ../../../flutter/third_party/wuffs/release/c/wuffs-v0.2.c -FILE: ../../../flutter/third_party/wuffs/release/c/wuffs-v0.3.c ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. -==================================================================================================== - -==================================================================================================== -LIBRARY: perfetto -ORIGIN: ../../../flutter/third_party/perfetto/LICENSE -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/perfetto/.git-blame-ignore-revs -FILE: ../../../flutter/third_party/perfetto/Android.bp.extras -FILE: ../../../flutter/third_party/perfetto/BUILD.extras -FILE: ../../../flutter/third_party/perfetto/MODULE_LICENSE_APACHE2 -FILE: ../../../flutter/third_party/perfetto/TEST_MAPPING -FILE: ../../../flutter/third_party/perfetto/buildtools/libcxx_config/__config_site -FILE: ../../../flutter/third_party/perfetto/docs/_coverpage.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/batch-trace-processor.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/builtin.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/common-queries.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/debug-tracks.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/metrics.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/perfetto-sql-syntax.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/pivot-tables.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/trace-processor-python.md -FILE: ../../../flutter/third_party/perfetto/docs/analysis/trace-processor.md -FILE: ../../../flutter/third_party/perfetto/docs/case-studies/android-boot-tracing.md -FILE: ../../../flutter/third_party/perfetto/docs/case-studies/memory.md -FILE: ../../../flutter/third_party/perfetto/docs/concepts/buffers.md -FILE: ../../../flutter/third_party/perfetto/docs/concepts/clock-sync.md -FILE: ../../../flutter/third_party/perfetto/docs/concepts/config.md -FILE: ../../../flutter/third_party/perfetto/docs/concepts/detached-mode.md -FILE: ../../../flutter/third_party/perfetto/docs/concepts/service-model.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/build-instructions.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/chrome-branches.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/common-tasks.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/embedding.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/getting-started.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/perfetto-in-the-press.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/sdk-releasing.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/testing.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/ui-development.md -FILE: ../../../flutter/third_party/perfetto/docs/contributing/ui-plugins.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/android-game-intervention-list.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/android-log.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/atrace.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/battery-counters.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/cpu-freq.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/cpu-scheduling.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/frametimeline.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/gpu.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/java-heap-profiler.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/memory-counters.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/native-heap-profiler.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/syscalls.md -FILE: ../../../flutter/third_party/perfetto/docs/data-sources/system-log.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/api-and-abi.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/batch-trace-processor.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/checkpoint-atoms.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/continuous-integration.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/extensions.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/heapprofd-design.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/heapprofd-sampling.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/heapprofd-wire-protocol.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/life-of-a-tracing-session.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/protozero.md -FILE: ../../../flutter/third_party/perfetto/docs/design-docs/security-model.md -FILE: ../../../flutter/third_party/perfetto/docs/faq.md -FILE: ../../../flutter/third_party/perfetto/docs/images/android_game_interventions.png -FILE: ../../../flutter/third_party/perfetto/docs/images/android_logs.png -FILE: ../../../flutter/third_party/perfetto/docs/images/annotation-counter.png -FILE: ../../../flutter/third_party/perfetto/docs/images/annotation-slice.png -FILE: ../../../flutter/third_party/perfetto/docs/images/api-and-abi.png -FILE: ../../../flutter/third_party/perfetto/docs/images/atrace-slices.png -FILE: ../../../flutter/third_party/perfetto/docs/images/battery-counters-ui.png -FILE: ../../../flutter/third_party/perfetto/docs/images/battery-counters.png -FILE: ../../../flutter/third_party/perfetto/docs/images/buffers.png -FILE: ../../../flutter/third_party/perfetto/docs/images/camera-slices.png -FILE: ../../../flutter/third_party/perfetto/docs/images/continuous-integration.png -FILE: ../../../flutter/third_party/perfetto/docs/images/counter-events.png -FILE: ../../../flutter/third_party/perfetto/docs/images/counters.png -FILE: ../../../flutter/third_party/perfetto/docs/images/cpu-bar-graphs.png -FILE: ../../../flutter/third_party/perfetto/docs/images/cpu-frequency.png -FILE: ../../../flutter/third_party/perfetto/docs/images/cpu-profile-diamond.png -FILE: ../../../flutter/third_party/perfetto/docs/images/cpu-profile-flame.png -FILE: ../../../flutter/third_party/perfetto/docs/images/cpu-sched-details.png -FILE: ../../../flutter/third_party/perfetto/docs/images/cpu-slice-track.png -FILE: ../../../flutter/third_party/perfetto/docs/images/cpu-zoomed.png -FILE: ../../../flutter/third_party/perfetto/docs/images/dataflow.svg -FILE: ../../../flutter/third_party/perfetto/docs/images/debug-slices-random.png -FILE: ../../../flutter/third_party/perfetto/docs/images/debug-tracks/debug-tracks-create.png -FILE: ../../../flutter/third_party/perfetto/docs/images/debug-tracks/debug-tracks-query.png -FILE: ../../../flutter/third_party/perfetto/docs/images/debug-tracks/debug-tracks-result.png -FILE: ../../../flutter/third_party/perfetto/docs/images/description.png -FILE: ../../../flutter/third_party/perfetto/docs/images/example_pd_graph.png -FILE: ../../../flutter/third_party/perfetto/docs/images/flows.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/app-timelines.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/app-vsyncid.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/blue.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/green.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/light-green.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/red.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/select-app-slice.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/select-sf-slice-1.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/select-sf-slice-2.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/selection.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/sf-vsyncid.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/timeline_tracks.png -FILE: ../../../flutter/third_party/perfetto/docs/images/frametimeline/yellow.png -FILE: ../../../flutter/third_party/perfetto/docs/images/gpu-counters.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heap_prof_continuous.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/Android-Heap0.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/Android-Heap1.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/Android-Heap2.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/Android-Heap3.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/Architecture.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/Service.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/Shared-Memory0.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/shmem-detail.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-design/shmem-overview.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-sampling/conditional-expected-error.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-sampling/expected-error.png -FILE: ../../../flutter/third_party/perfetto/docs/images/heapprofd-sampling/one-sample.png -FILE: ../../../flutter/third_party/perfetto/docs/images/java-heap-graph-focus.png -FILE: ../../../flutter/third_party/perfetto/docs/images/java-heap-graph.png -FILE: ../../../flutter/third_party/perfetto/docs/images/java-heap-samples.png -FILE: ../../../flutter/third_party/perfetto/docs/images/latency.png -FILE: ../../../flutter/third_party/perfetto/docs/images/lmk_lmkd.png -FILE: ../../../flutter/third_party/perfetto/docs/images/metrics-summary.png -FILE: ../../../flutter/third_party/perfetto/docs/images/native-flamegraph-focus.png -FILE: ../../../flutter/third_party/perfetto/docs/images/native-heap-prof-focus.png -FILE: ../../../flutter/third_party/perfetto/docs/images/native-heap-prof.png -FILE: ../../../flutter/third_party/perfetto/docs/images/oom-score.png -FILE: ../../../flutter/third_party/perfetto/docs/images/oop-table-inheritance.png -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-btp-flattening.svg -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-btp-overview.svg -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-stack.png -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-stack.svg -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-ui-channel-autopush-toggle.png -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-ui-channel-toggle.png -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-ui-channel.png -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-ui-disable-metrics.png -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-ui-screenshot.png -FILE: ../../../flutter/third_party/perfetto/docs/images/perfetto-ui-version.png -FILE: ../../../flutter/third_party/perfetto/docs/images/pivot-tables/pivot-table-area-selection.png -FILE: ../../../flutter/third_party/perfetto/docs/images/pivot-tables/pivot-table-design.png -FILE: ../../../flutter/third_party/perfetto/docs/images/pivot-tables/pivot-table-editor.png -FILE: ../../../flutter/third_party/perfetto/docs/images/pivot-tables/pivot-table-expanded-cell.png -FILE: ../../../flutter/third_party/perfetto/docs/images/pivot-tables/pivot-table-query.png -FILE: ../../../flutter/third_party/perfetto/docs/images/pivot-tables/pivot-table.png -FILE: ../../../flutter/third_party/perfetto/docs/images/power-rails.png -FILE: ../../../flutter/third_party/perfetto/docs/images/proc_stat.png -FILE: ../../../flutter/third_party/perfetto/docs/images/profile-diamond.png -FILE: ../../../flutter/third_party/perfetto/docs/images/protozero-ssw.png -FILE: ../../../flutter/third_party/perfetto/docs/images/rail-mode-debug-slices.png -FILE: ../../../flutter/third_party/perfetto/docs/images/record-trace-chrome.png -FILE: ../../../flutter/third_party/perfetto/docs/images/record-trace.png -FILE: ../../../flutter/third_party/perfetto/docs/images/rss_stat_and_mm_event.png -FILE: ../../../flutter/third_party/perfetto/docs/images/sched-slices.png -FILE: ../../../flutter/third_party/perfetto/docs/images/shmem-abi-concepts.png -FILE: ../../../flutter/third_party/perfetto/docs/images/shmem-abi-overview.png -FILE: ../../../flutter/third_party/perfetto/docs/images/shmem-abi-page.png -FILE: ../../../flutter/third_party/perfetto/docs/images/shmem-abi-spans.png -FILE: ../../../flutter/third_party/perfetto/docs/images/slices.png -FILE: ../../../flutter/third_party/perfetto/docs/images/socket-protocol.png -FILE: ../../../flutter/third_party/perfetto/docs/images/span-join.png -FILE: ../../../flutter/third_party/perfetto/docs/images/synthetic-track-event-counter.png -FILE: ../../../flutter/third_party/perfetto/docs/images/synthetic-track-event-flow.png -FILE: ../../../flutter/third_party/perfetto/docs/images/synthetic-track-event-process.png -FILE: ../../../flutter/third_party/perfetto/docs/images/synthetic-track-event-thread.png -FILE: ../../../flutter/third_party/perfetto/docs/images/sys_stat_counters.png -FILE: ../../../flutter/third_party/perfetto/docs/images/syscalls.png -FILE: ../../../flutter/third_party/perfetto/docs/images/thread-states.png -FILE: ../../../flutter/third_party/perfetto/docs/images/tp-table-inheritance.png -FILE: ../../../flutter/third_party/perfetto/docs/images/trace-processor.png -FILE: ../../../flutter/third_party/perfetto/docs/images/trace-rss-camera.png -FILE: ../../../flutter/third_party/perfetto/docs/images/trace-view.png -FILE: ../../../flutter/third_party/perfetto/docs/images/trace_config.png -FILE: ../../../flutter/third_party/perfetto/docs/images/trace_config_buffer_mapping.png -FILE: ../../../flutter/third_party/perfetto/docs/images/traceconv-summary.png -FILE: ../../../flutter/third_party/perfetto/docs/images/tracing-categories-chrome.png -FILE: ../../../flutter/third_party/perfetto/docs/images/tracing-protocol.png -FILE: ../../../flutter/third_party/perfetto/docs/images/track-events.png -FILE: ../../../flutter/third_party/perfetto/docs/images/track-timeline.png -FILE: ../../../flutter/third_party/perfetto/docs/images/tracks.png -FILE: ../../../flutter/third_party/perfetto/docs/images/userspace.png -FILE: ../../../flutter/third_party/perfetto/docs/instrumentation/heapprofd-api.md -FILE: ../../../flutter/third_party/perfetto/docs/instrumentation/interceptors.md -FILE: ../../../flutter/third_party/perfetto/docs/instrumentation/tracing-sdk.md -FILE: ../../../flutter/third_party/perfetto/docs/instrumentation/track-events.md -FILE: ../../../flutter/third_party/perfetto/docs/logo.png -FILE: ../../../flutter/third_party/perfetto/docs/quickstart/android-tracing.md -FILE: ../../../flutter/third_party/perfetto/docs/quickstart/callstack-sampling.md -FILE: ../../../flutter/third_party/perfetto/docs/quickstart/chrome-tracing.md -FILE: ../../../flutter/third_party/perfetto/docs/quickstart/heap-profiling.md -FILE: ../../../flutter/third_party/perfetto/docs/quickstart/linux-tracing.md -FILE: ../../../flutter/third_party/perfetto/docs/quickstart/trace-analysis.md -FILE: ../../../flutter/third_party/perfetto/docs/quickstart/traceconv.md -FILE: ../../../flutter/third_party/perfetto/docs/reference/android-version-notes.md -FILE: ../../../flutter/third_party/perfetto/docs/reference/heap_profile-cli.md -FILE: ../../../flutter/third_party/perfetto/docs/reference/perfetto-cli.md -FILE: ../../../flutter/third_party/perfetto/docs/reference/synthetic-track-event.md -FILE: ../../../flutter/third_party/perfetto/docs/toc.md -FILE: ../../../flutter/third_party/perfetto/docs/tracing-101.md -FILE: ../../../flutter/third_party/perfetto/docs/visualization/deep-linking-to-perfetto-ui.md -FILE: ../../../flutter/third_party/perfetto/docs/visualization/large-traces.md -FILE: ../../../flutter/third_party/perfetto/docs/visualization/perfetto-ui-release-process.md -FILE: ../../../flutter/third_party/perfetto/docs/visualization/perfetto-ui.md -FILE: ../../../flutter/third_party/perfetto/gn/standalone/wasm_typescript_declaration.d.ts -FILE: ../../../flutter/third_party/perfetto/include/perfetto/tracing/internal/data_source_type.h -FILE: ../../../flutter/third_party/perfetto/tools/test_data.txt -FILE: ../../../flutter/third_party/perfetto/ui/config/gn_deprecation_banner.txt -FILE: ../../../flutter/third_party/perfetto/ui/release/channels.json -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/brand.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/favicon.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/hiring_banner.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/index.html -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/logo-128.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/logo-3d.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_atrace.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_battery_counters.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_board_voltage.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_cpu_coarse.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_cpu_fine.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_cpu_freq.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_cpu_voltage.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_frame_timeline.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_ftrace.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_gpu_mem_total.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_java_heap_dump.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_lmk.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_logcat.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_long_trace.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_mem_hifreq.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_meminfo.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_native_heap_profiler.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_one_shot.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_profiling.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_ps_stats.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_ring_buf.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_syscalls.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/rec_vmstat.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/scheduling_latency.png -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/typefaces.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/assets/widgets/tree.scss -FILE: ../../../flutter/third_party/perfetto/ui/src/base/array_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/bigint_math.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/binary_search.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/brand.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/classnames.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/clipboard.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/comparison_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/deferred.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/disposable.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/dom_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/fuzzy.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/generic_set.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/hotkeys.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/http_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/json_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/logging.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/math_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/mithril_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/object_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/resize_observer.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/result.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/semantic_icons.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/set_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/string_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/time.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/utils/index.d.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/base/validators.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/chrome_extension/chrome_tracing_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/chrome_extension/devtools_socket.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/chrome_extension/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/chrome_extension/manifest.json -FILE: ../../../flutter/third_party/perfetto/ui/src/common/actions.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/aggregation_data.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/arg_types.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/array_buffer_builder.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/basic_async_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/cache_manager.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/cache_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/canvas_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/channels.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/colorizer.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/commands.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/comparator_builder.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/constants.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/conversion_jobs.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/dragndrop_logic.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/empty_state.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/engine.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/errors.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/event_set.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/event_set_nocompile_test.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/feature_flags.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/flamegraph_util.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/hash.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/high_precision_time.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/http_rpc_engine.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/internal_layout_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/logs.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/metatracing.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/metric_data.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/plugins.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/proto_ring_buffer.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/queries.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/query_result.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/query_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/adb_connection_impl.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/adb_connection_over_websocket.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/adb_connection_over_webusb.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/adb_file_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/auth/adb_auth.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/auth/adb_key_manager.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/auth/credentials_interfaces.d.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/chrome_traced_tracing_session.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/host_os_byte_stream.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/recording_config_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/recording_error_handling.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/recording_interfaces_v2.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/recording_page_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/recording_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factories/android_websocket_target_factory.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factories/android_webusb_target_factory.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factories/chrome_target_factory.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factories/host_os_target_factory.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factories/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factories/virtual_target_factory.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/target_factory_registry.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/targets/android_target.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/targets/android_virtual_target.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/targets/android_websocket_target.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/targets/android_webusb_target.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/targets/chrome_target.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/targets/host_os_target.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/traced_tracing_session.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/recordingV2/websocket_menu_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/registry.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/schema.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/search_data.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/selection_observer.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/state.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/thread_state.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/timestamp_format.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/track_adapter.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/track_data.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/upload_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/viewer.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/wasm_engine_proxy.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/common/worker_messages.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/adb.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/adb_base_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/adb_interfaces.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/adb_jsdomtest.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/adb_record_controller_jsdomtest.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/adb_shell_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/adb_socket_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/aggregation/aggregation_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/aggregation/counter_aggregation_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/aggregation/cpu_aggregation_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/aggregation/cpu_by_process_aggregation_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/aggregation/frame_aggregation_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/aggregation/slice_aggregation_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/aggregation/thread_aggregation_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/app_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/area_selection_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/args_parser.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/chrome_proxy_record_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/consumer_port_types.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/cpu_profile_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/flamegraph_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/flow_events_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/ftrace_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/loading_manager.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/logs_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/permalink_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/pivot_table_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/record_config_types.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/record_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/record_controller_interfaces.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/record_controller_jsdomtest.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/search_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/selection_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/trace_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/trace_error_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/trace_stream.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/controller/track_decider.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/core/perf.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/core/protos.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/core/raf_scheduler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/core/static_initializers.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/core/trace_config_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/engine/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/engine/wasm_bridge.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/aggregation_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/analytics.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/android_bug_tool.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/animation.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/app.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/base_counter_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/base_slice_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/bottom_tab.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/checkerboard.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/chrome_slice_details_tab.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/clipboard.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/cookie_consent.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/counter_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/cpu_profile_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/css_constants.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/debug.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/details_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/download_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/drag/border_drag_strategy.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/drag/drag_strategy.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/drag/inner_drag_strategy.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/drag/outer_drag_strategy.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/drag_gesture_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/error_dialog.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/file_drop_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/flags_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/flamegraph.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/flamegraph_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/flow_events_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/flow_events_renderer.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/frontend_local_state.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/ftrace_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/generic_slice_details_tab.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/globals.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/gridline_helper.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/help_modal.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/home_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/hsluv_cache.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/insights_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/keyboard_event_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/keyboard_layout_map.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/legacy_trace_viewer.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/live_reload.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/logs_filters.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/logs_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/metrics_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/modal.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/named_slice_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/notes_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/omnibox.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/overview_timeline_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/pages.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/pan_and_zoom_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/panel_container.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/pivot_table.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/pivot_table_argument_popup.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/pivot_table_query_generator.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/pivot_table_types.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/popup_menu.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/post_message_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/publish.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/query_history.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/query_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/query_result_tab.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/query_table.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/rate_limiters.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/record_config.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/record_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/record_page_v2.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/record_widgets.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/advanced_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/android_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/chrome_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/cpu_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/gpu_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/linux_perf_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/memory_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/power_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/recording_multiple_choice.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/recording_sections.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/recording_settings.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/recording_ui_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/reset_interface_modal.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/recording/reset_target_modal.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/reorderable_cells.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/router.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/rpc_http_dialog.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/scroll_helper.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/search_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/service_worker_controller.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sidebar.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/slice.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/slice_args.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/slice_details.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/slice_details_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/slice_layout.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/slice_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/slice_track_base.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql/args.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql/slice.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql/thread_state.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/argument_selector.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/column.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/render_cell.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/state.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/tab.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/table.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/table_description.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_table/well_known_tables.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_types.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/sql_utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/store.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/tables/attribute_modal_holder.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/tables/table.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/tables/table_showcase.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/task_tracker.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/thread_and_process_info.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/thread_state.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/thread_state_tab.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/tickmark_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/time_axis_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/time_scale.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/time_selection_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/topbar.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/trace_attrs.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/trace_converter.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/trace_info_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/trace_url_handler.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/track_cache.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/track_group_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/track_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/track_registry.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/value.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/vertical_line_helper.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/viewer_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/viz_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/widgets/timestamp.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/widgets/vega_view.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/frontend/widgets_page.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/plugins/com.example.Skeleton/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.AndroidBinderViz/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.AndroidCujs/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.AndroidPerf/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.CoreCommands/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.ExampleSimpleCommand/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.ExampleState/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/plugins/dev.perfetto.LargeScreensPerf/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/public/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/public/utils.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/service_worker/service_worker.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/service_worker/tsconfig.json -FILE: ../../../flutter/third_party/perfetto/ui/src/traceconv/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/actual_frames/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/android_log/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/annotation/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/async_slices/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_critical_user_interactions/details_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_critical_user_interactions/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/chrome_tasks_scroll_jank_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/event_latency_details_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/event_latency_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/jank_colors.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/scroll_delta_graph.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/scroll_details_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/scroll_jank_slice.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/scroll_jank_v3_details_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/scroll_jank_v3_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_scroll_jank/scroll_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_slices/generic_slice_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/chrome_slices/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/counter/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/cpu_freq/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/cpu_profile/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/cpu_slices/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/custom_sql_table_slices/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/debug/add_debug_track_menu.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/debug/counter_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/debug/details_tab.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/debug/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/debug/slice_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/expected_frames/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/ftrace/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/heap_profile/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/null_track/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/perf_samples_profile/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/process_summary/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/process_summary/process_scheduling_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/process_summary/process_summary_track.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/screenshots/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/screenshots/screenshot_panel.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/thread_state/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/thread_state/thread_state_track_v2.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/thread_state/thread_state_v2.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/tracks/visualised_args/index.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/anchor.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/basic_table.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/button.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/callout.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/checkbox.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/details_shell.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/duration.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/editor.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/empty_state.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/error.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/form.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/grid_layout.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/hotkey_context.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/hotkey_glyphs.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/icon.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/menu.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/multiselect.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/popup.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/portal.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/raf.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/section.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/select.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/spinner.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/sql_ref.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/switch.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/text_input.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/text_paragraph.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/tree.ts -FILE: ../../../flutter/third_party/perfetto/ui/src/widgets/virtual_scroll_container.ts -FILE: ../../../flutter/third_party/perfetto/ui/tsconfig.base.json -FILE: ../../../flutter/third_party/perfetto/ui/tsconfig.json ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright (c) 2017, The Android Open Source Project - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. - -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. -==================================================================================================== - -==================================================================================================== -LIBRARY: libcxx -LIBRARY: libcxxabi -LIBRARY: llvm_libc -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/charconv.cpp -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/common.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed_full_table.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2s.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2s_full_table.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2s_intrinsics.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/digit_table.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/f2s.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/ryu/ryu.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/include/to_chars_floating_point.h -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/ryu/d2fixed.cpp -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/ryu/d2s.cpp -ORIGIN: Apache-2.0 WITH LLVM-exception referenced by ../../../flutter/third_party/libcxx/src/ryu/f2s.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/adjacent_find.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/all_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/any_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/binary_search.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/clamp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/comp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/comp_ref_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/copy_backward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/copy_move_common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/copy_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/count.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/count_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/equal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/equal_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/fill.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/fill_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/find.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/find_end.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/find_first_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/find_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/find_if_not.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/find_segment_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/for_each.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/for_each_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/for_each_segment.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/generate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/generate_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/half_positive.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/in_found_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/in_fun_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/in_in_out_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/in_in_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/in_out_out_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/in_out_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/includes.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/inplace_merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/is_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/is_heap_until.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/is_partitioned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/is_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/is_sorted.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/is_sorted_until.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/iter_swap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/iterator_operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/lexicographical_compare.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/lexicographical_compare_three_way.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/lower_bound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/make_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/make_projected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/max.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/max_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/min.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/min_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/min_max_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/minmax.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/minmax_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/mismatch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/move_backward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/next_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/none_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/nth_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/partial_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/partial_sort_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/partition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/partition_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/partition_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/pop_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/prev_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/pstl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/push_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/radix_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_adjacent_find.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_all_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_any_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_binary_search.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_clamp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_contains.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_contains_subrange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_copy_backward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_copy_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_count.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_count_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_ends_with.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_equal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_equal_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_fill.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_fill_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_end.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_first_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_if_not.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_last.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_fold.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_for_each.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_for_each_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_generate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_generate_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_includes.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_inplace_merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_heap_until.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_partitioned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_sorted.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_sorted_until.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_iterator_concept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_lexicographical_compare.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_lower_bound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_make_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_max.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_max_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_min.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_min_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_minmax.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_minmax_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_mismatch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_move_backward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_next_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_none_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_nth_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partial_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partial_sort_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partition_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partition_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_pop_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_prev_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_push_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_remove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_remove_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_remove_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_remove_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_replace.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_replace_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_replace_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_replace_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_reverse.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_reverse_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_rotate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_rotate_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_sample.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_search.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_search_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_set_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_set_intersection.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_set_symmetric_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_set_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_shuffle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_sort_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_stable_partition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_stable_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_starts_with.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_swap_ranges.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_transform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_unique.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_unique_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/ranges_upper_bound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/remove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/remove_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/remove_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/remove_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/replace.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/replace_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/replace_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/replace_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/reverse.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/reverse_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/rotate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/rotate_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/sample.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/search.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/search_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/set_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/set_intersection.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/set_symmetric_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/set_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/shift_left.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/shift_right.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/shuffle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/sift_down.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/simd_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/sort_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/stable_partition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/stable_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/swap_ranges.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/three_way_comp_ref_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/transform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/unique.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/unique_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/unwrap_iter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/unwrap_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__algorithm/upper_bound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__assert -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/aliases.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/atomic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/atomic_flag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/atomic_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/atomic_lock_free.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/atomic_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/atomic_sync.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/check_memory_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/contention_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/fence.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/is_always_lock_free.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/kill_dependency.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/memory_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/support.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/support/c11.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/support/gcc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__atomic/to_gcc_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/bit_cast.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/bit_ceil.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/bit_floor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/bit_log2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/bit_width.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/blsr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/byteswap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/countl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/countr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/endian.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/has_single_bit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/invert_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/popcount.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit/rotate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__bit_reference -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/chars_format.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/from_chars_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/from_chars_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/from_chars_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/tables.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/to_chars.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/to_chars_base_10.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/to_chars_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/to_chars_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/to_chars_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__charconv/traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/calendar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/convert_to_timespec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/convert_to_tm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/day.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/duration.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/file_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/gps_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/hh_mm_ss.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/high_resolution_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/leap_second.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/literals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/local_info.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/month.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/month_weekday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/monthday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/ostream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/parser_std_format_spec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/statically_widen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/steady_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/sys_info.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/system_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/tai_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/time_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/time_zone.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/time_zone_link.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/tzdb.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/tzdb_list.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/utc_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/weekday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/year.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/year_month.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/year_month_day.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/year_month_weekday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__chrono/zoned_time.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/common_comparison_category.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/compare_partial_order_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/compare_strong_order_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/compare_three_way.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/compare_three_way_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/compare_weak_order_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/is_eq.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/ordering.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/partial_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/strong_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/synth_three_way.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/three_way_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__compare/weak_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/arithmetic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/boolean_testable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/class_or_enum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/common_reference_with.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/common_with.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/convertible_to.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/copyable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/derived_from.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/different_from.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/equality_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/invocable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/movable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/predicate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/regular.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/relation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/same_as.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/semiregular.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/swappable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__concepts/totally_ordered.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__condition_variable/condition_variable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__config -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__config_site.in -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__configuration/abi.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__configuration/availability.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__configuration/compiler.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__configuration/language.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__configuration/platform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__coroutine/coroutine_handle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__coroutine/coroutine_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__coroutine/noop_coroutine_handle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__coroutine/trivial_awaitables.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cstddef/byte.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cstddef/max_align_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cstddef/nullptr_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cstddef/ptrdiff_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cstddef/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/adjacent_find.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/all_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/any_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/binary_search.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/clamp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/comp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/comp_ref_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy_backward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy_move_common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/count.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/count_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/equal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/equal_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/fill.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/fill_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_end.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_first_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_if_not.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_segment_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/fold.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/for_each.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/for_each_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/for_each_segment.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/generate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/generate_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/half_positive.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_found_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_fun_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_in_out_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_in_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_out_out_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_out_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/includes.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/inplace_merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_heap_until.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_partitioned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_sorted.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_sorted_until.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/iter_swap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/iterator_operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/lexicographical_compare.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/lower_bound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/make_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/make_projected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/max.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/max_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/min.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/min_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/min_max_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/minmax.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/minmax_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/mismatch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/move_backward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/next_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/none_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/nth_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partial_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partial_sort_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partition_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partition_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/pop_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/prev_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/pstl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/push_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_all_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_any_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_binary_search.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_clamp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_contains.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_copy_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_count.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_count_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_ends_with.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_equal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_equal_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_fill.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_fill_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_end.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_last.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_for_each.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_generate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_generate_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_includes.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_make_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_max.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_max_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_min.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_min_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_minmax.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_mismatch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_move_backward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_none_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_nth_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partition_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_push_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_remove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_remove_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_replace.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_replace_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_reverse.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_rotate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_sample.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_search.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_search_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_set_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_set_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_shuffle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_starts_with.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_transform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_unique.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/remove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/remove_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/remove_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/remove_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/replace.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/replace_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/replace_copy_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/replace_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/reverse.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/reverse_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/rotate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/rotate_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/sample.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/search.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/search_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/set_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/set_intersection.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/set_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/shift_left.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/shift_right.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/shuffle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/sift_down.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/simd_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/sort_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/stable_partition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/stable_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/swap_ranges.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/transform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/unique.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/unique_copy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/unwrap_iter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/unwrap_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/upper_bound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__assert -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/aliases.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_base.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_flag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_lock_free.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_sync.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/check_memory_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/contention_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/fence.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/is_always_lock_free.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/kill_dependency.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/memory_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/to_gcc_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_cast.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_ceil.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_floor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_log2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_width.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/blsr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/byteswap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/countl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/countr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/endian.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/has_single_bit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/invert_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/popcount.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit/rotate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__bit_reference -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/chars_format.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/from_chars_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/from_chars_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/tables.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars_base_10.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/calendar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/convert_to_timespec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/convert_to_tm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/day.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/duration.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/file_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/hh_mm_ss.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/high_resolution_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/leap_second.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/literals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/local_info.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/month.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/month_weekday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/monthday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/ostream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/parser_std_format_spec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/statically_widen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/steady_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/sys_info.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/system_clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/time_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/time_zone.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/time_zone_link.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/tzdb.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/tzdb_list.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/weekday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/year.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/year_month.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/year_month_day.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/year_month_weekday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/zoned_time.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/common_comparison_category.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_three_way.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_three_way_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/is_eq.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/ordering.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/partial_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/strong_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/synth_three_way.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/three_way_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__compare/weak_order.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/arithmetic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/boolean_testable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/class_or_enum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/common_reference_with.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/common_with.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/convertible_to.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/copyable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/derived_from.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/different_from.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/equality_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/invocable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/movable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/predicate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/regular.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/relation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/same_as.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/semiregular.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/swappable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/totally_ordered.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__condition_variable/condition_variable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__config -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__config_site.in -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/abi.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/availability.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/compiler.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/config_site_shim.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/language.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/platform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__coroutine/coroutine_handle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__coroutine/coroutine_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__coroutine/trivial_awaitables.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__debug_utils/randomize_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__debug_utils/sanitizers.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__exception/exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__exception/exception_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__exception/nested_exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__exception/operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__exception/terminate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__expected/bad_expected_access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__expected/expected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__expected/unexpect.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__expected/unexpected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/copy_options.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/directory_entry.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/directory_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/directory_options.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/file_status.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/file_time_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/file_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/filesystem_error.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/path.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/path_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/perm_options.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/perms.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/space_info.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/u8path.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/buffer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/container_adaptor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/enable_insertable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/escaped_output_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_arg.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_arg_store.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_args.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_context.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_error.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_parse_context.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_to_n_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_bool.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_char.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_output.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_tuple.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/indic_conjunct_break_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/parser_std_format_spec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/range_default_formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/range_formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/unicode.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/width_estimation_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__format/write_escaped.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/binary_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/binary_negate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/bind.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/bind_back.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/bind_front.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/binder1st.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/binder2nd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/boyer_moore_searcher.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/compose.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/default_searcher.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/hash.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/identity.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/invoke.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/is_transparent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/mem_fn.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/mem_fun_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/not_fn.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/perfect_forward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/pointer_to_binary_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/pointer_to_unary_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/ranges_operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/reference_wrapper.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/unary_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/unary_negate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__functional/weak_result_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/bit_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/complex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/deque.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/format.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/fstream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/functional.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/ios.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/istream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/mdspan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/memory.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/memory_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/ostream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/pair.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/queue.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/span.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/sstream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/stack.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/streambuf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/string_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/subrange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/tuple.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/vector.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__hash_table -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ios/fpos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/advance.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/aliasing_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/back_insert_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/bounded_iter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/common_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/counted_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/default_sentinel.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/distance.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/empty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/erase_if_container.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/front_insert_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/incrementable_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/indirectly_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/insert_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/istream_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/istreambuf_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iter_move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iter_swap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iterator_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iterator_with_data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/mergeable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/move_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/move_sentinel.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/next.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/ostream_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/permutable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/prev.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/projected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/readable_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/reverse_access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/reverse_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/segmented_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/size.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/sortable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/unreachable_sentinel.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/wrap_iter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/abs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/copysign.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/error_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/exponential_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/fdim.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/fma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/gamma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/hyperbolic_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/hypot.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/logarithms.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/min_max.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/modulo.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/remainder.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/roots.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/rounding_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/special_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__math/trigonometric_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mbstate_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/default_accessor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/extents.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/layout_left.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/layout_right.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/layout_stride.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/mdspan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/addressof.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/align.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/aligned_alloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocate_at_least.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocation_guard.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocator_arg_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocator_destructor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocator_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/assume_aligned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/auto_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/builtin_new_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/compressed_pair.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/construct_at.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/destruct_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/inout_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/out_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/pointer_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/ranges_construct_at.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/raw_storage_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/shared_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/swap_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/temp_value.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/temporary_buffer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/uninitialized_algorithms.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/unique_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/uses_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/uses_allocator_construction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory/voidify.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/memory_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/pool_options.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/lock_guard.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/mutex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/once_flag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/tag_types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/unique_lock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__node_handle -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/accumulate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/adjacent_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/exclusive_scan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/gcd_lcm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/inclusive_scan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/inner_product.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/iota.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/midpoint.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/partial_sum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/pstl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/reduce.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/saturation_arithmetic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/transform_reduce.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ostream/basic_ostream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ostream/print.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backend.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backend_fwd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backends/default.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backends/libdispatch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backends/serial.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backends/std_thread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/fill.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/transform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/dispatch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/handle_exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/bernoulli_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/binomial_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/cauchy_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/chi_squared_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/clamp_to_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/default_random_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/discard_block_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/discrete_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/exponential_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/extreme_value_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/fisher_f_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/gamma_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/generate_canonical.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/geometric_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/independent_bits_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/is_seed_sequence.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/is_valid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/knuth_b.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/linear_congruential_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/log2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/lognormal_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/mersenne_twister_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/negative_binomial_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/normal_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/piecewise_constant_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/piecewise_linear_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/poisson_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/random_device.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/ranlux.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/seed_seq.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/shuffle_order_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/student_t_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/subtract_with_carry_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/uniform_int_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/uniform_random_bit_generator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/uniform_real_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__random/weibull_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/all.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/as_rvalue_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/chunk_by_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/common_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/container_compatible_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/counted.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/dangling.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/drop_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/drop_while_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/elements_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/empty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/empty_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/enable_borrowed_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/enable_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/filter_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/from_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/iota_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/istream_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/join_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/lazy_split_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/movable_box.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/non_propagating_cache.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/owning_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/range_adaptor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/rbegin.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/ref_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/rend.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/repeat_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/reverse_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/single_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/size.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/split_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/subrange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/take_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/take_while_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/to.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/transform_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/view_interface.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/views.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/zip_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__split_buffer -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__std_clang_module -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__std_mbstate_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/intrusive_list_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/stop_callback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/stop_source.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/stop_state.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/stop_token.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__string/char_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__string/constexpr_c_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__string/extern_template_lists.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__support/ibm/gettod_zos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__support/ibm/nanosleep.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/errc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/error_category.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/error_code.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/error_condition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/system_error.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/id.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/jthread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/poll_with_backoff.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support/c11.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support/external.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support/pthread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support/windows.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/this_thread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/thread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__thread/timed_backoff_policy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tree -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/find_index.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/ignore.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/make_tuple_types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/sfinae_helpers.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_indices.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_like.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_like_ext.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_size.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_cv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_volatile.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/aligned_storage.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/aligned_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/alignment_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/can_extract_key.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/common_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/common_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/conditional.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/conjunction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/copy_cv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/copy_cvref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/datasizeof.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/decay.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/dependent_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/desugars_to.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/disjunction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/enable_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/extent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/integral_constant.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/invoke.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_abstract.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_aggregate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_arithmetic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_base_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_bounded_array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_callable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_char_like_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_class.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_compound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_convertible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_core_convertible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_empty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_enum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_equality_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_execution_policy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_final.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_fundamental.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_literal_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_member_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_null_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_object.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_pod.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_polymorphic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_primary_template.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_referenceable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_same.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_scalar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_signed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_signed_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_specialization.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_standard_layout.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_swappable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivial.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_unbounded_array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_unsigned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_valid_expansion.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_void.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_volatile.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/lazy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/make_signed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/make_unsigned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/maybe_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/nat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/negation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/promote.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/rank.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_all_extents.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_const_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_cv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_cvref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_extent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_volatile.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/result_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/strip_signature.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/type_identity.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/type_list.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/underlying_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/unwrap_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/void_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__undef_macros -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/as_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/as_lvalue.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/auto_cast.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/cmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/convert_to_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/declval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/empty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/exception_guard.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/exchange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/forward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/forward_like.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/in_place.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/integer_sequence.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/is_pointer_in_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/is_valid_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/no_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/pair.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/piecewise_construct.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/priority_tag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/private_constructor_tag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/rel_ops.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/small_buffer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/swap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/to_underlying.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__utility/unreachable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__variant/monostate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/__verbose_abort -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/algorithm -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/any -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/array -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/atomic -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/barrier -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/bit -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/bitset -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cassert -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ccomplex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cctype -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cerrno -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cfenv -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cfloat -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/charconv -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/chrono -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cinttypes -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ciso646 -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/climits -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/clocale -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cmath -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/codecvt -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/compare -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/complex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/complex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/concepts -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/condition_variable -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/coroutine -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/csetjmp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/csignal -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cstdarg -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cstdbool -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cstddef -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cstdint -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cstdio -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cstdlib -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cstring -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ctgmath -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ctime -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ctype.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cuchar -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cwchar -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/cwctype -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/deque -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/errno.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/exception -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/execution -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/expected -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__config -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/aligned_tag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/declaration.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/scalar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/simd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/simd_mask.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/utility.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/vec_ext.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/iterator -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/memory -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/propagate_const -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/simd -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/type_traits -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/experimental/utility -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ext/__hash -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ext/hash_map -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ext/hash_set -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/filesystem -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/float.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/format -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/forward_list -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/fstream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/functional -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/future -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/initializer_list -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/inttypes.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/iomanip -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ios -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/iosfwd -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/iostream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/istream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/iterator -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/latch -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/limits -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/list -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/locale -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/locale.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/map -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/math.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/mdspan -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/memory -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/memory_resource -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/mutex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/new -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/numbers -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/numeric -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/optional -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ostream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/print -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/queue -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/random -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ranges -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/ratio -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/regex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/scoped_allocator -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/semaphore -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/set -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/shared_mutex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/source_location -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/span -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/sstream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stack -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stdatomic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stdbool.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stddef.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stdexcept -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stdint.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stdio.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stdlib.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/stop_token -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/streambuf -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/string -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/string_view -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/strstream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/syncstream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/system_error -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/tgmath.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/thread -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/tuple -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/type_traits -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/typeindex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/typeinfo -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/uchar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/unordered_map -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/unordered_set -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/utility -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/valarray -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/variant -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/vector -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/wchar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__cxx03/wctype.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__debug_utils/randomize_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__debug_utils/sanitizers.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__debug_utils/strict_weak_ordering_check.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__exception/exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__exception/exception_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__exception/nested_exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__exception/operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__exception/terminate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__expected/bad_expected_access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__expected/expected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__expected/unexpect.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__expected/unexpected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/copy_options.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/directory_entry.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/directory_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/directory_options.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/file_status.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/file_time_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/file_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/filesystem_error.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/path.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/path_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/perm_options.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/perms.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/recursive_directory_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/space_info.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__filesystem/u8path.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__flat_map/flat_map.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__flat_map/flat_multimap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__flat_map/key_value_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__flat_map/sorted_equivalent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__flat_map/sorted_unique.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__flat_map/utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/buffer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/container_adaptor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/enable_insertable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/escaped_output_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/extended_grapheme_cluster_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_arg.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_arg_store.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_args.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_context.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_error.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_parse_context.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/format_to_n_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_bool.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_char.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_output.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/formatter_tuple.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/indic_conjunct_break_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/parser_std_format_spec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/range_default_formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/range_formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/unicode.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/width_estimation_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__format/write_escaped.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/binary_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/binary_negate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/bind.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/bind_back.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/bind_front.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/binder1st.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/binder2nd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/boyer_moore_searcher.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/compose.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/default_searcher.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/hash.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/identity.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/invoke.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/is_transparent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/mem_fn.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/mem_fun_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/not_fn.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/perfect_forward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/pointer_to_binary_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/pointer_to_unary_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/ranges_operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/reference_wrapper.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/unary_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/unary_negate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__functional/weak_result_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/bit_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/byte.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/complex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/deque.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/format.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/fstream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/functional.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/get.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/ios.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/istream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/mdspan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/memory.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/memory_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/ostream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/pair.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/queue.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/span.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/sstream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/stack.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/streambuf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/string_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/subrange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/tuple.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/variant.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__fwd/vector.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__hash_table -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ios/fpos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/advance.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/aliasing_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/back_insert_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/bounded_iter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/common_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/counted_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/cpp17_iterator_concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/default_sentinel.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/distance.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/empty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/erase_if_container.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/front_insert_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/incrementable_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/indirectly_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/insert_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/istream_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/istreambuf_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/iter_move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/iter_swap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/iterator_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/iterator_with_data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/mergeable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/move_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/move_sentinel.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/next.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/ostream_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/ostreambuf_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/permutable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/prev.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/projected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/ranges_iterator_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/readable_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/reverse_access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/reverse_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/segmented_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/size.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/sortable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/static_bounded_iter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/unreachable_sentinel.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__iterator/wrap_iter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/android.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/ibm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/musl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/openbsd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/pad_and_output.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/support/apple.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/support/bsd_like.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/support/freebsd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/support/fuchsia.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/support/linux.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/support/no_locale/characters.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/support/no_locale/strtonum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__locale_dir/support/windows.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/abs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/copysign.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/error_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/exponential_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/fdim.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/fma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/gamma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/hyperbolic_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/hypot.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/inverse_hyperbolic_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/inverse_trigonometric_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/logarithms.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/min_max.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/modulo.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/remainder.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/roots.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/rounding_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/special_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__math/trigonometric_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mbstate_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mdspan/default_accessor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mdspan/extents.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mdspan/layout_left.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mdspan/layout_right.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mdspan/layout_stride.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mdspan/mdspan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/addressof.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/align.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/aligned_alloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/allocate_at_least.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/allocation_guard.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/allocator_arg_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/allocator_destructor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/allocator_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/array_cookie.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/assume_aligned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/auto_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/compressed_pair.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/construct_at.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/destruct_n.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/inout_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/noexcept_move_assign_container.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/out_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/pointer_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/ranges_construct_at.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/ranges_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/ranges_uninitialized_algorithms.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/raw_storage_iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/shared_count.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/shared_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/swap_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/temp_value.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/temporary_buffer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/uninitialized_algorithms.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/unique_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/unique_temporary_buffer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/uses_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory/uses_allocator_construction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory_resource/memory_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory_resource/monotonic_buffer_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory_resource/polymorphic_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory_resource/pool_options.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory_resource/synchronized_pool_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__memory_resource/unsynchronized_pool_resource.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mutex/lock_guard.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mutex/mutex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mutex/once_flag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mutex/tag_types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__mutex/unique_lock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/align_val_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/allocate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/destroying_delete_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/exceptions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/global_new_delete.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/interference_size.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/launder.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/new_handler.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/nothrow_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__new/placement_new_delete.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__node_handle -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/accumulate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/adjacent_difference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/exclusive_scan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/gcd_lcm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/inclusive_scan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/inner_product.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/iota.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/midpoint.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/partial_sum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/pstl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/reduce.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/saturation_arithmetic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/transform_exclusive_scan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/transform_inclusive_scan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__numeric/transform_reduce.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ostream/basic_ostream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ostream/print.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ostream/put_character_sequence.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/backend.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/backend_fwd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/backends/default.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/backends/libdispatch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/backends/serial.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/backends/std_thread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/any_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/cpu_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/fill.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/find_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/for_each.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/merge.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/stable_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/transform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/transform_reduce.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/dispatch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__pstl/handle_exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/bernoulli_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/binomial_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/cauchy_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/chi_squared_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/clamp_to_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/default_random_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/discard_block_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/discrete_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/exponential_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/extreme_value_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/fisher_f_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/gamma_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/generate_canonical.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/geometric_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/independent_bits_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/is_seed_sequence.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/is_valid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/knuth_b.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/linear_congruential_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/log2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/lognormal_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/mersenne_twister_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/negative_binomial_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/normal_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/piecewise_constant_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/piecewise_linear_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/poisson_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/random_device.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/ranlux.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/seed_seq.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/shuffle_order_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/student_t_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/subtract_with_carry_engine.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/uniform_int_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/uniform_random_bit_generator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/uniform_real_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__random/weibull_distribution.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/all.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/as_rvalue_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/chunk_by_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/common_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/concepts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/container_compatible_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/counted.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/dangling.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/drop_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/drop_while_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/elements_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/empty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/empty_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/enable_borrowed_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/enable_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/filter_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/from_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/iota_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/istream_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/join_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/lazy_split_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/movable_box.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/non_propagating_cache.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/owning_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/range_adaptor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/rbegin.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/ref_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/rend.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/repeat_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/reverse_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/single_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/size.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/split_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/subrange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/take_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/take_while_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/to.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/transform_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/view_interface.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/views.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__ranges/zip_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__split_buffer -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__std_mbstate_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__stop_token/atomic_unique_lock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__stop_token/intrusive_list_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__stop_token/intrusive_shared_ptr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__stop_token/stop_callback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__stop_token/stop_source.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__stop_token/stop_state.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__stop_token/stop_token.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__string/char_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__string/constexpr_c_functions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__string/extern_template_lists.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__support/ibm/gettod_zos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__support/ibm/locale_mgmt_zos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__support/ibm/nanosleep.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__support/xlocale/__nop_locale_mgmt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__support/xlocale/__posix_l_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__support/xlocale/__strtonum_fallback.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__system_error/errc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__system_error/error_category.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__system_error/error_code.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__system_error/error_condition.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__system_error/system_error.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__system_error/throw_system_error.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/id.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/jthread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/poll_with_backoff.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/support.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/support/c11.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/support/external.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/support/pthread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/support/windows.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/this_thread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/thread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__thread/timed_backoff_policy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tree -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/find_index.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/ignore.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/make_tuple_types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/sfinae_helpers.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/tuple_element.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/tuple_indices.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/tuple_like.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/tuple_like_ext.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/tuple_like_no_subrange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/tuple_size.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__tuple/tuple_types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/add_cv_quals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/add_lvalue_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/add_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/add_rvalue_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/aligned_storage.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/aligned_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/alignment_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/can_extract_key.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/common_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/common_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/conditional.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/conjunction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/container_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/copy_cv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/copy_cvref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/datasizeof.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/decay.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/dependent_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/desugars_to.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/detected_or.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/disjunction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/enable_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/extent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/has_unique_object_representation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/has_virtual_destructor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/integral_constant.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/invoke.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_abstract.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_aggregate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_always_bitcastable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_arithmetic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_base_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_bounded_array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_callable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_char_like_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_class.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_compound.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_constant_evaluated.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_convertible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_core_convertible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_empty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_enum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_equality_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_execution_policy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_final.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_fundamental.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_implicit_lifetime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_implicitly_default_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_literal_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_member_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_nothrow_assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_nothrow_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_nothrow_convertible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_nothrow_destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_null_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_object.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_pod.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_polymorphic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_primary_template.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_reference_wrapper.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_referenceable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_same.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_scalar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_signed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_signed_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_specialization.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_standard_layout.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_swappable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_trivial.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_copyable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_lexicographically_comparable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_relocatable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_unbounded_array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_unsigned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_unsigned_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_valid_expansion.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_void.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/is_volatile.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/lazy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/make_32_64_or_128_bit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/make_const_lvalue_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/make_signed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/make_unsigned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/maybe_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/nat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/negation.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/promote.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/rank.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/reference_constructs_from_temporary.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/reference_converts_from_temporary.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_all_extents.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_const_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_cv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_cvref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_extent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/remove_volatile.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/result_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/strip_signature.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/type_identity.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/type_list.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/underlying_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/unwrap_ref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__type_traits/void_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__undef_macros -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/as_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/as_lvalue.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/auto_cast.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/cmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/convert_to_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/declval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/element_count.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/empty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/exception_guard.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/exchange.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/forward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/forward_like.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/in_place.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/integer_sequence.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/is_pointer_in_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/is_valid_range.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/no_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/pair.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/piecewise_construct.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/priority_tag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/private_constructor_tag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/rel_ops.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/scope_guard.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/small_buffer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/swap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/to_underlying.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__utility/unreachable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__variant/monostate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__vector/comparison.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__vector/container_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__vector/erase.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__vector/pmr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__vector/swap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__vector/vector.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__vector/vector_bool.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__vector/vector_bool_formatter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/__verbose_abort -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/algorithm -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/any -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/array -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/atomic -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/barrier -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/bit -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/bitset -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cassert -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ccomplex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cctype -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cerrno -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cfenv -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cfloat -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/charconv -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/chrono -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cinttypes -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ciso646 -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/climits -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/clocale -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cmath -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/codecvt -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/compare -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/complex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/complex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/concepts -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/condition_variable -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/coroutine -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/csetjmp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/csignal -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cstdalign -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cstdarg -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cstdbool -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cstddef -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cstdint -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cstdio -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cstdlib -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cstring -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ctgmath -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ctime -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ctype.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cuchar -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cwchar -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/cwctype -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/deque -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/errno.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/exception -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/execution -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/expected -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/aligned_tag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/declaration.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/scalar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/simd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/simd_mask.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/utility.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/__simd/vec_ext.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/iterator -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/memory -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/propagate_const -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/simd -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/type_traits -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/experimental/utility -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ext/__hash -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ext/hash_map -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ext/hash_set -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/filesystem -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/flat_map -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/float.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/format -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/forward_list -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/fstream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/functional -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/future -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/initializer_list -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/inttypes.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/iomanip -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ios -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/iosfwd -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/iostream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/istream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/iterator -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/latch -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/limits -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/list -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/locale -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/map -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/math.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/mdspan -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/memory -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/memory_resource -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/mutex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/new -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/numbers -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/numeric -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/optional -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ostream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/print -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/queue -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/random -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ranges -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/ratio -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/regex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/scoped_allocator -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/semaphore -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/set -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/shared_mutex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/source_location -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/span -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/sstream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/stack -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/stdatomic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/stdbool.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/stddef.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/stdexcept -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/stdio.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/stdlib.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/stop_token -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/streambuf -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/string -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/string_view -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/strstream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/syncstream -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/system_error -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/tgmath.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/thread -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/tuple -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/type_traits -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/typeindex -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/typeinfo -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/uchar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/unordered_map -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/unordered_set -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/utility -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/valarray -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/variant -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/vector -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/wchar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/include/wctype.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat.cppm.in -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cassert.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cctype.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cerrno.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cfenv.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cfloat.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cinttypes.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/climits.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/clocale.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cmath.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/csetjmp.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/csignal.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cstdarg.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cstddef.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cstdint.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cstdio.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cstdlib.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cstring.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/ctime.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cuchar.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cwchar.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.compat/cwctype.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std.cppm.in -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/algorithm.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/any.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/array.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/atomic.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/barrier.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/bit.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/bitset.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cassert.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cctype.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cerrno.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cfenv.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cfloat.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/charconv.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/chrono.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cinttypes.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/climits.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/clocale.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cmath.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/codecvt.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/compare.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/complex.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/concepts.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/condition_variable.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/coroutine.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/csetjmp.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/csignal.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cstdarg.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cstddef.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cstdint.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cstdio.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cstdlib.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cstring.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/ctime.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cuchar.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cwchar.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/cwctype.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/deque.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/exception.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/execution.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/expected.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/filesystem.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/flat_map.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/flat_set.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/format.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/forward_list.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/fstream.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/functional.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/future.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/generator.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/hazard_pointer.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/initializer_list.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/iomanip.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/ios.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/iosfwd.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/iostream.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/istream.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/iterator.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/latch.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/limits.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/list.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/locale.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/map.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/mdspan.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/memory.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/memory_resource.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/mutex.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/new.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/numbers.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/numeric.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/optional.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/ostream.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/print.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/queue.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/random.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/ranges.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/ratio.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/rcu.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/regex.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/scoped_allocator.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/semaphore.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/set.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/shared_mutex.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/source_location.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/span.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/spanstream.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/sstream.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/stack.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/stacktrace.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/stdexcept.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/stdfloat.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/stop_token.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/streambuf.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/string.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/string_view.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/strstream.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/syncstream.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/system_error.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/text_encoding.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/thread.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/tuple.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/type_traits.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/typeindex.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/typeinfo.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/unordered_map.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/unordered_set.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/utility.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/valarray.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/variant.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/vector.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/modules/std/version.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/algorithm.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/any.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/atomic.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/barrier.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/bind.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/call_once.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/charconv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/chrono.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/condition_variable.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/condition_variable_destructor.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/error_category.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/exception.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/expected.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/chrono_exception.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/include/tzdb/time_zone_private.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/include/tzdb/types_private.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/include/tzdb/tzdb_list_private.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/include/tzdb/tzdb_private.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/keep.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/time_zone.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/tzdb.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/experimental/tzdb_list.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/directory_entry.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/directory_iterator.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/error.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/file_descriptor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/filesystem_clock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/filesystem_error.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/format_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/int128_builtins.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/operations.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/path.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/path_parser.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/posix_compat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/filesystem/time_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/fstream.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/functional.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/future.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/hash.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/apple_availability.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/atomic_support.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/config_elast.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/from_chars_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/overridable_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/refstring.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed_full_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2s.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2s_full_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/d2s_intrinsics.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/digit_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/f2s.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/ryu/ryu.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/sso_allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/include/to_chars_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/ios.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/ios.instantiations.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/iostream.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/locale.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/memory.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/memory_resource.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/mutex.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/mutex_destructor.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/new.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/new_handler.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/new_helpers.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/optional.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/ostream.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/print.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/pstl/libdispatch.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/random.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/random_shuffle.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/regex.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/ryu/d2fixed.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/ryu/d2s.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/ryu/f2s.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/shared_mutex.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/std_stream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/stdexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/string.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/strstream.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/ibm/mbsnrtowcs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/ibm/wcsnrtombs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/ibm/xlocale_zos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_fallback.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_glibcxx.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_libcxxabi.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_libcxxrt.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_msvc.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_pointer_msvc.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/stdexcept_default.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/runtime/stdexcept_vcruntime.ipp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/win32/compiler_rt_shims.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/win32/locale_win32.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/win32/support.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/support/win32/thread_win32.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/system_error.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/thread.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/typeinfo.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/valarray.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/variant.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/vector.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/src/verbose_abort.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxx/vendor/llvm/default_assertion_handler.in -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/include/__cxxabi_config.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/include/cxxabi.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/abort_message.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/abort_message.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/aix_state_tab_eh.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_aux_runtime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_default_handlers.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_demangle.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_exception.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_exception.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_exception_storage.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_guard.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_guard_impl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_handlers.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_handlers.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_noexception.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_personality.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_thread_atexit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_vector.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/cxa_virtual.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/demangle/DemangleConfig.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/demangle/ItaniumDemangle.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/demangle/ItaniumNodes.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/demangle/StringViewExtras.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/demangle/Utility.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/fallback_malloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/fallback_malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/private_typeinfo.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/private_typeinfo.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/stdlib_exception.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/stdlib_new_delete.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/stdlib_stdexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/stdlib_typeinfo.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/libcxxabi/src/vendor/apple/shims.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/config/app.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/config/gpu/app.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/config/linux/app.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/errno_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/fcntl_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/fcntl_overlay.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/fenv_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/float_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/func/aligned_alloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/func/free.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/func/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/func/realloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/limits_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/link_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/locale_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/math_function_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/math_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/sched_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/signal_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/stdio_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/stdio_overlay.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/stdlib_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/stdlib_overlay.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/sys_auxv_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/sys_epoll_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/sys_stat_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/time_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/FILE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/atexithandler_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/clock_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/clockid_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/cookie_io_functions_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/cpu_set_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/div_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/ldiv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/lldiv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/locale_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/mode_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/nfds_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/off_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/pid_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/sigset_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/socklen_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/ssize_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/stack_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_dl_phdr_info.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_epoll_event.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_f_owner_ex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_flock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_flock64.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_iovec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_msghdr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_pollfd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_sigaction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_sockaddr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_timespec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_timeval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/struct_tm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/suseconds_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/time_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/uid_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/wchar_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/types/wint_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/unistd_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/unistd_overlay.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/wchar_macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/hdr/wchar_overlay.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/Uefi.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/arpa/inet.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/assert.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/complex.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/dirent.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/dlfcn.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/elf.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/endian.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/errno.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/fcntl.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/features.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/float.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/inttypes.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/limits.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/EFIAPI-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/assert-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/complex-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/containerof-macro.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/dlfcn-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/elf-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/endian-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/features-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/file-seek-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/float-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/float16-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/generic-error-number-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/gpu/signal-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/gpu/time-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/inttypes-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/limits-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/link-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/fcntl-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/poll-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sched-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/signal-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-epoll-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-random-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-resource-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-socket-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-stat-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-time-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-wait-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/termios-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/time-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/unistd-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/locale-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/math-function-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/math-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/null-macro.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/offsetof-macro.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/poll-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/pthread-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sched-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/signal-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdbit-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdckdint-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdfix-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdint-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdio-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdlib-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-auxv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-epoll-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-ioctl-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-mman-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-queue-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-random-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-resource-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-select-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-socket-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-stat-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-time-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-wait-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sysexits-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/termios-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/wchar-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/windows/time-macros-ext.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ACTION.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/DIR.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_ALLOCATE_TYPE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_BOOT_SERVICES.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_CAPSULE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_CONFIGURATION_TABLE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_DEVICE_PATH_PROTOCOL.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_EVENT.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_GUID.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_HANDLE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_INTERFACE_TYPE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_LOCATE_SEARCH_TYPE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_MEMORY_DESCRIPTOR.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_MEMORY_TYPE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_OPEN_PROTOCOL_INFORMATION_ENTRY.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_PHYSICAL_ADDRESS.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_RUNTIME_SERVICES.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_INPUT_PROTOCOL.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_STATUS.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_SYSTEM_TABLE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_TABLE_HEADER.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_TIME.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_TIMER_DELAY.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_TPL.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_VIRTUAL_ADDRESS.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ENTRY.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/FILE.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__atexithandler_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__atfork_callback_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__bsearchcompare_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__call_once_func_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__exec_argv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__exec_envp_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__futex_word.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__getoptargv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__lsearchcompare_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__mutex_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__pthread_once_func_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__pthread_start_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__pthread_tss_dtor_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__qsortcompare_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__qsortrcompare_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__thread_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/blkcnt_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/blksize_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cc_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cfloat128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cfloat16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/char16_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/char32_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/char8_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/clock_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/clockid_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cnd_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cookie_io_functions_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cpu_set_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/dev_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/div_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/double_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fd_set.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/float128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/float_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fsblkcnt_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fsfilcnt_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/gid_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/imaxdiv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ino_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/jmp_buf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ldiv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/lldiv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/locale_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/mbstate_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/mode_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/mtx_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/nfds_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/nlink_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/off64_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/off_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/once_flag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pid_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/posix_spawn_file_actions_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/posix_spawnattr_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_attr_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_condattr_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_key_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_mutex_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_mutexattr_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_once_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_rwlock_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_rwlockattr_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_spinlock_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/rlim_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/sa_family_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/sig_atomic_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/sighandler_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/siginfo_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/sigset_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/socklen_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/speed_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ssize_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/stack_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/stdfix-types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_dirent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_dl_phdr_info.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_epoll_data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_epoll_event.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_f_owner_ex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_flock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_flock64.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_hsearch_data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_iovec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_lconv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_msghdr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_pollfd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_rlimit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_rusage.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_sched_param.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_sigaction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_sockaddr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_sockaddr_un.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_stat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_statvfs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_termios.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_timespec.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_timeval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_tm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_utsname.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/suseconds_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/tcflag_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/test_rpc_opcodes_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/thrd_start_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/thrd_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/time_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/time_t_32.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/time_t_64.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/tss_dtor_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/tss_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/uid_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/union_sigval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/wchar_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/wint_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/locale.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/math.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/poll.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/pthread.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sched.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/search.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/setjmp.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/signal.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/spawn.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/stdbit.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/stdckdint.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/stdfix.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/stdint.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/stdio.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/stdlib.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/string.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/strings.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/auxv.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/epoll.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/ioctl.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/mman.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/prctl.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/queue.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/random.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/resource.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/select.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/sendfile.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/socket.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/stat.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/statvfs.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/syscall.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/time.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/types.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/uio.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/utsname.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sys/wait.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/sysexits.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/termios.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/threads.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/time.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/uchar.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/unistd.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/include/wchar.h.def -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/shared/fp_bits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/shared/rpc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/shared/rpc_opcodes.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/shared/rpc_server.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/shared/rpc_util.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/shared/str_to_float.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/shared/str_to_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/algorithm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/atomic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/bit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/bitset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/cstddef.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/expected.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/functional.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/iterator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/limits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/mutex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/new.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/new.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/optional.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/span.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/string_view.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/stringstream.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/add_lvalue_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/add_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/add_rvalue_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/aligned_storage.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/always_false.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/bool_constant.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/conditional.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/decay.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/enable_if.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/false_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/has_unique_object_representations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/integral_constant.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/invoke.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/invoke_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_arithmetic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_array.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_base_of.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_class.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_complex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_const.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_constant_evaluated.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_convertible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_copy_assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_copy_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_enum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_fixed_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_floating_point.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_function.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_integral.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_lvalue_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_member_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_move_assignable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_move_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_null_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_object.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_pointer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_rvalue_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_same.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_scalar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_signed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_trivially_constructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_trivially_copyable.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_trivially_destructible.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_union.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_unsigned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_void.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/make_signed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/make_unsigned.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_all_extents.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_cv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_cvref.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_extent.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_reference.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/true_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/type_identity.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/void_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/declval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/forward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/in_place.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/integer_sequence.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/move.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/BasicOperations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/DivisionAndRemainderOperations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/FEnvImpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/FMA.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/FPBits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/Hypot.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/ManipulationFunctions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/NearestIntegerOperations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/NormalFloat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/PolyEval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/aarch64/FEnvImpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/aarch64/nearest_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/aarch64/sqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/arm/FEnvImpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/cast.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/double_double.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/dyadic_float.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/except_value_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/fpbits_str.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/FMA.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/FMod.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/add_sub.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/div.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/mul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/sqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/multiply_add.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/nearest_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/riscv/FEnvImpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/riscv/sqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/rounding_mode.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/sqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/triple_double.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/FEnvImpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/nearest_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/sqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/dir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/dir.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/file.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/file.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/linux/dir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/linux/file.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/linux/file.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/linux/lseekImpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/linux/stderr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/linux/stdin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/File/linux/stdout.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/GPU/allocator.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/GPU/allocator.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/GPU/utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/HashTable/bitmask.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/HashTable/generic/bitmask_impl.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/HashTable/randomness.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/HashTable/sse2/bitmask_impl.inc -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/HashTable/table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/baremetal/exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/baremetal/io.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/baremetal/io.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/arm/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/io.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/exit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/fcntl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/fuchsia/io.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/gpu/exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/gpu/io.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/gpu/io.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/io.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/aarch64/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/aarch64/vdso.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/arm/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/arm/vdso.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/fcntl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/i386/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/io.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/riscv/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/riscv/vdso.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/vdso.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/vdso.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/vdso_sym.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/x86_64/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/x86_64/vdso.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/uefi/exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/uefi/io.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/uefi/io.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/windows/exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/windows/io.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/windows/io.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/RPC/rpc_client.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/RPC/rpc_client.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/RPC/rpc_server.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/error_to_string.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/error_to_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/message_mapper.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/platform_errors.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/platform_signals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/signal_to_string.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/signal_to_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/linux_extension_errors.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/linux_extension_signals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/linux_platform_errors.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/linux_platform_signals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/minimal_platform_errors.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/minimal_platform_signals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/posix_errors.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/posix_signals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/signal_table.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/stdc_errors.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/stdc_signals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/arg_list.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/big_int.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/block.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/blockstore.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/c_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/char_vector.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/complex_basic_ops.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/complex_type.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/ctype_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/detailed_powers_of_ten.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/endian_internal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/error_or.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/fixed_point/fx_bits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/fixed_point/fx_rep.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/fixed_point/sqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/fixedvector.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/float_to_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/freelist.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/freelist.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/freelist_heap.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/freelist_heap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/freestore.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/freetrie.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/freetrie.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/hash.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/integer_literals.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/integer_operations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/integer_to_string.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/intrusive_list.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/libc_assert.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/attributes.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/config.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/null_check.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/optimization.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/architectures.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/compiler.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/complex_types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/cpu_features.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/os.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/types.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/macros/sanitizer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/math_extras.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/memory_size.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/number_pair.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/ryu_constants.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/ryu_long_double_constants.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/sign.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/str_to_float.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/str_to_integer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/str_to_num_result.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/CndVar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/callonce.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/fork_callbacks.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/fork_callbacks.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/gpu/mutex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/identifier.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/CndVar.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/callonce.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/callonce.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/futex_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/futex_word.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/mutex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/raw_mutex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/rwlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/thread.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/mutex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/mutex_common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/sleep.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/spin_lock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/thread.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/threads/thread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/clock_gettime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/gpu/clock_gettime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/gpu/time_utils.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/gpu/time_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/linux/abs_timeout.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/linux/clock_conversion.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/linux/clock_gettime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/linux/monotonicity.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/units.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/windows/clock_gettime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/time/windows/performance_counter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/uint128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/__support/wctype_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/arpa/inet/htonl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/arpa/inet/htonl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/arpa/inet/htons.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/arpa/inet/htons.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/arpa/inet/ntohl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/arpa/inet/ntohl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/arpa/inet/ntohs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/arpa/inet/ntohs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/assert/__assert_fail.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/assert/assert.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/assert/generic/__assert_fail.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/assert/gpu/__assert_fail.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/compiler/__stack_chk_fail.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/compiler/generic/__stack_chk_fail.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cimag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cimagf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cimagf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cimagf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cimagl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/conj.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/conjf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/conjf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/conjf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/conjl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cproj.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cprojf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cprojf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cprojf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/cprojl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/creal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/crealf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/crealf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/crealf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/creall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cimag.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cimagf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cimagf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cimagf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cimagl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/conj.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/conjf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/conjf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/conjf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/conjl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cproj.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cprojf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cprojf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cprojf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/cprojl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/creal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/crealf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/crealf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/crealf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/complex/generic/creall.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isalnum.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isalnum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isalnum_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isalnum_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isalpha.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isalpha.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isalpha_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isalpha_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isascii.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isascii.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isblank.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isblank.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isblank_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isblank_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/iscntrl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/iscntrl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/iscntrl_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/iscntrl_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isdigit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isdigit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isdigit_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isdigit_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isgraph.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isgraph.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isgraph_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isgraph_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/islower.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/islower.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/islower_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/islower_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isprint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isprint.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isprint_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isprint_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/ispunct.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/ispunct.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/ispunct_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/ispunct_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isspace.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isspace.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isspace_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isspace_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isupper.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isupper.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isupper_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isupper_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isxdigit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isxdigit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isxdigit_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/isxdigit_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/toascii.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/toascii.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/tolower.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/tolower.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/tolower_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/tolower_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/toupper.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/toupper.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/toupper_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/ctype/toupper_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dirent/closedir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dirent/closedir.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dirent/dirfd.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dirent/dirfd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dirent/opendir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dirent/opendir.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dirent/readdir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dirent/readdir.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dlfcn/dlclose.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dlfcn/dlclose.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dlfcn/dlerror.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dlfcn/dlerror.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dlfcn/dlopen.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dlfcn/dlopen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dlfcn/dlsym.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/dlfcn/dlsym.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/errno/libc_errno.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/errno/libc_errno.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fcntl/creat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fcntl/fcntl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fcntl/linux/creat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fcntl/linux/fcntl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fcntl/linux/open.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fcntl/linux/openat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fcntl/open.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fcntl/openat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feclearexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feclearexcept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fedisableexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fedisableexcept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feenableexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feenableexcept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fegetenv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fegetenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fegetexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fegetexcept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fegetexceptflag.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fegetexceptflag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fegetround.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fegetround.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feholdexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feholdexcept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feraiseexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feraiseexcept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fesetenv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fesetenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fesetexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fesetexcept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fesetexceptflag.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fesetexceptflag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fesetround.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fesetround.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fetestexcept.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fetestexcept.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fetestexceptflag.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/fetestexceptflag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feupdateenv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/fenv/feupdateenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/inttypes/imaxabs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/inttypes/imaxabs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/inttypes/imaxdiv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/inttypes/imaxdiv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/inttypes/strtoimax.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/inttypes/strtoimax.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/inttypes/strtoumax.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/inttypes/strtoumax.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/link/dl_iterate_phdr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/link/dl_iterate_phdr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/duplocale.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/duplocale.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/freelocale.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/freelocale.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/locale.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/locale.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/localeconv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/localeconv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/newlocale.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/newlocale.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/setlocale.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/setlocale.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/uselocale.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/locale/uselocale.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/acos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/acosf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/acosf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/acosh.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/acoshf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/acos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/acosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/acosh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/acoshf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/asin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/asinf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/asinh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/asinhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atan.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atan2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atan2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atanh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atanhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ceil.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ceilf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/copysign.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/copysignf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/cos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/cosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/cosh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/coshf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/declarations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/erf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/erff.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp10.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp10f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/expf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/expm1.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/expm1f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fabs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fabsf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fdim.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fdimf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/floor.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/floorf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmaf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmax.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmaxf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fminf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmod.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmodf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/frexp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/frexpf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/hypot.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/hypotf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ilogb.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ilogbf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ldexp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ldexpf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/lgamma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/lgamma_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/llrint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/llrintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log10.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log10f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log1p.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log1pf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/logb.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/logbf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/logf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/lrint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/lrintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/nearbyint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/nearbyintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/nextafter.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/nextafterf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/platform.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/powf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/powi.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/powif.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/remainder.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/remainderf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/remquo.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/remquof.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/rint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/rintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/round.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/roundf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/scalbn.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/scalbnf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sincos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sincosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sinf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sinh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sinhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sqrt.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sqrtf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tan.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tanh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tanhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tgamma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tgammaf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/trunc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/amdgpu/truncf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/asin.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/asinf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/asinf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/asinh.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/asinhf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/atan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/atan2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/atan2f.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/atan2l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/atanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/atanh.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/atanhf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/canonicalize.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/canonicalizef.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/canonicalizef128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/canonicalizef16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/canonicalizel.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/cbrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/cbrtf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ceil.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ceilf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ceilf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ceilf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ceill.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/copysign.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/copysignf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/copysignf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/copysignf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/copysignl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/cos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/cosf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/cosf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/cosh.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/coshf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/coshf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/cospif.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/cospif16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/daddf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/daddl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ddivf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ddivl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/dfmaf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/dfmal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/dmulf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/dmull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/dsqrtf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/dsqrtl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/dsubf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/dsubl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/erf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/erff.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp10.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp10f.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp10f16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp10m1f.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp10m1f16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp2f.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp2f16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp2m1f.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/exp2m1f16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/expf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/expf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/expm1.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/expm1f.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/expm1f16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16add.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16addf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16addf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16addl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16div.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16divf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16divf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16divl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16fma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16fmaf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16fmaf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16fmal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16mul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16mulf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16mulf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16mull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16sqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16sqrtf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16sqrtf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16sqrtl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16sub.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16subf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16subf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/f16subl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fabs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fabsf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fabsf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fabsf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fabsl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fadd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/faddf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/faddl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fdim.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fdimf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fdimf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fdimf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fdiml.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fdiv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fdivf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fdivl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ffma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ffmaf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ffmal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/floor.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/floorf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/floorf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/floorf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/floorl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmax.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaxf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaxf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaxf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_num.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_numf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_numf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_numf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_numl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_magf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_magf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_magf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_magl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_num.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_numf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_numf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_numf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximum_numl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximumf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximumf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximumf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaximuml.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmaxl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmin.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_num.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_numf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_numf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_numf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_numl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_magf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_magf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_magf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_magl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_num.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_numf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_numf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_numf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimum_numl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimumf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimumf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimumf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminimuml.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fminl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmod.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmodf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmodf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmodf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmodl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmulf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fmull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/frexp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/frexpf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/frexpf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/frexpf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/frexpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpx.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpxf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpxf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpxf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fromfpxl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fsqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fsqrtf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fsqrtl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fsub.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fsubf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/fsubl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/acosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/acosf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/acoshf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/asinf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/asinf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/asinhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/atan2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/atan2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/atan2f_float.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/atan2l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/atanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/atanhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalize.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalizef.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalizef128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalizef16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalizel.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/cbrt.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/cbrtf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ceil.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ceilf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ceilf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ceilf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ceill.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/common_constants.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/common_constants.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/copysign.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/copysignf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/copysignf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/copysignf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/copysignl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/cos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/cosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/cosf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/coshf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/coshf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/cospif.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/cospif16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/daddf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/daddl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ddivf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ddivl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/dfmaf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/dfmal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/dmulf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/dmull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/dsqrtf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/dsqrtl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/dsubf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/dsubl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/erff.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp10.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp10f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp10f16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp10f_impl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp10m1f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp10m1f16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp2f16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp2f_impl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp2m1f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp2m1f16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp_utils.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/exp_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/expf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/expf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/explogxf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/explogxf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/expm1.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/expm1f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/expm1f16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/expxf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16add.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16addf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16addf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16addl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16div.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16divf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16divf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16divl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16fma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16fmaf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16fmaf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16fmal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16mul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16mulf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16mulf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16mull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16sqrt.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16sqrtf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16sqrtf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16sqrtl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16sub.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16subf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16subf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/f16subl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fabs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fabsf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fabsf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fabsf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fabsl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fadd.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/faddf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/faddl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fdim.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fdimf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fdimf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fdimf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fdiml.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fdiv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fdivf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fdivl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ffma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ffmaf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ffmal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/floor.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/floorf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/floorf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/floorf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/floorl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmax.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaxf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaxf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaxf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_num.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_numf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_numf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_numf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_numl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_magf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_magf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_magf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_magl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_num.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_numf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_numf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_numf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_numl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximumf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximumf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximumf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximuml.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmaxl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_num.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_numf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_numf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_numf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_numl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_magf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_magf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_magf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_magl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_num.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_numf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_numf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_numf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_numl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimumf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimumf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimumf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminimuml.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fminl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmod.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmodf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmodf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmodf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmodl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmulf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fmull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/frexp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/frexpf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/frexpf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/frexpf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/frexpl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpx.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpxf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpxf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpxf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpxl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fsqrt.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fsqrtf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fsqrtl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fsub.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fsubf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/fsubl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/getpayload.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/getpayloadf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/getpayloadf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/getpayloadf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/getpayloadl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/hypot.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/hypotf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ilogb.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ilogbf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ilogbf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ilogbf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ilogbl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/inv_trigf_utils.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/inv_trigf_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonical.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonicalf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonicalf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonicalf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonicall.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/isnan.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/isnanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/isnanl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/issignaling.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/issignalingf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/issignalingf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/issignalingf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/issignalingl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ldexp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ldexpf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ldexpf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ldexpf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ldexpl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llogb.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llogbf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llogbf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llogbf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llogbl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llrint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llrintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llrintf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llrintf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llrintl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llround.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llroundf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llroundf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llroundf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/llroundl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log10.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log10f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log10f16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log1p.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log1pf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log2f16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/log_range_reduction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/logb.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/logbf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/logbf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/logbf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/logbl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/logf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/logf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lrint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lrintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lrintf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lrintf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lrintl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lround.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lroundf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lroundf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lroundf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/lroundl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/modf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/modff.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/modff128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/modff16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/modfl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nan.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nanf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nanf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nanl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyintf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyintf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyintl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextafter.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextafterf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextafterf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextafterf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextafterl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextdown.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextdownf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextdownf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextdownf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextdownl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nexttoward.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nexttowardf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nexttowardf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nexttowardl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextup.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextupf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextupf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextupf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/nextupl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/pow.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/powf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction_double_common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction_double_fma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction_double_nofma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction_fma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remainder.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remainderf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remainderf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remainderf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remainderl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remquo.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remquof.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remquof128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remquof16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/remquol.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/rint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/rintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/rintf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/rintf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/rintl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/round.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundeven.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundevenf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundevenf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundevenf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundevenl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/roundl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalbln.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalblnf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalblnf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalblnf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalblnl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalbn.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalbnf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalbnf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalbnf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/scalbnl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayload.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsig.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsigf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsigf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsigf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsigl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sincos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sincos_eval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sincosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sincosf16_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sincosf_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sinf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sinf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sinhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sinhf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sinpif.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sinpif16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sqrt.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sqrtf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sqrtf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sqrtf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/sqrtl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/tan.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/tanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/tanf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/tanhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/tanhf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/tanpif16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalorder.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalorderf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalorderf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalorderf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalorderl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermag.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermagf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermagf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermagf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermagl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/trunc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/truncf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/truncf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/truncf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/truncl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpx.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpxf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpxf128.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpxf16.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpxl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/getpayload.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/getpayloadf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/getpayloadf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/getpayloadf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/getpayloadl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/hypot.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/hypotf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ilogb.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ilogbf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ilogbf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ilogbf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ilogbl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/iscanonical.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/iscanonicalf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/iscanonicalf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/iscanonicalf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/iscanonicall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/isnan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/isnanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/isnanl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/issignaling.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/issignalingf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/issignalingf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/issignalingf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/issignalingl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ldexp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ldexpf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ldexpf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ldexpf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ldexpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lgamma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lgamma_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llogb.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llogbf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llogbf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llogbf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llogbl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llrint.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llrintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llrintf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llrintf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llrintl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llround.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llroundf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llroundf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llroundf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/llroundl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log10.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log10f.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log10f16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log1p.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log1pf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log2f.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/log2f16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/logb.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/logbf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/logbf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/logbf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/logbl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/logf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/logf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lrint.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lrintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lrintf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lrintf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lrintl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lround.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lroundf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lroundf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lroundf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/lroundl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/modf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/modff.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/modff128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/modff16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/modfl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nanf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nanf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nanl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nearbyint.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nearbyintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nearbyintf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nearbyintf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nearbyintl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextafter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextafterf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextafterf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextafterf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextafterl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextdown.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextdownf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextdownf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextdownf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextdownl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nexttoward.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nexttowardf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nexttowardf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nexttowardl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextup.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextupf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextupf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextupf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nextupl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/acos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/acosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/acosh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/acoshf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/asin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/asinf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/asinh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/asinhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/atan.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/atan2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/atan2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/atanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/atanh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/atanhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/ceil.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/ceilf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/copysign.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/copysignf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/cos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/cosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/cosh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/coshf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/declarations.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/erf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/erff.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp10.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp10f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/expf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/expm1.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/expm1f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fabs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fabsf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fdim.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fdimf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/floor.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/floorf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmaf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmax.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmaxf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fminf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmod.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmodf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/frexp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/frexpf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/hypot.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/hypotf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/ilogb.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/ilogbf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/ldexp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/ldexpf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/lgamma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/lgamma_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/llrint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/llrintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/log.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/log10.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/log10f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/log1p.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/log1pf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/log2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/log2f.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/logb.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/logbf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/logf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/lrint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/lrintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/nearbyint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/nearbyintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/nextafter.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/nextafterf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/nvptx.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/powf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/powi.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/powif.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/remainder.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/remainderf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/remquo.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/remquof.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/rint.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/rintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/round.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/roundf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/scalbn.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/scalbnf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/sin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/sincos.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/sincosf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/sinf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/sinh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/sinhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/sqrt.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/sqrtf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/tan.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/tanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/tanh.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/tanhf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/tgamma.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/tgammaf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/trunc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/nvptx/truncf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/pow.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/powf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/powi.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/powif.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remainder.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remainderf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remainderf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remainderf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remainderl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remquo.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remquof.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remquof128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remquof16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/remquol.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/rint.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/rintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/rintf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/rintf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/rintl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/round.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundeven.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundevenf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundevenf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundevenf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundevenl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/roundl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalbln.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalblnf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalblnf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalblnf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalblnl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalbn.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalbnf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalbnf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalbnf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/scalbnl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayload.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadsig.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadsigf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadsigf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadsigf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/setpayloadsigl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sin.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sincos.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sincosf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sinf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sinf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sinh.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sinhf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sinhf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sinpif.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sqrt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sqrtf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sqrtf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sqrtf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/sqrtl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tan.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tanf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tanh.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tanhf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tanhf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tanpif16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tgamma.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/tgammaf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalorder.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalorderf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalorderf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalorderf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalorderl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalordermag.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalordermagf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalordermagf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalordermagf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/totalordermagl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/trunc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/truncf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/truncf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/truncf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/truncl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpx.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpxf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpxf128.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpxf16.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/math/ufromfpxl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/poll/linux/poll.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/poll/poll.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_atfork.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_atfork.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getdetachstate.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getdetachstate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getguardsize.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getguardsize.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getstack.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getstack.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getstacksize.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getstacksize.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setdetachstate.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setdetachstate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setguardsize.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setguardsize.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setstack.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setstack.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setstacksize.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setstacksize.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_getclock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_getclock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_getpshared.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_getpshared.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_setclock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_setclock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_setpshared.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_setpshared.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_create.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_create.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_detach.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_detach.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_equal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_equal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_exit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_getname_np.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_getname_np.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_getspecific.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_getspecific.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_join.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_join.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_key_create.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_key_create.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_key_delete.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_key_delete.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_lock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_lock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_unlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_unlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_getpshared.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_getpshared.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_getrobust.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_getrobust.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_gettype.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_gettype.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_setpshared.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_setpshared.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_setrobust.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_setrobust.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_settype.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_settype.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_once.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_once.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_clockrdlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_clockrdlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_clockwrlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_clockwrlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_rdlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_rdlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_timedrdlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_timedrdlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_timedwrlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_timedwrlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_tryrdlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_tryrdlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_trywrlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_trywrlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_unlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_unlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_wrlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_wrlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_getkind_np.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_getkind_np.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_getpshared.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_getpshared.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_setkind_np.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_setkind_np.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_setpshared.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_setpshared.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_self.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_self.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_setname_np.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_setname_np.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_setspecific.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_setspecific.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_lock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_lock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_trylock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_trylock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_unlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_unlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_get_priority_max.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_get_priority_min.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getaffinity.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getcpucount.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getcpuisset.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getparam.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getscheduler.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_rr_get_interval.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setaffinity.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setcpuset.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setcpuzero.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setparam.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setscheduler.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_yield.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_get_priority_max.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_get_priority_min.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_getaffinity.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_getcpucount.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_getcpuisset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_getparam.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_getscheduler.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_rr_get_interval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_setaffinity.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_setcpuset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_setcpuzero.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_setparam.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_setscheduler.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sched/sched_yield.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hcreate.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hcreate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hcreate_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hcreate_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hdestroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hdestroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hdestroy_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hdestroy_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hsearch.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hsearch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hsearch/global.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hsearch/global.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hsearch_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/hsearch_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/insque.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/insque.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/lfind.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/lfind.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/lsearch.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/lsearch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/remque.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/search/remque.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/aarch64/longjmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/aarch64/setjmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/arm/longjmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/arm/setjmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/longjmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/riscv/longjmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/riscv/setjmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/setjmp_impl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/x86_64/longjmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/setjmp/x86_64/setjmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/kill.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/__restore.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/kill.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/raise.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/sigaction.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/sigaddset.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/sigaltstack.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/sigdelset.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/sigemptyset.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/sigfillset.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/signal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/signal_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/linux/sigprocmask.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/raise.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/sigaction.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/sigaddset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/sigaltstack.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/sigdelset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/sigemptyset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/sigfillset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/signal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/signal/sigprocmask.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/file_actions.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/linux/posix_spawn.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_addclose.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_addclose.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_adddup2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_adddup2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_addopen.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_addopen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_uc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_uc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_us.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_us.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/abshk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/abshk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/abshr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/abshr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/absk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/absk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/abslk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/abslk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/abslr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/abslr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/absr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/absr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitshk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitshk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitshr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitshr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitslk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitslk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitslr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitslr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuhk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuhk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuhr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuhr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsulk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsulk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsulr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsulr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsur.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitsur.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/bitusk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlshk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlshk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlshr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlshr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlslk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlslk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlslr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlslr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuhk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuhk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuhr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuhr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsulk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsulk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsulr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsulr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsur.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/countlsur.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/exphk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/exphk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/expk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/expk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/hkbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/hkbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/hrbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/hrbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/kbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/kbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/lkbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/lkbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/lrbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/lrbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/rbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/rbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundhk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundhk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundhr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundhr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundlk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundlk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundlr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundlr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/rounduhk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/rounduhk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/rounduhr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/rounduhr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/rounduk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/rounduk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundulk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundulk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundulr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundulr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundur.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/roundur.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuhk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuhk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuhr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuhr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtulr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtulr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtur.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtur.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/uhkbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/uhkbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/uhksqrtus.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/uhksqrtus.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/uhrbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/uhrbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/ukbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/ukbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/uksqrtui.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/uksqrtui.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/ulkbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/ulkbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/ulrbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/ulrbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/urbits.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdfix/urbits.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/asprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/asprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/getchar.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/printf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/putchar.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/puts.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/remove.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/vprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/clearerr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/clearerr_unlocked.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fclose.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fdopen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/feof.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/feof_unlocked.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/ferror.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/ferror_unlocked.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fflush.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fgetc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fgetc_unlocked.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fgets.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fileno.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/flockfile.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/flockfile.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fopen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fopencookie.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fopencookie.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fputc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fputs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fread_unlocked.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fscanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fscanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fseek.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fseeko.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/ftell.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/ftello.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/funlockfile.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/funlockfile.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fwrite.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/fwrite_unlocked.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/clearerr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/clearerr_unlocked.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fclose.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/feof.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/feof_unlocked.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/ferror.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/ferror_unlocked.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fflush.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fgetc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fgetc_unlocked.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fgets.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fileno.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fopen.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fputc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fputs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fread.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fread_unlocked.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fseek.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fseeko.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/ftell.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/ftello.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fwrite.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/fwrite_unlocked.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/getc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/getc_unlocked.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/getchar.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/getchar_unlocked.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/printf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/putc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/putchar.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/puts.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/stderr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/stdin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/stdout.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/ungetc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/vfprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/generic/vprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/getc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/getc_unlocked.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/getchar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/getchar_unlocked.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/clearerr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fclose.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/feof.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/ferror.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fflush.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fgetc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fgets.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/file.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fopen.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fputc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fputs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fread.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fseek.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/ftell.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fwrite.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/getc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/getchar.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/printf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/putc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/putchar.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/puts.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/remove.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/rename.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/stderr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/stdin.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/stdout.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/ungetc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/vfprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/vfprintf_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/gpu/vprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/linux/fdopen.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/linux/remove.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/linux/rename.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/char_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/converter_atlas.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/converter_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/core_structs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/fixed_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/float_dec_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/float_dec_converter_limited.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/float_hex_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/float_inf_nan_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/int_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/parser.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/printf_config.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/printf_main.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/ptr_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/strerror_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/string_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/vasprintf_internal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/vfprintf_internal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/write_int_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/writer.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/putc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/putchar.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/puts.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/remove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/rename.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/converter_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/core_structs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/current_pos_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/float_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/int_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/parser.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/ptr_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/reader.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/scanf_config.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/scanf_main.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/string_converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/string_reader.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/vfscanf_internal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/setbuf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/setbuf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/setvbuf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/setvbuf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/snprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/snprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/sprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/sprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/sscanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/sscanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/stderr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/stdin.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/stdout.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/ungetc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vasprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vasprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vfprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vfscanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vfscanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vscanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vscanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vsnprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vsnprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vsprintf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vsprintf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vsscanf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdio/vsscanf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/_Exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/_Exit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/a64l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/a64l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/abort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/abs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/abs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/aligned_alloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/at_quick_exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/at_quick_exit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atexit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atexit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atof.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atof.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atoi.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atoi.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atol.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atol.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atoll.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/atoll.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/abort.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/aligned_alloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/calloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/free.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/malloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/realloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/bsearch.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/bsearch.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/calloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/div.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/div.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/exit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/exit_handler.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/free.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/getenv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/getenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/abort.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/aligned_alloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/calloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/free.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/malloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/realloc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/system.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/heap_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/l64a.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/l64a.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/labs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/labs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/ldiv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/ldiv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/linux/abort.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/llabs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/llabs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/lldiv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/lldiv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/qsort.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/qsort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_data.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_pivot.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_util.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/quick_exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/quick_exit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/quick_sort.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/rand.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/rand.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/rand_util.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/rand_util.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/realloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/srand.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/srand.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/str_from_util.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strfromd.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strfromd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strfromf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strfromf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strfroml.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strfroml.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtod.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtod.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtod_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtod_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtof.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtof.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtof_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtof_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtol.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtol.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtol_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtol_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtold.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtold.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtold_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtold_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoll.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoll.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoll_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoll_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoul_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoul_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoull.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoull.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoull_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/strtoull_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/stdlib/system.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/allocating_string_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memccpy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memccpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memchr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memchr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memcmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memcpy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memmem.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memmem.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memmove.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memmove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_bcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_memcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_memcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_memmove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_memset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/generic/aligned_access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/generic/builtin.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/generic/byte_per_byte.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_bcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_bzero.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memmem.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memmove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_strcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_strstr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_aarch64.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_builtin.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_generic.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_riscv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_x86.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_bcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_memcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_memcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_memmove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_memset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_bcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_memcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_memcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_memmove.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_memset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/mempcpy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/mempcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memrchr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memrchr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memset.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memset.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memset_explicit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/memset_explicit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/stpcpy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/stpcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/stpncpy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/stpncpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcasestr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcasestr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strchr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strchr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strchrnul.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strchrnul.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcoll.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcoll.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcoll_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcoll_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcpy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcspn.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strcspn.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strdup.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strdup.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strerror.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strerror.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strerror_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strerror_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/string_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strlcat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strlcat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strlcpy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strlcpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strlen.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strlen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strncat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strncat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strncmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strncmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strncpy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strncpy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strndup.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strndup.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strnlen.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strnlen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strpbrk.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strpbrk.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strrchr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strrchr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strsep.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strsep.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strsignal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strsignal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strspn.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strspn.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strstr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strstr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strtok.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strtok.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strtok_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strtok_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strxfrm.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strxfrm.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strxfrm_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/string/strxfrm_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/bcmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/bcmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/bcopy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/bcopy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/bzero.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/bzero.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/ffs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/ffs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/ffsl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/ffsl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/ffsll.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/ffsll.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/index.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/index.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/rindex.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/rindex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/strcasecmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/strcasecmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/strcasecmp_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/strcasecmp_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/strncasecmp.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/strncasecmp.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/strncasecmp_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/strings/strncasecmp_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/auxv/getauxval.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/auxv/linux/getauxval.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_create.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_create1.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_ctl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_pwait.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_pwait2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_wait.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_create.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_create1.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_ctl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_pwait.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_pwait2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_wait.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/madvise.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mincore.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mlock2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mlockall.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mmap.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mprotect.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mremap.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/msync.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/munlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/munlockall.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/munmap.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/posix_madvise.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/remap_file_pages.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/shm_common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/shm_open.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/shm_unlink.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/madvise.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/mincore.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/mlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/mlock2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/mlockall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/mmap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/mprotect.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/mremap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/msync.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/munlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/munlockall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/munmap.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/posix_madvise.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/remap_file_pages.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/shm_open.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/mman/shm_unlink.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/prctl/linux/prctl.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/prctl/prctl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/random/getrandom.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/random/linux/getrandom.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/resource/getrlimit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/resource/linux/getrlimit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/resource/linux/setrlimit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/resource/setrlimit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/select/linux/select.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/select/select.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/sendfile/linux/sendfile.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/sendfile/sendfile.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/bind.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/bind.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/recv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/recvfrom.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/recvmsg.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/send.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/sendmsg.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/sendto.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/socket.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/socketpair.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/recv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/recvfrom.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/recvmsg.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/send.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/sendmsg.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/sendto.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/socket.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/socket/socketpair.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/chmod.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/fchmod.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/fchmodat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/fstat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/chmod.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/fchmod.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/fchmodat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/fstat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/kernel_statx.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/lstat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/mkdir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/mkdirat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/stat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/lstat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/mkdir.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/mkdirat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/stat/stat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/statvfs/fstatvfs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/statvfs/linux/fstatvfs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/statvfs/linux/statfs_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/statvfs/linux/statvfs.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/statvfs/statvfs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/uio/linux/readv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/uio/linux/writev.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/uio/readv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/uio/writev.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/utsname/linux/uname.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/utsname/uname.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/wait/linux/wait.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/wait/linux/wait4.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/wait/linux/waitpid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/wait/wait.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/wait/wait4.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/wait/wait4Impl.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/sys/wait/waitpid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/cfgetispeed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/cfgetospeed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/cfsetispeed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/cfsetospeed.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/cfgetispeed.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/cfgetospeed.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/cfsetispeed.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/cfsetospeed.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/kernel_termios.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/tcdrain.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/tcflow.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/tcflush.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/tcgetattr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/tcgetsid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/tcsendbreak.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/linux/tcsetattr.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/tcdrain.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/tcflow.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/tcflush.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/tcgetattr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/tcgetsid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/tcsendbreak.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/termios/tcsetattr.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/call_once.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/call_once.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/cnd_broadcast.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/cnd_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/cnd_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/cnd_signal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/cnd_wait.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/linux/Futex.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_broadcast.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_signal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_wait.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/mtx_destroy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/mtx_destroy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/mtx_init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/mtx_init.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/mtx_lock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/mtx_lock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/mtx_unlock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/mtx_unlock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_create.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_create.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_current.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_current.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_detach.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_detach.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_equal.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_equal.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_exit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_join.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/thrd_join.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/tss_create.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/tss_create.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/tss_delete.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/tss_delete.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/tss_get.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/tss_get.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/tss_set.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/threads/tss_set.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/asctime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/asctime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/asctime_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/asctime_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/baremetal/timespec_get.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/clock.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/clock_getres.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/clock_gettime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/ctime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/ctime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/ctime_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/ctime_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/difftime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/difftime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gettimeofday.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gmtime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gmtime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gmtime_r.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gmtime_r.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gpu/clock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gpu/clock_gettime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gpu/nanosleep.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/gpu/timespec_get.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/linux/clock.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/linux/clock_gettime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/linux/gettimeofday.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/linux/nanosleep.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/linux/timespec_get.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/mktime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/mktime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/nanosleep.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/strftime.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/strftime.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/strftime_core/converter.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/strftime_core/core_structs.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/strftime_core/parser.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/strftime_core/strftime_main.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/strftime_l.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/strftime_l.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/time.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/time_constants.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/time_func.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/time_utils.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/time_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/timespec_get.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/time/windows/clock_getres.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/_exit.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/_exit.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/access.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/chdir.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/close.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/dup.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/dup2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/dup3.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/environ.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/environ.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/execv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/execve.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/fchdir.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/fork.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/fpathconf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/fsync.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/ftruncate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/getcwd.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/getentropy.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/geteuid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/getopt.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/getopt.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/getpid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/getppid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/getsid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/gettid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/gettid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/getuid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/isatty.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/link.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linkat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/access.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/chdir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/close.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/dup.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/dup2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/dup3.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/execv.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/execve.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/fchdir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/fork.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/fpathconf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/fsync.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/ftruncate.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/getcwd.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/getentropy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/geteuid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/getpid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/getppid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/getsid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/getuid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/isatty.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/link.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/linkat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/lseek.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/pathconf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/pathconf_utils.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/pathconf_utils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/pipe.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/pipe2.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/pread.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/pwrite.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/read.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/readlink.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/readlinkat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/rmdir.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/setsid.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/symlink.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/symlinkat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/syscall.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/sysconf.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/truncate.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/unlink.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/unlinkat.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/linux/write.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/lseek.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/pathconf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/pipe.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/pipe2.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/pread.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/pwrite.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/read.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/readlink.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/readlinkat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/rmdir.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/setsid.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/swab.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/swab.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/symlink.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/symlinkat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/syscall.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/sysconf.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/truncate.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/unlink.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/unlinkat.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/windows/getentropy.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/unistd/write.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/wchar/btowc.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/wchar/btowc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/wchar/wcslen.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/wchar/wcslen.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/wchar/wctob.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/src/wchar/wctob.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/baremetal/fini.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/baremetal/init.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/gpu/amdgpu/start.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/gpu/nvptx/start.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/linux/aarch64/start.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/linux/aarch64/tls.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/linux/do_start.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/linux/do_start.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/linux/riscv/start.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/linux/riscv/tls.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/linux/x86_64/start.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/startup/linux/x86_64/tls.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/MPCWrapper/MPCUtils.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/MPCWrapper/MPCUtils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/MPCWrapper/mpc_inc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/MPCommon.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/MPCommon.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/MPFRUtils.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/MPFRUtils.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/mpfr_inc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/gpu/loader/Loader.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/gpu/loader/Main.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../flutter/third_party/llvm_libc/utils/gpu/loader/nvptx/nvptx-loader.cpp -TYPE: LicenseType.llvm -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/adjacent_find.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/all_of.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/any_of.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/binary_search.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/clamp.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/comp.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/comp_ref_type.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/copy_backward.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/copy_move_common.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/copy_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/count.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/count_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/equal.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/equal_range.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/fill.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/fill_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/find.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/find_end.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/find_first_of.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/find_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/find_if_not.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/find_segment_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/for_each.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/for_each_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/for_each_segment.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/generate.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/generate_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/half_positive.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/in_found_result.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/in_fun_result.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/in_in_out_result.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/in_in_result.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/in_out_out_result.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/in_out_result.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/includes.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/inplace_merge.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/is_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/is_heap_until.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/is_partitioned.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/is_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/is_sorted.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/is_sorted_until.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/iter_swap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/iterator_operations.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/lexicographical_compare.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/lexicographical_compare_three_way.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/lower_bound.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/make_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/make_projected.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/max.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/max_element.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/merge.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/min.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/min_element.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/min_max_result.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/minmax.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/minmax_element.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/mismatch.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/move.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/move_backward.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/next_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/none_of.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/nth_element.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/partial_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/partial_sort_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/partition.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/partition_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/partition_point.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/pop_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/prev_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/pstl.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/push_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/radix_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_adjacent_find.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_all_of.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_any_of.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_binary_search.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_clamp.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_contains.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_contains_subrange.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_copy_backward.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_copy_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_count.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_count_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_ends_with.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_equal.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_equal_range.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_fill.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_fill_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_end.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_first_of.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_if_not.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_find_last.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_fold.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_for_each.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_for_each_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_generate.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_generate_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_includes.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_inplace_merge.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_heap_until.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_partitioned.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_sorted.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_is_sorted_until.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_iterator_concept.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_lexicographical_compare.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_lower_bound.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_make_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_max.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_max_element.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_merge.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_min.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_min_element.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_minmax.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_minmax_element.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_mismatch.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_move.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_move_backward.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_next_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_none_of.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_nth_element.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partial_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partial_sort_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partition.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partition_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_partition_point.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_pop_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_prev_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_push_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_remove.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_remove_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_remove_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_remove_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_replace.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_replace_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_replace_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_replace_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_reverse.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_reverse_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_rotate.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_rotate_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_sample.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_search.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_search_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_set_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_set_intersection.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_set_symmetric_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_set_union.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_shuffle.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_sort_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_stable_partition.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_stable_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_starts_with.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_swap_ranges.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_transform.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_unique.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_unique_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/ranges_upper_bound.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/remove.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/remove_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/remove_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/remove_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/replace.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/replace_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/replace_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/replace_if.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/reverse.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/reverse_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/rotate.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/rotate_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/sample.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/search.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/search_n.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/set_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/set_intersection.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/set_symmetric_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/set_union.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/shift_left.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/shift_right.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/shuffle.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/sift_down.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/simd_utils.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/sort.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/sort_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/stable_partition.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/stable_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/swap_ranges.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/three_way_comp_ref_type.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/transform.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/unique.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/unique_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/unwrap_iter.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/unwrap_range.h -FILE: ../../../flutter/third_party/libcxx/include/__algorithm/upper_bound.h -FILE: ../../../flutter/third_party/libcxx/include/__assert -FILE: ../../../flutter/third_party/libcxx/include/__atomic/aliases.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/atomic.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/atomic_flag.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/atomic_init.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/atomic_lock_free.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/atomic_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/atomic_sync.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/check_memory_order.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/contention_t.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/fence.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/is_always_lock_free.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/kill_dependency.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/memory_order.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/support.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/support/c11.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/support/gcc.h -FILE: ../../../flutter/third_party/libcxx/include/__atomic/to_gcc_order.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/bit_cast.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/bit_ceil.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/bit_floor.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/bit_log2.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/bit_width.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/blsr.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/byteswap.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/countl.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/countr.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/endian.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/has_single_bit.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/invert_if.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/popcount.h -FILE: ../../../flutter/third_party/libcxx/include/__bit/rotate.h -FILE: ../../../flutter/third_party/libcxx/include/__bit_reference -FILE: ../../../flutter/third_party/libcxx/include/__charconv/chars_format.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/from_chars_floating_point.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/from_chars_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/from_chars_result.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/tables.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/to_chars.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/to_chars_base_10.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/to_chars_floating_point.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/to_chars_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/to_chars_result.h -FILE: ../../../flutter/third_party/libcxx/include/__charconv/traits.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/calendar.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/convert_to_timespec.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/convert_to_tm.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/day.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/duration.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/exception.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/file_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/gps_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/hh_mm_ss.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/high_resolution_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/leap_second.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/literals.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/local_info.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/month.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/month_weekday.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/monthday.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/ostream.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/parser_std_format_spec.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/statically_widen.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/steady_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/sys_info.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/system_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/tai_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/time_point.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/time_zone.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/time_zone_link.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/tzdb.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/tzdb_list.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/utc_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/weekday.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/year.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/year_month.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/year_month_day.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/year_month_weekday.h -FILE: ../../../flutter/third_party/libcxx/include/__chrono/zoned_time.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/common_comparison_category.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/compare_partial_order_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/compare_strong_order_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/compare_three_way.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/compare_three_way_result.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/compare_weak_order_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/is_eq.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/ordering.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/partial_order.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/strong_order.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/synth_three_way.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/three_way_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__compare/weak_order.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/arithmetic.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/assignable.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/boolean_testable.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/class_or_enum.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/common_reference_with.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/common_with.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/convertible_to.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/copyable.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/derived_from.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/destructible.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/different_from.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/equality_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/invocable.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/movable.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/predicate.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/regular.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/relation.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/same_as.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/semiregular.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/swappable.h -FILE: ../../../flutter/third_party/libcxx/include/__concepts/totally_ordered.h -FILE: ../../../flutter/third_party/libcxx/include/__condition_variable/condition_variable.h -FILE: ../../../flutter/third_party/libcxx/include/__config -FILE: ../../../flutter/third_party/libcxx/include/__config_site.in -FILE: ../../../flutter/third_party/libcxx/include/__configuration/abi.h -FILE: ../../../flutter/third_party/libcxx/include/__configuration/availability.h -FILE: ../../../flutter/third_party/libcxx/include/__configuration/compiler.h -FILE: ../../../flutter/third_party/libcxx/include/__configuration/language.h -FILE: ../../../flutter/third_party/libcxx/include/__configuration/platform.h -FILE: ../../../flutter/third_party/libcxx/include/__coroutine/coroutine_handle.h -FILE: ../../../flutter/third_party/libcxx/include/__coroutine/coroutine_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__coroutine/noop_coroutine_handle.h -FILE: ../../../flutter/third_party/libcxx/include/__coroutine/trivial_awaitables.h -FILE: ../../../flutter/third_party/libcxx/include/__cstddef/byte.h -FILE: ../../../flutter/third_party/libcxx/include/__cstddef/max_align_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cstddef/nullptr_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cstddef/ptrdiff_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cstddef/size_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/adjacent_find.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/all_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/any_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/binary_search.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/clamp.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/comp.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/comp_ref_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy_backward.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy_move_common.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/copy_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/count.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/count_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/equal.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/equal_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/fill.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/fill_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_end.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_first_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_if_not.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/find_segment_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/fold.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/for_each.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/for_each_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/for_each_segment.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/generate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/generate_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/half_positive.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_found_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_fun_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_in_out_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_in_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_out_out_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/in_out_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/includes.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/inplace_merge.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_heap_until.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_partitioned.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_sorted.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/is_sorted_until.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/iter_swap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/iterator_operations.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/lexicographical_compare.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/lower_bound.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/make_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/make_projected.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/max.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/max_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/merge.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/min.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/min_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/min_max_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/minmax.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/minmax_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/mismatch.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/move.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/move_backward.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/next_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/none_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/nth_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partial_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partial_sort_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partition.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partition_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/partition_point.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/pop_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/prev_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/pstl.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/push_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_all_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_any_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_binary_search.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_clamp.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_contains.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_copy_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_count.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_count_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_ends_with.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_equal.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_equal_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_fill.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_fill_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_end.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_find_last.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_for_each.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_generate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_generate_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_includes.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_make_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_max.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_max_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_merge.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_min.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_min_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_minmax.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_mismatch.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_move.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_move_backward.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_none_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_nth_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partition.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_partition_point.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_push_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_remove.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_remove_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_replace.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_replace_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_reverse.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_rotate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_sample.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_search.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_search_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_set_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_set_union.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_shuffle.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_starts_with.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_transform.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_unique.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/remove.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/remove_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/remove_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/remove_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/replace.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/replace_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/replace_copy_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/replace_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/reverse.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/reverse_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/rotate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/rotate_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/sample.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/search.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/search_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/set_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/set_intersection.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/set_union.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/shift_left.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/shift_right.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/shuffle.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/sift_down.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/simd_utils.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/sort.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/sort_heap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/stable_partition.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/stable_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/swap_ranges.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/transform.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/unique.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/unique_copy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/unwrap_iter.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/unwrap_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__algorithm/upper_bound.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__assert -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/aliases.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_base.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_flag.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_init.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_lock_free.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/atomic_sync.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/check_memory_order.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/contention_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/fence.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/is_always_lock_free.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/kill_dependency.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/memory_order.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__atomic/to_gcc_order.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_cast.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_ceil.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_floor.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_log2.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/bit_width.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/blsr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/byteswap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/countl.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/countr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/endian.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/has_single_bit.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/invert_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/popcount.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit/rotate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__bit_reference -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/chars_format.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/from_chars_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/from_chars_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/tables.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars_base_10.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars_floating_point.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/to_chars_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__charconv/traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/calendar.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/convert_to_timespec.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/convert_to_tm.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/day.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/duration.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/exception.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/file_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/hh_mm_ss.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/high_resolution_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/leap_second.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/literals.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/local_info.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/month.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/month_weekday.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/monthday.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/ostream.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/parser_std_format_spec.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/statically_widen.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/steady_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/sys_info.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/system_clock.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/time_point.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/time_zone.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/time_zone_link.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/tzdb.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/tzdb_list.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/weekday.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/year.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/year_month.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/year_month_day.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/year_month_weekday.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__chrono/zoned_time.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/common_comparison_category.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_three_way.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_three_way_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/is_eq.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/ordering.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/partial_order.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/strong_order.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/synth_three_way.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/three_way_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__compare/weak_order.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/arithmetic.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/assignable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/boolean_testable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/class_or_enum.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/common_reference_with.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/common_with.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/convertible_to.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/copyable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/derived_from.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/destructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/different_from.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/equality_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/invocable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/movable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/predicate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/regular.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/relation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/same_as.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/semiregular.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/swappable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__concepts/totally_ordered.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__condition_variable/condition_variable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__config -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__config_site.in -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/abi.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/availability.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/compiler.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/config_site_shim.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/language.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__configuration/platform.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__coroutine/coroutine_handle.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__coroutine/coroutine_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__coroutine/trivial_awaitables.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__debug_utils/randomize_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__debug_utils/sanitizers.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__exception/exception.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__exception/exception_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__exception/nested_exception.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__exception/operations.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__exception/terminate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__expected/bad_expected_access.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__expected/expected.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__expected/unexpect.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__expected/unexpected.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/copy_options.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/directory_entry.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/directory_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/directory_options.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/file_status.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/file_time_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/file_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/filesystem_error.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/operations.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/path.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/path_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/perm_options.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/perms.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/space_info.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__filesystem/u8path.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/buffer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/container_adaptor.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/enable_insertable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/escaped_output_table.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_arg.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_arg_store.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_args.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_context.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_error.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_parse_context.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_string.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/format_to_n_result.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_bool.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_char.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_floating_point.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_integer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_output.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_string.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/formatter_tuple.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/indic_conjunct_break_table.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/parser_std_format_spec.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/range_default_formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/range_formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/unicode.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/width_estimation_table.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/write_escaped.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/binary_function.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/binary_negate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/bind.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/bind_back.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/bind_front.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/binder1st.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/binder2nd.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/boyer_moore_searcher.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/compose.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/default_searcher.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/function.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/hash.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/identity.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/invoke.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/is_transparent.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/mem_fn.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/mem_fun_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/not_fn.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/operations.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/perfect_forward.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/pointer_to_binary_function.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/pointer_to_unary_function.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/ranges_operations.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/reference_wrapper.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/unary_function.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/unary_negate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__functional/weak_result_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/array.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/bit_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/complex.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/deque.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/format.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/fstream.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/functional.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/ios.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/istream.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/mdspan.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/memory.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/memory_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/ostream.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/pair.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/queue.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/span.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/sstream.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/stack.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/streambuf.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/string.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/string_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/subrange.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/tuple.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__fwd/vector.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__hash_table -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ios/fpos.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/access.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/advance.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/aliasing_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/back_insert_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/bounded_iter.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/common_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/counted_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/data.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/default_sentinel.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/distance.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/empty.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/erase_if_container.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/front_insert_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/incrementable_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/indirectly_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/insert_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/istream_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/istreambuf_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iter_move.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iter_swap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iterator_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/iterator_with_data.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/mergeable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/move_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/move_sentinel.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/next.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/ostream_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/permutable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/prev.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/projected.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/readable_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/reverse_access.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/reverse_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/segmented_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/size.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/sortable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/unreachable_sentinel.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__iterator/wrap_iter.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/abs.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/copysign.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/error_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/exponential_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/fdim.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/fma.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/gamma.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/hyperbolic_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/hypot.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/logarithms.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/min_max.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/modulo.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/remainder.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/roots.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/rounding_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/special_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__math/trigonometric_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mbstate_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/default_accessor.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/extents.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/layout_left.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/layout_right.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/layout_stride.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mdspan/mdspan.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/addressof.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/align.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/aligned_alloc.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocate_at_least.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocation_guard.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocator_arg_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocator_destructor.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/allocator_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/assume_aligned.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/auto_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/builtin_new_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/compressed_pair.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/construct_at.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/destruct_n.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/inout_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/out_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/pointer_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/ranges_construct_at.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/raw_storage_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/shared_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/swap_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/temp_value.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/temporary_buffer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/uninitialized_algorithms.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/unique_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/uses_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/uses_allocator_construction.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory/voidify.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/memory_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/pool_options.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/lock_guard.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/mutex.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/once_flag.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/tag_types.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__mutex/unique_lock.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__node_handle -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/accumulate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/adjacent_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/exclusive_scan.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/gcd_lcm.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/inclusive_scan.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/inner_product.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/iota.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/midpoint.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/partial_sum.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/pstl.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/reduce.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/saturation_arithmetic.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__numeric/transform_reduce.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ostream/basic_ostream.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ostream/print.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backend.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backend_fwd.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backends/default.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backends/libdispatch.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backends/serial.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/backends/std_thread.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/fill.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/merge.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/transform.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/dispatch.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__pstl/handle_exception.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/bernoulli_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/binomial_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/cauchy_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/chi_squared_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/clamp_to_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/default_random_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/discard_block_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/discrete_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/exponential_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/extreme_value_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/fisher_f_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/gamma_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/generate_canonical.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/geometric_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/independent_bits_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/is_seed_sequence.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/is_valid.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/knuth_b.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/linear_congruential_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/log2.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/lognormal_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/mersenne_twister_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/negative_binomial_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/normal_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/piecewise_constant_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/piecewise_linear_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/poisson_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/random_device.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/ranlux.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/seed_seq.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/shuffle_order_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/student_t_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/subtract_with_carry_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/uniform_int_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/uniform_random_bit_generator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/uniform_real_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__random/weibull_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/access.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/all.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/as_rvalue_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/chunk_by_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/common_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/container_compatible_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/counted.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/dangling.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/data.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/drop_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/drop_while_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/elements_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/empty.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/empty_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/enable_borrowed_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/enable_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/filter_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/from_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/iota_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/istream_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/join_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/lazy_split_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/movable_box.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/non_propagating_cache.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/owning_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/range_adaptor.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/rbegin.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/ref_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/rend.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/repeat_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/reverse_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/single_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/size.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/split_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/subrange.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/take_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/take_while_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/to.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/transform_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/view_interface.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/views.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__ranges/zip_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__split_buffer -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__std_clang_module -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__std_mbstate_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/intrusive_list_view.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/stop_callback.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/stop_source.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/stop_state.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__stop_token/stop_token.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__string/char_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__string/constexpr_c_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__string/extern_template_lists.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__support/ibm/gettod_zos.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__support/ibm/nanosleep.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/errc.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/error_category.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/error_code.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/error_condition.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__system_error/system_error.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/id.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/jthread.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/poll_with_backoff.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support/c11.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support/external.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support/pthread.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/support/windows.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/this_thread.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/thread.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__thread/timed_backoff_policy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tree -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/find_index.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/ignore.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/make_tuple_types.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/sfinae_helpers.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_element.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_indices.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_like.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_like_ext.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_size.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__tuple/tuple_types.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_const.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_cv.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/add_volatile.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/aligned_storage.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/aligned_union.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/alignment_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/can_extract_key.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/common_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/common_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/conditional.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/conjunction.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/copy_cv.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/copy_cvref.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/datasizeof.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/decay.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/dependent_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/desugars_to.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/disjunction.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/enable_if.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/extent.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/integral_constant.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/invoke.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_abstract.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_aggregate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_arithmetic.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_array.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_assignable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_base_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_bounded_array.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_callable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_char_like_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_class.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_compound.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_const.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_convertible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_core_convertible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_destructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_empty.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_enum.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_equality_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_execution_policy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_final.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_floating_point.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_function.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_fundamental.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_literal_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_member_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_null_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_object.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_pod.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_polymorphic.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_primary_template.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_referenceable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_same.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_scalar.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_signed.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_signed_integer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_specialization.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_standard_layout.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_swappable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivial.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_unbounded_array.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_union.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_unsigned.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_valid_expansion.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_void.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/is_volatile.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/lazy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/make_signed.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/make_unsigned.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/maybe_const.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/nat.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/negation.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/promote.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/rank.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_all_extents.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_const.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_const_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_cv.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_cvref.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_extent.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/remove_volatile.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/result_of.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/strip_signature.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/type_identity.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/type_list.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/underlying_type.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/unwrap_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__type_traits/void_t.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__undef_macros -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/as_const.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/as_lvalue.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/auto_cast.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/cmp.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/convert_to_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/declval.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/empty.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/exception_guard.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/exchange.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/forward.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/forward_like.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/in_place.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/integer_sequence.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/is_pointer_in_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/is_valid_range.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/move.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/no_destroy.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/pair.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/piecewise_construct.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/priority_tag.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/private_constructor_tag.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/rel_ops.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/small_buffer.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/swap.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/to_underlying.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__utility/unreachable.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__variant/monostate.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__verbose_abort -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/algorithm -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/any -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/array -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/atomic -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/barrier -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/bit -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/bitset -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cassert -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ccomplex -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cctype -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cerrno -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cfenv -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cfloat -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/charconv -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/chrono -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cinttypes -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ciso646 -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/climits -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/clocale -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cmath -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/codecvt -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/compare -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/complex -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/complex.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/concepts -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/condition_variable -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/coroutine -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/csetjmp -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/csignal -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cstdarg -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cstdbool -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cstddef -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cstdint -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cstdio -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cstdlib -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cstring -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ctgmath -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ctime -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ctype.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cuchar -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cwchar -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/cwctype -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/deque -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/errno.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/exception -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/execution -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/expected -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__config -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/aligned_tag.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/declaration.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/reference.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/scalar.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/simd.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/simd_mask.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/traits.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/utility.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/__simd/vec_ext.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/iterator -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/memory -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/propagate_const -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/simd -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/type_traits -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/experimental/utility -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ext/__hash -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ext/hash_map -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ext/hash_set -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/fenv.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/filesystem -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/float.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/format -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/forward_list -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/fstream -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/functional -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/future -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/initializer_list -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/inttypes.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/iomanip -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ios -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/iosfwd -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/iostream -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/istream -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/iterator -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/latch -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/limits -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/list -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/locale -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/locale.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/map -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/math.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/mdspan -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/memory -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/memory_resource -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/mutex -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/new -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/numbers -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/numeric -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/optional -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ostream -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/print -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/queue -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/random -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ranges -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/ratio -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/regex -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/scoped_allocator -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/semaphore -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/set -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/shared_mutex -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/source_location -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/span -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/sstream -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stack -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stdatomic.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stdbool.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stddef.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stdexcept -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stdint.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stdio.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stdlib.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/stop_token -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/streambuf -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/string -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/string.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/string_view -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/strstream -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/syncstream -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/system_error -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/tgmath.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/thread -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/tuple -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/type_traits -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/typeindex -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/typeinfo -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/uchar.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/unordered_map -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/unordered_set -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/utility -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/valarray -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/variant -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/vector -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/wchar.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/wctype.h -FILE: ../../../flutter/third_party/libcxx/include/__debug_utils/randomize_range.h -FILE: ../../../flutter/third_party/libcxx/include/__debug_utils/sanitizers.h -FILE: ../../../flutter/third_party/libcxx/include/__debug_utils/strict_weak_ordering_check.h -FILE: ../../../flutter/third_party/libcxx/include/__exception/exception.h -FILE: ../../../flutter/third_party/libcxx/include/__exception/exception_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__exception/nested_exception.h -FILE: ../../../flutter/third_party/libcxx/include/__exception/operations.h -FILE: ../../../flutter/third_party/libcxx/include/__exception/terminate.h -FILE: ../../../flutter/third_party/libcxx/include/__expected/bad_expected_access.h -FILE: ../../../flutter/third_party/libcxx/include/__expected/expected.h -FILE: ../../../flutter/third_party/libcxx/include/__expected/unexpect.h -FILE: ../../../flutter/third_party/libcxx/include/__expected/unexpected.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/copy_options.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/directory_entry.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/directory_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/directory_options.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/file_status.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/file_time_type.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/file_type.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/filesystem_error.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/operations.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/path.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/path_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/perm_options.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/perms.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/recursive_directory_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/space_info.h -FILE: ../../../flutter/third_party/libcxx/include/__filesystem/u8path.h -FILE: ../../../flutter/third_party/libcxx/include/__flat_map/flat_map.h -FILE: ../../../flutter/third_party/libcxx/include/__flat_map/flat_multimap.h -FILE: ../../../flutter/third_party/libcxx/include/__flat_map/key_value_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__flat_map/sorted_equivalent.h -FILE: ../../../flutter/third_party/libcxx/include/__flat_map/sorted_unique.h -FILE: ../../../flutter/third_party/libcxx/include/__flat_map/utils.h -FILE: ../../../flutter/third_party/libcxx/include/__format/buffer.h -FILE: ../../../flutter/third_party/libcxx/include/__format/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__format/container_adaptor.h -FILE: ../../../flutter/third_party/libcxx/include/__format/enable_insertable.h -FILE: ../../../flutter/third_party/libcxx/include/__format/escaped_output_table.h -FILE: ../../../flutter/third_party/libcxx/include/__format/extended_grapheme_cluster_table.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_arg.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_arg_store.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_args.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_context.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_error.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_parse_context.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_string.h -FILE: ../../../flutter/third_party/libcxx/include/__format/format_to_n_result.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_bool.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_char.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_floating_point.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_integer.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_output.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_string.h -FILE: ../../../flutter/third_party/libcxx/include/__format/formatter_tuple.h -FILE: ../../../flutter/third_party/libcxx/include/__format/indic_conjunct_break_table.h -FILE: ../../../flutter/third_party/libcxx/include/__format/parser_std_format_spec.h -FILE: ../../../flutter/third_party/libcxx/include/__format/range_default_formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__format/range_formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__format/unicode.h -FILE: ../../../flutter/third_party/libcxx/include/__format/width_estimation_table.h -FILE: ../../../flutter/third_party/libcxx/include/__format/write_escaped.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/binary_function.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/binary_negate.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/bind.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/bind_back.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/bind_front.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/binder1st.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/binder2nd.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/boyer_moore_searcher.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/compose.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/default_searcher.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/function.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/hash.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/identity.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/invoke.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/is_transparent.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/mem_fn.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/mem_fun_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/not_fn.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/operations.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/perfect_forward.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/pointer_to_binary_function.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/pointer_to_unary_function.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/ranges_operations.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/reference_wrapper.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/unary_function.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/unary_negate.h -FILE: ../../../flutter/third_party/libcxx/include/__functional/weak_result_type.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/array.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/bit_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/byte.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/complex.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/deque.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/format.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/fstream.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/functional.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/get.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/ios.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/istream.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/mdspan.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/memory.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/memory_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/ostream.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/pair.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/queue.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/span.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/sstream.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/stack.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/streambuf.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/string.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/string_view.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/subrange.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/tuple.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/variant.h -FILE: ../../../flutter/third_party/libcxx/include/__fwd/vector.h -FILE: ../../../flutter/third_party/libcxx/include/__hash_table -FILE: ../../../flutter/third_party/libcxx/include/__ios/fpos.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/access.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/advance.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/aliasing_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/back_insert_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/bounded_iter.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/common_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/counted_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/cpp17_iterator_concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/data.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/default_sentinel.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/distance.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/empty.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/erase_if_container.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/front_insert_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/incrementable_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/indirectly_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/insert_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/istream_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/istreambuf_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/iter_move.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/iter_swap.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/iterator_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/iterator_with_data.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/mergeable.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/move_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/move_sentinel.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/next.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/ostream_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/ostreambuf_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/permutable.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/prev.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/projected.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/ranges_iterator_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/readable_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/reverse_access.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/reverse_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/segmented_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/size.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/sortable.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/static_bounded_iter.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/unreachable_sentinel.h -FILE: ../../../flutter/third_party/libcxx/include/__iterator/wrap_iter.h -FILE: ../../../flutter/third_party/libcxx/include/__locale -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/android.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/ibm.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/musl.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/locale_base_api/openbsd.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/pad_and_output.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/support/apple.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/support/bsd_like.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/support/freebsd.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/support/fuchsia.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/support/linux.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/support/no_locale/characters.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/support/no_locale/strtonum.h -FILE: ../../../flutter/third_party/libcxx/include/__locale_dir/support/windows.h -FILE: ../../../flutter/third_party/libcxx/include/__math/abs.h -FILE: ../../../flutter/third_party/libcxx/include/__math/copysign.h -FILE: ../../../flutter/third_party/libcxx/include/__math/error_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__math/exponential_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__math/fdim.h -FILE: ../../../flutter/third_party/libcxx/include/__math/fma.h -FILE: ../../../flutter/third_party/libcxx/include/__math/gamma.h -FILE: ../../../flutter/third_party/libcxx/include/__math/hyperbolic_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__math/hypot.h -FILE: ../../../flutter/third_party/libcxx/include/__math/inverse_hyperbolic_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__math/inverse_trigonometric_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__math/logarithms.h -FILE: ../../../flutter/third_party/libcxx/include/__math/min_max.h -FILE: ../../../flutter/third_party/libcxx/include/__math/modulo.h -FILE: ../../../flutter/third_party/libcxx/include/__math/remainder.h -FILE: ../../../flutter/third_party/libcxx/include/__math/roots.h -FILE: ../../../flutter/third_party/libcxx/include/__math/rounding_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__math/special_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__math/traits.h -FILE: ../../../flutter/third_party/libcxx/include/__math/trigonometric_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__mbstate_t.h -FILE: ../../../flutter/third_party/libcxx/include/__mdspan/default_accessor.h -FILE: ../../../flutter/third_party/libcxx/include/__mdspan/extents.h -FILE: ../../../flutter/third_party/libcxx/include/__mdspan/layout_left.h -FILE: ../../../flutter/third_party/libcxx/include/__mdspan/layout_right.h -FILE: ../../../flutter/third_party/libcxx/include/__mdspan/layout_stride.h -FILE: ../../../flutter/third_party/libcxx/include/__mdspan/mdspan.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/addressof.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/align.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/aligned_alloc.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/allocate_at_least.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/allocation_guard.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/allocator_arg_t.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/allocator_destructor.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/allocator_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/array_cookie.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/assume_aligned.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/auto_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/compressed_pair.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/construct_at.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/destroy.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/destruct_n.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/inout_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/noexcept_move_assign_container.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/out_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/pointer_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/ranges_construct_at.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/ranges_destroy.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/ranges_uninitialized_algorithms.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/raw_storage_iterator.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/shared_count.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/shared_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/swap_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/temp_value.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/temporary_buffer.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/uninitialized_algorithms.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/unique_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/unique_temporary_buffer.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/uses_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__memory/uses_allocator_construction.h -FILE: ../../../flutter/third_party/libcxx/include/__memory_resource/memory_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__memory_resource/monotonic_buffer_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__memory_resource/polymorphic_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__memory_resource/pool_options.h -FILE: ../../../flutter/third_party/libcxx/include/__memory_resource/synchronized_pool_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__memory_resource/unsynchronized_pool_resource.h -FILE: ../../../flutter/third_party/libcxx/include/__mutex/lock_guard.h -FILE: ../../../flutter/third_party/libcxx/include/__mutex/mutex.h -FILE: ../../../flutter/third_party/libcxx/include/__mutex/once_flag.h -FILE: ../../../flutter/third_party/libcxx/include/__mutex/tag_types.h -FILE: ../../../flutter/third_party/libcxx/include/__mutex/unique_lock.h -FILE: ../../../flutter/third_party/libcxx/include/__new/align_val_t.h -FILE: ../../../flutter/third_party/libcxx/include/__new/allocate.h -FILE: ../../../flutter/third_party/libcxx/include/__new/destroying_delete_t.h -FILE: ../../../flutter/third_party/libcxx/include/__new/exceptions.h -FILE: ../../../flutter/third_party/libcxx/include/__new/global_new_delete.h -FILE: ../../../flutter/third_party/libcxx/include/__new/interference_size.h -FILE: ../../../flutter/third_party/libcxx/include/__new/launder.h -FILE: ../../../flutter/third_party/libcxx/include/__new/new_handler.h -FILE: ../../../flutter/third_party/libcxx/include/__new/nothrow_t.h -FILE: ../../../flutter/third_party/libcxx/include/__new/placement_new_delete.h -FILE: ../../../flutter/third_party/libcxx/include/__node_handle -FILE: ../../../flutter/third_party/libcxx/include/__numeric/accumulate.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/adjacent_difference.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/exclusive_scan.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/gcd_lcm.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/inclusive_scan.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/inner_product.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/iota.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/midpoint.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/partial_sum.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/pstl.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/reduce.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/saturation_arithmetic.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/transform_exclusive_scan.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/transform_inclusive_scan.h -FILE: ../../../flutter/third_party/libcxx/include/__numeric/transform_reduce.h -FILE: ../../../flutter/third_party/libcxx/include/__ostream/basic_ostream.h -FILE: ../../../flutter/third_party/libcxx/include/__ostream/print.h -FILE: ../../../flutter/third_party/libcxx/include/__ostream/put_character_sequence.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/backend.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/backend_fwd.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/backends/default.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/backends/libdispatch.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/backends/serial.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/backends/std_thread.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/any_of.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/cpu_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/fill.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/find_if.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/for_each.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/merge.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/stable_sort.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/transform.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/cpu_algos/transform_reduce.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/dispatch.h -FILE: ../../../flutter/third_party/libcxx/include/__pstl/handle_exception.h -FILE: ../../../flutter/third_party/libcxx/include/__random/bernoulli_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/binomial_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/cauchy_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/chi_squared_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/clamp_to_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__random/default_random_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__random/discard_block_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__random/discrete_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/exponential_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/extreme_value_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/fisher_f_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/gamma_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/generate_canonical.h -FILE: ../../../flutter/third_party/libcxx/include/__random/geometric_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/independent_bits_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__random/is_seed_sequence.h -FILE: ../../../flutter/third_party/libcxx/include/__random/is_valid.h -FILE: ../../../flutter/third_party/libcxx/include/__random/knuth_b.h -FILE: ../../../flutter/third_party/libcxx/include/__random/linear_congruential_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__random/log2.h -FILE: ../../../flutter/third_party/libcxx/include/__random/lognormal_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/mersenne_twister_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__random/negative_binomial_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/normal_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/piecewise_constant_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/piecewise_linear_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/poisson_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/random_device.h -FILE: ../../../flutter/third_party/libcxx/include/__random/ranlux.h -FILE: ../../../flutter/third_party/libcxx/include/__random/seed_seq.h -FILE: ../../../flutter/third_party/libcxx/include/__random/shuffle_order_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__random/student_t_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/subtract_with_carry_engine.h -FILE: ../../../flutter/third_party/libcxx/include/__random/uniform_int_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/uniform_random_bit_generator.h -FILE: ../../../flutter/third_party/libcxx/include/__random/uniform_real_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__random/weibull_distribution.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/access.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/all.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/as_rvalue_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/chunk_by_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/common_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/concepts.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/container_compatible_range.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/counted.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/dangling.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/data.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/drop_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/drop_while_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/elements_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/empty.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/empty_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/enable_borrowed_range.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/enable_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/filter_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/from_range.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/iota_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/istream_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/join_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/lazy_split_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/movable_box.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/non_propagating_cache.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/owning_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/range_adaptor.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/rbegin.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/ref_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/rend.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/repeat_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/reverse_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/single_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/size.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/split_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/subrange.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/take_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/take_while_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/to.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/transform_view.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/view_interface.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/views.h -FILE: ../../../flutter/third_party/libcxx/include/__ranges/zip_view.h -FILE: ../../../flutter/third_party/libcxx/include/__split_buffer -FILE: ../../../flutter/third_party/libcxx/include/__std_mbstate_t.h -FILE: ../../../flutter/third_party/libcxx/include/__stop_token/atomic_unique_lock.h -FILE: ../../../flutter/third_party/libcxx/include/__stop_token/intrusive_list_view.h -FILE: ../../../flutter/third_party/libcxx/include/__stop_token/intrusive_shared_ptr.h -FILE: ../../../flutter/third_party/libcxx/include/__stop_token/stop_callback.h -FILE: ../../../flutter/third_party/libcxx/include/__stop_token/stop_source.h -FILE: ../../../flutter/third_party/libcxx/include/__stop_token/stop_state.h -FILE: ../../../flutter/third_party/libcxx/include/__stop_token/stop_token.h -FILE: ../../../flutter/third_party/libcxx/include/__string/char_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__string/constexpr_c_functions.h -FILE: ../../../flutter/third_party/libcxx/include/__string/extern_template_lists.h -FILE: ../../../flutter/third_party/libcxx/include/__support/ibm/gettod_zos.h -FILE: ../../../flutter/third_party/libcxx/include/__support/ibm/locale_mgmt_zos.h -FILE: ../../../flutter/third_party/libcxx/include/__support/ibm/nanosleep.h -FILE: ../../../flutter/third_party/libcxx/include/__support/xlocale/__nop_locale_mgmt.h -FILE: ../../../flutter/third_party/libcxx/include/__support/xlocale/__posix_l_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__support/xlocale/__strtonum_fallback.h -FILE: ../../../flutter/third_party/libcxx/include/__system_error/errc.h -FILE: ../../../flutter/third_party/libcxx/include/__system_error/error_category.h -FILE: ../../../flutter/third_party/libcxx/include/__system_error/error_code.h -FILE: ../../../flutter/third_party/libcxx/include/__system_error/error_condition.h -FILE: ../../../flutter/third_party/libcxx/include/__system_error/system_error.h -FILE: ../../../flutter/third_party/libcxx/include/__system_error/throw_system_error.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/id.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/jthread.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/poll_with_backoff.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/support.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/support/c11.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/support/external.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/support/pthread.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/support/windows.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/this_thread.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/thread.h -FILE: ../../../flutter/third_party/libcxx/include/__thread/timed_backoff_policy.h -FILE: ../../../flutter/third_party/libcxx/include/__tree -FILE: ../../../flutter/third_party/libcxx/include/__tuple/find_index.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/ignore.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/make_tuple_types.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/sfinae_helpers.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/tuple_element.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/tuple_indices.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/tuple_like.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/tuple_like_ext.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/tuple_like_no_subrange.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/tuple_size.h -FILE: ../../../flutter/third_party/libcxx/include/__tuple/tuple_types.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/add_cv_quals.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/add_lvalue_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/add_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/add_rvalue_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/aligned_storage.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/aligned_union.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/alignment_of.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/can_extract_key.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/common_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/common_type.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/conditional.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/conjunction.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/container_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/copy_cv.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/copy_cvref.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/datasizeof.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/decay.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/dependent_type.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/desugars_to.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/detected_or.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/disjunction.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/enable_if.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/extent.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/has_unique_object_representation.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/has_virtual_destructor.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/integral_constant.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/invoke.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_abstract.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_aggregate.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_allocator.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_always_bitcastable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_arithmetic.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_array.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_assignable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_base_of.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_bounded_array.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_callable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_char_like_type.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_class.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_compound.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_const.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_constant_evaluated.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_convertible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_core_convertible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_destructible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_empty.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_enum.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_equality_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_execution_policy.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_final.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_floating_point.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_function.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_fundamental.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_implicit_lifetime.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_implicitly_default_constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_literal_type.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_member_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_nothrow_assignable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_nothrow_constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_nothrow_convertible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_nothrow_destructible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_null_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_object.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_pod.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_polymorphic.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_primary_template.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_reference_wrapper.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_referenceable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_same.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_scalar.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_signed.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_signed_integer.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_specialization.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_standard_layout.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_swappable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_trivial.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_assignable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_constructible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_copyable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_destructible.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_lexicographically_comparable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_trivially_relocatable.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_unbounded_array.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_union.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_unsigned.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_unsigned_integer.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_valid_expansion.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_void.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/is_volatile.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/lazy.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/make_32_64_or_128_bit.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/make_const_lvalue_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/make_signed.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/make_unsigned.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/maybe_const.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/nat.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/negation.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/promote.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/rank.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/reference_constructs_from_temporary.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/reference_converts_from_temporary.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_all_extents.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_const.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_const_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_cv.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_cvref.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_extent.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_pointer.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_reference.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/remove_volatile.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/result_of.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/strip_signature.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/type_identity.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/type_list.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/underlying_type.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/unwrap_ref.h -FILE: ../../../flutter/third_party/libcxx/include/__type_traits/void_t.h -FILE: ../../../flutter/third_party/libcxx/include/__undef_macros -FILE: ../../../flutter/third_party/libcxx/include/__utility/as_const.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/as_lvalue.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/auto_cast.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/cmp.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/convert_to_integral.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/declval.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/element_count.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/empty.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/exception_guard.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/exchange.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/forward.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/forward_like.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/in_place.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/integer_sequence.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/is_pointer_in_range.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/is_valid_range.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/move.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/no_destroy.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/pair.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/piecewise_construct.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/priority_tag.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/private_constructor_tag.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/rel_ops.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/scope_guard.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/small_buffer.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/swap.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/to_underlying.h -FILE: ../../../flutter/third_party/libcxx/include/__utility/unreachable.h -FILE: ../../../flutter/third_party/libcxx/include/__variant/monostate.h -FILE: ../../../flutter/third_party/libcxx/include/__vector/comparison.h -FILE: ../../../flutter/third_party/libcxx/include/__vector/container_traits.h -FILE: ../../../flutter/third_party/libcxx/include/__vector/erase.h -FILE: ../../../flutter/third_party/libcxx/include/__vector/pmr.h -FILE: ../../../flutter/third_party/libcxx/include/__vector/swap.h -FILE: ../../../flutter/third_party/libcxx/include/__vector/vector.h -FILE: ../../../flutter/third_party/libcxx/include/__vector/vector_bool.h -FILE: ../../../flutter/third_party/libcxx/include/__vector/vector_bool_formatter.h -FILE: ../../../flutter/third_party/libcxx/include/__verbose_abort -FILE: ../../../flutter/third_party/libcxx/include/algorithm -FILE: ../../../flutter/third_party/libcxx/include/any -FILE: ../../../flutter/third_party/libcxx/include/array -FILE: ../../../flutter/third_party/libcxx/include/atomic -FILE: ../../../flutter/third_party/libcxx/include/barrier -FILE: ../../../flutter/third_party/libcxx/include/bit -FILE: ../../../flutter/third_party/libcxx/include/bitset -FILE: ../../../flutter/third_party/libcxx/include/cassert -FILE: ../../../flutter/third_party/libcxx/include/ccomplex -FILE: ../../../flutter/third_party/libcxx/include/cctype -FILE: ../../../flutter/third_party/libcxx/include/cerrno -FILE: ../../../flutter/third_party/libcxx/include/cfenv -FILE: ../../../flutter/third_party/libcxx/include/cfloat -FILE: ../../../flutter/third_party/libcxx/include/charconv -FILE: ../../../flutter/third_party/libcxx/include/chrono -FILE: ../../../flutter/third_party/libcxx/include/cinttypes -FILE: ../../../flutter/third_party/libcxx/include/ciso646 -FILE: ../../../flutter/third_party/libcxx/include/climits -FILE: ../../../flutter/third_party/libcxx/include/clocale -FILE: ../../../flutter/third_party/libcxx/include/cmath -FILE: ../../../flutter/third_party/libcxx/include/codecvt -FILE: ../../../flutter/third_party/libcxx/include/compare -FILE: ../../../flutter/third_party/libcxx/include/complex -FILE: ../../../flutter/third_party/libcxx/include/complex.h -FILE: ../../../flutter/third_party/libcxx/include/concepts -FILE: ../../../flutter/third_party/libcxx/include/condition_variable -FILE: ../../../flutter/third_party/libcxx/include/coroutine -FILE: ../../../flutter/third_party/libcxx/include/csetjmp -FILE: ../../../flutter/third_party/libcxx/include/csignal -FILE: ../../../flutter/third_party/libcxx/include/cstdalign -FILE: ../../../flutter/third_party/libcxx/include/cstdarg -FILE: ../../../flutter/third_party/libcxx/include/cstdbool -FILE: ../../../flutter/third_party/libcxx/include/cstddef -FILE: ../../../flutter/third_party/libcxx/include/cstdint -FILE: ../../../flutter/third_party/libcxx/include/cstdio -FILE: ../../../flutter/third_party/libcxx/include/cstdlib -FILE: ../../../flutter/third_party/libcxx/include/cstring -FILE: ../../../flutter/third_party/libcxx/include/ctgmath -FILE: ../../../flutter/third_party/libcxx/include/ctime -FILE: ../../../flutter/third_party/libcxx/include/ctype.h -FILE: ../../../flutter/third_party/libcxx/include/cuchar -FILE: ../../../flutter/third_party/libcxx/include/cwchar -FILE: ../../../flutter/third_party/libcxx/include/cwctype -FILE: ../../../flutter/third_party/libcxx/include/deque -FILE: ../../../flutter/third_party/libcxx/include/errno.h -FILE: ../../../flutter/third_party/libcxx/include/exception -FILE: ../../../flutter/third_party/libcxx/include/execution -FILE: ../../../flutter/third_party/libcxx/include/expected -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/aligned_tag.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/declaration.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/reference.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/scalar.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/simd.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/simd_mask.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/traits.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/utility.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/__simd/vec_ext.h -FILE: ../../../flutter/third_party/libcxx/include/experimental/iterator -FILE: ../../../flutter/third_party/libcxx/include/experimental/memory -FILE: ../../../flutter/third_party/libcxx/include/experimental/propagate_const -FILE: ../../../flutter/third_party/libcxx/include/experimental/simd -FILE: ../../../flutter/third_party/libcxx/include/experimental/type_traits -FILE: ../../../flutter/third_party/libcxx/include/experimental/utility -FILE: ../../../flutter/third_party/libcxx/include/ext/__hash -FILE: ../../../flutter/third_party/libcxx/include/ext/hash_map -FILE: ../../../flutter/third_party/libcxx/include/ext/hash_set -FILE: ../../../flutter/third_party/libcxx/include/fenv.h -FILE: ../../../flutter/third_party/libcxx/include/filesystem -FILE: ../../../flutter/third_party/libcxx/include/flat_map -FILE: ../../../flutter/third_party/libcxx/include/float.h -FILE: ../../../flutter/third_party/libcxx/include/format -FILE: ../../../flutter/third_party/libcxx/include/forward_list -FILE: ../../../flutter/third_party/libcxx/include/fstream -FILE: ../../../flutter/third_party/libcxx/include/functional -FILE: ../../../flutter/third_party/libcxx/include/future -FILE: ../../../flutter/third_party/libcxx/include/initializer_list -FILE: ../../../flutter/third_party/libcxx/include/inttypes.h -FILE: ../../../flutter/third_party/libcxx/include/iomanip -FILE: ../../../flutter/third_party/libcxx/include/ios -FILE: ../../../flutter/third_party/libcxx/include/iosfwd -FILE: ../../../flutter/third_party/libcxx/include/iostream -FILE: ../../../flutter/third_party/libcxx/include/istream -FILE: ../../../flutter/third_party/libcxx/include/iterator -FILE: ../../../flutter/third_party/libcxx/include/latch -FILE: ../../../flutter/third_party/libcxx/include/limits -FILE: ../../../flutter/third_party/libcxx/include/list -FILE: ../../../flutter/third_party/libcxx/include/locale -FILE: ../../../flutter/third_party/libcxx/include/map -FILE: ../../../flutter/third_party/libcxx/include/math.h -FILE: ../../../flutter/third_party/libcxx/include/mdspan -FILE: ../../../flutter/third_party/libcxx/include/memory -FILE: ../../../flutter/third_party/libcxx/include/memory_resource -FILE: ../../../flutter/third_party/libcxx/include/mutex -FILE: ../../../flutter/third_party/libcxx/include/new -FILE: ../../../flutter/third_party/libcxx/include/numbers -FILE: ../../../flutter/third_party/libcxx/include/numeric -FILE: ../../../flutter/third_party/libcxx/include/optional -FILE: ../../../flutter/third_party/libcxx/include/ostream -FILE: ../../../flutter/third_party/libcxx/include/print -FILE: ../../../flutter/third_party/libcxx/include/queue -FILE: ../../../flutter/third_party/libcxx/include/random -FILE: ../../../flutter/third_party/libcxx/include/ranges -FILE: ../../../flutter/third_party/libcxx/include/ratio -FILE: ../../../flutter/third_party/libcxx/include/regex -FILE: ../../../flutter/third_party/libcxx/include/scoped_allocator -FILE: ../../../flutter/third_party/libcxx/include/semaphore -FILE: ../../../flutter/third_party/libcxx/include/set -FILE: ../../../flutter/third_party/libcxx/include/shared_mutex -FILE: ../../../flutter/third_party/libcxx/include/source_location -FILE: ../../../flutter/third_party/libcxx/include/span -FILE: ../../../flutter/third_party/libcxx/include/sstream -FILE: ../../../flutter/third_party/libcxx/include/stack -FILE: ../../../flutter/third_party/libcxx/include/stdatomic.h -FILE: ../../../flutter/third_party/libcxx/include/stdbool.h -FILE: ../../../flutter/third_party/libcxx/include/stddef.h -FILE: ../../../flutter/third_party/libcxx/include/stdexcept -FILE: ../../../flutter/third_party/libcxx/include/stdio.h -FILE: ../../../flutter/third_party/libcxx/include/stdlib.h -FILE: ../../../flutter/third_party/libcxx/include/stop_token -FILE: ../../../flutter/third_party/libcxx/include/streambuf -FILE: ../../../flutter/third_party/libcxx/include/string -FILE: ../../../flutter/third_party/libcxx/include/string.h -FILE: ../../../flutter/third_party/libcxx/include/string_view -FILE: ../../../flutter/third_party/libcxx/include/strstream -FILE: ../../../flutter/third_party/libcxx/include/syncstream -FILE: ../../../flutter/third_party/libcxx/include/system_error -FILE: ../../../flutter/third_party/libcxx/include/tgmath.h -FILE: ../../../flutter/third_party/libcxx/include/thread -FILE: ../../../flutter/third_party/libcxx/include/tuple -FILE: ../../../flutter/third_party/libcxx/include/type_traits -FILE: ../../../flutter/third_party/libcxx/include/typeindex -FILE: ../../../flutter/third_party/libcxx/include/typeinfo -FILE: ../../../flutter/third_party/libcxx/include/uchar.h -FILE: ../../../flutter/third_party/libcxx/include/unordered_map -FILE: ../../../flutter/third_party/libcxx/include/unordered_set -FILE: ../../../flutter/third_party/libcxx/include/utility -FILE: ../../../flutter/third_party/libcxx/include/valarray -FILE: ../../../flutter/third_party/libcxx/include/variant -FILE: ../../../flutter/third_party/libcxx/include/vector -FILE: ../../../flutter/third_party/libcxx/include/wchar.h -FILE: ../../../flutter/third_party/libcxx/include/wctype.h -FILE: ../../../flutter/third_party/libcxx/modules/std.compat.cppm.in -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cassert.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cctype.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cerrno.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cfenv.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cfloat.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cinttypes.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/climits.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/clocale.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cmath.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/csetjmp.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/csignal.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cstdarg.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cstddef.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cstdint.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cstdio.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cstdlib.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cstring.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/ctime.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cuchar.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cwchar.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.compat/cwctype.inc -FILE: ../../../flutter/third_party/libcxx/modules/std.cppm.in -FILE: ../../../flutter/third_party/libcxx/modules/std/algorithm.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/any.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/array.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/atomic.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/barrier.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/bit.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/bitset.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cassert.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cctype.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cerrno.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cfenv.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cfloat.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/charconv.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/chrono.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cinttypes.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/climits.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/clocale.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cmath.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/codecvt.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/compare.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/complex.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/concepts.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/condition_variable.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/coroutine.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/csetjmp.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/csignal.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cstdarg.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cstddef.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cstdint.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cstdio.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cstdlib.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cstring.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/ctime.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cuchar.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cwchar.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/cwctype.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/deque.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/exception.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/execution.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/expected.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/filesystem.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/flat_map.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/flat_set.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/format.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/forward_list.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/fstream.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/functional.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/future.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/generator.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/hazard_pointer.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/initializer_list.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/iomanip.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/ios.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/iosfwd.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/iostream.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/istream.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/iterator.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/latch.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/limits.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/list.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/locale.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/map.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/mdspan.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/memory.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/memory_resource.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/mutex.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/new.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/numbers.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/numeric.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/optional.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/ostream.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/print.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/queue.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/random.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/ranges.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/ratio.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/rcu.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/regex.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/scoped_allocator.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/semaphore.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/set.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/shared_mutex.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/source_location.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/span.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/spanstream.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/sstream.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/stack.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/stacktrace.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/stdexcept.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/stdfloat.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/stop_token.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/streambuf.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/string.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/string_view.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/strstream.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/syncstream.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/system_error.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/text_encoding.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/thread.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/tuple.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/type_traits.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/typeindex.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/typeinfo.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/unordered_map.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/unordered_set.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/utility.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/valarray.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/variant.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/vector.inc -FILE: ../../../flutter/third_party/libcxx/modules/std/version.inc -FILE: ../../../flutter/third_party/libcxx/src/algorithm.cpp -FILE: ../../../flutter/third_party/libcxx/src/any.cpp -FILE: ../../../flutter/third_party/libcxx/src/atomic.cpp -FILE: ../../../flutter/third_party/libcxx/src/barrier.cpp -FILE: ../../../flutter/third_party/libcxx/src/bind.cpp -FILE: ../../../flutter/third_party/libcxx/src/call_once.cpp -FILE: ../../../flutter/third_party/libcxx/src/charconv.cpp -FILE: ../../../flutter/third_party/libcxx/src/chrono.cpp -FILE: ../../../flutter/third_party/libcxx/src/condition_variable.cpp -FILE: ../../../flutter/third_party/libcxx/src/condition_variable_destructor.cpp -FILE: ../../../flutter/third_party/libcxx/src/error_category.cpp -FILE: ../../../flutter/third_party/libcxx/src/exception.cpp -FILE: ../../../flutter/third_party/libcxx/src/expected.cpp -FILE: ../../../flutter/third_party/libcxx/src/experimental/chrono_exception.cpp -FILE: ../../../flutter/third_party/libcxx/src/experimental/include/tzdb/time_zone_private.h -FILE: ../../../flutter/third_party/libcxx/src/experimental/include/tzdb/types_private.h -FILE: ../../../flutter/third_party/libcxx/src/experimental/include/tzdb/tzdb_list_private.h -FILE: ../../../flutter/third_party/libcxx/src/experimental/include/tzdb/tzdb_private.h -FILE: ../../../flutter/third_party/libcxx/src/experimental/keep.cpp -FILE: ../../../flutter/third_party/libcxx/src/experimental/time_zone.cpp -FILE: ../../../flutter/third_party/libcxx/src/experimental/tzdb.cpp -FILE: ../../../flutter/third_party/libcxx/src/experimental/tzdb_list.cpp -FILE: ../../../flutter/third_party/libcxx/src/filesystem/directory_entry.cpp -FILE: ../../../flutter/third_party/libcxx/src/filesystem/directory_iterator.cpp -FILE: ../../../flutter/third_party/libcxx/src/filesystem/error.h -FILE: ../../../flutter/third_party/libcxx/src/filesystem/file_descriptor.h -FILE: ../../../flutter/third_party/libcxx/src/filesystem/filesystem_clock.cpp -FILE: ../../../flutter/third_party/libcxx/src/filesystem/filesystem_error.cpp -FILE: ../../../flutter/third_party/libcxx/src/filesystem/format_string.h -FILE: ../../../flutter/third_party/libcxx/src/filesystem/int128_builtins.cpp -FILE: ../../../flutter/third_party/libcxx/src/filesystem/operations.cpp -FILE: ../../../flutter/third_party/libcxx/src/filesystem/path.cpp -FILE: ../../../flutter/third_party/libcxx/src/filesystem/path_parser.h -FILE: ../../../flutter/third_party/libcxx/src/filesystem/posix_compat.h -FILE: ../../../flutter/third_party/libcxx/src/filesystem/time_utils.h -FILE: ../../../flutter/third_party/libcxx/src/fstream.cpp -FILE: ../../../flutter/third_party/libcxx/src/functional.cpp -FILE: ../../../flutter/third_party/libcxx/src/future.cpp -FILE: ../../../flutter/third_party/libcxx/src/hash.cpp -FILE: ../../../flutter/third_party/libcxx/src/include/apple_availability.h -FILE: ../../../flutter/third_party/libcxx/src/include/atomic_support.h -FILE: ../../../flutter/third_party/libcxx/src/include/config_elast.h -FILE: ../../../flutter/third_party/libcxx/src/include/from_chars_floating_point.h -FILE: ../../../flutter/third_party/libcxx/src/include/overridable_function.h -FILE: ../../../flutter/third_party/libcxx/src/include/refstring.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/common.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed_full_table.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2s.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2s_full_table.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2s_intrinsics.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/digit_table.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/f2s.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/ryu.h -FILE: ../../../flutter/third_party/libcxx/src/include/sso_allocator.h -FILE: ../../../flutter/third_party/libcxx/src/include/to_chars_floating_point.h -FILE: ../../../flutter/third_party/libcxx/src/ios.cpp -FILE: ../../../flutter/third_party/libcxx/src/ios.instantiations.cpp -FILE: ../../../flutter/third_party/libcxx/src/iostream.cpp -FILE: ../../../flutter/third_party/libcxx/src/locale.cpp -FILE: ../../../flutter/third_party/libcxx/src/memory.cpp -FILE: ../../../flutter/third_party/libcxx/src/memory_resource.cpp -FILE: ../../../flutter/third_party/libcxx/src/mutex.cpp -FILE: ../../../flutter/third_party/libcxx/src/mutex_destructor.cpp -FILE: ../../../flutter/third_party/libcxx/src/new.cpp -FILE: ../../../flutter/third_party/libcxx/src/new_handler.cpp -FILE: ../../../flutter/third_party/libcxx/src/new_helpers.cpp -FILE: ../../../flutter/third_party/libcxx/src/optional.cpp -FILE: ../../../flutter/third_party/libcxx/src/ostream.cpp -FILE: ../../../flutter/third_party/libcxx/src/print.cpp -FILE: ../../../flutter/third_party/libcxx/src/pstl/libdispatch.cpp -FILE: ../../../flutter/third_party/libcxx/src/random.cpp -FILE: ../../../flutter/third_party/libcxx/src/random_shuffle.cpp -FILE: ../../../flutter/third_party/libcxx/src/regex.cpp -FILE: ../../../flutter/third_party/libcxx/src/ryu/d2fixed.cpp -FILE: ../../../flutter/third_party/libcxx/src/ryu/d2s.cpp -FILE: ../../../flutter/third_party/libcxx/src/ryu/f2s.cpp -FILE: ../../../flutter/third_party/libcxx/src/shared_mutex.cpp -FILE: ../../../flutter/third_party/libcxx/src/std_stream.h -FILE: ../../../flutter/third_party/libcxx/src/stdexcept.cpp -FILE: ../../../flutter/third_party/libcxx/src/string.cpp -FILE: ../../../flutter/third_party/libcxx/src/strstream.cpp -FILE: ../../../flutter/third_party/libcxx/src/support/ibm/mbsnrtowcs.cpp -FILE: ../../../flutter/third_party/libcxx/src/support/ibm/wcsnrtombs.cpp -FILE: ../../../flutter/third_party/libcxx/src/support/ibm/xlocale_zos.cpp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_fallback.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_glibcxx.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_libcxxabi.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_libcxxrt.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_msvc.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_pointer_msvc.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/stdexcept_default.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/runtime/stdexcept_vcruntime.ipp -FILE: ../../../flutter/third_party/libcxx/src/support/win32/compiler_rt_shims.cpp -FILE: ../../../flutter/third_party/libcxx/src/support/win32/locale_win32.cpp -FILE: ../../../flutter/third_party/libcxx/src/support/win32/support.cpp -FILE: ../../../flutter/third_party/libcxx/src/support/win32/thread_win32.cpp -FILE: ../../../flutter/third_party/libcxx/src/system_error.cpp -FILE: ../../../flutter/third_party/libcxx/src/thread.cpp -FILE: ../../../flutter/third_party/libcxx/src/typeinfo.cpp -FILE: ../../../flutter/third_party/libcxx/src/valarray.cpp -FILE: ../../../flutter/third_party/libcxx/src/variant.cpp -FILE: ../../../flutter/third_party/libcxx/src/vector.cpp -FILE: ../../../flutter/third_party/libcxx/src/verbose_abort.cpp -FILE: ../../../flutter/third_party/libcxx/vendor/llvm/default_assertion_handler.in -FILE: ../../../flutter/third_party/libcxxabi/include/__cxxabi_config.h -FILE: ../../../flutter/third_party/libcxxabi/include/cxxabi.h -FILE: ../../../flutter/third_party/libcxxabi/src/abort_message.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/abort_message.h -FILE: ../../../flutter/third_party/libcxxabi/src/aix_state_tab_eh.inc -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_aux_runtime.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_default_handlers.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_demangle.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_exception.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_exception.h -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_exception_storage.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_guard.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_guard_impl.h -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_handlers.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_handlers.h -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_noexception.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_personality.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_thread_atexit.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_vector.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/cxa_virtual.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/demangle/DemangleConfig.h -FILE: ../../../flutter/third_party/libcxxabi/src/demangle/ItaniumDemangle.h -FILE: ../../../flutter/third_party/libcxxabi/src/demangle/ItaniumNodes.def -FILE: ../../../flutter/third_party/libcxxabi/src/demangle/StringViewExtras.h -FILE: ../../../flutter/third_party/libcxxabi/src/demangle/Utility.h -FILE: ../../../flutter/third_party/libcxxabi/src/fallback_malloc.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/fallback_malloc.h -FILE: ../../../flutter/third_party/libcxxabi/src/private_typeinfo.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/private_typeinfo.h -FILE: ../../../flutter/third_party/libcxxabi/src/stdlib_exception.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/stdlib_new_delete.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/stdlib_stdexcept.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/stdlib_typeinfo.cpp -FILE: ../../../flutter/third_party/libcxxabi/src/vendor/apple/shims.cpp -FILE: ../../../flutter/third_party/llvm_libc/config/app.h -FILE: ../../../flutter/third_party/llvm_libc/config/gpu/app.h -FILE: ../../../flutter/third_party/llvm_libc/config/linux/app.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/errno_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/fcntl_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/fcntl_overlay.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/fenv_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/float_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/func/aligned_alloc.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/func/free.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/func/malloc.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/func/realloc.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/limits_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/link_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/locale_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/math_function_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/math_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/sched_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/signal_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/stdio_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/stdio_overlay.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/stdlib_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/stdlib_overlay.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/sys_auxv_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/sys_epoll_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/sys_stat_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/time_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/FILE.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/atexithandler_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/clock_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/clockid_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/cookie_io_functions_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/cpu_set_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/div_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/fenv_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/fexcept_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/ldiv_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/lldiv_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/locale_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/mode_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/nfds_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/off_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/pid_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/sigset_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/size_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/socklen_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/ssize_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/stack_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_dl_phdr_info.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_epoll_event.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_f_owner_ex.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_flock.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_flock64.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_iovec.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_msghdr.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_pollfd.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_sigaction.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_sockaddr.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_timespec.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_timeval.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/struct_tm.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/suseconds_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/time_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/uid_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/wchar_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/wint_t.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/unistd_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/unistd_overlay.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/wchar_macros.h -FILE: ../../../flutter/third_party/llvm_libc/hdr/wchar_overlay.h -FILE: ../../../flutter/third_party/llvm_libc/include/Uefi.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/__llvm-libc-common.h -FILE: ../../../flutter/third_party/llvm_libc/include/arpa/inet.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/assert.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/complex.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/dirent.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/dlfcn.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/elf.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/endian.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/errno.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/fcntl.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/features.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/float.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/inttypes.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/limits.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/EFIAPI-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/assert-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/complex-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/containerof-macro.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/dlfcn-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/elf-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/endian-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/features-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/file-seek-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/float-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/float16-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/generic-error-number-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/gpu/signal-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/gpu/time-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/inttypes-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/limits-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/link-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/fcntl-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/poll-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sched-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/signal-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-epoll-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-random-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-resource-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-socket-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-stat-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-time-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/sys-wait-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/termios-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/time-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/unistd-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/locale-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/math-function-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/math-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/null-macro.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/offsetof-macro.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/poll-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/pthread-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sched-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/signal-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdbit-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdckdint-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdfix-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdint-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdio-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/stdlib-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-auxv-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-epoll-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-ioctl-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-mman-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-queue-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-random-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-resource-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-select-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-socket-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-stat-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-time-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sys-wait-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/sysexits-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/termios-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/wchar-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/windows/time-macros-ext.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ACTION.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/DIR.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_ALLOCATE_TYPE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_BOOT_SERVICES.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_CAPSULE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_CONFIGURATION_TABLE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_DEVICE_PATH_PROTOCOL.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_EVENT.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_GUID.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_HANDLE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_INTERFACE_TYPE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_LOCATE_SEARCH_TYPE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_MEMORY_DESCRIPTOR.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_MEMORY_TYPE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_OPEN_PROTOCOL_INFORMATION_ENTRY.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_PHYSICAL_ADDRESS.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_RUNTIME_SERVICES.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_INPUT_PROTOCOL.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_STATUS.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_SYSTEM_TABLE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_TABLE_HEADER.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_TIME.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_TIMER_DELAY.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_TPL.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/EFI_VIRTUAL_ADDRESS.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ENTRY.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/FILE.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__atexithandler_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__atfork_callback_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__bsearchcompare_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__call_once_func_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__exec_argv_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__exec_envp_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__futex_word.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__getoptargv_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__lsearchcompare_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__mutex_type.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__pthread_once_func_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__pthread_start_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__pthread_tss_dtor_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__qsortcompare_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__qsortrcompare_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/__thread_type.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/blkcnt_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/blksize_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cc_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cfloat128.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cfloat16.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/char16_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/char32_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/char8_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/clock_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/clockid_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cnd_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cookie_io_functions_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/cpu_set_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/dev_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/div_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/double_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fd_set.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fenv_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fexcept_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/float128.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/float_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fsblkcnt_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/fsfilcnt_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/gid_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/imaxdiv_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ino_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/jmp_buf.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ldiv_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/lldiv_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/locale_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/mbstate_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/mode_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/mtx_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/nfds_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/nlink_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/off64_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/off_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/once_flag.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pid_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/posix_spawn_file_actions_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/posix_spawnattr_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_attr_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_condattr_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_key_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_mutex_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_mutexattr_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_once_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_rwlock_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_rwlockattr_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_spinlock_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/pthread_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/rlim_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/sa_family_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/sig_atomic_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/sighandler_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/siginfo_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/sigset_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/size_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/socklen_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/speed_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/ssize_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/stack_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/stdfix-types.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_dirent.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_dl_phdr_info.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_epoll_data.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_epoll_event.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_f_owner_ex.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_flock.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_flock64.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_hsearch_data.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_iovec.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_lconv.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_msghdr.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_pollfd.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_rlimit.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_rusage.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_sched_param.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_sigaction.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_sockaddr.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_sockaddr_un.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_stat.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_statvfs.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_termios.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_timespec.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_timeval.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_tm.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/struct_utsname.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/suseconds_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/tcflag_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/test_rpc_opcodes_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/thrd_start_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/thrd_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/time_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/time_t_32.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/time_t_64.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/tss_dtor_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/tss_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/uid_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/union_sigval.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/wchar_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-types/wint_t.h -FILE: ../../../flutter/third_party/llvm_libc/include/locale.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/math.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/poll.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/pthread.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sched.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/search.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/setjmp.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/signal.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/spawn.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/stdbit.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/stdckdint.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/stdfix.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/stdint.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/stdio.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/stdlib.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/string.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/strings.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/auxv.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/epoll.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/ioctl.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/mman.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/prctl.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/queue.h -FILE: ../../../flutter/third_party/llvm_libc/include/sys/random.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/resource.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/select.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/sendfile.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/socket.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/stat.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/statvfs.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/syscall.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/time.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/types.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/uio.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/utsname.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sys/wait.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/sysexits.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/termios.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/threads.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/time.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/uchar.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/unistd.h.def -FILE: ../../../flutter/third_party/llvm_libc/include/wchar.h.def -FILE: ../../../flutter/third_party/llvm_libc/shared/fp_bits.h -FILE: ../../../flutter/third_party/llvm_libc/shared/rpc.h -FILE: ../../../flutter/third_party/llvm_libc/shared/rpc_opcodes.h -FILE: ../../../flutter/third_party/llvm_libc/shared/rpc_server.h -FILE: ../../../flutter/third_party/llvm_libc/shared/rpc_util.h -FILE: ../../../flutter/third_party/llvm_libc/shared/str_to_float.h -FILE: ../../../flutter/third_party/llvm_libc/shared/str_to_integer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/algorithm.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/array.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/atomic.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/bit.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/bitset.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/cstddef.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/expected.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/functional.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/iterator.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/limits.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/mutex.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/new.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/new.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/optional.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/span.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/string.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/string_view.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/stringstream.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/add_lvalue_reference.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/add_pointer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/add_rvalue_reference.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/aligned_storage.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/always_false.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/bool_constant.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/conditional.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/decay.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/enable_if.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/false_type.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/has_unique_object_representations.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/integral_constant.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/invoke.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/invoke_result.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_arithmetic.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_array.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_base_of.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_class.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_complex.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_const.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_constant_evaluated.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_convertible.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_copy_assignable.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_copy_constructible.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_destructible.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_enum.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_fixed_point.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_floating_point.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_function.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_integral.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_lvalue_reference.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_member_pointer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_move_assignable.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_move_constructible.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_null_pointer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_object.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_pointer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_reference.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_rvalue_reference.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_same.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_scalar.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_signed.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_trivially_constructible.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_trivially_copyable.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_trivially_destructible.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_union.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_unsigned.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/is_void.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/make_signed.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/make_unsigned.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_all_extents.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_cv.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_cvref.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_extent.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/remove_reference.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/true_type.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/type_identity.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/type_traits/void_t.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/declval.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/forward.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/in_place.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/integer_sequence.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/CPP/utility/move.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/BasicOperations.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/DivisionAndRemainderOperations.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/FEnvImpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/FMA.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/FPBits.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/Hypot.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/ManipulationFunctions.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/NearestIntegerOperations.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/NormalFloat.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/PolyEval.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/aarch64/FEnvImpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/aarch64/nearest_integer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/aarch64/sqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/arm/FEnvImpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/cast.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/double_double.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/dyadic_float.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/except_value_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/fpbits_str.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/FMA.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/FMod.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/add_sub.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/div.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/mul.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/sqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/multiply_add.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/nearest_integer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/riscv/FEnvImpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/riscv/sqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/rounding_mode.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/sqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/triple_double.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/FEnvImpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/NextUpDownLongDouble.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/nearest_integer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/FPUtil/x86_64/sqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/dir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/dir.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/file.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/file.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/linux/dir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/linux/file.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/linux/file.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/linux/lseekImpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/linux/stderr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/linux/stdin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/File/linux/stdout.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/GPU/allocator.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/GPU/allocator.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/GPU/utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/HashTable/bitmask.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/HashTable/generic/bitmask_impl.inc -FILE: ../../../flutter/third_party/llvm_libc/src/__support/HashTable/randomness.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/HashTable/sse2/bitmask_impl.inc -FILE: ../../../flutter/third_party/llvm_libc/src/__support/HashTable/table.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/baremetal/exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/baremetal/io.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/baremetal/io.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/arm/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/io.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/darwin/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/exit.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/fcntl.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/fuchsia/io.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/gpu/exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/gpu/io.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/gpu/io.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/io.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/aarch64/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/aarch64/vdso.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/arm/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/arm/vdso.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/fcntl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/i386/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/io.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/riscv/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/riscv/vdso.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/vdso.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/vdso.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/vdso_sym.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/x86_64/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/linux/x86_64/vdso.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/uefi/exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/uefi/io.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/uefi/io.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/windows/exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/windows/io.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/OSUtil/windows/io.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/RPC/rpc_client.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/RPC/rpc_client.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/RPC/rpc_server.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/error_to_string.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/error_to_string.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/message_mapper.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/platform_errors.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/platform_signals.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/signal_to_string.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/signal_to_string.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/linux_extension_errors.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/linux_extension_signals.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/linux_platform_errors.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/linux_platform_signals.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/minimal_platform_errors.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/minimal_platform_signals.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/posix_errors.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/posix_signals.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/signal_table.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/stdc_errors.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/StringUtil/tables/stdc_signals.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/arg_list.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/big_int.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/block.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/blockstore.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/c_string.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/char_vector.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/common.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/complex_basic_ops.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/complex_type.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/ctype_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/detailed_powers_of_ten.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/endian_internal.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/error_or.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/fixed_point/fx_bits.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/fixed_point/fx_rep.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/fixed_point/sqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/fixedvector.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/float_to_string.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/freelist.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/freelist.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/freelist_heap.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/freelist_heap.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/freestore.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/freetrie.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/freetrie.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/hash.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/integer_literals.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/integer_operations.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/integer_to_string.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/intrusive_list.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/libc_assert.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/attributes.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/config.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/null_check.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/optimization.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/architectures.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/compiler.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/complex_types.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/cpu_features.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/os.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/properties/types.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/macros/sanitizer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/math_extras.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/memory_size.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/number_pair.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/ryu_constants.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/ryu_long_double_constants.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/sign.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/str_to_float.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/str_to_integer.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/str_to_num_result.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/CndVar.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/callonce.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/fork_callbacks.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/fork_callbacks.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/gpu/mutex.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/identifier.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/CndVar.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/callonce.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/callonce.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/futex_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/futex_word.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/mutex.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/raw_mutex.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/rwlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/linux/thread.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/mutex.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/mutex_common.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/sleep.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/spin_lock.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/thread.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/threads/thread.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/clock_gettime.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/gpu/clock_gettime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/gpu/time_utils.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/gpu/time_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/linux/abs_timeout.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/linux/clock_conversion.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/linux/clock_gettime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/linux/monotonicity.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/units.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/windows/clock_gettime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/__support/time/windows/performance_counter.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/uint128.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/wctype_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/arpa/inet/htonl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/arpa/inet/htonl.h -FILE: ../../../flutter/third_party/llvm_libc/src/arpa/inet/htons.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/arpa/inet/htons.h -FILE: ../../../flutter/third_party/llvm_libc/src/arpa/inet/ntohl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/arpa/inet/ntohl.h -FILE: ../../../flutter/third_party/llvm_libc/src/arpa/inet/ntohs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/arpa/inet/ntohs.h -FILE: ../../../flutter/third_party/llvm_libc/src/assert/__assert_fail.h -FILE: ../../../flutter/third_party/llvm_libc/src/assert/assert.h -FILE: ../../../flutter/third_party/llvm_libc/src/assert/generic/__assert_fail.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/assert/gpu/__assert_fail.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/compiler/__stack_chk_fail.h -FILE: ../../../flutter/third_party/llvm_libc/src/compiler/generic/__stack_chk_fail.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cimag.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cimagf.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cimagf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cimagf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cimagl.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/conj.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/conjf.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/conjf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/conjf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/conjl.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cproj.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cprojf.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cprojf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cprojf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/cprojl.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/creal.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/crealf.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/crealf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/crealf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/creall.h -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cimag.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cimagf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cimagf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cimagf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cimagl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/conj.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/conjf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/conjf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/conjf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/conjl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cproj.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cprojf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cprojf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cprojf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/cprojl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/creal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/crealf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/crealf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/crealf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/complex/generic/creall.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isalnum.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isalnum.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isalnum_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isalnum_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isalpha.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isalpha.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isalpha_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isalpha_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isascii.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isascii.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isblank.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isblank.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isblank_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isblank_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/iscntrl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/iscntrl.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/iscntrl_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/iscntrl_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isdigit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isdigit.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isdigit_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isdigit_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isgraph.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isgraph.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isgraph_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isgraph_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/islower.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/islower.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/islower_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/islower_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isprint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isprint.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isprint_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isprint_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/ispunct.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/ispunct.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/ispunct_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/ispunct_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isspace.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isspace.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isspace_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isspace_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isupper.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isupper.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isupper_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isupper_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isxdigit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isxdigit.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isxdigit_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/isxdigit_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/toascii.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/toascii.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/tolower.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/tolower.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/tolower_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/tolower_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/toupper.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/toupper.h -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/toupper_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/ctype/toupper_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/dirent/closedir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/dirent/closedir.h -FILE: ../../../flutter/third_party/llvm_libc/src/dirent/dirfd.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/dirent/dirfd.h -FILE: ../../../flutter/third_party/llvm_libc/src/dirent/opendir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/dirent/opendir.h -FILE: ../../../flutter/third_party/llvm_libc/src/dirent/readdir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/dirent/readdir.h -FILE: ../../../flutter/third_party/llvm_libc/src/dlfcn/dlclose.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/dlfcn/dlclose.h -FILE: ../../../flutter/third_party/llvm_libc/src/dlfcn/dlerror.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/dlfcn/dlerror.h -FILE: ../../../flutter/third_party/llvm_libc/src/dlfcn/dlopen.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/dlfcn/dlopen.h -FILE: ../../../flutter/third_party/llvm_libc/src/dlfcn/dlsym.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/dlfcn/dlsym.h -FILE: ../../../flutter/third_party/llvm_libc/src/errno/libc_errno.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/errno/libc_errno.h -FILE: ../../../flutter/third_party/llvm_libc/src/fcntl/creat.h -FILE: ../../../flutter/third_party/llvm_libc/src/fcntl/fcntl.h -FILE: ../../../flutter/third_party/llvm_libc/src/fcntl/linux/creat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fcntl/linux/fcntl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fcntl/linux/open.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fcntl/linux/openat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fcntl/open.h -FILE: ../../../flutter/third_party/llvm_libc/src/fcntl/openat.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feclearexcept.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feclearexcept.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fedisableexcept.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fedisableexcept.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feenableexcept.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feenableexcept.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fegetenv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fegetenv.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fegetexcept.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fegetexcept.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fegetexceptflag.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fegetexceptflag.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fegetround.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fegetround.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feholdexcept.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feholdexcept.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feraiseexcept.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feraiseexcept.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fesetenv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fesetenv.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fesetexcept.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fesetexcept.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fesetexceptflag.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fesetexceptflag.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fesetround.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fesetround.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fetestexcept.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fetestexcept.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fetestexceptflag.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/fetestexceptflag.h -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feupdateenv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/fenv/feupdateenv.h -FILE: ../../../flutter/third_party/llvm_libc/src/inttypes/imaxabs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/inttypes/imaxabs.h -FILE: ../../../flutter/third_party/llvm_libc/src/inttypes/imaxdiv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/inttypes/imaxdiv.h -FILE: ../../../flutter/third_party/llvm_libc/src/inttypes/strtoimax.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/inttypes/strtoimax.h -FILE: ../../../flutter/third_party/llvm_libc/src/inttypes/strtoumax.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/inttypes/strtoumax.h -FILE: ../../../flutter/third_party/llvm_libc/src/link/dl_iterate_phdr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/link/dl_iterate_phdr.h -FILE: ../../../flutter/third_party/llvm_libc/src/locale/duplocale.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/locale/duplocale.h -FILE: ../../../flutter/third_party/llvm_libc/src/locale/freelocale.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/locale/freelocale.h -FILE: ../../../flutter/third_party/llvm_libc/src/locale/locale.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/locale/locale.h -FILE: ../../../flutter/third_party/llvm_libc/src/locale/localeconv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/locale/localeconv.h -FILE: ../../../flutter/third_party/llvm_libc/src/locale/newlocale.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/locale/newlocale.h -FILE: ../../../flutter/third_party/llvm_libc/src/locale/setlocale.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/locale/setlocale.h -FILE: ../../../flutter/third_party/llvm_libc/src/locale/uselocale.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/locale/uselocale.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/acos.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/acosf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/acosf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/acosh.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/acoshf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/acos.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/acosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/acosh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/acoshf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/asin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/asinf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/asinh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/asinhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atan.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atan2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atan2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atanh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/atanhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ceil.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ceilf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/copysign.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/copysignf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/cos.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/cosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/cosh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/coshf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/declarations.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/erf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/erff.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp10.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp10f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/exp2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/expf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/expm1.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/expm1f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fabs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fabsf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fdim.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fdimf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/floor.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/floorf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmaf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmax.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmaxf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fminf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmod.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/fmodf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/frexp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/frexpf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/hypot.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/hypotf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ilogb.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ilogbf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ldexp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/ldexpf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/lgamma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/lgamma_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/llrint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/llrintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log10.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log10f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log1p.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log1pf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/log2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/logb.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/logbf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/logf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/lrint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/lrintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/nearbyint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/nearbyintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/nextafter.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/nextafterf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/platform.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/powf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/powi.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/powif.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/remainder.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/remainderf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/remquo.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/remquof.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/rint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/rintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/round.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/roundf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/scalbn.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/scalbnf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sincos.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sincosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sinf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sinh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sinhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sqrt.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/sqrtf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tan.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tanh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tanhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tgamma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/tgammaf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/trunc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/amdgpu/truncf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/asin.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/asinf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/asinf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/asinh.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/asinhf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/atan.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/atan2.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/atan2f.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/atan2l.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/atanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/atanh.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/atanhf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/canonicalize.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/canonicalizef.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/canonicalizef128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/canonicalizef16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/canonicalizel.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/cbrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/cbrtf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ceil.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ceilf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ceilf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ceilf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ceill.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/copysign.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/copysignf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/copysignf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/copysignf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/copysignl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/cos.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/cosf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/cosf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/cosh.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/coshf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/coshf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/cospif.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/cospif16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/daddf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/daddl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ddivf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ddivl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/dfmaf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/dfmal.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/dmulf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/dmull.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/dsqrtf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/dsqrtl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/dsubf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/dsubl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/erf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/erff.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp10.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp10f.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp10f16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp10m1f.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp10m1f16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp2.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp2f.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp2f16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp2m1f.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/exp2m1f16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/expf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/expf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/expm1.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/expm1f.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/expm1f16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16add.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16addf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16addf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16addl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16div.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16divf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16divf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16divl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16fma.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16fmaf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16fmaf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16fmal.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16mul.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16mulf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16mulf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16mull.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16sqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16sqrtf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16sqrtf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16sqrtl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16sub.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16subf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16subf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/f16subl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fabs.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fabsf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fabsf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fabsf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fabsl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fadd.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/faddf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/faddl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fdim.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fdimf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fdimf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fdimf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fdiml.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fdiv.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fdivf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fdivl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ffma.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ffmaf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ffmal.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/floor.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/floorf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/floorf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/floorf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/floorl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fma.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmax.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaxf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaxf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaxf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_num.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_numf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_numf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_numf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_mag_numl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_magf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_magf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_magf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_magl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_num.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_numf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_numf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_numf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximum_numl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximumf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximumf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximumf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaximuml.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmaxl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmin.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_num.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_numf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_numf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_numf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_mag_numl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_magf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_magf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_magf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_magl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_num.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_numf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_numf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_numf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimum_numl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimumf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimumf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimumf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminimuml.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fminl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmod.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmodf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmodf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmodf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmodl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmul.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmulf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fmull.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/frexp.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/frexpf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/frexpf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/frexpf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/frexpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfp.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpx.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpxf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpxf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpxf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fromfpxl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fsqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fsqrtf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fsqrtl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fsub.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fsubf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/fsubl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/acosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/acosf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/acoshf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/asinf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/asinf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/asinhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/atan2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/atan2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/atan2f_float.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/atan2l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/atanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/atanhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalize.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalizef.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalizef128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalizef16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/canonicalizel.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/cbrt.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/cbrtf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ceil.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ceilf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ceilf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ceilf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ceill.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/common_constants.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/common_constants.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/copysign.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/copysignf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/copysignf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/copysignf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/copysignl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/cos.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/cosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/cosf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/coshf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/coshf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/cospif.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/cospif16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/daddf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/daddl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ddivf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ddivl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/dfmaf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/dfmal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/dmulf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/dmull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/dsqrtf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/dsqrtl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/dsubf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/dsubl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/erff.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp10.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp10f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp10f16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp10f_impl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp10m1f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp10m1f16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp2f16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp2f_impl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp2m1f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp2m1f16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp_utils.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/exp_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/expf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/expf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/explogxf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/explogxf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/expm1.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/expm1f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/expm1f16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/expxf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16add.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16addf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16addf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16addl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16div.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16divf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16divf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16divl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16fma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16fmaf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16fmaf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16fmal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16mul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16mulf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16mulf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16mull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16sqrt.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16sqrtf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16sqrtf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16sqrtl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16sub.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16subf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16subf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/f16subl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fabs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fabsf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fabsf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fabsf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fabsl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fadd.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/faddf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/faddl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fdim.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fdimf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fdimf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fdimf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fdiml.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fdiv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fdivf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fdivl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ffma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ffmaf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ffmal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/floor.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/floorf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/floorf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/floorf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/floorl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmax.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaxf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaxf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaxf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_num.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_numf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_numf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_numf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_mag_numl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_magf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_magf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_magf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_magl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_num.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_numf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_numf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_numf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximum_numl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximumf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximumf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximumf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaximuml.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmaxl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_num.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_numf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_numf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_numf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_mag_numl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_magf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_magf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_magf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_magl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_num.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_numf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_numf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_numf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimum_numl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimumf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimumf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimumf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminimuml.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fminl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmod.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmodf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmodf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmodf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmodl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmulf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fmull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/frexp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/frexpf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/frexpf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/frexpf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/frexpl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpx.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpxf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpxf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpxf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fromfpxl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fsqrt.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fsqrtf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fsqrtl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fsub.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fsubf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/fsubl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/getpayload.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/getpayloadf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/getpayloadf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/getpayloadf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/getpayloadl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/hypot.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/hypotf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ilogb.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ilogbf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ilogbf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ilogbf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ilogbl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/inv_trigf_utils.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/inv_trigf_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonical.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonicalf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonicalf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonicalf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/iscanonicall.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/isnan.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/isnanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/isnanl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/issignaling.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/issignalingf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/issignalingf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/issignalingf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/issignalingl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ldexp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ldexpf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ldexpf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ldexpf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ldexpl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llogb.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llogbf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llogbf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llogbf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llogbl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llrint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llrintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llrintf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llrintf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llrintl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llround.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llroundf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llroundf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llroundf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/llroundl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log10.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log10f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log10f16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log1p.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log1pf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log2f16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/log_range_reduction.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/logb.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/logbf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/logbf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/logbf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/logbl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/logf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/logf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lrint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lrintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lrintf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lrintf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lrintl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lround.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lroundf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lroundf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lroundf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/lroundl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/modf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/modff.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/modff128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/modff16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/modfl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nan.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nanf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nanf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nanl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyintf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyintf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nearbyintl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextafter.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextafterf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextafterf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextafterf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextafterl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextdown.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextdownf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextdownf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextdownf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextdownl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nexttoward.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nexttowardf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nexttowardf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nexttowardl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextup.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextupf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextupf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextupf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/nextupl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/pow.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/powf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction_double_common.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction_double_fma.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction_double_nofma.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/range_reduction_fma.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remainder.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remainderf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remainderf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remainderf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remainderl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remquo.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remquof.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remquof128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remquof16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/remquol.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/rint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/rintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/rintf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/rintf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/rintl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/round.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundeven.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundevenf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundevenf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundevenf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundevenl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/roundl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalbln.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalblnf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalblnf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalblnf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalblnl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalbn.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalbnf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalbnf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalbnf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/scalbnl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayload.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsig.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsigf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsigf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsigf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/setpayloadsigl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sincos.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sincos_eval.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sincosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sincosf16_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sincosf_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sinf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sinf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sinhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sinhf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sinpif.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sinpif16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sqrt.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sqrtf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sqrtf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sqrtf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/sqrtl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/tan.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/tanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/tanf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/tanhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/tanhf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/tanpif16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalorder.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalorderf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalorderf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalorderf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalorderl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermag.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermagf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermagf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermagf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/totalordermagl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/trunc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/truncf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/truncf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/truncf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/truncl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpx.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpxf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpxf128.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpxf16.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/generic/ufromfpxl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/getpayload.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/getpayloadf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/getpayloadf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/getpayloadf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/getpayloadl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/hypot.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/hypotf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ilogb.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ilogbf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ilogbf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ilogbf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ilogbl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/iscanonical.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/iscanonicalf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/iscanonicalf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/iscanonicalf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/iscanonicall.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/isnan.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/isnanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/isnanl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/issignaling.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/issignalingf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/issignalingf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/issignalingf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/issignalingl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ldexp.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ldexpf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ldexpf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ldexpf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ldexpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lgamma.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lgamma_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llogb.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llogbf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llogbf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llogbf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llogbl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llrint.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llrintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llrintf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llrintf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llrintl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llround.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llroundf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llroundf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llroundf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/llroundl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log10.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log10f.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log10f16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log1p.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log1pf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log2.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log2f.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/log2f16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/logb.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/logbf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/logbf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/logbf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/logbl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/logf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/logf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lrint.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lrintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lrintf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lrintf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lrintl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lround.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lroundf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lroundf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lroundf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/lroundl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/modf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/modff.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/modff128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/modff16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/modfl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nan.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nanf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nanf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nanl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nearbyint.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nearbyintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nearbyintf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nearbyintf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nearbyintl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextafter.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextafterf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextafterf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextafterf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextafterl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextdown.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextdownf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextdownf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextdownf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextdownl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nexttoward.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nexttowardf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nexttowardf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nexttowardl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextup.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextupf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextupf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextupf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nextupl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/acos.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/acosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/acosh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/acoshf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/asin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/asinf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/asinh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/asinhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/atan.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/atan2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/atan2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/atanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/atanh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/atanhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/ceil.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/ceilf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/copysign.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/copysignf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/cos.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/cosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/cosh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/coshf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/declarations.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/erf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/erff.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp10.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp10f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/exp2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/expf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/expm1.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/expm1f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fabs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fabsf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fdim.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fdimf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/floor.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/floorf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmaf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmax.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmaxf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fminf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmod.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/fmodf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/frexp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/frexpf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/hypot.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/hypotf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/ilogb.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/ilogbf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/ldexp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/ldexpf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/lgamma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/lgamma_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/llrint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/llrintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/log.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/log10.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/log10f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/log1p.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/log1pf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/log2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/log2f.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/logb.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/logbf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/logf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/lrint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/lrintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/nearbyint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/nearbyintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/nextafter.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/nextafterf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/nvptx.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/powf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/powi.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/powif.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/remainder.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/remainderf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/remquo.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/remquof.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/rint.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/rintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/round.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/roundf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/scalbn.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/scalbnf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/sin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/sincos.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/sincosf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/sinf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/sinh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/sinhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/sqrt.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/sqrtf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/tan.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/tanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/tanh.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/tanhf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/tgamma.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/tgammaf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/trunc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/nvptx/truncf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/math/pow.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/powf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/powi.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/powif.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remainder.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remainderf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remainderf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remainderf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remainderl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remquo.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remquof.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remquof128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remquof16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/remquol.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/rint.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/rintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/rintf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/rintf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/rintl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/round.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundeven.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundevenf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundevenf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundevenf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundevenl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/roundl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalbln.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalblnf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalblnf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalblnf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalblnl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalbn.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalbnf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalbnf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalbnf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/scalbnl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayload.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadsig.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadsigf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadsigf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadsigf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/setpayloadsigl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sin.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sincos.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sincosf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sinf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sinf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sinh.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sinhf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sinhf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sinpif.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sqrt.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sqrtf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sqrtf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sqrtf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/sqrtl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tan.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tanf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tanh.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tanhf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tanhf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tanpif16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tgamma.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/tgammaf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalorder.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalorderf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalorderf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalorderf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalorderl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalordermag.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalordermagf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalordermagf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalordermagf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/totalordermagl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/trunc.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/truncf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/truncf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/truncf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/truncl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfp.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpl.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpx.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpxf.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpxf128.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpxf16.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/ufromfpxl.h -FILE: ../../../flutter/third_party/llvm_libc/src/poll/linux/poll.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/poll/poll.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_atfork.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_atfork.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getdetachstate.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getdetachstate.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getguardsize.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getguardsize.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getstack.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getstack.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getstacksize.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_getstacksize.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setdetachstate.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setdetachstate.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setguardsize.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setguardsize.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setstack.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setstack.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setstacksize.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_attr_setstacksize.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_getclock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_getclock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_getpshared.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_getpshared.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_setclock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_setclock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_setpshared.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_condattr_setpshared.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_create.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_create.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_detach.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_detach.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_equal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_equal.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_exit.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_getname_np.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_getname_np.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_getspecific.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_getspecific.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_join.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_join.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_key_create.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_key_create.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_key_delete.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_key_delete.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_lock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_lock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_unlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutex_unlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_getpshared.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_getpshared.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_getrobust.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_getrobust.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_gettype.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_gettype.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_setpshared.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_setpshared.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_setrobust.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_setrobust.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_settype.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_mutexattr_settype.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_once.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_once.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_clockrdlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_clockrdlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_clockwrlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_clockwrlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_rdlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_rdlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_timedrdlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_timedrdlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_timedwrlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_timedwrlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_tryrdlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_tryrdlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_trywrlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_trywrlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_unlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_unlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_wrlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlock_wrlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_getkind_np.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_getkind_np.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_getpshared.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_getpshared.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_setkind_np.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_setkind_np.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_setpshared.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_rwlockattr_setpshared.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_self.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_self.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_setname_np.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_setname_np.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_setspecific.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_setspecific.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_lock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_lock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_trylock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_trylock.h -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_unlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/pthread/pthread_spin_unlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_get_priority_max.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_get_priority_min.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getaffinity.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getcpucount.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getcpuisset.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getparam.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_getscheduler.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_rr_get_interval.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setaffinity.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setcpuset.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setcpuzero.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setparam.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_setscheduler.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/linux/sched_yield.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_get_priority_max.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_get_priority_min.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_getaffinity.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_getcpucount.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_getcpuisset.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_getparam.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_getscheduler.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_rr_get_interval.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_setaffinity.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_setcpuset.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_setcpuzero.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_setparam.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_setscheduler.h -FILE: ../../../flutter/third_party/llvm_libc/src/sched/sched_yield.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/hcreate.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/hcreate.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/hcreate_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/hcreate_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/hdestroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/hdestroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/hdestroy_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/hdestroy_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/hsearch.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/hsearch.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/hsearch/global.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/hsearch/global.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/hsearch_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/hsearch_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/insque.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/insque.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/lfind.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/lfind.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/lsearch.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/lsearch.h -FILE: ../../../flutter/third_party/llvm_libc/src/search/remque.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/search/remque.h -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/aarch64/longjmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/aarch64/setjmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/arm/longjmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/arm/setjmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/longjmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/riscv/longjmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/riscv/setjmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/setjmp_impl.h -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/x86_64/longjmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/setjmp/x86_64/setjmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/kill.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/__restore.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/kill.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/raise.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/sigaction.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/sigaddset.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/sigaltstack.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/sigdelset.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/sigemptyset.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/sigfillset.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/signal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/signal_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/linux/sigprocmask.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/signal/raise.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/sigaction.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/sigaddset.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/sigaltstack.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/sigdelset.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/sigemptyset.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/sigfillset.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/signal.h -FILE: ../../../flutter/third_party/llvm_libc/src/signal/sigprocmask.h -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/file_actions.h -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/linux/posix_spawn.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn.h -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_addclose.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_addclose.h -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_adddup2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_adddup2.h -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_addopen.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_addopen.h -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/spawn/posix_spawn_file_actions_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_ceil_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_floor_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_bit_width_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_ones_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_count_zeros_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_one_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_leading_zero_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_one_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_first_trailing_zero_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_has_single_bit_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_ones_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_leading_zeros_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_ones_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_uc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_uc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_ull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_us.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdbit/stdc_trailing_zeros_us.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/abshk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/abshk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/abshr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/abshr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/absk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/absk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/abslk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/abslk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/abslr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/abslr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/absr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/absr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitshk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitshk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitshr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitshr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitslk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitslk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitslr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitslr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuhk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuhk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuhr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuhr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsuk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsulk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsulk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsulr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsulr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsur.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitsur.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/bitusk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlshk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlshk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlshr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlshr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlslk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlslk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlslr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlslr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuhk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuhk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuhr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuhr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsuk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsulk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsulk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsulr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsulr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsur.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/countlsur.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/exphk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/exphk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/expk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/expk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/hkbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/hkbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/hrbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/hrbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/kbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/kbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/lkbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/lkbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/lrbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/lrbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/rbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/rbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundhk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundhk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundhr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundhr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundlk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundlk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundlr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundlr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/rounduhk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/rounduhk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/rounduhr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/rounduhr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/rounduk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/rounduk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundulk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundulk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundulr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundulr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundur.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/roundur.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuhk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuhk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuhr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuhr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtuk.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtulr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtulr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtur.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/sqrtur.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/uhkbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/uhkbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/uhksqrtus.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/uhksqrtus.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/uhrbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/uhrbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/ukbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/ukbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/uksqrtui.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/uksqrtui.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/ulkbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/ulkbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/ulrbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/ulrbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/urbits.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdfix/urbits.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/asprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/asprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/getchar.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/printf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/putchar.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/puts.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/remove.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/baremetal/vprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/clearerr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/clearerr_unlocked.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fclose.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fdopen.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/feof.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/feof_unlocked.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/ferror.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/ferror_unlocked.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fflush.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fgetc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fgetc_unlocked.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fgets.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fileno.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/flockfile.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/flockfile.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fopen.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fopencookie.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fopencookie.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fputc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fputs.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fread.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fread_unlocked.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fscanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fscanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fseek.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fseeko.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/ftell.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/ftello.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/funlockfile.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/funlockfile.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fwrite.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/fwrite_unlocked.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/clearerr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/clearerr_unlocked.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fclose.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/feof.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/feof_unlocked.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/ferror.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/ferror_unlocked.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fflush.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fgetc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fgetc_unlocked.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fgets.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fileno.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fopen.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fputc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fputs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fread.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fread_unlocked.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fseek.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fseeko.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/ftell.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/ftello.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fwrite.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/fwrite_unlocked.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/getc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/getc_unlocked.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/getchar.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/getchar_unlocked.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/printf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/putc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/putchar.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/puts.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/stderr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/stdin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/stdout.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/ungetc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/vfprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/generic/vprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/getc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/getc_unlocked.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/getchar.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/getchar_unlocked.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/clearerr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fclose.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/feof.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/ferror.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fflush.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fgetc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fgets.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/file.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fopen.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fputc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fputs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fread.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fseek.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/ftell.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/fwrite.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/getc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/getchar.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/printf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/putc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/putchar.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/puts.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/remove.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/rename.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/stderr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/stdin.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/stdout.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/ungetc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/vfprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/vfprintf_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/gpu/vprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/linux/fdopen.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/linux/remove.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/linux/rename.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/char_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/converter_atlas.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/converter_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/core_structs.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/fixed_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/float_dec_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/float_dec_converter_limited.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/float_hex_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/float_inf_nan_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/int_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/parser.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/printf_config.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/printf_main.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/ptr_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/strerror_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/string_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/vasprintf_internal.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/vfprintf_internal.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/write_int_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/printf_core/writer.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/putc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/putchar.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/puts.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/remove.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/rename.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/converter_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/core_structs.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/current_pos_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/float_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/int_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/parser.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/ptr_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/reader.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/scanf_config.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/scanf_main.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/string_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/string_reader.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/scanf_core/vfscanf_internal.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/setbuf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/setbuf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/setvbuf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/setvbuf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/snprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/snprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/sprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/sprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/sscanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/sscanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/stderr.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/stdin.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/stdout.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/ungetc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vasprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vasprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vfprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vfscanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vfscanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vscanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vscanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vsnprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vsnprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vsprintf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vsprintf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vsscanf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdio/vsscanf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/_Exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/_Exit.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/a64l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/a64l.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/abort.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/abs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/abs.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/aligned_alloc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/at_quick_exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/at_quick_exit.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atexit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atexit.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atof.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atof.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atoi.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atoi.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atol.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atol.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atoll.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/atoll.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/abort.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/aligned_alloc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/calloc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/free.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/malloc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/baremetal/realloc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/bsearch.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/bsearch.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/calloc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/div.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/div.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/exit.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/exit_handler.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/free.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/getenv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/getenv.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/abort.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/aligned_alloc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/calloc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/free.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/malloc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/realloc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/gpu/system.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/heap_sort.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/l64a.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/l64a.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/labs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/labs.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/ldiv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/ldiv.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/linux/abort.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/llabs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/llabs.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/lldiv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/lldiv.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/malloc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/qsort.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/qsort.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_data.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_pivot.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/qsort_util.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/quick_exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/quick_exit.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/quick_sort.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/rand.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/rand.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/rand_util.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/rand_util.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/realloc.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/srand.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/srand.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/str_from_util.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strfromd.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strfromd.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strfromf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strfromf.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strfroml.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strfroml.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtod.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtod.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtod_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtod_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtof.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtof.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtof_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtof_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtol.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtol.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtol_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtol_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtold.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtold.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtold_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtold_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoll.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoll.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoll_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoll_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoul.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoul_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoul_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoull.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoull.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoull_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/strtoull_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/stdlib/system.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/allocating_string_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memccpy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memccpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memchr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memchr.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memcmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memcpy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memmem.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memmem.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memmove.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memmove.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_bcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_memcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_memcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_memmove.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/aarch64/inline_memset.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/generic/aligned_access.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/generic/builtin.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/generic/byte_per_byte.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_bcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_bzero.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memmem.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memmove.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_memset.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_strcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/inline_strstr.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_aarch64.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_builtin.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_generic.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_riscv.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/op_x86.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_bcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_memcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_memcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_memmove.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/riscv/inline_memset.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_bcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_memcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_memcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_memmove.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memory_utils/x86_64/inline_memset.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/mempcpy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/mempcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memrchr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memrchr.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memset.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memset.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/memset_explicit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/memset_explicit.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/stpcpy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/stpcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/stpncpy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/stpncpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcasestr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcasestr.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcat.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strchr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strchr.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strchrnul.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strchrnul.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcoll.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcoll.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcoll_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcoll_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcpy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcspn.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strcspn.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strdup.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strdup.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strerror.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strerror.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strerror_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strerror_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/string_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strlcat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strlcat.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strlcpy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strlcpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strlen.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strlen.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strncat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strncat.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strncmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strncmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strncpy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strncpy.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strndup.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strndup.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strnlen.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strnlen.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strpbrk.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strpbrk.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strrchr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strrchr.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strsep.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strsep.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strsignal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strsignal.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strspn.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strspn.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strstr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strstr.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strtok.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strtok.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strtok_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strtok_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strxfrm.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strxfrm.h -FILE: ../../../flutter/third_party/llvm_libc/src/string/strxfrm_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/string/strxfrm_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/bcmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/bcmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/bcopy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/bcopy.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/bzero.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/bzero.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/ffs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/ffs.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/ffsl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/ffsl.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/ffsll.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/ffsll.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/index.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/index.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/rindex.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/rindex.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/strcasecmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/strcasecmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/strcasecmp_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/strcasecmp_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/strncasecmp.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/strncasecmp.h -FILE: ../../../flutter/third_party/llvm_libc/src/strings/strncasecmp_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/strings/strncasecmp_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/auxv/getauxval.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/auxv/linux/getauxval.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_create.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_create1.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_ctl.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_pwait.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_pwait2.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/epoll_wait.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_create.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_create1.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_ctl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_pwait.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_pwait2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/epoll/linux/epoll_wait.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/madvise.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mincore.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mlock2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mlockall.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mmap.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mprotect.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/mremap.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/msync.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/munlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/munlockall.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/munmap.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/posix_madvise.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/remap_file_pages.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/shm_common.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/shm_open.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/linux/shm_unlink.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/madvise.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/mincore.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/mlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/mlock2.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/mlockall.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/mmap.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/mprotect.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/mremap.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/msync.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/munlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/munlockall.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/munmap.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/posix_madvise.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/remap_file_pages.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/shm_open.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/mman/shm_unlink.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/prctl/linux/prctl.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/prctl/prctl.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/random/getrandom.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/random/linux/getrandom.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/resource/getrlimit.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/resource/linux/getrlimit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/resource/linux/setrlimit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/resource/setrlimit.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/select/linux/select.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/select/select.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/sendfile/linux/sendfile.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/sendfile/sendfile.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/bind.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/bind.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/recv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/recvfrom.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/recvmsg.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/send.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/sendmsg.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/sendto.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/socket.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/linux/socketpair.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/recv.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/recvfrom.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/recvmsg.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/send.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/sendmsg.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/sendto.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/socket.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/socket/socketpair.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/chmod.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/fchmod.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/fchmodat.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/fstat.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/chmod.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/fchmod.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/fchmodat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/fstat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/kernel_statx.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/lstat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/mkdir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/mkdirat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/linux/stat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/lstat.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/mkdir.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/mkdirat.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/stat/stat.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/statvfs/fstatvfs.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/statvfs/linux/fstatvfs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/statvfs/linux/statfs_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/statvfs/linux/statvfs.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/statvfs/statvfs.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/uio/linux/readv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/uio/linux/writev.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/uio/readv.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/uio/writev.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/utsname/linux/uname.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/utsname/uname.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/wait/linux/wait.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/wait/linux/wait4.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/wait/linux/waitpid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/sys/wait/wait.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/wait/wait4.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/wait/wait4Impl.h -FILE: ../../../flutter/third_party/llvm_libc/src/sys/wait/waitpid.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/cfgetispeed.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/cfgetospeed.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/cfsetispeed.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/cfsetospeed.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/cfgetispeed.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/cfgetospeed.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/cfsetispeed.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/cfsetospeed.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/kernel_termios.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/tcdrain.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/tcflow.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/tcflush.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/tcgetattr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/tcgetsid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/tcsendbreak.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/linux/tcsetattr.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/termios/tcdrain.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/tcflow.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/tcflush.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/tcgetattr.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/tcgetsid.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/tcsendbreak.h -FILE: ../../../flutter/third_party/llvm_libc/src/termios/tcsetattr.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/call_once.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/call_once.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/cnd_broadcast.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/cnd_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/cnd_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/cnd_signal.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/cnd_wait.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/linux/Futex.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_broadcast.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_signal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/linux/cnd_wait.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/mtx_destroy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/mtx_destroy.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/mtx_init.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/mtx_init.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/mtx_lock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/mtx_lock.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/mtx_unlock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/mtx_unlock.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_create.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_create.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_current.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_current.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_detach.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_detach.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_equal.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_equal.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_exit.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_join.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/thrd_join.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/tss_create.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/tss_create.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/tss_delete.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/tss_delete.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/tss_get.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/tss_get.h -FILE: ../../../flutter/third_party/llvm_libc/src/threads/tss_set.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/threads/tss_set.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/asctime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/asctime.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/asctime_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/asctime_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/baremetal/timespec_get.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/clock.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/clock_getres.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/clock_gettime.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/ctime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/ctime.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/ctime_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/ctime_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/difftime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/difftime.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/gettimeofday.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/gmtime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/gmtime.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/gmtime_r.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/gmtime_r.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/gpu/clock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/gpu/clock_gettime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/gpu/nanosleep.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/gpu/timespec_get.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/linux/clock.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/linux/clock_gettime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/linux/gettimeofday.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/linux/nanosleep.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/linux/timespec_get.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/mktime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/mktime.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/nanosleep.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_core/converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_core/core_structs.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_core/parser.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_core/strftime_main.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_l.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_l.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/time.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/time_constants.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/time_func.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/time_utils.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/time/time_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/timespec_get.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/windows/clock_getres.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/_exit.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/_exit.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/access.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/chdir.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/close.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/dup.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/dup2.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/dup3.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/environ.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/environ.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/execv.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/execve.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/fchdir.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/fork.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/fpathconf.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/fsync.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/ftruncate.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/getcwd.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/getentropy.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/geteuid.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/getopt.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/getopt.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/getpid.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/getppid.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/getsid.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/gettid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/gettid.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/getuid.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/isatty.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/link.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linkat.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/access.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/chdir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/close.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/dup.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/dup2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/dup3.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/execv.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/execve.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/fchdir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/fork.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/fpathconf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/fsync.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/ftruncate.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/getcwd.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/getentropy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/geteuid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/getpid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/getppid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/getsid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/getuid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/isatty.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/link.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/linkat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/lseek.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/pathconf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/pathconf_utils.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/pathconf_utils.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/pipe.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/pipe2.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/pread.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/pwrite.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/read.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/readlink.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/readlinkat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/rmdir.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/setsid.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/symlink.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/symlinkat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/syscall.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/sysconf.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/truncate.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/unlink.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/unlinkat.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/linux/write.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/lseek.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/pathconf.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/pipe.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/pipe2.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/pread.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/pwrite.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/read.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/readlink.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/readlinkat.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/rmdir.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/setsid.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/swab.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/swab.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/symlink.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/symlinkat.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/syscall.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/sysconf.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/truncate.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/unlink.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/unlinkat.h -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/windows/getentropy.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/unistd/write.h -FILE: ../../../flutter/third_party/llvm_libc/src/wchar/btowc.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/wchar/btowc.h -FILE: ../../../flutter/third_party/llvm_libc/src/wchar/wcslen.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/wchar/wcslen.h -FILE: ../../../flutter/third_party/llvm_libc/src/wchar/wctob.cpp -FILE: ../../../flutter/third_party/llvm_libc/src/wchar/wctob.h -FILE: ../../../flutter/third_party/llvm_libc/startup/baremetal/fini.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/baremetal/init.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/gpu/amdgpu/start.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/gpu/nvptx/start.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/linux/aarch64/start.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/linux/aarch64/tls.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/linux/do_start.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/linux/do_start.h -FILE: ../../../flutter/third_party/llvm_libc/startup/linux/riscv/start.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/linux/riscv/tls.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/linux/x86_64/start.cpp -FILE: ../../../flutter/third_party/llvm_libc/startup/linux/x86_64/tls.cpp -FILE: ../../../flutter/third_party/llvm_libc/utils/MPCWrapper/MPCUtils.cpp -FILE: ../../../flutter/third_party/llvm_libc/utils/MPCWrapper/MPCUtils.h -FILE: ../../../flutter/third_party/llvm_libc/utils/MPCWrapper/mpc_inc.h -FILE: ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/MPCommon.cpp -FILE: ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/MPCommon.h -FILE: ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/MPFRUtils.cpp -FILE: ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/MPFRUtils.h -FILE: ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/mpfr_inc.h -FILE: ../../../flutter/third_party/llvm_libc/utils/gpu/loader/Loader.h -FILE: ../../../flutter/third_party/llvm_libc/utils/gpu/loader/Main.cpp -FILE: ../../../flutter/third_party/llvm_libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp -FILE: ../../../flutter/third_party/llvm_libc/utils/gpu/loader/nvptx/nvptx-loader.cpp ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. - - ---- LLVM Exceptions to the Apache 2.0 License ---- - -As an exception, if, as a result of your compiling your source code, portions -of this Software are embedded into an Object form of such source code, you -may redistribute such embedded portions in such Object form without complying -with the conditions of Sections 4(a), 4(b) and 4(d) of the License. - -In addition, if you combine or link compiled forms of this Software with -software that is licensed under the GPLv2 ("Combined Software") and if a -court of competent jurisdiction determines that the patent provision (Section -3), the indemnity provision (Section 9) or other Section of the License -conflicts with the conditions of the GPLv2, you may retroactively and -prospectively choose to deem waived or otherwise exclude such Section(s) of -the License, but only in their entirety and only with respect to the Combined -Software. -==================================================================================================== - -==================================================================================================== -LIBRARY: abseil-cpp -ORIGIN: ../../../flutter/third_party/abseil-cpp/LICENSE -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/abseil-cpp/PrivacyInfo.xcprivacy -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc -FILE: ../../../flutter/third_party/abseil-cpp/absl/flags/flag_benchmark.lds -FILE: ../../../flutter/third_party/abseil-cpp/absl/random/gaussian_distribution.cc -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h -FILE: ../../../flutter/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc -FILE: ../../../flutter/third_party/abseil-cpp/patches/0001-Turn-on-hardened-mode.patch -FILE: ../../../flutter/third_party/abseil-cpp/patches/0002-delete-unprefixed-annotations.patch -FILE: ../../../flutter/third_party/abseil-cpp/patches/0003-delete-static-initializer-in-stacktrace.patch -FILE: ../../../flutter/third_party/abseil-cpp/patches/0004-keep-transitive-include.patch -FILE: ../../../flutter/third_party/abseil-cpp/symbols_arm64_dbg.def -FILE: ../../../flutter/third_party/abseil-cpp/symbols_arm64_rel.def -FILE: ../../../flutter/third_party/abseil-cpp/symbols_x64_dbg.def -FILE: ../../../flutter/third_party/abseil-cpp/symbols_x64_rel.def -FILE: ../../../flutter/third_party/abseil-cpp/symbols_x64_rel_asan.def -FILE: ../../../flutter/third_party/abseil-cpp/symbols_x86_dbg.def -FILE: ../../../flutter/third_party/abseil-cpp/symbols_x86_rel.def ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -https://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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. -==================================================================================================== - -==================================================================================================== -LIBRARY: vulkan-validation-layers -ORIGIN: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/inplace_function.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/inplace_function.h ----------------------------------------------------------------------------------------------------- -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libcxx -ORIGIN: ../../../flutter/third_party/libcxx/include/__cxx03/__format/escaped_output_table.h -ORIGIN: ../../../flutter/third_party/libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h -ORIGIN: ../../../flutter/third_party/libcxx/include/__cxx03/__format/indic_conjunct_break_table.h -ORIGIN: ../../../flutter/third_party/libcxx/include/__cxx03/__format/width_estimation_table.h -ORIGIN: ../../../flutter/third_party/libcxx/include/__format/escaped_output_table.h -ORIGIN: ../../../flutter/third_party/libcxx/include/__format/extended_grapheme_cluster_table.h -ORIGIN: ../../../flutter/third_party/libcxx/include/__format/indic_conjunct_break_table.h -ORIGIN: ../../../flutter/third_party/libcxx/include/__format/width_estimation_table.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/escaped_output_table.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/indic_conjunct_break_table.h -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/__format/width_estimation_table.h -FILE: ../../../flutter/third_party/libcxx/include/__format/escaped_output_table.h -FILE: ../../../flutter/third_party/libcxx/include/__format/extended_grapheme_cluster_table.h -FILE: ../../../flutter/third_party/libcxx/include/__format/indic_conjunct_break_table.h -FILE: ../../../flutter/third_party/libcxx/include/__format/width_estimation_table.h ----------------------------------------------------------------------------------------------------- -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1991-2022 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libpng -ORIGIN: ../../../flutter/third_party/libpng/LICENSE -ORIGIN: ../../../flutter/third_party/libpng/png.h -TYPE: LicenseType.libpng -FILE: ../../../flutter/third_party/libpng/.yamllint.yml -FILE: ../../../flutter/third_party/libpng/arm/arm_init.c -FILE: ../../../flutter/third_party/libpng/arm/filter_neon.S -FILE: ../../../flutter/third_party/libpng/arm/filter_neon_intrinsics.c -FILE: ../../../flutter/third_party/libpng/arm/palette_neon_intrinsics.c -FILE: ../../../flutter/third_party/libpng/config.h.in -FILE: ../../../flutter/third_party/libpng/example.c -FILE: ../../../flutter/third_party/libpng/intel/filter_sse2_intrinsics.c -FILE: ../../../flutter/third_party/libpng/intel/intel_init.c -FILE: ../../../flutter/third_party/libpng/libpng.pc.in -FILE: ../../../flutter/third_party/libpng/png.c -FILE: ../../../flutter/third_party/libpng/png.h -FILE: ../../../flutter/third_party/libpng/pngbar.jpg -FILE: ../../../flutter/third_party/libpng/pngbar.png -FILE: ../../../flutter/third_party/libpng/pngconf.h -FILE: ../../../flutter/third_party/libpng/pngdebug.h -FILE: ../../../flutter/third_party/libpng/pngerror.c -FILE: ../../../flutter/third_party/libpng/pngget.c -FILE: ../../../flutter/third_party/libpng/pnginfo.h -FILE: ../../../flutter/third_party/libpng/pnglibconf.h -FILE: ../../../flutter/third_party/libpng/pngmem.c -FILE: ../../../flutter/third_party/libpng/pngnow.png -FILE: ../../../flutter/third_party/libpng/pngpread.c -FILE: ../../../flutter/third_party/libpng/pngprefix.h -FILE: ../../../flutter/third_party/libpng/pngpriv.h -FILE: ../../../flutter/third_party/libpng/pngread.c -FILE: ../../../flutter/third_party/libpng/pngrio.c -FILE: ../../../flutter/third_party/libpng/pngrtran.c -FILE: ../../../flutter/third_party/libpng/pngrutil.c -FILE: ../../../flutter/third_party/libpng/pngset.c -FILE: ../../../flutter/third_party/libpng/pngstruct.h -FILE: ../../../flutter/third_party/libpng/pngtest.c -FILE: ../../../flutter/third_party/libpng/pngtest.png -FILE: ../../../flutter/third_party/libpng/pngtrans.c -FILE: ../../../flutter/third_party/libpng/pngusr.dfa -FILE: ../../../flutter/third_party/libpng/pngwio.c -FILE: ../../../flutter/third_party/libpng/pngwrite.c -FILE: ../../../flutter/third_party/libpng/pngwtran.c -FILE: ../../../flutter/third_party/libpng/pngwutil.c ----------------------------------------------------------------------------------------------------- -COPYRIGHT NOTICE, DISCLAIMER, and LICENSE -========================================= - -PNG Reference Library License version 2 ---------------------------------------- - -* Copyright (c) 1995-2024 The PNG Reference Library Authors. -* Copyright (c) 2018-2024 Cosmin Truta. -* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. -* Copyright (c) 1996-1997 Andreas Dilger. -* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - -The software is supplied "as is", without warranty of any kind, -express or implied, including, without limitation, the warranties -of merchantability, fitness for a particular purpose, title, and -non-infringement. In no event shall the Copyright owners, or -anyone distributing the software, be liable for any damages or -other liability, whether in contract, tort or otherwise, arising -from, out of, or in connection with the software, or the use or -other dealings in the software, even if advised of the possibility -of such damage. - -Permission is hereby granted to use, copy, modify, and distribute -this software, or portions hereof, for any purpose, without fee, -subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you - must not claim that you wrote the original software. If you - use this software in a product, an acknowledgment in the product - documentation would be appreciated, but is not required. - -2. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. - -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - - -PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) ------------------------------------------------------------------------ - -libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are -Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are -derived from libpng-1.0.6, and are distributed according to the same -disclaimer and license as libpng-1.0.6 with the following individuals -added to the list of Contributing Authors: - - Simon-Pierre Cadieux - Eric S. Raymond - Mans Rullgard - Cosmin Truta - Gilles Vollant - James Yu - Mandar Sahastrabuddhe - Google Inc. - Vadim Barkov - -and with the following additions to the disclaimer: - - There is no warranty against interference with your enjoyment of - the library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is - with the user. - -Some files in the "contrib" directory and some configure-generated -files that are distributed with libpng have other copyright owners, and -are released under other open source licenses. - -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from -libpng-0.96, and are distributed according to the same disclaimer and -license as libpng-0.96, with the following individuals added to the -list of Contributing Authors: - - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik - -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, -and are distributed according to the same disclaimer and license as -libpng-0.88, with the following individuals added to the list of -Contributing Authors: - - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner - -Some files in the "scripts" directory have other copyright owners, -but are released under this license. - -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner - -The PNG Reference Library is supplied "AS IS". The Contributing -Authors and Group 42, Inc. disclaim all warranties, expressed or -implied, including, without limitation, the warranties of -merchantability and of fitness for any purpose. The Contributing -Authors and Group 42, Inc. assume no liability for direct, indirect, -incidental, special, exemplary, or consequential damages, which may -result from the use of the PNG Reference Library, even if advised of -the possibility of such damage. - -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - -1. The origin of this source code must not be misrepresented. - -2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - -The Contributing Authors and Group 42, Inc. specifically permit, -without fee, and encourage the use of this source code as a component -to supporting the PNG file format in commercial products. If you use -this source code in a product, acknowledgment is not required but would -be appreciated. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/rdcolmap.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/rdppm.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdcolmap.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdppm.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 1988 by Jef Poskanzer. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided -that the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. This software is provided "as is" without express or -implied warranty. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/wrgif.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrgif.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 1989 by Jef Poskanzer. -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided -that the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. This software is provided "as is" without express or -implied warranty. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1388_P103-2001.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1388_P103-2001.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2001, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1006_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1025_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1047_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1051_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1089_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1097_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1098_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1112_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1122_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1123_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1124_P100-1996.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1125_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1129_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1130_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1131_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1132_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1133_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1140_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1141_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1142_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1143_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1144_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1145_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1146_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1147_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1148_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1149_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1153_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1154_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1156_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1157_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1158_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1160_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1162_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1164_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1250_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1251_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1252_P100-2000.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1253_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1254_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1255_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1256_P110-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1257_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1258_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-12712_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1276_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-16804_X110-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-273_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-277_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-278_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-280_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-284_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-285_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-290_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-297_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-37_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-424_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-437_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-4899_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-4909_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-4971_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-500_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5123_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5346_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5347_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5348_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5349_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5350_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5351_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5352_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5353_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5354_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1006_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1025_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1047_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1051_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1089_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1097_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1098_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1112_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1122_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1123_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1124_P100-1996.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1125_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1129_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1130_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1131_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1132_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1133_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1140_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1141_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1142_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1143_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1144_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1145_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1146_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1147_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1148_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1149_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1153_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1154_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1156_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1157_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1158_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1160_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1162_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1164_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1250_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1251_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1252_P100-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1253_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1254_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1255_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1256_P110-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1257_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1258_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-12712_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1276_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-16804_X110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-273_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-277_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-278_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-280_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-284_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-285_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-290_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-297_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-37_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-424_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-437_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-4899_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-4909_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-4971_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-500_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5123_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5346_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5347_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5348_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5349_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5350_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5351_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5352_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5353_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5354_P100-1998.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2002, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1363_P110-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1363_P11B-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1373_P100-2002.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1390_P110-2003.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1399_P110-2003.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-16684_P110-2003.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5478_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-803_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-813_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-838_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-8482_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-850_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-851_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-852_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-855_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-856_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-857_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-858_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-860_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-861_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-862_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-863_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-865_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-866_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-867_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-868_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-869_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-870_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-871_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-874_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-875_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-878_P100-1996.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-901_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-902_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-912_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-914_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-915_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-916_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-918_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-920_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-921_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-922_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-923_P100-1998.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-9447_P100-2002.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-9449_P100-2002.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1363_P110-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1363_P11B-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1373_P100-2002.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1390_P110-2003.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1399_P110-2003.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-16684_P110-2003.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5478_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-803_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-813_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-838_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-8482_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-850_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-851_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-852_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-855_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-856_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-857_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-858_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-860_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-861_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-862_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-863_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-865_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-866_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-867_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-868_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-869_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-870_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-871_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-874_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-875_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-878_P100-1996.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-901_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-902_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-912_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-914_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-915_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-916_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-918_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-920_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-921_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-922_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-923_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9447_P100-2002.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9449_P100-2002.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2003, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-4517_P100-2005.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-737_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-775_P100-1996.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-9448_X100-2005.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-25546.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-4517_P100-2005.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-737_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-775_P100-1996.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9448_X100-2005.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-25546.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-9067_X100-2005.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9067_X100-2005.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1137_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1168_P100-2002.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1364_P110-2007.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1371_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1383_P110-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1386_P100-2001.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P120-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P12A_P12A-2004_U2.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-420_X120-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5012_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-5471_P100-2006.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-720_P100-1997.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-864_X110-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-9005_X110-2007.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-913_P100-2000.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-930_P120-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-933_P110-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-935_P110-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-937_P110-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-939_P120-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-942_P12A-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-943_P130-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-943_P15A-2003.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-949_P110-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-949_P11A-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-950_P110-1999.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-954_P101-2007.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-970_P110_P110-2006_U2.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-971_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1137_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1168_P100-2002.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1364_P110-2007.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1371_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1383_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1386_P100-2001.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P120-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P12A_P12A-2004_U2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-420_X120-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5012_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5471_P100-2006.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-720_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-864_X110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9005_X110-2007.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-913_P100-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-930_P120-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-933_P110-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-935_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-937_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-939_P120-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-942_P12A-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-943_P130-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-943_P15A-2003.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-949_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-949_P11A-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-950_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-954_P101-2007.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-970_P110_P110-2006_U2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-971_P100-1995.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-964_P110-1999.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-964_P110-1999.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2009, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/lmb-excp.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/lmb-excp.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/euc-jp-2007.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1026_P100-1995.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1155_P100-1999.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/euc-jp-2007.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1026_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1155_P100-1999.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/big5-html.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/convrtrs.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/euc-jp-html.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/shift_jis-html.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/big5-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/convrtrs.txt -FILE: ../../../flutter/third_party/icu/source/data/mappings/euc-jp-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/shift_jis-html.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/euc-kr-html.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/euc-kr-html.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/gzip/zlib.h -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/freetype2/src/gzip/adler32.c -FILE: ../../../flutter/third_party/freetype2/src/gzip/crc32.c -FILE: ../../../flutter/third_party/freetype2/src/gzip/crc32.h -FILE: ../../../flutter/third_party/freetype2/src/gzip/ftzconf.h -FILE: ../../../flutter/third_party/freetype2/src/gzip/gzguts.h -FILE: ../../../flutter/third_party/freetype2/src/gzip/infback.c -FILE: ../../../flutter/third_party/freetype2/src/gzip/inffast.c -FILE: ../../../flutter/third_party/freetype2/src/gzip/inffast.h -FILE: ../../../flutter/third_party/freetype2/src/gzip/inffixed.h -FILE: ../../../flutter/third_party/freetype2/src/gzip/inflate.c -FILE: ../../../flutter/third_party/freetype2/src/gzip/inflate.h -FILE: ../../../flutter/third_party/freetype2/src/gzip/inftrees.c -FILE: ../../../flutter/third_party/freetype2/src/gzip/inftrees.h -FILE: ../../../flutter/third_party/freetype2/src/gzip/patches/freetype-zlib.diff -FILE: ../../../flutter/third_party/freetype2/src/gzip/zlib.h -FILE: ../../../flutter/third_party/freetype2/src/gzip/zutil.c -FILE: ../../../flutter/third_party/freetype2/src/gzip/zutil.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/zlib.h -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/zlib/adler32.c -FILE: ../../../flutter/third_party/zlib/compress.c -FILE: ../../../flutter/third_party/zlib/contrib/optimizations/inffast_chunk.c -FILE: ../../../flutter/third_party/zlib/contrib/optimizations/inffast_chunk.h -FILE: ../../../flutter/third_party/zlib/contrib/optimizations/inflate.c -FILE: ../../../flutter/third_party/zlib/crc32.c -FILE: ../../../flutter/third_party/zlib/crc_folding.c -FILE: ../../../flutter/third_party/zlib/deflate.c -FILE: ../../../flutter/third_party/zlib/deflate.h -FILE: ../../../flutter/third_party/zlib/gzclose.c -FILE: ../../../flutter/third_party/zlib/gzguts.h -FILE: ../../../flutter/third_party/zlib/gzlib.c -FILE: ../../../flutter/third_party/zlib/gzread.c -FILE: ../../../flutter/third_party/zlib/gzwrite.c -FILE: ../../../flutter/third_party/zlib/infback.c -FILE: ../../../flutter/third_party/zlib/inffast.c -FILE: ../../../flutter/third_party/zlib/inffast.h -FILE: ../../../flutter/third_party/zlib/inflate.c -FILE: ../../../flutter/third_party/zlib/inflate.h -FILE: ../../../flutter/third_party/zlib/inftrees.c -FILE: ../../../flutter/third_party/zlib/inftrees.h -FILE: ../../../flutter/third_party/zlib/trees.c -FILE: ../../../flutter/third_party/zlib/uncompr.c -FILE: ../../../flutter/third_party/zlib/zconf.h -FILE: ../../../flutter/third_party/zlib/zconf.h.cmakein -FILE: ../../../flutter/third_party/zlib/zconf.h.in -FILE: ../../../flutter/third_party/zlib/zlib.h -FILE: ../../../flutter/third_party/zlib/zutil.c -FILE: ../../../flutter/third_party/zlib/zutil.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/astro.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/astro.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2008, International Business Machines Corporation * -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/astro.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/astro.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2012, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/sortkey.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/sortkey.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/locmap.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/ctest.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/locmap.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/ctest.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/resbund.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/resbund.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2013, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationcompare.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/ctest.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/collationcompare.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/ctest.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/caniter.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/coleitr.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/coll.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/caniter.h -FILE: ../../../flutter/third_party/icu/source/i18n/coleitr.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/coll.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2014, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/sortkey.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/sortkey.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2014, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ubrk.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/locid.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationcompare.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rulebasedcollator.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucol.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/udat.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unum.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ubrk.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/locid.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationcompare.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rulebasedcollator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucol.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/udat.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unum.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/caniter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ucal.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/caniter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ucal.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ubrk.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/ubrk.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2015, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/locmap.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uchar.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/utypes.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucal.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucol_res.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/coll.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/locmap.cpp -FILE: ../../../flutter/third_party/icu/source/common/uchar.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/utypes.h -FILE: ../../../flutter/third_party/icu/source/i18n/ucal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucol_res.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/coll.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/udat.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/udat.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/tblcoll.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tblcoll.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1996-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ebcdic-xml-us.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/ebcdic-xml-us.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2000, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/jisx-212.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/jisx-212.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2003, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/filestrm.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/filestrm.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/parsepos.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/parsepos.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2005, International Business Machines Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/resbund_cnv.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/umath.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ures_cnv.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/fieldpos.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/resbund_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/umath.cpp -FILE: ../../../flutter/third_party/icu/source/common/ures_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/fieldpos.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/utrans.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/utrans.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2009,2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/urep.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/cns-11643-1992.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/urep.h -FILE: ../../../flutter/third_party/icu/source/data/mappings/cns-11643-1992.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/fmtable_cnv.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/fmtable_cnv.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2010, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/cpputils.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/cstring.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uelement.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uhash_us.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/chariter.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/filestrm.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/cpputils.h -FILE: ../../../flutter/third_party/icu/source/common/cstring.cpp -FILE: ../../../flutter/third_party/icu/source/common/uelement.h -FILE: ../../../flutter/third_party/icu/source/common/uhash_us.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/chariter.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/filestrm.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/format.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/format.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2011, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/utrans.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/utrans.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2011,2014-2015 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/cstring.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/locresdata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ptypes.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nfrlist.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/cstring.h -FILE: ../../../flutter/third_party/icu/source/common/locresdata.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/ptypes.h -FILE: ../../../flutter/third_party/icu/source/i18n/nfrlist.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/format.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/format.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2012, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/mappings.h -ORIGIN: ../../../flutter/third_party/glfw/src/mappings.h.in -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/mappings.h -FILE: ../../../flutter/third_party/glfw/src/mappings.h.in ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2013 Sam Lantinga - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising from the -use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/locavailable.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/mutex.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/resbund.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/choicfmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/locavailable.cpp -FILE: ../../../flutter/third_party/icu/source/common/mutex.h -FILE: ../../../flutter/third_party/icu/source/common/resbund.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/choicfmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/simpletz.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/simpletz.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2013, International Business Machines * -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/simpletz.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/simpletz.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2013, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/choicfmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/choicfmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2013, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/gregocal.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/gregocal.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2013, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/hash.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/putil.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uscript.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/calendar.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/coleitr.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/fmtable.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/hash.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/putil.h -FILE: ../../../flutter/third_party/icu/source/common/uscript.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/calendar.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/coleitr.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/fmtable.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uhash.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/umutex.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/filteredbrk.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utypes.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nfrs.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nfrs.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nfrule.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nfsubs.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nfsubs.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uhash.h -FILE: ../../../flutter/third_party/icu/source/common/umutex.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/filteredbrk.h -FILE: ../../../flutter/third_party/icu/source/common/utypes.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nfrs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nfrs.h -FILE: ../../../flutter/third_party/icu/source/i18n/nfrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nfsubs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nfsubs.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nfrule.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/nfrule.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbnf.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/rbnf.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2015, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/brkiter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/numfmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/brkiter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numfmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/datefmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/datefmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2015, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/rbnf.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/unum.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/rbnf.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unum.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2015, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/cmemory.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/locdispnames.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/locid.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/loclikely.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/putil.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/putilimp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uhash.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uloc.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/umutex.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/brkiter.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/platform.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uchar.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uloc.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ures.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uscript.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/datefmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/dcfmtsym.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/decimfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/dtfmtsym.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/cmemory.h -FILE: ../../../flutter/third_party/icu/source/common/locdispnames.cpp -FILE: ../../../flutter/third_party/icu/source/common/locid.cpp -FILE: ../../../flutter/third_party/icu/source/common/loclikely.cpp -FILE: ../../../flutter/third_party/icu/source/common/putil.cpp -FILE: ../../../flutter/third_party/icu/source/common/putilimp.h -FILE: ../../../flutter/third_party/icu/source/common/uhash.cpp -FILE: ../../../flutter/third_party/icu/source/common/uloc.cpp -FILE: ../../../flutter/third_party/icu/source/common/umutex.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/brkiter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/platform.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uchar.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uloc.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ures.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uscript.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/datefmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dcfmtsym.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/decimfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtfmtsym.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uresbund.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dcfmtsym.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/fmtable.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/gregocal.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/timezone.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/smpdtfmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uresbund.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dcfmtsym.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/fmtable.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/gregocal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/timezone.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/smpdtfmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/calendar.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dtfmtsym.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/smpdtfmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/calendar.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dtfmtsym.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/smpdtfmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2016, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/numfmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/numfmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1997-2016, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvdisp.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnvdisp.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2004, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/contrib/minizip/crypt.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/zlib/contrib/minizip/crypt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2005 Gilles Vollant -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/schriter.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uchriter.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/schriter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uchriter.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/io/uprintf.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/makeconv/ucnvstat.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/io/uprintf.h -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/ucnvstat.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/rbutil.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/genrb/rbutil.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2008, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/io/locbund.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/ufmt_cmn.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/errmsg.c + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/read.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/io/locbund.h -FILE: ../../../flutter/third_party/icu/source/io/ufmt_cmn.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/errmsg.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/read.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/read.c + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/ustr.c + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/ustr.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/genrb/read.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/ustr.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/ustr.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/schriter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uchriter.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/schriter.cpp -FILE: ../../../flutter/third_party/icu/source/common/uchriter.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ustring.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustr_cnv.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucol_imp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/locbund.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/ufile.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/ufmt_cmn.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/uprintf.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/uscanf.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/uscanf.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/parse.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/ustring.h -FILE: ../../../flutter/third_party/icu/source/common/ustr_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucol_imp.h -FILE: ../../../flutter/third_party/icu/source/io/locbund.cpp -FILE: ../../../flutter/third_party/icu/source/io/ufile.h -FILE: ../../../flutter/third_party/icu/source/io/ufmt_cmn.cpp -FILE: ../../../flutter/third_party/icu/source/io/uprintf.cpp -FILE: ../../../flutter/third_party/icu/source/io/uscanf.cpp -FILE: ../../../flutter/third_party/icu/source/io/uscanf.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/parse.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/io/ufile.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/unicode/ustdio.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/parse.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/makeconv/makeconv.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/io/ufile.cpp -FILE: ../../../flutter/third_party/icu/source/io/unicode/ustdio.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/parse.cpp -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/makeconv.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_err.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/unistr.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustring.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/uprntf_p.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/uscanf_p.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/ustdio.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/errmsg.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/genrb.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/prscmnts.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/rbutil.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/ucbuf.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/ucbuf.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_err.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/unistr.h -FILE: ../../../flutter/third_party/icu/source/common/ustring.cpp -FILE: ../../../flutter/third_party/icu/source/io/uprntf_p.cpp -FILE: ../../../flutter/third_party/icu/source/io/uscanf_p.cpp -FILE: ../../../flutter/third_party/icu/source/io/ustdio.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/errmsg.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/genrb.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/prscmnts.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/rbutil.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucbuf.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucbuf.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/extra/uconv/uwmsg.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/extra/uconv/uwmsg.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 1998-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/utf32.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf32.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2001, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/extra/scrptrun/scrptrun.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/extra/scrptrun/scrptrun.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2003, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_cnv.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv_cnv.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2004, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/parseerr.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/parseerr.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_io.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/umisc.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gensprep/gensprep.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv_io.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/umisc.h -FILE: ../../../flutter/third_party/icu/source/tools/gensprep/gensprep.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/dbbi.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/dbbi.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2006,2013 IBM Corp. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/rbt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt_data.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt_set.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_data.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_set.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2007, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/extra/uconv/makedata.mak + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/extra/uconv/makedata.mak ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2008, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucnv_err.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucnv_err.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2009, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/udatamem.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uinvchar.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustr_cnv.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/unewdata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/unewdata.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/udatamem.h -FILE: ../../../flutter/third_party/icu/source/common/uinvchar.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustr_cnv.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/unewdata.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/unewdata.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/unifilt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/unifilt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2010, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/chariter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucmndata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucmndata.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_cnv.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_imp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/udatamem.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/umapfile.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/utf.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unistr_props.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/usc_impl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uvectr32.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/cpdtrans.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/cpdtrans.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt_rule.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt_set.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/chariter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucmndata.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucmndata.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv_cnv.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv_imp.h -FILE: ../../../flutter/third_party/icu/source/common/udatamem.cpp -FILE: ../../../flutter/third_party/icu/source/common/umapfile.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf.h -FILE: ../../../flutter/third_party/icu/source/common/unistr_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/usc_impl.h -FILE: ../../../flutter/third_party/icu/source/common/uvectr32.h -FILE: ../../../flutter/third_party/icu/source/i18n/cpdtrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/cpdtrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_rule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_set.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt_pars.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_pars.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2011, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/utf16.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utf_impl.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/umsg.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf16.h -FILE: ../../../flutter/third_party/icu/source/common/utf_impl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/umsg.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/rep.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/rep.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/umapfile.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ubidi.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/toolutil.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/umapfile.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/ubidi.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/toolutil.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uvector.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uvector.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2013, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbidata.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbidata.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbidata.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbidata.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2014 International Business Machines Corporation * -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unames.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucnv.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/udata.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uniset_props.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unistr_case.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unistr_cnv.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uvectr64.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationweights.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt_data.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gensprep/store.c + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/toolutil.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unames.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucnv.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/udata.h -FILE: ../../../flutter/third_party/icu/source/common/uniset_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_case.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/uvectr64.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationweights.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_data.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gensprep/store.c -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/toolutil.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/translit.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/translit.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_bld.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv_bld.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2015 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ubidi.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ubidiln.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_io.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uinvchar.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/umachine.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/utf8.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uniset.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustr_imp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationweights.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/package.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ubidi.cpp -FILE: ../../../flutter/third_party/icu/source/common/ubidiln.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_io.cpp -FILE: ../../../flutter/third_party/icu/source/common/uinvchar.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/umachine.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf8.h -FILE: ../../../flutter/third_party/icu/source/common/uniset.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustr_imp.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationweights.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/package.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uvectr32.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uvectr64.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uvectr32.cpp -FILE: ../../../flutter/third_party/icu/source/common/uvectr64.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/gencnval/gencnval.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/gencnval/gencnval.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbi.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbi.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016 International Business Machines Corporation -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/rbbi.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/rbbi.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016 International Business Machines Corporation * -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uresdata.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uresdata.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016, International Business Machines - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/norm2_nfc_data.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/propname_data.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ubidi_props_data.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ubidiimp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucase_props_data.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uchar_props_data.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/udata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/usc_impl.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uvector.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfc.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc_cf.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc_scf.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/extra/scrptrun/scrptrun.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/extra/uconv/uconv.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationfcd.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt_pars.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/translit.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genccode/genccode.c + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gencmn/gencmn.c + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/derb.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gentest/gentest.c + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/icuinfo/icuinfo.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/norm2_nfc_data.h -FILE: ../../../flutter/third_party/icu/source/common/propname_data.h -FILE: ../../../flutter/third_party/icu/source/common/ubidi_props_data.h -FILE: ../../../flutter/third_party/icu/source/common/ubidiimp.h -FILE: ../../../flutter/third_party/icu/source/common/ucase_props_data.h -FILE: ../../../flutter/third_party/icu/source/common/uchar_props_data.h -FILE: ../../../flutter/third_party/icu/source/common/udata.cpp -FILE: ../../../flutter/third_party/icu/source/common/usc_impl.cpp -FILE: ../../../flutter/third_party/icu/source/common/uvector.h -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfc.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc_cf.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc_scf.txt -FILE: ../../../flutter/third_party/icu/source/extra/scrptrun/scrptrun.cpp -FILE: ../../../flutter/third_party/icu/source/extra/uconv/uconv.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationfcd.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_pars.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/translit.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genccode/genccode.c -FILE: ../../../flutter/third_party/icu/source/tools/gencmn/gencmn.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/derb.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gentest/gentest.c -FILE: ../../../flutter/third_party/icu/source/tools/icuinfo/icuinfo.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uresdata.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uresdata.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016, International Business Machines Corporation - and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/makedata.mak + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/makedata.mak ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uniset.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/uniset.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unistr.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unistr.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 1999-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/pcf/pcf.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcf.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000, 2001, 2002, 2003, 2006, 2010 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/rle.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/genrb/rle.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/rle.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/genrb/rle.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2003, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/pcf/pcfdrivr.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcfdrivr.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2004, 2006-2011, 2013, 2014 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucnv_cb.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucnv_cb.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2004, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/extra/uconv/unicode/uwmsg.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/extra/uconv/unicode/uwmsg.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2004, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_cb.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv_cb.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/extra/uconv/pkgdata.inc.in + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/extra/uconv/pkgdata.inc.in ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/icupkg.inc.in + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/makeconv/genmbcs.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/icupkg.inc.in -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/genmbcs.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2008, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/makeconv/makeconv.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/uparse.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/makeconv.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/uparse.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucol_data.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uversion.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/uoptions.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucol_data.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uversion.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/uoptions.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ushape.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgtypes.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/uparse.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/ushape.h -FILE: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgtypes.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/uparse.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/gb18030-2022.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/gb18030.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/gb18030-2022.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/gb18030.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2012, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvmbcs.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnvmbcs.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/io/sscanf.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/io/sscanf.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ubidiwrt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvhz.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvlat1.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/reslist.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/reslist.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/wrtjava.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/uoptions.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ubidiwrt.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvhz.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvlat1.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/reslist.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/reslist.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/wrtjava.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/uoptions.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv2022.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_lmb.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvisci.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvmbcs.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvscsu.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uresimp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ushape.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/makeconv/genmbcs.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgdata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgtypes.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv2022.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_lmb.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvisci.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvmbcs.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvscsu.cpp -FILE: ../../../flutter/third_party/icu/source/common/uresimp.h -FILE: ../../../flutter/third_party/icu/source/common/ushape.cpp -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/genmbcs.cpp -FILE: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgdata.cpp -FILE: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgtypes.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/icudefs.mk.in + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/icudefs.mk.in ----------------------------------------------------------------------------------------------------- -Copyright (C) 2000-2016, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/bdf/bdf.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/bdf/bdf.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001, 2002 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/bdf/bdfdrivr.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/bdf/bdfdrivr.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001, 2002, 2003, 2004 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/cwchar.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/cwchar.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/umsg_imp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/stubdata/stubdata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/stubdata/stubdata.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/cwchar.cpp -FILE: ../../../flutter/third_party/icu/source/common/cwchar.h -FILE: ../../../flutter/third_party/icu/source/i18n/umsg_imp.h -FILE: ../../../flutter/third_party/icu/source/stubdata/stubdata.cpp -FILE: ../../../flutter/third_party/icu/source/stubdata/stubdata.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/macos-0_2-10.2.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/macos-29-10.2.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/macos-35-10.2.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/macos-7_3-10.2.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/windows-874-2000.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/windows-949-2000.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/windows-950-2000.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-0_2-10.2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-29-10.2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-35-10.2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-7_3-10.2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-874-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-949-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-950-2000.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2003, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/macos-6_2-10.4.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-6_2-10.4.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/unimatch.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/unimatch.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2005, International Business Machines Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: swiftshader -ORIGIN: ../../../flutter/third_party/swiftshader/include/xcb/xcb.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/swiftshader/include/xcb/xcb.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ustrfmt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustrfmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ustrfmt.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrfmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/windows-936-2000.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/name2uni.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/titletrn.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tolowtrn.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tolowtrn.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/toupptrn.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/toupptrn.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uni2name.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-936-2000.ucm -FILE: ../../../flutter/third_party/icu/source/i18n/name2uni.h -FILE: ../../../flutter/third_party/icu/source/i18n/titletrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/tolowtrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tolowtrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/toupptrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/toupptrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/uni2name.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/bdf/bdfdrivr.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/bdf/bdfdrivr.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2008, 2011, 2013, 2014 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/utrie2_impl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/casetrn.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/utrie2_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/casetrn.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2008, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/search.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/search.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2008,2010 IBM and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nortrans.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/nortrans.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/search.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/search.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2011 IBM and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unormimp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utrie.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/casetrn.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/name2uni.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nortrans.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/titletrn.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uni2name.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unormimp.h -FILE: ../../../flutter/third_party/icu/source/common/utrie.h -FILE: ../../../flutter/third_party/icu/source/i18n/casetrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/name2uni.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nortrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/titletrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uni2name.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/io/ucln_io.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/io/ucln_io.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2011, International Business Machines * - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/quant.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/strmatch.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/quant.h -FILE: ../../../flutter/third_party/icu/source/i18n/strmatch.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2011, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/servloc.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/servloc.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2011, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/serv.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/serv.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2011, International Business Machines Corporation. * -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/usearch.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/usearch.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2011,2014 IBM and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ustr_wcs.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utrie.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/quant.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ustr_wcs.cpp -FILE: ../../../flutter/third_party/icu/source/common/utrie.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/quant.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/servnotf.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/servnotf.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2012, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucln.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucln.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2013, International Business Machines - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/stsearch.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/stsearch.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/stsearch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/stsearch.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2014 IBM and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/io/unicode/ustream.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/io/unicode/ustream.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucln_cmn.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uclean.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucln_cmn.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/uclean.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2014, International Business Machines - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unormcmp.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utrie2.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utrie2.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utrie2_builder.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/bocsu.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/bocsu.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ucoleitr.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/sprintf.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unormcmp.cpp -FILE: ../../../flutter/third_party/icu/source/common/utrie2.cpp -FILE: ../../../flutter/third_party/icu/source/common/utrie2.h -FILE: ../../../flutter/third_party/icu/source/common/utrie2_builder.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/bocsu.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/bocsu.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ucoleitr.h -FILE: ../../../flutter/third_party/icu/source/io/sprintf.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucln_in.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/ucln_io.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/ucln_in.cpp -FILE: ../../../flutter/third_party/icu/source/io/ucln_io.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2014, International Business Machines * - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/servlk.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/servlkf.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/servls.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/servnotf.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/servrbf.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/servslkf.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/servlk.cpp -FILE: ../../../flutter/third_party/icu/source/common/servlkf.cpp -FILE: ../../../flutter/third_party/icu/source/common/servls.cpp -FILE: ../../../flutter/third_party/icu/source/common/servnotf.h -FILE: ../../../flutter/third_party/icu/source/common/servrbf.cpp -FILE: ../../../flutter/third_party/icu/source/common/servslkf.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2014, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/serv.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/serv.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2014, International Business Machines Corporation. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/usearch.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/usrchimp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/usearch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/usrchimp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2015 IBM and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uinit.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uinit.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2015, International Business Machines - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ustrcase.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ustrcase.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucln_cmn.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucln_in.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucln_cmn.h -FILE: ../../../flutter/third_party/icu/source/i18n/ucln_in.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2016, International Business Machines - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ustrtrns.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucoleitr.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/ustream.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ustrtrns.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucoleitr.cpp -FILE: ../../../flutter/third_party/icu/source/io/ustream.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2001-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/punycode.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/punycode.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2003, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/GenericCodeGen/CodeGen.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/GenericCodeGen/Link.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/InfoSink.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/InitializeGlobals.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/ShHandle.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/InfoSink.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/PoolAlloc.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/RemoveTree.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/parseConst.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/Unix/ossource.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/Windows/ossource.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/osinclude.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/GenericCodeGen/CodeGen.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/GenericCodeGen/Link.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/InfoSink.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/InitializeGlobals.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/ShHandle.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/InfoSink.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/PoolAlloc.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/RemoveTree.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/parseConst.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/Unix/ossource.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/Windows/ossource.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/OSDependent/osinclude.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/Common.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/PoolAlloc.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/arrays.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/Common.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/PoolAlloc.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/arrays.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ParseHelper.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ParseHelper.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/SymbolTable.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/SymbolTable.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2018 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/glslang.y -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/glslang.y ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2019 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Constant.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Constant.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2018-2020 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/BaseTypes.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/BaseTypes.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Versions.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Versions.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Copyright (C) 2015-2018 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2024 Valve Corporation. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Versions.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Versions.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Copyright (C) 2015-2020 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ParseHelper.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ParseHelper.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2015 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. -Copyright (C) 2017, 2019 ARM Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2024 Ravi Prakash Singh. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Intermediate.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Intermediate.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2015 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. -Copyright (C) 2017 ARM Limited. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/Types.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/Types.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2016 LunarG, Inc. -Copyright (C) 2015-2016 Google, Inc. -Copyright (C) 2017 ARM Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Initialize.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Initialize.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2016 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Modifications Copyright (C) 2020-2021 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/intermediate.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/intermOut.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/intermediate.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/intermOut.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2016 LunarG, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/ResourceLimits.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/RemoveTree.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Scan.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/ResourceLimits.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/RemoveTree.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Scan.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpAtom.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpAtom.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/SymbolTable.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/SymbolTable.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/Pp.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/Pp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/ConstantUnion.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/ConstantUnion.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpScanner.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpScanner.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2018 Google, Inc. -Copyright (c) 2023, Mobica Limited - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Scan.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Scan.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2020 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/IntermTraverse.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/IntermTraverse.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (c) 2002-2010 The ANGLE Project Authors. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Initialize.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/Initialize.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013-2016 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Public/ShaderLang.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Public/ShaderLang.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013-2016 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ShaderLang.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ShaderLang.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013-2016 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/StandAlone.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/StandAlone.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013-2016 LunarG, Inc. -Copyright (C) 2016-2020 Google, Inc. -Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ParseContextBase.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ParseContextBase.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2016 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/localintermediate.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/localintermediate.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2016 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/DirStackFileIncluder.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/DirStackFileIncluder.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2017 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/locutil.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/locutil.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2005, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uenumimp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uenumimp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbisetb.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbisetb.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2008 International Business Machines Corporation * -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbirb.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbirb.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2008, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/propsvec.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/propsvec.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uiter.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/uiter.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2011 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/propsvec.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/punycode.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uassert.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uset.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uset_props.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/propsvec.cpp -FILE: ../../../flutter/third_party/icu/source/common/punycode.cpp -FILE: ../../../flutter/third_party/icu/source/common/uassert.h -FILE: ../../../flutter/third_party/icu/source/common/uset.cpp -FILE: ../../../flutter/third_party/icu/source/common/uset_props.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbirb.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbirb.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2011, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uenum.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uiter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/strenum.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uobject.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/utf_old.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uobject.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uenum.cpp -FILE: ../../../flutter/third_party/icu/source/common/uiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/strenum.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uobject.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf_old.h -FILE: ../../../flutter/third_party/icu/source/common/uobject.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uenum.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/uenum.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/word_ja.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/word_ja.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2013, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbistbl.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbistbl.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2014 International Business Machines Corporation -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uset.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/uset.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/locutil.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/locutil.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2014, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regeximp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/regeximp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2015 International Business Machines Corporation -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/cmemory.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_u16.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_u32.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/genrb.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/wrtxml.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/cmemory.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_u16.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_u32.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/genrb.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/wrtxml.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/sent.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/sent_el.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/sent.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/sent_el.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2015, International Business Machines Corporation and others. - All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regexcst.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/regexcst.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2015, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbirpt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regexcst.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rematch.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/repattrn.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbirpt.h -FILE: ../../../flutter/third_party/icu/source/i18n/regexcst.h -FILE: ../../../flutter/third_party/icu/source/i18n/rematch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/repattrn.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2016 International Business Machines Corporation -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbinode.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbinode.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2016 International Business Machines Corporation * -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regexcmp.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/regexcmp.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2016 International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_u7.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_u8.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvbocu.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uconfig.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/urename.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uprops.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uprops.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/regex.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genbrk/genbrk.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gendict/gendict.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv_u7.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_u8.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvbocu.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/uconfig.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/urename.h -FILE: ../../../flutter/third_party/icu/source/common/uprops.cpp -FILE: ../../../flutter/third_party/icu/source/common/uprops.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/regex.h -FILE: ../../../flutter/third_party/icu/source/tools/genbrk/genbrk.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gendict/gendict.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/word.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/word_POSIX.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/word_fi_sv.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/word.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/word_POSIX.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/word_fi_sv.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/char.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/char.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2016, International Business Machines Corporation and others. - All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbirpt.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbiscan.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbiscan.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regexcmp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbirpt.txt -FILE: ../../../flutter/third_party/icu/source/common/rbbiscan.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbiscan.h -FILE: ../../../flutter/third_party/icu/source/i18n/regexcmp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2002-2016, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/cecal.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/cecal.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003 - 2008, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/cecal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/cecal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003 - 2009, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/coptccal.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ethpccal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/coptccal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ethpccal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003 - 2013, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/coptccal.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ethpccal.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/coptccal.h -FILE: ../../../flutter/third_party/icu/source/i18n/ethpccal.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003 - 2013, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/parsepos.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/parsepos.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2003, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/gentest/gentest.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/gentest/gentest.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2004, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/sprpimpl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uregexc.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gentest/genres32.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/sprpimpl.h -FILE: ../../../flutter/third_party/icu/source/i18n/uregexc.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gentest/genres32.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_set.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv_set.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/indiancal.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/japancal.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/indiancal.h -FILE: ../../../flutter/third_party/icu/source/i18n/japancal.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2008, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/utracimp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/utracimp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2009, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/japancal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/japancal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2009,2012,2016 International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regexst.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/regexst.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2010, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ustack.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ustack.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/ucmstate.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucmstate.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uarrsort.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uarrsort.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_ext.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/utrace.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/ucm.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/ucm.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uarrsort.cpp -FILE: ../../../flutter/third_party/icu/source/common/uarrsort.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv_ext.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utrace.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucm.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucm.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/buddhcal.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/hebrwcal.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/islamcal.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/persncal.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/persncal.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/taiwncal.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/buddhcal.h -FILE: ../../../flutter/third_party/icu/source/i18n/hebrwcal.h -FILE: ../../../flutter/third_party/icu/source/i18n/islamcal.h -FILE: ../../../flutter/third_party/icu/source/i18n/persncal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/persncal.h -FILE: ../../../flutter/third_party/icu/source/i18n/taiwncal.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2013, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/taiwncal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/taiwncal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2013, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/buddhcal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/buddhcal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2013, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucol_swp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/udataswp.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/udataswp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uidna.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uidna.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/usprep.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utrace.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/genrb/prscmnts.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/icuswap/icuswap.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/makeconv/gencnvex.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucol_swp.h -FILE: ../../../flutter/third_party/icu/source/common/udataswp.cpp -FILE: ../../../flutter/third_party/icu/source/common/udataswp.h -FILE: ../../../flutter/third_party/icu/source/common/uidna.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/uidna.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/usprep.h -FILE: ../../../flutter/third_party/icu/source/common/utrace.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/prscmnts.cpp -FILE: ../../../flutter/third_party/icu/source/tools/icuswap/icuswap.cpp -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/gencnvex.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/indiancal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/indiancal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2014, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucol_swp.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/pkgitems.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucol_swp.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkgitems.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ulocdata.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ulocdata.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2015, International Business Machines * - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/islamcal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/islamcal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2015, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_ext.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/usprep.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gensprep/gensprep.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv_ext.cpp -FILE: ../../../flutter/third_party/icu/source/common/usprep.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gensprep/gensprep.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ulocdata.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/ulocdata.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2016, International Business Machines * - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/hebrwcal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/hebrwcal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2003-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/utmscale.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/utmscale.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004 - 2008, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/xmlparser.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/xmlparser.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/translit/el.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/translit/en.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/translit/el.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/en.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uset_imp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uset_imp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/xmlparser.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/xmlparser.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testtype.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testtype.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucase.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/utext.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucase.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utext.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/utmscale.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/utmscale.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ubidi_props.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ubidi_props.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucase.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ubidi_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/ubidi_props.h -FILE: ../../../flutter/third_party/icu/source/common/ucase.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uregex.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/uregex.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regexst.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/regexst.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2015, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ulocimp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/unidata/changes.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucol_sit.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/uregex.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ulocimp.h -FILE: ../../../flutter/third_party/icu/source/data/unidata/changes.txt -FILE: ../../../flutter/third_party/icu/source/i18n/ucol_sit.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uregex.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2004-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/swapimpl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/swapimpl.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrecog.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/csrecog.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/inputext.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/inputext.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005-2008, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/wintz.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/wintz.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucasemap.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csmatch.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csmatch.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrecog.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrmbcs.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrucode.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrutf8.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/writesrc.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/writesrc.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucasemap.h -FILE: ../../../flutter/third_party/icu/source/i18n/csmatch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csmatch.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrecog.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrmbcs.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrucode.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrutf8.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/writesrc.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/writesrc.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrucode.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ucsdet.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/csrucode.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ucsdet.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrutf8.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/icupkg/icupkg.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/package.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/swapimpl.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/csrutf8.cpp -FILE: ../../../flutter/third_party/icu/source/tools/icupkg/icupkg.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/package.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/swapimpl.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/wintz.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csr2022.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrsbcs.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/windtfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/winnmfmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/wintz.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csr2022.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrsbcs.h -FILE: ../../../flutter/third_party/icu/source/i18n/windtfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/winnmfmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucasemap.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/utext.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csdetect.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csdetect.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csr2022.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrmbcs.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/csrsbcs.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/inputext.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ucsdet.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/windtfmt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/winnmfmt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_imp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucasemap.cpp -FILE: ../../../flutter/third_party/icu/source/common/utext.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csdetect.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csdetect.h -FILE: ../../../flutter/third_party/icu/source/i18n/csr2022.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csrmbcs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csrsbcs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/inputext.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucsdet.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/windtfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/winnmfmt.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_imp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2005-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/localsvc.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/localsvc.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2006 International Business Machines Corporation * -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ubrkimpl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ubrkimpl.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/brkeng.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/brkeng.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2006-2012, International Business Machines Corporation and others. * -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/dictbe.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/dictbe.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2006-2014, International Business Machines Corporation * -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/brkeng.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/dictbe.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/brkeng.cpp -FILE: ../../../flutter/third_party/icu/source/common/dictbe.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2006-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/bmpset.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unisetspan.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/bmpset.h -FILE: ../../../flutter/third_party/icu/source/common/unisetspan.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/msgfmt_impl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/msgfmt_impl.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2008, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/dtrule.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/tztrans.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtrule.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tztrans.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2008, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/tzrule.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tzrule.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2008, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/bmpset.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unisetspan.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/bmpset.cpp -FILE: ../../../flutter/third_party/icu/source/common/unisetspan.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dtrule.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tzrule.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tztrans.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/dtrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tzrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tztrans.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/chnsecal.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/chnsecal.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2013, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/basictz.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbtz.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/basictz.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/msgfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/vtzone.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/basictz.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbtz.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/basictz.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/msgfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/vtzone.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2013, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/rbtz.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/zonemeta.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/rbtz.h -FILE: ../../../flutter/third_party/icu/source/i18n/zonemeta.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2013, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/tzcode/icuzones + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/icuzones ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/chnsecal.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/chnsecal.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2014, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/plurfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/zonemeta.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/plurfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/zonemeta.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2014, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/udatpg.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/udatpg.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/tzcode/icuzdump.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/icuzdump.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dt_impl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dtitv_impl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dtptngen.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dtptngen_impl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/plurrule.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/plurrule_impl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/reldtfmt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/dtptngen.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/vtzone.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/dt_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/dtitv_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/dtptngen.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dtptngen_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/plurrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/plurrule_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/reldtfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtptngen.h -FILE: ../../../flutter/third_party/icu/source/i18n/vtzone.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/reldtfmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/reldtfmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2007-2016, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: swiftshader -ORIGIN: ../../../flutter/third_party/swiftshader/include/Android/android/api-level.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/swiftshader/include/Android/android/api-level.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008 The Android Open Source Project -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tmutamt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/tmutamt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008, Google, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_gencmn.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_gencmn.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/dtintrv.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/dtintrv.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/dtintrv.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/dtintrv.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2009, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/wintzimpl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_genc.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/wintzimpl.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_genc.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnvsel.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucnvsel.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnvsel.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucnvsel.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2011, International Business Machines -Corporation, Google and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_gencmn.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_gencmn.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/icu4j-readme.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/icu4j-readme.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2012, International Business Machines Corporation * -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uspoof_impl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_impl.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2013, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/gender.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/gender.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/gender.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/gender.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2013, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/tmutfmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tmutfmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2014, Google, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tmunit.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/tmunit.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2014, Google, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tmutfmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/tmutfmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2015, Google, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/brktrans.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/brktrans.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uspoof_conf.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_icu.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/brktrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/brktrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_conf.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_icu.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uspoof.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uspoof_build.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_build.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2015, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/plurrule.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/plurrule.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uspoof_conf.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uspoof_impl.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_icu.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_conf.h -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_impl.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_icu.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/uspoof.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uspoof.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dtitvfmt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dtitvinf.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/dtitvfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/dtitvinf.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/dtitvfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dtitvinf.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtitvfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtitvinf.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2008-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/misc/icustd.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/misc/icustd.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/filetools.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/filetools.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/icuinfo/icuplugins_windows_sample.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/icuinfo/icuplugins_windows_sample.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2010 IBM Corporation and Others. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/tmutamt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tmutamt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2010, Google, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ztrans.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/ztrans.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2010, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucln_imp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucln_imp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2011, International Business Machines - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/errorcode.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/icudataver.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/errorcode.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/flagparser.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/errorcode.cpp -FILE: ../../../flutter/third_party/icu/source/common/icudataver.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/errorcode.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/flagparser.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/bytestream.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/bytestream.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/vzone.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/zrule.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/vzone.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/zrule.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2011, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_arm64_neon.S -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_arm64_neon.S ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). -All Rights Reserved. -Author: Siarhei Siamashka -Copyright (C) 2013-2014, Linaro Limited. All Rights Reserved. -Author: Ragesh Radhakrishnan -Copyright (C) 2014-2016, D. R. Commander. All Rights Reserved. -Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. -Copyright (C) 2016, Siarhei Siamashka. All Rights Reserved. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_arm_neon.S -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_arm_neon.S ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). -All Rights Reserved. -Author: Siarhei Siamashka -Copyright (C) 2014, Siarhei Siamashka. All Rights Reserved. -Copyright (C) 2014, Linaro Limited. All Rights Reserved. -Copyright (C) 2015, D. R. Commander. All Rights Reserved. -Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/filterednormalizer2.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P12A_P12A-2009_U2.ucm + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/filterednormalizer2.cpp -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P12A_P12A-2009_U2.ucm ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/bytestream.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/bytestream.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/fpositer.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/fpositer.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/icudataver.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/normalizer2.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/wintzimpl.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/filetools.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/icudataver.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/normalizer2.h -FILE: ../../../flutter/third_party/icu/source/i18n/wintzimpl.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/filetools.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/stringpiece.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/stringpiece.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/stringpiece.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/stringpiece.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/smpdtfst.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/smpdtfst.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/smpdtfst.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/smpdtfst.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2013, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ureslocs.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ureslocs.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/normalizer2impl.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/normalizer2impl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/std_string.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gennorm2/gennorm2.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gennorm2/n2builder.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/normalizer2impl.cpp -FILE: ../../../flutter/third_party/icu/source/common/normalizer2impl.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/std_string.h -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/gennorm2.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/n2builder.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/alphaindex.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/currpinf.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/alphaindex.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/currpinf.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2014, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/icuplug.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/icuplugimp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uloc_tag.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/icuplug.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/unorm2.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/udatpg.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/icuinfo/testplug.c + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/flagparser.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/icuplug.cpp -FILE: ../../../flutter/third_party/icu/source/common/icuplugimp.h -FILE: ../../../flutter/third_party/icu/source/common/uloc_tag.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/icuplug.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/unorm2.h -FILE: ../../../flutter/third_party/icu/source/i18n/udatpg.cpp -FILE: ../../../flutter/third_party/icu/source/tools/icuinfo/testplug.c -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/flagparser.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/fphdlimp.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/plurfmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/fphdlimp.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/plurfmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/fphdlimp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/currpinf.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/fphdlimp.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/currpinf.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2015, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/normalizer2.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ulist.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ulist.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/localpointer.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gencfu/gencfu.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/gennorm2/n2builder.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_genc.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/normalizer2.cpp -FILE: ../../../flutter/third_party/icu/source/common/ulist.cpp -FILE: ../../../flutter/third_party/icu/source/common/ulist.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/localpointer.h -FILE: ../../../flutter/third_party/icu/source/tools/gencfu/gencfu.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/n2builder.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_genc.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/vzone.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/zrule.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ztrans.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/vzone.h -FILE: ../../../flutter/third_party/icu/source/i18n/zrule.h -FILE: ../../../flutter/third_party/icu/source/i18n/ztrans.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/tmunit.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tmunit.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2016, International Business Machines Corporation, * -Google, and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/nounit.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/nounit.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2009-2017, International Business Machines Corporation, * -Google, and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/selfmt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/selfmtimpl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/selfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/umsg.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/selfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/selfmtimpl.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/selfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/umsg.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010 , Yahoo! Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: cpu_features -ORIGIN: ../../../flutter/third_party/cpu_features/src/ndk_compat/cpu-features.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/cpu_features/src/ndk_compat/cpu-features.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010 The Android Open Source Project -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d1.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d2.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d3.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d4.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d5.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d6.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d7.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s1.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s2.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s3.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-t.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/denseranges.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/denseranges.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d1.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d3.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d4.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d5.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d6.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d7.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s1.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s3.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-t.ucm -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/denseranges.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/denseranges.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/bytestrie.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucharstrie.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucharstrieiterator.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/bytestrie.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucharstrie.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucharstrieiterator.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/udateintervalformat.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/udateintervalformat.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/bytestriebuilder.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/bytestrieiterator.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/stringtriebuilder.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucharstriebuilder.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/bytestrie.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/idna.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucharstrie.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ustringtrie.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/fpositer.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/bytestriebuilder.cpp -FILE: ../../../flutter/third_party/icu/source/common/bytestrieiterator.cpp -FILE: ../../../flutter/third_party/icu/source/common/stringtriebuilder.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucharstriebuilder.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/bytestrie.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/idna.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucharstrie.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ustringtrie.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/fpositer.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/upluralrules.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/upluralrules.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/stringtriebuilder.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/stringtriebuilder.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2012,2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/udateintervalformat.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/udateintervalformat.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2012,2015 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ugender.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/upluralrules.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ugender.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/upluralrules.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collation.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationiterator.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationiterator.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/utf16collationiterator.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/utf16collationiterator.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/collation.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationiterator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationiterator.h -FILE: ../../../flutter/third_party/icu/source/i18n/utf16collationiterator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/utf16collationiterator.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/numsys.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/numsys.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2014, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/fmtableimp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/fmtableimp.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2014, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/cldr-icu-readme.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/cldr-icu-readme.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2014, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/charstr.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_ct.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uts46.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collation.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationdata.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/charstr.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_ct.cpp -FILE: ../../../flutter/third_party/icu/source/common/uts46.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collation.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationdata.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/numsys.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/numsys.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/misc/icuver.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/misc/icuver.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2016 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/bytestriebuilder.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucharstriebuilder.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/bytestriebuilder.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucharstriebuilder.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/uldnames.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/uldnames.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/locdspnm.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/locdspnm.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/locdspnm.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/locdspnm.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2010-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-gobject-enums.cc.tmpl -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-gobject-structs.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-gobject.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-gobject-enums.cc.tmpl -FILE: ../../../flutter/third_party/harfbuzz/src/hb-gobject-structs.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-gobject.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: include -ORIGIN: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_clock.hpp -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_clock.hpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011 Nick Bruun -Copyright (C) 2013 Vlad Lazarenko -Copyright (C) 2014 Nicolas Pauss -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/messageimpl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/patternprops.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/patternprops.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucasemap_titlecase_brkiter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uniset_closure.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unistr_case_locale.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unistr_titlecase_brkiter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustr_titlecase_brkiter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustrcase_locale.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/messageimpl.h -FILE: ../../../flutter/third_party/icu/source/common/patternprops.cpp -FILE: ../../../flutter/third_party/icu/source/common/patternprops.h -FILE: ../../../flutter/third_party/icu/source/common/ucasemap_titlecase_brkiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/uniset_closure.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_case_locale.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_titlecase_brkiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustr_titlecase_brkiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrcase_locale.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/appendable.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/messagepattern.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/appendable.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/appendable.cpp -FILE: ../../../flutter/third_party/icu/source/common/messagepattern.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/appendable.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tzgnames.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/tzgnames.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2012, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/translit/el_Upper.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/translit/nl_Title.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/translit/el_Upper.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/nl_Title.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2013, Apple Inc. and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/translit/az_Upper.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/translit/lt_Upper.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/translit/tr_Upper.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/translit/az_Upper.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/lt_Upper.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tr_Upper.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2013, Apple Inc.; Unicode, Inc.; and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/messagepattern.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/ppucd.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/messagepattern.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ppucd.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/alphaindex.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/alphaindex.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/ppucd.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ppucd.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uposixdefs.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uposixdefs.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tzfmt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/tzfmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/tzfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tzfmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tznames.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/tznames.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2015, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tzgnames.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tznames_impl.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tznames_impl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/tznames.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/tzgnames.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tznames_impl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tznames_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tznames.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2011-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ucd.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ucd.cc ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012 Grigori Goronzy - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regeximp.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/regeximp.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012 International Business Machines Corporation -and others. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/enumset.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/enumset.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012,2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationdatabuilder.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationfcd.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationkeys.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationroot.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationroot.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uitercollationiterator.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/utf8collationiterator.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatabuilder.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationfcd.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationkeys.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationroot.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationroot.h -FILE: ../../../flutter/third_party/icu/source/i18n/uitercollationiterator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/utf8collationiterator.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationdata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationdatabuilder.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationkeys.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/collationdata.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatabuilder.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationkeys.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/utypeinfo.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uitercollationiterator.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/compactdecimalformat.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/listformatter.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/utf8collationiterator.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/utypeinfo.h -FILE: ../../../flutter/third_party/icu/source/i18n/uitercollationiterator.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/compactdecimalformat.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/listformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/utf8collationiterator.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: xxhash -ORIGIN: ../../../flutter/third_party/angle/src/common/third_party/xxhash/xxhash.c -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/common/third_party/xxhash/xxhash.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012-2016, Yann Collet - -BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -* Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: xxhash -ORIGIN: ../../../flutter/third_party/angle/src/common/third_party/xxhash/xxhash.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/common/third_party/xxhash/xxhash.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012-2016, Yann Collet. - -BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: vulkan-validation-layers -ORIGIN: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/xxhash.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/xxhash.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2012-2021 Yann Collet - -BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-gobject-enums.h.tmpl -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-gobject-enums.h.tmpl ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/Worklist.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ScanContext.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/limits.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/Worklist.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/ScanContext.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/limits.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/linkValidate.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/linkValidate.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/misc/currencyNumericCodes.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/scriptset.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/misc/currencyNumericCodes.txt -FILE: ../../../flutter/third_party/icu/source/i18n/scriptset.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dangical.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dangical.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/dangical.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dangical.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/region_impl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/region_impl.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unumsys.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unumsys.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_mips_dspr2_asm.h -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_mips_dspr2_asm.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013, MIPS Technologies, Inc., California. -All Rights Reserved. -Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) - Darko Laus (darko.laus@imgtec.com) -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationbuilder.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationbuilder.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationdatawriter.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationrootelements.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationrootelements.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationruleparser.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationsets.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationsets.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationtailoring.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/tzcode/icuregions + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/collationbuilder.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationbuilder.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatawriter.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationrootelements.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationrootelements.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationruleparser.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationsets.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationsets.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationtailoring.h -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/icuregions ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/unumsys.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unumsys.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/sharedbreakiterator.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/sharedbreakiterator.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2014, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/uformattable.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uformattable.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2014, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_mips_dspr2.S -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_mips_dspr2.S ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2014, MIPS Technologies, Inc., California. -All Rights Reserved. -Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) - Darko Laus (darko.laus@imgtec.com) -Copyright (C) 2015, D. R. Commander. All Rights Reserved. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationdatareader.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationdatareader.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationdatawriter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationfastlatin.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationfastlatin.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationfastlatinbuilder.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationruleparser.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationsettings.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationsettings.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationtailoring.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/collationinfo.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/collationinfo.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatareader.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatareader.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatawriter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationfastlatin.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationfastlatin.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationfastlatinbuilder.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationruleparser.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationsettings.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationsettings.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationtailoring.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/collationinfo.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/collationinfo.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/uregion.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/uregion.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2015, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/reflection.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/reflection.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/reflection.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/reflection.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2016 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/uscript_props.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collationfastlatinbuilder.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/listformatter.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/uscript_props.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationfastlatinbuilder.h -FILE: ../../../flutter/third_party/icu/source/i18n/listformatter.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2013-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/lang/an.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/lang/ku.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/lang/tg.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/lang/wa.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/locales/ku.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/locales/tg.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/lang/an.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ku.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/tg.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/wa.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ku.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tg.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/zone/tzdbNames.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/zone/tzdbNames.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GlslangToSpv.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/spvIR.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GlslangToSpv.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/spvIR.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolor-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgray-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctfst-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctint-altivec.c -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolor-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgray-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctfst-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctint-altivec.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014, D. R. Commander. All Rights Reserved. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/dictionarydata.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/loadednormalizer2impl.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/norm2allmodes.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/euc-tw-2014.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/mappings/ibm-1375_P100-2008.ucm + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/scriptset.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/sharedbreakiterator.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/sharedcalendar.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/shareddateformatsymbols.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/sharednumberformat.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/sharedpluralrules.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/dictionarydata.h -FILE: ../../../flutter/third_party/icu/source/common/loadednormalizer2impl.cpp -FILE: ../../../flutter/third_party/icu/source/common/norm2allmodes.h -FILE: ../../../flutter/third_party/icu/source/data/mappings/euc-tw-2014.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1375_P100-2008.ucm -FILE: ../../../flutter/third_party/icu/source/i18n/scriptset.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/sharedbreakiterator.h -FILE: ../../../flutter/third_party/icu/source/i18n/sharedcalendar.h -FILE: ../../../flutter/third_party/icu/source/i18n/shareddateformatsymbols.h -FILE: ../../../flutter/third_party/icu/source/i18n/sharednumberformat.h -FILE: ../../../flutter/third_party/icu/source/i18n/sharedpluralrules.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/uregion.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uregion.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/disassemble.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/disassemble.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/doc.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/disassemble.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/disassemble.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/doc.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2015 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvBuilder.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvBuilder.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2015 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvBuilder.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvBuilder.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2015 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. -Copyright (C) 2017 ARM Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/doc.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/doc.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2015 LunarG, Inc. -Copyright (C) 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctfst-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctint-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquanti-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_altivec.h -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctfst-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctint-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquanti-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_altivec.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolext-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgryext-altivec.c -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolext-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgryext-altivec.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. -Copyright (C) 2014, Jay Foad. All Rights Reserved. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/filteredbrk.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/filteredbrk.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GlslangToSpv.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GlslangToSpv.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2016 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvTools.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvTools.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2016 LunarG, Inc. -Copyright (C) 2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvTools.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvTools.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2016 LunarG, Inc. -Copyright (C) 2018-2020 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/dictionarydata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/simpleformatter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/uloc_keytype.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/simpleformatter.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/quantityformatter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/quantityformatter.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/dictionarydata.cpp -FILE: ../../../flutter/third_party/icu/source/common/simpleformatter.cpp -FILE: ../../../flutter/third_party/icu/source/common/uloc_keytype.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/simpleformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/quantityformatter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/quantityformatter.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/udisplaycontext.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/udisplaycontext.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/reldatefmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/reldatefmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2016, International Business Machines Corporation and -others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/region.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/reldatefmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/region.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/reldatefmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/region.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/region.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014-2016, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SPVRemapper.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SPVRemapper.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/spirv-remap.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SPVRemapper.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SPVRemapper.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/StandAlone/spirv-remap.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: rapidjson -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/schema.h + http://opensource->org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/schema.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/schema.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip-> All rights reserved-> - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: rapidjson -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/allocators.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/allocators.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/document.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/document.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/encodedstream.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/encodedstream.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/encodings.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/encodings.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/error/en.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/error/en.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/error/error.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/error/error.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/filereadstream.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/filereadstream.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/filewritestream.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/filewritestream.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/fwd.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/fwd.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/biginteger.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/biginteger.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/diyfp.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/diyfp.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/dtoa.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/dtoa.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/ieee754.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/ieee754.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/itoa.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/itoa.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/meta.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/meta.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/pow10.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/pow10.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/regex.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/regex.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/stack.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/stack.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/strfunc.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/strfunc.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/strtod.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/strtod.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/swap.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/internal/swap.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/istreamwrapper.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/istreamwrapper.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/memorybuffer.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/memorybuffer.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/memorystream.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/memorystream.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/ostreamwrapper.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/ostreamwrapper.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/pointer.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/pointer.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/prettywriter.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/prettywriter.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/rapidjson.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/rapidjson.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/reader.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/reader.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/stream.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/stream.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/stringbuffer.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/stringbuffer.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/writer.h + http://opensource.org/licenses/MIT referenced by ../../../flutter/third_party/rapidjson/include/rapidjson/writer.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/allocators.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/document.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/encodedstream.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/encodings.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/error/en.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/error/error.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/filereadstream.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/filewritestream.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/fwd.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/biginteger.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/diyfp.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/dtoa.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/ieee754.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/itoa.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/meta.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/pow10.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/regex.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/stack.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/strfunc.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/strtod.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/internal/swap.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/istreamwrapper.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/memorybuffer.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/memorystream.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/ostreamwrapper.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/pointer.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/prettywriter.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/rapidjson.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/reader.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/stream.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/stringbuffer.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/writer.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcsample-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolext-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolor-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmerge-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmrgext-altivec.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdsample-altivec.c -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcsample-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolext-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolor-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmerge-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmrgext-altivec.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdsample-altivec.c ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015, D. R. Commander. All Rights Reserved. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/sharedobject.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/sharedobject.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ufieldpositer.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/ulistformatter.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/ufieldpositer.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ulistformatter.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/standardplural.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/standardplural.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/standardplural.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/standardplural.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/pluralmap.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/pluralmap.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unifiedcache.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unifiedcache.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unistrappender.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/numsys_impl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/pluralmap.cpp -FILE: ../../../flutter/third_party/icu/source/common/pluralmap.h -FILE: ../../../flutter/third_party/icu/source/common/unifiedcache.cpp -FILE: ../../../flutter/third_party/icu/source/common/unifiedcache.h -FILE: ../../../flutter/third_party/icu/source/common/unistrappender.h -FILE: ../../../flutter/third_party/icu/source/i18n/numsys_impl.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/propagateNoContraction.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/propagateNoContraction.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/propagateNoContraction.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/propagateNoContraction.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015-2016 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/cstr.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/resource.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/resource.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/sharedobject.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/cstr.cpp -FILE: ../../../flutter/third_party/icu/source/common/resource.cpp -FILE: ../../../flutter/third_party/icu/source/common/resource.h -FILE: ../../../flutter/third_party/icu/source/common/sharedobject.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ufieldpositer.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ulistformatter.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ufieldpositer.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ulistformatter.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/collunsafe.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/collunsafe.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015-2016, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/parseVersions.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/parseVersions.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2015-2018 Google, Inc. -Copyright (C) 2017 ARM Limited. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/InReadableOrder.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/InReadableOrder.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/Logger.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/Logger.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Public/ResourceLimits.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/ResourceLimits/ResourceLimits.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/BuiltInResource.FromFile.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Config.FromFile.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Initializer.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Link.FromFile.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Pp.FromFile.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Settings.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Settings.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/TestFixture.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/TestFixture.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/main.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/Logger.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/Logger.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Public/ResourceLimits.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/ResourceLimits/ResourceLimits.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/BuiltInResource.FromFile.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Config.FromFile.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Initializer.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Link.FromFile.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Pp.FromFile.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Settings.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Settings.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/TestFixture.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/TestFixture.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/main.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslOpMap.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslOpMap.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslScanContext.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslTokenStream.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslTokenStream.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslOpMap.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslOpMap.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslScanContext.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslTokenStream.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslTokenStream.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Hlsl.FromFile.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Hlsl.FromFile.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 Google, Inc. -Copyright (C) 2016 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslScanContext.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslTokens.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslScanContext.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslTokens.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 Google, Inc. -Copyright (C) 2016 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Spv.FromFile.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Spv.FromFile.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 Google, Inc. -Copyright (C) 2019, 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/AST.FromFile.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/AST.FromFile.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 Google, Inc. -Copyright (C) 2022-2024 Arm Limited. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/locales/an.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/locales/wa.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/locales/an.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/wa.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslParseables.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslParseables.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/LiveTraverser.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/iomapper.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslParseables.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslParseables.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/LiveTraverser.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/iomapper.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Remap.FromFile.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Remap.FromFile.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslAttributes.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslAttributes.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslAttributes.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslAttributes.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/dictionaries/thaidict.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/escapesrc/cptbl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/dictionaries/thaidict.txt -FILE: ../../../flutter/third_party/icu/source/tools/escapesrc/cptbl.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016 and later: Unicode, Inc. and others. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/cstr.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dayperiodrules.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/dayperiodrules.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/cstr.h -FILE: ../../../flutter/third_party/icu/source/i18n/dayperiodrules.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dayperiodrules.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ureldatefmt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ureldatefmt.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Link.FromFile.Vk.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/Link.FromFile.Vk.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016-2017 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/GlslMapIO.FromFile.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/VkRelaxed.FromFile.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/GlslMapIO.FromFile.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/VkRelaxed.FromFile.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016-2017 Google, Inc. -Copyright (C) 2020 The Khronos Group Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/iomapper.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/iomapper.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016-2017 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslParseHelper.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslParseHelper.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016-2018 Google, Inc. -Copyright (C) 2016 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslGrammar.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslGrammar.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslGrammar.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslGrammar.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2016-2018 Google, Inc. -Copyright (C) 2016 LunarG, Inc. -Copyright (C) 2023 Mobica Limited. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/contrib/optimizations/chunkcopy.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/zlib/contrib/optimizations/chunkcopy.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2017 ARM, Inc. -Copyright 2017 The Chromium Authors - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/attribute.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/attribute.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2017 LunarG, Inc. -Copyright (C) 2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/attribute.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/attribute.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2017 LunarG, Inc. -Copyright (C) 2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslParseHelper.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/hlslParseHelper.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2017-2018 Google, Inc. -Copyright (C) 2017 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvPostProcess.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/SpvPostProcess.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2018 Google, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/pch.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/pch.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/pch.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/HLSL/pch.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/pch.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/gtests/pch.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2018 The Khronos Group Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/build_info.h.tmpl -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/standalone.gclient -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/build_info.h.tmpl -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/standalone.gclient ----------------------------------------------------------------------------------------------------- -Copyright (C) 2020 The Khronos Group Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of The Khronos Group Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/visibility.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/span.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/visibility.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/span.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2023 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/stub.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/stub.cpp ----------------------------------------------------------------------------------------------------- -Copyright (C) 2024 The Khronos Group Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3491.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3530cs.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3530csci.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3530mixp.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3722.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3920node.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3920res.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4011.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4013.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4505.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4518.txt -ORIGIN: http://www.ietf.org/rfc/rfc3454.txt referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4518ci.txt -TYPE: LicenseType.ietf -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3491.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530cs.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530csci.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530mixp.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3722.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3920node.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3920res.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4011.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4013.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4505.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4518.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4518ci.txt ----------------------------------------------------------------------------------------------------- -Copyright (C) The Internet Society (2002). All Rights Reserved. - -This document and translations of it may be copied and furnished to -others, and derivative works that comment on or otherwise explain it -or assist in its implementation may be prepared, copied, published -and distributed, in whole or in part, without restriction of any -kind, provided that the above copyright notice and this paragraph are -included on all such copies and derivative works. However, this -document itself may not be modified in any way, such as by removing -the copyright notice or references to the Internet Society or other -Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for -copyrights defined in the Internet Standards process must be -followed, or as required to translate it into languages other than -English. - -The limited permissions granted above are perpetual and will not be -revoked by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an -"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libtess2 -ORIGIN: ../../../flutter/third_party/libtess2/Include/tesselator.h -ORIGIN: ../../../flutter/third_party/libtess2/LICENSE.txt -ORIGIN: ../../../flutter/third_party/libtess2/Source/bucketalloc.c -ORIGIN: ../../../flutter/third_party/libtess2/Source/bucketalloc.h -ORIGIN: ../../../flutter/third_party/libtess2/Source/dict.c -ORIGIN: ../../../flutter/third_party/libtess2/Source/dict.h -ORIGIN: ../../../flutter/third_party/libtess2/Source/geom.c -ORIGIN: ../../../flutter/third_party/libtess2/Source/geom.h -ORIGIN: ../../../flutter/third_party/libtess2/Source/mesh.c -ORIGIN: ../../../flutter/third_party/libtess2/Source/mesh.h -ORIGIN: ../../../flutter/third_party/libtess2/Source/priorityq.c -ORIGIN: ../../../flutter/third_party/libtess2/Source/priorityq.h -ORIGIN: ../../../flutter/third_party/libtess2/Source/sweep.c -ORIGIN: ../../../flutter/third_party/libtess2/Source/sweep.h -ORIGIN: ../../../flutter/third_party/libtess2/Source/tess.c -ORIGIN: ../../../flutter/third_party/libtess2/Source/tess.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/libtess2/Bin/bg.svg -FILE: ../../../flutter/third_party/libtess2/Bin/fg.svg -FILE: ../../../flutter/third_party/libtess2/Include/tesselator.h -FILE: ../../../flutter/third_party/libtess2/Source/bucketalloc.c -FILE: ../../../flutter/third_party/libtess2/Source/bucketalloc.h -FILE: ../../../flutter/third_party/libtess2/Source/dict.c -FILE: ../../../flutter/third_party/libtess2/Source/dict.h -FILE: ../../../flutter/third_party/libtess2/Source/geom.c -FILE: ../../../flutter/third_party/libtess2/Source/geom.h -FILE: ../../../flutter/third_party/libtess2/Source/mesh.c -FILE: ../../../flutter/third_party/libtess2/Source/mesh.h -FILE: ../../../flutter/third_party/libtess2/Source/priorityq.c -FILE: ../../../flutter/third_party/libtess2/Source/priorityq.h -FILE: ../../../flutter/third_party/libtess2/Source/sweep.c -FILE: ../../../flutter/third_party/libtess2/Source/sweep.h -FILE: ../../../flutter/third_party/libtess2/Source/tess.c -FILE: ../../../flutter/third_party/libtess2/Source/tess.h -FILE: ../../../flutter/third_party/libtess2/premake4.lua ----------------------------------------------------------------------------------------------------- -Copyright (C) [dates of first publication] Silicon Graphics, Inc. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice including the dates of first publication and either this -permission notice or a reference to http://oss.sgi.com/projects/FreeB/ shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL SILICON GRAPHICS, INC. -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of Silicon Graphics, Inc. shall not -be used in advertising or otherwise to promote the sale, use or other dealings in -this Software without prior written authorization from Silicon Graphics, Inc. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/rbt_rule.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_rule.h ----------------------------------------------------------------------------------------------------- -Copyright (C) {1999-2001}, International Business Machines Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/tjunittest.c -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libjpeg-turbo/src/tjunittest.c ----------------------------------------------------------------------------------------------------- -Copyright (C)2009-2014 D. R. Commander. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg.h ----------------------------------------------------------------------------------------------------- -Copyright (C)2009-2015 D. R. Commander. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/tjbench.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg.c -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libjpeg-turbo/src/tjbench.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg.c ----------------------------------------------------------------------------------------------------- -Copyright (C)2009-2016 D. R. Commander. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/bmp.h -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/jcstest.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/tjutil.c -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/tjutil.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libjpeg-turbo/src/bmp.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcstest.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/tjutil.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/tjutil.h ----------------------------------------------------------------------------------------------------- -Copyright (C)2011 D. R. Commander. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/bmp.c -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libjpeg-turbo/src/bmp.c ----------------------------------------------------------------------------------------------------- -Copyright (C)2011, 2015 D. R. Commander. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg-jni.c -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg-jni.c ----------------------------------------------------------------------------------------------------- -Copyright (C)2011-2016 D. R. Commander. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/normlzr.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/normlzr.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 1996-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unorm.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unorm.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 1996-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/normlzr.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/normlzr.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1996-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/ucol.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ucol.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1996-2015, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/unorm.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/unorm.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1996-2016, International Business Machines Corporation - and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucnv_bld.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucnv_bld.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 1996-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/expat_external.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/expat_external.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2000-2004 Fred L. Drake, Jr. -Copyright (c) 2001-2002 Greg Stein -Copyright (c) 2002-2006 Karl Waclawek -Copyright (c) 2016 Cristian Rodríguez -Copyright (c) 2016-2019 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2018 Yury Gribov - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/expat.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/expat.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2000-2005 Fred L. Drake, Jr. -Copyright (c) 2001-2002 Greg Stein -Copyright (c) 2002-2016 Karl Waclawek -Copyright (c) 2016-2025 Sebastian Pipping -Copyright (c) 2016 Cristian Rodríguez -Copyright (c) 2016 Thomas Beutlich -Copyright (c) 2017 Rhodri James -Copyright (c) 2022 Thijs Schreijer -Copyright (c) 2023 Hanno Böck -Copyright (c) 2023 Sony Corporation / Snild Dolkow -Copyright (c) 2024 Taichi Haradaguchi <20001722@ymail.ne.jp> - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/xmlparse.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/xmlparse.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2000-2006 Fred L. Drake, Jr. -Copyright (c) 2001-2002 Greg Stein -Copyright (c) 2002-2016 Karl Waclawek -Copyright (c) 2005-2009 Steven Solie -Copyright (c) 2016 Eric Rahm -Copyright (c) 2016-2025 Sebastian Pipping -Copyright (c) 2016 Gaurav -Copyright (c) 2016 Thomas Beutlich -Copyright (c) 2016 Gustavo Grieco -Copyright (c) 2016 Pascal Cuoq -Copyright (c) 2016 Ed Schouten -Copyright (c) 2017-2022 Rhodri James -Copyright (c) 2017 Václav Slavík -Copyright (c) 2017 Viktor Szakats -Copyright (c) 2017 Chanho Park -Copyright (c) 2017 Rolf Eike Beer -Copyright (c) 2017 Hans Wennborg -Copyright (c) 2018 Anton Maklakov -Copyright (c) 2018 Benjamin Peterson -Copyright (c) 2018 Marco Maggi -Copyright (c) 2018 Mariusz Zaborski -Copyright (c) 2019 David Loffredo -Copyright (c) 2019-2020 Ben Wagner -Copyright (c) 2019 Vadim Zeitlin -Copyright (c) 2021 Donghee Na -Copyright (c) 2022 Samanta Navarro -Copyright (c) 2022 Jeffrey Walton -Copyright (c) 2022 Jann Horn -Copyright (c) 2022 Sean McBride -Copyright (c) 2023 Owain Davies -Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow -Copyright (c) 2024-2025 Berkay Eren Ürün -Copyright (c) 2024 Hanno Böck - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/unixfilemap.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/unixfilemap.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2002 Fred L. Drake, Jr. -Copyright (c) 2006 Karl Waclawek -Copyright (c) 2016-2017 Sebastian Pipping -Copyright (c) 2017 Rhodri James - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/xmltok.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/xmltok.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2003 Fred L. Drake, Jr. -Copyright (c) 2002 Greg Stein -Copyright (c) 2002-2016 Karl Waclawek -Copyright (c) 2005-2009 Steven Solie -Copyright (c) 2016-2024 Sebastian Pipping -Copyright (c) 2016 Pascal Cuoq -Copyright (c) 2016 Don Lewis -Copyright (c) 2017 Rhodri James -Copyright (c) 2017 Alexander Bluhm -Copyright (c) 2017 Benbuck Nason -Copyright (c) 2017 José Gutiérrez de la Concha -Copyright (c) 2019 David Loffredo -Copyright (c) 2021 Donghee Na -Copyright (c) 2022 Martin Ettl -Copyright (c) 2022 Sean McBride -Copyright (c) 2023 Hanno Böck - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/xmlwf.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/xmlwf.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2003 Fred L. Drake, Jr. -Copyright (c) 2004-2009 Karl Waclawek -Copyright (c) 2005-2007 Steven Solie -Copyright (c) 2016-2023 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2019 David Loffredo -Copyright (c) 2020 Joe Orton -Copyright (c) 2020 Kleber Tarcísio -Copyright (c) 2021 Tim Bray -Copyright (c) 2022 Martin Ettl -Copyright (c) 2022 Sean McBride - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/readfilemap.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/readfilemap.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2004 Fred L. Drake, Jr. -Copyright (c) 2002-2009 Karl Waclawek -Copyright (c) 2016-2017 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2017 Franek Korta -Copyright (c) 2022 Sean McBride -Copyright (c) 2025 Hanno Böck - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/xmltok.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/xmltok.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2002-2005 Karl Waclawek -Copyright (c) 2016-2024 Sebastian Pipping -Copyright (c) 2017 Rhodri James - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/xmltok_impl.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/xmltok_impl.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2002-2016 Karl Waclawek -Copyright (c) 2016-2022 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2018 Benjamin Peterson -Copyright (c) 2018 Anton Maklakov -Copyright (c) 2019 David Loffredo -Copyright (c) 2020 Boris Kolpackov -Copyright (c) 2022 Martin Ettl - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/xmlfile.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/xmlfile.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2005 Karl Waclawek -Copyright (c) 2016-2023 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/codepage.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/codepage.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2005-2006 Karl Waclawek -Copyright (c) 2016-2019 Sebastian Pipping -Copyright (c) 2019 David Loffredo - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/codepage.h -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/filemap.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/codepage.h -FILE: ../../../flutter/third_party/expat/expat/xmlwf/filemap.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2017 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/win32filemap.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/win32filemap.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2022 Sebastian Pipping -Copyright (c) 2022 Martin Ettl - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/gennmtab/gennmtab.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/gennmtab/gennmtab.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2024 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/asciitab.h -ORIGIN: ../../../flutter/third_party/expat/expat/lib/iasciitab.h -ORIGIN: ../../../flutter/third_party/expat/expat/lib/latin1tab.h -ORIGIN: ../../../flutter/third_party/expat/expat/lib/utf8tab.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/asciitab.h -FILE: ../../../flutter/third_party/expat/expat/lib/iasciitab.h -FILE: ../../../flutter/third_party/expat/expat/lib/latin1tab.h -FILE: ../../../flutter/third_party/expat/expat/lib/utf8tab.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2017 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/xmltok_ns.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/xmltok_ns.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Greg Stein -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2002-2006 Karl Waclawek -Copyright (c) 2017-2021 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/xmlrole.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/xmlrole.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Greg Stein -Copyright (c) 2002-2006 Karl Waclawek -Copyright (c) 2002-2003 Fred L. Drake, Jr. -Copyright (c) 2005-2009 Steven Solie -Copyright (c) 2016-2023 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2019 David Loffredo -Copyright (c) 2021 Donghee Na - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/xmlrole.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/xmlrole.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Karl Waclawek -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2017-2024 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/xmlfile.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/xmlfile.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002-2003 Fred L. Drake, Jr. -Copyright (c) 2004-2006 Karl Waclawek -Copyright (c) 2005-2007 Steven Solie -Copyright (c) 2016-2023 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2019 David Loffredo -Copyright (c) 2021 Donghee Na -Copyright (c) 2024 Hanno Böck - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/xmltok_impl.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/xmltok_impl.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2017-2019 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/ct.c -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/xmlmime.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/ct.c -FILE: ../../../flutter/third_party/expat/expat/xmlwf/xmlmime.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2017 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/xmlmime.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/xmlmime.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2018 Sebastian Pipping -Copyright (c) 2018 Marco Maggi - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/xmlwf/xmltchar.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/xmlwf/xmltchar.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2016-2021 Sebastian Pipping -Copyright (c) 2017 Rhodri James - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/selfmtimpl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/selfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/umsg.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/selfmtimpl.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/selfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/umsg.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2011, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/utimer.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/utimer.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/docmain.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/selfmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/docmain.h -FILE: ../../../flutter/third_party/icu/source/i18n/selfmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/msgfmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/msgfmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/timezone.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/timezone.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1997-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/COPYING -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/expat.pc.in -FILE: ../../../flutter/third_party/expat/expat/lib/siphash.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper -Copyright (c) 2001-2025 Expat maintainers - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/ascii.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/ascii.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 1999-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2007 Karl Waclawek -Copyright (c) 2017 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/gencolusb/verify_uset.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/gencolusb/verify_uset.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 1999-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/gencolusb/extract_unsafe_backwards.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/gencolusb/extract_unsafe_backwards.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 1999-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/winconfig.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/winconfig.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Greg Stein -Copyright (c) 2005 Karl Waclawek -Copyright (c) 2017-2023 Sebastian Pipping -Copyright (c) 2023 Orgad Shaneh - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/nametab.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/nametab.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2000 Clark Cooper -Copyright (c) 2017 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/extra/uconv/resources/fr.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/extra/uconv/resources/root.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/extra/uconv/resources/fr.txt -FILE: ../../../flutter/third_party/icu/source/extra/uconv/resources/root.txt ----------------------------------------------------------------------------------------------------- -Copyright (c) 2000-2004 IBM, Inc. and Others. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/symtable.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nultrans.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/symtable.h -FILE: ../../../flutter/third_party/icu/source/i18n/nultrans.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2000-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/nultrans.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/nultrans.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2000-2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbisetb.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbisetb.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/esctrn.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/remtrans.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unesctrn.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/esctrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/remtrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/unesctrn.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2007, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/common.rc + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/misc/icudata.rc + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/i18n.rc + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/io/io.rc + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/common.rc -FILE: ../../../flutter/third_party/icu/source/data/misc/icudata.rc -FILE: ../../../flutter/third_party/icu/source/i18n/i18n.rc -FILE: ../../../flutter/third_party/icu/source/io/io.rc ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2010 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/util.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/util.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/esctrn.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/remtrans.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unesctrn.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/util.cpp -FILE: ../../../flutter/third_party/icu/source/common/util.h -FILE: ../../../flutter/third_party/icu/source/i18n/esctrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/remtrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unesctrn.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unifilt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unifilt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/strmatch.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/strmatch.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2012, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/transreg.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/transreg.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/transreg.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/transreg.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/charstr.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/charstr.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/util_props.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/util_props.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbinode.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbinode.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2001-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/util/rune.cc -ORIGIN: ../../../flutter/third_party/re2/util/utf.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/re2/util/rune.cc -FILE: ../../../flutter/third_party/re2/util/utf.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002 by Lucent Technologies. -Permission to use, copy, modify, and distribute this software for any -purpose without fee is hereby granted, provided that this entire notice -is included in all copies of any software which is or includes a copy -or modification of this software and in all copies of the supporting -documentation for such software. -THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED -WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY -REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY -OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/Pp.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpAtom.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpScanner.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/Pp.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpAtom.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpContext.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpScanner.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/preprocessor/PpTokens.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002, NVIDIA Corporation. - -NVIDIA Corporation("NVIDIA") supplies this software to you in -consideration of your agreement to the following terms, and your use, -installation, modification or redistribution of this NVIDIA software -constitutes acceptance of these terms. If you do not agree with these -terms, please do not use, install, modify or redistribute this NVIDIA -software. - -In consideration of your agreement to abide by the following terms, and -subject to these terms, NVIDIA grants you a personal, non-exclusive -license, under NVIDIA's copyrights in this original NVIDIA software (the -"NVIDIA Software"), to use, reproduce, modify and redistribute the -NVIDIA Software, with or without modifications, in source and/or binary -forms; provided that if you redistribute the NVIDIA Software, you must -retain the copyright notice of NVIDIA, this notice and the following -text and disclaimers in all such redistributions of the NVIDIA Software. -Neither the name, trademarks, service marks nor logos of NVIDIA -Corporation may be used to endorse or promote products derived from the -NVIDIA Software without specific prior written permission from NVIDIA. -Except as expressly stated in this notice, no other rights or licenses -express or implied, are granted by NVIDIA herein, including but not -limited to any patent rights that may be infringed by your derivative -works or by other works in which the NVIDIA Software may be -incorporated. No hardware is licensed hereunder. - -THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, -INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR -ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER -PRODUCTS. - -IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, -INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY -OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE -NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, -TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF -NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/lib/internal.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/lib/internal.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2003 Fred L. Drake, Jr. -Copyright (c) 2002-2006 Karl Waclawek -Copyright (c) 2003 Greg Stein -Copyright (c) 2016-2025 Sebastian Pipping -Copyright (c) 2018 Yury Gribov -Copyright (c) 2019 David Loffredo -Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow -Copyright (c) 2024 Taichi Haradaguchi <20001722@ymail.ne.jp> - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unifunct.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unifunct.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2004, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/unifunct.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/unirepl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/unifunct.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unirepl.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2005, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/testdata.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/tstdtmod.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/testdata.cpp -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/tstdtmod.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2005, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/LICENSE.md -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/glfw.rc.in ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2006 Marcus Geelnard - -Copyright (c) 2006-2019 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/context.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/context.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2016 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/linux_joystick.c -ORIGIN: ../../../flutter/third_party/glfw/src/posix_thread.c -ORIGIN: ../../../flutter/third_party/glfw/src/posix_thread.h -ORIGIN: ../../../flutter/third_party/glfw/src/posix_time.c -ORIGIN: ../../../flutter/third_party/glfw/src/posix_time.h -ORIGIN: ../../../flutter/third_party/glfw/src/win32_thread.c -ORIGIN: ../../../flutter/third_party/glfw/src/win32_thread.h -ORIGIN: ../../../flutter/third_party/glfw/src/win32_time.c -ORIGIN: ../../../flutter/third_party/glfw/src/win32_time.h -ORIGIN: ../../../flutter/third_party/glfw/src/xkb_unicode.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/linux_joystick.c -FILE: ../../../flutter/third_party/glfw/src/posix_thread.c -FILE: ../../../flutter/third_party/glfw/src/posix_thread.h -FILE: ../../../flutter/third_party/glfw/src/posix_time.c -FILE: ../../../flutter/third_party/glfw/src/posix_time.h -FILE: ../../../flutter/third_party/glfw/src/win32_thread.c -FILE: ../../../flutter/third_party/glfw/src/win32_thread.h -FILE: ../../../flutter/third_party/glfw/src/win32_time.c -FILE: ../../../flutter/third_party/glfw/src/win32_time.h -FILE: ../../../flutter/third_party/glfw/src/xkb_unicode.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2017 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/include/GLFW/glfw3native.h -ORIGIN: ../../../flutter/third_party/glfw/src/init.c -ORIGIN: ../../../flutter/third_party/glfw/src/platform.c -ORIGIN: ../../../flutter/third_party/glfw/src/platform.h -ORIGIN: ../../../flutter/third_party/glfw/src/vulkan.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/include/GLFW/glfw3native.h -FILE: ../../../flutter/third_party/glfw/src/init.c -FILE: ../../../flutter/third_party/glfw/src/platform.c -FILE: ../../../flutter/third_party/glfw/src/platform.h -FILE: ../../../flutter/third_party/glfw/src/vulkan.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2018 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/include/GLFW/glfw3.h -ORIGIN: ../../../flutter/third_party/glfw/src/cocoa_monitor.m -ORIGIN: ../../../flutter/third_party/glfw/src/egl_context.c -ORIGIN: ../../../flutter/third_party/glfw/src/glx_context.c -ORIGIN: ../../../flutter/third_party/glfw/src/input.c -ORIGIN: ../../../flutter/third_party/glfw/src/internal.h -ORIGIN: ../../../flutter/third_party/glfw/src/monitor.c -ORIGIN: ../../../flutter/third_party/glfw/src/wgl_context.c -ORIGIN: ../../../flutter/third_party/glfw/src/win32_init.c -ORIGIN: ../../../flutter/third_party/glfw/src/win32_joystick.c -ORIGIN: ../../../flutter/third_party/glfw/src/win32_monitor.c -ORIGIN: ../../../flutter/third_party/glfw/src/win32_platform.h -ORIGIN: ../../../flutter/third_party/glfw/src/win32_window.c -ORIGIN: ../../../flutter/third_party/glfw/src/x11_init.c -ORIGIN: ../../../flutter/third_party/glfw/src/x11_monitor.c -ORIGIN: ../../../flutter/third_party/glfw/src/x11_platform.h -ORIGIN: ../../../flutter/third_party/glfw/src/x11_window.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/include/GLFW/glfw3.h -FILE: ../../../flutter/third_party/glfw/src/cocoa_monitor.m -FILE: ../../../flutter/third_party/glfw/src/egl_context.c -FILE: ../../../flutter/third_party/glfw/src/glx_context.c -FILE: ../../../flutter/third_party/glfw/src/input.c -FILE: ../../../flutter/third_party/glfw/src/internal.h -FILE: ../../../flutter/third_party/glfw/src/monitor.c -FILE: ../../../flutter/third_party/glfw/src/wgl_context.c -FILE: ../../../flutter/third_party/glfw/src/win32_init.c -FILE: ../../../flutter/third_party/glfw/src/win32_joystick.c -FILE: ../../../flutter/third_party/glfw/src/win32_monitor.c -FILE: ../../../flutter/third_party/glfw/src/win32_platform.h -FILE: ../../../flutter/third_party/glfw/src/win32_window.c -FILE: ../../../flutter/third_party/glfw/src/x11_init.c -FILE: ../../../flutter/third_party/glfw/src/x11_monitor.c -FILE: ../../../flutter/third_party/glfw/src/x11_platform.h -FILE: ../../../flutter/third_party/glfw/src/x11_window.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2019 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/window.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/window.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2019 Camilla Löwy -Copyright (c) 2012 Torsten Walluhn - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/usetiter.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/usetiter.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/datamap.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/datamap.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testdata.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/datamap.cpp -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/datamap.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testdata.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2006, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/anytrans.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/anytrans.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2007, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tridpars.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/tridpars.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2010, International Business Machines Corporation * -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/propname.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/propname.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/funcrepl.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/strrepl.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/funcrepl.h -FILE: ../../../flutter/third_party/icu/source/i18n/strrepl.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2011, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/funcrepl.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/strrepl.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/funcrepl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/strrepl.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2012, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/uperf.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/uperf.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/propname.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/usetiter.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustrenum.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ustrenum.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/uperf.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/propname.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/usetiter.h -FILE: ../../../flutter/third_party/icu/source/common/ustrenum.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrenum.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/uperf.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/anytrans.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/tridpars.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/anytrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tridpars.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2014, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/tstdtmod.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/tstdtmod.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2014, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/title.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/title.txt ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/line.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_cj.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose_cj.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal_cj.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_cj.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose_cj.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal_cj.txt ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2016 International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbitblb.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/rbbitblb.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucurr.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ucurrimp.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucurr.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/rbbitblb.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbitblb.h -FILE: ../../../flutter/third_party/icu/source/common/ucurr.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucurrimp.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucurr.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2002-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ucat.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ucat.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2003, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/ucat.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucat.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2003-2004, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/gregoimp.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/gregoimp.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/gregoimp.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/gregoimp.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2003-2008, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/msvcres.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/msvcres.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2003-2010 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/ruleiter.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/ruleiter.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/ruleiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ruleiter.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2003-2011, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/olsontz.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/olsontz.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/tools/tzcode/tz2icu.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/olsontz.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/olsontz.h -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/tz2icu.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2003-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/tzcode/tz2icu.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/tz2icu.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2003-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/curramt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/curramt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2004, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/curramt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/curramt.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2004-2006, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testlog.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testlog.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2004-2010, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/currfmt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/currfmt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2004-2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/locbased.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/locbased.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/currfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/currunit.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/measure.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/currunit.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/locbased.cpp -FILE: ../../../flutter/third_party/icu/source/common/locbased.h -FILE: ../../../flutter/third_party/icu/source/i18n/currfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/currunit.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/measure.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/currunit.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2004-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/measure.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/measure.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2004-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/Doxyfile.in + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/Doxyfile.in ----------------------------------------------------------------------------------------------------- -Copyright (c) 2004-2015, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/measfmt.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/measunit.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/measfmt.h + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/measunit.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/measfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/measunit.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/measfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/measunit.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2004-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: rapidjson -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2006-2013 Alexander Chemeris - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the product nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/cocoa_joystick.h -ORIGIN: ../../../flutter/third_party/glfw/src/null_joystick.h -ORIGIN: ../../../flutter/third_party/glfw/src/win32_joystick.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/cocoa_joystick.h -FILE: ../../../flutter/third_party/glfw/src/null_joystick.h -FILE: ../../../flutter/third_party/glfw/src/win32_joystick.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2006-2017 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/mappings.h -ORIGIN: ../../../flutter/third_party/glfw/src/mappings.h.in -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/mappings.h -FILE: ../../../flutter/third_party/glfw/src/mappings.h.in ----------------------------------------------------------------------------------------------------- -Copyright (c) 2006-2018 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/dbgutil.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/dbgutil.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2007-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/dbgutil.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/dbgutil.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2007-2012, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/ctestfw/ucln_ct.c + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/ucln_ct.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2007-2013, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/ucln_tu.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucln_tu.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2007-2014, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/udbgutil.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/udbgutil.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2007-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: llvm_libc -ORIGIN: ../../../flutter/third_party/llvm_libc/LICENSE.TXT -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/llvm_libc/config/baremetal/aarch64/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/baremetal/aarch64/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/baremetal/arm/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/baremetal/arm/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/baremetal/config.json -FILE: ../../../flutter/third_party/llvm_libc/config/baremetal/riscv/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/baremetal/riscv/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/config.json -FILE: ../../../flutter/third_party/llvm_libc/config/darwin/arm/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/darwin/arm/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/darwin/x86_64/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/darwin/x86_64/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/gpu/amdgpu/config.json -FILE: ../../../flutter/third_party/llvm_libc/config/gpu/amdgpu/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/gpu/amdgpu/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/gpu/nvptx/config.json -FILE: ../../../flutter/third_party/llvm_libc/config/gpu/nvptx/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/gpu/nvptx/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/aarch64/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/aarch64/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/arm/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/arm/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/i386/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/i386/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/riscv/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/riscv/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/x86_64/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/x86_64/exclude.txt -FILE: ../../../flutter/third_party/llvm_libc/config/linux/x86_64/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/uefi/config.json -FILE: ../../../flutter/third_party/llvm_libc/config/uefi/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/uefi/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/config/windows/entrypoints.txt -FILE: ../../../flutter/third_party/llvm_libc/config/windows/headers.txt -FILE: ../../../flutter/third_party/llvm_libc/docs/arch_support.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/build_and_test.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/check.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/compiler_support.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/configure.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/contributing.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/clang_tidy_checks.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/cmake_build_rules.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/code_style.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/config_options.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/entrypoints.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/fuzzing.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/header_generation.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/implementation_standard.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/index.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/printf_behavior.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/source_tree_layout.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/dev/undefined_behavior.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/full_cross_build.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/full_host_build.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/getting_started.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/gpu/building.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/gpu/index.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/gpu/motivation.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/gpu/rpc-diagram.svg -FILE: ../../../flutter/third_party/llvm_libc/docs/gpu/rpc.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/gpu/support.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/gpu/testing.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/gpu/using.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/headers/complex.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/headers/index.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/headers/math/index.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/headers/math/log.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/headers/search.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/headers/stdfix.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/headers/time.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/index.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/overlay_mode.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/platform_support.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/porting.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/talks.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/uefi/building.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/uefi/index.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/uefi/support.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/uefi/testing.rst -FILE: ../../../flutter/third_party/llvm_libc/docs/uefi/using.rst -FILE: ../../../flutter/third_party/llvm_libc/hdr/types/jmp_buf.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/error-number-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/fcntl-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/linux/error-number-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/time-macros.h -FILE: ../../../flutter/third_party/llvm_libc/include/llvm-libc-macros/unistd-macros.h -FILE: ../../../flutter/third_party/llvm_libc/src/__support/high_precision_decimal.h -FILE: ../../../flutter/third_party/llvm_libc/src/math/docs/add_math_function.md -FILE: ../../../flutter/third_party/llvm_libc/src/math/sinpif16.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_core/composite_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_core/num_converter.h -FILE: ../../../flutter/third_party/llvm_libc/src/time/strftime_core/str_converter.h -FILE: ../../../flutter/third_party/llvm_libc/utils/MPCWrapper/check_mpc.cpp -FILE: ../../../flutter/third_party/llvm_libc/utils/MPFRWrapper/check_mpfr.cpp -FILE: ../../../flutter/third_party/llvm_libc/utils/mathtools/expm1f.sollya -FILE: ../../../flutter/third_party/llvm_libc/utils/mathtools/worst_case.sollya ----------------------------------------------------------------------------------------------------- -Copyright (c) 2007-2019 University of Illinois at Urbana-Champaign. -All rights reserved. - -Developed by: - - LLVM Team - - University of Illinois at Urbana-Champaign - - http://llvm.org - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libXNVCtrl -ORIGIN: ../../../flutter/third_party/angle/src/third_party/libXNVCtrl/NVCtrl.c -ORIGIN: ../../../flutter/third_party/angle/src/third_party/libXNVCtrl/NVCtrlLib.h -ORIGIN: ../../../flutter/third_party/angle/src/third_party/libXNVCtrl/nv_control.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/angle/src/third_party/libXNVCtrl/NVCtrl.c -FILE: ../../../flutter/third_party/angle/src/third_party/libXNVCtrl/NVCtrlLib.h -FILE: ../../../flutter/third_party/angle/src/third_party/libXNVCtrl/nv_control.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2008 NVIDIA, Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: include -ORIGIN: ../../../flutter/third_party/inja/third_party/include/nlohmann/json.hpp -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/inja/third_party/include/nlohmann/json.hpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2008-2009 Bjoern Hoehrmann - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regextxt.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/regextxt.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2008-2010, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/regextxt.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/regextxt.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2008-2011, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/tools/toolutil/udbgutil.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/udbgutil.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2008-2015, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/KHR/khrplatform.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/angle/include/KHR/khrplatform.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2008-2018 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: include -ORIGIN: ../../../flutter/third_party/inja/third_party/include/nlohmann/json.hpp -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/inja/third_party/include/nlohmann/json.hpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009 Florian Loitsch. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/insets.cc + ../../../flutter/third_party/accessibility/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/insets.cc ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/app/_re2.d.ts -FILE: ../../../flutter/third_party/re2/app/app.ts -FILE: ../../../flutter/third_party/re2/app/index.html -FILE: ../../../flutter/third_party/re2/app/tsconfig.json -FILE: ../../../flutter/third_party/re2/doc/syntax.html -FILE: ../../../flutter/third_party/re2/doc/syntax.txt -FILE: ../../../flutter/third_party/re2/libre2.symbols -FILE: ../../../flutter/third_party/re2/libre2.symbols.darwin -FILE: ../../../flutter/third_party/re2/re2.pc.in -FILE: ../../../flutter/third_party/re2/re2/perl_groups.cc -FILE: ../../../flutter/third_party/re2/re2/unicode_casefold.cc -FILE: ../../../flutter/third_party/re2/re2/unicode_groups.cc -FILE: ../../../flutter/third_party/re2/ucs2.diff ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009 The RE2 Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/.bazelignore -FILE: ../../../flutter/third_party/brotli/c/common/context.c -FILE: ../../../flutter/third_party/brotli/c/common/dictionary.bin -FILE: ../../../flutter/third_party/brotli/c/common/dictionary.bin.br -FILE: ../../../flutter/third_party/brotli/c/common/transform.h -FILE: ../../../flutter/third_party/brotli/c/enc/matching_tag_mask.h -FILE: ../../../flutter/third_party/brotli/c/tools/brotli.md -FILE: ../../../flutter/third_party/brotli/fetch-spec/shared-brotli-fetch-spec.txt -FILE: ../../../flutter/third_party/brotli/pyproject.toml -FILE: ../../../flutter/third_party/brotli/setup.cfg ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc3491.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc3530cs.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc3530csci.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc3530mixp.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc3722.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc3920res.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc4011.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc4013.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc4505.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc4518.txt + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc4518ci.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3491.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530cs.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530csci.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530mixp.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3722.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3920res.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4011.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4013.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4505.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4518.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4518ci.txt ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: libcxx -LIBRARY: libcxxabi -ORIGIN: ../../../flutter/third_party/libcxx/LICENSE.TXT -ORIGIN: ../../../flutter/third_party/libcxxabi/LICENSE.TXT -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/libcxx/Maintainers.md -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/module.modulemap -FILE: ../../../flutter/third_party/libcxx/include/module.modulemap -FILE: ../../../flutter/third_party/libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/notweak.exp -FILE: ../../../flutter/third_party/libcxx/lib/weak.exp -FILE: ../../../flutter/third_party/libcxx/modules/CMakeLists.txt.in -FILE: ../../../flutter/third_party/libcxx/modules/modules.json.in -FILE: ../../../flutter/third_party/libcxx/src/chrono_system_time_init.h -FILE: ../../../flutter/third_party/libcxx/src/iostream_init.h -FILE: ../../../flutter/third_party/libcxx/src/memory_resource_init_helper.h -FILE: ../../../flutter/third_party/libcxxabi/fuzz/cxa_demangle_fuzzer.cpp -FILE: ../../../flutter/third_party/libcxxabi/lib/cxxabiv1.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/fundamental-types.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/itanium-base.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/itanium-exceptions.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/new-delete.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/personality-sjlj.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/personality-v0.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/std-exceptions.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/std-misc.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/symbols-not-reexported.exp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/cocoa_time.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/cocoa_time.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009-2016 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/cocoa_init.m -ORIGIN: ../../../flutter/third_party/glfw/src/cocoa_platform.h -ORIGIN: ../../../flutter/third_party/glfw/src/cocoa_window.m -ORIGIN: ../../../flutter/third_party/glfw/src/nsgl_context.m -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/cocoa_init.m -FILE: ../../../flutter/third_party/glfw/src/cocoa_platform.h -FILE: ../../../flutter/third_party/glfw/src/cocoa_window.m -FILE: ../../../flutter/third_party/glfw/src/nsgl_context.m ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009-2019 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/cocoa_joystick.m -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/cocoa_joystick.m ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009-2019 Camilla Löwy -Copyright (c) 2012 Torsten Walluhn - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: libcxx -LIBRARY: libcxxabi -ORIGIN: ../../../flutter/third_party/libcxx/LICENSE.TXT -ORIGIN: ../../../flutter/third_party/libcxxabi/LICENSE.TXT -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libcxx/Maintainers.md -FILE: ../../../flutter/third_party/libcxx/include/__cxx03/module.modulemap -FILE: ../../../flutter/third_party/libcxx/include/module.modulemap -FILE: ../../../flutter/third_party/libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist -FILE: ../../../flutter/third_party/libcxx/lib/notweak.exp -FILE: ../../../flutter/third_party/libcxx/lib/weak.exp -FILE: ../../../flutter/third_party/libcxx/modules/CMakeLists.txt.in -FILE: ../../../flutter/third_party/libcxx/modules/modules.json.in -FILE: ../../../flutter/third_party/libcxx/src/chrono_system_time_init.h -FILE: ../../../flutter/third_party/libcxx/src/iostream_init.h -FILE: ../../../flutter/third_party/libcxx/src/memory_resource_init_helper.h -FILE: ../../../flutter/third_party/libcxxabi/fuzz/cxa_demangle_fuzzer.cpp -FILE: ../../../flutter/third_party/libcxxabi/lib/cxxabiv1.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/fundamental-types.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/itanium-base.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/itanium-exceptions.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/new-delete.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/personality-sjlj.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/personality-v0.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/std-exceptions.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/std-misc.exp -FILE: ../../../flutter/third_party/libcxxabi/lib/symbols-not-reexported.exp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT - -All rights reserved. - -Developed by: - - LLVM Team - - University of Illinois at Urbana-Champaign - - http://llvm.org - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/cocoa_time.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/cocoa_time.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2009-2021 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: libXNVCtrl -ORIGIN: ../../../flutter/third_party/angle/src/third_party/libXNVCtrl/NVCtrl.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/angle/src/third_party/libXNVCtrl/NVCtrl.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2010 NVIDIA, Corporation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -ORIGIN: ../../../flutter/third_party/accessibility/base/win/scoped_bstr.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/scoped_variant.cc + ../../../flutter/third_party/accessibility/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/base/win/scoped_bstr.cc -FILE: ../../../flutter/third_party/accessibility/base/win/scoped_variant.cc ----------------------------------------------------------------------------------------------------- -Copyright (c) 2010 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/.pylintrc -FILE: ../../../flutter/third_party/libwebp/extras/webp_quality.c -FILE: ../../../flutter/third_party/libwebp/sharpyuv/libsharpyuv.pc.in -FILE: ../../../flutter/third_party/libwebp/sharpyuv/libsharpyuv.rc -FILE: ../../../flutter/third_party/libwebp/src/demux/libwebpdemux.pc.in -FILE: ../../../flutter/third_party/libwebp/src/demux/libwebpdemux.rc -FILE: ../../../flutter/third_party/libwebp/src/libwebp.pc.in -FILE: ../../../flutter/third_party/libwebp/src/libwebp.rc -FILE: ../../../flutter/third_party/libwebp/src/libwebpdecoder.pc.in -FILE: ../../../flutter/third_party/libwebp/src/libwebpdecoder.rc -FILE: ../../../flutter/third_party/libwebp/src/mux/libwebpmux.pc.in -FILE: ../../../flutter/third_party/libwebp/src/mux/libwebpmux.rc ----------------------------------------------------------------------------------------------------- -Copyright (c) 2010, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: include -ORIGIN: ../../../flutter/third_party/inja/third_party/include/hayai/LICENSE.md -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_benchmarker.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_compatibility.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_console.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_console_outputter.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_default_test_factory.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_fixture.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_json_outputter.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_junit_xml_outputter.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_main.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_outputter.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_test.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_test_descriptor.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_test_factory.hpp -FILE: ../../../flutter/third_party/inja/third_party/include/hayai/hayai_test_result.hpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2011 - Nick Bruun. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. If you meet (any of) the author(s), you're encouraged to buy them a beer, - a drink or whatever is suited to the situation, given that you like the - software. -4. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/accessibility/base/auto_reset.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/atl_module.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/display.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/display.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/enum_variant.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/enum_variant.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/scoped_bstr.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/scoped_variant.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/containers/mru_cache.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/sha1.cc + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/sha1.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/base/auto_reset.h -FILE: ../../../flutter/third_party/accessibility/base/win/atl_module.h -FILE: ../../../flutter/third_party/accessibility/base/win/display.cc -FILE: ../../../flutter/third_party/accessibility/base/win/display.h -FILE: ../../../flutter/third_party/accessibility/base/win/enum_variant.cc -FILE: ../../../flutter/third_party/accessibility/base/win/enum_variant.h -FILE: ../../../flutter/third_party/accessibility/base/win/scoped_bstr.h -FILE: ../../../flutter/third_party/accessibility/base/win/scoped_variant.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/containers/mru_cache.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/sha1.cc -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/sha1.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2011 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/brkitr/dictionaries/khmerdict.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/brkitr/dictionaries/khmerdict.txt ----------------------------------------------------------------------------------------------------- -Copyright (c) 2011-2012 International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -ORIGIN: ../../../flutter/third_party/accessibility/ax_build/build_config.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/base_export.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/insets.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/insets_f.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/insets_f.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/point.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/point.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/point_conversions.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/point_conversions.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/point_f.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/point_f.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/rect.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/rect.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/rect_conversions.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/rect_conversions.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/rect_f.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/rect_f.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/size.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/size.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/size_conversions.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/size_conversions.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/size_f.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/size_f.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d_conversions.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d_conversions.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d_f.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d_f.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/native_widget_types.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/range/range.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/range/range.h + ../../../flutter/third_party/accessibility/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax_build/build_config.h -FILE: ../../../flutter/third_party/accessibility/base/base_export.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/insets.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/insets_f.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/insets_f.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/point.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/point.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/point_conversions.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/point_conversions.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/point_f.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/point_f.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/rect.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/rect.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/rect_conversions.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/rect_conversions.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/rect_f.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/rect_f.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/size.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/size.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/size_conversions.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/size_conversions.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/size_f.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/size_f.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d_conversions.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d_conversions.h -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d_f.cc -FILE: ../../../flutter/third_party/accessibility/gfx/geometry/vector2d_f.h -FILE: ../../../flutter/third_party/accessibility/gfx/native_widget_types.h -FILE: ../../../flutter/third_party/accessibility/gfx/range/range.cc -FILE: ../../../flutter/third_party/accessibility/gfx/range/range.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2012 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/accessibility/gfx/gfx_export.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/trace_event/trace_event.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/gfx/gfx_export.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/trace_event/trace_event.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/gl_types.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/gl_types.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/coverage/bin/format_coverage.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/coverage/bin/format_coverage.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: khronos -ORIGIN: ../../../flutter/third_party/angle/src/third_party/khronos/GL/wglext.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/angle/src/third_party/khronos/GL/wglext.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013-2014 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/GLES/glext.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/angle/include/GLES/glext.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013-2017 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/GLES/gl.h -ORIGIN: ../../../flutter/third_party/angle/include/WGL/wgl.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/angle/include/GLES/gl.h -FILE: ../../../flutter/third_party/angle/include/WGL/wgl.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013-2018 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: include -ORIGIN: ../../../flutter/third_party/inja/third_party/include/nlohmann/json.hpp -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/inja/third_party/include/nlohmann/json.hpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013-2019 Niels Lohmann . - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: json -ORIGIN: ../../../flutter/third_party/json/LICENSE.MIT -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/json/include/nlohmann/adl_serializer.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/byte_container_with_subtype.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/abi_macros.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/conversions/from_json.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/conversions/to_chars.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/conversions/to_json.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/exceptions.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/hash.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/input/binary_reader.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/input/input_adapters.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/input/json_sax.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/input/lexer.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/input/parser.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/input/position_t.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/iterators/internal_iterator.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/iterators/iter_impl.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/iterators/iteration_proxy.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/iterators/iterator_traits.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/iterators/json_reverse_iterator.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/iterators/primitive_iterator.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/json_custom_base_class.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/json_pointer.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/json_ref.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/macro_scope.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/macro_unscope.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/call_std/begin.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/call_std/end.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/cpp_future.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/detected.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/identity_tag.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/is_sax.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/std_fs.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/type_traits.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/meta/void_t.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/output/binary_writer.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/output/output_adapters.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/output/serializer.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/string_concat.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/string_escape.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/detail/value_t.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/json.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/json_fwd.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/ordered_map.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/thirdparty/hedley/hedley.hpp -FILE: ../../../flutter/third_party/json/include/nlohmann/thirdparty/hedley/hedley_undef.hpp -FILE: ../../../flutter/third_party/json/nlohmann_json.natvis -FILE: ../../../flutter/third_party/json/single_include/nlohmann/json.hpp -FILE: ../../../flutter/third_party/json/single_include/nlohmann/json_fwd.hpp -FILE: ../../../flutter/third_party/json/tools/amalgamate/config_json.json -FILE: ../../../flutter/third_party/json/tools/amalgamate/config_json_fwd.json -FILE: ../../../flutter/third_party/json/tools/generate_natvis/nlohmann_json.natvis.j2 -FILE: ../../../flutter/third_party/json/tools/macro_builder/main.cpp -FILE: ../../../flutter/third_party/json/tools/serve_header/demo.png -FILE: ../../../flutter/third_party/json/tools/serve_header/serve_header.yml.example -FILE: ../../../flutter/third_party/json/wsjcpp.yml ----------------------------------------------------------------------------------------------------- -Copyright (c) 2013-2022 Niels Lohmann - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/linux_joystick.h -ORIGIN: ../../../flutter/third_party/glfw/src/wl_init.c -ORIGIN: ../../../flutter/third_party/glfw/src/wl_monitor.c -ORIGIN: ../../../flutter/third_party/glfw/src/wl_platform.h -ORIGIN: ../../../flutter/third_party/glfw/src/wl_window.c -ORIGIN: ../../../flutter/third_party/glfw/src/xkb_unicode.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/linux_joystick.h -FILE: ../../../flutter/third_party/glfw/src/wl_init.c -FILE: ../../../flutter/third_party/glfw/src/wl_monitor.c -FILE: ../../../flutter/third_party/glfw/src/wl_platform.h -FILE: ../../../flutter/third_party/glfw/src/wl_window.c -FILE: ../../../flutter/third_party/glfw/src/xkb_unicode.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014 Jonas Ådahl - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -ORIGIN: ../../../flutter/third_party/accessibility/base/win/windows_types.h + ../../../flutter/third_party/accessibility/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/base/win/windows_types.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/scientificnumberformatter.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/scientificnumberformatter.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/coverage/bin/collect_coverage.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/coverage/lib/coverage.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/coverage/lib/src/collect.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/coverage/lib/src/formatter.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/coverage/lib/src/hitmap.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/coverage/lib/src/resolver.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/coverage/lib/src/util.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/coverage/bin/collect_coverage.dart -FILE: ../../../flutter/third_party/pkg/coverage/lib/coverage.dart -FILE: ../../../flutter/third_party/pkg/coverage/lib/src/collect.dart -FILE: ../../../flutter/third_party/pkg/coverage/lib/src/formatter.dart -FILE: ../../../flutter/third_party/pkg/coverage/lib/src/hitmap.dart -FILE: ../../../flutter/third_party/pkg/coverage/lib/src/resolver.dart -FILE: ../../../flutter/third_party/pkg/coverage/lib/src/util.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.AMD.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.EXT.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.std.450.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.AMD.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.EXT.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.std.450.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014-2016 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/unicode/scientificnumberformatter.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/scientificnumberformatter.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.NV.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.NV.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014-2017 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: spirv-cross -ORIGIN: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv.hpp -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv.h -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/spirv.hpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014-2020 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.KHR.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.KHR.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014-2020 The Khronos Group Inc. -Copyright (C) 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/spirv.hpp -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/spirv.hpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014-2024 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/node_preamble/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/node_preamble/lib/preamble.dart -FILE: ../../../flutter/third_party/pkg/node_preamble/lib/preamble.js -FILE: ../../../flutter/third_party/pkg/node_preamble/lib/preamble.min.js -FILE: ../../../flutter/third_party/pkg/node_preamble/tool/minify.js -FILE: ../../../flutter/third_party/pkg/node_preamble/yarn.lock ----------------------------------------------------------------------------------------------------- -Copyright (c) 2015 Michael Bullington - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - - -Copyright 2012, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/data/sprep/rfc3920node.txt + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3920node.txt ----------------------------------------------------------------------------------------------------- -Copyright (c) 2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/coverage/lib/src/run_and_collect.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/coverage/lib/src/run_and_collect.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/null_init.c -ORIGIN: ../../../flutter/third_party/glfw/src/null_platform.h -ORIGIN: ../../../flutter/third_party/glfw/src/osmesa_context.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/null_init.c -FILE: ../../../flutter/third_party/glfw/src/null_platform.h -FILE: ../../../flutter/third_party/glfw/src/osmesa_context.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2016 Google Inc. -Copyright (c) 2016-2017 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/null_monitor.c -ORIGIN: ../../../flutter/third_party/glfw/src/null_window.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/null_monitor.c -FILE: ../../../flutter/third_party/glfw/src/null_window.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2016 Google Inc. -Copyright (c) 2016-2019 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/null_joystick.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/null_joystick.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2016-2017 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/coverage/bin/run_and_collect.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/coverage/bin/run_and_collect.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: ffx_spd -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/ffx_a.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/ffx_a.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2017-2019 Advanced Micro Devices, Inc. All rights reserved. -Copyright (c) <2014> - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, -modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: ffx_spd -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/ffx_spd.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/ffx_spd/ffx_spd.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, -modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: vulkan-validation-layers -ORIGIN: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/vulkan-deps/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: vulkan_memory_allocator -ORIGIN: ../../../flutter/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/NonSemanticShaderDebugInfo100.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/NonSemanticShaderDebugInfo100.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2018 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: inja -ORIGIN: ../../../flutter/third_party/inja/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/inja/include/inja/config.hpp -FILE: ../../../flutter/third_party/inja/include/inja/environment.hpp -FILE: ../../../flutter/third_party/inja/include/inja/exceptions.hpp -FILE: ../../../flutter/third_party/inja/include/inja/function_storage.hpp -FILE: ../../../flutter/third_party/inja/include/inja/lexer.hpp -FILE: ../../../flutter/third_party/inja/include/inja/node.hpp -FILE: ../../../flutter/third_party/inja/include/inja/parser.hpp -FILE: ../../../flutter/third_party/inja/include/inja/renderer.hpp -FILE: ../../../flutter/third_party/inja/include/inja/statistics.hpp -FILE: ../../../flutter/third_party/inja/include/inja/template.hpp -FILE: ../../../flutter/third_party/inja/include/inja/token.hpp -FILE: ../../../flutter/third_party/inja/include/inja/utils.hpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2018-2021 Berscheid - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: inja -ORIGIN: ../../../flutter/third_party/inja/include/inja/inja.hpp -ORIGIN: ../../../flutter/third_party/inja/single_include/inja/inja.hpp -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/inja/include/inja/inja.hpp -FILE: ../../../flutter/third_party/inja/single_include/inja/inja.hpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2018-2021 Lars Berscheid - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/CInterface/spirv_c_interface.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/CInterface/glslang_c_interface.cpp -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/glslang_c_interface.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/glslang_c_shader_types.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/CInterface/spirv_c_interface.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/CInterface/glslang_c_interface.cpp -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/glslang_c_interface.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/glslang_c_shader_types.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2019, Viktor Latypov -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/QueryMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/QueryMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SyncMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SyncMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_occlusion_query_pool.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_occlusion_query_pool.mm + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/QueryMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/QueryMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SyncMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SyncMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_occlusion_query_pool.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_occlusion_query_pool.mm ----------------------------------------------------------------------------------------------------- -Copyright (c) 2020 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/NonSemanticDebugPrintf.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/NonSemanticDebugPrintf.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2020 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS -KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS -SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT - https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Public/resource_limits_c.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/ResourceLimits/resource_limits_c.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Public/resource_limits_c.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/ResourceLimits/resource_limits_c.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) 2020, Travis Fort -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/coverage/lib/src/chrome.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/coverage/lib/src/chrome.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: etc_decoder -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/etc_decoder/etc_decoder.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/third_party/etc_decoder/etc_decoder.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2020-2022 Hans-Kristian Arntzen - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/posix_module.c -ORIGIN: ../../../flutter/third_party/glfw/src/win32_module.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/posix_module.c -FILE: ../../../flutter/third_party/glfw/src/win32_module.c ----------------------------------------------------------------------------------------------------- -Copyright (c) 2021 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.QCOM.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.QCOM.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2021 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: ceval -ORIGIN: ../../../flutter/third_party/angle/src/third_party/ceval/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/angle/src/third_party/ceval/ceval.h -FILE: ../../../flutter/third_party/angle/src/third_party/ceval/patches/0001-remove-sprintf.patch ----------------------------------------------------------------------------------------------------- -Copyright (c) 2021 e_t - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.ARM.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/SPIRV/GLSL.ext.ARM.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2022 ARM Limited - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: glfw -ORIGIN: ../../../flutter/third_party/glfw/src/posix_poll.c -ORIGIN: ../../../flutter/third_party/glfw/src/posix_poll.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/glfw/src/posix_poll.c -FILE: ../../../flutter/third_party/glfw/src/posix_poll.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2022 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: web_locale_keymap -ORIGIN: ../../../flutter/third_party/web_locale_keymap/lib/web_locale_keymap.dart + ../../../flutter/third_party/web_locale_keymap/License.txt -ORIGIN: ../../../flutter/third_party/web_locale_keymap/lib/web_locale_keymap/key_mappings.g.dart + ../../../flutter/third_party/web_locale_keymap/License.txt -ORIGIN: ../../../flutter/third_party/web_locale_keymap/lib/web_locale_keymap/locale_keymap.dart + ../../../flutter/third_party/web_locale_keymap/License.txt -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/web_locale_keymap/lib/web_locale_keymap.dart -FILE: ../../../flutter/third_party/web_locale_keymap/lib/web_locale_keymap/key_mappings.g.dart -FILE: ../../../flutter/third_party/web_locale_keymap/lib/web_locale_keymap/locale_keymap.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2022 Google LLC - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -ORIGIN: ../../../flutter/third_party/expat/expat/fuzz/xml_lpm_fuzzer.cpp -ORIGIN: ../../../flutter/third_party/expat/expat/fuzz/xml_lpm_fuzzer.proto -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/expat/expat/fuzz/xml_lpm_fuzzer.cpp -FILE: ../../../flutter/third_party/expat/expat/fuzz/xml_lpm_fuzzer.proto ----------------------------------------------------------------------------------------------------- -Copyright (c) 2022 Mark Brand -Copyright (c) 2025 Sebastian Pipping - -Licensed under the MIT license: - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/coverage/benchmark/many_isolates.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/coverage/benchmark/run_benchmarks.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/coverage/bin/test_with_coverage.dart + ../../../flutter/third_party/pkg/coverage/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/coverage/benchmark/many_isolates.dart -FILE: ../../../flutter/third_party/pkg/coverage/benchmark/run_benchmarks.dart -FILE: ../../../flutter/third_party/pkg/coverage/bin/test_with_coverage.dart ----------------------------------------------------------------------------------------------------- -Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/decNumber.h (with ../../../flutter/third_party/icu/LICENSE) -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/icu/source/i18n/decNumber.h ----------------------------------------------------------------------------------------------------- -Copyright (c) IBM Corporation, 2000-2010. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/decContext.h (with ../../../flutter/third_party/icu/LICENSE) -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/icu/source/i18n/decContext.h ----------------------------------------------------------------------------------------------------- -Copyright (c) IBM Corporation, 2000-2011. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/decContext.cpp (with ../../../flutter/third_party/icu/LICENSE) -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/icu/source/i18n/decContext.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) IBM Corporation, 2000-2012. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/decNumber.cpp (with ../../../flutter/third_party/icu/LICENSE) -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/icu/source/i18n/decNumber.cpp ----------------------------------------------------------------------------------------------------- -Copyright (c) IBM Corporation, 2000-2014. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/decNumberLocal.h (with ../../../flutter/third_party/icu/LICENSE) -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/icu/source/i18n/decNumberLocal.h ----------------------------------------------------------------------------------------------------- -Copyright (c) IBM Corporation, 2000-2016. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. -==================================================================================================== - -==================================================================================================== -LIBRARY: spring_animation -ORIGIN: ../../../flutter/third_party/spring_animation/spring_animation.h + ../../../flutter/third_party/spring_animation/LICENSE -ORIGIN: ../../../flutter/third_party/spring_animation/spring_animation.mm + ../../../flutter/third_party/spring_animation/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/spring_animation/spring_animation.h -FILE: ../../../flutter/third_party/spring_animation/spring_animation.mm ----------------------------------------------------------------------------------------------------- -Copyright (c) Meta Platforms, Inc. and affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/ms-use/COPYING -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/harfbuzz/src/ms-use/IndicPositionalCategory-Additional.txt -FILE: ../../../flutter/third_party/harfbuzz/src/ms-use/IndicShapingInvalidCluster.txt -FILE: ../../../flutter/third_party/harfbuzz/src/ms-use/IndicSyllabicCategory-Additional.txt ----------------------------------------------------------------------------------------------------- -Copyright (c) Microsoft Corporation. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/pcf/pcfutil.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcfutil.c ----------------------------------------------------------------------------------------------------- -Copyright 1990, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/util/strutil.cc + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/util/strutil.cc ----------------------------------------------------------------------------------------------------- -Copyright 1999-2005 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/bdf/bdf.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/bdf/bdf.h ----------------------------------------------------------------------------------------------------- -Copyright 2000 Computing Research Labs, New Mexico State University -Copyright 2001-2004, 2011 Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/bdf/bdflib.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/bdf/bdflib.c ----------------------------------------------------------------------------------------------------- -Copyright 2000 Computing Research Labs, New Mexico State University -Copyright 2001-2014 - Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/include/freetype/internal/fthash.h -ORIGIN: ../../../flutter/third_party/freetype2/src/base/fthash.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/fthash.h -FILE: ../../../flutter/third_party/freetype2/src/base/fthash.c ----------------------------------------------------------------------------------------------------- -Copyright 2000 Computing Research Labs, New Mexico State University -Copyright 2001-2015 - Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/pcf/pcfutil.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcfutil.h ----------------------------------------------------------------------------------------------------- -Copyright 2000, 2001, 2004 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/pcf/pcfdrivr.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcfdrivr.h ----------------------------------------------------------------------------------------------------- -Copyright 2000-2001, 2002 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/pcf/pcf.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcf.c ----------------------------------------------------------------------------------------------------- -Copyright 2000-2001, 2003 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/pcf/pcfread.c -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcfread.c ----------------------------------------------------------------------------------------------------- -Copyright 2000-2010, 2012-2014 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/stringpiece.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/unicode/stringpiece.h ----------------------------------------------------------------------------------------------------- -Copyright 2001 and onwards Google Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/bdf/bdferror.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/bdf/bdferror.h ----------------------------------------------------------------------------------------------------- -Copyright 2001, 2002, 2012 Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/GLSLANG/ShaderLang.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/angleutils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/debug.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/debug.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/mathutil.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/utilities.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/utilities.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor.l + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/BaseTypes.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/BuiltInFunctionEmulator.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/CallDAG.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/CallDAG.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/CollectVariables.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/CollectVariables.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Common.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Compiler.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Compiler.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ConstantUnion.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ExtensionBehavior.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/HashNames.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/InfoSink.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/InfoSink.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Initialize.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Initialize.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/InitializeDll.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/InitializeDll.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/InitializeGlobals.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/IntermNode.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/IntermNode.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Operator.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/OutputTree.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ParseContext.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ParseContext.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/PoolAlloc.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/PoolAlloc.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/QualifierTypes.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/QualifierTypes.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ShaderLang.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Types.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Types.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateGlobalInitializer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateGlobalInitializer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateLimitations.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateSwitch.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateSwitch.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateVaryingLocations.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateVaryingLocations.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/VariablePacker.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/VariablePacker.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputESSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputESSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputGLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputGLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputGLSLBase.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputGLSLBase.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/TranslatorESSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/TranslatorESSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/TranslatorGLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/TranslatorGLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/VersionGLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/VersionGLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang.l + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang.y + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ASTMetadataHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ASTMetadataHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/OutputHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/OutputHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/TranslatorHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/TranslatorHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/UtilsMSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/UtilsMSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/InitializeVariables.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/InitializeVariables.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/PruneNoOps.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/PruneNoOps.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RecordConstantPrecision.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RecordConstantPrecision.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveDynamicIndexing.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveDynamicIndexing.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SeparateDeclarations.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SeparateDeclarations.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/RegenerateStructNames.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/RegenerateStructNames.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermTraverse.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/NodeSearch.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/util.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/generatemip.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Buffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Buffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Config.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Config.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Display.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Display.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/EGLSync.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Fence.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Fence.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Framebuffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Framebuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/HandleAllocator.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/HandleAllocator.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Program.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Program.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/RefCountObject.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Renderbuffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Renderbuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ResourceManager.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ResourceManager.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Shader.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Shader.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Surface.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Surface.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Texture.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Texture.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/SurfaceImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ImageD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ImageD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/IndexBuffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/IndexBuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/IndexDataManager.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/IndexDataManager.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/TextureStorage.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Blit9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Blit9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Image9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Image9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/vertexconversion.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/include/GLSLANG/ShaderLang.h -FILE: ../../../flutter/third_party/angle/src/common/angleutils.h -FILE: ../../../flutter/third_party/angle/src/common/debug.cpp -FILE: ../../../flutter/third_party/angle/src/common/debug.h -FILE: ../../../flutter/third_party/angle/src/common/mathutil.h -FILE: ../../../flutter/third_party/angle/src/common/utilities.cpp -FILE: ../../../flutter/third_party/angle/src/common/utilities.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor.l -FILE: ../../../flutter/third_party/angle/src/compiler/translator/BaseTypes.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/BuiltInFunctionEmulator.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/CallDAG.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/CallDAG.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/CollectVariables.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/CollectVariables.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Common.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Compiler.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Compiler.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ConstantUnion.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ExtensionBehavior.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/HashNames.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/InfoSink.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/InfoSink.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Initialize.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Initialize.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/InitializeDll.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/InitializeDll.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/InitializeGlobals.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/IntermNode.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/IntermNode.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Operator.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/OutputTree.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ParseContext.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ParseContext.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/PoolAlloc.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/PoolAlloc.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/QualifierTypes.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/QualifierTypes.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ShaderLang.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Types.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Types.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateGlobalInitializer.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateGlobalInitializer.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateLimitations.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateSwitch.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateSwitch.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateVaryingLocations.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateVaryingLocations.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/VariablePacker.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/VariablePacker.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputESSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputESSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputGLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputGLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputGLSLBase.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/OutputGLSLBase.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/TranslatorESSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/TranslatorESSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/TranslatorGLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/TranslatorGLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/VersionGLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/VersionGLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang.l -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang.y -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ASTMetadataHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ASTMetadataHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/OutputHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/OutputHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/TranslatorHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/TranslatorHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/UtilsMSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/UtilsMSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/EmulateGLFragColorBroadcast.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/InitializeVariables.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/InitializeVariables.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/PruneNoOps.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/PruneNoOps.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RecordConstantPrecision.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RecordConstantPrecision.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveDynamicIndexing.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveDynamicIndexing.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SeparateDeclarations.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SeparateDeclarations.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/RegenerateStructNames.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/RegenerateStructNames.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/ScalarizeVecAndMatConstructorArgs.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/UnfoldShortCircuitAST.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/ArrayReturnValueToOutParameter.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RemoveSwitchFallThrough.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayInitialization.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateExpressionsReturningArrays.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/UnfoldShortCircuitToIf.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermTraverse.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/NodeSearch.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/util.h -FILE: ../../../flutter/third_party/angle/src/image_util/generatemip.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Buffer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Buffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Config.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Config.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Display.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Display.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/EGLSync.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Fence.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Fence.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Framebuffer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Framebuffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/HandleAllocator.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/HandleAllocator.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Program.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Program.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/RefCountObject.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Renderbuffer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Renderbuffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/ResourceManager.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/ResourceManager.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Shader.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Shader.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Surface.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Surface.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Texture.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Texture.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/SurfaceImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ImageD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ImageD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/IndexBuffer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/IndexBuffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/IndexDataManager.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/IndexDataManager.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/TextureStorage.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/VertexBuffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/VertexDataManager.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Blit9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Blit9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Image9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Image9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/vertexconversion.h ----------------------------------------------------------------------------------------------------- -Copyright 2002 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/pcf/pcfread.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcfread.h ----------------------------------------------------------------------------------------------------- -Copyright 2003 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/util/pcre.cc + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/util/pcre.cc ----------------------------------------------------------------------------------------------------- -Copyright 2003-2009 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/re2.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/re2.h + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/re2.cc -FILE: ../../../flutter/third_party/re2/re2/re2.h ----------------------------------------------------------------------------------------------------- -Copyright 2003-2009 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/util/pcre.h + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/util/pcre.h ----------------------------------------------------------------------------------------------------- -Copyright 2003-2010 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/stringpiece.cpp + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/stringpiece.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2004 and onwards Google Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/parse.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/regexp.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/regexp.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/simplify.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/sparse_array.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/sparse_set.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/tostring.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/walker-inl.h + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/parse.cc -FILE: ../../../flutter/third_party/re2/re2/regexp.cc -FILE: ../../../flutter/third_party/re2/re2/regexp.h -FILE: ../../../flutter/third_party/re2/re2/simplify.cc -FILE: ../../../flutter/third_party/re2/re2/sparse_array.h -FILE: ../../../flutter/third_party/re2/re2/sparse_set.h -FILE: ../../../flutter/third_party/re2/re2/tostring.cc -FILE: ../../../flutter/third_party/re2/re2/walker-inl.h ----------------------------------------------------------------------------------------------------- -Copyright 2006 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/nfa.cc + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/nfa.cc ----------------------------------------------------------------------------------------------------- -Copyright 2006-2007 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-cached-powers.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-cached-powers.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2006-2008 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/bytestream.cpp + ../../../flutter/third_party/icu/LICENSE -ORIGIN: ../../../flutter/third_party/icu/source/common/unicode/bytestream.h + ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/common/bytestream.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/bytestream.h ----------------------------------------------------------------------------------------------------- -Copyright 2007 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/compile.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/prog.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/prog.h + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/compile.cc -FILE: ../../../flutter/third_party/re2/re2/prog.cc -FILE: ../../../flutter/third_party/re2/re2/prog.h ----------------------------------------------------------------------------------------------------- -Copyright 2007 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/bitstate.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/dfa.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/mimics_pcre.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/onepass.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/unicode_casefold.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/unicode_groups.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/testinstall.cc + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/bitstate.cc -FILE: ../../../flutter/third_party/re2/re2/dfa.cc -FILE: ../../../flutter/third_party/re2/re2/mimics_pcre.cc -FILE: ../../../flutter/third_party/re2/re2/onepass.cc -FILE: ../../../flutter/third_party/re2/re2/unicode_casefold.h -FILE: ../../../flutter/third_party/re2/re2/unicode_groups.h -FILE: ../../../flutter/third_party/re2/testinstall.cc ----------------------------------------------------------------------------------------------------- -Copyright 2008 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimdext.inc -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jsimd.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jsimd_none.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jsimddct.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolext-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolext-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolext-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolor-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolor-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jccolor-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgray-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgray-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgray-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgryext-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgryext-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcgryext-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jchuff-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jchuff-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcolsamp.inc -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcsample-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcsample-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcsample-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolext-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolext-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolext-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolor-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolor-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdcolor-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdct.inc -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmerge-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmerge-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmerge-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmrgext-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmrgext-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdmrgext-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdsample-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdsample-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jdsample-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctflt-3dn.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctflt-sse-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctflt-sse.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctfst-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctfst-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctfst-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctint-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctint-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jfdctint-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctflt-3dn.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctflt-sse.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctflt-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctflt-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctfst-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctfst-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctfst-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctint-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctint-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctint-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctred-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctred-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jidctred-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquant-3dn.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquant-mmx.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquant-sse.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquantf-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquantf-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquanti-sse2-64.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jquanti-sse2.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_arm.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_arm64.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_i386.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_mips.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_powerpc.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimd_x86_64.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimdcpu.asm -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimdext.inc ----------------------------------------------------------------------------------------------------- -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2010, D. R. Commander. - -Based on the x86 SIMD extension for IJG JPEG library - version 1.02 - -Copyright (C) 1999-2006, MIYASAKA Masaru. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/MODULE.bazel + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/WORKSPACE.bzlmod + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/filtered_re2.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/filtered_re2.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/prefilter.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/prefilter.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/prefilter_tree.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/prefilter_tree.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/util/malloc_counter.h + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/MODULE.bazel -FILE: ../../../flutter/third_party/re2/WORKSPACE.bzlmod -FILE: ../../../flutter/third_party/re2/re2/filtered_re2.cc -FILE: ../../../flutter/third_party/re2/re2/filtered_re2.h -FILE: ../../../flutter/third_party/re2/re2/prefilter.cc -FILE: ../../../flutter/third_party/re2/re2/prefilter.h -FILE: ../../../flutter/third_party/re2/re2/prefilter_tree.cc -FILE: ../../../flutter/third_party/re2/re2/prefilter_tree.h -FILE: ../../../flutter/third_party/re2/util/malloc_counter.h ----------------------------------------------------------------------------------------------------- -Copyright 2009 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/c/enc/entropy_encode.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/entropy_encode.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/find_match_length.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_longest_match64_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_longest_match64_simd_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_longest_match_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_longest_match_quickly_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_longest_match_simd_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/write_bits.h + ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/c/enc/entropy_encode.c -FILE: ../../../flutter/third_party/brotli/c/enc/entropy_encode.h -FILE: ../../../flutter/third_party/brotli/c/enc/find_match_length.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash_longest_match64_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash_longest_match64_simd_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash_longest_match_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash_longest_match_quickly_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash_longest_match_simd_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/write_bits.h ----------------------------------------------------------------------------------------------------- -Copyright 2010 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/frame_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/quant_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/tree_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/vp8_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/vp8_dec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/vp8i_dec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/webp_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/yuv.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/yuv.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/bit_reader_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/bit_reader_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/webp/decode.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/webp/types.h + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/src/dec/frame_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/quant_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/tree_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/vp8_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/vp8_dec.h -FILE: ../../../flutter/third_party/libwebp/src/dec/vp8i_dec.h -FILE: ../../../flutter/third_party/libwebp/src/dec/webp_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/dec.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/yuv.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/yuv.h -FILE: ../../../flutter/third_party/libwebp/src/utils/bit_reader_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/bit_reader_utils.h -FILE: ../../../flutter/third_party/libwebp/src/webp/decode.h -FILE: ../../../flutter/third_party/libwebp/src/webp/types.h ----------------------------------------------------------------------------------------------------- -Copyright 2010 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateLimitations.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/util.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Uniform.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Uniform.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateLimitations.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/util.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Uniform.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Uniform.h ----------------------------------------------------------------------------------------------------- -Copyright 2010 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/set.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/set.h + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/set.cc -FILE: ../../../flutter/third_party/re2/re2/set.h ----------------------------------------------------------------------------------------------------- -Copyright 2010 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum-dtoa.cpp -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum-dtoa.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum.cpp -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-cached-powers.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-diy-fp.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-double-to-string.cpp -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-fast-dtoa.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-string-to-double.cpp -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-strtod.cpp -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-strtod.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-utils.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum-dtoa.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum-dtoa.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-cached-powers.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-diy-fp.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-double-to-string.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-fast-dtoa.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-string-to-double.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-strtod.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-strtod.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-utils.h ----------------------------------------------------------------------------------------------------- -Copyright 2010 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/alpha_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/buffer_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/idec_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/io_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/webpi_dec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/cpu.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dec_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dsp.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/enc_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/filters.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/upsampling.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/upsampling_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/upsampling_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/upsampling_sse41.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/alpha_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/analysis_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/config_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/cost_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/cost_enc.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/filter_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/frame_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/iterator_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/picture_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/quant_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/syntax_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/token_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/tree_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/vp8i_enc.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/webp_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/mux/muxedit.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/mux/muxi.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/mux/muxinternal.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/mux/muxread.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/bit_writer_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/bit_writer_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/filters_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/filters_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/huffman_encode_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/huffman_encode_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/quant_levels_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/quant_levels_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/thread_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/thread_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/webp/encode.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/webp/mux.h + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/src/dec/alpha_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/buffer_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/idec_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/io_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/webpi_dec.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/cpu.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/dec_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/dsp.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/enc.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/enc_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/filters.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/upsampling.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/upsampling_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/upsampling_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/upsampling_sse41.c -FILE: ../../../flutter/third_party/libwebp/src/enc/alpha_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/analysis_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/config_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/cost_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/cost_enc.h -FILE: ../../../flutter/third_party/libwebp/src/enc/filter_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/frame_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/iterator_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/picture_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/quant_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/syntax_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/token_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/tree_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/vp8i_enc.h -FILE: ../../../flutter/third_party/libwebp/src/enc/webp_enc.c -FILE: ../../../flutter/third_party/libwebp/src/mux/muxedit.c -FILE: ../../../flutter/third_party/libwebp/src/mux/muxi.h -FILE: ../../../flutter/third_party/libwebp/src/mux/muxinternal.c -FILE: ../../../flutter/third_party/libwebp/src/mux/muxread.c -FILE: ../../../flutter/third_party/libwebp/src/utils/bit_writer_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/bit_writer_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/filters_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/filters_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/huffman_encode_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/huffman_encode_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/quant_levels_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/quant_levels_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/thread_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/thread_utils.h -FILE: ../../../flutter/third_party/libwebp/src/webp/encode.h -FILE: ../../../flutter/third_party/libwebp/src/webp/mux.h ----------------------------------------------------------------------------------------------------- -Copyright 2011 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/DirectiveParser.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Input.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Input.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Macro.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/MacroExpander.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Preprocessor.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Preprocessor.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Token.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Token.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/BuiltInFunctionEmulator.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/length_limits.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/DirectiveParser.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Input.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Input.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Macro.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/MacroExpander.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Preprocessor.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Preprocessor.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Token.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Token.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/BuiltInFunctionEmulator.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/BuiltInFunctionEmulatorGLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/length_limits.h ----------------------------------------------------------------------------------------------------- -Copyright 2011 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/imageio/jpegdec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/jpegdec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/metadata.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/metadata.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/pngdec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/pngdec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/tiffdec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/tiffdec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/vp8l_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/vp8li_dec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/demux/demux.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dec_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/enc_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_common.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/backward_references_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/backward_references_enc.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/histogram_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/histogram_enc.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/vp8l_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/vp8li_enc.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/color_cache_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/color_cache_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/huffman_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/huffman_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/rescaler_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/rescaler_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/webp/demux.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/webp/format_constants.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/webp/mux_types.h + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/imageio/jpegdec.c -FILE: ../../../flutter/third_party/libwebp/imageio/jpegdec.h -FILE: ../../../flutter/third_party/libwebp/imageio/metadata.c -FILE: ../../../flutter/third_party/libwebp/imageio/metadata.h -FILE: ../../../flutter/third_party/libwebp/imageio/pngdec.c -FILE: ../../../flutter/third_party/libwebp/imageio/pngdec.h -FILE: ../../../flutter/third_party/libwebp/imageio/tiffdec.c -FILE: ../../../flutter/third_party/libwebp/imageio/tiffdec.h -FILE: ../../../flutter/third_party/libwebp/src/dec/vp8l_dec.c -FILE: ../../../flutter/third_party/libwebp/src/dec/vp8li_dec.h -FILE: ../../../flutter/third_party/libwebp/src/demux/demux.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/dec_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/enc_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_common.h -FILE: ../../../flutter/third_party/libwebp/src/enc/backward_references_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/backward_references_enc.h -FILE: ../../../flutter/third_party/libwebp/src/enc/histogram_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/histogram_enc.h -FILE: ../../../flutter/third_party/libwebp/src/enc/vp8l_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/vp8li_enc.h -FILE: ../../../flutter/third_party/libwebp/src/utils/color_cache_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/color_cache_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/huffman_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/huffman_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/rescaler_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/rescaler_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/utils.h -FILE: ../../../flutter/third_party/libwebp/src/webp/demux.h -FILE: ../../../flutter/third_party/libwebp/src/webp/format_constants.h -FILE: ../../../flutter/third_party/libwebp/src/webp/mux_types.h ----------------------------------------------------------------------------------------------------- -Copyright 2012 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/common/BinaryStream.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/Float16ToFloat32.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/event_tracer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/event_tracer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/DiagnosticsBase.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/DiagnosticsBase.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/DirectiveHandlerBase.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/DirectiveHandlerBase.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/DirectiveParser.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/ExpressionParser.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Lexer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Lexer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Macro.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/MacroExpander.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/SourceLocation.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/Tokenizer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/numeric_lex.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor.y + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Diagnostics.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Diagnostics.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/DirectiveHandler.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/DirectiveHandler.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Pragma.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Query.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Query.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/angletypes.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/angletypes.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RenderTargetD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RenderTargetD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ShaderExecutableD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SwapChainD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Image11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Image11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/ShaderCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/SwapChain9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.ps + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.vs + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/common/BinaryStream.h -FILE: ../../../flutter/third_party/angle/src/common/Float16ToFloat32.cpp -FILE: ../../../flutter/third_party/angle/src/common/event_tracer.cpp -FILE: ../../../flutter/third_party/angle/src/common/event_tracer.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/DiagnosticsBase.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/DiagnosticsBase.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/DirectiveHandlerBase.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/DirectiveHandlerBase.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/DirectiveParser.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/ExpressionParser.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Lexer.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Lexer.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Macro.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/MacroExpander.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/SourceLocation.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/Tokenizer.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/numeric_lex.h -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor.y -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Diagnostics.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Diagnostics.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/DirectiveHandler.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/DirectiveHandler.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Pragma.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Query.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Query.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/angletypes.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/angletypes.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RenderTargetD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RenderTargetD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ShaderExecutableD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SwapChainD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Image11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Image11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Renderer11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Renderer9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/ShaderCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/SwapChain9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.ps -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.vs -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/renderergl_utils.h ----------------------------------------------------------------------------------------------------- -Copyright 2012 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-double-to-string.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-fast-dtoa.cpp -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-ieee.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion-string-to-double.h -ORIGIN: ../../../flutter/third_party/icu/source/i18n/double-conversion.h -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-double-to-string.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-fast-dtoa.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-ieee.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-string-to-double.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion.h ----------------------------------------------------------------------------------------------------- -Copyright 2012 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/c/common/constants.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/common/context.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/common/dictionary.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/common/dictionary.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/common/transform.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/dec/bit_reader.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/dec/bit_reader.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/dec/decode.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/dec/huffman.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/dec/huffman.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/dec/prefix.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/backward_references.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/backward_references.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/backward_references_hq.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/backward_references_hq.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/backward_references_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/bit_cost.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/bit_cost.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/bit_cost_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/block_splitter.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/block_splitter.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/block_splitter_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/cluster.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/cluster.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/cluster_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/command.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/command.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/encode.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/fast_log.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/fast_log.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/histogram.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/histogram.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/histogram_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/literal_cost.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/literal_cost.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/prefix.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/ringbuffer.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/static_dict.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/static_dict.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/utf8_util.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/utf8_util.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/include/brotli/decode.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/include/brotli/encode.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/include/brotli/types.h + ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/c/common/constants.c -FILE: ../../../flutter/third_party/brotli/c/common/context.h -FILE: ../../../flutter/third_party/brotli/c/common/dictionary.c -FILE: ../../../flutter/third_party/brotli/c/common/dictionary.h -FILE: ../../../flutter/third_party/brotli/c/common/transform.c -FILE: ../../../flutter/third_party/brotli/c/dec/bit_reader.c -FILE: ../../../flutter/third_party/brotli/c/dec/bit_reader.h -FILE: ../../../flutter/third_party/brotli/c/dec/decode.c -FILE: ../../../flutter/third_party/brotli/c/dec/huffman.c -FILE: ../../../flutter/third_party/brotli/c/dec/huffman.h -FILE: ../../../flutter/third_party/brotli/c/dec/prefix.h -FILE: ../../../flutter/third_party/brotli/c/enc/backward_references.c -FILE: ../../../flutter/third_party/brotli/c/enc/backward_references.h -FILE: ../../../flutter/third_party/brotli/c/enc/backward_references_hq.c -FILE: ../../../flutter/third_party/brotli/c/enc/backward_references_hq.h -FILE: ../../../flutter/third_party/brotli/c/enc/backward_references_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/bit_cost.c -FILE: ../../../flutter/third_party/brotli/c/enc/bit_cost.h -FILE: ../../../flutter/third_party/brotli/c/enc/bit_cost_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/block_splitter.c -FILE: ../../../flutter/third_party/brotli/c/enc/block_splitter.h -FILE: ../../../flutter/third_party/brotli/c/enc/block_splitter_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/cluster.c -FILE: ../../../flutter/third_party/brotli/c/enc/cluster.h -FILE: ../../../flutter/third_party/brotli/c/enc/cluster_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/command.c -FILE: ../../../flutter/third_party/brotli/c/enc/command.h -FILE: ../../../flutter/third_party/brotli/c/enc/encode.c -FILE: ../../../flutter/third_party/brotli/c/enc/fast_log.c -FILE: ../../../flutter/third_party/brotli/c/enc/fast_log.h -FILE: ../../../flutter/third_party/brotli/c/enc/histogram.c -FILE: ../../../flutter/third_party/brotli/c/enc/histogram.h -FILE: ../../../flutter/third_party/brotli/c/enc/histogram_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/literal_cost.c -FILE: ../../../flutter/third_party/brotli/c/enc/literal_cost.h -FILE: ../../../flutter/third_party/brotli/c/enc/prefix.h -FILE: ../../../flutter/third_party/brotli/c/enc/ringbuffer.h -FILE: ../../../flutter/third_party/brotli/c/enc/static_dict.c -FILE: ../../../flutter/third_party/brotli/c/enc/static_dict.h -FILE: ../../../flutter/third_party/brotli/c/enc/utf8_util.c -FILE: ../../../flutter/third_party/brotli/c/enc/utf8_util.h -FILE: ../../../flutter/third_party/brotli/c/include/brotli/decode.h -FILE: ../../../flutter/third_party/brotli/c/include/brotli/encode.h -FILE: ../../../flutter/third_party/brotli/c/include/brotli/types.h ----------------------------------------------------------------------------------------------------- -Copyright 2013 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/imageio/wicdec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/wicdec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/alphai_dec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/quant_levels_dec_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/quant_levels_dec_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/random_utils.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/random_utils.h + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/imageio/wicdec.c -FILE: ../../../flutter/third_party/libwebp/imageio/wicdec.h -FILE: ../../../flutter/third_party/libwebp/src/dec/alphai_dec.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing.c -FILE: ../../../flutter/third_party/libwebp/src/utils/quant_levels_dec_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/quant_levels_dec_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/random_utils.c -FILE: ../../../flutter/third_party/libwebp/src/utils/random_utils.h ----------------------------------------------------------------------------------------------------- -Copyright 2013 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/GLSLANG/ShaderVars.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/mathutil.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/CodeGen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/FlagStd140Structs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/FlagStd140Structs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateOutputs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateOutputs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/blocklayout.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/blocklayout.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/blocklayoutHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/blocklayoutHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_internal.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_win.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/copyimage.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/copyimage.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/imageformats.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/loadimage.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/loadimage.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/loadimage_etc.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Constants.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/IndexRangeCache.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/IndexRangeCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Sampler.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Sampler.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/VertexArray.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/VertexArray.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/VertexAttribute.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/angletypes.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/formatutils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/formatutils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/QueryImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/copyvertex.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Blit11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Fence11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Fence11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Query11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/formatutils11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Fence9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Fence9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Query9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Query9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/formatutils9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES2.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES3.cpp + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/include/GLSLANG/ShaderVars.h -FILE: ../../../flutter/third_party/angle/src/common/mathutil.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/CodeGen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/FlagStd140Structs.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/FlagStd140Structs.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateOutputs.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateOutputs.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/blocklayout.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/blocklayout.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/blocklayoutHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/blocklayoutHLSL.h -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo.cpp -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo.h -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_internal.h -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_win.cpp -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp -FILE: ../../../flutter/third_party/angle/src/image_util/copyimage.cpp -FILE: ../../../flutter/third_party/angle/src/image_util/copyimage.h -FILE: ../../../flutter/third_party/angle/src/image_util/imageformats.h -FILE: ../../../flutter/third_party/angle/src/image_util/loadimage.cpp -FILE: ../../../flutter/third_party/angle/src/image_util/loadimage.h -FILE: ../../../flutter/third_party/angle/src/image_util/loadimage_etc.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Constants.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/IndexRangeCache.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/IndexRangeCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Sampler.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Sampler.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/VertexArray.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/VertexArray.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/VertexAttribute.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/angletypes.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/formatutils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/formatutils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/QueryImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/copyvertex.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Blit11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Clear11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Fence11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Fence11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Query11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Query11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/formatutils11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Fence9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Fence9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Query9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Query9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/formatutils9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES2.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES3.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2013 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_export.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_node.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_node.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_node_data.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_node_data.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_update.h + ../../../flutter/third_party/accessibility/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax/ax_export.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_node.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_node.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_node_data.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_node_data.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_update.h ----------------------------------------------------------------------------------------------------- -Copyright 2013 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -LIBRARY: engine -LIBRARY: spring_animation -LIBRARY: tonic -LIBRARY: web_test_fonts -LIBRARY: web_unicode -ORIGIN: ../../../flutter/LICENSE -ORIGIN: ../../../flutter/assets/asset_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/assets/asset_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/assets/asset_resolver.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/assets/directory_asset_bundle.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/assets/directory_asset_bundle.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/assets/native_assets.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/assets/native_assets.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/benchmarking/benchmarking.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/benchmarking/benchmarking.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/benchmarking/library.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/benchmarking/library.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/constants.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/graphics/gl_context_switch.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/graphics/gl_context_switch.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/graphics/persistent_cache.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/graphics/persistent_cache.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/graphics/texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/graphics/texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/macros.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/settings.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/settings.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/task_runners.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/common/task_runners.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_benchmarks.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_builder_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_gl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_gl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_helper.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_helper.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_metal.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_complexity_metal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_region_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/benchmarking/dl_transform_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/display_list.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/display_list.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_attributes.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_blend_mode.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_blend_mode.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_canvas.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_canvas.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_color.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_color.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_op_flags.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_op_flags.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_op_receiver.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_op_receiver.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_op_records.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_op_records.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_paint.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_paint.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_sampling_options.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_storage.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_storage.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_tile_mode.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_types.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_types.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_vertices.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/dl_vertices.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_filters/dl_blend_color_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_filters/dl_blend_color_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_filters/dl_linear_to_srgb_gamma_color_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_filters/dl_linear_to_srgb_gamma_color_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_filters/dl_matrix_color_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_filters/dl_matrix_color_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_filters/dl_srgb_to_linear_gamma_color_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_filters/dl_srgb_to_linear_gamma_color_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_conical_gradient_color_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_conical_gradient_color_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_gradient_color_source_base.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_image_color_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_image_color_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_linear_gradient_color_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_linear_gradient_color_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_matrix_color_source_base.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_radial_gradient_color_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_radial_gradient_color_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_runtime_effect_color_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_runtime_effect_color_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_sweep_gradient_color_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/color_sources/dl_sweep_gradient_color_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_color_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_color_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_color_filters.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_color_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_color_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_color_sources.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_image_filters.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_mask_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_mask_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_runtime_effect.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/dl_runtime_effect.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_blur_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_blur_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_color_filter_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_color_filter_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_compose_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_compose_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_dilate_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_dilate_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_erode_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_erode_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_local_matrix_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_local_matrix_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_matrix_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_matrix_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_runtime_effect_image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/effects/image_filters/dl_runtime_effect_image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_geometry_conversions.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_geometry_types.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_path.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_path.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_path_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_path_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_region.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_region.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_rtree.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/geometry/dl_rtree.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/image/dl_image.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/image/dl_image.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/image/dl_image_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/image/dl_image_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_canvas.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_canvas.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_conversions.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_conversions.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_dispatcher.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_dispatcher.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_paint_dispatcher.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_paint_dispatcher.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/skia/dl_sk_types.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/utils/dl_accumulation_rect.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/utils/dl_accumulation_rect.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/utils/dl_comparable.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/utils/dl_matrix_clip_tracker.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/utils/dl_matrix_clip_tracker.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/utils/dl_receiver_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/display_list/utils/dl_receiver_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/compositor_context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/compositor_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/diff_context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/diff_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/embedded_views.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/embedded_views.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/flow_test_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/flow_test_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/frame_timings.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/frame_timings.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/backdrop_filter_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/backdrop_filter_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/cacheable_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/cacheable_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_path_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_path_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_rect_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_rect_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_rrect_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_rrect_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_rsuperellipse_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_rsuperellipse_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/clip_shape_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/color_filter_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/color_filter_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/container_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/container_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/display_list_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/display_list_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/display_list_raster_cache_item.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/display_list_raster_cache_item.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/image_filter_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/image_filter_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/layer_raster_cache_item.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/layer_raster_cache_item.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/layer_state_stack.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/layer_state_stack.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/layer_tree.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/layer_tree.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/offscreen_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/offscreen_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/opacity_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/opacity_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/performance_overlay_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/performance_overlay_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/platform_view_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/platform_view_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/shader_mask_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/shader_mask_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/texture_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/texture_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/transform_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/layers/transform_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/paint_region.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/paint_region.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/paint_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/paint_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/raster_cache.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/raster_cache.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/raster_cache_item.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/raster_cache_key.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/raster_cache_key.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/raster_cache_util.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/raster_cache_util.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/skia_gpu_object.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/stopwatch.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/stopwatch.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/stopwatch_dl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/stopwatch_dl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/stopwatch_sk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/stopwatch_sk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/surface_frame.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/surface_frame.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/view_slicer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flow/view_slicer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flutter_vma/flutter_skia_vma.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flutter_vma/flutter_skia_vma.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flutter_vma/flutter_vma.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/flutter_vma/flutter_vma.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/ascii_trie.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/ascii_trie.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/backtrace.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/backtrace.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/backtrace_stub.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/base32.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/base32.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/build_config.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/closure.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/command_line.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/command_line.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/concurrent_message_loop.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/concurrent_message_loop.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/concurrent_message_loop_factory.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/container.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/cpu_affinity.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/cpu_affinity.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/delayed_task.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/delayed_task.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/eintr_wrapper.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/endianness.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/endianness.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/file.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/file.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/hash_combine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/hex_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/hex_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/icu_util.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/icu_util.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/log_level.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/log_settings.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/log_settings.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/log_settings_state.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/logging.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/logging.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/macros.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/make_copyable.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/mapping.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/mapping.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/math.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/ref_counted.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/ref_counted_internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/ref_ptr.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/ref_ptr_internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/task_runner_checker.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/task_runner_checker.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/thread_checker.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/thread_checker.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/weak_ptr.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/weak_ptr_internal.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/memory/weak_ptr_internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/message_loop.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/message_loop.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/message_loop_impl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/message_loop_impl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/message_loop_task_queues.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/message_loop_task_queues.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/message_loop_task_queues_benchmark.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/native_library.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/paths.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/paths.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/cpu_affinity.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/cpu_affinity.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/jni_util.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/jni_util.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/jni_weak_ref.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/jni_weak_ref.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/message_loop_android.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/message_loop_android.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/paths_android.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/paths_android.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/scoped_java_ref.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/android/scoped_java_ref.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/cf_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/cf_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/concurrent_message_loop_factory.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/message_loop_darwin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/message_loop_darwin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/paths_darwin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/platform_version.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/platform_version.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/scoped_nsautorelease_pool.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/scoped_nsautorelease_pool.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/string_range_sanitization.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/darwin/string_range_sanitization.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/log_interest_listener.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/log_interest_listener.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/log_state.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/log_state.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/message_loop_fuchsia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/message_loop_fuchsia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/paths_fuchsia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/task_observers.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/fuchsia/task_observers.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/linux/message_loop_linux.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/linux/message_loop_linux.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/linux/paths_linux.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/linux/timerfd.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/linux/timerfd.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/posix/command_line_posix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/posix/file_posix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/posix/mapping_posix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/posix/native_library_posix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/posix/paths_posix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/posix/posix_wrappers_posix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/posix/process_posix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/qnx/paths_qnx.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/command_line_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/errors_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/errors_win.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/file_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/mapping_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/message_loop_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/message_loop_win.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/native_library_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/paths_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/posix_wrappers_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/process_win.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/wstring_conversion.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/platform/win/wstring_conversion.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/posix_wrappers.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/process.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/raster_thread_merger.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/raster_thread_merger.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/shared_thread_merger.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/shared_thread_merger.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/status.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/status_or.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/string_conversion.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/string_conversion.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/atomic_object.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/count_down_latch.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/count_down_latch.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/semaphore.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/semaphore.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/sync_switch.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/sync_switch.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/waitable_event.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/synchronization/waitable_event.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/task_queue_id.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/task_runner.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/task_runner.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/task_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/task_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/task_source_grade.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/thread.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/thread.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/time/chrono_timestamp_provider.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/time/chrono_timestamp_provider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/time/time_delta.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/time/time_point.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/time/time_point.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/time/timestamp_provider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/trace_event.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/trace_event.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/unique_fd.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/unique_fd.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/unique_object.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/fml/wakeable.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/allocation.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/allocation.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/allocation_size.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/allocation_size.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/backend_cast.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/comparable.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/comparable.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/config.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/flags.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/mask.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/promise.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/promise.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/strings.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/strings.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/thread.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/thread.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/thread_safety.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/thread_safety.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/timing.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/validation.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/validation.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/version.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/base/version.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/code_gen_template.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/compiler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/compiler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/compiler_backend.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/compiler_backend.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/compiler_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/compiler_test.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/constants.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/constants.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/impellerc_main.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/include_dir.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/includer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/includer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/logger.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/reflector.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/reflector.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/runtime_stage_data.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/runtime_stage_data.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_bundle.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_bundle.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_bundle_data.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_bundle_data.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/flutter/runtime_effect.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/blending.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/branching.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/color.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/conical_gradient_fill.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/conical_gradient_uniform_fill.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/constants.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/conversions.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/dithering.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/external_texture_oes.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/gaussian.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/gradient.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/math.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/path.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/prefix_sum.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/rrect.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/texture.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/tile_mode.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/transform.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/shader_lib/impeller/types.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/source_options.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/source_options.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/spirv_compiler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/spirv_compiler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/spirv_sksl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/spirv_sksl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/switches.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/switches.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/types.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/types.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/uniform_sorter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/uniform_sorter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/utilities.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/compiler/utilities.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/allocator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/allocator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/buffer_view.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/buffer_view.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/device_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/device_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/device_buffer_descriptor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/device_buffer_descriptor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/formats.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/formats.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/host_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/host_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/idle_waiter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/range.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/range.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/raw_ptr.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/raw_ptr.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/resource_binder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/resource_binder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/runtime_types.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/runtime_types.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/sampler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/sampler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/sampler_descriptor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/sampler_descriptor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/shader_types.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/shader_types.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/texture_descriptor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/texture_descriptor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/vertex_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/core/vertex_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/aiks_context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/aiks_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/aiks_playground.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/aiks_playground.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/canvas.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/canvas.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/color_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/color_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_atlas_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_atlas_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_dispatcher.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_dispatcher.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_image_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_image_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_playground.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_playground.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_vertices_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/dl_vertices_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/nine_patch_converter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/nine_patch_converter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/paint.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/paint.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/skia_conversions.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/display_list/skia_conversions.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/anonymous_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/anonymous_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/atlas_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/atlas_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/clip_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/clip_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/color_source_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/color_source_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/conical_gradient_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/conical_gradient_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/content_context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/content_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/blend_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/blend_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/border_mask_blur_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/border_mask_blur_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/color_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/color_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/color_matrix_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/color_matrix_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/contents_filter_input.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/contents_filter_input.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/filter_contents_filter_input.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/filter_contents_filter_input.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/filter_input.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/filter_input.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/placeholder_filter_input.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/placeholder_filter_input.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/texture_filter_input.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/inputs/texture_filter_input.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/linear_to_srgb_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/linear_to_srgb_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/local_matrix_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/local_matrix_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/matrix_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/matrix_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/morphology_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/morphology_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/runtime_effect_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/runtime_effect_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/srgb_to_linear_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/srgb_to_linear_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/yuv_to_rgb_filter_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/filters/yuv_to_rgb_filter_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/framebuffer_blend_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/framebuffer_blend_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/gradient_generator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/gradient_generator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/line_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/line_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/linear_gradient_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/linear_gradient_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/pipelines.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/radial_gradient_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/radial_gradient_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/runtime_effect_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/runtime_effect_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/solid_color_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/solid_color_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/solid_rrect_blur_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/solid_rrect_blur_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/solid_rrect_like_blur_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/solid_rrect_like_blur_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/solid_rsuperellipse_blur_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/solid_rsuperellipse_blur_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/sweep_gradient_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/sweep_gradient_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/text_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/text_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/text_shadow_cache.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/text_shadow_cache.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/texture_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/texture_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/tiled_texture_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/tiled_texture_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/vertices_contents.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/contents/vertices_contents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/draw_order_resolver.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/draw_order_resolver.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/entity.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/entity.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/entity_pass_clip_stack.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/entity_pass_clip_stack.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/entity_pass_target.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/entity_pass_target.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/entity_playground.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/entity_playground.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/arc_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/arc_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/circle_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/circle_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/cover_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/cover_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/ellipse_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/ellipse_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/fill_path_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/fill_path_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/line_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/line_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/point_field_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/point_field_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/rect_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/rect_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/round_rect_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/round_rect_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/round_superellipse_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/round_superellipse_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/stroke_path_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/stroke_path_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/superellipse_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/superellipse_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/vertices_geometry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/geometry/vertices_geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/inline_pass_context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/inline_pass_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/render_target_cache.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/render_target_cache.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/save_layer_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/save_layer_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/advanced_blend.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/advanced_blend.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/blend_select.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/framebuffer_blend.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/framebuffer_blend.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/porter_duff_blend.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/porter_duff_blend.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/vertices_uber.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/vertices_uber_1.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/blending/vertices_uber_2.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/clip.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/clip.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/downsample.glsl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/border_mask_blur.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/color_matrix_color_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/filter_position.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/filter_position_uv.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/gaussian.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/linear_to_srgb_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/morphology_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/srgb_to_linear_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/filters/yuv_to_rgb_filter.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/glyph_atlas.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/glyph_atlas.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill_conical.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill_radial.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill_strip.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill_strip_radial.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_ssbo_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_uniform_fill_conical.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_uniform_fill_radial.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_uniform_fill_strip.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_uniform_fill_strip_radial.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/fast_gradient.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/fast_gradient.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/gradient_fill.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_ssbo_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_uniform_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_ssbo_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_uniform_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_ssbo_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_uniform_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/line.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/line.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/rrect_blur.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/rrect_like_blur.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/rsuperellipse_blur.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/runtime_effect.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/solid_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/solid_fill.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/texture_downsample.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/texture_downsample_gles.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/texture_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/texture_fill.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/texture_fill_strict_src.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/texture_uv_fill.vert + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/tiled_texture_fill.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/entity/shaders/tiled_texture_fill_external.frag + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/arc.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/arc.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/color.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/color.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/constants.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/constants.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/dashed_line_path_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/dashed_line_path_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/geometry_asserts.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/geometry_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/gradient.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/gradient.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/half.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/matrix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/matrix.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/matrix_decomposition.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/matrix_decomposition.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/path_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/path_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/point.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/point.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/quaternion.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/quaternion.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/rational.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/rational.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/rect.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/rect.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/round_rect.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/round_rect.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/round_superellipse.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/round_superellipse.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/round_superellipse_param.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/round_superellipse_param.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/rounding_radii.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/rounding_radii.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/rstransform.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/rstransform.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/saturated_math.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/scalar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/separated_vector.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/separated_vector.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/shear.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/shear.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/sigma.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/sigma.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/size.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/size.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/stroke_parameters.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/stroke_parameters.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/trig.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/trig.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/type_traits.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/type_traits.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/vector.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/vector.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/wangs_formula.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/geometry/wangs_formula.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/golden_digest.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/golden_digest.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/golden_playground_test.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/golden_playground_test_mac.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/golden_playground_test_stub.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/golden_tests.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/main.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/metal_screenshot.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/metal_screenshot.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/metal_screenshotter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/metal_screenshotter.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/screenshot.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/screenshotter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/vulkan_screenshotter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/vulkan_screenshotter.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/working_directory.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/golden_tests/working_directory.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/allocator_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/allocator_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/blit_command_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/blit_command_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/blit_pass_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/blit_pass_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/buffer_bindings_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/buffer_bindings_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/capabilities_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/capabilities_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/command_buffer_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/command_buffer_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/context_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/context_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/description_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/description_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/device_buffer_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/device_buffer_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/formats_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/formats_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/gpu_tracer_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/gpu_tracer_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/handle_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/handle_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/pipeline_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/pipeline_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/pipeline_library_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/pipeline_library_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/proc_table_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/proc_table_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/reactor_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/reactor_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/render_pass_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/render_pass_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/sampler_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/sampler_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/sampler_library_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/sampler_library_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/shader_function_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/shader_function_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/shader_library_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/shader_library_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/surface_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/surface_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/texture_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/texture_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/unique_handle_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/gles/unique_handle_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/allocator_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/allocator_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/blit_pass_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/blit_pass_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/command_buffer_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/command_buffer_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/compute_pass_bindings_cache_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/compute_pass_bindings_cache_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/compute_pass_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/compute_pass_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/compute_pipeline_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/compute_pipeline_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/context_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/context_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/device_buffer_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/device_buffer_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/formats_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/formats_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/gpu_tracer_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/gpu_tracer_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/pass_bindings_cache_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/pass_bindings_cache_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/pipeline_library_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/pipeline_library_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/pipeline_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/pipeline_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/render_pass_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/render_pass_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/sampler_library_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/sampler_library_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/sampler_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/sampler_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/shader_function_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/shader_function_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/shader_library_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/shader_library_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/surface_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/surface_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/swapchain_transients_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/swapchain_transients_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/texture_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/texture_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/texture_wrapper_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/texture_wrapper_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/vertex_descriptor_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/metal/vertex_descriptor_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/allocator_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/allocator_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/barrier_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/barrier_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/blit_pass_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/blit_pass_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/capabilities_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/capabilities_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/command_buffer_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/command_buffer_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/command_pool_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/command_pool_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/command_queue_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/command_queue_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/compute_pass_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/compute_pass_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/compute_pipeline_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/compute_pipeline_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/context_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/context_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/debug_report_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/debug_report_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/device_buffer_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/device_buffer_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/device_holder_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/driver_info_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/driver_info_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/formats_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/formats_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/gpu_tracer_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/gpu_tracer_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/limits_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_data_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_data_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_library_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_library_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/queue_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/queue_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/render_pass_builder_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/render_pass_builder_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/render_pass_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/render_pass_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/resource_manager_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/resource_manager_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/sampler_library_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/sampler_library_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/sampler_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/sampler_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/shader_function_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/shader_function_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/shader_library_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/shader_library_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/shared_object_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/shared_object_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/surface_context_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/surface_context_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_formats.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_texture_pool_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_texture_pool_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/external_semaphore_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/external_semaphore_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_image_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_image_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_impl_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_impl_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/surface_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/surface_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/swapchain_transients_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/swapchain_transients_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/swapchain_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/swapchain_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/texture_source_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/texture_source_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/texture_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/texture_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/tracked_objects_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/tracked_objects_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/vertex_descriptor_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/vertex_descriptor_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/vma.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/vma.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/workarounds_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/workarounds_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/yuv_conversion_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/backend/vulkan/yuv_conversion_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/blit_command.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/blit_command.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/blit_pass.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/blit_pass.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/capabilities.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/capabilities.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/command.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/command.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/command_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/command_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/command_queue.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/command_queue.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/compute_pass.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/compute_pass.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/compute_pipeline_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/compute_pipeline_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/compute_pipeline_descriptor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/compute_pipeline_descriptor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pipeline.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pipeline.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pipeline_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pipeline_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pipeline_descriptor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pipeline_descriptor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pipeline_library.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pipeline_library.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/pool.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/prefix_sum_test.comp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/render_pass.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/render_pass.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/render_target.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/render_target.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/sampler_library.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/sampler_library.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/shader_function.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/shader_function.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/shader_key.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/shader_key.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/shader_library.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/shader_library.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/shader_stage_compatibility_checker.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/snapshot.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/snapshot.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/texture_util.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/texture_util.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/threadgroup_sizing_test.comp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/vertex_buffer_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/vertex_buffer_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/vertex_descriptor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/renderer/vertex_descriptor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/runtime_stage/runtime_stage.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/runtime_stage/runtime_stage.fbs + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/runtime_stage/runtime_stage.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/runtime_stage/runtime_stage_playground.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/runtime_stage/runtime_stage_playground.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/runtime_stage/runtime_stage_types.fbs + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive.fbs + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive_main.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive_types.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive_writer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/shader_archive/shader_archive_writer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/shader_bundle/shader_bundle.fbs + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/c/tessellator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/c/tessellator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/dart/lib/tessellator.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/path_tessellator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/path_tessellator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/tessellator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/tessellator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/tessellator_libtess.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/tessellator/tessellator_libtess.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/choreographer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/choreographer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/hardware_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/hardware_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/native_window.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/native_window.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/proc_table.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/proc_table.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/surface_control.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/surface_control.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/surface_transaction.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/surface_transaction.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/surface_transaction_stats.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/android/surface_transaction_stats.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/config.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/config.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/display.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/display.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/egl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/egl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/image.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/image.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/egl/surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/gles/gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/gles/texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/gles/texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/glvk/proc_table.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/glvk/proc_table.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/glvk/trampoline.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/glvk/trampoline.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/gles/context_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/gles/context_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/gles/reactor_worker_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/gles/reactor_worker_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/gles/surface_gles.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/gles/surface_gles.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/metal/context_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/metal/context_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/metal/surface_mtl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/metal/surface_mtl.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/vulkan/context_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/vulkan/context_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/vulkan/surface_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/vulkan/surface_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/vulkan/swapchain_vk.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/backend/vulkan/swapchain_vk.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/color_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/color_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/color_source.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/color_source.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/dl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/dl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/dl_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/dl_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/example_gl.c + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/example_mtl.m + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/example_vk.c + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/formats.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/formats.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/fragment_program.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/fragment_program.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/glyph_info.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/glyph_info.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/impeller.hpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/impeller_c.c + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/impeller_cc.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/line_metrics.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/line_metrics.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/mask_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/mask_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/object.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/object.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/paint.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/paint.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/paragraph.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/paragraph.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/paragraph_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/paragraph_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/paragraph_style.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/paragraph_style.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/path.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/path.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/path_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/path_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/playground_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/playground_test.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/typography_context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/toolkit/interop/typography_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/backends/skia/text_frame_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/backends/skia/text_frame_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/backends/skia/typeface_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/backends/skia/typeface_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/backends/skia/typographer_context_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/backends/skia/typographer_context_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/font.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/font.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/font_glyph_pair.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/font_glyph_pair.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/glyph.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/glyph.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/glyph_atlas.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/glyph_atlas.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/lazy_glyph_atlas.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/lazy_glyph_atlas.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/rectangle_packer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/rectangle_packer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/text_frame.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/text_frame.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/text_run.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/text_run.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/typeface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/typeface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/typographer_context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/impeller/typographer/typographer_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/command_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/command_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/device_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/device_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/export.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/export.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/formats.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/formats.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/gpu.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/buffer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/command_buffer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/context.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/formats.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/render_pass.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/render_pipeline.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/shader.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/shader_library.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/lib/src/texture.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/render_pass.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/render_pass.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/render_pipeline.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/render_pipeline.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/shader.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/shader.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/shader_library.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/shader_library.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/gpu/texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/io/dart_io.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/io/dart_io.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/snapshot/snapshot.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/annotations.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/channel_buffers.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/compositing.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/compositing/scene.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/compositing/scene.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/compositing/scene_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/compositing/scene_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/dart_runtime_hooks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/dart_runtime_hooks.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/dart_ui.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/dart_ui.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/dart_wrapper.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/floating_point.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/geometry.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/hooks.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/io_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/isolate_name_server.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/isolate_name_server/isolate_name_server.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/isolate_name_server/isolate_name_server.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/isolate_name_server/isolate_name_server_natives.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/isolate_name_server/isolate_name_server_natives.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/key.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/lerp.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/math.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/natives.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/canvas.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/canvas.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/color_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/color_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/display_list_image_gpu.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/display_list_image_gpu.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/engine_layer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/engine_layer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/fragment_program.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/fragment_program.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/fragment_shader.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/fragment_shader.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/gradient.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/gradient.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_decoder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_decoder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_decoder_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_decoder_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_decoder_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_decoder_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_descriptor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_descriptor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_encoding.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_encoding.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_encoding_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_encoding_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_encoding_impl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_encoding_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_encoding_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_filter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_filter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_generator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_generator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_generator_apng.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_generator_apng.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_generator_registry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_generator_registry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_shader.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/image_shader.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/immutable_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/immutable_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/matrix.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/matrix.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/multi_frame_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/multi_frame_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/paint.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/paint.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/path.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/path.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/path_measure.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/path_measure.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/picture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/picture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/picture_recorder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/picture_recorder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/rrect.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/rrect.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/rsuperellipse.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/rsuperellipse.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/shader.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/shader.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/single_frame_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/single_frame_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/vertices.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/painting/vertices.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/platform_dispatcher.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/platform_isolate.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/plugins.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/plugins/callback_cache.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/plugins/callback_cache.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/pointer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/custom_accessibility_action.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/custom_accessibility_action.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/semantics_flags.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/semantics_flags.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/semantics_node.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/semantics_node.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/semantics_update.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/semantics_update.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/semantics_update_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/semantics_update_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/string_attribute.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/semantics/string_attribute.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/setup_hooks.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/snapshot_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text/asset_manager_font_provider.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text/asset_manager_font_provider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text/font_collection.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text/font_collection.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text/paragraph.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text/paragraph.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text/paragraph_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/text/paragraph_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/ui.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/ui_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/ui_dart_state.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/ui_dart_state.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/key_data.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/key_data.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/key_data_packet.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/key_data_packet.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_configuration.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_configuration.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_isolate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_isolate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_message.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_message.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_message_response.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_message_response.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_message_response_dart.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_message_response_dart.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_message_response_dart_port.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/platform_message_response_dart_port.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/pointer_data.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/pointer_data.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/pointer_data_packet.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/pointer_data_packet.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/pointer_data_packet_converter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/pointer_data_packet_converter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/view_focus.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/view_focus.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/viewport_metrics.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/ui/window/viewport_metrics.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/browser_environment.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/canvaskit_loader.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/entrypoint_loader.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/flutter.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/instantiate_wasm.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/loader.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/service_worker_loader.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/skwasm_loader.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/trusted_types.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/flutter_js/src/utils.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/annotations.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/canvas.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/channel_buffers.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/compositing.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/geometry.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/key.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/lerp.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/math.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/natives.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/painting.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/path.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/path_metrics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/platform_dispatcher.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/platform_isolate.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/pointer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/rsuperellipse_param.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/semantics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/alarm_clock.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/app_bootstrap.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/arena.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/browser_detection.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/color_filter.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/display_canvas_factory.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/fonts.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image_filter.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image_wasm_codecs.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image_web_codecs.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer_tree.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer_visitor.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/mask_filter.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/multi_surface_rasterizer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/n_way_canvas.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/native_memory.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/offscreen_canvas_rasterizer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/overlay_scene_optimizer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/painting.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/path.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/path_metrics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/picture.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/picture_recorder.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/raster_cache.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/rasterizer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/renderer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/shader.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/surface.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/text_fragmenter.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/util.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/vertices.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/clipboard.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/color_filter.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/configuration.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/display.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/dom.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/font_change_util.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/font_fallback_data.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/font_fallbacks.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/fonts.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/frame_service.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/frame_timing_recorder.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/high_contrast.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/html_image_element_codec.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/image_decoder.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/image_format_detector.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/initialization.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_app.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_loader.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_promise.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_typed_data.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/key_map.g.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/layers.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/lazy_path.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/mouse/context_menu.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/mouse/cursor.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/mouse/prevent_default.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/navigation/history.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/noto_font.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/noto_font_encoding.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/onscreen_logging.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/platform_dispatcher/app_lifecycle_state.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/platform_dispatcher/view_focus_binding.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/platform_views.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/platform_views/content_manager.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/platform_views/message_handler.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/platform_views/slots.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/plugins.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/pointer_binding.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/pointer_binding/event_position_helper.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/pointer_converter.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/profiler.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/raw_keyboard.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/renderer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/safe_browser_api.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/scene_builder.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/scene_painting.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/scene_view.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/alert.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/disable.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/expandable.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/focusable.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/form.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/header.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/heading.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/image.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/incrementable.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/label_and_value.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/landmarks.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/link.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/list.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/live_region.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/menus.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/platform_view.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/requirable.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/route.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/scrollable.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/semantics_helper.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/table.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/tabs.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/tappable.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/semantics/text_field.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/services.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/services/buffers.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/services/message_codec.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/services/message_codecs.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/services/serialization.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/shader_data.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/shadow.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/canvas.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/codecs.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/filters.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/font_collection.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/image.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/memory.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paint.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paragraph.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path_metrics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/picture.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_animated_image.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_canvas.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_filters.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_fonts.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_geometry.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_image.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_memory.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_paint.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_path.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_path_metrics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_picture.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_shaders.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_skdata.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_skstring.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_surface.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_vertices.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/skwasm_module.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_line_metrics.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_paragraph.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_paragraph_builder.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_paragraph_style.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_strut_style.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_text_style.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/surface.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/vertices.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_stub.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_stub/renderer.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/svg.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/test_embedding.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/text/line_breaker.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/text/paragraph.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/autofill_hint.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/composition_aware_mixin.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/input_action.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/input_type.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/text_capitalization.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/text_editing.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/util.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/validators.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/vector_math.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/dimensions_provider/custom_element_dimensions_provider.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/dimensions_provider/dimensions_provider.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/dimensions_provider/full_page_dimensions_provider.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/display_dpr_stream.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/dom_manager.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/embedding_strategy/custom_element_embedding_strategy.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/embedding_strategy/embedding_strategy.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/embedding_strategy/full_page_embedding_strategy.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/flutter_view_manager.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/global_html_attributes.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/hot_restart_cache_handler.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/style_manager.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/code_unit_flags.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/debug.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/layout.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/paint.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/paragraph.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/wrapper.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/src/engine/window.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/text.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/tile_mode.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/asset_manager.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/benchmarks.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/browser_detection.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/flutter_views_proxy.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/images.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/initialization.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/navigation/platform_location.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/navigation/url_strategy.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/platform_view_registry.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/plugins.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/testing.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/lib/window.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/animated_image.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/animated_image_stub.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/canvas.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/contour_measure.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/data.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/export.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/filters.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/fonts.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/helpers.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/image.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/library_skwasm_support.js + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/live_objects.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/live_objects.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/paint.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/path.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/picture.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/shaders.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/skwasm_support.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/string.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/surface.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/text/line_metrics.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/text/paragraph.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/text/paragraph_builder.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/text/paragraph_builder_builtin_icu.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/text/paragraph_builder_client_icu.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/text/paragraph_style.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/text/strut_style.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/text/text_style.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/vertices.cpp + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/lib/web_ui/skwasm/wrappers.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_isolate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_isolate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_isolate_group_data.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_isolate_group_data.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_plugin_registrant.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_plugin_registrant.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_service_isolate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_service_isolate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_snapshot.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_snapshot.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_timestamp_provider.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_timestamp_provider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_vm.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_vm.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_vm_data.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_vm_data.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_vm_initializer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_vm_initializer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_vm_lifecycle.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/dart_vm_lifecycle.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/embedder_resources.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/embedder_resources.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/isolate_configuration.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/isolate_configuration.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/platform_data.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/platform_data.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/platform_isolate_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/platform_isolate_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/ptrace_check.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/ptrace_check.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/runtime_controller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/runtime_controller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/runtime_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/runtime_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/service_protocol.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/service_protocol.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/skia_concurrent_executor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/skia_concurrent_executor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/test_font_data.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/runtime/test_font_data.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/animator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/animator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/base64.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/base64.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/context_options.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/context_options.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/dart_native_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/display.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/display.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/display_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/display_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/dl_op_spy.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/dl_op_spy.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/engine.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/engine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/pipeline.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/pipeline.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/platform_message_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/platform_view.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/platform_view.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/pointer_data_dispatcher.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/pointer_data_dispatcher.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/rasterizer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/rasterizer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/resource_cache_limit_calculator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/resource_cache_limit_calculator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/run_configuration.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/run_configuration.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/serialization_callbacks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/serialization_callbacks.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_io_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_io_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_external_view_embedder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_external_view_embedder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_platform_view.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_platform_view.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_platform_view_gl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_platform_view_gl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_platform_view_metal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_platform_view_metal.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_platform_view_vulkan.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/shell_test_platform_view_vulkan.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/skia_event_tracer_impl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/skia_event_tracer_impl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/snapshot_controller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/snapshot_controller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/snapshot_controller_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/snapshot_controller_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/snapshot_controller_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/snapshot_controller_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/snapshot_surface_producer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/switches.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/switches.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/thread_host.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/thread_host.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/variable_refresh_rate_display.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/variable_refresh_rate_display.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/variable_refresh_rate_reporter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/vsync_waiter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/vsync_waiter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/vsync_waiter_fallback.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/vsync_waiter_fallback.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/vsync_waiters_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/common/vsync_waiters_test.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_gl_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_gl_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_gl_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_gl_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_gl_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_gl_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_metal_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_metal_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_metal_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_metal_impeller.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_metal_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_metal_skia.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_noop.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_noop.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_software.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_software.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_software_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_software_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_vulkan.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_vulkan.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_vulkan_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_vulkan_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_vulkan_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/gpu/gpu_surface_vulkan_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/AndroidManifest.xml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_context_dynamic_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_context_dynamic_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_context_gl_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_context_gl_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_context_gl_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_context_gl_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_context_vk_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_context_vk_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_display.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_display.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_egl_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_egl_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_environment_gl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_environment_gl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_exports.lst + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_image_generator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_image_generator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_rendering_selector.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_shell_holder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_shell_holder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_dynamic_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_dynamic_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_gl_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_gl_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_gl_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_gl_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_software.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_software.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_vk_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/android_surface_vk_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/apk_asset_provider.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/apk_asset_provider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/context/android_context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/context/android_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_wrapper.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_wrapper.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/external_view_embedder/surface_pool.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/external_view_embedder/surface_pool.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/flutter_main.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/flutter_main.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture_gl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture_gl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture_gl_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture_gl_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture_gl_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture_gl_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture_vk_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_external_texture_vk_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_lru.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/image_lru.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/Build.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/BuildConfig.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/FlutterInjector.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/Log.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/app/FlutterApplication.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/AndroidTouchProcessor.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/ExclusiveAppComponent.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivity.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivityLaunchConfigs.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterEngineConfigurator.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterEngineProvider.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterFragment.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterFragmentActivity.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterImageView.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterPlayStoreSplitApplication.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterSurfaceView.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterTextureView.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterView.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterViewDelegate.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyChannelResponder.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyData.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyEmbedderResponder.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyboardManager.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyboardMap.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/MotionEventTracker.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/RenderMode.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/SurfaceHolderCallbackCompat.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/TransparencyMode.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngine.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngineCache.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngineConnectionRegistry.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngineGroup.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngineGroupCache.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterJNI.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterOverlaySurface.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterShellArgs.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/DartExecutor.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/DartMessenger.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/PlatformMessageHandler.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/PlatformTaskQueue.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/deferredcomponents/DeferredComponentManager.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/deferredcomponents/PlayStoreDeferredComponentManager.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/loader/ApplicationInfoLoader.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/loader/FlutterApplicationInfo.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/loader/ResourceExtractor.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorView.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorsStack.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/FlutterPlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/PluginRegistry.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/activity/ActivityAware.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/activity/ActivityControlSurface.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/activity/ActivityPluginBinding.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverAware.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverControlSurface.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverPluginBinding.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/contentprovider/ContentProviderAware.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/contentprovider/ContentProviderControlSurface.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/contentprovider/ContentProviderPluginBinding.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/lifecycle/HiddenLifecycleReference.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/service/ServiceAware.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/service/ServiceControlSurface.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/service/ServicePluginBinding.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/util/GeneratedPluginRegister.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterUiDisplayListener.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/RenderSurface.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/SurfaceTextureSurfaceProducer.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/SurfaceTextureWrapper.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/AccessibilityChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/BackGestureChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/DeferredComponentChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/KeyEventChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/KeyboardChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/LifecycleChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/LocalizationChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/MouseCursorChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/NavigationChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewCreationRequest.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewTouch.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewsChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewsChannel2.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/ProcessTextChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/RestorationChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/ScribeChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/SensitiveContentChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/SettingsChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/SpellCheckChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/SystemChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/TextInputChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/ActivityLifecycleListener.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/BasicMessageChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/BinaryCodec.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/BinaryMessenger.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/ErrorLogResult.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/EventChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/FlutterException.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/JSONMessageCodec.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/JSONMethodCodec.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/JSONUtil.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/MessageCodec.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/MethodCall.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/MethodChannel.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/MethodCodec.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/PluginRegistry.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/StandardMessageCodec.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/StandardMethodCodec.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/common/StringCodec.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/FlutterTextUtils.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/ImeSyncDeferringInsetsCallback.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/InputConnectionAdaptor.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/ListenableEditingState.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/ScribePlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/SpellCheckPlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/TextEditingDelta.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/TextInputPlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/localization/LocalizationPlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/mouse/MouseCursorPlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/AccessibilityEventsDelegate.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTarget.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformOverlayView.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformView.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewFactory.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRegistry.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRegistryImpl.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRenderTarget.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewWrapper.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsAccessibilityDelegate.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController2.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsControllerDelegator.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SingleViewFakeWindowViewGroup.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SingleViewPresentation.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SingleViewWindowManager.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SurfaceProducerPlatformViewRenderTarget.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SurfaceTexturePlatformViewRenderTarget.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/VirtualDisplayController.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/WindowManagerHandler.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/text/ProcessTextPlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/plugin/view/SensitiveContentPlugin.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/util/HandlerCompat.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/util/PathUtils.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/util/Preconditions.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/util/Predicate.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/util/TraceSection.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/util/ViewUtils.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/view/AccessibilityViewEmbedder.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/view/FlutterCallbackInformation.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/view/FlutterRunArguments.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/view/TextureRegistry.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/io/flutter/view/VsyncWaiter.java + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/jni/jni_mock.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/jni/platform_view_android_jni.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/jni/platform_view_android_jni.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/library_loader.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_message_handler_android.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_message_handler_android.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_message_response_android.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_message_response_android.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_view_android.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_view_android.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_view_android_jni_impl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/platform_view_android_jni_impl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface/android_native_window.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface/android_native_window.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface/android_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface/android_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface/android_surface_mock.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface/android_surface_mock.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface/snapshot_surface_producer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface/snapshot_surface_producer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface_texture_external_texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface_texture_external_texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface_texture_external_texture_gl_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface_texture_external_texture_gl_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface_texture_external_texture_gl_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface_texture_external_texture_gl_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface_texture_external_texture_vk_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/surface_texture_external_texture_vk_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/vsync_waiter_android.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/android/vsync_waiter_android.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/accessibility_bridge.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/accessibility_bridge.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/alert_platform_node_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/alert_platform_node_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/app_lifecycle_state.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/binary_messenger_impl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/byte_buffer_streams.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/core_implementations.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/engine_method_result.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/basic_message_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/binary_messenger.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/byte_streams.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/encodable_value.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/engine_method_result.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/event_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/event_sink.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/event_stream_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/event_stream_handler_functions.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/message_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_call.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_result.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_result_functions.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/plugin_registrar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/plugin_registry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/standard_codec_serializer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/standard_message_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/standard_method_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/texture_registrar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/plugin_registrar.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/standard_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/client_wrapper/texture_registrar_impl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/engine_switches.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/engine_switches.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/flutter_platform_node_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/flutter_platform_node_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/geometry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/incoming_message_dispatcher.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/incoming_message_dispatcher.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/isolate_scope.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/isolate_scope.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/json_message_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/json_message_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/json_method_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/json_method_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/path_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/path_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/platform_provided_menu.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/public/flutter_export.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/public/flutter_macros.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/public/flutter_messenger.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/public/flutter_plugin_registrar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/public/flutter_texture_registrar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/test_accessibility_bridge.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/test_accessibility_bridge.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/text_editing_delta.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/text_editing_delta.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/text_input_model.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/text_input_model.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/text_range.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/common/windowing.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/InternalFlutterSwiftCommon-Bridging-Header.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/SwiftTestingMain.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/SwiftTestingRunner.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/availability_version_check.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/availability_version_check.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/buffer_conversions.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/buffer_conversions.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/command_line.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/command_line.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterBinaryMessenger.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterChannels.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterCodecs.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterDartProject.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterHourFormat.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterMacros.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterTexture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterBinaryMessengerRelay.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterBinaryMessengerRelay.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterBinaryMessengerRelayTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterChannels.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterChannelsTest.m + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterCodecs.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterHourFormat.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterNSBundleUtils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterNSBundleUtils.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterStandardCodec.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterStandardCodecHelper.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterStandardCodecHelper.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterStandardCodec_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterTestUtils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterTestUtils.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/Logger.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/LoggerTest.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/LoggerTestUtils.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/common/framework/Source/SwiftTests.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalSkia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalSkia.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/InternalFlutterSwift-Bridging-Header.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/flutter_task_queue_dispatch.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/Flutter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterAppDelegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterCallbackCache.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterEngine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterEngineGroup.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterHeadlessDartRunner.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlatformViews.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterPluginAppLifeCycleDelegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterSceneDelegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterViewController.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/ConnectionCollection.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/ConnectionCollectionTest.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FakeUIPressProxy.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegateTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate_Test.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterCallbackCache.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterCallbackCache_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterChannelKeyResponder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterChannelKeyResponder.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterChannelKeyResponderTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProjectTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartVMServicePublisher.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartVMServicePublisher.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEmbedderKeyResponder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEmbedderKeyResponder.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEmbedderKeyResponderTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineGroup.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineGroupTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEnginePlatformViewTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine_Test.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterFakeKeyEvents.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterFakeKeyEvents.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterHeadlessDartRunner.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterIndirectScribbleDelegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyPrimaryResponder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeySecondaryResponder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyboardManager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyboardManager.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyboardManagerTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterLaunchEngine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterLaunchEngine.m + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterLaunchEngineTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayer.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayerTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterOverlayView.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterOverlayView.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformPlugin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformPluginTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsController.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsController.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPluginAppLifeCycleDelegate.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPluginAppLifeCycleDelegateTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPluginAppLifeCycleDelegate_internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterRestorationPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterRestorationPlugin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterRestorationPluginTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate.m + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegateTest.m + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSemanticsScrollView.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSemanticsScrollView.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSharedApplication.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSharedApplication.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSharedApplicationTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSpellCheckPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSpellCheckPlugin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSpellCheckPluginTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputDelegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPluginTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextureRegistryRelay.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextureRegistryRelay.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextureRegistryRelayTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTouchInterceptingView_Test.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUmbrellaImport.m + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUndoManagerDelegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUndoManagerPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUndoManagerPlugin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUndoManagerPluginTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterView.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterView.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewControllerTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewResponder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/IOKit.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/KeyCodeMap.g.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/KeyCodeMap_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject+UIFocusSystem.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObjectTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObjectTestMocks.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/TextInputSemanticsObject.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/TextInputSemanticsObject.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/UIPressProxy.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/UIViewController+FlutterScreenAndSceneIfLoaded.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/UIViewController+FlutterScreenAndSceneIfLoaded.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/UIViewController_FlutterScreenAndSceneIfLoadedTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/VsyncWaiterIosTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge_ios.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge_test.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/availability_version_check_test.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/overlay_layer_pool.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/overlay_layer_pool.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/platform_message_response_darwin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/platform_message_response_darwin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/profiler_metrics_ios.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/profiler_metrics_ios.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/vsync_waiter_ios.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/framework/Source/vsync_waiter_ios.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_context.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_context_metal_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_context_metal_impeller.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_context_noop.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_context_noop.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_external_texture_metal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_external_texture_metal.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_external_view_embedder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_external_view_embedder.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_surface.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_surface_metal_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_surface_metal_impeller.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_surface_noop.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/ios_surface_noop.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/platform_message_handler_ios.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/platform_message_handler_ios.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/platform_message_handler_ios_test.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/platform_view_ios.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/platform_view_ios.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/rendering_api_selection.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/ios/rendering_api_selection.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/InternalFlutterSwift-Bridging-Header.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterAppDelegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterAppLifecycleDelegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterEngine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterMacOS.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterPlatformViews.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginMacOS.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginRegistrarMacOS.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterViewController.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMacTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppDelegate.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppDelegateTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppDelegate_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppLifecycleDelegate.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppLifecycleDelegateTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppLifecycleDelegate_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterChannelKeyResponder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterChannelKeyResponder.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterChannelKeyResponderTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterCompositor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDartProject.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDartProject_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDisplayLink.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDisplayLink.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDisplayLinkTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderExternalTextureTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderKeyResponder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderKeyResponder.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderKeyResponderTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTestUtils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTestUtils.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterExternalTexture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterExternalTexture.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyPrimaryResponder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardLayout.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardLayout.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardManager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardManager.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardManagerTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPlugin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPluginTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPlugin_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMouseCursorPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMouseCursorPlugin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMutatorView.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMutatorView.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMutatorViewTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformNodeDelegateMac.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformNodeDelegateMac.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformNodeDelegateMacTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformViewController.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformViewController.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformViewControllerTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterRenderer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurface.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurfaceManagerTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputPlugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputPlugin.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputPluginTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputSemanticsObject.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputSemanticsObject.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputSemanticsObjectTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextureRegistrar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextureRegistrar.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTimeConverter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTimeConverter.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterUmbrellaImportTests.m + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterVSyncWaiter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterVSyncWaiter.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterVSyncWaiterTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterView.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterView.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewController.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTestUtils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTestUtils.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewController_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewEngineProvider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewEngineProvider.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewEngineProviderTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewProvider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterWindowController.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterWindowController.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterWindowControllerTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/KeyCodeMap.g.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/KeyCodeMapTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/KeyCodeMap_Internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/NSView+ClipsToBounds.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/ResizeSynchronizer.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/ResizeSynchronizerTest.swift + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/TestFlutterPlatformView.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/darwin/macos/framework/Source/TestFlutterPlatformView.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_engine.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_engine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_exports.lst + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_texture_gl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_texture_gl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_texture_metal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_texture_metal.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_texture_resolver.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_texture_resolver.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_view.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_view.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_view_embedder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_external_view_embedder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_include.c + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_include2.c + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_layers.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_layers.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_platform_message_response.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_platform_message_response.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_render_target.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_render_target.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_render_target_cache.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_render_target_cache.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_render_target_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_render_target_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_render_target_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_render_target_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_semantics_update.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_semantics_update.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_struct_macros.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_gl_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal_impeller.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_metal_skia.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_software.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_software.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan_impeller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan_impeller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_task_runner.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_task_runner.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_thread_host.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/embedder_thread_host.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/pixel_formats.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/pixel_formats.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/platform_view_embedder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/platform_view_embedder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/test_utils/key_codes.g.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/test_utils/proc_table_replacement.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/vsync_waiter_embedder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/embedder/vsync_waiter_embedder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/lib/fuchsia.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/sdk_ext/fuchsia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/sdk_ext/fuchsia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_disposition.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_waiter.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/init.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/system.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/zd_channel.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/zd_handle.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/zircon.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle_disposition.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle_disposition.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle_waiter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle_waiter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/natives.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/natives.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/basic_types.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/basic_types.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/clock.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/clock.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/dart_dl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/dart_dl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/handle.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/handle.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/macros.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart/compiler.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/builtin_libraries.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/builtin_libraries.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_component_controller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_component_controller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_runner.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_runner.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_test_component_controller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_test_component_controller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/builtin.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/shim.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/snapshot.cc.tmpl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/snapshot.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/snapshot.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/fidl/echo.fidl + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/logging.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/main.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/common.shard.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/dart_aot_product_runner.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/dart_aot_runner.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/dart_jit_product_runner.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/dart_jit_runner.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/service_isolate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/service_isolate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/dart_runner/vmservice/empty.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/accessibility_bridge.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/accessibility_bridge.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/canvas_spy.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/canvas_spy.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/component_v2.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/component_v2.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/engine.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/engine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/external_view_embedder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/external_view_embedder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/file_in_namespace_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/file_in_namespace_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/flatland_connection.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/flatland_connection.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/flutter_runner_fakes.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/flutter_runner_product_configuration.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/flutter_runner_product_configuration.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/focus_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/focus_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/fuchsia_intl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/fuchsia_intl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/isolate_configurator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/isolate_configurator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/kernel/framework_shim.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/keyboard.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/keyboard.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/logging.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/main.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/meta/common.shard.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/platform_view.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/platform_view.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/pointer_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/pointer_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/pointer_injector_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/pointer_injector_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/program_metadata.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/rtree.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/rtree.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/runner.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/runner.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/software_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/software_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/software_surface_producer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/software_surface_producer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/surface_producer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/task_runner_adapter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/task_runner_adapter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/text_delegate.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/text_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/unique_fdio_ns.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/vsync_waiter.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/vsync_waiter.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface_pool.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface_pool.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface_producer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface_producer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols/dart_profiler_symbols.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/build_info.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/build_info_in.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/files.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/files.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/handle_exception.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/handle_exception.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/inlines.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/logging.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/mapped_resource.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/mapped_resource.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/root_inspect_node.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/root_inspect_node.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/tempfs.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/tempfs.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/vmo.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/vmo.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/vmservice_object.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/vmservice_object.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/client_wrapper/flutter_engine.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/client_wrapper/flutter_window_controller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/client_wrapper/include/flutter/flutter_engine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/client_wrapper/include/flutter/flutter_window.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/client_wrapper/include/flutter/flutter_window_controller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/client_wrapper/include/flutter/plugin_registrar_glfw.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/event_loop.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/event_loop.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/flutter_glfw.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/glfw_event_loop.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/glfw_event_loop.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/headless_event_loop.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/headless_event_loop.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/key_event_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/key_event_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/keyboard_hook_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/platform_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/platform_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/public/flutter_glfw.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/system_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/system_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/system_utils_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/text_input_plugin.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/glfw/text_input_plugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_accessible_node.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_accessible_node.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_accessible_node_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_accessible_text_field.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_accessible_text_field.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_accessible_text_field_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_application.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_application_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_basic_message_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_basic_message_channel_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_binary_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_binary_codec_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_binary_messenger.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_binary_messenger_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_binary_messenger_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_compositor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_compositor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_compositor_opengl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_compositor_opengl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_compositor_opengl_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_compositor_software.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_compositor_software.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_compositor_software_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_dart_project.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_dart_project_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_dart_project_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_display_monitor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_display_monitor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_display_monitor_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_engine.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_engine_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_engine_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_event_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_event_channel_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_framebuffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_framebuffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_framebuffer_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_gnome_settings.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_gnome_settings.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_gnome_settings_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_json_message_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_json_message_codec_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_json_method_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_json_method_codec_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_channel_responder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_channel_responder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_channel_responder_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_embedder_responder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_embedder_responder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_embedder_responder_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_embedder_responder_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_event.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_event.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_event_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_key_event_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_handler_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_layout.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_layout.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_layout_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_keyboard_manager_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_message_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_message_codec_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_call.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_call_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_channel_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_channel_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_codec_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_codec_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_response.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_method_response_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_mouse_cursor_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_mouse_cursor_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_mouse_cursor_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_mouse_cursor_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_opengl_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_opengl_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_pixel_buffer_texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_pixel_buffer_texture_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_pixel_buffer_texture_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_platform_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_platform_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_platform_channel_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_platform_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_platform_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_platform_handler_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_plugin_registrar.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_plugin_registrar_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_plugin_registrar_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_plugin_registry.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_pointer_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_pointer_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_pointer_manager_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_renderable.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_renderable.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_scrolling_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_scrolling_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_scrolling_manager_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings_handler_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings_portal.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings_portal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_settings_portal_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_socket_accessible.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_socket_accessible.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_standard_message_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_standard_message_codec_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_standard_method_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_standard_method_codec_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_string_codec.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_string_codec_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_task_runner.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_task_runner.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_text_input_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_text_input_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_text_input_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_text_input_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_text_input_handler_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_texture.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_texture_gl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_texture_gl_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_texture_gl_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_texture_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_texture_registrar.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_texture_registrar_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_texture_registrar_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_touch_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_touch_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_touch_manager_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_value.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_value_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_view.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_view_accessible.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_view_accessible.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_view_accessible_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_view_private.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_view_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_window_state_monitor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_window_state_monitor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_window_state_monitor_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_windowing_channel.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_windowing_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_windowing_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_windowing_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/fl_windowing_handler_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/key_mapping.g.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/key_mapping.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/key_mapping_test.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_application.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_basic_message_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_binary_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_dart_project.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_engine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_event_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_json_message_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_json_method_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_message_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_method_call.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_method_channel.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_method_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_method_response.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_pixel_buffer_texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_plugin_registrar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_plugin_registry.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_standard_message_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_standard_method_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_string_codec.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_texture_gl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_texture_registrar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_value.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_view.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/linux/public/flutter_linux/flutter_linux.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/accessibility_bridge_windows.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/accessibility_bridge_windows.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/accessibility_plugin.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/accessibility_plugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/client_wrapper/flutter_engine.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/client_wrapper/flutter_view_controller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/dart_project.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/flutter_engine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/flutter_view.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/flutter_view_controller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/plugin_registrar_windows.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/compositor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/compositor_opengl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/compositor_opengl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/compositor_software.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/compositor_software.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/cursor_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/cursor_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/direct_manipulation.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/direct_manipulation.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/dpi_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/dpi_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/context.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/context.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/egl.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/egl.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/proc_table.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/proc_table.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/window_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/egl/window_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/event_watcher.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/event_watcher.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/external_texture.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/external_texture_d3d.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/external_texture_d3d.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/external_texture_pixelbuffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/external_texture_pixelbuffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_desktop_messenger.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_key_map.g.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_platform_node_delegate_windows.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_platform_node_delegate_windows.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_project_bundle.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_project_bundle.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_window.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_window.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/display_monitor.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/display_monitor.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_engine.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_engine.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_internal.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_texture_registrar.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_texture_registrar.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_view.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_view.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_view_controller.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/flutter_windows_view_controller.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/host_window.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/host_window.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_handler_base.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_key_channel_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_key_channel_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_key_embedder_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_key_embedder_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_key_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_key_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/keyboard_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/platform_handler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/platform_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/platform_view_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/platform_view_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/platform_view_plugin.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/platform_view_plugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/public/flutter_windows.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/sequential_id_generator.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/sequential_id_generator.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/settings_plugin.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/settings_plugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/system_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/system_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/task_runner.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/task_runner.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/task_runner_window.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/task_runner_window.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/text_input_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/text_input_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/text_input_plugin.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/text_input_plugin.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/window_binding_handler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/window_binding_handler_delegate.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/window_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/window_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/window_proc_delegate_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/window_proc_delegate_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/window_state.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/windows_lifecycle_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/windows_lifecycle_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/windows_proc_table.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/windows_proc_table.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/platform/windows/windowsx_shim.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/profiling/sampling_profiler.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/profiling/sampling_profiler.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/version/version.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/version/version.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/shell/vmservice/empty.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/sky/packages/sky_engine/lib/_empty.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/color_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/compiler_specific.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/container_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/logging.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/logging.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/macros.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/simple_token.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/simple_token.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/string_utils.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/string_utils.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/transform.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/transform.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/spring_animation/SpringAnimationTest.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/common/build_config.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/common/log.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/common/log.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/common/macros.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/converter/dart_converter.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/converter/dart_converter.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_args.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_binding_macros.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_class_library.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_class_library.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_class_provider.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_class_provider.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_library_natives.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_library_natives.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_list.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_list.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_message_handler.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_message_handler.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_microtask_queue.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_microtask_queue.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_persistent_value.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_persistent_value.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_state.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_state.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_weak_persistent_value.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_weak_persistent_value.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_wrappable.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_wrappable.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/dart_wrapper_info.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/file_loader/file_loader.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/file_loader/file_loader.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/file_loader/file_loader_fuchsia.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/file_loader/file_loader_posix.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/file_loader/file_loader_win.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/filesystem/filesystem/eintr_wrapper.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/filesystem/filesystem/file.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/filesystem/filesystem/file.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/filesystem/filesystem/path.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/filesystem/filesystem/path_posix.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/filesystem/filesystem/path_win.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/filesystem/filesystem/portable_unistd.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/logging/dart_error.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/logging/dart_error.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/logging/dart_invoke.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/logging/dart_invoke.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/parsers/packages_map.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/parsers/packages_map.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/scopes/dart_api_scope.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/scopes/dart_isolate_scope.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/scopes/dart_isolate_scope.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/dart_byte_data.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/dart_byte_data.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/float32_list.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/float64_list.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/int32_list.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/typed_list.cc + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/typed_list.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/uint16_list.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/tonic/typed_data/uint8_list.h + ../../../flutter/third_party/tonic/LICENSE -ORIGIN: ../../../flutter/third_party/web_test_fonts/lib/web_test_fonts.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/web_test_fonts/lib/web_test_fonts/web_test_fonts.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/web_unicode/lib/web_unicode.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/third_party/web_unicode/tool/unicode_sync_script.dart + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/benchmarks/skparagraph_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/benchmarks/txt_run_all_benchmarks.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/skia/paragraph_builder_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/skia/paragraph_builder_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/skia/paragraph_skia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/skia/paragraph_skia.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/asset_font_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/asset_font_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/font_asset_provider.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/font_asset_provider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/font_collection.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/font_collection.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/font_features.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/font_features.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/font_style.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/font_weight.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/line_metrics.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/paragraph.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/paragraph_builder.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/paragraph_builder.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/paragraph_style.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/paragraph_style.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/placeholder_run.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/placeholder_run.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/platform.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/platform.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/platform_android.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/platform_fuchsia.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/platform_linux.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/platform_mac.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/platform_mac.mm + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/platform_windows.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/run_metrics.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/test_font_manager.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/test_font_manager.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/text_baseline.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/text_decoration.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/text_decoration.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/text_shadow.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/text_shadow.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/text_style.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/text_style.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/typeface_font_asset_provider.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/txt/src/txt/typeface_font_asset_provider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/procs/vulkan_handle.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/procs/vulkan_handle.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/procs/vulkan_interface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/procs/vulkan_interface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/procs/vulkan_proc_table.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/procs/vulkan_proc_table.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/swiftshader_path.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_application.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_application.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_backbuffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_backbuffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_command_buffer.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_command_buffer.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_debug_report.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_debug_report.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_device.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_device.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_image.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_image.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_native_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_native_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_native_surface_android.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_native_surface_android.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_provider.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_provider.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_skia_proc_table.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_skia_proc_table.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_surface.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_surface.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_swapchain.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_swapchain.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_swapchain_stub.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_utilities.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_utilities.h + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_window.cc + ../../../flutter/LICENSE -ORIGIN: ../../../flutter/vulkan/vulkan_window.h + ../../../flutter/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/.engine-release.version -FILE: ../../../flutter/.gemini/settings.json -FILE: ../../../flutter/.pylintrc -FILE: ../../../flutter/GEMINI.md -FILE: ../../../flutter/assets/asset_manager.cc -FILE: ../../../flutter/assets/asset_manager.h -FILE: ../../../flutter/assets/asset_resolver.h -FILE: ../../../flutter/assets/directory_asset_bundle.cc -FILE: ../../../flutter/assets/directory_asset_bundle.h -FILE: ../../../flutter/assets/native_assets.cc -FILE: ../../../flutter/assets/native_assets.h -FILE: ../../../flutter/benchmarking/benchmarking.cc -FILE: ../../../flutter/benchmarking/benchmarking.h -FILE: ../../../flutter/benchmarking/library.cc -FILE: ../../../flutter/benchmarking/library.h -FILE: ../../../flutter/common/constants.h -FILE: ../../../flutter/common/exported_symbols.sym -FILE: ../../../flutter/common/exported_symbols_mac.sym -FILE: ../../../flutter/common/exported_test_symbols.sym -FILE: ../../../flutter/common/exported_test_symbols_mac.sym -FILE: ../../../flutter/common/graphics/gl_context_switch.cc -FILE: ../../../flutter/common/graphics/gl_context_switch.h -FILE: ../../../flutter/common/graphics/persistent_cache.cc -FILE: ../../../flutter/common/graphics/persistent_cache.h -FILE: ../../../flutter/common/graphics/texture.cc -FILE: ../../../flutter/common/graphics/texture.h -FILE: ../../../flutter/common/macros.h -FILE: ../../../flutter/common/settings.cc -FILE: ../../../flutter/common/settings.h -FILE: ../../../flutter/common/task_runners.cc -FILE: ../../../flutter/common/task_runners.h -FILE: ../../../flutter/display_list/benchmarking/dl_benchmarks.cc -FILE: ../../../flutter/display_list/benchmarking/dl_benchmarks.h -FILE: ../../../flutter/display_list/benchmarking/dl_builder_benchmarks.cc -FILE: ../../../flutter/display_list/benchmarking/dl_complexity.cc -FILE: ../../../flutter/display_list/benchmarking/dl_complexity.h -FILE: ../../../flutter/display_list/benchmarking/dl_complexity_gl.cc -FILE: ../../../flutter/display_list/benchmarking/dl_complexity_gl.h -FILE: ../../../flutter/display_list/benchmarking/dl_complexity_helper.cc -FILE: ../../../flutter/display_list/benchmarking/dl_complexity_helper.h -FILE: ../../../flutter/display_list/benchmarking/dl_complexity_metal.cc -FILE: ../../../flutter/display_list/benchmarking/dl_complexity_metal.h -FILE: ../../../flutter/display_list/benchmarking/dl_region_benchmarks.cc -FILE: ../../../flutter/display_list/benchmarking/dl_transform_benchmarks.cc -FILE: ../../../flutter/display_list/display_list.cc -FILE: ../../../flutter/display_list/display_list.h -FILE: ../../../flutter/display_list/dl_attributes.h -FILE: ../../../flutter/display_list/dl_blend_mode.cc -FILE: ../../../flutter/display_list/dl_blend_mode.h -FILE: ../../../flutter/display_list/dl_builder.cc -FILE: ../../../flutter/display_list/dl_builder.h -FILE: ../../../flutter/display_list/dl_canvas.cc -FILE: ../../../flutter/display_list/dl_canvas.h -FILE: ../../../flutter/display_list/dl_color.cc -FILE: ../../../flutter/display_list/dl_color.h -FILE: ../../../flutter/display_list/dl_op_flags.cc -FILE: ../../../flutter/display_list/dl_op_flags.h -FILE: ../../../flutter/display_list/dl_op_receiver.cc -FILE: ../../../flutter/display_list/dl_op_receiver.h -FILE: ../../../flutter/display_list/dl_op_records.cc -FILE: ../../../flutter/display_list/dl_op_records.h -FILE: ../../../flutter/display_list/dl_paint.cc -FILE: ../../../flutter/display_list/dl_paint.h -FILE: ../../../flutter/display_list/dl_sampling_options.h -FILE: ../../../flutter/display_list/dl_storage.cc -FILE: ../../../flutter/display_list/dl_storage.h -FILE: ../../../flutter/display_list/dl_tile_mode.h -FILE: ../../../flutter/display_list/dl_types.cc -FILE: ../../../flutter/display_list/dl_types.h -FILE: ../../../flutter/display_list/dl_vertices.cc -FILE: ../../../flutter/display_list/dl_vertices.h -FILE: ../../../flutter/display_list/effects/color_filters/dl_blend_color_filter.cc -FILE: ../../../flutter/display_list/effects/color_filters/dl_blend_color_filter.h -FILE: ../../../flutter/display_list/effects/color_filters/dl_linear_to_srgb_gamma_color_filter.cc -FILE: ../../../flutter/display_list/effects/color_filters/dl_linear_to_srgb_gamma_color_filter.h -FILE: ../../../flutter/display_list/effects/color_filters/dl_matrix_color_filter.cc -FILE: ../../../flutter/display_list/effects/color_filters/dl_matrix_color_filter.h -FILE: ../../../flutter/display_list/effects/color_filters/dl_srgb_to_linear_gamma_color_filter.cc -FILE: ../../../flutter/display_list/effects/color_filters/dl_srgb_to_linear_gamma_color_filter.h -FILE: ../../../flutter/display_list/effects/color_sources/dl_conical_gradient_color_source.cc -FILE: ../../../flutter/display_list/effects/color_sources/dl_conical_gradient_color_source.h -FILE: ../../../flutter/display_list/effects/color_sources/dl_gradient_color_source_base.h -FILE: ../../../flutter/display_list/effects/color_sources/dl_image_color_source.cc -FILE: ../../../flutter/display_list/effects/color_sources/dl_image_color_source.h -FILE: ../../../flutter/display_list/effects/color_sources/dl_linear_gradient_color_source.cc -FILE: ../../../flutter/display_list/effects/color_sources/dl_linear_gradient_color_source.h -FILE: ../../../flutter/display_list/effects/color_sources/dl_matrix_color_source_base.h -FILE: ../../../flutter/display_list/effects/color_sources/dl_radial_gradient_color_source.cc -FILE: ../../../flutter/display_list/effects/color_sources/dl_radial_gradient_color_source.h -FILE: ../../../flutter/display_list/effects/color_sources/dl_runtime_effect_color_source.cc -FILE: ../../../flutter/display_list/effects/color_sources/dl_runtime_effect_color_source.h -FILE: ../../../flutter/display_list/effects/color_sources/dl_sweep_gradient_color_source.cc -FILE: ../../../flutter/display_list/effects/color_sources/dl_sweep_gradient_color_source.h -FILE: ../../../flutter/display_list/effects/dl_color_filter.cc -FILE: ../../../flutter/display_list/effects/dl_color_filter.h -FILE: ../../../flutter/display_list/effects/dl_color_filters.h -FILE: ../../../flutter/display_list/effects/dl_color_source.cc -FILE: ../../../flutter/display_list/effects/dl_color_source.h -FILE: ../../../flutter/display_list/effects/dl_color_sources.h -FILE: ../../../flutter/display_list/effects/dl_image_filter.cc -FILE: ../../../flutter/display_list/effects/dl_image_filter.h -FILE: ../../../flutter/display_list/effects/dl_image_filters.h -FILE: ../../../flutter/display_list/effects/dl_mask_filter.cc -FILE: ../../../flutter/display_list/effects/dl_mask_filter.h -FILE: ../../../flutter/display_list/effects/dl_runtime_effect.cc -FILE: ../../../flutter/display_list/effects/dl_runtime_effect.h -FILE: ../../../flutter/display_list/effects/image_filters/dl_blur_image_filter.cc -FILE: ../../../flutter/display_list/effects/image_filters/dl_blur_image_filter.h -FILE: ../../../flutter/display_list/effects/image_filters/dl_color_filter_image_filter.cc -FILE: ../../../flutter/display_list/effects/image_filters/dl_color_filter_image_filter.h -FILE: ../../../flutter/display_list/effects/image_filters/dl_compose_image_filter.cc -FILE: ../../../flutter/display_list/effects/image_filters/dl_compose_image_filter.h -FILE: ../../../flutter/display_list/effects/image_filters/dl_dilate_image_filter.cc -FILE: ../../../flutter/display_list/effects/image_filters/dl_dilate_image_filter.h -FILE: ../../../flutter/display_list/effects/image_filters/dl_erode_image_filter.cc -FILE: ../../../flutter/display_list/effects/image_filters/dl_erode_image_filter.h -FILE: ../../../flutter/display_list/effects/image_filters/dl_local_matrix_image_filter.cc -FILE: ../../../flutter/display_list/effects/image_filters/dl_local_matrix_image_filter.h -FILE: ../../../flutter/display_list/effects/image_filters/dl_matrix_image_filter.cc -FILE: ../../../flutter/display_list/effects/image_filters/dl_matrix_image_filter.h -FILE: ../../../flutter/display_list/effects/image_filters/dl_runtime_effect_image_filter.cc -FILE: ../../../flutter/display_list/effects/image_filters/dl_runtime_effect_image_filter.h -FILE: ../../../flutter/display_list/geometry/dl_geometry_conversions.h -FILE: ../../../flutter/display_list/geometry/dl_geometry_types.h -FILE: ../../../flutter/display_list/geometry/dl_path.cc -FILE: ../../../flutter/display_list/geometry/dl_path.h -FILE: ../../../flutter/display_list/geometry/dl_path_builder.cc -FILE: ../../../flutter/display_list/geometry/dl_path_builder.h -FILE: ../../../flutter/display_list/geometry/dl_region.cc -FILE: ../../../flutter/display_list/geometry/dl_region.h -FILE: ../../../flutter/display_list/geometry/dl_rtree.cc -FILE: ../../../flutter/display_list/geometry/dl_rtree.h -FILE: ../../../flutter/display_list/image/dl_image.cc -FILE: ../../../flutter/display_list/image/dl_image.h -FILE: ../../../flutter/display_list/image/dl_image_skia.cc -FILE: ../../../flutter/display_list/image/dl_image_skia.h -FILE: ../../../flutter/display_list/skia/dl_sk_canvas.cc -FILE: ../../../flutter/display_list/skia/dl_sk_canvas.h -FILE: ../../../flutter/display_list/skia/dl_sk_conversions.cc -FILE: ../../../flutter/display_list/skia/dl_sk_conversions.h -FILE: ../../../flutter/display_list/skia/dl_sk_dispatcher.cc -FILE: ../../../flutter/display_list/skia/dl_sk_dispatcher.h -FILE: ../../../flutter/display_list/skia/dl_sk_paint_dispatcher.cc -FILE: ../../../flutter/display_list/skia/dl_sk_paint_dispatcher.h -FILE: ../../../flutter/display_list/skia/dl_sk_types.h -FILE: ../../../flutter/display_list/utils/dl_accumulation_rect.cc -FILE: ../../../flutter/display_list/utils/dl_accumulation_rect.h -FILE: ../../../flutter/display_list/utils/dl_comparable.h -FILE: ../../../flutter/display_list/utils/dl_matrix_clip_tracker.cc -FILE: ../../../flutter/display_list/utils/dl_matrix_clip_tracker.h -FILE: ../../../flutter/display_list/utils/dl_receiver_utils.cc -FILE: ../../../flutter/display_list/utils/dl_receiver_utils.h -FILE: ../../../flutter/flow/compositor_context.cc -FILE: ../../../flutter/flow/compositor_context.h -FILE: ../../../flutter/flow/diff_context.cc -FILE: ../../../flutter/flow/diff_context.h -FILE: ../../../flutter/flow/embedded_views.cc -FILE: ../../../flutter/flow/embedded_views.h -FILE: ../../../flutter/flow/flow_test_utils.cc -FILE: ../../../flutter/flow/flow_test_utils.h -FILE: ../../../flutter/flow/frame_timings.cc -FILE: ../../../flutter/flow/frame_timings.h -FILE: ../../../flutter/flow/layers/backdrop_filter_layer.cc -FILE: ../../../flutter/flow/layers/backdrop_filter_layer.h -FILE: ../../../flutter/flow/layers/cacheable_layer.cc -FILE: ../../../flutter/flow/layers/cacheable_layer.h -FILE: ../../../flutter/flow/layers/clip_path_layer.cc -FILE: ../../../flutter/flow/layers/clip_path_layer.h -FILE: ../../../flutter/flow/layers/clip_rect_layer.cc -FILE: ../../../flutter/flow/layers/clip_rect_layer.h -FILE: ../../../flutter/flow/layers/clip_rrect_layer.cc -FILE: ../../../flutter/flow/layers/clip_rrect_layer.h -FILE: ../../../flutter/flow/layers/clip_rsuperellipse_layer.cc -FILE: ../../../flutter/flow/layers/clip_rsuperellipse_layer.h -FILE: ../../../flutter/flow/layers/clip_shape_layer.h -FILE: ../../../flutter/flow/layers/color_filter_layer.cc -FILE: ../../../flutter/flow/layers/color_filter_layer.h -FILE: ../../../flutter/flow/layers/container_layer.cc -FILE: ../../../flutter/flow/layers/container_layer.h -FILE: ../../../flutter/flow/layers/display_list_layer.cc -FILE: ../../../flutter/flow/layers/display_list_layer.h -FILE: ../../../flutter/flow/layers/display_list_raster_cache_item.cc -FILE: ../../../flutter/flow/layers/display_list_raster_cache_item.h -FILE: ../../../flutter/flow/layers/image_filter_layer.cc -FILE: ../../../flutter/flow/layers/image_filter_layer.h -FILE: ../../../flutter/flow/layers/layer.cc -FILE: ../../../flutter/flow/layers/layer.h -FILE: ../../../flutter/flow/layers/layer_raster_cache_item.cc -FILE: ../../../flutter/flow/layers/layer_raster_cache_item.h -FILE: ../../../flutter/flow/layers/layer_state_stack.cc -FILE: ../../../flutter/flow/layers/layer_state_stack.h -FILE: ../../../flutter/flow/layers/layer_tree.cc -FILE: ../../../flutter/flow/layers/layer_tree.h -FILE: ../../../flutter/flow/layers/offscreen_surface.cc -FILE: ../../../flutter/flow/layers/offscreen_surface.h -FILE: ../../../flutter/flow/layers/opacity_layer.cc -FILE: ../../../flutter/flow/layers/opacity_layer.h -FILE: ../../../flutter/flow/layers/performance_overlay_layer.cc -FILE: ../../../flutter/flow/layers/performance_overlay_layer.h -FILE: ../../../flutter/flow/layers/platform_view_layer.cc -FILE: ../../../flutter/flow/layers/platform_view_layer.h -FILE: ../../../flutter/flow/layers/shader_mask_layer.cc -FILE: ../../../flutter/flow/layers/shader_mask_layer.h -FILE: ../../../flutter/flow/layers/texture_layer.cc -FILE: ../../../flutter/flow/layers/texture_layer.h -FILE: ../../../flutter/flow/layers/transform_layer.cc -FILE: ../../../flutter/flow/layers/transform_layer.h -FILE: ../../../flutter/flow/paint_region.cc -FILE: ../../../flutter/flow/paint_region.h -FILE: ../../../flutter/flow/paint_utils.cc -FILE: ../../../flutter/flow/paint_utils.h -FILE: ../../../flutter/flow/raster_cache.cc -FILE: ../../../flutter/flow/raster_cache.h -FILE: ../../../flutter/flow/raster_cache_item.h -FILE: ../../../flutter/flow/raster_cache_key.cc -FILE: ../../../flutter/flow/raster_cache_key.h -FILE: ../../../flutter/flow/raster_cache_util.cc -FILE: ../../../flutter/flow/raster_cache_util.h -FILE: ../../../flutter/flow/skia_gpu_object.h -FILE: ../../../flutter/flow/stopwatch.cc -FILE: ../../../flutter/flow/stopwatch.h -FILE: ../../../flutter/flow/stopwatch_dl.cc -FILE: ../../../flutter/flow/stopwatch_dl.h -FILE: ../../../flutter/flow/stopwatch_sk.cc -FILE: ../../../flutter/flow/stopwatch_sk.h -FILE: ../../../flutter/flow/surface.cc -FILE: ../../../flutter/flow/surface.h -FILE: ../../../flutter/flow/surface_frame.cc -FILE: ../../../flutter/flow/surface_frame.h -FILE: ../../../flutter/flow/view_slicer.cc -FILE: ../../../flutter/flow/view_slicer.h -FILE: ../../../flutter/flutter_vma/flutter_skia_vma.cc -FILE: ../../../flutter/flutter_vma/flutter_skia_vma.h -FILE: ../../../flutter/flutter_vma/flutter_vma.cc -FILE: ../../../flutter/flutter_vma/flutter_vma.h -FILE: ../../../flutter/fml/ascii_trie.cc -FILE: ../../../flutter/fml/ascii_trie.h -FILE: ../../../flutter/fml/backtrace.cc -FILE: ../../../flutter/fml/backtrace.h -FILE: ../../../flutter/fml/backtrace_stub.cc -FILE: ../../../flutter/fml/base32.cc -FILE: ../../../flutter/fml/base32.h -FILE: ../../../flutter/fml/build_config.h -FILE: ../../../flutter/fml/closure.h -FILE: ../../../flutter/fml/command_line.cc -FILE: ../../../flutter/fml/command_line.h -FILE: ../../../flutter/fml/concurrent_message_loop.cc -FILE: ../../../flutter/fml/concurrent_message_loop.h -FILE: ../../../flutter/fml/concurrent_message_loop_factory.cc -FILE: ../../../flutter/fml/container.h -FILE: ../../../flutter/fml/cpu_affinity.cc -FILE: ../../../flutter/fml/cpu_affinity.h -FILE: ../../../flutter/fml/delayed_task.cc -FILE: ../../../flutter/fml/delayed_task.h -FILE: ../../../flutter/fml/eintr_wrapper.h -FILE: ../../../flutter/fml/endianness.cc -FILE: ../../../flutter/fml/endianness.h -FILE: ../../../flutter/fml/file.cc -FILE: ../../../flutter/fml/file.h -FILE: ../../../flutter/fml/hash_combine.h -FILE: ../../../flutter/fml/hex_codec.cc -FILE: ../../../flutter/fml/hex_codec.h -FILE: ../../../flutter/fml/icu_util.cc -FILE: ../../../flutter/fml/icu_util.h -FILE: ../../../flutter/fml/log_level.h -FILE: ../../../flutter/fml/log_settings.cc -FILE: ../../../flutter/fml/log_settings.h -FILE: ../../../flutter/fml/log_settings_state.cc -FILE: ../../../flutter/fml/logging.cc -FILE: ../../../flutter/fml/logging.h -FILE: ../../../flutter/fml/macros.h -FILE: ../../../flutter/fml/make_copyable.h -FILE: ../../../flutter/fml/mapping.cc -FILE: ../../../flutter/fml/mapping.h -FILE: ../../../flutter/fml/math.h -FILE: ../../../flutter/fml/memory/ref_counted.h -FILE: ../../../flutter/fml/memory/ref_counted_internal.h -FILE: ../../../flutter/fml/memory/ref_ptr.h -FILE: ../../../flutter/fml/memory/ref_ptr_internal.h -FILE: ../../../flutter/fml/memory/task_runner_checker.cc -FILE: ../../../flutter/fml/memory/task_runner_checker.h -FILE: ../../../flutter/fml/memory/thread_checker.cc -FILE: ../../../flutter/fml/memory/thread_checker.h -FILE: ../../../flutter/fml/memory/weak_ptr.h -FILE: ../../../flutter/fml/memory/weak_ptr_internal.cc -FILE: ../../../flutter/fml/memory/weak_ptr_internal.h -FILE: ../../../flutter/fml/message_loop.cc -FILE: ../../../flutter/fml/message_loop.h -FILE: ../../../flutter/fml/message_loop_impl.cc -FILE: ../../../flutter/fml/message_loop_impl.h -FILE: ../../../flutter/fml/message_loop_task_queues.cc -FILE: ../../../flutter/fml/message_loop_task_queues.h -FILE: ../../../flutter/fml/message_loop_task_queues_benchmark.cc -FILE: ../../../flutter/fml/native_library.h -FILE: ../../../flutter/fml/paths.cc -FILE: ../../../flutter/fml/paths.h -FILE: ../../../flutter/fml/platform/android/cpu_affinity.cc -FILE: ../../../flutter/fml/platform/android/cpu_affinity.h -FILE: ../../../flutter/fml/platform/android/jni_util.cc -FILE: ../../../flutter/fml/platform/android/jni_util.h -FILE: ../../../flutter/fml/platform/android/jni_weak_ref.cc -FILE: ../../../flutter/fml/platform/android/jni_weak_ref.h -FILE: ../../../flutter/fml/platform/android/message_loop_android.cc -FILE: ../../../flutter/fml/platform/android/message_loop_android.h -FILE: ../../../flutter/fml/platform/android/paths_android.cc -FILE: ../../../flutter/fml/platform/android/paths_android.h -FILE: ../../../flutter/fml/platform/android/scoped_java_ref.cc -FILE: ../../../flutter/fml/platform/android/scoped_java_ref.h -FILE: ../../../flutter/fml/platform/darwin/cf_utils.cc -FILE: ../../../flutter/fml/platform/darwin/cf_utils.h -FILE: ../../../flutter/fml/platform/darwin/concurrent_message_loop_factory.mm -FILE: ../../../flutter/fml/platform/darwin/message_loop_darwin.h -FILE: ../../../flutter/fml/platform/darwin/message_loop_darwin.mm -FILE: ../../../flutter/fml/platform/darwin/paths_darwin.mm -FILE: ../../../flutter/fml/platform/darwin/platform_version.h -FILE: ../../../flutter/fml/platform/darwin/platform_version.mm -FILE: ../../../flutter/fml/platform/darwin/scoped_nsautorelease_pool.cc -FILE: ../../../flutter/fml/platform/darwin/scoped_nsautorelease_pool.h -FILE: ../../../flutter/fml/platform/darwin/string_range_sanitization.h -FILE: ../../../flutter/fml/platform/darwin/string_range_sanitization.mm -FILE: ../../../flutter/fml/platform/fuchsia/log_interest_listener.cc -FILE: ../../../flutter/fml/platform/fuchsia/log_interest_listener.h -FILE: ../../../flutter/fml/platform/fuchsia/log_state.cc -FILE: ../../../flutter/fml/platform/fuchsia/log_state.h -FILE: ../../../flutter/fml/platform/fuchsia/message_loop_fuchsia.cc -FILE: ../../../flutter/fml/platform/fuchsia/message_loop_fuchsia.h -FILE: ../../../flutter/fml/platform/fuchsia/paths_fuchsia.cc -FILE: ../../../flutter/fml/platform/fuchsia/task_observers.cc -FILE: ../../../flutter/fml/platform/fuchsia/task_observers.h -FILE: ../../../flutter/fml/platform/linux/message_loop_linux.cc -FILE: ../../../flutter/fml/platform/linux/message_loop_linux.h -FILE: ../../../flutter/fml/platform/linux/paths_linux.cc -FILE: ../../../flutter/fml/platform/linux/timerfd.cc -FILE: ../../../flutter/fml/platform/linux/timerfd.h -FILE: ../../../flutter/fml/platform/posix/command_line_posix.cc -FILE: ../../../flutter/fml/platform/posix/file_posix.cc -FILE: ../../../flutter/fml/platform/posix/mapping_posix.cc -FILE: ../../../flutter/fml/platform/posix/native_library_posix.cc -FILE: ../../../flutter/fml/platform/posix/paths_posix.cc -FILE: ../../../flutter/fml/platform/posix/posix_wrappers_posix.cc -FILE: ../../../flutter/fml/platform/posix/process_posix.cc -FILE: ../../../flutter/fml/platform/qnx/paths_qnx.cc -FILE: ../../../flutter/fml/platform/win/command_line_win.cc -FILE: ../../../flutter/fml/platform/win/errors_win.cc -FILE: ../../../flutter/fml/platform/win/errors_win.h -FILE: ../../../flutter/fml/platform/win/file_win.cc -FILE: ../../../flutter/fml/platform/win/mapping_win.cc -FILE: ../../../flutter/fml/platform/win/message_loop_win.cc -FILE: ../../../flutter/fml/platform/win/message_loop_win.h -FILE: ../../../flutter/fml/platform/win/native_library_win.cc -FILE: ../../../flutter/fml/platform/win/paths_win.cc -FILE: ../../../flutter/fml/platform/win/posix_wrappers_win.cc -FILE: ../../../flutter/fml/platform/win/process_win.cc -FILE: ../../../flutter/fml/platform/win/wstring_conversion.cc -FILE: ../../../flutter/fml/platform/win/wstring_conversion.h -FILE: ../../../flutter/fml/posix_wrappers.h -FILE: ../../../flutter/fml/process.h -FILE: ../../../flutter/fml/raster_thread_merger.cc -FILE: ../../../flutter/fml/raster_thread_merger.h -FILE: ../../../flutter/fml/shared_thread_merger.cc -FILE: ../../../flutter/fml/shared_thread_merger.h -FILE: ../../../flutter/fml/status.h -FILE: ../../../flutter/fml/status_or.h -FILE: ../../../flutter/fml/string_conversion.cc -FILE: ../../../flutter/fml/string_conversion.h -FILE: ../../../flutter/fml/synchronization/atomic_object.h -FILE: ../../../flutter/fml/synchronization/count_down_latch.cc -FILE: ../../../flutter/fml/synchronization/count_down_latch.h -FILE: ../../../flutter/fml/synchronization/semaphore.cc -FILE: ../../../flutter/fml/synchronization/semaphore.h -FILE: ../../../flutter/fml/synchronization/sync_switch.cc -FILE: ../../../flutter/fml/synchronization/sync_switch.h -FILE: ../../../flutter/fml/synchronization/waitable_event.cc -FILE: ../../../flutter/fml/synchronization/waitable_event.h -FILE: ../../../flutter/fml/task_queue_id.h -FILE: ../../../flutter/fml/task_runner.cc -FILE: ../../../flutter/fml/task_runner.h -FILE: ../../../flutter/fml/task_source.cc -FILE: ../../../flutter/fml/task_source.h -FILE: ../../../flutter/fml/task_source_grade.h -FILE: ../../../flutter/fml/thread.cc -FILE: ../../../flutter/fml/thread.h -FILE: ../../../flutter/fml/time/chrono_timestamp_provider.cc -FILE: ../../../flutter/fml/time/chrono_timestamp_provider.h -FILE: ../../../flutter/fml/time/time_delta.h -FILE: ../../../flutter/fml/time/time_point.cc -FILE: ../../../flutter/fml/time/time_point.h -FILE: ../../../flutter/fml/time/timestamp_provider.h -FILE: ../../../flutter/fml/trace_event.cc -FILE: ../../../flutter/fml/trace_event.h -FILE: ../../../flutter/fml/unique_fd.cc -FILE: ../../../flutter/fml/unique_fd.h -FILE: ../../../flutter/fml/unique_object.h -FILE: ../../../flutter/fml/wakeable.h -FILE: ../../../flutter/impeller/GEMINI.md -FILE: ../../../flutter/impeller/base/allocation.cc -FILE: ../../../flutter/impeller/base/allocation.h -FILE: ../../../flutter/impeller/base/allocation_size.cc -FILE: ../../../flutter/impeller/base/allocation_size.h -FILE: ../../../flutter/impeller/base/backend_cast.h -FILE: ../../../flutter/impeller/base/comparable.cc -FILE: ../../../flutter/impeller/base/comparable.h -FILE: ../../../flutter/impeller/base/config.h -FILE: ../../../flutter/impeller/base/flags.h -FILE: ../../../flutter/impeller/base/mask.h -FILE: ../../../flutter/impeller/base/promise.cc -FILE: ../../../flutter/impeller/base/promise.h -FILE: ../../../flutter/impeller/base/strings.cc -FILE: ../../../flutter/impeller/base/strings.h -FILE: ../../../flutter/impeller/base/thread.cc -FILE: ../../../flutter/impeller/base/thread.h -FILE: ../../../flutter/impeller/base/thread_safety.cc -FILE: ../../../flutter/impeller/base/thread_safety.h -FILE: ../../../flutter/impeller/base/timing.h -FILE: ../../../flutter/impeller/base/validation.cc -FILE: ../../../flutter/impeller/base/validation.h -FILE: ../../../flutter/impeller/base/version.cc -FILE: ../../../flutter/impeller/base/version.h -FILE: ../../../flutter/impeller/compiler/code_gen_template.h -FILE: ../../../flutter/impeller/compiler/compiler.cc -FILE: ../../../flutter/impeller/compiler/compiler.h -FILE: ../../../flutter/impeller/compiler/compiler_backend.cc -FILE: ../../../flutter/impeller/compiler/compiler_backend.h -FILE: ../../../flutter/impeller/compiler/compiler_test.cc -FILE: ../../../flutter/impeller/compiler/compiler_test.h -FILE: ../../../flutter/impeller/compiler/constants.cc -FILE: ../../../flutter/impeller/compiler/constants.h -FILE: ../../../flutter/impeller/compiler/impellerc_main.cc -FILE: ../../../flutter/impeller/compiler/include_dir.h -FILE: ../../../flutter/impeller/compiler/includer.cc -FILE: ../../../flutter/impeller/compiler/includer.h -FILE: ../../../flutter/impeller/compiler/logger.h -FILE: ../../../flutter/impeller/compiler/reflector.cc -FILE: ../../../flutter/impeller/compiler/reflector.h -FILE: ../../../flutter/impeller/compiler/runtime_stage_data.cc -FILE: ../../../flutter/impeller/compiler/runtime_stage_data.h -FILE: ../../../flutter/impeller/compiler/shader_bundle.cc -FILE: ../../../flutter/impeller/compiler/shader_bundle.h -FILE: ../../../flutter/impeller/compiler/shader_bundle_data.cc -FILE: ../../../flutter/impeller/compiler/shader_bundle_data.h -FILE: ../../../flutter/impeller/compiler/shader_lib/flutter/runtime_effect.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/blending.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/branching.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/color.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/conical_gradient_fill.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/conical_gradient_uniform_fill.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/constants.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/conversions.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/dithering.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/external_texture_oes.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/gaussian.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/gradient.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/math.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/path.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/prefix_sum.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/rrect.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/texture.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/tile_mode.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/transform.glsl -FILE: ../../../flutter/impeller/compiler/shader_lib/impeller/types.glsl -FILE: ../../../flutter/impeller/compiler/source_options.cc -FILE: ../../../flutter/impeller/compiler/source_options.h -FILE: ../../../flutter/impeller/compiler/spirv_compiler.cc -FILE: ../../../flutter/impeller/compiler/spirv_compiler.h -FILE: ../../../flutter/impeller/compiler/spirv_sksl.cc -FILE: ../../../flutter/impeller/compiler/spirv_sksl.h -FILE: ../../../flutter/impeller/compiler/switches.cc -FILE: ../../../flutter/impeller/compiler/switches.h -FILE: ../../../flutter/impeller/compiler/types.cc -FILE: ../../../flutter/impeller/compiler/types.h -FILE: ../../../flutter/impeller/compiler/uniform_sorter.cc -FILE: ../../../flutter/impeller/compiler/uniform_sorter.h -FILE: ../../../flutter/impeller/compiler/utilities.cc -FILE: ../../../flutter/impeller/compiler/utilities.h -FILE: ../../../flutter/impeller/core/allocator.cc -FILE: ../../../flutter/impeller/core/allocator.h -FILE: ../../../flutter/impeller/core/buffer_view.cc -FILE: ../../../flutter/impeller/core/buffer_view.h -FILE: ../../../flutter/impeller/core/device_buffer.cc -FILE: ../../../flutter/impeller/core/device_buffer.h -FILE: ../../../flutter/impeller/core/device_buffer_descriptor.cc -FILE: ../../../flutter/impeller/core/device_buffer_descriptor.h -FILE: ../../../flutter/impeller/core/formats.cc -FILE: ../../../flutter/impeller/core/formats.h -FILE: ../../../flutter/impeller/core/host_buffer.cc -FILE: ../../../flutter/impeller/core/host_buffer.h -FILE: ../../../flutter/impeller/core/idle_waiter.h -FILE: ../../../flutter/impeller/core/range.cc -FILE: ../../../flutter/impeller/core/range.h -FILE: ../../../flutter/impeller/core/raw_ptr.cc -FILE: ../../../flutter/impeller/core/raw_ptr.h -FILE: ../../../flutter/impeller/core/resource_binder.cc -FILE: ../../../flutter/impeller/core/resource_binder.h -FILE: ../../../flutter/impeller/core/runtime_types.cc -FILE: ../../../flutter/impeller/core/runtime_types.h -FILE: ../../../flutter/impeller/core/sampler.cc -FILE: ../../../flutter/impeller/core/sampler.h -FILE: ../../../flutter/impeller/core/sampler_descriptor.cc -FILE: ../../../flutter/impeller/core/sampler_descriptor.h -FILE: ../../../flutter/impeller/core/shader_types.cc -FILE: ../../../flutter/impeller/core/shader_types.h -FILE: ../../../flutter/impeller/core/texture.cc -FILE: ../../../flutter/impeller/core/texture.h -FILE: ../../../flutter/impeller/core/texture_descriptor.cc -FILE: ../../../flutter/impeller/core/texture_descriptor.h -FILE: ../../../flutter/impeller/core/vertex_buffer.cc -FILE: ../../../flutter/impeller/core/vertex_buffer.h -FILE: ../../../flutter/impeller/display_list/aiks_context.cc -FILE: ../../../flutter/impeller/display_list/aiks_context.h -FILE: ../../../flutter/impeller/display_list/aiks_playground.cc -FILE: ../../../flutter/impeller/display_list/aiks_playground.h -FILE: ../../../flutter/impeller/display_list/canvas.cc -FILE: ../../../flutter/impeller/display_list/canvas.h -FILE: ../../../flutter/impeller/display_list/color_filter.cc -FILE: ../../../flutter/impeller/display_list/color_filter.h -FILE: ../../../flutter/impeller/display_list/dl_atlas_geometry.cc -FILE: ../../../flutter/impeller/display_list/dl_atlas_geometry.h -FILE: ../../../flutter/impeller/display_list/dl_dispatcher.cc -FILE: ../../../flutter/impeller/display_list/dl_dispatcher.h -FILE: ../../../flutter/impeller/display_list/dl_image_impeller.cc -FILE: ../../../flutter/impeller/display_list/dl_image_impeller.h -FILE: ../../../flutter/impeller/display_list/dl_playground.cc -FILE: ../../../flutter/impeller/display_list/dl_playground.h -FILE: ../../../flutter/impeller/display_list/dl_vertices_geometry.cc -FILE: ../../../flutter/impeller/display_list/dl_vertices_geometry.h -FILE: ../../../flutter/impeller/display_list/image_filter.cc -FILE: ../../../flutter/impeller/display_list/image_filter.h -FILE: ../../../flutter/impeller/display_list/nine_patch_converter.cc -FILE: ../../../flutter/impeller/display_list/nine_patch_converter.h -FILE: ../../../flutter/impeller/display_list/paint.cc -FILE: ../../../flutter/impeller/display_list/paint.h -FILE: ../../../flutter/impeller/display_list/skia_conversions.cc -FILE: ../../../flutter/impeller/display_list/skia_conversions.h -FILE: ../../../flutter/impeller/entity/contents/anonymous_contents.cc -FILE: ../../../flutter/impeller/entity/contents/anonymous_contents.h -FILE: ../../../flutter/impeller/entity/contents/atlas_contents.cc -FILE: ../../../flutter/impeller/entity/contents/atlas_contents.h -FILE: ../../../flutter/impeller/entity/contents/clip_contents.cc -FILE: ../../../flutter/impeller/entity/contents/clip_contents.h -FILE: ../../../flutter/impeller/entity/contents/color_source_contents.cc -FILE: ../../../flutter/impeller/entity/contents/color_source_contents.h -FILE: ../../../flutter/impeller/entity/contents/conical_gradient_contents.cc -FILE: ../../../flutter/impeller/entity/contents/conical_gradient_contents.h -FILE: ../../../flutter/impeller/entity/contents/content_context.cc -FILE: ../../../flutter/impeller/entity/contents/content_context.h -FILE: ../../../flutter/impeller/entity/contents/contents.cc -FILE: ../../../flutter/impeller/entity/contents/contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/blend_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/blend_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/border_mask_blur_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/border_mask_blur_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/color_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/color_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/color_matrix_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/color_matrix_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/contents_filter_input.cc -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/contents_filter_input.h -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/filter_contents_filter_input.cc -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/filter_contents_filter_input.h -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/filter_input.cc -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/filter_input.h -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/placeholder_filter_input.cc -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/placeholder_filter_input.h -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/texture_filter_input.cc -FILE: ../../../flutter/impeller/entity/contents/filters/inputs/texture_filter_input.h -FILE: ../../../flutter/impeller/entity/contents/filters/linear_to_srgb_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/linear_to_srgb_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/local_matrix_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/local_matrix_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/matrix_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/matrix_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/morphology_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/morphology_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/runtime_effect_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/runtime_effect_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/srgb_to_linear_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/srgb_to_linear_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/filters/yuv_to_rgb_filter_contents.cc -FILE: ../../../flutter/impeller/entity/contents/filters/yuv_to_rgb_filter_contents.h -FILE: ../../../flutter/impeller/entity/contents/framebuffer_blend_contents.cc -FILE: ../../../flutter/impeller/entity/contents/framebuffer_blend_contents.h -FILE: ../../../flutter/impeller/entity/contents/gradient_generator.cc -FILE: ../../../flutter/impeller/entity/contents/gradient_generator.h -FILE: ../../../flutter/impeller/entity/contents/line_contents.cc -FILE: ../../../flutter/impeller/entity/contents/line_contents.h -FILE: ../../../flutter/impeller/entity/contents/linear_gradient_contents.cc -FILE: ../../../flutter/impeller/entity/contents/linear_gradient_contents.h -FILE: ../../../flutter/impeller/entity/contents/pipelines.h -FILE: ../../../flutter/impeller/entity/contents/radial_gradient_contents.cc -FILE: ../../../flutter/impeller/entity/contents/radial_gradient_contents.h -FILE: ../../../flutter/impeller/entity/contents/runtime_effect_contents.cc -FILE: ../../../flutter/impeller/entity/contents/runtime_effect_contents.h -FILE: ../../../flutter/impeller/entity/contents/solid_color_contents.cc -FILE: ../../../flutter/impeller/entity/contents/solid_color_contents.h -FILE: ../../../flutter/impeller/entity/contents/solid_rrect_blur_contents.cc -FILE: ../../../flutter/impeller/entity/contents/solid_rrect_blur_contents.h -FILE: ../../../flutter/impeller/entity/contents/solid_rrect_like_blur_contents.cc -FILE: ../../../flutter/impeller/entity/contents/solid_rrect_like_blur_contents.h -FILE: ../../../flutter/impeller/entity/contents/solid_rsuperellipse_blur_contents.cc -FILE: ../../../flutter/impeller/entity/contents/solid_rsuperellipse_blur_contents.h -FILE: ../../../flutter/impeller/entity/contents/sweep_gradient_contents.cc -FILE: ../../../flutter/impeller/entity/contents/sweep_gradient_contents.h -FILE: ../../../flutter/impeller/entity/contents/text_contents.cc -FILE: ../../../flutter/impeller/entity/contents/text_contents.h -FILE: ../../../flutter/impeller/entity/contents/text_shadow_cache.cc -FILE: ../../../flutter/impeller/entity/contents/text_shadow_cache.h -FILE: ../../../flutter/impeller/entity/contents/texture_contents.cc -FILE: ../../../flutter/impeller/entity/contents/texture_contents.h -FILE: ../../../flutter/impeller/entity/contents/tiled_texture_contents.cc -FILE: ../../../flutter/impeller/entity/contents/tiled_texture_contents.h -FILE: ../../../flutter/impeller/entity/contents/vertices_contents.cc -FILE: ../../../flutter/impeller/entity/contents/vertices_contents.h -FILE: ../../../flutter/impeller/entity/draw_order_resolver.cc -FILE: ../../../flutter/impeller/entity/draw_order_resolver.h -FILE: ../../../flutter/impeller/entity/entity.cc -FILE: ../../../flutter/impeller/entity/entity.h -FILE: ../../../flutter/impeller/entity/entity_pass_clip_stack.cc -FILE: ../../../flutter/impeller/entity/entity_pass_clip_stack.h -FILE: ../../../flutter/impeller/entity/entity_pass_target.cc -FILE: ../../../flutter/impeller/entity/entity_pass_target.h -FILE: ../../../flutter/impeller/entity/entity_playground.cc -FILE: ../../../flutter/impeller/entity/entity_playground.h -FILE: ../../../flutter/impeller/entity/geometry/arc_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/arc_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/circle_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/circle_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/cover_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/cover_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/ellipse_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/ellipse_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/fill_path_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/fill_path_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/geometry.h -FILE: ../../../flutter/impeller/entity/geometry/line_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/line_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/point_field_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/point_field_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/rect_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/rect_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/round_rect_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/round_rect_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/round_superellipse_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/round_superellipse_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/stroke_path_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/stroke_path_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/superellipse_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/superellipse_geometry.h -FILE: ../../../flutter/impeller/entity/geometry/vertices_geometry.cc -FILE: ../../../flutter/impeller/entity/geometry/vertices_geometry.h -FILE: ../../../flutter/impeller/entity/inline_pass_context.cc -FILE: ../../../flutter/impeller/entity/inline_pass_context.h -FILE: ../../../flutter/impeller/entity/render_target_cache.cc -FILE: ../../../flutter/impeller/entity/render_target_cache.h -FILE: ../../../flutter/impeller/entity/save_layer_utils.cc -FILE: ../../../flutter/impeller/entity/save_layer_utils.h -FILE: ../../../flutter/impeller/entity/shaders/blending/advanced_blend.frag -FILE: ../../../flutter/impeller/entity/shaders/blending/advanced_blend.vert -FILE: ../../../flutter/impeller/entity/shaders/blending/blend_select.glsl -FILE: ../../../flutter/impeller/entity/shaders/blending/framebuffer_blend.frag -FILE: ../../../flutter/impeller/entity/shaders/blending/framebuffer_blend.vert -FILE: ../../../flutter/impeller/entity/shaders/blending/porter_duff_blend.frag -FILE: ../../../flutter/impeller/entity/shaders/blending/porter_duff_blend.vert -FILE: ../../../flutter/impeller/entity/shaders/blending/vertices_uber.glsl -FILE: ../../../flutter/impeller/entity/shaders/blending/vertices_uber_1.frag -FILE: ../../../flutter/impeller/entity/shaders/blending/vertices_uber_2.frag -FILE: ../../../flutter/impeller/entity/shaders/clip.frag -FILE: ../../../flutter/impeller/entity/shaders/clip.vert -FILE: ../../../flutter/impeller/entity/shaders/downsample.glsl -FILE: ../../../flutter/impeller/entity/shaders/filters/border_mask_blur.frag -FILE: ../../../flutter/impeller/entity/shaders/filters/color_matrix_color_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/filters/filter_position.vert -FILE: ../../../flutter/impeller/entity/shaders/filters/filter_position_uv.vert -FILE: ../../../flutter/impeller/entity/shaders/filters/gaussian.frag -FILE: ../../../flutter/impeller/entity/shaders/filters/linear_to_srgb_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/filters/morphology_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/filters/srgb_to_linear_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/filters/yuv_to_rgb_filter.frag -FILE: ../../../flutter/impeller/entity/shaders/glyph_atlas.frag -FILE: ../../../flutter/impeller/entity/shaders/glyph_atlas.vert -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill_conical.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill_radial.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill_strip.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_fill_strip_radial.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_ssbo_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_uniform_fill_conical.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_uniform_fill_radial.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_uniform_fill_strip.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/conical_gradient_uniform_fill_strip_radial.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/fast_gradient.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/fast_gradient.vert -FILE: ../../../flutter/impeller/entity/shaders/gradients/gradient_fill.vert -FILE: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_ssbo_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/linear_gradient_uniform_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_ssbo_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/radial_gradient_uniform_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_ssbo_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/gradients/sweep_gradient_uniform_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/line.frag -FILE: ../../../flutter/impeller/entity/shaders/line.vert -FILE: ../../../flutter/impeller/entity/shaders/rrect_blur.frag -FILE: ../../../flutter/impeller/entity/shaders/rrect_like_blur.vert -FILE: ../../../flutter/impeller/entity/shaders/rsuperellipse_blur.frag -FILE: ../../../flutter/impeller/entity/shaders/runtime_effect.vert -FILE: ../../../flutter/impeller/entity/shaders/solid_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/solid_fill.vert -FILE: ../../../flutter/impeller/entity/shaders/texture_downsample.frag -FILE: ../../../flutter/impeller/entity/shaders/texture_downsample_gles.frag -FILE: ../../../flutter/impeller/entity/shaders/texture_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/texture_fill.vert -FILE: ../../../flutter/impeller/entity/shaders/texture_fill_strict_src.frag -FILE: ../../../flutter/impeller/entity/shaders/texture_uv_fill.vert -FILE: ../../../flutter/impeller/entity/shaders/tiled_texture_fill.frag -FILE: ../../../flutter/impeller/entity/shaders/tiled_texture_fill_external.frag -FILE: ../../../flutter/impeller/geometry/arc.cc -FILE: ../../../flutter/impeller/geometry/arc.h -FILE: ../../../flutter/impeller/geometry/color.cc -FILE: ../../../flutter/impeller/geometry/color.h -FILE: ../../../flutter/impeller/geometry/constants.cc -FILE: ../../../flutter/impeller/geometry/constants.h -FILE: ../../../flutter/impeller/geometry/dashed_line_path_source.cc -FILE: ../../../flutter/impeller/geometry/dashed_line_path_source.h -FILE: ../../../flutter/impeller/geometry/geometry_asserts.h -FILE: ../../../flutter/impeller/geometry/geometry_benchmarks.cc -FILE: ../../../flutter/impeller/geometry/gradient.cc -FILE: ../../../flutter/impeller/geometry/gradient.h -FILE: ../../../flutter/impeller/geometry/half.h -FILE: ../../../flutter/impeller/geometry/matrix.cc -FILE: ../../../flutter/impeller/geometry/matrix.h -FILE: ../../../flutter/impeller/geometry/matrix_decomposition.cc -FILE: ../../../flutter/impeller/geometry/matrix_decomposition.h -FILE: ../../../flutter/impeller/geometry/path_source.cc -FILE: ../../../flutter/impeller/geometry/path_source.h -FILE: ../../../flutter/impeller/geometry/point.cc -FILE: ../../../flutter/impeller/geometry/point.h -FILE: ../../../flutter/impeller/geometry/quaternion.cc -FILE: ../../../flutter/impeller/geometry/quaternion.h -FILE: ../../../flutter/impeller/geometry/rational.cc -FILE: ../../../flutter/impeller/geometry/rational.h -FILE: ../../../flutter/impeller/geometry/rect.cc -FILE: ../../../flutter/impeller/geometry/rect.h -FILE: ../../../flutter/impeller/geometry/round_rect.cc -FILE: ../../../flutter/impeller/geometry/round_rect.h -FILE: ../../../flutter/impeller/geometry/round_superellipse.cc -FILE: ../../../flutter/impeller/geometry/round_superellipse.h -FILE: ../../../flutter/impeller/geometry/round_superellipse_param.cc -FILE: ../../../flutter/impeller/geometry/round_superellipse_param.h -FILE: ../../../flutter/impeller/geometry/rounding_radii.cc -FILE: ../../../flutter/impeller/geometry/rounding_radii.h -FILE: ../../../flutter/impeller/geometry/rstransform.cc -FILE: ../../../flutter/impeller/geometry/rstransform.h -FILE: ../../../flutter/impeller/geometry/saturated_math.h -FILE: ../../../flutter/impeller/geometry/scalar.h -FILE: ../../../flutter/impeller/geometry/separated_vector.cc -FILE: ../../../flutter/impeller/geometry/separated_vector.h -FILE: ../../../flutter/impeller/geometry/shear.cc -FILE: ../../../flutter/impeller/geometry/shear.h -FILE: ../../../flutter/impeller/geometry/sigma.cc -FILE: ../../../flutter/impeller/geometry/sigma.h -FILE: ../../../flutter/impeller/geometry/size.cc -FILE: ../../../flutter/impeller/geometry/size.h -FILE: ../../../flutter/impeller/geometry/stroke_parameters.cc -FILE: ../../../flutter/impeller/geometry/stroke_parameters.h -FILE: ../../../flutter/impeller/geometry/trig.cc -FILE: ../../../flutter/impeller/geometry/trig.h -FILE: ../../../flutter/impeller/geometry/type_traits.cc -FILE: ../../../flutter/impeller/geometry/type_traits.h -FILE: ../../../flutter/impeller/geometry/vector.cc -FILE: ../../../flutter/impeller/geometry/vector.h -FILE: ../../../flutter/impeller/geometry/wangs_formula.cc -FILE: ../../../flutter/impeller/geometry/wangs_formula.h -FILE: ../../../flutter/impeller/golden_tests/golden_digest.cc -FILE: ../../../flutter/impeller/golden_tests/golden_digest.h -FILE: ../../../flutter/impeller/golden_tests/golden_playground_test.h -FILE: ../../../flutter/impeller/golden_tests/golden_playground_test_mac.cc -FILE: ../../../flutter/impeller/golden_tests/golden_playground_test_stub.cc -FILE: ../../../flutter/impeller/golden_tests/golden_tests.cc -FILE: ../../../flutter/impeller/golden_tests/main.cc -FILE: ../../../flutter/impeller/golden_tests/metal_screenshot.h -FILE: ../../../flutter/impeller/golden_tests/metal_screenshot.mm -FILE: ../../../flutter/impeller/golden_tests/metal_screenshotter.h -FILE: ../../../flutter/impeller/golden_tests/metal_screenshotter.mm -FILE: ../../../flutter/impeller/golden_tests/screenshot.h -FILE: ../../../flutter/impeller/golden_tests/screenshotter.h -FILE: ../../../flutter/impeller/golden_tests/vulkan_screenshotter.h -FILE: ../../../flutter/impeller/golden_tests/vulkan_screenshotter.mm -FILE: ../../../flutter/impeller/golden_tests/working_directory.cc -FILE: ../../../flutter/impeller/golden_tests/working_directory.h -FILE: ../../../flutter/impeller/renderer/backend/gles/allocator_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/allocator_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/blit_command_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/blit_command_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/blit_pass_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/blit_pass_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/buffer_bindings_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/buffer_bindings_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/capabilities_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/capabilities_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/command_buffer_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/command_buffer_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/context_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/context_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/description_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/description_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/device_buffer_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/device_buffer_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/formats_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/formats_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/gpu_tracer_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/gpu_tracer_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/handle_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/handle_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/pipeline_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/pipeline_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/pipeline_library_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/pipeline_library_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/proc_table_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/proc_table_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/reactor_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/reactor_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/render_pass_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/render_pass_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/sampler_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/sampler_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/sampler_library_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/sampler_library_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/shader_function_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/shader_function_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/shader_library_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/shader_library_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/surface_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/surface_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/texture_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/texture_gles.h -FILE: ../../../flutter/impeller/renderer/backend/gles/unique_handle_gles.cc -FILE: ../../../flutter/impeller/renderer/backend/gles/unique_handle_gles.h -FILE: ../../../flutter/impeller/renderer/backend/metal/allocator_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/allocator_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/blit_pass_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/blit_pass_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/command_buffer_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/command_buffer_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/compute_pass_bindings_cache_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/compute_pass_bindings_cache_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/compute_pass_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/compute_pass_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/compute_pipeline_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/compute_pipeline_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/context_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/context_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/device_buffer_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/device_buffer_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/formats_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/formats_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/gpu_tracer_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/gpu_tracer_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/pass_bindings_cache_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/pass_bindings_cache_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/pipeline_library_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/pipeline_library_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/pipeline_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/pipeline_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/render_pass_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/render_pass_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/sampler_library_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/sampler_library_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/sampler_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/sampler_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/shader_function_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/shader_function_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/shader_library_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/shader_library_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/surface_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/surface_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/swapchain_transients_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/swapchain_transients_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/texture_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/texture_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/texture_wrapper_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/texture_wrapper_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/metal/vertex_descriptor_mtl.h -FILE: ../../../flutter/impeller/renderer/backend/metal/vertex_descriptor_mtl.mm -FILE: ../../../flutter/impeller/renderer/backend/vulkan/allocator_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/allocator_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/barrier_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/barrier_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/blit_pass_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/blit_pass_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/capabilities_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/capabilities_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/command_buffer_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/command_buffer_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/command_pool_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/command_pool_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/command_queue_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/command_queue_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/compute_pass_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/compute_pass_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/compute_pipeline_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/compute_pipeline_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/context_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/context_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/debug_report_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/debug_report_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/descriptor_pool_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/device_buffer_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/device_buffer_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/device_holder_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/driver_info_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/driver_info_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/fence_waiter_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/formats_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/formats_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/gpu_tracer_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/gpu_tracer_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/limits_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_data_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_data_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_cache_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_library_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_library_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/pipeline_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/queue_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/queue_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/render_pass_builder_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/render_pass_builder_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/render_pass_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/render_pass_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/resource_manager_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/resource_manager_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/sampler_library_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/sampler_library_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/sampler_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/sampler_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/shader_function_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/shader_function_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/shader_library_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/shader_library_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/shared_object_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/shared_object_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/surface_context_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/surface_context_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_formats.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_impl_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_swapchain_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_texture_pool_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/ahb_texture_pool_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/external_semaphore_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/ahb/external_semaphore_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_image_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_image_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_impl_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_impl_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/surface_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/surface_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/swapchain_transients_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/swapchain_transients_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/swapchain_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/swapchain/swapchain_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/texture_source_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/texture_source_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/texture_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/texture_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/tracked_objects_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/tracked_objects_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/vertex_descriptor_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/vertex_descriptor_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/vma.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/vma.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/workarounds_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/workarounds_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/yuv_conversion_library_vk.h -FILE: ../../../flutter/impeller/renderer/backend/vulkan/yuv_conversion_vk.cc -FILE: ../../../flutter/impeller/renderer/backend/vulkan/yuv_conversion_vk.h -FILE: ../../../flutter/impeller/renderer/blit_command.cc -FILE: ../../../flutter/impeller/renderer/blit_command.h -FILE: ../../../flutter/impeller/renderer/blit_pass.cc -FILE: ../../../flutter/impeller/renderer/blit_pass.h -FILE: ../../../flutter/impeller/renderer/capabilities.cc -FILE: ../../../flutter/impeller/renderer/capabilities.h -FILE: ../../../flutter/impeller/renderer/command.cc -FILE: ../../../flutter/impeller/renderer/command.h -FILE: ../../../flutter/impeller/renderer/command_buffer.cc -FILE: ../../../flutter/impeller/renderer/command_buffer.h -FILE: ../../../flutter/impeller/renderer/command_queue.cc -FILE: ../../../flutter/impeller/renderer/command_queue.h -FILE: ../../../flutter/impeller/renderer/compute_pass.cc -FILE: ../../../flutter/impeller/renderer/compute_pass.h -FILE: ../../../flutter/impeller/renderer/compute_pipeline_builder.cc -FILE: ../../../flutter/impeller/renderer/compute_pipeline_builder.h -FILE: ../../../flutter/impeller/renderer/compute_pipeline_descriptor.cc -FILE: ../../../flutter/impeller/renderer/compute_pipeline_descriptor.h -FILE: ../../../flutter/impeller/renderer/context.cc -FILE: ../../../flutter/impeller/renderer/context.h -FILE: ../../../flutter/impeller/renderer/pipeline.cc -FILE: ../../../flutter/impeller/renderer/pipeline.h -FILE: ../../../flutter/impeller/renderer/pipeline_builder.cc -FILE: ../../../flutter/impeller/renderer/pipeline_builder.h -FILE: ../../../flutter/impeller/renderer/pipeline_descriptor.cc -FILE: ../../../flutter/impeller/renderer/pipeline_descriptor.h -FILE: ../../../flutter/impeller/renderer/pipeline_library.cc -FILE: ../../../flutter/impeller/renderer/pipeline_library.h -FILE: ../../../flutter/impeller/renderer/pool.h -FILE: ../../../flutter/impeller/renderer/prefix_sum_test.comp -FILE: ../../../flutter/impeller/renderer/render_pass.cc -FILE: ../../../flutter/impeller/renderer/render_pass.h -FILE: ../../../flutter/impeller/renderer/render_target.cc -FILE: ../../../flutter/impeller/renderer/render_target.h -FILE: ../../../flutter/impeller/renderer/sampler_library.cc -FILE: ../../../flutter/impeller/renderer/sampler_library.h -FILE: ../../../flutter/impeller/renderer/shader_function.cc -FILE: ../../../flutter/impeller/renderer/shader_function.h -FILE: ../../../flutter/impeller/renderer/shader_key.cc -FILE: ../../../flutter/impeller/renderer/shader_key.h -FILE: ../../../flutter/impeller/renderer/shader_library.cc -FILE: ../../../flutter/impeller/renderer/shader_library.h -FILE: ../../../flutter/impeller/renderer/shader_stage_compatibility_checker.h -FILE: ../../../flutter/impeller/renderer/snapshot.cc -FILE: ../../../flutter/impeller/renderer/snapshot.h -FILE: ../../../flutter/impeller/renderer/surface.cc -FILE: ../../../flutter/impeller/renderer/surface.h -FILE: ../../../flutter/impeller/renderer/texture_util.cc -FILE: ../../../flutter/impeller/renderer/texture_util.h -FILE: ../../../flutter/impeller/renderer/threadgroup_sizing_test.comp -FILE: ../../../flutter/impeller/renderer/vertex_buffer_builder.cc -FILE: ../../../flutter/impeller/renderer/vertex_buffer_builder.h -FILE: ../../../flutter/impeller/renderer/vertex_descriptor.cc -FILE: ../../../flutter/impeller/renderer/vertex_descriptor.h -FILE: ../../../flutter/impeller/runtime_stage/runtime_stage.cc -FILE: ../../../flutter/impeller/runtime_stage/runtime_stage.fbs -FILE: ../../../flutter/impeller/runtime_stage/runtime_stage.h -FILE: ../../../flutter/impeller/runtime_stage/runtime_stage_playground.cc -FILE: ../../../flutter/impeller/runtime_stage/runtime_stage_playground.h -FILE: ../../../flutter/impeller/runtime_stage/runtime_stage_types.fbs -FILE: ../../../flutter/impeller/shader_archive/shader_archive.cc -FILE: ../../../flutter/impeller/shader_archive/shader_archive.fbs -FILE: ../../../flutter/impeller/shader_archive/shader_archive.h -FILE: ../../../flutter/impeller/shader_archive/shader_archive_main.cc -FILE: ../../../flutter/impeller/shader_archive/shader_archive_types.h -FILE: ../../../flutter/impeller/shader_archive/shader_archive_writer.cc -FILE: ../../../flutter/impeller/shader_archive/shader_archive_writer.h -FILE: ../../../flutter/impeller/shader_bundle/shader_bundle.fbs -FILE: ../../../flutter/impeller/tessellator/c/tessellator.cc -FILE: ../../../flutter/impeller/tessellator/c/tessellator.h -FILE: ../../../flutter/impeller/tessellator/dart/lib/tessellator.dart -FILE: ../../../flutter/impeller/tessellator/path_tessellator.cc -FILE: ../../../flutter/impeller/tessellator/path_tessellator.h -FILE: ../../../flutter/impeller/tessellator/tessellator.cc -FILE: ../../../flutter/impeller/tessellator/tessellator.h -FILE: ../../../flutter/impeller/tessellator/tessellator_libtess.cc -FILE: ../../../flutter/impeller/tessellator/tessellator_libtess.h -FILE: ../../../flutter/impeller/toolkit/android/choreographer.cc -FILE: ../../../flutter/impeller/toolkit/android/choreographer.h -FILE: ../../../flutter/impeller/toolkit/android/hardware_buffer.cc -FILE: ../../../flutter/impeller/toolkit/android/hardware_buffer.h -FILE: ../../../flutter/impeller/toolkit/android/native_window.cc -FILE: ../../../flutter/impeller/toolkit/android/native_window.h -FILE: ../../../flutter/impeller/toolkit/android/proc_table.cc -FILE: ../../../flutter/impeller/toolkit/android/proc_table.h -FILE: ../../../flutter/impeller/toolkit/android/surface_control.cc -FILE: ../../../flutter/impeller/toolkit/android/surface_control.h -FILE: ../../../flutter/impeller/toolkit/android/surface_transaction.cc -FILE: ../../../flutter/impeller/toolkit/android/surface_transaction.h -FILE: ../../../flutter/impeller/toolkit/android/surface_transaction_stats.cc -FILE: ../../../flutter/impeller/toolkit/android/surface_transaction_stats.h -FILE: ../../../flutter/impeller/toolkit/egl/config.cc -FILE: ../../../flutter/impeller/toolkit/egl/config.h -FILE: ../../../flutter/impeller/toolkit/egl/context.cc -FILE: ../../../flutter/impeller/toolkit/egl/context.h -FILE: ../../../flutter/impeller/toolkit/egl/display.cc -FILE: ../../../flutter/impeller/toolkit/egl/display.h -FILE: ../../../flutter/impeller/toolkit/egl/egl.cc -FILE: ../../../flutter/impeller/toolkit/egl/egl.h -FILE: ../../../flutter/impeller/toolkit/egl/image.cc -FILE: ../../../flutter/impeller/toolkit/egl/image.h -FILE: ../../../flutter/impeller/toolkit/egl/surface.cc -FILE: ../../../flutter/impeller/toolkit/egl/surface.h -FILE: ../../../flutter/impeller/toolkit/gles/gles.h -FILE: ../../../flutter/impeller/toolkit/gles/texture.cc -FILE: ../../../flutter/impeller/toolkit/gles/texture.h -FILE: ../../../flutter/impeller/toolkit/glvk/proc_table.cc -FILE: ../../../flutter/impeller/toolkit/glvk/proc_table.h -FILE: ../../../flutter/impeller/toolkit/glvk/trampoline.cc -FILE: ../../../flutter/impeller/toolkit/glvk/trampoline.h -FILE: ../../../flutter/impeller/toolkit/interop/backend/gles/context_gles.cc -FILE: ../../../flutter/impeller/toolkit/interop/backend/gles/context_gles.h -FILE: ../../../flutter/impeller/toolkit/interop/backend/gles/reactor_worker_gles.cc -FILE: ../../../flutter/impeller/toolkit/interop/backend/gles/reactor_worker_gles.h -FILE: ../../../flutter/impeller/toolkit/interop/backend/gles/surface_gles.cc -FILE: ../../../flutter/impeller/toolkit/interop/backend/gles/surface_gles.h -FILE: ../../../flutter/impeller/toolkit/interop/backend/metal/context_mtl.h -FILE: ../../../flutter/impeller/toolkit/interop/backend/metal/context_mtl.mm -FILE: ../../../flutter/impeller/toolkit/interop/backend/metal/surface_mtl.h -FILE: ../../../flutter/impeller/toolkit/interop/backend/metal/surface_mtl.mm -FILE: ../../../flutter/impeller/toolkit/interop/backend/vulkan/context_vk.cc -FILE: ../../../flutter/impeller/toolkit/interop/backend/vulkan/context_vk.h -FILE: ../../../flutter/impeller/toolkit/interop/backend/vulkan/surface_vk.cc -FILE: ../../../flutter/impeller/toolkit/interop/backend/vulkan/surface_vk.h -FILE: ../../../flutter/impeller/toolkit/interop/backend/vulkan/swapchain_vk.cc -FILE: ../../../flutter/impeller/toolkit/interop/backend/vulkan/swapchain_vk.h -FILE: ../../../flutter/impeller/toolkit/interop/color_filter.cc -FILE: ../../../flutter/impeller/toolkit/interop/color_filter.h -FILE: ../../../flutter/impeller/toolkit/interop/color_source.cc -FILE: ../../../flutter/impeller/toolkit/interop/color_source.h -FILE: ../../../flutter/impeller/toolkit/interop/context.cc -FILE: ../../../flutter/impeller/toolkit/interop/context.h -FILE: ../../../flutter/impeller/toolkit/interop/dl.cc -FILE: ../../../flutter/impeller/toolkit/interop/dl.h -FILE: ../../../flutter/impeller/toolkit/interop/dl_builder.cc -FILE: ../../../flutter/impeller/toolkit/interop/dl_builder.h -FILE: ../../../flutter/impeller/toolkit/interop/example_gl.c -FILE: ../../../flutter/impeller/toolkit/interop/example_mtl.m -FILE: ../../../flutter/impeller/toolkit/interop/example_vk.c -FILE: ../../../flutter/impeller/toolkit/interop/formats.cc -FILE: ../../../flutter/impeller/toolkit/interop/formats.h -FILE: ../../../flutter/impeller/toolkit/interop/fragment_program.cc -FILE: ../../../flutter/impeller/toolkit/interop/fragment_program.h -FILE: ../../../flutter/impeller/toolkit/interop/glyph_info.cc -FILE: ../../../flutter/impeller/toolkit/interop/glyph_info.h -FILE: ../../../flutter/impeller/toolkit/interop/image_filter.cc -FILE: ../../../flutter/impeller/toolkit/interop/image_filter.h -FILE: ../../../flutter/impeller/toolkit/interop/impeller.cc -FILE: ../../../flutter/impeller/toolkit/interop/impeller.h -FILE: ../../../flutter/impeller/toolkit/interop/impeller.hpp -FILE: ../../../flutter/impeller/toolkit/interop/impeller_c.c -FILE: ../../../flutter/impeller/toolkit/interop/impeller_cc.cc -FILE: ../../../flutter/impeller/toolkit/interop/line_metrics.cc -FILE: ../../../flutter/impeller/toolkit/interop/line_metrics.h -FILE: ../../../flutter/impeller/toolkit/interop/mask_filter.cc -FILE: ../../../flutter/impeller/toolkit/interop/mask_filter.h -FILE: ../../../flutter/impeller/toolkit/interop/object.cc -FILE: ../../../flutter/impeller/toolkit/interop/object.h -FILE: ../../../flutter/impeller/toolkit/interop/paint.cc -FILE: ../../../flutter/impeller/toolkit/interop/paint.h -FILE: ../../../flutter/impeller/toolkit/interop/paragraph.cc -FILE: ../../../flutter/impeller/toolkit/interop/paragraph.h -FILE: ../../../flutter/impeller/toolkit/interop/paragraph_builder.cc -FILE: ../../../flutter/impeller/toolkit/interop/paragraph_builder.h -FILE: ../../../flutter/impeller/toolkit/interop/paragraph_style.cc -FILE: ../../../flutter/impeller/toolkit/interop/paragraph_style.h -FILE: ../../../flutter/impeller/toolkit/interop/path.cc -FILE: ../../../flutter/impeller/toolkit/interop/path.h -FILE: ../../../flutter/impeller/toolkit/interop/path_builder.cc -FILE: ../../../flutter/impeller/toolkit/interop/path_builder.h -FILE: ../../../flutter/impeller/toolkit/interop/playground_test.cc -FILE: ../../../flutter/impeller/toolkit/interop/playground_test.h -FILE: ../../../flutter/impeller/toolkit/interop/surface.cc -FILE: ../../../flutter/impeller/toolkit/interop/surface.h -FILE: ../../../flutter/impeller/toolkit/interop/texture.cc -FILE: ../../../flutter/impeller/toolkit/interop/texture.h -FILE: ../../../flutter/impeller/toolkit/interop/typography_context.cc -FILE: ../../../flutter/impeller/toolkit/interop/typography_context.h -FILE: ../../../flutter/impeller/tools/malioc.json -FILE: ../../../flutter/impeller/typographer/backends/skia/text_frame_skia.cc -FILE: ../../../flutter/impeller/typographer/backends/skia/text_frame_skia.h -FILE: ../../../flutter/impeller/typographer/backends/skia/typeface_skia.cc -FILE: ../../../flutter/impeller/typographer/backends/skia/typeface_skia.h -FILE: ../../../flutter/impeller/typographer/backends/skia/typographer_context_skia.cc -FILE: ../../../flutter/impeller/typographer/backends/skia/typographer_context_skia.h -FILE: ../../../flutter/impeller/typographer/font.cc -FILE: ../../../flutter/impeller/typographer/font.h -FILE: ../../../flutter/impeller/typographer/font_glyph_pair.cc -FILE: ../../../flutter/impeller/typographer/font_glyph_pair.h -FILE: ../../../flutter/impeller/typographer/glyph.cc -FILE: ../../../flutter/impeller/typographer/glyph.h -FILE: ../../../flutter/impeller/typographer/glyph_atlas.cc -FILE: ../../../flutter/impeller/typographer/glyph_atlas.h -FILE: ../../../flutter/impeller/typographer/lazy_glyph_atlas.cc -FILE: ../../../flutter/impeller/typographer/lazy_glyph_atlas.h -FILE: ../../../flutter/impeller/typographer/rectangle_packer.cc -FILE: ../../../flutter/impeller/typographer/rectangle_packer.h -FILE: ../../../flutter/impeller/typographer/text_frame.cc -FILE: ../../../flutter/impeller/typographer/text_frame.h -FILE: ../../../flutter/impeller/typographer/text_run.cc -FILE: ../../../flutter/impeller/typographer/text_run.h -FILE: ../../../flutter/impeller/typographer/typeface.cc -FILE: ../../../flutter/impeller/typographer/typeface.h -FILE: ../../../flutter/impeller/typographer/typographer_context.cc -FILE: ../../../flutter/impeller/typographer/typographer_context.h -FILE: ../../../flutter/lib/gpu/command_buffer.cc -FILE: ../../../flutter/lib/gpu/command_buffer.h -FILE: ../../../flutter/lib/gpu/context.cc -FILE: ../../../flutter/lib/gpu/context.h -FILE: ../../../flutter/lib/gpu/device_buffer.cc -FILE: ../../../flutter/lib/gpu/device_buffer.h -FILE: ../../../flutter/lib/gpu/export.cc -FILE: ../../../flutter/lib/gpu/export.h -FILE: ../../../flutter/lib/gpu/formats.cc -FILE: ../../../flutter/lib/gpu/formats.h -FILE: ../../../flutter/lib/gpu/lib/gpu.dart -FILE: ../../../flutter/lib/gpu/lib/src/buffer.dart -FILE: ../../../flutter/lib/gpu/lib/src/command_buffer.dart -FILE: ../../../flutter/lib/gpu/lib/src/context.dart -FILE: ../../../flutter/lib/gpu/lib/src/formats.dart -FILE: ../../../flutter/lib/gpu/lib/src/render_pass.dart -FILE: ../../../flutter/lib/gpu/lib/src/render_pipeline.dart -FILE: ../../../flutter/lib/gpu/lib/src/shader.dart -FILE: ../../../flutter/lib/gpu/lib/src/shader_library.dart -FILE: ../../../flutter/lib/gpu/lib/src/texture.dart -FILE: ../../../flutter/lib/gpu/render_pass.cc -FILE: ../../../flutter/lib/gpu/render_pass.h -FILE: ../../../flutter/lib/gpu/render_pipeline.cc -FILE: ../../../flutter/lib/gpu/render_pipeline.h -FILE: ../../../flutter/lib/gpu/shader.cc -FILE: ../../../flutter/lib/gpu/shader.h -FILE: ../../../flutter/lib/gpu/shader_library.cc -FILE: ../../../flutter/lib/gpu/shader_library.h -FILE: ../../../flutter/lib/gpu/texture.cc -FILE: ../../../flutter/lib/gpu/texture.h -FILE: ../../../flutter/lib/io/dart_io.cc -FILE: ../../../flutter/lib/io/dart_io.h -FILE: ../../../flutter/lib/snapshot/snapshot.h -FILE: ../../../flutter/lib/ui/annotations.dart -FILE: ../../../flutter/lib/ui/channel_buffers.dart -FILE: ../../../flutter/lib/ui/compositing.dart -FILE: ../../../flutter/lib/ui/compositing/scene.cc -FILE: ../../../flutter/lib/ui/compositing/scene.h -FILE: ../../../flutter/lib/ui/compositing/scene_builder.cc -FILE: ../../../flutter/lib/ui/compositing/scene_builder.h -FILE: ../../../flutter/lib/ui/dart_runtime_hooks.cc -FILE: ../../../flutter/lib/ui/dart_runtime_hooks.h -FILE: ../../../flutter/lib/ui/dart_ui.cc -FILE: ../../../flutter/lib/ui/dart_ui.h -FILE: ../../../flutter/lib/ui/dart_wrapper.h -FILE: ../../../flutter/lib/ui/floating_point.h -FILE: ../../../flutter/lib/ui/geometry.dart -FILE: ../../../flutter/lib/ui/hooks.dart -FILE: ../../../flutter/lib/ui/io_manager.h -FILE: ../../../flutter/lib/ui/isolate_name_server.dart -FILE: ../../../flutter/lib/ui/isolate_name_server/isolate_name_server.cc -FILE: ../../../flutter/lib/ui/isolate_name_server/isolate_name_server.h -FILE: ../../../flutter/lib/ui/isolate_name_server/isolate_name_server_natives.cc -FILE: ../../../flutter/lib/ui/isolate_name_server/isolate_name_server_natives.h -FILE: ../../../flutter/lib/ui/key.dart -FILE: ../../../flutter/lib/ui/lerp.dart -FILE: ../../../flutter/lib/ui/math.dart -FILE: ../../../flutter/lib/ui/natives.dart -FILE: ../../../flutter/lib/ui/painting.dart -FILE: ../../../flutter/lib/ui/painting/canvas.cc -FILE: ../../../flutter/lib/ui/painting/canvas.h -FILE: ../../../flutter/lib/ui/painting/codec.cc -FILE: ../../../flutter/lib/ui/painting/codec.h -FILE: ../../../flutter/lib/ui/painting/color_filter.cc -FILE: ../../../flutter/lib/ui/painting/color_filter.h -FILE: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu_impeller.cc -FILE: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu_impeller.h -FILE: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu_skia.cc -FILE: ../../../flutter/lib/ui/painting/display_list_deferred_image_gpu_skia.h -FILE: ../../../flutter/lib/ui/painting/display_list_image_gpu.cc -FILE: ../../../flutter/lib/ui/painting/display_list_image_gpu.h -FILE: ../../../flutter/lib/ui/painting/engine_layer.cc -FILE: ../../../flutter/lib/ui/painting/engine_layer.h -FILE: ../../../flutter/lib/ui/painting/fragment_program.cc -FILE: ../../../flutter/lib/ui/painting/fragment_program.h -FILE: ../../../flutter/lib/ui/painting/fragment_shader.cc -FILE: ../../../flutter/lib/ui/painting/fragment_shader.h -FILE: ../../../flutter/lib/ui/painting/gradient.cc -FILE: ../../../flutter/lib/ui/painting/gradient.h -FILE: ../../../flutter/lib/ui/painting/image.cc -FILE: ../../../flutter/lib/ui/painting/image.h -FILE: ../../../flutter/lib/ui/painting/image_decoder.cc -FILE: ../../../flutter/lib/ui/painting/image_decoder.h -FILE: ../../../flutter/lib/ui/painting/image_decoder_impeller.cc -FILE: ../../../flutter/lib/ui/painting/image_decoder_impeller.h -FILE: ../../../flutter/lib/ui/painting/image_decoder_skia.cc -FILE: ../../../flutter/lib/ui/painting/image_decoder_skia.h -FILE: ../../../flutter/lib/ui/painting/image_descriptor.cc -FILE: ../../../flutter/lib/ui/painting/image_descriptor.h -FILE: ../../../flutter/lib/ui/painting/image_encoding.cc -FILE: ../../../flutter/lib/ui/painting/image_encoding.h -FILE: ../../../flutter/lib/ui/painting/image_encoding_impeller.cc -FILE: ../../../flutter/lib/ui/painting/image_encoding_impeller.h -FILE: ../../../flutter/lib/ui/painting/image_encoding_impl.h -FILE: ../../../flutter/lib/ui/painting/image_encoding_skia.cc -FILE: ../../../flutter/lib/ui/painting/image_encoding_skia.h -FILE: ../../../flutter/lib/ui/painting/image_filter.cc -FILE: ../../../flutter/lib/ui/painting/image_filter.h -FILE: ../../../flutter/lib/ui/painting/image_generator.cc -FILE: ../../../flutter/lib/ui/painting/image_generator.h -FILE: ../../../flutter/lib/ui/painting/image_generator_apng.cc -FILE: ../../../flutter/lib/ui/painting/image_generator_apng.h -FILE: ../../../flutter/lib/ui/painting/image_generator_registry.cc -FILE: ../../../flutter/lib/ui/painting/image_generator_registry.h -FILE: ../../../flutter/lib/ui/painting/image_shader.cc -FILE: ../../../flutter/lib/ui/painting/image_shader.h -FILE: ../../../flutter/lib/ui/painting/immutable_buffer.cc -FILE: ../../../flutter/lib/ui/painting/immutable_buffer.h -FILE: ../../../flutter/lib/ui/painting/matrix.cc -FILE: ../../../flutter/lib/ui/painting/matrix.h -FILE: ../../../flutter/lib/ui/painting/multi_frame_codec.cc -FILE: ../../../flutter/lib/ui/painting/multi_frame_codec.h -FILE: ../../../flutter/lib/ui/painting/paint.cc -FILE: ../../../flutter/lib/ui/painting/paint.h -FILE: ../../../flutter/lib/ui/painting/path.cc -FILE: ../../../flutter/lib/ui/painting/path.h -FILE: ../../../flutter/lib/ui/painting/path_measure.cc -FILE: ../../../flutter/lib/ui/painting/path_measure.h -FILE: ../../../flutter/lib/ui/painting/picture.cc -FILE: ../../../flutter/lib/ui/painting/picture.h -FILE: ../../../flutter/lib/ui/painting/picture_recorder.cc -FILE: ../../../flutter/lib/ui/painting/picture_recorder.h -FILE: ../../../flutter/lib/ui/painting/rrect.cc -FILE: ../../../flutter/lib/ui/painting/rrect.h -FILE: ../../../flutter/lib/ui/painting/rsuperellipse.cc -FILE: ../../../flutter/lib/ui/painting/rsuperellipse.h -FILE: ../../../flutter/lib/ui/painting/shader.cc -FILE: ../../../flutter/lib/ui/painting/shader.h -FILE: ../../../flutter/lib/ui/painting/single_frame_codec.cc -FILE: ../../../flutter/lib/ui/painting/single_frame_codec.h -FILE: ../../../flutter/lib/ui/painting/vertices.cc -FILE: ../../../flutter/lib/ui/painting/vertices.h -FILE: ../../../flutter/lib/ui/platform_dispatcher.dart -FILE: ../../../flutter/lib/ui/platform_isolate.dart -FILE: ../../../flutter/lib/ui/plugins.dart -FILE: ../../../flutter/lib/ui/plugins/callback_cache.cc -FILE: ../../../flutter/lib/ui/plugins/callback_cache.h -FILE: ../../../flutter/lib/ui/pointer.dart -FILE: ../../../flutter/lib/ui/semantics.dart -FILE: ../../../flutter/lib/ui/semantics/custom_accessibility_action.cc -FILE: ../../../flutter/lib/ui/semantics/custom_accessibility_action.h -FILE: ../../../flutter/lib/ui/semantics/semantics_flags.cc -FILE: ../../../flutter/lib/ui/semantics/semantics_flags.h -FILE: ../../../flutter/lib/ui/semantics/semantics_node.cc -FILE: ../../../flutter/lib/ui/semantics/semantics_node.h -FILE: ../../../flutter/lib/ui/semantics/semantics_update.cc -FILE: ../../../flutter/lib/ui/semantics/semantics_update.h -FILE: ../../../flutter/lib/ui/semantics/semantics_update_builder.cc -FILE: ../../../flutter/lib/ui/semantics/semantics_update_builder.h -FILE: ../../../flutter/lib/ui/semantics/string_attribute.cc -FILE: ../../../flutter/lib/ui/semantics/string_attribute.h -FILE: ../../../flutter/lib/ui/setup_hooks.dart -FILE: ../../../flutter/lib/ui/snapshot_delegate.h -FILE: ../../../flutter/lib/ui/text.dart -FILE: ../../../flutter/lib/ui/text/asset_manager_font_provider.cc -FILE: ../../../flutter/lib/ui/text/asset_manager_font_provider.h -FILE: ../../../flutter/lib/ui/text/font_collection.cc -FILE: ../../../flutter/lib/ui/text/font_collection.h -FILE: ../../../flutter/lib/ui/text/paragraph.cc -FILE: ../../../flutter/lib/ui/text/paragraph.h -FILE: ../../../flutter/lib/ui/text/paragraph_builder.cc -FILE: ../../../flutter/lib/ui/text/paragraph_builder.h -FILE: ../../../flutter/lib/ui/ui.dart -FILE: ../../../flutter/lib/ui/ui_benchmarks.cc -FILE: ../../../flutter/lib/ui/ui_dart_state.cc -FILE: ../../../flutter/lib/ui/ui_dart_state.h -FILE: ../../../flutter/lib/ui/window.dart -FILE: ../../../flutter/lib/ui/window/key_data.cc -FILE: ../../../flutter/lib/ui/window/key_data.h -FILE: ../../../flutter/lib/ui/window/key_data_packet.cc -FILE: ../../../flutter/lib/ui/window/key_data_packet.h -FILE: ../../../flutter/lib/ui/window/platform_configuration.cc -FILE: ../../../flutter/lib/ui/window/platform_configuration.h -FILE: ../../../flutter/lib/ui/window/platform_isolate.cc -FILE: ../../../flutter/lib/ui/window/platform_isolate.h -FILE: ../../../flutter/lib/ui/window/platform_message.cc -FILE: ../../../flutter/lib/ui/window/platform_message.h -FILE: ../../../flutter/lib/ui/window/platform_message_response.cc -FILE: ../../../flutter/lib/ui/window/platform_message_response.h -FILE: ../../../flutter/lib/ui/window/platform_message_response_dart.cc -FILE: ../../../flutter/lib/ui/window/platform_message_response_dart.h -FILE: ../../../flutter/lib/ui/window/platform_message_response_dart_port.cc -FILE: ../../../flutter/lib/ui/window/platform_message_response_dart_port.h -FILE: ../../../flutter/lib/ui/window/pointer_data.cc -FILE: ../../../flutter/lib/ui/window/pointer_data.h -FILE: ../../../flutter/lib/ui/window/pointer_data_packet.cc -FILE: ../../../flutter/lib/ui/window/pointer_data_packet.h -FILE: ../../../flutter/lib/ui/window/pointer_data_packet_converter.cc -FILE: ../../../flutter/lib/ui/window/pointer_data_packet_converter.h -FILE: ../../../flutter/lib/ui/window/view_focus.cc -FILE: ../../../flutter/lib/ui/window/view_focus.h -FILE: ../../../flutter/lib/ui/window/viewport_metrics.cc -FILE: ../../../flutter/lib/ui/window/viewport_metrics.h -FILE: ../../../flutter/lib/web_ui/flutter_js/src/browser_environment.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/canvaskit_loader.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/entrypoint_loader.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/flutter.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/instantiate_wasm.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/loader.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/service_worker_loader.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/skwasm_loader.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/trusted_types.js -FILE: ../../../flutter/lib/web_ui/flutter_js/src/types.d.ts -FILE: ../../../flutter/lib/web_ui/flutter_js/src/utils.js -FILE: ../../../flutter/lib/web_ui/lib/annotations.dart -FILE: ../../../flutter/lib/web_ui/lib/canvas.dart -FILE: ../../../flutter/lib/web_ui/lib/channel_buffers.dart -FILE: ../../../flutter/lib/web_ui/lib/compositing.dart -FILE: ../../../flutter/lib/web_ui/lib/geometry.dart -FILE: ../../../flutter/lib/web_ui/lib/key.dart -FILE: ../../../flutter/lib/web_ui/lib/lerp.dart -FILE: ../../../flutter/lib/web_ui/lib/math.dart -FILE: ../../../flutter/lib/web_ui/lib/natives.dart -FILE: ../../../flutter/lib/web_ui/lib/painting.dart -FILE: ../../../flutter/lib/web_ui/lib/path.dart -FILE: ../../../flutter/lib/web_ui/lib/path_metrics.dart -FILE: ../../../flutter/lib/web_ui/lib/platform_dispatcher.dart -FILE: ../../../flutter/lib/web_ui/lib/platform_isolate.dart -FILE: ../../../flutter/lib/web_ui/lib/pointer.dart -FILE: ../../../flutter/lib/web_ui/lib/rsuperellipse_param.dart -FILE: ../../../flutter/lib/web_ui/lib/semantics.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/alarm_clock.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/app_bootstrap.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/arena.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/browser_detection.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/color_filter.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/display_canvas_factory.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/fonts.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image_filter.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image_wasm_codecs.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/image_web_codecs.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer_tree.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/layer_visitor.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/mask_filter.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/multi_surface_rasterizer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/n_way_canvas.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/native_memory.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/offscreen_canvas_rasterizer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/overlay_scene_optimizer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/painting.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/path.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/path_metrics.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/picture.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/picture_recorder.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/raster_cache.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/rasterizer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/renderer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/shader.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/surface.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/text_fragmenter.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/util.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/vertices.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/clipboard.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/color_filter.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/configuration.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/display.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/dom.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/font_change_util.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/font_fallback_data.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/font_fallbacks.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/fonts.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/frame_service.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/frame_timing_recorder.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/high_contrast.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/html_image_element_codec.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/image_decoder.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/image_format_detector.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/initialization.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_app.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_loader.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_promise.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/js_interop/js_typed_data.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/key_map.g.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/keyboard_binding.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/layers.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/lazy_path.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/mouse/context_menu.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/mouse/cursor.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/mouse/prevent_default.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/navigation/history.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/noto_font.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/noto_font_encoding.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/onscreen_logging.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/platform_dispatcher/app_lifecycle_state.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/platform_dispatcher/view_focus_binding.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/platform_views.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/platform_views/content_manager.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/platform_views/message_handler.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/platform_views/slots.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/plugins.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/pointer_binding.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/pointer_binding/event_position_helper.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/pointer_converter.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/profiler.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/raw_keyboard.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/renderer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/safe_browser_api.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/scene_builder.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/scene_painting.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/scene_view.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/accessibility.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/alert.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/disable.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/expandable.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/focusable.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/form.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/header.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/heading.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/image.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/incrementable.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/label_and_value.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/landmarks.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/link.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/list.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/live_region.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/menus.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/platform_view.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/requirable.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/route.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/scrollable.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/semantics_helper.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/table.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/tabs.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/tappable.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/semantics/text_field.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/services.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/services/buffers.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/services/message_codec.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/services/message_codecs.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/services/serialization.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/shader_data.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/shadow.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/canvas.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/codecs.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/filters.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/font_collection.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/image.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/memory.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paint.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paragraph.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path_metrics.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/picture.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_animated_image.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_canvas.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_filters.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_fonts.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_geometry.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_image.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_memory.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_paint.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_path.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_path_metrics.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_picture.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_shaders.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_skdata.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_skstring.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_surface.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_vertices.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/skwasm_module.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_line_metrics.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_paragraph.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_paragraph_builder.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_paragraph_style.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_strut_style.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/text/raw_text_style.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/surface.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/vertices.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_stub.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_stub/renderer.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/svg.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/test_embedding.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/text/line_breaker.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/text/paragraph.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/autofill_hint.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/composition_aware_mixin.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/input_action.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/input_type.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/text_capitalization.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/text_editing/text_editing.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/util.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/validators.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/vector_math.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/dimensions_provider/custom_element_dimensions_provider.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/dimensions_provider/dimensions_provider.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/dimensions_provider/full_page_dimensions_provider.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/display_dpr_stream.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/dom_manager.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/embedding_strategy/custom_element_embedding_strategy.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/embedding_strategy/embedding_strategy.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/embedding_strategy/full_page_embedding_strategy.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/flutter_view_manager.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/global_html_attributes.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/hot_restart_cache_handler.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/view_embedder/style_manager.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/code_unit_flags.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/debug.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/layout.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/paint.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/paragraph.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/web_paragraph/wrapper.dart -FILE: ../../../flutter/lib/web_ui/lib/src/engine/window.dart -FILE: ../../../flutter/lib/web_ui/lib/text.dart -FILE: ../../../flutter/lib/web_ui/lib/tile_mode.dart -FILE: ../../../flutter/lib/web_ui/lib/ui.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/asset_manager.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/benchmarks.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/browser_detection.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/flutter_views_proxy.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/images.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/initialization.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/navigation/platform_location.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/navigation/url_strategy.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/platform_view_registry.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/plugins.dart -FILE: ../../../flutter/lib/web_ui/lib/ui_web/src/ui_web/testing.dart -FILE: ../../../flutter/lib/web_ui/lib/window.dart -FILE: ../../../flutter/lib/web_ui/skwasm/animated_image.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/animated_image_stub.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/canvas.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/contour_measure.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/data.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/export.h -FILE: ../../../flutter/lib/web_ui/skwasm/filters.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/fonts.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/helpers.h -FILE: ../../../flutter/lib/web_ui/skwasm/image.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/library_skwasm_support.js -FILE: ../../../flutter/lib/web_ui/skwasm/live_objects.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/live_objects.h -FILE: ../../../flutter/lib/web_ui/skwasm/paint.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/path.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/picture.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/shaders.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/skwasm_support.h -FILE: ../../../flutter/lib/web_ui/skwasm/string.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/surface.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/surface.h -FILE: ../../../flutter/lib/web_ui/skwasm/text/line_metrics.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/text/paragraph.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/text/paragraph_builder.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/text/paragraph_builder_builtin_icu.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/text/paragraph_builder_client_icu.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/text/paragraph_style.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/text/strut_style.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/text/text_style.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/vertices.cpp -FILE: ../../../flutter/lib/web_ui/skwasm/wrappers.h -FILE: ../../../flutter/runtime/dart_isolate.cc -FILE: ../../../flutter/runtime/dart_isolate.h -FILE: ../../../flutter/runtime/dart_isolate_group_data.cc -FILE: ../../../flutter/runtime/dart_isolate_group_data.h -FILE: ../../../flutter/runtime/dart_plugin_registrant.cc -FILE: ../../../flutter/runtime/dart_plugin_registrant.h -FILE: ../../../flutter/runtime/dart_service_isolate.cc -FILE: ../../../flutter/runtime/dart_service_isolate.h -FILE: ../../../flutter/runtime/dart_snapshot.cc -FILE: ../../../flutter/runtime/dart_snapshot.h -FILE: ../../../flutter/runtime/dart_timestamp_provider.cc -FILE: ../../../flutter/runtime/dart_timestamp_provider.h -FILE: ../../../flutter/runtime/dart_vm.cc -FILE: ../../../flutter/runtime/dart_vm.h -FILE: ../../../flutter/runtime/dart_vm_data.cc -FILE: ../../../flutter/runtime/dart_vm_data.h -FILE: ../../../flutter/runtime/dart_vm_initializer.cc -FILE: ../../../flutter/runtime/dart_vm_initializer.h -FILE: ../../../flutter/runtime/dart_vm_lifecycle.cc -FILE: ../../../flutter/runtime/dart_vm_lifecycle.h -FILE: ../../../flutter/runtime/embedder_resources.cc -FILE: ../../../flutter/runtime/embedder_resources.h -FILE: ../../../flutter/runtime/isolate_configuration.cc -FILE: ../../../flutter/runtime/isolate_configuration.h -FILE: ../../../flutter/runtime/platform_data.cc -FILE: ../../../flutter/runtime/platform_data.h -FILE: ../../../flutter/runtime/platform_isolate_manager.cc -FILE: ../../../flutter/runtime/platform_isolate_manager.h -FILE: ../../../flutter/runtime/ptrace_check.cc -FILE: ../../../flutter/runtime/ptrace_check.h -FILE: ../../../flutter/runtime/runtime_controller.cc -FILE: ../../../flutter/runtime/runtime_controller.h -FILE: ../../../flutter/runtime/runtime_delegate.cc -FILE: ../../../flutter/runtime/runtime_delegate.h -FILE: ../../../flutter/runtime/service_protocol.cc -FILE: ../../../flutter/runtime/service_protocol.h -FILE: ../../../flutter/runtime/skia_concurrent_executor.cc -FILE: ../../../flutter/runtime/skia_concurrent_executor.h -FILE: ../../../flutter/runtime/test_font_data.cc -FILE: ../../../flutter/runtime/test_font_data.h -FILE: ../../../flutter/shell/common/animator.cc -FILE: ../../../flutter/shell/common/animator.h -FILE: ../../../flutter/shell/common/base64.cc -FILE: ../../../flutter/shell/common/base64.h -FILE: ../../../flutter/shell/common/context_options.cc -FILE: ../../../flutter/shell/common/context_options.h -FILE: ../../../flutter/shell/common/dart_native_benchmarks.cc -FILE: ../../../flutter/shell/common/display.cc -FILE: ../../../flutter/shell/common/display.h -FILE: ../../../flutter/shell/common/display_manager.cc -FILE: ../../../flutter/shell/common/display_manager.h -FILE: ../../../flutter/shell/common/dl_op_spy.cc -FILE: ../../../flutter/shell/common/dl_op_spy.h -FILE: ../../../flutter/shell/common/engine.cc -FILE: ../../../flutter/shell/common/engine.h -FILE: ../../../flutter/shell/common/pipeline.cc -FILE: ../../../flutter/shell/common/pipeline.h -FILE: ../../../flutter/shell/common/platform_message_handler.h -FILE: ../../../flutter/shell/common/platform_view.cc -FILE: ../../../flutter/shell/common/platform_view.h -FILE: ../../../flutter/shell/common/pointer_data_dispatcher.cc -FILE: ../../../flutter/shell/common/pointer_data_dispatcher.h -FILE: ../../../flutter/shell/common/rasterizer.cc -FILE: ../../../flutter/shell/common/rasterizer.h -FILE: ../../../flutter/shell/common/resource_cache_limit_calculator.cc -FILE: ../../../flutter/shell/common/resource_cache_limit_calculator.h -FILE: ../../../flutter/shell/common/run_configuration.cc -FILE: ../../../flutter/shell/common/run_configuration.h -FILE: ../../../flutter/shell/common/serialization_callbacks.cc -FILE: ../../../flutter/shell/common/serialization_callbacks.h -FILE: ../../../flutter/shell/common/shell.cc -FILE: ../../../flutter/shell/common/shell.h -FILE: ../../../flutter/shell/common/shell_benchmarks.cc -FILE: ../../../flutter/shell/common/shell_io_manager.cc -FILE: ../../../flutter/shell/common/shell_io_manager.h -FILE: ../../../flutter/shell/common/shell_test.cc -FILE: ../../../flutter/shell/common/shell_test.h -FILE: ../../../flutter/shell/common/shell_test_external_view_embedder.cc -FILE: ../../../flutter/shell/common/shell_test_external_view_embedder.h -FILE: ../../../flutter/shell/common/shell_test_platform_view.cc -FILE: ../../../flutter/shell/common/shell_test_platform_view.h -FILE: ../../../flutter/shell/common/shell_test_platform_view_gl.cc -FILE: ../../../flutter/shell/common/shell_test_platform_view_gl.h -FILE: ../../../flutter/shell/common/shell_test_platform_view_metal.h -FILE: ../../../flutter/shell/common/shell_test_platform_view_metal.mm -FILE: ../../../flutter/shell/common/shell_test_platform_view_vulkan.cc -FILE: ../../../flutter/shell/common/shell_test_platform_view_vulkan.h -FILE: ../../../flutter/shell/common/skia_event_tracer_impl.cc -FILE: ../../../flutter/shell/common/skia_event_tracer_impl.h -FILE: ../../../flutter/shell/common/snapshot_controller.cc -FILE: ../../../flutter/shell/common/snapshot_controller.h -FILE: ../../../flutter/shell/common/snapshot_controller_impeller.cc -FILE: ../../../flutter/shell/common/snapshot_controller_impeller.h -FILE: ../../../flutter/shell/common/snapshot_controller_skia.cc -FILE: ../../../flutter/shell/common/snapshot_controller_skia.h -FILE: ../../../flutter/shell/common/snapshot_surface_producer.h -FILE: ../../../flutter/shell/common/switches.cc -FILE: ../../../flutter/shell/common/switches.h -FILE: ../../../flutter/shell/common/thread_host.cc -FILE: ../../../flutter/shell/common/thread_host.h -FILE: ../../../flutter/shell/common/variable_refresh_rate_display.cc -FILE: ../../../flutter/shell/common/variable_refresh_rate_display.h -FILE: ../../../flutter/shell/common/variable_refresh_rate_reporter.h -FILE: ../../../flutter/shell/common/vsync_waiter.cc -FILE: ../../../flutter/shell/common/vsync_waiter.h -FILE: ../../../flutter/shell/common/vsync_waiter_fallback.cc -FILE: ../../../flutter/shell/common/vsync_waiter_fallback.h -FILE: ../../../flutter/shell/common/vsync_waiters_test.cc -FILE: ../../../flutter/shell/common/vsync_waiters_test.h -FILE: ../../../flutter/shell/gpu/gpu_surface_gl_delegate.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_gl_delegate.h -FILE: ../../../flutter/shell/gpu/gpu_surface_gl_impeller.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_gl_impeller.h -FILE: ../../../flutter/shell/gpu/gpu_surface_gl_skia.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_gl_skia.h -FILE: ../../../flutter/shell/gpu/gpu_surface_metal_delegate.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_metal_delegate.h -FILE: ../../../flutter/shell/gpu/gpu_surface_metal_impeller.h -FILE: ../../../flutter/shell/gpu/gpu_surface_metal_impeller.mm -FILE: ../../../flutter/shell/gpu/gpu_surface_metal_skia.h -FILE: ../../../flutter/shell/gpu/gpu_surface_metal_skia.mm -FILE: ../../../flutter/shell/gpu/gpu_surface_noop.h -FILE: ../../../flutter/shell/gpu/gpu_surface_noop.mm -FILE: ../../../flutter/shell/gpu/gpu_surface_software.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_software.h -FILE: ../../../flutter/shell/gpu/gpu_surface_software_delegate.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_software_delegate.h -FILE: ../../../flutter/shell/gpu/gpu_surface_vulkan.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_vulkan.h -FILE: ../../../flutter/shell/gpu/gpu_surface_vulkan_delegate.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_vulkan_delegate.h -FILE: ../../../flutter/shell/gpu/gpu_surface_vulkan_impeller.cc -FILE: ../../../flutter/shell/gpu/gpu_surface_vulkan_impeller.h -FILE: ../../../flutter/shell/platform/android/AndroidManifest.xml -FILE: ../../../flutter/shell/platform/android/android_context_dynamic_impeller.cc -FILE: ../../../flutter/shell/platform/android/android_context_dynamic_impeller.h -FILE: ../../../flutter/shell/platform/android/android_context_gl_impeller.cc -FILE: ../../../flutter/shell/platform/android/android_context_gl_impeller.h -FILE: ../../../flutter/shell/platform/android/android_context_gl_skia.cc -FILE: ../../../flutter/shell/platform/android/android_context_gl_skia.h -FILE: ../../../flutter/shell/platform/android/android_context_vk_impeller.cc -FILE: ../../../flutter/shell/platform/android/android_context_vk_impeller.h -FILE: ../../../flutter/shell/platform/android/android_display.cc -FILE: ../../../flutter/shell/platform/android/android_display.h -FILE: ../../../flutter/shell/platform/android/android_egl_surface.cc -FILE: ../../../flutter/shell/platform/android/android_egl_surface.h -FILE: ../../../flutter/shell/platform/android/android_environment_gl.cc -FILE: ../../../flutter/shell/platform/android/android_environment_gl.h -FILE: ../../../flutter/shell/platform/android/android_exports.lst -FILE: ../../../flutter/shell/platform/android/android_image_generator.cc -FILE: ../../../flutter/shell/platform/android/android_image_generator.h -FILE: ../../../flutter/shell/platform/android/android_rendering_selector.h -FILE: ../../../flutter/shell/platform/android/android_shell_holder.cc -FILE: ../../../flutter/shell/platform/android/android_shell_holder.h -FILE: ../../../flutter/shell/platform/android/android_surface_dynamic_impeller.cc -FILE: ../../../flutter/shell/platform/android/android_surface_dynamic_impeller.h -FILE: ../../../flutter/shell/platform/android/android_surface_gl_impeller.cc -FILE: ../../../flutter/shell/platform/android/android_surface_gl_impeller.h -FILE: ../../../flutter/shell/platform/android/android_surface_gl_skia.cc -FILE: ../../../flutter/shell/platform/android/android_surface_gl_skia.h -FILE: ../../../flutter/shell/platform/android/android_surface_software.cc -FILE: ../../../flutter/shell/platform/android/android_surface_software.h -FILE: ../../../flutter/shell/platform/android/android_surface_vk_impeller.cc -FILE: ../../../flutter/shell/platform/android/android_surface_vk_impeller.h -FILE: ../../../flutter/shell/platform/android/apk_asset_provider.cc -FILE: ../../../flutter/shell/platform/android/apk_asset_provider.h -FILE: ../../../flutter/shell/platform/android/context/android_context.cc -FILE: ../../../flutter/shell/platform/android/context/android_context.h -FILE: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder.cc -FILE: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder.h -FILE: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.cc -FILE: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.h -FILE: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_wrapper.cc -FILE: ../../../flutter/shell/platform/android/external_view_embedder/external_view_embedder_wrapper.h -FILE: ../../../flutter/shell/platform/android/external_view_embedder/surface_pool.cc -FILE: ../../../flutter/shell/platform/android/external_view_embedder/surface_pool.h -FILE: ../../../flutter/shell/platform/android/flutter_main.cc -FILE: ../../../flutter/shell/platform/android/flutter_main.h -FILE: ../../../flutter/shell/platform/android/image_external_texture.cc -FILE: ../../../flutter/shell/platform/android/image_external_texture.h -FILE: ../../../flutter/shell/platform/android/image_external_texture_gl.cc -FILE: ../../../flutter/shell/platform/android/image_external_texture_gl.h -FILE: ../../../flutter/shell/platform/android/image_external_texture_gl_impeller.cc -FILE: ../../../flutter/shell/platform/android/image_external_texture_gl_impeller.h -FILE: ../../../flutter/shell/platform/android/image_external_texture_gl_skia.cc -FILE: ../../../flutter/shell/platform/android/image_external_texture_gl_skia.h -FILE: ../../../flutter/shell/platform/android/image_external_texture_vk_impeller.cc -FILE: ../../../flutter/shell/platform/android/image_external_texture_vk_impeller.h -FILE: ../../../flutter/shell/platform/android/image_lru.cc -FILE: ../../../flutter/shell/platform/android/image_lru.h -FILE: ../../../flutter/shell/platform/android/io/flutter/Build.java -FILE: ../../../flutter/shell/platform/android/io/flutter/BuildConfig.java -FILE: ../../../flutter/shell/platform/android/io/flutter/FlutterInjector.java -FILE: ../../../flutter/shell/platform/android/io/flutter/Log.java -FILE: ../../../flutter/shell/platform/android/io/flutter/app/FlutterApplication.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/AndroidTouchProcessor.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/ExclusiveAppComponent.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivity.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivityAndFragmentDelegate.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterActivityLaunchConfigs.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterEngineConfigurator.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterEngineProvider.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterFragment.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterFragmentActivity.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterImageView.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterPlayStoreSplitApplication.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterSurfaceView.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterTextureView.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterView.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/FlutterViewDelegate.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyChannelResponder.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyData.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyEmbedderResponder.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyboardManager.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/KeyboardMap.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/MotionEventTracker.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/RenderMode.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/SurfaceHolderCallbackCompat.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/TransparencyMode.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngine.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngineCache.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngineConnectionRegistry.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngineGroup.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterEngineGroupCache.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterJNI.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterOverlaySurface.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/FlutterShellArgs.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/DartExecutor.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/DartMessenger.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/PlatformMessageHandler.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/PlatformTaskQueue.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/deferredcomponents/DeferredComponentManager.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/deferredcomponents/PlayStoreDeferredComponentManager.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/loader/ApplicationInfoLoader.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/loader/FlutterApplicationInfo.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/loader/ResourceExtractor.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorView.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorsStack.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/FlutterPlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/PluginRegistry.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/activity/ActivityAware.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/activity/ActivityControlSurface.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/activity/ActivityPluginBinding.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverAware.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverControlSurface.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/broadcastreceiver/BroadcastReceiverPluginBinding.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/contentprovider/ContentProviderAware.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/contentprovider/ContentProviderControlSurface.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/contentprovider/ContentProviderPluginBinding.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/lifecycle/HiddenLifecycleReference.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/service/ServiceAware.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/service/ServiceControlSurface.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/service/ServicePluginBinding.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/plugins/util/GeneratedPluginRegister.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterUiDisplayListener.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/RenderSurface.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/SurfaceTextureSurfaceProducer.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/renderer/SurfaceTextureWrapper.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/AccessibilityChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/BackGestureChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/DeferredComponentChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/KeyEventChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/KeyboardChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/LifecycleChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/LocalizationChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/MouseCursorChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/NavigationChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewCreationRequest.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewTouch.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewsChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformViewsChannel2.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/ProcessTextChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/RestorationChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/ScribeChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/SensitiveContentChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/SettingsChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/SpellCheckChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/SystemChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/TextInputChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/ActivityLifecycleListener.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/BasicMessageChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/BinaryCodec.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/BinaryMessenger.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/ErrorLogResult.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/EventChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/FlutterException.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/JSONMessageCodec.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/JSONMethodCodec.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/JSONUtil.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/MessageCodec.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/MethodCall.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/MethodChannel.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/MethodCodec.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/PluginRegistry.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/StandardMessageCodec.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/StandardMethodCodec.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/common/StringCodec.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/FlutterTextUtils.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/ImeSyncDeferringInsetsCallback.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/InputConnectionAdaptor.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/ListenableEditingState.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/ScribePlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/SpellCheckPlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/TextEditingDelta.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/editing/TextInputPlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/localization/LocalizationPlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/mouse/MouseCursorPlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/AccessibilityEventsDelegate.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTarget.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformOverlayView.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformView.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewFactory.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRegistry.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRegistryImpl.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRenderTarget.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewWrapper.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsAccessibilityDelegate.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController2.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsControllerDelegator.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SingleViewFakeWindowViewGroup.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SingleViewPresentation.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SingleViewWindowManager.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SurfaceProducerPlatformViewRenderTarget.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/SurfaceTexturePlatformViewRenderTarget.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/VirtualDisplayController.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/platform/WindowManagerHandler.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/text/ProcessTextPlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/plugin/view/SensitiveContentPlugin.java -FILE: ../../../flutter/shell/platform/android/io/flutter/util/HandlerCompat.java -FILE: ../../../flutter/shell/platform/android/io/flutter/util/PathUtils.java -FILE: ../../../flutter/shell/platform/android/io/flutter/util/Preconditions.java -FILE: ../../../flutter/shell/platform/android/io/flutter/util/Predicate.java -FILE: ../../../flutter/shell/platform/android/io/flutter/util/TraceSection.java -FILE: ../../../flutter/shell/platform/android/io/flutter/util/ViewUtils.java -FILE: ../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java -FILE: ../../../flutter/shell/platform/android/io/flutter/view/AccessibilityViewEmbedder.java -FILE: ../../../flutter/shell/platform/android/io/flutter/view/FlutterCallbackInformation.java -FILE: ../../../flutter/shell/platform/android/io/flutter/view/FlutterRunArguments.java -FILE: ../../../flutter/shell/platform/android/io/flutter/view/TextureRegistry.java -FILE: ../../../flutter/shell/platform/android/io/flutter/view/VsyncWaiter.java -FILE: ../../../flutter/shell/platform/android/jni/jni_mock.h -FILE: ../../../flutter/shell/platform/android/jni/platform_view_android_jni.cc -FILE: ../../../flutter/shell/platform/android/jni/platform_view_android_jni.h -FILE: ../../../flutter/shell/platform/android/library_loader.cc -FILE: ../../../flutter/shell/platform/android/platform_message_handler_android.cc -FILE: ../../../flutter/shell/platform/android/platform_message_handler_android.h -FILE: ../../../flutter/shell/platform/android/platform_message_response_android.cc -FILE: ../../../flutter/shell/platform/android/platform_message_response_android.h -FILE: ../../../flutter/shell/platform/android/platform_view_android.cc -FILE: ../../../flutter/shell/platform/android/platform_view_android.h -FILE: ../../../flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.cc -FILE: ../../../flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.h -FILE: ../../../flutter/shell/platform/android/platform_view_android_jni_impl.cc -FILE: ../../../flutter/shell/platform/android/platform_view_android_jni_impl.h -FILE: ../../../flutter/shell/platform/android/surface/android_native_window.cc -FILE: ../../../flutter/shell/platform/android/surface/android_native_window.h -FILE: ../../../flutter/shell/platform/android/surface/android_surface.cc -FILE: ../../../flutter/shell/platform/android/surface/android_surface.h -FILE: ../../../flutter/shell/platform/android/surface/android_surface_mock.cc -FILE: ../../../flutter/shell/platform/android/surface/android_surface_mock.h -FILE: ../../../flutter/shell/platform/android/surface/snapshot_surface_producer.cc -FILE: ../../../flutter/shell/platform/android/surface/snapshot_surface_producer.h -FILE: ../../../flutter/shell/platform/android/surface_texture_external_texture.cc -FILE: ../../../flutter/shell/platform/android/surface_texture_external_texture.h -FILE: ../../../flutter/shell/platform/android/surface_texture_external_texture_gl_impeller.cc -FILE: ../../../flutter/shell/platform/android/surface_texture_external_texture_gl_impeller.h -FILE: ../../../flutter/shell/platform/android/surface_texture_external_texture_gl_skia.cc -FILE: ../../../flutter/shell/platform/android/surface_texture_external_texture_gl_skia.h -FILE: ../../../flutter/shell/platform/android/surface_texture_external_texture_vk_impeller.cc -FILE: ../../../flutter/shell/platform/android/surface_texture_external_texture_vk_impeller.h -FILE: ../../../flutter/shell/platform/android/vsync_waiter_android.cc -FILE: ../../../flutter/shell/platform/android/vsync_waiter_android.h -FILE: ../../../flutter/shell/platform/common/accessibility_bridge.cc -FILE: ../../../flutter/shell/platform/common/accessibility_bridge.h -FILE: ../../../flutter/shell/platform/common/alert_platform_node_delegate.cc -FILE: ../../../flutter/shell/platform/common/alert_platform_node_delegate.h -FILE: ../../../flutter/shell/platform/common/app_lifecycle_state.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/binary_messenger_impl.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/byte_buffer_streams.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/core_implementations.cc -FILE: ../../../flutter/shell/platform/common/client_wrapper/engine_method_result.cc -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/basic_message_channel.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/binary_messenger.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/byte_streams.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/encodable_value.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/engine_method_result.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/event_channel.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/event_sink.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/event_stream_handler.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/event_stream_handler_functions.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/message_codec.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_call.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_channel.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_codec.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_result.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/method_result_functions.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/plugin_registrar.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/plugin_registry.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/standard_codec_serializer.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/standard_message_codec.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/standard_method_codec.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/include/flutter/texture_registrar.h -FILE: ../../../flutter/shell/platform/common/client_wrapper/plugin_registrar.cc -FILE: ../../../flutter/shell/platform/common/client_wrapper/standard_codec.cc -FILE: ../../../flutter/shell/platform/common/client_wrapper/texture_registrar_impl.h -FILE: ../../../flutter/shell/platform/common/engine_switches.cc -FILE: ../../../flutter/shell/platform/common/engine_switches.h -FILE: ../../../flutter/shell/platform/common/flutter_platform_node_delegate.cc -FILE: ../../../flutter/shell/platform/common/flutter_platform_node_delegate.h -FILE: ../../../flutter/shell/platform/common/geometry.h -FILE: ../../../flutter/shell/platform/common/incoming_message_dispatcher.cc -FILE: ../../../flutter/shell/platform/common/incoming_message_dispatcher.h -FILE: ../../../flutter/shell/platform/common/isolate_scope.cc -FILE: ../../../flutter/shell/platform/common/isolate_scope.h -FILE: ../../../flutter/shell/platform/common/json_message_codec.cc -FILE: ../../../flutter/shell/platform/common/json_message_codec.h -FILE: ../../../flutter/shell/platform/common/json_method_codec.cc -FILE: ../../../flutter/shell/platform/common/json_method_codec.h -FILE: ../../../flutter/shell/platform/common/path_utils.cc -FILE: ../../../flutter/shell/platform/common/path_utils.h -FILE: ../../../flutter/shell/platform/common/platform_provided_menu.h -FILE: ../../../flutter/shell/platform/common/public/flutter_export.h -FILE: ../../../flutter/shell/platform/common/public/flutter_macros.h -FILE: ../../../flutter/shell/platform/common/public/flutter_messenger.h -FILE: ../../../flutter/shell/platform/common/public/flutter_plugin_registrar.h -FILE: ../../../flutter/shell/platform/common/public/flutter_texture_registrar.h -FILE: ../../../flutter/shell/platform/common/test_accessibility_bridge.cc -FILE: ../../../flutter/shell/platform/common/test_accessibility_bridge.h -FILE: ../../../flutter/shell/platform/common/text_editing_delta.cc -FILE: ../../../flutter/shell/platform/common/text_editing_delta.h -FILE: ../../../flutter/shell/platform/common/text_input_model.cc -FILE: ../../../flutter/shell/platform/common/text_input_model.h -FILE: ../../../flutter/shell/platform/common/text_range.h -FILE: ../../../flutter/shell/platform/common/windowing.h -FILE: ../../../flutter/shell/platform/darwin/common/InternalFlutterSwiftCommon-Bridging-Header.h -FILE: ../../../flutter/shell/platform/darwin/common/SwiftTestingMain.swift -FILE: ../../../flutter/shell/platform/darwin/common/SwiftTestingRunner.swift -FILE: ../../../flutter/shell/platform/darwin/common/availability_version_check.cc -FILE: ../../../flutter/shell/platform/darwin/common/availability_version_check.h -FILE: ../../../flutter/shell/platform/darwin/common/buffer_conversions.h -FILE: ../../../flutter/shell/platform/darwin/common/buffer_conversions.mm -FILE: ../../../flutter/shell/platform/darwin/common/command_line.h -FILE: ../../../flutter/shell/platform/darwin/common/command_line.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterBinaryMessenger.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterChannels.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterCodecs.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterDartProject.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterHourFormat.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterMacros.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Headers/FlutterTexture.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterBinaryMessengerRelay.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterBinaryMessengerRelay.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterBinaryMessengerRelayTest.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterChannels.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterChannelsTest.m -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterCodecs.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterHourFormat.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterNSBundleUtils.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterNSBundleUtils.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterStandardCodec.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterStandardCodecHelper.cc -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterStandardCodecHelper.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterStandardCodec_Internal.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterTestUtils.h -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/FlutterTestUtils.mm -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/Logger.swift -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/LoggerTest.swift -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/LoggerTestUtils.swift -FILE: ../../../flutter/shell/platform/darwin/common/framework/Source/SwiftTests.swift -FILE: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.h -FILE: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm -FILE: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalSkia.h -FILE: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalSkia.mm -FILE: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.h -FILE: ../../../flutter/shell/platform/darwin/graphics/FlutterDarwinExternalTextureMetal.mm -FILE: ../../../flutter/shell/platform/darwin/ios/InternalFlutterSwift-Bridging-Header.h -FILE: ../../../flutter/shell/platform/darwin/ios/flutter_task_queue_dispatch.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/Flutter.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterAppDelegate.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterCallbackCache.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterEngine.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterEngineGroup.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterHeadlessDartRunner.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlatformViews.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlugin.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterPluginAppLifeCycleDelegate.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterSceneDelegate.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Headers/FlutterViewController.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Info.plist -FILE: ../../../flutter/shell/platform/darwin/ios/framework/PrivacyInfo.xcprivacy -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/ConnectionCollection.swift -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/ConnectionCollectionTest.swift -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FakeUIPressProxy.swift -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegateTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate_Internal.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate_Test.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterCallbackCache.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterCallbackCache_Internal.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterChannelKeyResponder.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterChannelKeyResponder.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterChannelKeyResponderTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProjectTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject_Internal.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartVMServicePublisher.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterDartVMServicePublisher.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEmbedderKeyResponder.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEmbedderKeyResponder.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEmbedderKeyResponderTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineGroup.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineGroupTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEnginePlatformViewTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine_Internal.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine_Test.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterFakeKeyEvents.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterFakeKeyEvents.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterHeadlessDartRunner.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterIndirectScribbleDelegate.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyPrimaryResponder.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeySecondaryResponder.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyboardManager.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyboardManager.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterKeyboardManagerTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterLaunchEngine.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterLaunchEngine.m -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterLaunchEngineTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayer.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayer.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayerTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterOverlayView.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterOverlayView.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformPlugin.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformPlugin.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformPluginTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsController.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsController.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPluginAppLifeCycleDelegate.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPluginAppLifeCycleDelegateTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterPluginAppLifeCycleDelegate_internal.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterRestorationPlugin.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterRestorationPlugin.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterRestorationPluginTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate.m -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegateTest.m -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSemanticsScrollView.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSemanticsScrollView.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSharedApplication.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSharedApplication.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSharedApplicationTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSpellCheckPlugin.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSpellCheckPlugin.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterSpellCheckPluginTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputDelegate.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPluginTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextureRegistryRelay.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextureRegistryRelay.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTextureRegistryRelayTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterTouchInterceptingView_Test.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUmbrellaImport.m -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUndoManagerDelegate.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUndoManagerPlugin.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUndoManagerPlugin.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterUndoManagerPluginTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterView.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterView.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewControllerTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController_Internal.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewResponder.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/FlutterViewTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/IOKit.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/KeyCodeMap.g.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/KeyCodeMap_Internal.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject+UIFocusSystem.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObjectTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/SemanticsObjectTestMocks.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/TextInputSemanticsObject.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/TextInputSemanticsObject.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/UIPressProxy.swift -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/UIViewController+FlutterScreenAndSceneIfLoaded.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/UIViewController+FlutterScreenAndSceneIfLoaded.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/UIViewController_FlutterScreenAndSceneIfLoadedTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/VsyncWaiterIosTest.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge_ios.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge_test.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/availability_version_check_test.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/overlay_layer_pool.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/overlay_layer_pool.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/platform_message_response_darwin.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/platform_message_response_darwin.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/profiler_metrics_ios.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/profiler_metrics_ios.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/vsync_waiter_ios.h -FILE: ../../../flutter/shell/platform/darwin/ios/framework/Source/vsync_waiter_ios.mm -FILE: ../../../flutter/shell/platform/darwin/ios/framework/module.modulemap -FILE: ../../../flutter/shell/platform/darwin/ios/ios_context.h -FILE: ../../../flutter/shell/platform/darwin/ios/ios_context.mm -FILE: ../../../flutter/shell/platform/darwin/ios/ios_context_metal_impeller.h -FILE: ../../../flutter/shell/platform/darwin/ios/ios_context_metal_impeller.mm -FILE: ../../../flutter/shell/platform/darwin/ios/ios_context_noop.h -FILE: ../../../flutter/shell/platform/darwin/ios/ios_context_noop.mm -FILE: ../../../flutter/shell/platform/darwin/ios/ios_external_texture_metal.h -FILE: ../../../flutter/shell/platform/darwin/ios/ios_external_texture_metal.mm -FILE: ../../../flutter/shell/platform/darwin/ios/ios_external_view_embedder.h -FILE: ../../../flutter/shell/platform/darwin/ios/ios_external_view_embedder.mm -FILE: ../../../flutter/shell/platform/darwin/ios/ios_surface.h -FILE: ../../../flutter/shell/platform/darwin/ios/ios_surface.mm -FILE: ../../../flutter/shell/platform/darwin/ios/ios_surface_metal_impeller.h -FILE: ../../../flutter/shell/platform/darwin/ios/ios_surface_metal_impeller.mm -FILE: ../../../flutter/shell/platform/darwin/ios/ios_surface_noop.h -FILE: ../../../flutter/shell/platform/darwin/ios/ios_surface_noop.mm -FILE: ../../../flutter/shell/platform/darwin/ios/platform_message_handler_ios.h -FILE: ../../../flutter/shell/platform/darwin/ios/platform_message_handler_ios.mm -FILE: ../../../flutter/shell/platform/darwin/ios/platform_message_handler_ios_test.mm -FILE: ../../../flutter/shell/platform/darwin/ios/platform_view_ios.h -FILE: ../../../flutter/shell/platform/darwin/ios/platform_view_ios.mm -FILE: ../../../flutter/shell/platform/darwin/ios/rendering_api_selection.h -FILE: ../../../flutter/shell/platform/darwin/ios/rendering_api_selection.mm -FILE: ../../../flutter/shell/platform/darwin/macos/InternalFlutterSwift-Bridging-Header.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterAppDelegate.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterAppLifecycleDelegate.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterEngine.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterMacOS.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterPlatformViews.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginMacOS.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginRegistrarMacOS.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Headers/FlutterViewController.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Info.plist -FILE: ../../../flutter/shell/platform/darwin/macos/framework/PrivacyInfo.xcprivacy -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMacTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppDelegate.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppDelegateTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppDelegate_Internal.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppLifecycleDelegate.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppLifecycleDelegateTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterAppLifecycleDelegate_Internal.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterChannelKeyResponder.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterChannelKeyResponder.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterChannelKeyResponderTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterCompositor.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterCompositor.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDartProject.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDartProject_Internal.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDisplayLink.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDisplayLink.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterDisplayLinkTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderExternalTextureTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderKeyResponder.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderKeyResponder.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEmbedderKeyResponderTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTestUtils.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTestUtils.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine_Internal.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterExternalTexture.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterExternalTexture.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyPrimaryResponder.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardLayout.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardLayout.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardManager.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardManager.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterKeyboardManagerTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPlugin.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPlugin.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPluginTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPlugin_Internal.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMouseCursorPlugin.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMouseCursorPlugin.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMutatorView.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMutatorView.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterMutatorViewTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformNodeDelegateMac.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformNodeDelegateMac.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformNodeDelegateMacTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformViewController.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformViewController.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterPlatformViewControllerTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterRenderer.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterRenderer.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterRunLoop.swift -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurface.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurface.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurfaceManager.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterSurfaceManagerTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputPlugin.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputPlugin.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputPluginTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputSemanticsObject.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputSemanticsObject.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextInputSemanticsObjectTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextureRegistrar.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTextureRegistrar.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTimeConverter.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterTimeConverter.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterUmbrellaImportTests.m -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterVSyncWaiter.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterVSyncWaiter.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterVSyncWaiterTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterView.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterView.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewController.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTestUtils.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTestUtils.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewController_Internal.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewEngineProvider.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewEngineProvider.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewEngineProviderTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewProvider.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterViewTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterWindowController.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterWindowController.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/FlutterWindowControllerTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/KeyCodeMap.g.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/KeyCodeMapTest.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/KeyCodeMap_Internal.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/NSView+ClipsToBounds.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/ResizeSynchronizer.swift -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/ResizeSynchronizerTest.swift -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/TestFlutterPlatformView.h -FILE: ../../../flutter/shell/platform/darwin/macos/framework/Source/TestFlutterPlatformView.mm -FILE: ../../../flutter/shell/platform/darwin/macos/framework/module.modulemap -FILE: ../../../flutter/shell/platform/embedder/assets/EmbedderInfo.plist -FILE: ../../../flutter/shell/platform/embedder/assets/embedder.modulemap -FILE: ../../../flutter/shell/platform/embedder/embedder.cc -FILE: ../../../flutter/shell/platform/embedder/embedder.h -FILE: ../../../flutter/shell/platform/embedder/embedder_engine.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_engine.h -FILE: ../../../flutter/shell/platform/embedder/embedder_exports.lst -FILE: ../../../flutter/shell/platform/embedder/embedder_external_texture_gl.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_external_texture_gl.h -FILE: ../../../flutter/shell/platform/embedder/embedder_external_texture_metal.h -FILE: ../../../flutter/shell/platform/embedder/embedder_external_texture_metal.mm -FILE: ../../../flutter/shell/platform/embedder/embedder_external_texture_resolver.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_external_texture_resolver.h -FILE: ../../../flutter/shell/platform/embedder/embedder_external_view.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_external_view.h -FILE: ../../../flutter/shell/platform/embedder/embedder_external_view_embedder.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_external_view_embedder.h -FILE: ../../../flutter/shell/platform/embedder/embedder_include.c -FILE: ../../../flutter/shell/platform/embedder/embedder_include2.c -FILE: ../../../flutter/shell/platform/embedder/embedder_layers.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_layers.h -FILE: ../../../flutter/shell/platform/embedder/embedder_platform_message_response.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_platform_message_response.h -FILE: ../../../flutter/shell/platform/embedder/embedder_render_target.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_render_target.h -FILE: ../../../flutter/shell/platform/embedder/embedder_render_target_cache.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_render_target_cache.h -FILE: ../../../flutter/shell/platform/embedder/embedder_render_target_impeller.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_render_target_impeller.h -FILE: ../../../flutter/shell/platform/embedder/embedder_render_target_skia.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_render_target_skia.h -FILE: ../../../flutter/shell/platform/embedder/embedder_semantics_update.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_semantics_update.h -FILE: ../../../flutter/shell/platform/embedder/embedder_struct_macros.h -FILE: ../../../flutter/shell/platform/embedder/embedder_surface.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_surface.h -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl_impeller.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl_impeller.h -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl_skia.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_gl_skia.h -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal_impeller.h -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal_impeller.mm -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal_skia.h -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_metal_skia.mm -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_software.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_software.h -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan.h -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan_impeller.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_surface_vulkan_impeller.h -FILE: ../../../flutter/shell/platform/embedder/embedder_task_runner.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_task_runner.h -FILE: ../../../flutter/shell/platform/embedder/embedder_thread_host.cc -FILE: ../../../flutter/shell/platform/embedder/embedder_thread_host.h -FILE: ../../../flutter/shell/platform/embedder/pixel_formats.cc -FILE: ../../../flutter/shell/platform/embedder/pixel_formats.h -FILE: ../../../flutter/shell/platform/embedder/platform_view_embedder.cc -FILE: ../../../flutter/shell/platform/embedder/platform_view_embedder.h -FILE: ../../../flutter/shell/platform/embedder/test_utils/key_codes.g.h -FILE: ../../../flutter/shell/platform/embedder/test_utils/proc_table_replacement.h -FILE: ../../../flutter/shell/platform/embedder/vsync_waiter_embedder.cc -FILE: ../../../flutter/shell/platform/embedder/vsync_waiter_embedder.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/lib/fuchsia.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/sdk_ext/fuchsia.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/fuchsia/sdk_ext/fuchsia.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_disposition.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/handle_waiter.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/init.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/system.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/zd_channel.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/src/zd_handle.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/lib/zircon.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle_disposition.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle_disposition.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle_waiter.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/handle_waiter.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/natives.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/natives.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/basic_types.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/basic_types.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/channel.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/channel.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/clock.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/clock.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/dart_dl.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/dart_dl.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/handle.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/handle.h -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/lib/zircon_ffi.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart-pkg/zircon_ffi/macros.h -FILE: ../../../flutter/shell/platform/fuchsia/dart/compiler.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/builtin_libraries.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/builtin_libraries.h -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_component_controller.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_component_controller.h -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_runner.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_runner.h -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_test_component_controller.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/dart_test_component_controller.h -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/builtin.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/shim.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/snapshot.cc.tmpl -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/snapshot.dart -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/embedder/snapshot.h -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/fidl/echo.fidl -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/logging.h -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/main.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/common.shard.cml -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/dart_aot_product_runner.cml -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/dart_aot_runner.cml -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/dart_jit_product_runner.cml -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/meta/dart_jit_runner.cml -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/service_isolate.cc -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/service_isolate.h -FILE: ../../../flutter/shell/platform/fuchsia/dart_runner/vmservice/empty.dart -FILE: ../../../flutter/shell/platform/fuchsia/flutter/accessibility_bridge.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/accessibility_bridge.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/canvas_spy.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/canvas_spy.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/component_v2.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/component_v2.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/engine.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/engine.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/external_view_embedder.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/external_view_embedder.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/file_in_namespace_buffer.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/file_in_namespace_buffer.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/flatland_connection.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/flatland_connection.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/flutter_runner_fakes.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/flutter_runner_product_configuration.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/flutter_runner_product_configuration.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/focus_delegate.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/focus_delegate.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/fuchsia_intl.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/fuchsia_intl.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/isolate_configurator.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/isolate_configurator.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/kernel/framework_shim.dart -FILE: ../../../flutter/shell/platform/fuchsia/flutter/keyboard.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/keyboard.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/logging.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/main.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/common.shard.cml -FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_aot_product_runner.cml -FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_aot_runner.cml -FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_jit_product_runner.cml -FILE: ../../../flutter/shell/platform/fuchsia/flutter/meta/flutter_jit_runner.cml -FILE: ../../../flutter/shell/platform/fuchsia/flutter/platform_view.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/platform_view.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/pointer_delegate.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/pointer_delegate.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/pointer_injector_delegate.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/pointer_injector_delegate.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/program_metadata.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/rtree.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/rtree.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/runner.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/runner.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/software_surface.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/software_surface.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/software_surface_producer.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/software_surface_producer.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/surface.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/surface.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/surface_producer.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/task_runner_adapter.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/task_runner_adapter.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/text_delegate.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/text_delegate.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/unique_fdio_ns.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/vsync_waiter.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/vsync_waiter.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface_pool.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface_pool.h -FILE: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface_producer.cc -FILE: ../../../flutter/shell/platform/fuchsia/flutter/vulkan_surface_producer.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols/dart_profiler_symbols.dart -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/build_info.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/build_info_in.cc -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/files.cc -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/files.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/handle_exception.cc -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/handle_exception.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/inlines.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/logging.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/mapped_resource.cc -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/mapped_resource.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/root_inspect_node.cc -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/root_inspect_node.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/tempfs.cc -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/tempfs.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/vmo.cc -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/vmo.h -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/vmservice_object.cc -FILE: ../../../flutter/shell/platform/fuchsia/runtime/dart/utils/vmservice_object.h -FILE: ../../../flutter/shell/platform/glfw/client_wrapper/flutter_engine.cc -FILE: ../../../flutter/shell/platform/glfw/client_wrapper/flutter_window_controller.cc -FILE: ../../../flutter/shell/platform/glfw/client_wrapper/include/flutter/flutter_engine.h -FILE: ../../../flutter/shell/platform/glfw/client_wrapper/include/flutter/flutter_window.h -FILE: ../../../flutter/shell/platform/glfw/client_wrapper/include/flutter/flutter_window_controller.h -FILE: ../../../flutter/shell/platform/glfw/client_wrapper/include/flutter/plugin_registrar_glfw.h -FILE: ../../../flutter/shell/platform/glfw/event_loop.cc -FILE: ../../../flutter/shell/platform/glfw/event_loop.h -FILE: ../../../flutter/shell/platform/glfw/flutter_glfw.cc -FILE: ../../../flutter/shell/platform/glfw/glfw_event_loop.cc -FILE: ../../../flutter/shell/platform/glfw/glfw_event_loop.h -FILE: ../../../flutter/shell/platform/glfw/headless_event_loop.cc -FILE: ../../../flutter/shell/platform/glfw/headless_event_loop.h -FILE: ../../../flutter/shell/platform/glfw/key_event_handler.cc -FILE: ../../../flutter/shell/platform/glfw/key_event_handler.h -FILE: ../../../flutter/shell/platform/glfw/keyboard_hook_handler.h -FILE: ../../../flutter/shell/platform/glfw/platform_handler.cc -FILE: ../../../flutter/shell/platform/glfw/platform_handler.h -FILE: ../../../flutter/shell/platform/glfw/public/flutter_glfw.h -FILE: ../../../flutter/shell/platform/glfw/system_utils.cc -FILE: ../../../flutter/shell/platform/glfw/system_utils.h -FILE: ../../../flutter/shell/platform/glfw/system_utils_test.cc -FILE: ../../../flutter/shell/platform/glfw/text_input_plugin.cc -FILE: ../../../flutter/shell/platform/glfw/text_input_plugin.h -FILE: ../../../flutter/shell/platform/linux/fl_accessible_node.cc -FILE: ../../../flutter/shell/platform/linux/fl_accessible_node.h -FILE: ../../../flutter/shell/platform/linux/fl_accessible_node_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_accessible_text_field.cc -FILE: ../../../flutter/shell/platform/linux/fl_accessible_text_field.h -FILE: ../../../flutter/shell/platform/linux/fl_accessible_text_field_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_application.cc -FILE: ../../../flutter/shell/platform/linux/fl_application_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_basic_message_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_basic_message_channel_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_binary_codec.cc -FILE: ../../../flutter/shell/platform/linux/fl_binary_codec_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_binary_messenger.cc -FILE: ../../../flutter/shell/platform/linux/fl_binary_messenger_private.h -FILE: ../../../flutter/shell/platform/linux/fl_binary_messenger_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_compositor.cc -FILE: ../../../flutter/shell/platform/linux/fl_compositor.h -FILE: ../../../flutter/shell/platform/linux/fl_compositor_opengl.cc -FILE: ../../../flutter/shell/platform/linux/fl_compositor_opengl.h -FILE: ../../../flutter/shell/platform/linux/fl_compositor_opengl_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_compositor_software.cc -FILE: ../../../flutter/shell/platform/linux/fl_compositor_software.h -FILE: ../../../flutter/shell/platform/linux/fl_compositor_software_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_dart_project.cc -FILE: ../../../flutter/shell/platform/linux/fl_dart_project_private.h -FILE: ../../../flutter/shell/platform/linux/fl_dart_project_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_display_monitor.cc -FILE: ../../../flutter/shell/platform/linux/fl_display_monitor.h -FILE: ../../../flutter/shell/platform/linux/fl_display_monitor_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_engine.cc -FILE: ../../../flutter/shell/platform/linux/fl_engine_private.h -FILE: ../../../flutter/shell/platform/linux/fl_engine_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_event_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_event_channel_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_framebuffer.cc -FILE: ../../../flutter/shell/platform/linux/fl_framebuffer.h -FILE: ../../../flutter/shell/platform/linux/fl_framebuffer_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_gnome_settings.cc -FILE: ../../../flutter/shell/platform/linux/fl_gnome_settings.h -FILE: ../../../flutter/shell/platform/linux/fl_gnome_settings_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_json_message_codec.cc -FILE: ../../../flutter/shell/platform/linux/fl_json_message_codec_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_json_method_codec.cc -FILE: ../../../flutter/shell/platform/linux/fl_json_method_codec_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_key_channel_responder.cc -FILE: ../../../flutter/shell/platform/linux/fl_key_channel_responder.h -FILE: ../../../flutter/shell/platform/linux/fl_key_channel_responder_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_key_embedder_responder.cc -FILE: ../../../flutter/shell/platform/linux/fl_key_embedder_responder.h -FILE: ../../../flutter/shell/platform/linux/fl_key_embedder_responder_private.h -FILE: ../../../flutter/shell/platform/linux/fl_key_embedder_responder_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_key_event.cc -FILE: ../../../flutter/shell/platform/linux/fl_key_event.h -FILE: ../../../flutter/shell/platform/linux/fl_key_event_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_key_event_channel.h -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_channel.h -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_handler.cc -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_handler.h -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_handler_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_layout.cc -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_layout.h -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_layout_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_manager.cc -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_manager.h -FILE: ../../../flutter/shell/platform/linux/fl_keyboard_manager_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_message_codec.cc -FILE: ../../../flutter/shell/platform/linux/fl_message_codec_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_method_call.cc -FILE: ../../../flutter/shell/platform/linux/fl_method_call_private.h -FILE: ../../../flutter/shell/platform/linux/fl_method_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_method_channel_private.h -FILE: ../../../flutter/shell/platform/linux/fl_method_channel_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_method_codec.cc -FILE: ../../../flutter/shell/platform/linux/fl_method_codec_private.h -FILE: ../../../flutter/shell/platform/linux/fl_method_codec_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_method_response.cc -FILE: ../../../flutter/shell/platform/linux/fl_method_response_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_mouse_cursor_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_mouse_cursor_channel.h -FILE: ../../../flutter/shell/platform/linux/fl_mouse_cursor_handler.cc -FILE: ../../../flutter/shell/platform/linux/fl_mouse_cursor_handler.h -FILE: ../../../flutter/shell/platform/linux/fl_opengl_manager.cc -FILE: ../../../flutter/shell/platform/linux/fl_opengl_manager.h -FILE: ../../../flutter/shell/platform/linux/fl_pixel_buffer_texture.cc -FILE: ../../../flutter/shell/platform/linux/fl_pixel_buffer_texture_private.h -FILE: ../../../flutter/shell/platform/linux/fl_pixel_buffer_texture_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_platform_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_platform_channel.h -FILE: ../../../flutter/shell/platform/linux/fl_platform_channel_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_platform_handler.cc -FILE: ../../../flutter/shell/platform/linux/fl_platform_handler.h -FILE: ../../../flutter/shell/platform/linux/fl_platform_handler_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_plugin_registrar.cc -FILE: ../../../flutter/shell/platform/linux/fl_plugin_registrar_private.h -FILE: ../../../flutter/shell/platform/linux/fl_plugin_registrar_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_plugin_registry.cc -FILE: ../../../flutter/shell/platform/linux/fl_pointer_manager.cc -FILE: ../../../flutter/shell/platform/linux/fl_pointer_manager.h -FILE: ../../../flutter/shell/platform/linux/fl_pointer_manager_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_renderable.cc -FILE: ../../../flutter/shell/platform/linux/fl_renderable.h -FILE: ../../../flutter/shell/platform/linux/fl_scrolling_manager.cc -FILE: ../../../flutter/shell/platform/linux/fl_scrolling_manager.h -FILE: ../../../flutter/shell/platform/linux/fl_scrolling_manager_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_settings.cc -FILE: ../../../flutter/shell/platform/linux/fl_settings.h -FILE: ../../../flutter/shell/platform/linux/fl_settings_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_settings_channel.h -FILE: ../../../flutter/shell/platform/linux/fl_settings_handler.cc -FILE: ../../../flutter/shell/platform/linux/fl_settings_handler.h -FILE: ../../../flutter/shell/platform/linux/fl_settings_handler_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_settings_portal.cc -FILE: ../../../flutter/shell/platform/linux/fl_settings_portal.h -FILE: ../../../flutter/shell/platform/linux/fl_settings_portal_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_socket_accessible.cc -FILE: ../../../flutter/shell/platform/linux/fl_socket_accessible.h -FILE: ../../../flutter/shell/platform/linux/fl_standard_message_codec.cc -FILE: ../../../flutter/shell/platform/linux/fl_standard_message_codec_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_standard_method_codec.cc -FILE: ../../../flutter/shell/platform/linux/fl_standard_method_codec_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_string_codec.cc -FILE: ../../../flutter/shell/platform/linux/fl_string_codec_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_task_runner.cc -FILE: ../../../flutter/shell/platform/linux/fl_task_runner.h -FILE: ../../../flutter/shell/platform/linux/fl_text_input_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_text_input_channel.h -FILE: ../../../flutter/shell/platform/linux/fl_text_input_handler.cc -FILE: ../../../flutter/shell/platform/linux/fl_text_input_handler.h -FILE: ../../../flutter/shell/platform/linux/fl_text_input_handler_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_texture.cc -FILE: ../../../flutter/shell/platform/linux/fl_texture_gl.cc -FILE: ../../../flutter/shell/platform/linux/fl_texture_gl_private.h -FILE: ../../../flutter/shell/platform/linux/fl_texture_gl_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_texture_private.h -FILE: ../../../flutter/shell/platform/linux/fl_texture_registrar.cc -FILE: ../../../flutter/shell/platform/linux/fl_texture_registrar_private.h -FILE: ../../../flutter/shell/platform/linux/fl_texture_registrar_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_touch_manager.cc -FILE: ../../../flutter/shell/platform/linux/fl_touch_manager.h -FILE: ../../../flutter/shell/platform/linux/fl_touch_manager_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_value.cc -FILE: ../../../flutter/shell/platform/linux/fl_value_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_view.cc -FILE: ../../../flutter/shell/platform/linux/fl_view_accessible.cc -FILE: ../../../flutter/shell/platform/linux/fl_view_accessible.h -FILE: ../../../flutter/shell/platform/linux/fl_view_accessible_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_view_private.h -FILE: ../../../flutter/shell/platform/linux/fl_view_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_window_state_monitor.cc -FILE: ../../../flutter/shell/platform/linux/fl_window_state_monitor.h -FILE: ../../../flutter/shell/platform/linux/fl_window_state_monitor_test.cc -FILE: ../../../flutter/shell/platform/linux/fl_windowing_channel.cc -FILE: ../../../flutter/shell/platform/linux/fl_windowing_channel.h -FILE: ../../../flutter/shell/platform/linux/fl_windowing_handler.cc -FILE: ../../../flutter/shell/platform/linux/fl_windowing_handler.h -FILE: ../../../flutter/shell/platform/linux/fl_windowing_handler_test.cc -FILE: ../../../flutter/shell/platform/linux/key_mapping.g.cc -FILE: ../../../flutter/shell/platform/linux/key_mapping.h -FILE: ../../../flutter/shell/platform/linux/key_mapping_test.cc -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_application.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_basic_message_channel.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_binary_codec.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_dart_project.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_engine.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_event_channel.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_json_message_codec.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_json_method_codec.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_message_codec.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_method_call.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_method_channel.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_method_codec.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_method_response.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_pixel_buffer_texture.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_plugin_registrar.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_plugin_registry.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_standard_message_codec.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_standard_method_codec.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_string_codec.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_texture.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_texture_gl.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_texture_registrar.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_value.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/fl_view.h -FILE: ../../../flutter/shell/platform/linux/public/flutter_linux/flutter_linux.h -FILE: ../../../flutter/shell/platform/windows/accessibility_bridge_windows.cc -FILE: ../../../flutter/shell/platform/windows/accessibility_bridge_windows.h -FILE: ../../../flutter/shell/platform/windows/accessibility_plugin.cc -FILE: ../../../flutter/shell/platform/windows/accessibility_plugin.h -FILE: ../../../flutter/shell/platform/windows/client_wrapper/flutter_engine.cc -FILE: ../../../flutter/shell/platform/windows/client_wrapper/flutter_view_controller.cc -FILE: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/dart_project.h -FILE: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/flutter_engine.h -FILE: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/flutter_view.h -FILE: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/flutter_view_controller.h -FILE: ../../../flutter/shell/platform/windows/client_wrapper/include/flutter/plugin_registrar_windows.h -FILE: ../../../flutter/shell/platform/windows/compositor.h -FILE: ../../../flutter/shell/platform/windows/compositor_opengl.cc -FILE: ../../../flutter/shell/platform/windows/compositor_opengl.h -FILE: ../../../flutter/shell/platform/windows/compositor_software.cc -FILE: ../../../flutter/shell/platform/windows/compositor_software.h -FILE: ../../../flutter/shell/platform/windows/cursor_handler.cc -FILE: ../../../flutter/shell/platform/windows/cursor_handler.h -FILE: ../../../flutter/shell/platform/windows/direct_manipulation.cc -FILE: ../../../flutter/shell/platform/windows/direct_manipulation.h -FILE: ../../../flutter/shell/platform/windows/dpi_utils.cc -FILE: ../../../flutter/shell/platform/windows/dpi_utils.h -FILE: ../../../flutter/shell/platform/windows/egl/context.cc -FILE: ../../../flutter/shell/platform/windows/egl/context.h -FILE: ../../../flutter/shell/platform/windows/egl/egl.cc -FILE: ../../../flutter/shell/platform/windows/egl/egl.h -FILE: ../../../flutter/shell/platform/windows/egl/manager.cc -FILE: ../../../flutter/shell/platform/windows/egl/manager.h -FILE: ../../../flutter/shell/platform/windows/egl/proc_table.cc -FILE: ../../../flutter/shell/platform/windows/egl/proc_table.h -FILE: ../../../flutter/shell/platform/windows/egl/surface.cc -FILE: ../../../flutter/shell/platform/windows/egl/surface.h -FILE: ../../../flutter/shell/platform/windows/egl/window_surface.cc -FILE: ../../../flutter/shell/platform/windows/egl/window_surface.h -FILE: ../../../flutter/shell/platform/windows/event_watcher.cc -FILE: ../../../flutter/shell/platform/windows/event_watcher.h -FILE: ../../../flutter/shell/platform/windows/external_texture.h -FILE: ../../../flutter/shell/platform/windows/external_texture_d3d.cc -FILE: ../../../flutter/shell/platform/windows/external_texture_d3d.h -FILE: ../../../flutter/shell/platform/windows/external_texture_pixelbuffer.cc -FILE: ../../../flutter/shell/platform/windows/external_texture_pixelbuffer.h -FILE: ../../../flutter/shell/platform/windows/flutter_desktop_messenger.h -FILE: ../../../flutter/shell/platform/windows/flutter_key_map.g.cc -FILE: ../../../flutter/shell/platform/windows/flutter_platform_node_delegate_windows.cc -FILE: ../../../flutter/shell/platform/windows/flutter_platform_node_delegate_windows.h -FILE: ../../../flutter/shell/platform/windows/flutter_project_bundle.cc -FILE: ../../../flutter/shell/platform/windows/flutter_project_bundle.h -FILE: ../../../flutter/shell/platform/windows/flutter_window.cc -FILE: ../../../flutter/shell/platform/windows/flutter_window.h -FILE: ../../../flutter/shell/platform/windows/flutter_windows.cc -FILE: ../../../flutter/shell/platform/windows/display_monitor.cc -FILE: ../../../flutter/shell/platform/windows/display_monitor.h -FILE: ../../../flutter/shell/platform/windows/flutter_windows_engine.cc -FILE: ../../../flutter/shell/platform/windows/flutter_windows_engine.h -FILE: ../../../flutter/shell/platform/windows/flutter_windows_internal.h -FILE: ../../../flutter/shell/platform/windows/flutter_windows_texture_registrar.cc -FILE: ../../../flutter/shell/platform/windows/flutter_windows_texture_registrar.h -FILE: ../../../flutter/shell/platform/windows/flutter_windows_view.cc -FILE: ../../../flutter/shell/platform/windows/flutter_windows_view.h -FILE: ../../../flutter/shell/platform/windows/flutter_windows_view_controller.cc -FILE: ../../../flutter/shell/platform/windows/flutter_windows_view_controller.h -FILE: ../../../flutter/shell/platform/windows/host_window.cc -FILE: ../../../flutter/shell/platform/windows/host_window.h -FILE: ../../../flutter/shell/platform/windows/keyboard_handler_base.h -FILE: ../../../flutter/shell/platform/windows/keyboard_key_channel_handler.cc -FILE: ../../../flutter/shell/platform/windows/keyboard_key_channel_handler.h -FILE: ../../../flutter/shell/platform/windows/keyboard_key_embedder_handler.cc -FILE: ../../../flutter/shell/platform/windows/keyboard_key_embedder_handler.h -FILE: ../../../flutter/shell/platform/windows/keyboard_key_handler.cc -FILE: ../../../flutter/shell/platform/windows/keyboard_key_handler.h -FILE: ../../../flutter/shell/platform/windows/keyboard_manager.cc -FILE: ../../../flutter/shell/platform/windows/keyboard_manager.h -FILE: ../../../flutter/shell/platform/windows/keyboard_utils.cc -FILE: ../../../flutter/shell/platform/windows/keyboard_utils.h -FILE: ../../../flutter/shell/platform/windows/platform_handler.cc -FILE: ../../../flutter/shell/platform/windows/platform_handler.h -FILE: ../../../flutter/shell/platform/windows/platform_view_manager.cc -FILE: ../../../flutter/shell/platform/windows/platform_view_manager.h -FILE: ../../../flutter/shell/platform/windows/platform_view_plugin.cc -FILE: ../../../flutter/shell/platform/windows/platform_view_plugin.h -FILE: ../../../flutter/shell/platform/windows/public/flutter_windows.h -FILE: ../../../flutter/shell/platform/windows/sequential_id_generator.cc -FILE: ../../../flutter/shell/platform/windows/sequential_id_generator.h -FILE: ../../../flutter/shell/platform/windows/settings_plugin.cc -FILE: ../../../flutter/shell/platform/windows/settings_plugin.h -FILE: ../../../flutter/shell/platform/windows/system_utils.cc -FILE: ../../../flutter/shell/platform/windows/system_utils.h -FILE: ../../../flutter/shell/platform/windows/task_runner.cc -FILE: ../../../flutter/shell/platform/windows/task_runner.h -FILE: ../../../flutter/shell/platform/windows/task_runner_window.cc -FILE: ../../../flutter/shell/platform/windows/task_runner_window.h -FILE: ../../../flutter/shell/platform/windows/text_input_manager.cc -FILE: ../../../flutter/shell/platform/windows/text_input_manager.h -FILE: ../../../flutter/shell/platform/windows/text_input_plugin.cc -FILE: ../../../flutter/shell/platform/windows/text_input_plugin.h -FILE: ../../../flutter/shell/platform/windows/window_binding_handler.h -FILE: ../../../flutter/shell/platform/windows/window_binding_handler_delegate.h -FILE: ../../../flutter/shell/platform/windows/window_manager.cc -FILE: ../../../flutter/shell/platform/windows/window_manager.h -FILE: ../../../flutter/shell/platform/windows/window_proc_delegate_manager.cc -FILE: ../../../flutter/shell/platform/windows/window_proc_delegate_manager.h -FILE: ../../../flutter/shell/platform/windows/window_state.h -FILE: ../../../flutter/shell/platform/windows/windows_lifecycle_manager.cc -FILE: ../../../flutter/shell/platform/windows/windows_lifecycle_manager.h -FILE: ../../../flutter/shell/platform/windows/windows_proc_table.cc -FILE: ../../../flutter/shell/platform/windows/windows_proc_table.h -FILE: ../../../flutter/shell/platform/windows/windowsx_shim.h -FILE: ../../../flutter/shell/profiling/sampling_profiler.cc -FILE: ../../../flutter/shell/profiling/sampling_profiler.h -FILE: ../../../flutter/shell/version/version.cc -FILE: ../../../flutter/shell/version/version.h -FILE: ../../../flutter/shell/vmservice/empty.dart -FILE: ../../../flutter/sky/packages/sky_engine/lib/_empty.dart -FILE: ../../../flutter/third_party/accessibility/base/color_utils.h -FILE: ../../../flutter/third_party/accessibility/base/compiler_specific.h -FILE: ../../../flutter/third_party/accessibility/base/container_utils.h -FILE: ../../../flutter/third_party/accessibility/base/logging.cc -FILE: ../../../flutter/third_party/accessibility/base/logging.h -FILE: ../../../flutter/third_party/accessibility/base/macros.h -FILE: ../../../flutter/third_party/accessibility/base/simple_token.cc -FILE: ../../../flutter/third_party/accessibility/base/simple_token.h -FILE: ../../../flutter/third_party/accessibility/base/string_utils.cc -FILE: ../../../flutter/third_party/accessibility/base/string_utils.h -FILE: ../../../flutter/third_party/accessibility/gfx/transform.cc -FILE: ../../../flutter/third_party/accessibility/gfx/transform.h -FILE: ../../../flutter/third_party/spring_animation/SpringAnimationTest.mm -FILE: ../../../flutter/third_party/tonic/common/build_config.h -FILE: ../../../flutter/third_party/tonic/common/log.cc -FILE: ../../../flutter/third_party/tonic/common/log.h -FILE: ../../../flutter/third_party/tonic/common/macros.h -FILE: ../../../flutter/third_party/tonic/converter/dart_converter.cc -FILE: ../../../flutter/third_party/tonic/converter/dart_converter.h -FILE: ../../../flutter/third_party/tonic/dart_args.h -FILE: ../../../flutter/third_party/tonic/dart_binding_macros.h -FILE: ../../../flutter/third_party/tonic/dart_class_library.cc -FILE: ../../../flutter/third_party/tonic/dart_class_library.h -FILE: ../../../flutter/third_party/tonic/dart_class_provider.cc -FILE: ../../../flutter/third_party/tonic/dart_class_provider.h -FILE: ../../../flutter/third_party/tonic/dart_library_natives.cc -FILE: ../../../flutter/third_party/tonic/dart_library_natives.h -FILE: ../../../flutter/third_party/tonic/dart_list.cc -FILE: ../../../flutter/third_party/tonic/dart_list.h -FILE: ../../../flutter/third_party/tonic/dart_message_handler.cc -FILE: ../../../flutter/third_party/tonic/dart_message_handler.h -FILE: ../../../flutter/third_party/tonic/dart_microtask_queue.cc -FILE: ../../../flutter/third_party/tonic/dart_microtask_queue.h -FILE: ../../../flutter/third_party/tonic/dart_persistent_value.cc -FILE: ../../../flutter/third_party/tonic/dart_persistent_value.h -FILE: ../../../flutter/third_party/tonic/dart_state.cc -FILE: ../../../flutter/third_party/tonic/dart_state.h -FILE: ../../../flutter/third_party/tonic/dart_weak_persistent_value.cc -FILE: ../../../flutter/third_party/tonic/dart_weak_persistent_value.h -FILE: ../../../flutter/third_party/tonic/dart_wrappable.cc -FILE: ../../../flutter/third_party/tonic/dart_wrappable.h -FILE: ../../../flutter/third_party/tonic/dart_wrapper_info.h -FILE: ../../../flutter/third_party/tonic/file_loader/file_loader.cc -FILE: ../../../flutter/third_party/tonic/file_loader/file_loader.h -FILE: ../../../flutter/third_party/tonic/file_loader/file_loader_fuchsia.cc -FILE: ../../../flutter/third_party/tonic/file_loader/file_loader_posix.cc -FILE: ../../../flutter/third_party/tonic/file_loader/file_loader_win.cc -FILE: ../../../flutter/third_party/tonic/filesystem/filesystem/eintr_wrapper.h -FILE: ../../../flutter/third_party/tonic/filesystem/filesystem/file.cc -FILE: ../../../flutter/third_party/tonic/filesystem/filesystem/file.h -FILE: ../../../flutter/third_party/tonic/filesystem/filesystem/path.h -FILE: ../../../flutter/third_party/tonic/filesystem/filesystem/path_posix.cc -FILE: ../../../flutter/third_party/tonic/filesystem/filesystem/path_win.cc -FILE: ../../../flutter/third_party/tonic/filesystem/filesystem/portable_unistd.h -FILE: ../../../flutter/third_party/tonic/logging/dart_error.cc -FILE: ../../../flutter/third_party/tonic/logging/dart_error.h -FILE: ../../../flutter/third_party/tonic/logging/dart_invoke.cc -FILE: ../../../flutter/third_party/tonic/logging/dart_invoke.h -FILE: ../../../flutter/third_party/tonic/parsers/packages_map.cc -FILE: ../../../flutter/third_party/tonic/parsers/packages_map.h -FILE: ../../../flutter/third_party/tonic/scopes/dart_api_scope.h -FILE: ../../../flutter/third_party/tonic/scopes/dart_isolate_scope.cc -FILE: ../../../flutter/third_party/tonic/scopes/dart_isolate_scope.h -FILE: ../../../flutter/third_party/tonic/typed_data/dart_byte_data.cc -FILE: ../../../flutter/third_party/tonic/typed_data/dart_byte_data.h -FILE: ../../../flutter/third_party/tonic/typed_data/float32_list.h -FILE: ../../../flutter/third_party/tonic/typed_data/float64_list.h -FILE: ../../../flutter/third_party/tonic/typed_data/int32_list.h -FILE: ../../../flutter/third_party/tonic/typed_data/typed_list.cc -FILE: ../../../flutter/third_party/tonic/typed_data/typed_list.h -FILE: ../../../flutter/third_party/tonic/typed_data/uint16_list.h -FILE: ../../../flutter/third_party/tonic/typed_data/uint8_list.h -FILE: ../../../flutter/third_party/web_test_fonts/lib/web_test_fonts.dart -FILE: ../../../flutter/third_party/web_test_fonts/lib/web_test_fonts/web_test_fonts.dart -FILE: ../../../flutter/third_party/web_unicode/lib/web_unicode.dart -FILE: ../../../flutter/third_party/web_unicode/tool/unicode_sync_script.dart -FILE: ../../../flutter/txt/benchmarks/skparagraph_benchmarks.cc -FILE: ../../../flutter/txt/benchmarks/txt_run_all_benchmarks.cc -FILE: ../../../flutter/txt/src/skia/paragraph_builder_skia.cc -FILE: ../../../flutter/txt/src/skia/paragraph_builder_skia.h -FILE: ../../../flutter/txt/src/skia/paragraph_skia.cc -FILE: ../../../flutter/txt/src/skia/paragraph_skia.h -FILE: ../../../flutter/txt/src/txt/asset_font_manager.cc -FILE: ../../../flutter/txt/src/txt/asset_font_manager.h -FILE: ../../../flutter/txt/src/txt/font_asset_provider.cc -FILE: ../../../flutter/txt/src/txt/font_asset_provider.h -FILE: ../../../flutter/txt/src/txt/font_collection.cc -FILE: ../../../flutter/txt/src/txt/font_collection.h -FILE: ../../../flutter/txt/src/txt/font_features.cc -FILE: ../../../flutter/txt/src/txt/font_features.h -FILE: ../../../flutter/txt/src/txt/font_style.h -FILE: ../../../flutter/txt/src/txt/font_weight.h -FILE: ../../../flutter/txt/src/txt/line_metrics.h -FILE: ../../../flutter/txt/src/txt/paragraph.h -FILE: ../../../flutter/txt/src/txt/paragraph_builder.cc -FILE: ../../../flutter/txt/src/txt/paragraph_builder.h -FILE: ../../../flutter/txt/src/txt/paragraph_style.cc -FILE: ../../../flutter/txt/src/txt/paragraph_style.h -FILE: ../../../flutter/txt/src/txt/placeholder_run.cc -FILE: ../../../flutter/txt/src/txt/placeholder_run.h -FILE: ../../../flutter/txt/src/txt/platform.cc -FILE: ../../../flutter/txt/src/txt/platform.h -FILE: ../../../flutter/txt/src/txt/platform_android.cc -FILE: ../../../flutter/txt/src/txt/platform_fuchsia.cc -FILE: ../../../flutter/txt/src/txt/platform_linux.cc -FILE: ../../../flutter/txt/src/txt/platform_mac.h -FILE: ../../../flutter/txt/src/txt/platform_mac.mm -FILE: ../../../flutter/txt/src/txt/platform_windows.cc -FILE: ../../../flutter/txt/src/txt/run_metrics.h -FILE: ../../../flutter/txt/src/txt/test_font_manager.cc -FILE: ../../../flutter/txt/src/txt/test_font_manager.h -FILE: ../../../flutter/txt/src/txt/text_baseline.h -FILE: ../../../flutter/txt/src/txt/text_decoration.cc -FILE: ../../../flutter/txt/src/txt/text_decoration.h -FILE: ../../../flutter/txt/src/txt/text_shadow.cc -FILE: ../../../flutter/txt/src/txt/text_shadow.h -FILE: ../../../flutter/txt/src/txt/text_style.cc -FILE: ../../../flutter/txt/src/txt/text_style.h -FILE: ../../../flutter/txt/src/txt/typeface_font_asset_provider.cc -FILE: ../../../flutter/txt/src/txt/typeface_font_asset_provider.h -FILE: ../../../flutter/vulkan/procs/vulkan_handle.cc -FILE: ../../../flutter/vulkan/procs/vulkan_handle.h -FILE: ../../../flutter/vulkan/procs/vulkan_interface.cc -FILE: ../../../flutter/vulkan/procs/vulkan_interface.h -FILE: ../../../flutter/vulkan/procs/vulkan_proc_table.cc -FILE: ../../../flutter/vulkan/procs/vulkan_proc_table.h -FILE: ../../../flutter/vulkan/swiftshader_path.h -FILE: ../../../flutter/vulkan/vulkan_application.cc -FILE: ../../../flutter/vulkan/vulkan_application.h -FILE: ../../../flutter/vulkan/vulkan_backbuffer.cc -FILE: ../../../flutter/vulkan/vulkan_backbuffer.h -FILE: ../../../flutter/vulkan/vulkan_command_buffer.cc -FILE: ../../../flutter/vulkan/vulkan_command_buffer.h -FILE: ../../../flutter/vulkan/vulkan_debug_report.cc -FILE: ../../../flutter/vulkan/vulkan_debug_report.h -FILE: ../../../flutter/vulkan/vulkan_device.cc -FILE: ../../../flutter/vulkan/vulkan_device.h -FILE: ../../../flutter/vulkan/vulkan_image.cc -FILE: ../../../flutter/vulkan/vulkan_image.h -FILE: ../../../flutter/vulkan/vulkan_native_surface.cc -FILE: ../../../flutter/vulkan/vulkan_native_surface.h -FILE: ../../../flutter/vulkan/vulkan_native_surface_android.cc -FILE: ../../../flutter/vulkan/vulkan_native_surface_android.h -FILE: ../../../flutter/vulkan/vulkan_provider.cc -FILE: ../../../flutter/vulkan/vulkan_provider.h -FILE: ../../../flutter/vulkan/vulkan_skia_proc_table.cc -FILE: ../../../flutter/vulkan/vulkan_skia_proc_table.h -FILE: ../../../flutter/vulkan/vulkan_surface.cc -FILE: ../../../flutter/vulkan/vulkan_surface.h -FILE: ../../../flutter/vulkan/vulkan_swapchain.cc -FILE: ../../../flutter/vulkan/vulkan_swapchain.h -FILE: ../../../flutter/vulkan/vulkan_swapchain_stub.cc -FILE: ../../../flutter/vulkan/vulkan_utilities.cc -FILE: ../../../flutter/vulkan/vulkan_utilities.h -FILE: ../../../flutter/vulkan/vulkan_window.cc -FILE: ../../../flutter/vulkan/vulkan_window.h ----------------------------------------------------------------------------------------------------- -Copyright 2013 The Flutter Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/GLES2/gl2.h + MIT referenced by ../../../flutter/third_party/angle/include/GLES2/gl2.h -ORIGIN: ../../../flutter/third_party/angle/include/GLES2/gl2ext.h + MIT referenced by ../../../flutter/third_party/angle/include/GLES2/gl2ext.h -ORIGIN: ../../../flutter/third_party/angle/include/GLES3/gl3.h + MIT referenced by ../../../flutter/third_party/angle/include/GLES3/gl3.h -ORIGIN: ../../../flutter/third_party/angle/include/GLES3/gl31.h + MIT referenced by ../../../flutter/third_party/angle/include/GLES3/gl31.h -ORIGIN: ../../../flutter/third_party/angle/include/GLES3/gl32.h + MIT referenced by ../../../flutter/third_party/angle/include/GLES3/gl32.h -ORIGIN: ../../../flutter/third_party/angle/include/GLX/glxext.h + MIT referenced by ../../../flutter/third_party/angle/include/GLX/glxext.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/angle/include/GLES2/gl2.h -FILE: ../../../flutter/third_party/angle/include/GLES2/gl2ext.h -FILE: ../../../flutter/third_party/angle/include/GLES3/gl3.h -FILE: ../../../flutter/third_party/angle/include/GLES3/gl31.h -FILE: ../../../flutter/third_party/angle/include/GLES3/gl32.h -FILE: ../../../flutter/third_party/angle/include/GLX/glxext.h ----------------------------------------------------------------------------------------------------- -Copyright 2013-2020 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/c/enc/block_encoder_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/brotli_bit_stream.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/brotli_bit_stream.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/tools/brotli.c + ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/c/enc/block_encoder_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/brotli_bit_stream.c -FILE: ../../../flutter/third_party/brotli/c/enc/brotli_bit_stream.h -FILE: ../../../flutter/third_party/brotli/c/tools/brotli.c ----------------------------------------------------------------------------------------------------- -Copyright 2014 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/imageio/webpdec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/webpdec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/cost.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/cost_mips32.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/cost_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dec_clip_tables.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dec_mips32.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dec_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/enc_mips32.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/enc_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/filters_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/mips_macro.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/neon.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/rescaler.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/rescaler_mips32.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/rescaler_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/upsampling_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/yuv_mips32.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/yuv_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/yuv_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/yuv_sse41.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/near_lossless_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/picture_csp_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/picture_psnr_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/picture_rescale_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/picture_tools_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/mux/anim_encode.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/bit_reader_inl_utils.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/utils/endian_inl_utils.h + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/imageio/webpdec.c -FILE: ../../../flutter/third_party/libwebp/imageio/webpdec.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/cost.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/cost_mips32.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/cost_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/dec_clip_tables.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/dec_mips32.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/dec_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/enc_mips32.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/enc_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/filters_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/mips_macro.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/neon.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/rescaler.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/rescaler_mips32.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/rescaler_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/upsampling_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/yuv_mips32.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/yuv_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/yuv_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/yuv_sse41.c -FILE: ../../../flutter/third_party/libwebp/src/enc/near_lossless_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/picture_csp_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/picture_psnr_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/picture_rescale_enc.c -FILE: ../../../flutter/third_party/libwebp/src/enc/picture_tools_enc.c -FILE: ../../../flutter/third_party/libwebp/src/mux/anim_encode.c -FILE: ../../../flutter/third_party/libwebp/src/utils/bit_reader_inl_utils.h -FILE: ../../../flutter/third_party/libwebp/src/utils/endian_inl_utils.h ----------------------------------------------------------------------------------------------------- -Copyright 2014 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/angle_gl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/angle_windowsstore.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/export.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/MemoryBuffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/MemoryBuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/angle_version.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/angleutils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/platform.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_win.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/tls.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/tls.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ShaderVars.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ResourcesHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ResourcesHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/StructureHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/StructureHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/UtilsHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/UtilsHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/copyimage.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/loadimage.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/AttributeMap.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/AttributeMap.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Caps.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Caps.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Compiler.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Compiler.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Error.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Error.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Error.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/FramebufferAttachment.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/FramebufferAttachment.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ImageIndex.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ImageIndex.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/State.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/State.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/TransformFeedback.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/TransformFeedback.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/VertexAttribute.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/features.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/queryconversions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/queryconversions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/BufferImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CompilerImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/DisplayImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/FramebufferImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/RenderbufferImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/SamplerImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ShaderImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ShareGroupImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/SurfaceImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/TextureImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/TransformFeedbackImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/VertexArrayImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/copyvertex.inc.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/BufferD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/BufferD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/CompilerD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DynamicHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DynamicHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SamplerD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SurfaceD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SurfaceD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/TransformFeedback11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/TransformFeedback11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Trim11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Trim11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Buffer9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Framebuffer9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexArray9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SamplerGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SamplerGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/global_state.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/global_state.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/include/angle_gl.h -FILE: ../../../flutter/third_party/angle/include/angle_windowsstore.h -FILE: ../../../flutter/third_party/angle/include/export.h -FILE: ../../../flutter/third_party/angle/src/common/MemoryBuffer.cpp -FILE: ../../../flutter/third_party/angle/src/common/MemoryBuffer.h -FILE: ../../../flutter/third_party/angle/src/common/angle_version.h -FILE: ../../../flutter/third_party/angle/src/common/angleutils.cpp -FILE: ../../../flutter/third_party/angle/src/common/platform.h -FILE: ../../../flutter/third_party/angle/src/common/system_utils.h -FILE: ../../../flutter/third_party/angle/src/common/system_utils_win.cpp -FILE: ../../../flutter/third_party/angle/src/common/tls.cpp -FILE: ../../../flutter/third_party/angle/src/common/tls.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ShaderVars.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/BuiltInFunctionEmulatorHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ResourcesHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ResourcesHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/StructureHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/StructureHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/UtilsHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/UtilsHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteElseBlocks.h -FILE: ../../../flutter/third_party/angle/src/image_util/copyimage.inc -FILE: ../../../flutter/third_party/angle/src/image_util/loadimage.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/AttributeMap.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/AttributeMap.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Caps.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Caps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Compiler.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Compiler.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Error.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Error.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Error.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/FramebufferAttachment.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/FramebufferAttachment.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/ImageIndex.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/ImageIndex.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/State.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/State.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/TransformFeedback.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/TransformFeedback.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/VertexAttribute.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/features.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/queryconversions.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/queryconversions.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/BufferImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CompilerImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/DisplayImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/FramebufferImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/RenderbufferImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/SamplerImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ShaderImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ShareGroupImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/SurfaceImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/TextureImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/TransformFeedbackImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/VertexArrayImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/copyvertex.inc.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/BufferD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/BufferD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/CompilerD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DisplayD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DynamicHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DynamicHLSL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/FramebufferD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ProgramD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/RendererD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SamplerD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ShaderD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SurfaceD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SurfaceD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/TextureD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Buffer11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/TransformFeedback11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/TransformFeedback11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Trim11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Trim11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Buffer9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Framebuffer9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/VertexArray9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SamplerGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SamplerGL.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/global_state.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/global_state.h ----------------------------------------------------------------------------------------------------- -Copyright 2014 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -LIBRARY: angle -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_id_registry.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_id_registry.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_base.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_base.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate_base.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_mac.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_mac.mm + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/safe_conversions.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/safe_conversions_impl.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/mac/coordinate_conversion.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/mac/coordinate_conversion.mm + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_conversions.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_conversions_impl.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/icu/icu.isolate + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_id_registry.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_id_registry.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_base.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_base.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate_base.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_mac.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_mac.mm -FILE: ../../../flutter/third_party/accessibility/base/numerics/safe_conversions.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/safe_conversions_impl.h -FILE: ../../../flutter/third_party/accessibility/gfx/mac/coordinate_conversion.h -FILE: ../../../flutter/third_party/accessibility/gfx/mac/coordinate_conversion.mm -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_conversions.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_conversions_impl.h -FILE: ../../../flutter/third_party/icu/icu.isolate ----------------------------------------------------------------------------------------------------- -Copyright 2014 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: spirv-cross -ORIGIN: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/GLSL.std.450.h + MIT referenced by ../../../flutter/third_party/vulkan-deps/spirv-cross/src/GLSL.std.450.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/vulkan-deps/spirv-cross/src/GLSL.std.450.h ----------------------------------------------------------------------------------------------------- -Copyright 2014-2016,2021 The Khronos Group, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/c/dec/state.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/dec/state.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/compress_fragment.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/compress_fragment.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/compress_fragment_two_pass.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/compress_fragment_two_pass.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/dictionary_hash.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/dictionary_hash.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/entropy_encode_static.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/memory.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/metablock.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/metablock.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/metablock_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/static_dict_lut.h + ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/c/dec/state.c -FILE: ../../../flutter/third_party/brotli/c/dec/state.h -FILE: ../../../flutter/third_party/brotli/c/enc/compress_fragment.c -FILE: ../../../flutter/third_party/brotli/c/enc/compress_fragment.h -FILE: ../../../flutter/third_party/brotli/c/enc/compress_fragment_two_pass.c -FILE: ../../../flutter/third_party/brotli/c/enc/compress_fragment_two_pass.h -FILE: ../../../flutter/third_party/brotli/c/enc/dictionary_hash.c -FILE: ../../../flutter/third_party/brotli/c/enc/dictionary_hash.h -FILE: ../../../flutter/third_party/brotli/c/enc/entropy_encode_static.h -FILE: ../../../flutter/third_party/brotli/c/enc/memory.c -FILE: ../../../flutter/third_party/brotli/c/enc/metablock.c -FILE: ../../../flutter/third_party/brotli/c/enc/metablock.h -FILE: ../../../flutter/third_party/brotli/c/enc/metablock_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/static_dict_lut.h ----------------------------------------------------------------------------------------------------- -Copyright 2015 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/extras/extras.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/extras/extras.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dec/common_dec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/demux/anim_decode.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing_sse41.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/cost_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dec_sse41.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/enc_sse41.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/filters_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_mips32.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_sse41.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/rescaler_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/rescaler_sse2.c + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/extras/extras.c -FILE: ../../../flutter/third_party/libwebp/extras/extras.h -FILE: ../../../flutter/third_party/libwebp/src/dec/common_dec.h -FILE: ../../../flutter/third_party/libwebp/src/demux/anim_decode.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing_sse41.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/cost_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/dec_sse41.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/enc_sse41.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/filters_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_mips32.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_sse41.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/rescaler_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/rescaler_sse2.c ----------------------------------------------------------------------------------------------------- -Copyright 2015 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/platform/PlatformMethods.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/Optional.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/bitset_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/matrix_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/string_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/string_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_ios.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_ios.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_linux.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_mac.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/ExtensionGLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glsl/ExtensionGLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindSymbolNode.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindSymbolNode.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/generatemip.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Debug.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Debug.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Device.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Device.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Image.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Image.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Platform.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/VaryingPacking.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/VaryingPacking.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Version.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Version.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/VertexAttribute.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/histogram_macros.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/BufferImpl_mock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/DeviceImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/DeviceImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/FenceNVImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/FramebufferImpl_mock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/GLImplFactory.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ImageImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ImageImpl_mock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramImpl_mock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/RenderbufferImpl_mock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/SyncImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/TextureImpl_mock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/TransformFeedbackImpl_mock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/CompilerD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DeviceD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DeviceD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/EGLImageD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/EGLImageD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/StateManager9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/StateManager9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/formatutilsD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_support_table.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_support_table_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/BlitGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/BlitGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/BufferGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/BufferGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/CompilerGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/CompilerGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FenceNVGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FenceNVGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FunctionsGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FunctionsGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/QueryGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/QueryGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/RenderbufferGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/RenderbufferGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/RendererGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/RendererGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SurfaceGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SurfaceGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SyncGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SyncGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/TransformFeedbackGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/TransformFeedbackGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/VertexArrayGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/VertexArrayGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/functionsgl_enums.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/functionsgl_typedefs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/PbufferSurfaceGLX.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/PbufferSurfaceGLX.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/functionsglx_typedefs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/platform_glx.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/FunctionsWGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/FunctionsWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/PbufferSurfaceWGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/PbufferSurfaceWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/WindowSurfaceWGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/WindowSurfaceWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/functionswgl_typedefs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/wgl_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/wgl_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/load_functions_table.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationEGL.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/include/platform/PlatformMethods.h -FILE: ../../../flutter/third_party/angle/src/common/Optional.h -FILE: ../../../flutter/third_party/angle/src/common/bitset_utils.h -FILE: ../../../flutter/third_party/angle/src/common/matrix_utils.h -FILE: ../../../flutter/third_party/angle/src/common/string_utils.cpp -FILE: ../../../flutter/third_party/angle/src/common/string_utils.h -FILE: ../../../flutter/third_party/angle/src/common/system_utils_ios.cpp -FILE: ../../../flutter/third_party/angle/src/common/system_utils_ios.mm -FILE: ../../../flutter/third_party/angle/src/common/system_utils_linux.cpp -FILE: ../../../flutter/third_party/angle/src/common/system_utils_mac.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/ExtensionGLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glsl/ExtensionGLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteDoWhile.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindSymbolNode.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindSymbolNode.h -FILE: ../../../flutter/third_party/angle/src/image_util/generatemip.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/Debug.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Debug.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Device.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Device.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Image.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Image.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Platform.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/VaryingPacking.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/VaryingPacking.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Version.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Version.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/VertexAttribute.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/histogram_macros.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/BufferImpl_mock.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/DeviceImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/DeviceImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/FenceNVImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/FramebufferImpl_mock.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/GLImplFactory.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ImageImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ImageImpl_mock.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramImpl_mock.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/RenderbufferImpl_mock.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/SyncImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/TextureImpl_mock.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/TransformFeedbackImpl_mock.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/CompilerD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DeviceD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DeviceD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/EGLImageD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/EGLImageD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/StateManager9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/StateManager9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/formatutilsD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_support_table.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_support_table_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/BlitGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/BlitGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/BufferGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/BufferGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/CompilerGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/CompilerGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DisplayGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FenceNVGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FenceNVGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FunctionsGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/FunctionsGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ProgramGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/QueryGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/QueryGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/RenderbufferGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/RenderbufferGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/RendererGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/RendererGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ShaderGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SurfaceGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SurfaceGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SyncGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SyncGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/TextureGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/TextureGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/TransformFeedbackGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/TransformFeedbackGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/VertexArrayGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/VertexArrayGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/formatutilsgl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/functionsgl_enums.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/functionsgl_typedefs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/PbufferSurfaceGLX.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/PbufferSurfaceGLX.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/functionsglx_typedefs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/platform_glx.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/DisplayWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/FunctionsWGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/FunctionsWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/PbufferSurfaceWGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/PbufferSurfaceWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/WindowSurfaceWGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/WindowSurfaceWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/functionswgl_typedefs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/wgl_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/wgl_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/load_functions_table.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationEGL.h ----------------------------------------------------------------------------------------------------- -Copyright 2015 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_data.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_data.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_win.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_win.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/test_ax_node_wrapper.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/test_ax_node_wrapper.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/fuzz/decode_fuzzer.c + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_data.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_data.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_win.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_win.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/test_ax_node_wrapper.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/test_ax_node_wrapper.h -FILE: ../../../flutter/third_party/brotli/c/fuzz/decode_fuzzer.c ----------------------------------------------------------------------------------------------------- -Copyright 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/c/common/constants.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/common/platform.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/common/platform.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/common/version.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_forgetful_chain_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_to_binary_tree_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/memory.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/quality.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/fuzz/run_decode_fuzzer.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/include/brotli/port.h + ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/c/common/constants.h -FILE: ../../../flutter/third_party/brotli/c/common/platform.c -FILE: ../../../flutter/third_party/brotli/c/common/platform.h -FILE: ../../../flutter/third_party/brotli/c/common/version.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash_forgetful_chain_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash_to_binary_tree_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/memory.h -FILE: ../../../flutter/third_party/brotli/c/enc/quality.h -FILE: ../../../flutter/third_party/brotli/c/fuzz/run_decode_fuzzer.c -FILE: ../../../flutter/third_party/brotli/c/include/brotli/port.h ----------------------------------------------------------------------------------------------------- -Copyright 2016 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/extras/get_disto.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/extras/quality_estimate.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/image_dec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/image_dec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/image_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/image_enc.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/imageio_util.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/imageio_util.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/common_sse2.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/common_sse41.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/dec_msa.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/enc_msa.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/filters_msa.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_msa.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_msa.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/msa_macro.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/rescaler_msa.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/upsampling_msa.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/predictor_enc.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/mux/animi.h + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/extras/get_disto.c -FILE: ../../../flutter/third_party/libwebp/extras/quality_estimate.c -FILE: ../../../flutter/third_party/libwebp/imageio/image_dec.c -FILE: ../../../flutter/third_party/libwebp/imageio/image_dec.h -FILE: ../../../flutter/third_party/libwebp/imageio/image_enc.c -FILE: ../../../flutter/third_party/libwebp/imageio/image_enc.h -FILE: ../../../flutter/third_party/libwebp/imageio/imageio_util.c -FILE: ../../../flutter/third_party/libwebp/imageio/imageio_util.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/common_sse2.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/common_sse41.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/dec_msa.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/enc_msa.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/filters_msa.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_enc_msa.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_msa.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/msa_macro.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/rescaler_msa.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/upsampling_msa.c -FILE: ../../../flutter/third_party/libwebp/src/enc/predictor_enc.c -FILE: ../../../flutter/third_party/libwebp/src/mux/animi.h ----------------------------------------------------------------------------------------------------- -Copyright 2016 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/common/Color.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/Color.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/WorkerThread.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/WorkerThread.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/logging.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/vector_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/vulkan/vk_headers.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/fuzz/translator_fuzzer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ConstantUnion.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Severity.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateMaxParameters.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateMaxParameters.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/TextureFunctionHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/TextureFunctionHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/spirv/TranslatorSPIRV.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/spirv/TranslatorSPIRV.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeferGlobalInitializers.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeferGlobalInitializers.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveInvariantDeclaration.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveInvariantDeclaration.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteTexelFetchOffset.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteTexelFetchOffset.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SimplifyLoopConditions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SimplifyLoopConditions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SplitSequenceOperator.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SplitSequenceOperator.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermNodePatternMatcher.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/imageformats.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Observer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Stream.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Stream.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Thread.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Thread.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/es3_copy_conversion_table_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/format_map_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/queryutils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/queryutils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ContextImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ContextImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLImplFactory.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/Format.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/FramebufferAttachmentObjectImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/StreamProducerImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/TextureImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/NativeWindowD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/NativeWindowD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SwapChainD3D.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/NativeWindow11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Context9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Context9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/NativeWindow9.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/NativeWindow9.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/driver_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/driver_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ContextGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ContextGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/FunctionsEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/FunctionsEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/FunctionsEGLDL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/FunctionsEGLDL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/SurfaceEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/SurfaceEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/android/DisplayAndroid.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/android/DisplayAndroid.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/functionsegl_typedefs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/SurfaceGLX.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/BufferNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/BufferNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/CompilerNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/CompilerNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ContextNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ContextNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/DeviceNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/DeviceNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/FenceNVNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/FenceNVNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/FramebufferNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/FramebufferNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ImageNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ImageNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ProgramNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ProgramNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/QueryNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/QueryNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/RenderbufferNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/RenderbufferNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SamplerNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SamplerNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ShaderNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ShaderNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SurfaceNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SurfaceNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SyncNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SyncNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/TextureNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/TextureNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/TransformFeedbackNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/TransformFeedbackNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/VertexArrayNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/VertexArrayNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/renderer_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CompilerVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CompilerVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DeviceVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DeviceVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/FenceNVVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/FenceNVVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RenderbufferVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SamplerVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SamplerVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShaderVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShaderVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DeviceVkLinux.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DeviceVkLinux.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/xcb/DisplayVkXcb.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/xcb/DisplayVkXcb.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/xcb/WindowSurfaceVkXcb.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/xcb/WindowSurfaceVkXcb.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/win32/WindowSurfaceVkWin32.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/win32/WindowSurfaceVkWin32.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES31.cpp + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/common/Color.h -FILE: ../../../flutter/third_party/angle/src/common/Color.inc -FILE: ../../../flutter/third_party/angle/src/common/WorkerThread.cpp -FILE: ../../../flutter/third_party/angle/src/common/WorkerThread.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/logging.h -FILE: ../../../flutter/third_party/angle/src/common/vector_utils.h -FILE: ../../../flutter/third_party/angle/src/common/vulkan/vk_headers.h -FILE: ../../../flutter/third_party/angle/src/compiler/fuzz/translator_fuzzer.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ConstantUnion.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Severity.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateMaxParameters.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateMaxParameters.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/TextureFunctionHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/TextureFunctionHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/spirv/TranslatorSPIRV.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/spirv/TranslatorSPIRV.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeferGlobalInitializers.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeferGlobalInitializers.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveInvariantDeclaration.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveInvariantDeclaration.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteTexelFetchOffset.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteTexelFetchOffset.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SimplifyLoopConditions.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SimplifyLoopConditions.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SplitSequenceOperator.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SplitSequenceOperator.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/UseInterfaceBlockFields.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/AddAndTrueToLoopCondition.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteUnaryMinusOperatorFloat.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AddDefaultReturnStatements.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/BreakVariableAliasingInInnerLoops.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/ExpandIntegerPowExpressions.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteUnaryMinusOperatorInt.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermNodePatternMatcher.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermNodePatternMatcher.h -FILE: ../../../flutter/third_party/angle/src/image_util/imageformats.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Observer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Stream.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Stream.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Thread.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Thread.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/es3_copy_conversion_table_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/format_map_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/queryutils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/queryutils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ContextImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ContextImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLImplFactory.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/Format.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/FramebufferAttachmentObjectImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/StreamProducerImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/TextureImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/HLSLCompiler.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/NativeWindowD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/NativeWindowD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/SwapChainD3D.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Context11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/NativeWindow11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/VertexArray11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_table_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Context9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/Context9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/NativeWindow9.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/NativeWindow9.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/driver_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/driver_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ContextGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ContextGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DisplayEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/FunctionsEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/FunctionsEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/FunctionsEGLDL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/FunctionsEGLDL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/PbufferSurfaceEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/SurfaceEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/SurfaceEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/WindowSurfaceEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/android/DisplayAndroid.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/android/DisplayAndroid.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/functionsegl_typedefs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/SurfaceGLX.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/BufferNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/BufferNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/CompilerNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/CompilerNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ContextNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ContextNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/DeviceNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/DeviceNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/DisplayNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/FenceNVNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/FenceNVNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/FramebufferNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/FramebufferNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ImageNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ImageNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ProgramNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ProgramNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/QueryNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/QueryNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/RenderbufferNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/RenderbufferNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SamplerNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SamplerNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ShaderNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ShaderNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SurfaceNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SurfaceNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SyncNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/SyncNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/TextureNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/TextureNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/TransformFeedbackNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/TransformFeedbackNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/VertexArrayNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/VertexArrayNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/renderer_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/renderer_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/BufferVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CompilerVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CompilerVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ContextVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DeviceVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DeviceVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/FenceNVVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/FenceNVVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/FramebufferVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ImageVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/QueryVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RenderTargetVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RenderbufferVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RenderbufferVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SamplerVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SamplerVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShaderVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShaderVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SurfaceVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SyncVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/TextureVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/TransformFeedbackVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VertexArrayVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DeviceVkLinux.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DeviceVkLinux.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/xcb/DisplayVkXcb.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/xcb/DisplayVkXcb.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/xcb/WindowSurfaceVkXcb.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/xcb/WindowSurfaceVkXcb.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/win32/DisplayVkWin32.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/win32/WindowSurfaceVkWin32.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/win32/WindowSurfaceVkWin32.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES31.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2016 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_action_data.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_action_data.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_node_position.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_node_position.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_position.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_range.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_relative_bounds.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_relative_bounds.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/gfx/range/gfx_range_export.h + ../../../flutter/third_party/accessibility/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax/ax_action_data.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_action_data.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_node_position.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_node_position.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_position.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_range.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_relative_bounds.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_relative_bounds.h -FILE: ../../../flutter/third_party/accessibility/gfx/range/gfx_range_export.h ----------------------------------------------------------------------------------------------------- -Copyright 2016 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/bitmap256.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/fuzzing/re2_fuzzer.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/util/strutil.h + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/bitmap256.h -FILE: ../../../flutter/third_party/re2/re2/fuzzing/re2_fuzzer.cc -FILE: ../../../flutter/third_party/re2/util/strutil.h ----------------------------------------------------------------------------------------------------- -Copyright 2016 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/c/common/shared_dictionary.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/common/shared_dictionary_internal.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/compound_dictionary.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/compound_dictionary.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/encoder_dict.c + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/encoder_dict.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/params.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/include/brotli/shared_dictionary.h + ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/c/common/shared_dictionary.c -FILE: ../../../flutter/third_party/brotli/c/common/shared_dictionary_internal.h -FILE: ../../../flutter/third_party/brotli/c/enc/compound_dictionary.c -FILE: ../../../flutter/third_party/brotli/c/enc/compound_dictionary.h -FILE: ../../../flutter/third_party/brotli/c/enc/encoder_dict.c -FILE: ../../../flutter/third_party/brotli/c/enc/encoder_dict.h -FILE: ../../../flutter/third_party/brotli/c/enc/params.h -FILE: ../../../flutter/third_party/brotli/c/include/brotli/shared_dictionary.h ----------------------------------------------------------------------------------------------------- -Copyright 2017 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/extras/vwebp_sdl.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/extras/webp_to_sdl.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/extras/webp_to_sdl.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/pnmdec.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/imageio/pnmdec.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/filters_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/ssim.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/ssim_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/yuv_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/enc/backward_references_cost_enc.c + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/extras/vwebp_sdl.c -FILE: ../../../flutter/third_party/libwebp/extras/webp_to_sdl.c -FILE: ../../../flutter/third_party/libwebp/extras/webp_to_sdl.h -FILE: ../../../flutter/third_party/libwebp/imageio/pnmdec.c -FILE: ../../../flutter/third_party/libwebp/imageio/pnmdec.h -FILE: ../../../flutter/third_party/libwebp/src/dsp/alpha_processing_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/filters_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/ssim.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/ssim_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/yuv_neon.c -FILE: ../../../flutter/third_party/libwebp/src/enc/backward_references_cost_enc.c ----------------------------------------------------------------------------------------------------- -Copyright 2017 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/EGL/eglext_angle.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/GLES2/gl2ext_angle.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PackedCLEnums_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PackedCLEnums_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PackedEGLEnums_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PackedEGLEnums_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PackedEnums.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PackedGLEnums_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PackedGLEnums_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/aligned_memory.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/aligned_memory.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/base_export.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/macros.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/sys_byteorder.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/uniform_type_info_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Declarator.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Declarator.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ExtensionBehavior.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/HashNames.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/IsASTDepthBelowLimit.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/IsASTDepthBelowLimit.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/OutputTree.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/StaticType.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Symbol.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Symbol.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/SymbolUniqueId.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/SymbolUniqueId.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ImageFunctionHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ImageFunctionHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/emulated_builtin_functions_hlsl_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampFragDepth.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampFragDepth.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampPointSize.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampPointSize.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveArrayLengthMethod.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveArrayLengthMethod.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveUnreferencedVariables.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveUnreferencedVariables.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindMain.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindMain.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermNode_util.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermNode_util.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermTraverse.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RunAtTheEndOfShader.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_macos.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ErrorStrings.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/LoggingAnnotator.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/LoggingAnnotator.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/MemoryProgramCache.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/MemoryProgramCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ProgramLinkedResources.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ProgramLinkedResources.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ProgramPipeline.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ProgramPipeline.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ResourceMap.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/SizedMRUCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramPipelineImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ProgramPipeline11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ProgramPipeline11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ResourceManager11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ResourceManager11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Clear11.hlsl + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DispatchTableGL_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ProgramPipelineGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ProgramPipelineGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/egl_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/egl_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/null_functions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/null_functions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/SurfaceWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ProgramPipelineNULL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ProgramPipelineNULL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ResourceVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ResourceVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_egl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_glx.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_wgl.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/include/EGL/eglext_angle.h -FILE: ../../../flutter/third_party/angle/include/GLES2/gl2ext_angle.h -FILE: ../../../flutter/third_party/angle/src/common/PackedCLEnums_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/common/PackedCLEnums_autogen.h -FILE: ../../../flutter/third_party/angle/src/common/PackedEGLEnums_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/common/PackedEGLEnums_autogen.h -FILE: ../../../flutter/third_party/angle/src/common/PackedEnums.h -FILE: ../../../flutter/third_party/angle/src/common/PackedGLEnums_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/common/PackedGLEnums_autogen.h -FILE: ../../../flutter/third_party/angle/src/common/aligned_memory.cpp -FILE: ../../../flutter/third_party/angle/src/common/aligned_memory.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/base_export.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/macros.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/sys_byteorder.h -FILE: ../../../flutter/third_party/angle/src/common/uniform_type_info_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Declarator.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Declarator.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ExtensionBehavior.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/HashNames.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/IsASTDepthBelowLimit.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/IsASTDepthBelowLimit.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/OutputTree.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/StaticType.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Symbol.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Symbol.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/SymbolUniqueId.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/SymbolUniqueId.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ImageFunctionHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ImageFunctionHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/emulated_builtin_functions_hlsl_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampFragDepth.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampFragDepth.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampPointSize.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampPointSize.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeclareAndInitBuiltinsForInstancedMultiview.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveArrayLengthMethod.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveArrayLengthMethod.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveUnreferencedVariables.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveUnreferencedVariables.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/WrapSwitchStatementsInBlocks.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindMain.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindMain.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermNode_util.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermNode_util.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/IntermTraverse.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RunAtTheEndOfShader.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RunAtTheEndOfShader.h -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_macos.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/ErrorStrings.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/LoggingAnnotator.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/LoggingAnnotator.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/MemoryProgramCache.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/MemoryProgramCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/ProgramLinkedResources.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/ProgramLinkedResources.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/ProgramPipeline.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/ProgramPipeline.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/ResourceMap.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/SizedMRUCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramPipelineImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ProgramPipeline11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ProgramPipeline11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ResourceManager11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ResourceManager11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Clear11.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ClearMultiviewGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/DispatchTableGL_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ProgramPipelineGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ProgramPipelineGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/egl_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/egl_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/null_functions.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/null_functions.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/SurfaceWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ProgramPipelineNULL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/null/ProgramPipelineNULL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramPipelineVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ResourceVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ResourceVk.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_egl.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_glx.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_wgl.h ----------------------------------------------------------------------------------------------------- -Copyright 2017 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/adler32_simd.c + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/zlib/adler32_simd.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/zlib/crc32_simd.c + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/zlib/crc32_simd.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/zlib/adler32_simd.c -FILE: ../../../flutter/third_party/zlib/adler32_simd.h -FILE: ../../../flutter/third_party/zlib/crc32_simd.c -FILE: ../../../flutter/third_party/zlib/crc32_simd.h ----------------------------------------------------------------------------------------------------- -Copyright 2017 The Chromium Authors - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_action_handler.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_action_handler.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_event_generator.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_event_generator.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_mode.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_mode_observer.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_role_properties.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_role_properties.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_relation_win.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_relation_win.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_unique_id.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_unique_id.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/checked_math.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/checked_math_impl.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/clamped_math.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/clamped_math_impl.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/math_constants.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/ranges.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/safe_conversions_arm_impl.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/safe_math.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/safe_math_arm_impl.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/safe_math_clang_gcc_impl.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/numerics/safe_math_shared_impl.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/checked_math.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/checked_math_impl.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/clamped_math.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/clamped_math_impl.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/math_constants.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/ranges.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_conversions_arm_impl.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_math.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_math_arm_impl.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_math_clang_gcc_impl.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_math_shared_impl.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax/ax_action_handler.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_action_handler.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_event_generator.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_event_generator.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_mode.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_mode_observer.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_role_properties.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_role_properties.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_relation_win.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_relation_win.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_unique_id.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_unique_id.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/checked_math.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/checked_math_impl.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/clamped_math.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/clamped_math_impl.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/math_constants.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/ranges.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/safe_conversions_arm_impl.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/safe_math.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/safe_math_arm_impl.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/safe_math_clang_gcc_impl.h -FILE: ../../../flutter/third_party/accessibility/base/numerics/safe_math_shared_impl.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/checked_math.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/checked_math_impl.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/clamped_math.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/clamped_math_impl.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/math_constants.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/ranges.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_conversions_arm_impl.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_math.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_math_arm_impl.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_math_clang_gcc_impl.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/numerics/safe_math_shared_impl.h ----------------------------------------------------------------------------------------------------- -Copyright 2017 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/io/lib/ansi.dart + ../../../flutter/third_party/pkg/io/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/io/lib/io.dart + ../../../flutter/third_party/pkg/io/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/io/lib/src/ansi_code.dart + ../../../flutter/third_party/pkg/io/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/io/lib/src/copy_path.dart + ../../../flutter/third_party/pkg/io/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/io/lib/src/exit_code.dart + ../../../flutter/third_party/pkg/io/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/io/lib/src/permissions.dart + ../../../flutter/third_party/pkg/io/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/io/lib/src/process_manager.dart + ../../../flutter/third_party/pkg/io/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/io/lib/src/shared_stdin.dart + ../../../flutter/third_party/pkg/io/LICENSE -ORIGIN: ../../../flutter/third_party/pkg/io/lib/src/shell_words.dart + ../../../flutter/third_party/pkg/io/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/io/lib/ansi.dart -FILE: ../../../flutter/third_party/pkg/io/lib/io.dart -FILE: ../../../flutter/third_party/pkg/io/lib/src/ansi_code.dart -FILE: ../../../flutter/third_party/pkg/io/lib/src/copy_path.dart -FILE: ../../../flutter/third_party/pkg/io/lib/src/exit_code.dart -FILE: ../../../flutter/third_party/pkg/io/lib/src/permissions.dart -FILE: ../../../flutter/third_party/pkg/io/lib/src/process_manager.dart -FILE: ../../../flutter/third_party/pkg/io/lib/src/shared_stdin.dart -FILE: ../../../flutter/third_party/pkg/io/lib/src/shell_words.dart ----------------------------------------------------------------------------------------------------- -Copyright 2017, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_composite_inc.h + ../../../flutter/third_party/brotli/LICENSE -ORIGIN: ../../../flutter/third_party/brotli/c/enc/hash_rolling_inc.h + ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/c/enc/hash_composite_inc.h -FILE: ../../../flutter/third_party/brotli/c/enc/hash_rolling_inc.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/cost_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/quant.h + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/src/dsp/cost_neon.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/quant.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/android_system_settings/assets/a4a_rules.json -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/drawable/icon.png -FILE: ../../../flutter/third_party/angle/src/common/fuchsia_egl/fuchsia_egl.c -FILE: ../../../flutter/third_party/angle/src/common/fuchsia_egl/fuchsia_egl.h -FILE: ../../../flutter/third_party/angle/src/common/fuchsia_egl/fuchsia_egl_backend.h -FILE: ../../../flutter/third_party/angle/src/common/packed_cl_enums.json -FILE: ../../../flutter/third_party/angle/src/common/packed_egl_enums.json -FILE: ../../../flutter/third_party/angle/src/common/packed_gl_enums.json -FILE: ../../../flutter/third_party/angle/src/compiler/translator/builtin_function_declarations.txt -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/emulated_builtin_function_data_hlsl.json -FILE: ../../../flutter/third_party/angle/src/feature_support_util/a4a_rules.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/es3_copy_conversion_formats.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/es3_format_type_combinations.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/format_map_data.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/angle_format_data.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/angle_format_map.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/ResolveColor.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/ResolveDepthStencil.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Swizzle11.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_gs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4f.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4i.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_ps_4ui.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/buffertotexture11_vs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clear11_fl9vs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clear11multiviewgs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clear11multiviewvs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clear11vs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/cleardepth11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11_fl9ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps1.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps2.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps3.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps4.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps5.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps6.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps7.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearfloat11ps8.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps1.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps2.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps3.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps4.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps5.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps6.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps7.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearsint11ps8.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps1.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps2.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps3.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps4.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps5.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps6.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps7.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/clearuint11ps8.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_luma_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_luma_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_luma_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_lumaalpha_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_lumaalpha_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_lumaalpha_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_565_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_565_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgb_565_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_4444_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_4444_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_4444_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_5551_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_5551_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_pm_rgba_5551_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_luma_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_luma_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_luma_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_lumaalpha_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_lumaalpha_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_lumaalpha_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_565_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_565_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgb_565_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_4444_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_4444_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_4444_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_4444_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_5551_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_5551_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_5551_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftof_um_rgba_5551_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pm_rgb_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pm_rgb_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pm_rgba_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pm_rgba_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pt_rgb_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pt_rgb_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pt_rgba_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_pt_rgba_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_um_rgb_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_um_rgb_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_um_rgba_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftoi_um_rgba_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgb_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgb_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgb_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgba_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgba_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pm_rgba_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgb_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgb_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgb_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgba_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgba_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_pt_rgba_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgb_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgb_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgb_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgba_2d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgba_2darray_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/multiplyalpha_ftou_um_rgba_3d_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough2d11vs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11gs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrough3d11vs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthrougha2d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughdepth2d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum2darray11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlum3d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha2darray11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughlumalpha3d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2darray11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2darrayi11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2darrayui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2di11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr2dui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3di11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughr3dui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2darray11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2darrayi11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2darrayui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2di11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg2dui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3di11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrg3dui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2d_565_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2darray11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2darray_565_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2darrayi11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2darrayui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2di11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb2dui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3d_565_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3di11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgb3dui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d_4444_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2d_5551_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darray11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darray_4444_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darray_5551_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darrayi11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2darrayui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2di11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dms11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba2dui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d_4444_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3d_5551_11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3di11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/passthroughrgba3dui11ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/resolvecolor2dps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/resolvedepth11_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/resolvedepthstencil11_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/resolvedepthstencil11_vs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/resolvestencil11_ps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2darrayps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef2dps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlef3dps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2darrayps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei2dps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzlei3dps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2darrayps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui2dps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/compiled/swizzleui3dps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_data.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/texture_format_map.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/componentmaskpremultps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/componentmaskps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/componentmaskunmultps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/luminancepremultps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/luminanceps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/luminanceunmultps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/passthroughps.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d9/shaders/compiled/standardvs.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_format_data.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_support_data.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/gl_bindings_data.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/FBConfigCompatibility.md -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/load_functions_data.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_mandatory_format_support_data.json -FILE: ../../../flutter/third_party/angle/src/libEGL/libEGL.rc -FILE: ../../../flutter/third_party/angle/src/libEGL/resource.h -FILE: ../../../flutter/third_party/angle/src/libGLESv1_CM/libGLESv1_CM.def -FILE: ../../../flutter/third_party/angle/src/libGLESv1_CM/libGLESv1_CM.rc -FILE: ../../../flutter/third_party/angle/src/libGLESv1_CM/resource.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2.rc -FILE: ../../../flutter/third_party/angle/src/libGLESv2/resource.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 The ANGLE Project Authors. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/android_system_settings/res/values-v17/styles.xml + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/FastVector.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/FixedVector.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PackedEnums.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/android_util.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/android_util.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/hash_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/matrix_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_posix.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/FunctionLookup.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/FunctionLookup.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableString.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableStringBuilder.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableStringBuilder.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/builtin_variables.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/FoldExpressions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/FoldExpressions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/PruneEmptyCases.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/PruneEmptyCases.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteStructSamplers.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteStructSamplers.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceVariable.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceVariable.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/Visit.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/feature_support_util/feature_support_util.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/feature_support_util/feature_support_util.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_android.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/BlobCache.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/BlobCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context.inl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_1_0.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/GLES1Renderer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/GLES1Renderer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/GLES1Shaders.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/GLES1State.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/GLES1State.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Observer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/entry_points_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/QueryImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/RenderTargetCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ContextD3D.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Blit11Helper_autogen.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/MultiplyAlpha.hlsl + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2DArray11.hlsl + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ImageGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ImageGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ContextEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ContextEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ExternalImageSiblingEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ImageEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ImageEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/RendererEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/RendererEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/ContextWGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/ContextWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/RendererWGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/RendererWGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000002.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000003.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000004.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000005.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000006.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000007.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000008.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000009.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000A.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000B.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000C.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000D.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000E.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000F.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000010.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000011.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000012.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000013.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000014.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000015.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000016.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000017.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000003.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000002.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/CopyImageToBuffer.comp.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/CopyImageToBuffer.comp.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/EtcToBc.comp.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/EtcToBc.comp.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ExportStencil.frag.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/FullScreenTri.vert.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000002.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000003.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000004.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000005.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000006.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000007.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000008.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000009.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000002.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000003.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000004.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000005.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000006.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000007.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000008.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000009.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000A.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000B.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000C.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000D.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000E.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000F.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000010.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000011.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000012.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000013.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000014.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000015.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000016.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000017.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000018.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000019.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001A.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001B.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001C.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001D.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001E.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001F.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000020.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000021.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000022.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000023.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000024.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000025.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000026.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000027.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000028.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000029.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002A.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002B.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002C.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002D.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002E.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002F.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000003.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000006.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000007.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000B.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000013.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000016.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000017.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000018.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000019.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001A.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001B.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000020.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000021.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000022.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000023.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000024.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000025.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000026.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000027.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000028.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000029.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002A.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002B.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.frag.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.vert.00000000.inc + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/FullScreenTri.vert + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_map.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES1.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES1.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES2.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES3.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES31.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationESEXT.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libEGL/egl_loader_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libEGL/egl_loader_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv1_CM/libGLESv1_CM.cpp + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/android_system_settings/res/values-v17/styles.xml -FILE: ../../../flutter/third_party/angle/src/common/FastVector.h -FILE: ../../../flutter/third_party/angle/src/common/FixedVector.h -FILE: ../../../flutter/third_party/angle/src/common/PackedEnums.cpp -FILE: ../../../flutter/third_party/angle/src/common/android_util.cpp -FILE: ../../../flutter/third_party/angle/src/common/android_util.h -FILE: ../../../flutter/third_party/angle/src/common/hash_utils.h -FILE: ../../../flutter/third_party/angle/src/common/matrix_utils.cpp -FILE: ../../../flutter/third_party/angle/src/common/system_utils.cpp -FILE: ../../../flutter/third_party/angle/src/common/system_utils_posix.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/FunctionLookup.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/FunctionLookup.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableString.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableStringBuilder.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableStringBuilder.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/builtin_variables.json -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/AtomicCounterFunctionHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ShaderStorageBlockFunctionHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/hlsl/ShaderStorageBlockOutputHLSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/FoldExpressions.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/FoldExpressions.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/PruneEmptyCases.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/PruneEmptyCases.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteStructSamplers.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteStructSamplers.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/SeparateStructFromUniformDeclarations.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/RewriteRepeatedAssignToSwizzled.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteAtomicFunctionExpressions.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RewriteExpressionsWithShaderStorageBlock.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/SeparateArrayConstructorStatements.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/NameEmbeddedUniformStructsMetal.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceVariable.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceVariable.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/Visit.h -FILE: ../../../flutter/third_party/angle/src/feature_support_util/feature_support_util.cpp -FILE: ../../../flutter/third_party/angle/src/feature_support_util/feature_support_util.h -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_android.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/BlobCache.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/BlobCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context.inl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_1_0.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/GLES1Renderer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/GLES1Renderer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/GLES1Shaders.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/GLES1State.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/GLES1State.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Observer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/entry_points_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/QueryImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/RenderTargetCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/ContextD3D.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Blit11Helper_autogen.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/Program11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/MultiplyAlpha.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2DArray11.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ImageGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/ImageGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ContextEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ContextEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ExternalImageSiblingEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ImageEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/ImageEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/RendererEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/RendererEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/android/NativeBufferImageSiblingAndroid.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/ContextWGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/ContextWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/RendererWGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/wgl/RendererWGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/UtilsVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/DisplayVkAndroid.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/WindowSurfaceVkAndroid.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000002.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000003.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000004.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000005.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000006.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000007.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000008.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000009.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000A.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000B.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000C.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000D.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000E.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.0000000F.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000010.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000011.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000012.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000013.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000014.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000015.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000016.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolve.frag.00000017.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000002.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/BlitResolveStencilNoExport.comp.00000003.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000002.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndex.comp.00000003.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndexIndirectLineLoop.comp.00000002.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertIndirectLineLoop.comp.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000002.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000003.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000004.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000005.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000006.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ConvertVertex.comp.00000007.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/CopyImageToBuffer.comp.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/CopyImageToBuffer.comp.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/EtcToBc.comp.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/EtcToBc.comp.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ExportStencil.frag.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/FullScreenTri.vert.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000002.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000003.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000004.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000005.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000006.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000007.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000008.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/GenerateMipmap.comp.00000009.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000002.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000003.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000004.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000005.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000006.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000007.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000008.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000009.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000A.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000B.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000C.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000D.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000E.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000000F.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000010.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000011.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000012.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000013.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000014.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000015.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000016.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000017.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000018.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000019.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001A.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001B.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001C.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001D.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001E.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000001F.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000020.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000021.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000022.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000023.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000024.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000025.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000026.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000027.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000028.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.00000029.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002A.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002B.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002C.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002D.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002E.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageClear.frag.0000002F.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000001.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000002.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000003.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000004.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000005.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000006.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000007.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000008.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000009.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000A.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000000B.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000010.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000011.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000012.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000013.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000014.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000015.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000016.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000017.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000018.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000019.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001A.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000001B.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000020.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000021.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000022.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000023.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000024.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000025.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000026.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000027.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000028.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.00000029.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002A.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/ImageCopy.frag.0000002B.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.frag.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/gen/OverlayDraw.vert.00000000.inc -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertVertex.comp.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/FullScreenTri.vert -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageCopy.frag.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_cache_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_caps_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_map.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_internal_shaders_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES1.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES1.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES2.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES3.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES31.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationESEXT.h -FILE: ../../../flutter/third_party/angle/src/libEGL/egl_loader_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libEGL/egl_loader_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv1_CM/libGLESv1_CM.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2018 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/contrib/bench/zlib_bench.cc + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/zlib/cpu_features.c + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/zlib/cpu_features.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/zlib/contrib/bench/zlib_bench.cc -FILE: ../../../flutter/third_party/zlib/cpu_features.c -FILE: ../../../flutter/third_party/zlib/cpu_features.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 The Chromium Authors - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_enum_util.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_enum_util.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_enums.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_table_info.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_table_info.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_id.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_id.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_observer.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_observer.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate_base.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/compute_attributes.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/compute_attributes.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/no_destructor.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/atl.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/base/anglebase/no_destructor.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax/ax_enum_util.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_enum_util.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_enums.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_table_info.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_table_info.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_id.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_id.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_observer.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_observer.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate_base.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/compute_attributes.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/compute_attributes.h -FILE: ../../../flutter/third_party/accessibility/base/no_destructor.h -FILE: ../../../flutter/third_party/accessibility/base/win/atl.h -FILE: ../../../flutter/third_party/angle/src/common/base/anglebase/no_destructor.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/pod_array.h + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/pod_array.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libcxx -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/common.h -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed.h -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed_full_table.h -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/d2s.h -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/d2s_full_table.h -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/d2s_intrinsics.h -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/digit_table.h -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/f2s.h -ORIGIN: ../../../flutter/third_party/libcxx/src/include/ryu/ryu.h -ORIGIN: ../../../flutter/third_party/libcxx/src/ryu/d2fixed.cpp -ORIGIN: ../../../flutter/third_party/libcxx/src/ryu/d2s.cpp -ORIGIN: ../../../flutter/third_party/libcxx/src/ryu/f2s.cpp -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/common.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2fixed_full_table.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2s.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2s_full_table.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/d2s_intrinsics.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/digit_table.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/f2s.h -FILE: ../../../flutter/third_party/libcxx/src/include/ryu/ryu.h -FILE: ../../../flutter/third_party/libcxx/src/ryu/d2fixed.cpp -FILE: ../../../flutter/third_party/libcxx/src/ryu/d2s.cpp -FILE: ../../../flutter/third_party/libcxx/src/ryu/f2s.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2018 Ulf Adams -Copyright (c) Microsoft Corporation. All rights reserved. - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -LIBRARY: xxhash -ORIGIN: ../../../flutter/third_party/angle/include/platform/Feature.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/vulkan/vulkan_fuchsia_ext.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PoolAlloc.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/PoolAlloc.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/apple_platform_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/gl_enum_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/gl_enum_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/gl_enum_utils_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/gl_enum_utils_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_win32.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_winuwp.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/third_party/xxhash/xxhash_fuzzer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor.l + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor.y + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor_lex_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor_tab_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateAST.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateAST.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang.l + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang.y + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang_lex_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/spirv/BuiltinsWorkaround.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/spirv/BuiltinsWorkaround.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteAtomicCounters.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteAtomicCounters.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/BuiltIn.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindFunction.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindFunction.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceShadowingVariables.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceShadowingVariables.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/EGLSync.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/MemoryObject.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/MemoryObject.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Overlay.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Overlay.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/OverlayWidgets.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/OverlayWidgets.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Overlay_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Overlay_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Semaphore.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Semaphore.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/FrameCapture.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/FrameCapture.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/FrameCapture_mock.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_1_0_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_2_0_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_0_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_1_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_2_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_ext_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/format_map_desktop.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/overlay_widgets.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLSyncImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/MemoryObjectImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/OverlayImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/SemaphoreImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ShaderImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DynamicImage2DHLSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DynamicImage2DHLSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ExternalImageSiblingImpl11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ExternalImageSiblingImpl11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/MappedSubresourceVerifier11.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/MappedSubresourceVerifier11.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/driver_utils_mac.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/MemoryObjectGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/MemoryObjectGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SemaphoreGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SemaphoreGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/DeviceCGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/RendererCGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/RendererCGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/SyncEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/SyncEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/RendererGLX.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/RendererGLX.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl_api.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/RenderTargetMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/RenderTargetMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ShaderMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ShaderMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SurfaceMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SurfaceMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_buffer_pool.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_buffer_pool.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_common.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_common.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_format_map.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_format_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_format_utils.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_msl_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_msl_utils.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_utils.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/serial_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/OverlayVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/OverlayVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/PersistentCommandPool.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/DisplayVkFuchsia.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/DisplayVkFuchsia.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ggp/DisplayVkGGP.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ggp/DisplayVkGGP.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ggp/WindowSurfaceVkGGP.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ggp/WindowSurfaceVkGGP.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/DisplayVkMac.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/DisplayVkMac.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/WindowSurfaceVkMac.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/WindowSurfaceVkMac.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolveStencilNoExport.comp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolveStencilNoExport.comp.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndexIndirectLineLoop.comp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/EtcToBc.comp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageClear.frag + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageClear.frag.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/spv_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/spv_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_wrapper.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/trace.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES32.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES32.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationESEXT.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationGL1.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationGL2.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationGL3.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationGL4.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_wgl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_wgl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_egl_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_glx_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_wgl_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/include/platform/Feature.h -FILE: ../../../flutter/third_party/angle/include/vulkan/vulkan_fuchsia_ext.h -FILE: ../../../flutter/third_party/angle/src/common/PoolAlloc.cpp -FILE: ../../../flutter/third_party/angle/src/common/PoolAlloc.h -FILE: ../../../flutter/third_party/angle/src/common/apple_platform_utils.h -FILE: ../../../flutter/third_party/angle/src/common/gl_enum_utils.cpp -FILE: ../../../flutter/third_party/angle/src/common/gl_enum_utils.h -FILE: ../../../flutter/third_party/angle/src/common/gl_enum_utils_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/common/gl_enum_utils_autogen.h -FILE: ../../../flutter/third_party/angle/src/common/system_utils_win32.cpp -FILE: ../../../flutter/third_party/angle/src/common/system_utils_winuwp.cpp -FILE: ../../../flutter/third_party/angle/src/common/third_party/xxhash/xxhash_fuzzer.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor.l -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor.y -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor_lex_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/preprocessor/preprocessor_tab_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateAST.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateAST.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang.l -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang.y -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang_lex_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/glslang_tab_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/spirv/BuiltinsWorkaround.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/spirv/BuiltinsWorkaround.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/EmulateMultiDrawShaderBuiltins.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveInactiveInterfaceVariables.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteAtomicCounters.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteAtomicCounters.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteCubeMapSamplersAs2DArray.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteDfdy.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/glsl/apple/RewriteRowMajorMatrices.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/BuiltIn.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindFunction.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindFunction.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceShadowingVariables.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceShadowingVariables.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/EGLSync.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/MemoryObject.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/MemoryObject.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Overlay.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Overlay.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/OverlayWidgets.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/OverlayWidgets.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Overlay_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Overlay_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Semaphore.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Semaphore.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/FrameCapture.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/FrameCapture.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/FrameCapture_mock.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_1_0_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_2_0_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_0_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_1_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_2_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_ext_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/format_map_desktop.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/overlay_widgets.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLSyncImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/MemoryObjectImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/OverlayImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/SemaphoreImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ShaderImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DynamicImage2DHLSL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/DynamicImage2DHLSL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ExternalImageSiblingImpl11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/ExternalImageSiblingImpl11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/MappedSubresourceVerifier11.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/d3d11/MappedSubresourceVerifier11.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/driver_utils_mac.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/MemoryObjectGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/MemoryObjectGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SemaphoreGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/SemaphoreGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/ContextCGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/DeviceCGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/DeviceCGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/RendererCGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/cgl/RendererCGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/SyncEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/SyncEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/RendererGLX.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/RendererGLX.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/BufferMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/CompilerMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ContextMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DisplayMtl_api.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/FrameBufferMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ProgramMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/RenderBufferMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/RenderTargetMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/RenderTargetMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ShaderMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ShaderMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SurfaceMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SurfaceMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/TextureMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/VertexArrayMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_buffer_pool.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_buffer_pool.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_command_buffer.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_common.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_common.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_format_map.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_format_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_format_utils.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_msl_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_msl_utils.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_render_utils.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_resources.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_state_cache.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_utils.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/serial_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/MemoryObjectVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/OverlayVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/OverlayVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/PersistentCommandPool.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/PersistentCommandPool.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SemaphoreVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/DisplayVkFuchsia.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/DisplayVkFuchsia.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/fuchsia/WindowSurfaceVkFuchsia.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ggp/DisplayVkGGP.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ggp/DisplayVkGGP.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ggp/WindowSurfaceVkGGP.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ggp/WindowSurfaceVkGGP.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/DisplayVkMac.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/DisplayVkMac.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/WindowSurfaceVkMac.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/WindowSurfaceVkMac.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolve.frag.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolveStencilNoExport.comp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/BlitResolveStencilNoExport.comp.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndex.comp.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndexIndirectLineLoop.comp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndirectLineLoop.comp.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/EtcToBc.comp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageClear.frag -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ImageClear.frag.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/spv_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/spv_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_wrapper.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/trace.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES32.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES32.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationESEXT.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationGL1.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationGL2.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationGL3.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationGL4.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_wgl.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_wgl.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_egl_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_glx_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_wgl_autogen.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2019 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/blit.metal + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/clear.metal + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/common.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/gen_indices.metal + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/visibility.metal + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/blit.metal -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/clear.metal -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/common.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/gen_indices.metal -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/visibility.metal ----------------------------------------------------------------------------------------------------- -Copyright 2019 The ANGLE Project. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/contrib/optimizations/insert_string.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/zlib/google/compression_utils_portable.cc + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/zlib/google/compression_utils_portable.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/zlib/contrib/optimizations/insert_string.h -FILE: ../../../flutter/third_party/zlib/google/compression_utils_portable.cc -FILE: ../../../flutter/third_party/zlib/google/compression_utils_portable.h ----------------------------------------------------------------------------------------------------- -Copyright 2019 The Chromium Authors - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_active_popup.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_active_popup.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_clipping_behavior.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_constants.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_coordinate_system.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_mode.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_node_text_styles.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_node_text_styles.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_offscreen_result.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_manager.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_manager_map.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_tree_manager_map.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_fragment_root_delegate_win.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_fragment_root_win.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_fragment_root_win.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate_utils_win.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate_utils_win.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textprovider_win.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textprovider_win.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textrangeprovider_win.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textrangeprovider_win.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_tree_manager.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/scoped_safearray.h + ../../../flutter/third_party/accessibility/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax/ax_active_popup.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_active_popup.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_clipping_behavior.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_constants.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_coordinate_system.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_mode.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_node_text_styles.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_node_text_styles.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_offscreen_result.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_manager.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_manager_map.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_tree_manager_map.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_fragment_root_delegate_win.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_fragment_root_win.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_fragment_root_win.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate_utils_win.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_delegate_utils_win.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textprovider_win.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textprovider_win.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textrangeprovider_win.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_node_textrangeprovider_win.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/ax_platform_tree_manager.h -FILE: ../../../flutter/third_party/accessibility/base/win/scoped_safearray.h ----------------------------------------------------------------------------------------------------- -Copyright 2019 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/python/_re2.cc + ../../../flutter/third_party/re2/python/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/python/_re2.cc ----------------------------------------------------------------------------------------------------- -Copyright 2019 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/common/apple/SoftLinking.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/entry_points_enum_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/entry_points_enum_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/frame_capture_utils_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/frame_capture_utils_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/gl/cgl/FunctionsCGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/gl/cgl/FunctionsCGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/system_utils_apple.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/vulkan/vulkan_icd.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/vulkan/vulkan_icd.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableString_ESSL_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableString_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateBarrierFunctionCall.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateBarrierFunctionCall.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateClipCullDistance.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateClipCullDistance.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/AsNode.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/AstHelpers.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/AstHelpers.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/DebugSink.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/DiscoverDependentFunctions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/DiscoverDependentFunctions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/DriverUniformMetal.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/DriverUniformMetal.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/EmitMetal.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/EmitMetal.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/IdGen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/IdGen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/IntermRebuild.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/IntermRebuild.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/Layout.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/Layout.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/MapFunctionsToDefinitions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/MapFunctionsToDefinitions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/MapSymbols.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/MapSymbols.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/ModifyStruct.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/ModifyStruct.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/Name.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/Name.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/NodeType.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/Pipeline.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/Pipeline.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/ProgramPrelude.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/ProgramPrelude.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/Reference.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/RewritePipelines.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/RewritePipelines.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/SkippingTraverser.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/SymbolEnv.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/SymbolEnv.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/ToposortStructs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/ToposortStructs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/TranslatorMSL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/TranslatorMSL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ForcePrecisionQualifier.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ForcePrecisionQualifier.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/FixTypeConstructors.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/FixTypeConstructors.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/HoistConstants.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/HoistConstants.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteOutArgs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteOutArgs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/WrapMain.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/WrapMain.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/RewriteInterpolateAtOffset.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/RewriteInterpolateAtOffset.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/BuiltIn_complete_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/DriverUniform.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/DriverUniform.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RewriteSampleMaskVariable.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RewriteSampleMaskVariable.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RunAtTheBeginningOfShader.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RunAtTheBeginningOfShader.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/SpecializationConstant.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/SpecializationConstant.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_apple.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_fuchsia.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_ios.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_vulkan.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_vulkan.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gl_1_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gl_2_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gl_3_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gl_4_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_1_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_2_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_3_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_3_1_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_3_2_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_ext_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/InfoLog.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ProgramExecutable.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ProgramExecutable.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_egl_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_egl_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_1_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_1_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_2_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_2_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_3_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_3_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_4_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_4_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_1_0_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_1_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_2_0_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_2_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_0_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_1_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_1_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_2_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_2_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_ext_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_ext_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/serialize.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/serialize.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/BufferImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLReusableSync.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLReusableSync.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLSyncImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/FormatID_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/Format_table_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/driver_utils_d3d.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d_format.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d_format.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_format_map.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_format_map_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/ContextEAGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/DeviceEAGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/DisplayEAGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/FunctionsEAGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/FunctionsEAGL.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/RendererEAGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/RendererEAGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/load_functions_table_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SamplerMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SamplerMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/TransformFeedbackMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/TransformFeedbackMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/file_hooking/shader_cache_file_hooking.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_ios_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_macos_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_src_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DebugAnnotatorVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DebugAnnotatorVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/vk_android_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/vk_android_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/display/DisplayVkSimple.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/display/DisplayVkSimple.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/display/WindowSurfaceVkSimple.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/display/WindowSurfaceVkSimple.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/headless/DisplayVkHeadless.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/headless/DisplayVkHeadless.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/headless/WindowSurfaceVkHeadless.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/headless/WindowSurfaceVkHeadless.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/IOSurfaceSurfaceVkMac.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/IOSurfaceSurfaceVkMac.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndexIndirectLineLoop.comp.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/EtcToBc.comp.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/GenerateMipmap.comp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/GenerateMipmap.comp.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_mandatory_format_support_table_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationEGL_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES1_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES2_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES31_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES32_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationES3_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationESEXT_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationGL1_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationGL2_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationGL3_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationGL4_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libEGL/libEGL_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libEGL/libEGL_autogen.def + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libEGL/libEGL_vulkan_secondaries_autogen.def + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/egl_ext_stubs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/egl_ext_stubs_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/egl_get_labeled_object_data.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/egl_stubs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/egl_stubs_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_cl_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_cl_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_egl_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_egl_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_egl_ext_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_egl_ext_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_1_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_1_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_2_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_2_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_3_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_3_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_4_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_4_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_1_0_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_1_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_2_0_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_2_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_0_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_0_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_1_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_1_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_2_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_2_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_autogen.def + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_no_capture_autogen.def + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_vulkan_secondaries_autogen.def + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_with_capture_autogen.def + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/opengl32_autogen.def + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/opengl32_with_wgl_autogen.def + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libOpenCL/libOpenCL_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/common/apple/SoftLinking.h -FILE: ../../../flutter/third_party/angle/src/common/entry_points_enum_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/common/entry_points_enum_autogen.h -FILE: ../../../flutter/third_party/angle/src/common/frame_capture_utils_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/common/frame_capture_utils_autogen.h -FILE: ../../../flutter/third_party/angle/src/common/gl/cgl/FunctionsCGL.cpp -FILE: ../../../flutter/third_party/angle/src/common/gl/cgl/FunctionsCGL.h -FILE: ../../../flutter/third_party/angle/src/common/system_utils_apple.cpp -FILE: ../../../flutter/third_party/angle/src/common/vulkan/vulkan_icd.cpp -FILE: ../../../flutter/third_party/angle/src/common/vulkan/vulkan_icd.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableString_ESSL_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ImmutableString_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/SymbolTable_autogen.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateBarrierFunctionCall.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateBarrierFunctionCall.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateClipCullDistance.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateClipCullDistance.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/AsNode.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/AstHelpers.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/AstHelpers.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/DebugSink.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/DiscoverDependentFunctions.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/DiscoverDependentFunctions.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/DiscoverEnclosingFunctionTraverser.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/DriverUniformMetal.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/DriverUniformMetal.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/EmitMetal.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/EmitMetal.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/IdGen.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/IdGen.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/IntermRebuild.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/IntermRebuild.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/Layout.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/Layout.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/MapFunctionsToDefinitions.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/MapFunctionsToDefinitions.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/MapSymbols.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/MapSymbols.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/ModifyStruct.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/ModifyStruct.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/Name.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/Name.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/NodeType.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/Pipeline.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/Pipeline.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/ProgramPrelude.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/ProgramPrelude.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/Reference.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/RewritePipelines.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/RewritePipelines.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/SkippingTraverser.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/SymbolEnv.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/SymbolEnv.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/ToposortStructs.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/ToposortStructs.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/TranslatorMSL.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/TranslatorMSL.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ForcePrecisionQualifier.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ForcePrecisionQualifier.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RemoveAtomicCounterBuiltins.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/RecordUniformBlocksWithLargeArrayMember.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/AddExplicitTypeCasts.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/ConvertUnsupportedConstructorsToFunctionCalls.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/FixTypeConstructors.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/FixTypeConstructors.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/HoistConstants.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/HoistConstants.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/IntroduceVertexIndexID.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/ReduceInterfaceBlocks.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteCaseDeclarations.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteOutArgs.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteOutArgs.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteUnaddressableReferences.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/SeparateCompoundExpressions.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/SeparateCompoundStructDeclarations.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/TransposeRowMajorMatrices.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/WrapMain.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/WrapMain.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/RewriteInterpolateAtOffset.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/RewriteInterpolateAtOffset.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/BuiltIn_ESSL_autogen.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/BuiltIn_complete_autogen.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/DriverUniform.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/DriverUniform.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceArrayOfMatrixVarying.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/ReplaceClipCullDistanceVariable.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RewriteSampleMaskVariable.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RewriteSampleMaskVariable.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RunAtTheBeginningOfShader.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/RunAtTheBeginningOfShader.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/SpecializationConstant.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/SpecializationConstant.h -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_apple.mm -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_fuchsia.cpp -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_ios.cpp -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_vulkan.cpp -FILE: ../../../flutter/third_party/angle/src/gpu_info_util/SystemInfo_vulkan.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gl_1_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gl_2_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gl_3_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gl_4_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_1_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_2_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_3_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_3_1_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_3_2_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Context_gles_ext_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/InfoLog.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/ProgramExecutable.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/ProgramExecutable.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_egl_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_egl_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_1_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_1_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_2_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_2_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_3_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_3_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_4_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_4_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_1_0_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_1_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_2_0_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_2_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_0_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_1_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_1_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_2_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_3_2_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_ext_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gles_ext_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/serialize.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/serialize.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/BufferImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLReusableSync.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLReusableSync.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/EGLSyncImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/FormatID_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/Format_table_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/driver_utils_d3d.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d/driver_utils_d3d.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d_format.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/d3d_format.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_format_map.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/dxgi_format_map_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/ContextEAGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/ContextEAGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/DeviceEAGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/DeviceEAGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/DisplayEAGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/DisplayEAGL.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/FunctionsEAGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/FunctionsEAGL.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/IOSurfaceSurfaceEAGL.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/PbufferSurfaceEAGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/RendererEAGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/RendererEAGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/eagl/WindowSurfaceEAGL.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/PixmapSurfaceGLX.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/glx/glx_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/load_functions_table_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/IOSurfaceSurfaceMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SamplerMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/SamplerMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/TransformFeedbackMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/TransformFeedbackMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/file_hooking/shader_cache_file_hooking.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_ios_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_macos_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/mtl_internal_shaders_src_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CommandProcessor.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DebugAnnotatorVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/DebugAnnotatorVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ProgramExecutableVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/vk_android_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/vk_android_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/display/DisplayVkSimple.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/display/DisplayVkSimple.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/display/WindowSurfaceVkSimple.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/display/WindowSurfaceVkSimple.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/headless/DisplayVkHeadless.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/headless/DisplayVkHeadless.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/headless/WindowSurfaceVkHeadless.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/headless/WindowSurfaceVkHeadless.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/IOSurfaceSurfaceVkMac.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/mac/IOSurfaceSurfaceVkMac.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ConvertIndexIndirectLineLoop.comp.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/EtcToBc.comp.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/GenerateMipmap.comp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/GenerateMipmap.comp.json -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_format_table_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_mandatory_format_support_table_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationEGL_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES1_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES2_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES31_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES32_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationES3_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationESEXT_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationGL1_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationGL2_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationGL3_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationGL4_autogen.h -FILE: ../../../flutter/third_party/angle/src/libEGL/libEGL_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libEGL/libEGL_autogen.def -FILE: ../../../flutter/third_party/angle/src/libEGL/libEGL_vulkan_secondaries_autogen.def -FILE: ../../../flutter/third_party/angle/src/libGLESv2/egl_ext_stubs.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/egl_ext_stubs_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/egl_get_labeled_object_data.json -FILE: ../../../flutter/third_party/angle/src/libGLESv2/egl_stubs.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/egl_stubs_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_cl_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_cl_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_egl_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_egl_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_egl_ext_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_egl_ext_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_1_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_1_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_2_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_2_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_3_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_3_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_4_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gl_4_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_1_0_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_1_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_2_0_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_2_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_0_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_0_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_1_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_1_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_2_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_3_2_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_gles_ext_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_autogen.def -FILE: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_no_capture_autogen.def -FILE: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_vulkan_secondaries_autogen.def -FILE: ../../../flutter/third_party/angle/src/libGLESv2/libGLESv2_with_capture_autogen.def -FILE: ../../../flutter/third_party/angle/src/libGLESv2/opengl32_autogen.def -FILE: ../../../flutter/third_party/angle/src/libGLESv2/opengl32_with_wgl_autogen.def -FILE: ../../../flutter/third_party/angle/src/libOpenCL/libOpenCL_autogen.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2020 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/constants.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/copy_buffer.metal + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/gen_mipmap.metal + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/constants.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/copy_buffer.metal -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/gen_mipmap.metal ----------------------------------------------------------------------------------------------------- -Copyright 2020 The ANGLE Project. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: accessibility -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_action_handler_base.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_action_handler_base.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_base_export.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_event_intent.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/ax_event_intent.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/uia_registrar_win.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/platform/uia_registrar_win.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/test_ax_node_helper.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/test_ax_node_helper.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/test_ax_tree_manager.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/ax/test_ax_tree_manager.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/dispatch_stub.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/dispatch_stub.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/variant_util.h + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/variant_vector.cc + ../../../flutter/third_party/accessibility/LICENSE -ORIGIN: ../../../flutter/third_party/accessibility/base/win/variant_vector.h + ../../../flutter/third_party/accessibility/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/accessibility/ax/ax_action_handler_base.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_action_handler_base.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_base_export.h -FILE: ../../../flutter/third_party/accessibility/ax/ax_event_intent.cc -FILE: ../../../flutter/third_party/accessibility/ax/ax_event_intent.h -FILE: ../../../flutter/third_party/accessibility/ax/platform/uia_registrar_win.cc -FILE: ../../../flutter/third_party/accessibility/ax/platform/uia_registrar_win.h -FILE: ../../../flutter/third_party/accessibility/ax/test_ax_node_helper.cc -FILE: ../../../flutter/third_party/accessibility/ax/test_ax_node_helper.h -FILE: ../../../flutter/third_party/accessibility/ax/test_ax_tree_manager.cc -FILE: ../../../flutter/third_party/accessibility/ax/test_ax_tree_manager.h -FILE: ../../../flutter/third_party/accessibility/base/win/dispatch_stub.cc -FILE: ../../../flutter/third_party/accessibility/base/win/dispatch_stub.h -FILE: ../../../flutter/third_party/accessibility/base/win/variant_util.h -FILE: ../../../flutter/third_party/accessibility/base/win/variant_vector.cc -FILE: ../../../flutter/third_party/accessibility/base/win/variant_vector.h ----------------------------------------------------------------------------------------------------- -Copyright 2020 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/lossless_sse41.c + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/src/dsp/lossless_sse41.c ----------------------------------------------------------------------------------------------------- -Copyright 2021 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/angle_cl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/CircularBuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/Spinlock.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/SynchronizedValue.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/angle_version_info.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/angle_version_info.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/apple/apple_platform.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/linux/dma_buf_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/linux/dma_buf_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/serializer/JsonSerializer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/serializer/JsonSerializer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/spirv/angle_spirv_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/spirv/spirv_instruction_parser_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/spirv/spirv_instruction_parser_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/spirv/spirv_types.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/vulkan/libvulkan_loader.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/vulkan/libvulkan_loader.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/Operator_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateTypeSizeLimitations.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/ValidateTypeSizeLimitations.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/spirv/BuildSPIRV.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/spirv/BuildSPIRV.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampIndirectIndices.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampIndirectIndices.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeclarePerVertexBlocks.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeclarePerVertexBlocks.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFragColorData.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFragColorData.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/RewriteR32fImages.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/RewriteR32fImages.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindPreciseNodes.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindPreciseNodes.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLBitField.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLBuffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLBuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLCommandQueue.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLCommandQueue.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLContext.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLContext.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLDevice.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLDevice.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLEvent.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLEvent.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLImage.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLImage.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLKernel.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLKernel.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLMemory.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLMemory.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLObject.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLObject.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLPlatform.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLPlatform.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLProgram.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLProgram.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLRefPointer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLSampler.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLSampler.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/CLtypes.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/serialize_mock.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/cl_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/cl_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/gles_extensions_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/gles_extensions_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLCommandQueueImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLCommandQueueImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLContextImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLContextImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLDeviceImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLDeviceImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLEventImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLEventImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLExtensions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLExtensions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLKernelImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLKernelImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLMemoryImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLMemoryImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLPlatformImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLPlatformImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLProgramImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLProgramImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLSamplerImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLSamplerImpl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLtypes.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ImageImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLCommandQueueCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLCommandQueueCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLContextCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLContextCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLDeviceCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLDeviceCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLEventCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLEventCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLKernelCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLKernelCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLMemoryCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLMemoryCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLPlatformCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLPlatformCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLProgramCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLProgramCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLSamplerCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLSamplerCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/cl_types.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/cl_util.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/cl_util.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/driver_utils_ios.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DeviceMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DeviceMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ImageMtl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ImageMtl.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_context_device.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_context_device.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_resource_spi.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/rewrite_indices.metal + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLCommandQueueVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLContextVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLContextVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLDeviceVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLDeviceVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLEventVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLEventVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLKernelVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLKernelVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLMemoryVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLMemoryVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLPlatformVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLPlatformVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLProgramVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLProgramVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLSamplerVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLSamplerVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShaderInterfaceVariableInfoMap.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShaderInterfaceVariableInfoMap.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VulkanSecondaryCommandBuffer.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VulkanSecondaryCommandBuffer.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/AHBFunctions.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/AHBFunctions.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/cl_types.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DisplayVkLinux.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DisplayVkLinux.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DmaBufImageSiblingVkLinux.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DmaBufImageSiblingVkLinux.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/null/DisplayVkNull.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/null/DisplayVkNull.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_command_buffer_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationCL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationCL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/validationCL_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/cl_dispatch_table.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/cl_dispatch_table.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/cl_stubs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/cl_stubs_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_cl_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_cl_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_cl.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_cl_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libOpenCL/dispatch.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libOpenCL/dispatch.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libOpenCL/libOpenCL_autogen.map + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/include/angle_cl.h -FILE: ../../../flutter/third_party/angle/src/common/CircularBuffer.h -FILE: ../../../flutter/third_party/angle/src/common/Spinlock.h -FILE: ../../../flutter/third_party/angle/src/common/SynchronizedValue.h -FILE: ../../../flutter/third_party/angle/src/common/angle_version_info.cpp -FILE: ../../../flutter/third_party/angle/src/common/angle_version_info.h -FILE: ../../../flutter/third_party/angle/src/common/apple/apple_platform.h -FILE: ../../../flutter/third_party/angle/src/common/linux/dma_buf_utils.cpp -FILE: ../../../flutter/third_party/angle/src/common/linux/dma_buf_utils.h -FILE: ../../../flutter/third_party/angle/src/common/serializer/JsonSerializer.cpp -FILE: ../../../flutter/third_party/angle/src/common/serializer/JsonSerializer.h -FILE: ../../../flutter/third_party/angle/src/common/spirv/angle_spirv_utils.cpp -FILE: ../../../flutter/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.h -FILE: ../../../flutter/third_party/angle/src/common/spirv/spirv_instruction_parser_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/common/spirv/spirv_instruction_parser_autogen.h -FILE: ../../../flutter/third_party/angle/src/common/spirv/spirv_types.h -FILE: ../../../flutter/third_party/angle/src/common/vulkan/libvulkan_loader.cpp -FILE: ../../../flutter/third_party/angle/src/common/vulkan/libvulkan_loader.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/Operator_autogen.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateTypeSizeLimitations.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/ValidateTypeSizeLimitations.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/spirv/BuildSPIRV.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/spirv/BuildSPIRV.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/spirv/OutputSPIRV.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampIndirectIndices.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/ClampIndirectIndices.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeclarePerVertexBlocks.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/DeclarePerVertexBlocks.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewriteArrayOfArrayOfOpaqueUniforms.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFragColorData.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFragColorData.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/RewriteR32fImages.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/RewriteR32fImages.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindPreciseNodes.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_util/FindPreciseNodes.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLBitField.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLBuffer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLBuffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLCommandQueue.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLCommandQueue.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLContext.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLContext.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLDevice.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLDevice.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLEvent.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLEvent.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLImage.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLImage.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLKernel.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLKernel.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLMemory.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLMemory.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLObject.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLObject.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLPlatform.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLPlatform.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLProgram.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLProgram.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLRefPointer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLSampler.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLSampler.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/CLtypes.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/serialize_mock.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/cl_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/cl_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/gles_extensions_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/gles_extensions_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLCommandQueueImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLCommandQueueImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLContextImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLContextImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLDeviceImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLDeviceImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLEventImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLEventImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLExtensions.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLExtensions.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLKernelImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLKernelImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLMemoryImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLMemoryImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLPlatformImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLPlatformImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLProgramImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLProgramImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLSamplerImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLSamplerImpl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/CLtypes.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ImageImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLCommandQueueCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLCommandQueueCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLContextCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLContextCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLDeviceCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLDeviceCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLEventCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLEventCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLKernelCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLKernelCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLMemoryCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLMemoryCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLPlatformCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLPlatformCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLProgramCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLProgramCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLSamplerCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/CLSamplerCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/cl_types.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/cl_util.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/cl/cl_util.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/driver_utils_ios.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DeviceMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/DeviceMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ImageMtl.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ImageMtl.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_context_device.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_context_device.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_resource_spi.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/rewrite_indices.metal -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLCommandQueueVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLContextVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLContextVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLDeviceVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLDeviceVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLEventVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLEventVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLKernelVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLKernelVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLMemoryVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLMemoryVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLPlatformVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLPlatformVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLProgramVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLProgramVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLSamplerVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/CLSamplerVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShaderInterfaceVariableInfoMap.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShaderInterfaceVariableInfoMap.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VkImageImageSiblingVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VulkanSecondaryCommandBuffer.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/VulkanSecondaryCommandBuffer.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/AHBFunctions.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/android/AHBFunctions.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/cl_types.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DisplayVkLinux.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DisplayVkLinux.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DmaBufImageSiblingVkLinux.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/DmaBufImageSiblingVkLinux.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/null/DisplayVkNull.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/null/DisplayVkNull.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/vk_command_buffer_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationCL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationCL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/validationCL_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/cl_dispatch_table.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/cl_dispatch_table.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/cl_stubs.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/cl_stubs_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_cl_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_cl_utils.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_cl.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/proc_table_cl_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libOpenCL/dispatch.cpp -FILE: ../../../flutter/third_party/angle/src/libOpenCL/dispatch.h -FILE: ../../../flutter/third_party/angle/src/libOpenCL/libOpenCL_autogen.map ----------------------------------------------------------------------------------------------------- -Copyright 2021 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/rewrite_indices_shared.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/shaders/rewrite_indices_shared.h ----------------------------------------------------------------------------------------------------- -Copyright 2021 The ANGLE Project. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: pkg -ORIGIN: ../../../flutter/third_party/pkg/io/lib/src/charcodes.dart + ../../../flutter/third_party/pkg/io/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/pkg/io/lib/src/charcodes.dart ----------------------------------------------------------------------------------------------------- -Copyright 2021, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/wayland/DisplayVkWayland.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/wayland/DisplayVkWayland.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/wayland/WindowSurfaceVkWayland.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/wayland/WindowSurfaceVkWayland.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/wayland/DisplayVkWayland.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/wayland/DisplayVkWayland.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/wayland/WindowSurfaceVkWayland.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/wayland/WindowSurfaceVkWayland.h ----------------------------------------------------------------------------------------------------- -Copyright 2021-2022 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: brotli -ORIGIN: ../../../flutter/third_party/brotli/c/enc/state.h + ../../../flutter/third_party/brotli/LICENSE -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/brotli/c/enc/state.h ----------------------------------------------------------------------------------------------------- -Copyright 2022 Google Inc. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libwebp -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_cpu.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_cpu.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_csp.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_csp.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_dsp.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_dsp.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_gamma.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_gamma.h + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_neon.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_sse2.c + ../../../flutter/third_party/libwebp/COPYING -ORIGIN: ../../../flutter/third_party/libwebp/src/dsp/cpu.h + ../../../flutter/third_party/libwebp/COPYING -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv.c -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv.h -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_cpu.c -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_cpu.h -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_csp.c -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_csp.h -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_dsp.c -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_dsp.h -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_gamma.c -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_gamma.h -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_neon.c -FILE: ../../../flutter/third_party/libwebp/sharpyuv/sharpyuv_sse2.c -FILE: ../../../flutter/third_party/libwebp/src/dsp/cpu.h ----------------------------------------------------------------------------------------------------- -Copyright 2022 Google Inc. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/include/platform/autogen/FeaturesD3D_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/autogen/FeaturesGL_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/autogen/FeaturesMtl_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/autogen/FeaturesVk_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/autogen/FrontendFeatures_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/d3d_features.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/frontend_features.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/gl_features.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/mtl_features.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/include/platform/vk_features.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/CompiledShaderState.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/CompiledShaderState.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/RingBufferAllocator.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/RingBufferAllocator.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/apple_platform_utils.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/backtrace_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/backtrace_utils_android.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/backtrace_utils_noop.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/frame_capture_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/frame_capture_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/BaseTypes.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/msl/ConstantNames.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewritePixelLocalStorage.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewritePixelLocalStorage.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateDithering.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateDithering.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateYUVBuiltIns.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateYUVBuiltIns.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/AstcDecompressor.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/AstcDecompressor.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/AstcDecompressorNoOp.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/AstcDecompressorTestUtils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/loadimage_astc.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/loadimage_paletted.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/storeimage.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/image_util/storeimage_paletted.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/MemoryShaderCache.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/MemoryShaderCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Overlay_font_autogen.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/Overlay_font_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/PixelLocalStorage.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/PixelLocalStorage.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_1_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_2_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_3_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_4_params.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/entry_points_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/FramebufferImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramPipelineImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/RenderbufferImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/TransformFeedbackImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/VertexArrayImpl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/PLSProgramCache.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/PLSProgramCache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DeviceEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DeviceEGL.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_buffer_manager.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_buffer_manager.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/AllocatorHelperPool.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/AllocatorHelperPool.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/AllocatorHelperRing.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/AllocatorHelperRing.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/Suballocation.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/Suballocation.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/gbm/DisplayVkGbm.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/gbm/DisplayVkGbm.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ExportStencil.frag + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.frag + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.vert + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_glx.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_glx.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/include/platform/autogen/FeaturesD3D_autogen.h -FILE: ../../../flutter/third_party/angle/include/platform/autogen/FeaturesGL_autogen.h -FILE: ../../../flutter/third_party/angle/include/platform/autogen/FeaturesMtl_autogen.h -FILE: ../../../flutter/third_party/angle/include/platform/autogen/FeaturesVk_autogen.h -FILE: ../../../flutter/third_party/angle/include/platform/autogen/FrontendFeatures_autogen.h -FILE: ../../../flutter/third_party/angle/include/platform/d3d_features.json -FILE: ../../../flutter/third_party/angle/include/platform/frontend_features.json -FILE: ../../../flutter/third_party/angle/include/platform/gl_features.json -FILE: ../../../flutter/third_party/angle/include/platform/mtl_features.json -FILE: ../../../flutter/third_party/angle/include/platform/vk_features.json -FILE: ../../../flutter/third_party/angle/src/common/CompiledShaderState.cpp -FILE: ../../../flutter/third_party/angle/src/common/CompiledShaderState.h -FILE: ../../../flutter/third_party/angle/src/common/RingBufferAllocator.cpp -FILE: ../../../flutter/third_party/angle/src/common/RingBufferAllocator.h -FILE: ../../../flutter/third_party/angle/src/common/apple_platform_utils.mm -FILE: ../../../flutter/third_party/angle/src/common/backtrace_utils.h -FILE: ../../../flutter/third_party/angle/src/common/backtrace_utils_android.cpp -FILE: ../../../flutter/third_party/angle/src/common/backtrace_utils_noop.cpp -FILE: ../../../flutter/third_party/angle/src/common/frame_capture_utils.cpp -FILE: ../../../flutter/third_party/angle/src/common/frame_capture_utils.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/BaseTypes.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/msl/ConstantNames.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewritePixelLocalStorage.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/RewritePixelLocalStorage.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignArraysInSSBOs.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/hlsl/AggregateAssignStructsInSSBOs.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/GuardFragDepthWrite.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateAdvancedBlendEquations.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateDithering.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateDithering.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateYUVBuiltIns.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateYUVBuiltIns.h -FILE: ../../../flutter/third_party/angle/src/image_util/AstcDecompressor.cpp -FILE: ../../../flutter/third_party/angle/src/image_util/AstcDecompressor.h -FILE: ../../../flutter/third_party/angle/src/image_util/AstcDecompressorNoOp.cpp -FILE: ../../../flutter/third_party/angle/src/image_util/AstcDecompressorTestUtils.h -FILE: ../../../flutter/third_party/angle/src/image_util/loadimage_astc.cpp -FILE: ../../../flutter/third_party/angle/src/image_util/loadimage_paletted.cpp -FILE: ../../../flutter/third_party/angle/src/image_util/storeimage.h -FILE: ../../../flutter/third_party/angle/src/image_util/storeimage_paletted.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/MemoryShaderCache.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/MemoryShaderCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/Overlay_font_autogen.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/Overlay_font_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/PixelLocalStorage.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/PixelLocalStorage.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_1_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_2_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_3_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/capture/capture_gl_4_params.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/entry_points_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/FramebufferImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/ProgramPipelineImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/RenderbufferImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/TransformFeedbackImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/VertexArrayImpl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/PLSProgramCache.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/PLSProgramCache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DeviceEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DeviceEGL.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_buffer_manager.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_buffer_manager.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/AllocatorHelperPool.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/AllocatorHelperPool.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/AllocatorHelperRing.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/AllocatorHelperRing.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/Suballocation.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/Suballocation.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/gbm/DisplayVkGbm.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/linux/gbm/DisplayVkGbm.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/ExportStencil.frag -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.frag -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/OverlayDraw.vert -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_glx.cpp -FILE: ../../../flutter/third_party/angle/src/libGLESv2/entry_points_glx.h ----------------------------------------------------------------------------------------------------- -Copyright 2022 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/slide_hash_simd.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/zlib/slide_hash_simd.h ----------------------------------------------------------------------------------------------------- -Copyright 2022 The Chromium Authors - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/app/_re2.cc + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/app/rollup.config.js + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2/stringpiece.h + ../../../flutter/third_party/re2/LICENSE -ORIGIN: ../../../flutter/third_party/re2/re2Config.cmake.in + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/app/_re2.cc -FILE: ../../../flutter/third_party/re2/app/rollup.config.js -FILE: ../../../flutter/third_party/re2/re2/stringpiece.h -FILE: ../../../flutter/third_party/re2/re2Config.cmake.in ----------------------------------------------------------------------------------------------------- -Copyright 2022 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/common/FixedQueue.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/platform_helpers.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/common/platform_helpers.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteInterpolants.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteInterpolants.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFramebufferFetch.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFramebufferFetch.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/GlobalMutex.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/GlobalMutex.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ShareGroup.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/ShareGroup.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/SharedContextMutex.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/SharedContextMutex.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/context_private_call_gl.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/context_private_call_gl_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/context_private_call_gles.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/context_private_call_gles_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/blocklayoutMetal.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/blocklayoutMetal.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_library_cache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_library_cache.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_pipeline_cache.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_pipeline_cache.mm + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/process.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/process.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/renderermtl_utils.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/renderermtl_utils.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/MemoryTracking.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/MemoryTracking.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandPool.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandPool.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShareGroupVk.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShareGroupVk.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/CopyImageToBuffer.comp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/CopyImageToBuffer.comp.json + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/egl_context_lock_autogen.h + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libGLESv2/egl_context_lock_impl.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/common/FixedQueue.h -FILE: ../../../flutter/third_party/angle/src/common/platform_helpers.cpp -FILE: ../../../flutter/third_party/angle/src/common/platform_helpers.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteInterpolants.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/msl/RewriteInterpolants.h -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFramebufferFetch.cpp -FILE: ../../../flutter/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFramebufferFetch.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/GlobalMutex.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/GlobalMutex.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/ShareGroup.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/ShareGroup.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/SharedContextMutex.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/SharedContextMutex.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/context_private_call_gl.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/context_private_call_gl_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/context_private_call_gles.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/context_private_call_gles_autogen.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/blocklayoutMetal.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/blocklayoutMetal.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_library_cache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_library_cache.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_pipeline_cache.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/mtl_pipeline_cache.mm -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/process.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/process.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/renderermtl_utils.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/metal/renderermtl_utils.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/MemoryTracking.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/MemoryTracking.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandPool.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/SecondaryCommandPool.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShareGroupVk.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/ShareGroupVk.h -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/CopyImageToBuffer.comp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/vulkan/shaders/src/CopyImageToBuffer.comp.json -FILE: ../../../flutter/third_party/angle/src/libGLESv2/egl_context_lock_autogen.h -FILE: ../../../flutter/third_party/angle/src/libGLESv2/egl_context_lock_impl.h ----------------------------------------------------------------------------------------------------- -Copyright 2023 The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: re2 -ORIGIN: ../../../flutter/third_party/re2/re2/bitmap256.cc + ../../../flutter/third_party/re2/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/re2/re2/bitmap256.cc ----------------------------------------------------------------------------------------------------- -Copyright 2023 The RE2 Authors. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: angle -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DmaBufImageSiblingEGL.cpp + ../../../flutter/third_party/angle/LICENSE -ORIGIN: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DmaBufImageSiblingEGL.h + ../../../flutter/third_party/angle/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DmaBufImageSiblingEGL.cpp -FILE: ../../../flutter/third_party/angle/src/libANGLE/renderer/gl/egl/DmaBufImageSiblingEGL.h ----------------------------------------------------------------------------------------------------- -Copyright The ANGLE Project Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc. - Ltd., nor the names of their contributors may be used to endorse - or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer.h ----------------------------------------------------------------------------------------------------- -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2004,2007,2009 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer.hh ----------------------------------------------------------------------------------------------------- -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2004,2007,2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout.cc ----------------------------------------------------------------------------------------------------- -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2006 Behdad Esfahbod -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-atomic.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-mutex.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-object.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-atomic.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-mutex.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-object.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007 Chris Wilson -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout.h ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009 Red Hat, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GDEF/GDEF.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-gdef-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GDEF/GDEF.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-gdef-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2010,2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Layout/Common/Coverage.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Layout/Common/CoverageFormat1.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Layout/Common/RangeRecord.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Layout/types.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-common.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/Common/Coverage.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/Common/CoverageFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/Common/RangeRecord.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/types.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-common.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2010,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-common.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-common.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-open-file.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-open-file.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-face.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-face.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-face-table-list.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-face-table-list.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. -Copyright © 2019, Facebook Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/main.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/main.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2018,2019,2020 Ebrahim Byagowi -Copyright © 2018 Khaled Hosny - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-gsubgpos.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-gsubgpos.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2010,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-gpos-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-gsub-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-gpos-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-gsub-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2010,2012,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-open-type.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-open-type.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-dispatch.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-machinery.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-sanitize.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-dispatch.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-machinery.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-sanitize.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012,2018 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-serialize.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-serialize.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012,2018 Google, Inc. -Copyright © 2019 Facebook, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: swiftshader -ORIGIN: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-client-core.h -ORIGIN: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-client.h -ORIGIN: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-util.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-client-core.h -FILE: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-client.h -FILE: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-util.h ----------------------------------------------------------------------------------------------------- -Copyright © 2008 Kristian Høgsberg - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: swiftshader -ORIGIN: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-client-protocol.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-client-protocol.h ----------------------------------------------------------------------------------------------------- -Copyright © 2008-2011 Kristian Høgsberg -Copyright © 2010-2011 Intel Corporation -Copyright © 2012-2013 Collabora, Ltd. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation files -(the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-blob.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-face.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-font.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-blob.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-face.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-font.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb.h ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-icu.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-icu.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2009 Keith Stribley -Copyright © 2011 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ft.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ft.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2009 Keith Stribley -Copyright © 2015 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-unicode.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-unicode.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-unicode.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-unicode.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Codethink Limited -Copyright © 2010,2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-unicode.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-unicode.h ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Codethink Limited -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-face.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-font.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-glib.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-glib.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-icu.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-tag.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-face.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-font.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-glib.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-glib.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-icu.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-tag.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-face-builder.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-face.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-font.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shape.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shape.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-face-builder.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-face.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-font.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shape.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shape.h ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ft.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ft.h ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2015 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-blob.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-blob.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2018 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-blob.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-blob.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2009 Red Hat, Inc. -Copyright © 2018 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-map.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-map.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2012,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-map.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-map.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-map.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-map.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-common.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-common.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2010 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-head-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-head-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2010 Red Hat, Inc. -Copyright © 2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-gpos-size-params.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-gsub-get-alternates.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-gsub-would-substitute.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/test-gpos-size-params.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-gsub-get-alternates.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-gsub-would-substitute.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2010,2011 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2010,2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-buffer-serialize.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/test-buffer-serialize.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2010,2011,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-default.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-hebrew.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-thai.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-default.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-hebrew.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-thai.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2010,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-fallback-shape.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-gobject-structs.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-uniscribe.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-version.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-version.h.in -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-shape.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-fallback-shape.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-gobject-structs.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-uniscribe.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-version.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-version.h.in -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-shape.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2011 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-graphite2.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-graphite2.h ----------------------------------------------------------------------------------------------------- -Copyright © 2011 Martin Hosken -Copyright © 2011 SIL International - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-graphite2.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-graphite2.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2011 Martin Hosken -Copyright © 2011 SIL International -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/name/name.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-hhea-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-hmtx-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-maxp-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-name-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape-fallback.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape-normalize.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic-machine.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic-machine.rl -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-khmer-machine.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-khmer-machine.rl -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-khmer.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-myanmar-machine.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-myanmar-machine.rl -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/OT/name/name.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-hhea-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-hmtx-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-maxp-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-name-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape-fallback.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape-normalize.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic-machine.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic-machine.rl -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-khmer-machine.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-khmer-machine.rl -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-khmer.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-myanmar-machine.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-myanmar-machine.rl ----------------------------------------------------------------------------------------------------- -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-os2-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-os2-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2011,2012 Google, Inc. -Copyright © 2018 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-myanmar.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-uniscribe.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-myanmar.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-uniscribe.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2011,2012,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ms-feature-ranges.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ms-feature-ranges.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2011,2012,2013 Google, Inc. -Copyright © 2021 Khaled Hosny - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-utf.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-utf.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2011,2012,2014 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-font.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-font.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2011,2014 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cache.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape-fallback.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape-normalize.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic-fallback.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-set-digest.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-set.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-set.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shape-plan.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shape-plan.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shaper-impl.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shaper-list.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shaper.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shaper.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cache.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape-fallback.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape-normalize.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic-fallback.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-set-digest.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-set.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-set.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shape-plan.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shape-plan.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shaper-impl.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shaper-list.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shaper.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shaper.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-coretext.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-coretext.h ----------------------------------------------------------------------------------------------------- -Copyright © 2012 Mozilla Foundation. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: swiftshader -ORIGIN: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-version.h -TYPE: LicenseType.mit -FILE: ../../../flutter/third_party/swiftshader/include/Wayland/wayland-version.h ----------------------------------------------------------------------------------------------------- -Copyright © 2012 Intel Corporation - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer-serialize.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer-serialize.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2012,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-coretext-shape.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-coretext.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-coretext.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-coretext-shape.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-coretext.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-coretext.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2012,2013 Mozilla Foundation. -Copyright © 2012,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-bit-page.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-bit-set-invertible.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-bit-set.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-set.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-bit-page.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-bit-set-invertible.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-bit-set.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-set.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2012,2017 Google, Inc. -Copyright © 2021 Behdad Esfahbod - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-shape-plan.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-shape-plan.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2012,2018 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-json.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-json.rl -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-text-glyphs.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-text-glyphs.rl -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-text-unicode.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-text-unicode.rl -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-deprecated.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-jstf-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-hangul.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-json.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-json.rl -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-text-glyphs.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-text-glyphs.rl -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-text-unicode.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer-deserialize-text-unicode.rl -FILE: ../../../flutter/third_party/harfbuzz/src/hb-deprecated.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-jstf-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-hangul.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shape.h ----------------------------------------------------------------------------------------------------- -Copyright © 2013 Red Hat, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-cmap-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-font.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic-win1256.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-cmap-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-font.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic-win1256.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2014 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-glyf-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-glyf-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2015 Google, Inc. -Copyright © 2019 Adobe Inc. -Copyright © 2019 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-use-machine.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-use-machine.rl -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-use.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-use-machine.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-use-machine.rl -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-use.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2015 Mozilla Foundation. -Copyright © 2015 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-directwrite.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-directwrite.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-directwrite.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-directwrite.h ----------------------------------------------------------------------------------------------------- -Copyright © 2015-2019 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-base-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-layout-base-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2016 Elie Roux -Copyright © 2018 Google, Inc. -Copyright © 2018-2019 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Color/CBDT/CBDT.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-post-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Color/CBDT/CBDT.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-post-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2016 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Color/CPAL/CPAL.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-color.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Color/CPAL/CPAL.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-color.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2016 Google, Inc. -Copyright © 2018 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-color.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-color.h ----------------------------------------------------------------------------------------------------- -Copyright © 2016 Google, Inc. -Copyright © 2018 Khaled Hosny -Copyright © 2018 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-math-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-math.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-math.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-math-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-math.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-math.h ----------------------------------------------------------------------------------------------------- -Copyright © 2016 Igalia S.L. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-common.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-morx-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-debug.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-kern.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-kern-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-post-macroman.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-avar-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-fvar-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-hvar-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-mvar-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-string-array.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-morx-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-debug.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-kern.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-kern-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-post-macroman.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-avar-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-fvar-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-hvar-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-mvar-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-string-array.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2017 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2017 Google, Inc. -Copyright © 2018 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-algs.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-algs.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2017 Google, Inc. -Copyright © 2019 Facebook, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-vector.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-vector.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2017,2018 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Color/svg/svg.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-ankr-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-bsln-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-feat-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-just-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-ltag-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-gasp-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-metrics.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-metrics.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-stat-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Color/svg/svg.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-ankr-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-bsln-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-feat-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-just-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-ltag-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-gasp-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-metrics.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-metrics.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-stat-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2018 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-kerx-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-trak-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-kerx-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-trak-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2018 Ebrahim Byagowi -Copyright © 2018 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Color/COLR/COLR.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Color/COLR/colrv1-closure.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/OT/Color/sbix/sbix.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Color/COLR/COLR.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Color/COLR/colrv1-closure.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Color/sbix/sbix.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2018 Ebrahim Byagowi -Copyright © 2020 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-name.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-name.h ----------------------------------------------------------------------------------------------------- -Copyright © 2018 Ebrahim Byagowi. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-map.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-array.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-map.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-map.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-map.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-meta.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-null.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-deprecated.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-face.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-hdmx-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-name-language-static.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-name-language.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-name.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-os2-unicode-ranges.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-vowel-constraints.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-static.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-input.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-input.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-plan.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-plan.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-iter.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-ot-name.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-unicode-ranges.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-map.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-array.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-map.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-map.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-map.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-meta.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-null.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-deprecated.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-face.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-hdmx-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-name-language-static.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-name-language.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-name.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-os2-unicode-ranges.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-vowel-constraints.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-static.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-input.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-input.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-plan.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-plan.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset.hh -FILE: ../../../flutter/third_party/harfbuzz/src/test-iter.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-ot-name.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-unicode-ranges.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2018 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-iter.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-iter.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2018 Google, Inc. -Copyright © 2019 Facebook, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-plan-member-list.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-plan-member-list.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2018 Google, Inc. -Copyright © 2023 Behdad Esfahbod - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cff-interp-common.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cff-interp-cs-common.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cff-interp-dict-common.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cff1-interp-cs.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cff2-interp-cs.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff-common.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff1-table.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff1-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff2-table.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff2-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-vorg-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-cff-common.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-cff-common.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-cff1.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-cff2.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cff-interp-common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cff-interp-cs-common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cff-interp-dict-common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cff1-interp-cs.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cff2-interp-cs.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff-common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff1-table.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff1-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff2-table.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff2-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-vorg-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-cff-common.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-cff-common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-cff1.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-cff2.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2018 Adobe Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-metrics.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-metrics.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2018-2019 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-gvar-table.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-gvar-table.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2019 Adobe Inc. -Copyright © 2019 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff1-std-str.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-bimap.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-ot-glyphname.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-cff1-std-str.hh -FILE: ../../../flutter/third_party/harfbuzz/src/test-bimap.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-ot-glyphname.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2019 Adobe, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-opbd-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-gdi.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-gdi.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-number-parser.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-number-parser.rl -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-number.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-number.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-meta-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-meta.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-meta.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-style.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-style.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-number.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-ot-meta.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-aat-layout-opbd-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-gdi.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-gdi.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-number-parser.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-number-parser.rl -FILE: ../../../flutter/third_party/harfbuzz/src/hb-number.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-number.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-meta-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-meta.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-meta.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-style.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-style.h -FILE: ../../../flutter/third_party/harfbuzz/src/test-number.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-ot-meta.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2019 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-config.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-pool.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-algs.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-config.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-pool.hh -FILE: ../../../flutter/third_party/harfbuzz/src/test-algs.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2019 Facebook, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-bimap.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-bimap.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2019 Adobe Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-draw.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-draw.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-draw.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-draw.h ----------------------------------------------------------------------------------------------------- -Copyright © 2019-2020 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/failing-alloc.c -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-draw.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/failing-alloc.c -FILE: ../../../flutter/third_party/harfbuzz/src/hb-draw.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2020 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-priority-queue.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-repacker.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-array.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-item-varstore.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-priority-queue.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-repacker.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-tuple-varstore.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-priority-queue.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-repacker.hh -FILE: ../../../flutter/third_party/harfbuzz/src/test-array.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-item-varstore.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-priority-queue.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-repacker.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-tuple-varstore.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2020 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-map.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-set.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-vector.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/test-map.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-set.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-vector.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2021 Behdad Esfahbod - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-syllabic.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-syllabic.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-syllabic.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-syllabic.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2021 Behdad Esfahbod. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-post-table-v2subset.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-common.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-post-table-v2subset.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-common.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2021 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-buffer-verify.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ft-colr.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-limits.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-multimap.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-machinery.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-multimap.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-serialize.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-buffer-verify.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ft-colr.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-limits.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-multimap.hh -FILE: ../../../flutter/third_party/harfbuzz/src/test-machinery.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-multimap.cc -FILE: ../../../flutter/third_party/harfbuzz/src/test-serialize.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2022 Behdad Esfahbod - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/classdef-graph.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/coverage-graph.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/graph.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/gsubgpos-context.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/gsubgpos-context.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/gsubgpos-graph.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/markbasepos-graph.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/pairpos-graph.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/serialize.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/split-helpers.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/graph/test-classdef-graph.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-accelerator.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-serialize.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-serialize.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/graph/classdef-graph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/coverage-graph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/graph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/gsubgpos-context.cc -FILE: ../../../flutter/third_party/harfbuzz/src/graph/gsubgpos-context.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/gsubgpos-graph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/markbasepos-graph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/pairpos-graph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/serialize.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/split-helpers.hh -FILE: ../../../flutter/third_party/harfbuzz/src/graph/test-classdef-graph.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-accelerator.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-serialize.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-serialize.h ----------------------------------------------------------------------------------------------------- -Copyright © 2022 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cairo-utils.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cairo-utils.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2022 Red Hat, Inc - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cairo-utils.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cairo-utils.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2022 Red Hat, Inc -Copyright © 2021, 2022 Black Foundry - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cairo.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cairo.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2022 Red Hat, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cplusplus.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-geometry.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-paint-extents.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-paint-extents.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cplusplus.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-geometry.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-paint-extents.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-paint-extents.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2022 Behdad Esfahbod - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-paint.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-paint.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-paint.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-paint.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-paint.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-paint.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2022 Matthias Clasen - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-cairo.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-features.h.in -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-cairo.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-features.h.in ----------------------------------------------------------------------------------------------------- -Copyright © 2022 Red Hat, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-outline.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-instancer-solver.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-instancer-solver.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-blob.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-buffer.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-common.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-face.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-font.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-list.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-shape.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api.h -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-outline.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-instancer-solver.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-instancer-solver.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-blob.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-buffer.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-face.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-font.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-list.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api-shape.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api.h -FILE: ../../../flutter/third_party/harfbuzz/src/hb-wasm-api.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2023 Behdad Esfahbod - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-outline.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-outline.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2023 Behdad Esfahbod -Copyright © 1999 David Turner -Copyright © 2005 Werner Lemberg -Copyright © 2013-2015 Alexei Podtelezhnikov - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-cvar-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-subset-instancer-solver.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-cvar-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/test-subset-instancer-solver.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2023 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-cff.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/test-cff.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2024 David Corbett - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-coretext-font.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-varc-table.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-instancer-iup.cc -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-subset-instancer-iup.hh -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-coretext-font.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-var-varc-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-instancer-iup.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-subset-instancer-iup.hh ----------------------------------------------------------------------------------------------------- -Copyright © 2024 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-directwrite-font.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-directwrite-font.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2025 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/src/hb-decycler.hh -ORIGIN: ../../../flutter/third_party/harfbuzz/src/test-decycler.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/src/hb-decycler.hh -FILE: ../../../flutter/third_party/harfbuzz/src/test-decycler.cc ----------------------------------------------------------------------------------------------------- -Copyright © 2025 Behdad Esfahbod - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: glslang -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/SpirvIntrinsics.h -ORIGIN: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/SpirvIntrinsics.cpp -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/Include/SpirvIntrinsics.h -FILE: ../../../flutter/third_party/vulkan-deps/glslang/src/glslang/MachineIndependent/SpirvIntrinsics.cpp ----------------------------------------------------------------------------------------------------- -Copyright(C) 2021 Advanced Micro Devices, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/harfbuzz/COPYING -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/harfbuzz/.ci/requirements-fonttools.in -FILE: ../../../flutter/third_party/harfbuzz/.ci/requirements-fonttools.txt -FILE: ../../../flutter/third_party/harfbuzz/.ci/requirements.in -FILE: ../../../flutter/third_party/harfbuzz/.ci/win32-cross-file.txt -FILE: ../../../flutter/third_party/harfbuzz/.ci/win64-cross-file.txt -FILE: ../../../flutter/third_party/harfbuzz/.circleci/config.yml -FILE: ../../../flutter/third_party/harfbuzz/.codecov.yml -FILE: ../../../flutter/third_party/harfbuzz/harfbuzz.doap -FILE: ../../../flutter/third_party/harfbuzz/meson_options.txt -FILE: ../../../flutter/third_party/harfbuzz/src/ArabicPUASimplified.txt -FILE: ../../../flutter/third_party/harfbuzz/src/ArabicPUATraditional.txt -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/Anchor.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/AnchorFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/AnchorFormat2.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/AnchorFormat3.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/AnchorMatrix.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/ChainContextPos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/Common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/ContextPos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/CursivePos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/CursivePosFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/ExtensionPos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/GPOS.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/LigatureArray.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/MarkArray.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/MarkBasePos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/MarkBasePosFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/MarkLigPos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/MarkLigPosFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/MarkMarkPosFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/MarkRecord.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/PairPos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/PairPosFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/PairPosFormat2.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/PairSet.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/PairValueRecord.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/PosLookup.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/PosLookupSubTable.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/SinglePos.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat2.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GPOS/ValueFormat.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/AlternateSet.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/AlternateSubst.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/AlternateSubstFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/ChainContextSubst.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/Common.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/ContextSubst.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/ExtensionSubst.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/GSUB.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/Ligature.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/LigatureSet.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/LigatureSubst.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/LigatureSubstFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/MultipleSubst.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/MultipleSubstFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/Sequence.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/SingleSubst.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat1.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat2.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/SubstLookup.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Layout/GSUB/SubstLookupSubTable.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Var/VARC/VARC.cc -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Var/VARC/VARC.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/Var/VARC/coord-setter.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/CompositeGlyph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/Glyph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/GlyphHeader.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/SimpleGlyph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/SubsetGlyph.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/composite-iter.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/glyf-helpers.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/glyf.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/loca.hh -FILE: ../../../flutter/third_party/harfbuzz/src/OT/glyf/path-builder.hh -FILE: ../../../flutter/third_party/harfbuzz/src/fontations/Cargo.lock -FILE: ../../../flutter/third_party/harfbuzz/src/fontations/Cargo.toml -FILE: ../../../flutter/third_party/harfbuzz/src/harfbuzz-cairo.pc.in -FILE: ../../../flutter/third_party/harfbuzz/src/harfbuzz-config.cmake.in -FILE: ../../../flutter/third_party/harfbuzz/src/harfbuzz-gobject.pc.in -FILE: ../../../flutter/third_party/harfbuzz/src/harfbuzz-icu.pc.in -FILE: ../../../flutter/third_party/harfbuzz/src/harfbuzz-subset.cc -FILE: ../../../flutter/third_party/harfbuzz/src/harfbuzz-subset.pc.in -FILE: ../../../flutter/third_party/harfbuzz/src/harfbuzz.cc -FILE: ../../../flutter/third_party/harfbuzz/src/harfbuzz.pc.in -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic-joining-list.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic-pua.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-arabic-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-indic-table.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-use-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-shaper-vowel-constraints.cc -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ot-tag-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/hb-ucd-table.hh -FILE: ../../../flutter/third_party/harfbuzz/src/test-use-table.cc -FILE: ../../../flutter/third_party/harfbuzz/src/wasm/graphite/shape.cc -FILE: ../../../flutter/third_party/harfbuzz/src/wasm/rust/harfbuzz-wasm/Cargo.toml -FILE: ../../../flutter/third_party/harfbuzz/src/wasm/sample/c/shape-fallback.cc -FILE: ../../../flutter/third_party/harfbuzz/src/wasm/sample/c/shape-ot.cc -FILE: ../../../flutter/third_party/harfbuzz/src/wasm/sample/c/test.ttf -FILE: ../../../flutter/third_party/harfbuzz/src/wasm/sample/rust/hello-wasm/Cargo.toml -FILE: ../../../flutter/third_party/harfbuzz/src/wasm/sample/rust/hello-wasm/src/lib.rs -FILE: ../../../flutter/third_party/harfbuzz/subprojects/cairo.wrap -FILE: ../../../flutter/third_party/harfbuzz/subprojects/freetype2.wrap -FILE: ../../../flutter/third_party/harfbuzz/subprojects/glib.wrap -FILE: ../../../flutter/third_party/harfbuzz/subprojects/google-benchmark.wrap -FILE: ../../../flutter/third_party/harfbuzz/subprojects/libffi.wrap -FILE: ../../../flutter/third_party/harfbuzz/subprojects/ragel.wrap -FILE: ../../../flutter/third_party/harfbuzz/xkcd.png ----------------------------------------------------------------------------------------------------- -HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. -For parts of HarfBuzz that are licensed under different licenses see individual -files names COPYING in subdirectories where applicable. - -Copyright © 2010-2022 Google, Inc. -Copyright © 2015-2020 Ebrahim Byagowi -Copyright © 2019,2020 Facebook, Inc. -Copyright © 2012,2015 Mozilla Foundation -Copyright © 2011 Codethink Limited -Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) -Copyright © 2009 Keith Stribley -Copyright © 2011 Martin Hosken and SIL International -Copyright © 2007 Chris Wilson -Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod -Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. -Copyright © 1998-2005 David Turner and Werner Lemberg -Copyright © 2016 Igalia S.L. -Copyright © 2022 Matthias Clasen -Copyright © 2018,2021 Khaled Hosny -Copyright © 2018,2019,2020 Adobe, Inc -Copyright © 2013-2015 Alexei Podtelezhnikov - -For full copyright notices consult the individual files in the package. - - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -==================================================================================================== - -==================================================================================================== -LIBRARY: engine -ORIGIN: ../../../flutter/runtime/test_font_data.cc -TYPE: LicenseType.unknown -FILE: ../../../flutter/runtime/test_font_data.cc ----------------------------------------------------------------------------------------------------- -License for the Ahem font embedded below is from: -https://www.w3.org/Style/CSS/Test/Fonts/Ahem/COPYING - -The Ahem font in this directory belongs to the public domain. In -jurisdictions that do not recognize public domain ownership of these -files, the following Creative Commons Zero declaration applies: - - - -which is quoted below: - - The person who has associated a work with this document (the "Work") - affirms that he or she (the "Affirmer") is the/an author or owner of - the Work. The Work may be any work of authorship, including a - database. - - The Affirmer hereby fully, permanently and irrevocably waives and - relinquishes all of her or his copyright and related or neighboring - legal rights in the Work available under any federal or state law, - treaty or contract, including but not limited to moral rights, - publicity and privacy rights, rights protecting against unfair - competition and any rights protecting the extraction, dissemination - and reuse of data, whether such rights are present or future, vested - or contingent (the "Waiver"). The Affirmer makes the Waiver for the - benefit of the public at large and to the detriment of the Affirmer's - heirs or successors. - - The Affirmer understands and intends that the Waiver has the effect - of eliminating and entirely removing from the Affirmer's control all - the copyright and related or neighboring legal rights previously held - by the Affirmer in the Work, to that extent making the Work freely - available to the public for any and all uses and purposes without - restriction of any kind, including commercial use and uses in media - and formats or by methods that have not yet been invented or - conceived. Should the Waiver for any reason be judged legally - ineffective in any jurisdiction, the Affirmer hereby grants a free, - full, permanent, irrevocable, nonexclusive and worldwide license for - all her or his copyright and related or neighboring legal rights in - the Work. -==================================================================================================== - -==================================================================================================== -LIBRARY: fiat -ORIGIN: ../../../flutter/third_party/boringssl/src/third_party/fiat/LICENSE -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/asm/fiat_curve25519_adx_mul.S -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/asm/fiat_curve25519_adx_square.S -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/asm/fiat_p256_adx_mul.S -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/asm/fiat_p256_adx_sqr.S -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/bedrock_polyfill_platform.c.inc -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/bedrock_unverified_bareminimum.c.inc -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/bedrock_unverified_platform.c.inc -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/curve25519_32.h -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/curve25519_64.h -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/curve25519_64_adx.h -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/curve25519_64_msvc.h -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/p256_32.h -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/p256_64.h -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/p256_64_msvc.h -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/p256_field.c.inc -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/p256_field_32.br.c.inc -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/p256_field_64.br.c.inc -FILE: ../../../flutter/third_party/boringssl/src/third_party/fiat/p256_point.br.c.inc ----------------------------------------------------------------------------------------------------- -The Apache License, Version 2.0 (Apache-2.0) - -Copyright 2015-2020 the fiat-crypto authors (see the AUTHORS file) - -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 - - http://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 -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/docs/FTL.TXT -TYPE: LicenseType.freetype -FILE: ../../../flutter/third_party/freetype2/devel/ft2build.h -FILE: ../../../flutter/third_party/freetype2/devel/ftoption.h -FILE: ../../../flutter/third_party/freetype2/include/freetype-flutter-config/freetype/config/public-macros.h -FILE: ../../../flutter/third_party/freetype2/include/freetype-flutter-config/ftmodule.h -FILE: ../../../flutter/third_party/freetype2/include/freetype-flutter-config/ftoption.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/config/ftconfig.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/config/ftheader.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/config/ftmodule.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/config/ftoption.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/config/ftstdlib.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/config/integer-types.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/config/mac-support.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/config/public-macros.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/freetype.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftadvanc.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftbbox.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftbdf.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftbitmap.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftbzip2.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftcache.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftchapters.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftcid.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftcolor.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftdriver.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/fterrdef.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/fterrors.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftfntfmt.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftgasp.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftglyph.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftgxval.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftgzip.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftimage.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftincrem.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftlcdfil.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftlist.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftlogging.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftlzw.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftmac.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftmm.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftmodapi.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftmoderr.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftotval.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftoutln.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftparams.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftpfr.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftrender.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftsizes.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftsnames.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftstroke.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftsynth.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftsystem.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/fttrigon.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/fttypes.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ftwinfnt.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/autohint.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/cffotypes.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/cfftypes.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/compiler-macros.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftcalc.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftdebug.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftdrv.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftgloadr.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftmemory.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftobjs.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftpsprop.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftrfork.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftserv.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftstream.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/fttrace.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/ftvalid.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/psaux.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/pshints.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svbdf.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svcfftl.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svcid.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svfntfmt.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svgldict.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svgxval.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svkern.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svmetric.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svmm.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svotval.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svpfr.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svpostnm.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svprop.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svpscmap.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svpsinfo.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svsfnt.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svttcmap.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svtteng.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svttglyf.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/services/svwinfnt.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/sfnt.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/svginterface.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/t1types.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/tttypes.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/internal/wofftypes.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/otsvg.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/t1tables.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/ttnameid.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/tttables.h -FILE: ../../../flutter/third_party/freetype2/include/freetype/tttags.h -FILE: ../../../flutter/third_party/freetype2/include/ft2build.h -FILE: ../../../flutter/third_party/freetype2/meson_options.txt -FILE: ../../../flutter/third_party/freetype2/modules.cfg -FILE: ../../../flutter/third_party/freetype2/src/autofit/afblue.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afblue.cin -FILE: ../../../flutter/third_party/freetype2/src/autofit/afblue.dat -FILE: ../../../flutter/third_party/freetype2/src/autofit/afblue.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afblue.hin -FILE: ../../../flutter/third_party/freetype2/src/autofit/afcjk.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afcjk.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afcover.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afdummy.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afdummy.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/aferrors.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afglobal.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afglobal.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afhints.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afhints.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afindic.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afindic.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/aflatin.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/aflatin.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afloader.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afloader.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afmodule.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afmodule.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afranges.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afranges.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afscript.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afshaper.c -FILE: ../../../flutter/third_party/freetype2/src/autofit/afshaper.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afstyles.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/aftypes.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afws-decl.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/afws-iter.h -FILE: ../../../flutter/third_party/freetype2/src/autofit/autofit.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftadvanc.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftbase.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftbase.h -FILE: ../../../flutter/third_party/freetype2/src/base/ftbbox.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftbdf.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftbitmap.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftcalc.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftcid.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftcolor.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftdbgmem.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftdebug.c -FILE: ../../../flutter/third_party/freetype2/src/base/fterrors.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftfntfmt.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftfstype.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftgasp.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftgloadr.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftglyph.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftgxval.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftinit.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftlcdfil.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftmac.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftmm.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftobjs.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftotval.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftoutln.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftpatent.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftpfr.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftpsprop.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftrfork.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftsnames.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftstream.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftstroke.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftsynth.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftsystem.c -FILE: ../../../flutter/third_party/freetype2/src/base/fttrigon.c -FILE: ../../../flutter/third_party/freetype2/src/base/fttype1.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftutil.c -FILE: ../../../flutter/third_party/freetype2/src/base/ftver.rc -FILE: ../../../flutter/third_party/freetype2/src/base/ftwinfnt.c -FILE: ../../../flutter/third_party/freetype2/src/bzip2/ftbzip2.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcache.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcbasic.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftccache.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftccache.h -FILE: ../../../flutter/third_party/freetype2/src/cache/ftccback.h -FILE: ../../../flutter/third_party/freetype2/src/cache/ftccmap.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcerror.h -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcglyph.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcglyph.h -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcimage.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcimage.h -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcmanag.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcmanag.h -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcmru.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcmru.h -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcsbits.c -FILE: ../../../flutter/third_party/freetype2/src/cache/ftcsbits.h -FILE: ../../../flutter/third_party/freetype2/src/cff/cff.c -FILE: ../../../flutter/third_party/freetype2/src/cff/cffcmap.c -FILE: ../../../flutter/third_party/freetype2/src/cff/cffcmap.h -FILE: ../../../flutter/third_party/freetype2/src/cff/cffdrivr.c -FILE: ../../../flutter/third_party/freetype2/src/cff/cffdrivr.h -FILE: ../../../flutter/third_party/freetype2/src/cff/cfferrs.h -FILE: ../../../flutter/third_party/freetype2/src/cff/cffgload.c -FILE: ../../../flutter/third_party/freetype2/src/cff/cffgload.h -FILE: ../../../flutter/third_party/freetype2/src/cff/cffload.c -FILE: ../../../flutter/third_party/freetype2/src/cff/cffload.h -FILE: ../../../flutter/third_party/freetype2/src/cff/cffobjs.c -FILE: ../../../flutter/third_party/freetype2/src/cff/cffobjs.h -FILE: ../../../flutter/third_party/freetype2/src/cff/cffparse.c -FILE: ../../../flutter/third_party/freetype2/src/cff/cffparse.h -FILE: ../../../flutter/third_party/freetype2/src/cff/cfftoken.h -FILE: ../../../flutter/third_party/freetype2/src/cid/ciderrs.h -FILE: ../../../flutter/third_party/freetype2/src/cid/cidgload.c -FILE: ../../../flutter/third_party/freetype2/src/cid/cidgload.h -FILE: ../../../flutter/third_party/freetype2/src/cid/cidload.c -FILE: ../../../flutter/third_party/freetype2/src/cid/cidload.h -FILE: ../../../flutter/third_party/freetype2/src/cid/cidobjs.c -FILE: ../../../flutter/third_party/freetype2/src/cid/cidobjs.h -FILE: ../../../flutter/third_party/freetype2/src/cid/cidparse.c -FILE: ../../../flutter/third_party/freetype2/src/cid/cidparse.h -FILE: ../../../flutter/third_party/freetype2/src/cid/cidriver.c -FILE: ../../../flutter/third_party/freetype2/src/cid/cidriver.h -FILE: ../../../flutter/third_party/freetype2/src/cid/cidtoken.h -FILE: ../../../flutter/third_party/freetype2/src/cid/type1cid.c -FILE: ../../../flutter/third_party/freetype2/src/dlg/dlgwrap.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvalid.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvalid.h -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvbsln.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvcommn.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvcommn.h -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxverror.h -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvfeat.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvfeat.h -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvfgen.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvjust.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvkern.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvlcar.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmod.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmod.h -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmort.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmort.h -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmort0.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmort1.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmort2.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmort4.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmort5.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmorx.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmorx.h -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmorx0.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmorx1.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmorx2.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmorx4.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvmorx5.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvopbd.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvprop.c -FILE: ../../../flutter/third_party/freetype2/src/gxvalid/gxvtrak.c -FILE: ../../../flutter/third_party/freetype2/src/gzip/ftgzip.c -FILE: ../../../flutter/third_party/freetype2/src/lzw/ftlzw.c -FILE: ../../../flutter/third_party/freetype2/src/lzw/ftzopen.c -FILE: ../../../flutter/third_party/freetype2/src/lzw/ftzopen.h -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvalid.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvalid.h -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvbase.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvcommn.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvcommn.h -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otverror.h -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvgdef.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvgpos.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvgpos.h -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvgsub.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvjstf.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvmath.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvmod.c -FILE: ../../../flutter/third_party/freetype2/src/otvalid/otvmod.h -FILE: ../../../flutter/third_party/freetype2/src/pcf/pcferror.h -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfr.c -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrcmap.c -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrcmap.h -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrdrivr.c -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrdrivr.h -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrerror.h -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrgload.c -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrgload.h -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrload.c -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrload.h -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrobjs.c -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrobjs.h -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrsbit.c -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrsbit.h -FILE: ../../../flutter/third_party/freetype2/src/pfr/pfrtypes.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/afmparse.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/afmparse.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/cffdecode.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/cffdecode.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psarrst.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psarrst.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psaux.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psauxerr.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psauxmod.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psauxmod.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psblues.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psblues.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psconv.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psconv.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/pserror.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/pserror.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psfixed.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psfont.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psfont.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psft.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psft.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psglue.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/pshints.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/pshints.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psintrp.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psintrp.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psobjs.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psobjs.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psread.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psread.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/psstack.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/psstack.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/pstypes.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/t1cmap.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/t1cmap.h -FILE: ../../../flutter/third_party/freetype2/src/psaux/t1decode.c -FILE: ../../../flutter/third_party/freetype2/src/psaux/t1decode.h -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshalgo.c -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshalgo.h -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshglob.c -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshglob.h -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshinter.c -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshmod.c -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshmod.h -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshnterr.h -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshrec.c -FILE: ../../../flutter/third_party/freetype2/src/pshinter/pshrec.h -FILE: ../../../flutter/third_party/freetype2/src/psnames/psmodule.c -FILE: ../../../flutter/third_party/freetype2/src/psnames/psmodule.h -FILE: ../../../flutter/third_party/freetype2/src/psnames/psnamerr.h -FILE: ../../../flutter/third_party/freetype2/src/psnames/psnames.c -FILE: ../../../flutter/third_party/freetype2/src/psnames/pstables.h -FILE: ../../../flutter/third_party/freetype2/src/raster/ftmisc.h -FILE: ../../../flutter/third_party/freetype2/src/raster/ftraster.c -FILE: ../../../flutter/third_party/freetype2/src/raster/ftraster.h -FILE: ../../../flutter/third_party/freetype2/src/raster/ftrend1.c -FILE: ../../../flutter/third_party/freetype2/src/raster/ftrend1.h -FILE: ../../../flutter/third_party/freetype2/src/raster/raster.c -FILE: ../../../flutter/third_party/freetype2/src/raster/rasterrs.h -FILE: ../../../flutter/third_party/freetype2/src/sdf/ftbsdf.c -FILE: ../../../flutter/third_party/freetype2/src/sdf/ftsdf.c -FILE: ../../../flutter/third_party/freetype2/src/sdf/ftsdf.h -FILE: ../../../flutter/third_party/freetype2/src/sdf/ftsdfcommon.c -FILE: ../../../flutter/third_party/freetype2/src/sdf/ftsdfcommon.h -FILE: ../../../flutter/third_party/freetype2/src/sdf/ftsdferrs.h -FILE: ../../../flutter/third_party/freetype2/src/sdf/ftsdfrend.c -FILE: ../../../flutter/third_party/freetype2/src/sdf/ftsdfrend.h -FILE: ../../../flutter/third_party/freetype2/src/sdf/sdf.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/pngshim.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/pngshim.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfdriver.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfdriver.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sferrors.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfnt.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfobjs.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfobjs.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfwoff.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfwoff.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfwoff2.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/sfwoff2.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttbdf.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttbdf.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttcmap.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttcmap.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttcmapc.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttcolr.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttcolr.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttcpal.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttcpal.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttkern.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttkern.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttload.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttload.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttmtx.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttmtx.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttpost.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttpost.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttsbit.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttsbit.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttsvg.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/ttsvg.h -FILE: ../../../flutter/third_party/freetype2/src/sfnt/woff2tags.c -FILE: ../../../flutter/third_party/freetype2/src/sfnt/woff2tags.h -FILE: ../../../flutter/third_party/freetype2/src/smooth/ftgrays.c -FILE: ../../../flutter/third_party/freetype2/src/smooth/ftgrays.h -FILE: ../../../flutter/third_party/freetype2/src/smooth/ftsmerrs.h -FILE: ../../../flutter/third_party/freetype2/src/smooth/ftsmooth.c -FILE: ../../../flutter/third_party/freetype2/src/smooth/ftsmooth.h -FILE: ../../../flutter/third_party/freetype2/src/smooth/smooth.c -FILE: ../../../flutter/third_party/freetype2/src/svg/ftsvg.c -FILE: ../../../flutter/third_party/freetype2/src/svg/ftsvg.h -FILE: ../../../flutter/third_party/freetype2/src/svg/svg.c -FILE: ../../../flutter/third_party/freetype2/src/svg/svgtypes.h -FILE: ../../../flutter/third_party/freetype2/src/truetype/truetype.c -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttdriver.c -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttdriver.h -FILE: ../../../flutter/third_party/freetype2/src/truetype/tterrors.h -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttgload.c -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttgload.h -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttgxvar.c -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttgxvar.h -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttinterp.c -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttinterp.h -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttobjs.c -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttobjs.h -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttpload.c -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttpload.h -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttsubpix.c -FILE: ../../../flutter/third_party/freetype2/src/truetype/ttsubpix.h -FILE: ../../../flutter/third_party/freetype2/src/type1/t1afm.c -FILE: ../../../flutter/third_party/freetype2/src/type1/t1afm.h -FILE: ../../../flutter/third_party/freetype2/src/type1/t1driver.c -FILE: ../../../flutter/third_party/freetype2/src/type1/t1driver.h -FILE: ../../../flutter/third_party/freetype2/src/type1/t1errors.h -FILE: ../../../flutter/third_party/freetype2/src/type1/t1gload.c -FILE: ../../../flutter/third_party/freetype2/src/type1/t1gload.h -FILE: ../../../flutter/third_party/freetype2/src/type1/t1load.c -FILE: ../../../flutter/third_party/freetype2/src/type1/t1load.h -FILE: ../../../flutter/third_party/freetype2/src/type1/t1objs.c -FILE: ../../../flutter/third_party/freetype2/src/type1/t1objs.h -FILE: ../../../flutter/third_party/freetype2/src/type1/t1parse.c -FILE: ../../../flutter/third_party/freetype2/src/type1/t1parse.h -FILE: ../../../flutter/third_party/freetype2/src/type1/t1tokens.h -FILE: ../../../flutter/third_party/freetype2/src/type1/type1.c -FILE: ../../../flutter/third_party/freetype2/src/type42/t42drivr.c -FILE: ../../../flutter/third_party/freetype2/src/type42/t42drivr.h -FILE: ../../../flutter/third_party/freetype2/src/type42/t42error.h -FILE: ../../../flutter/third_party/freetype2/src/type42/t42objs.c -FILE: ../../../flutter/third_party/freetype2/src/type42/t42objs.h -FILE: ../../../flutter/third_party/freetype2/src/type42/t42parse.c -FILE: ../../../flutter/third_party/freetype2/src/type42/t42parse.h -FILE: ../../../flutter/third_party/freetype2/src/type42/t42types.h -FILE: ../../../flutter/third_party/freetype2/src/type42/type42.c -FILE: ../../../flutter/third_party/freetype2/src/winfonts/fnterrs.h -FILE: ../../../flutter/third_party/freetype2/src/winfonts/winfnt.c -FILE: ../../../flutter/third_party/freetype2/src/winfonts/winfnt.h -FILE: ../../../flutter/third_party/freetype2/subprojects/libpng.wrap -FILE: ../../../flutter/third_party/freetype2/subprojects/zlib.wrap ----------------------------------------------------------------------------------------------------- -The FreeType Project LICENSE ----------------------------- - - 2006-Jan-27 - - Copyright 1996-2002, 2006 by - David Turner, Robert Wilhelm, and Werner Lemberg - - - -Introduction -============ - - The FreeType Project is distributed in several archive packages; - some of them may contain, in addition to the FreeType font engine, - various tools and contributions which rely on, or relate to, the - FreeType Project. - - This license applies to all files found in such packages, and - which do not fall under their own explicit license. The license - affects thus the FreeType font engine, the test programs, - documentation and makefiles, at the very least. - - This license was inspired by the BSD, Artistic, and IJG - (Independent JPEG Group) licenses, which all encourage inclusion - and use of free software in commercial and freeware products - alike. As a consequence, its main points are that: - - o We don't promise that this software works. However, we will be - interested in any kind of bug reports. (`as is' distribution) - - o You can use this software for whatever you want, in parts or - full form, without having to pay us. (`royalty-free' usage) - - o You may not pretend that you wrote this software. If you use - it, or only parts of it, in a program, you must acknowledge - somewhere in your documentation that you have used the - FreeType code. (`credits') - - We specifically permit and encourage the inclusion of this - software, with or without modifications, in commercial products. - We disclaim all warranties covering The FreeType Project and - assume no liability related to The FreeType Project. - - - Finally, many people asked us for a preferred form for a - credit/disclaimer to use in compliance with this license. We thus - encourage you to use the following text: - - """ - Portions of this software are copyright © The FreeType - Project (www.freetype.org). All rights reserved. - """ - - Please replace with the value from the FreeType version you - actually use. - - -Legal Terms -=========== - -0. Definitions --------------- - - Throughout this license, the terms `package', `FreeType Project', - and `FreeType archive' refer to the set of files originally - distributed by the authors (David Turner, Robert Wilhelm, and - Werner Lemberg) as the `FreeType Project', be they named as alpha, - beta or final release. - - `You' refers to the licensee, or person using the project, where - `using' is a generic term including compiling the project's source - code as well as linking it to form a `program' or `executable'. - This program is referred to as `a program using the FreeType - engine'. - - This license applies to all files distributed in the original - FreeType Project, including all source code, binaries and - documentation, unless otherwise stated in the file in its - original, unmodified form as distributed in the original archive. - If you are unsure whether or not a particular file is covered by - this license, you must contact us to verify this. - - The FreeType Project is copyright (C) 1996-2000 by David Turner, - Robert Wilhelm, and Werner Lemberg. All rights reserved except as - specified below. - -1. No Warranty --------------- - - THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO - USE, OF THE FREETYPE PROJECT. - -2. Redistribution ------------------ - - This license grants a worldwide, royalty-free, perpetual and - irrevocable right and license to use, execute, perform, compile, - display, copy, create derivative works of, distribute and - sublicense the FreeType Project (in both source and object code - forms) and derivative works thereof for any purpose; and to - authorize others to exercise some or all of the rights granted - herein, subject to the following conditions: - - o Redistribution of source code must retain this license file - (`FTL.TXT') unaltered; any additions, deletions or changes to - the original files must be clearly indicated in accompanying - documentation. The copyright notices of the unaltered, - original files must be preserved in all copies of source - files. - - o Redistribution in binary form must provide a disclaimer that - states that the software is based in part of the work of the - FreeType Team, in the distribution documentation. We also - encourage you to put an URL to the FreeType web page in your - documentation, though this isn't mandatory. - - These conditions apply to any software derived from or based on - the FreeType Project, not just the unmodified files. If you use - our work, you must acknowledge us. However, no fee need be paid - to us. - -3. Advertising --------------- - - Neither the FreeType authors and contributors nor you shall use - the name of the other for commercial, advertising, or promotional - purposes without specific prior written permission. - - We suggest, but do not require, that you use one or more of the - following phrases to refer to this software in your documentation - or advertising materials: `FreeType Project', `FreeType Engine', - `FreeType library', or `FreeType Distribution'. - - As you have not signed this license, you are not required to - accept it. However, as the FreeType Project is copyrighted - material, only this license, or another one contracted with the - authors, grants you the right to use, distribute, and modify it. - Therefore, by using, distributing, or modifying the FreeType - Project, you indicate that you understand and accept all the terms - of this license. - -4. Contacts ------------ - - There are two mailing lists related to FreeType: - - o freetype@nongnu.org - - Discusses general use and applications of FreeType, as well as - future and wanted additions to the library and distribution. - If you are looking for support, start in this list if you - haven't found anything to help you in the documentation. - - o freetype-devel@nongnu.org - - Discusses bugs, as well as engine internals, design issues, - specific licenses, porting, etc. - - Our home page can be found at - - https://www.freetype.org - - ---- end of FTL.TXT --- -==================================================================================================== - -==================================================================================================== -LIBRARY: rapidjson -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h -ORIGIN: ../../../flutter/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h -FILE: ../../../flutter/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h ----------------------------------------------------------------------------------------------------- -The above software in this distribution may have been modified by -THL A29 Limited ("Tencent Modifications"). -All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. -==================================================================================================== - -==================================================================================================== -LIBRARY: sqlite -ORIGIN: ../../../flutter/third_party/sqlite/LICENSE -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/sqlite/sqlite3.c -FILE: ../../../flutter/third_party/sqlite/sqlite3.h ----------------------------------------------------------------------------------------------------- -The source code for SQLite is in the public domain. No claim of -copyright is made on any part of the core source code. (The -documentation and test code is a different matter - some sections of -documentation and test logic are governed by open-source licenses.) -All contributors to the SQLite core software have signed affidavits -specifically disavowing any copyright interest in the code. This means -that anybody is able to legally do anything they want with the SQLite -source code. - -There are other SQL database engines with liberal licenses that allow -the code to be broadly and freely used. But those other engines are -still governed by copyright law. SQLite is different in that copyright -law simply does not apply. - -The source code files for other SQL database engines typically begin -with a comment describing your legal rights to view and copy that -file. The SQLite source code contains no license since it is not -governed by copyright. Instead of a license, the SQLite source code -offers a blessing: - -May you do good and not evil -May you find forgiveness for yourself and forgive others -May you share freely, never taking more than you give. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/contrib/minizip/unzip.h -ORIGIN: ../../../flutter/third_party/zlib/contrib/minizip/zip.h -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/zlib/contrib/minizip/unzip.h -FILE: ../../../flutter/third_party/zlib/contrib/minizip/zip.h ----------------------------------------------------------------------------------------------------- -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/base/md5.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/freetype2/src/base/md5.h ----------------------------------------------------------------------------------------------------- -This software was written by Alexander Peslyak in 2001. No copyright is -claimed, and the software is hereby placed in the public domain. -In case this attempt to disclaim copyright and place the software in the -public domain is deemed null and void, then the software is -Copyright (c) 2001 Alexander Peslyak and it is hereby released to the -general public under the following terms: - -Redistribution and use in source and binary forms, with or without -modification, are permitted. - -There's ABSOLUTELY NO WARRANTY, express or implied. -==================================================================================================== - -==================================================================================================== -LIBRARY: freetype2 -ORIGIN: ../../../flutter/third_party/freetype2/src/base/md5.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/freetype2/src/base/md5.c ----------------------------------------------------------------------------------------------------- -This software was written by Alexander Peslyak in 2001. No copyright is -claimed, and the software is hereby placed in the public domain. -In case this attempt to disclaim copyright and place the software in the -public domain is deemed null and void, then the software is -Copyright (c) 2001 Alexander Peslyak and it is hereby released to the -general public under the following terms: - -Redistribution and use in source and binary forms, with or without -modification, are permitted. - -There's ABSOLUTELY NO WARRANTY, express or implied. - -(This is a heavily cut-down "BSD license".) -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/LICENSE -TYPE: LicenseType.icu -FILE: ../../../flutter/third_party/icu/android/icudtl.dat -FILE: ../../../flutter/third_party/icu/cast/brkitr.patch -FILE: ../../../flutter/third_party/icu/cast/icudtl.dat -FILE: ../../../flutter/third_party/icu/chromecast_video/icudtl.dat -FILE: ../../../flutter/third_party/icu/chromeos/icudtl.dat -FILE: ../../../flutter/third_party/icu/common/icudtb.dat -FILE: ../../../flutter/third_party/icu/common/icudtl.dat -FILE: ../../../flutter/third_party/icu/flutter/brkitr.patch -FILE: ../../../flutter/third_party/icu/flutter/icudtl.dat -FILE: ../../../flutter/third_party/icu/flutter_desktop/icudtl.dat -FILE: ../../../flutter/third_party/icu/ios/icudtl.dat -FILE: ../../../flutter/third_party/icu/source/data/in/coll/ucadata-implicithan-icu4x.icu -FILE: ../../../flutter/third_party/icu/source/data/in/coll/ucadata-implicithan.icu -FILE: ../../../flutter/third_party/icu/source/data/in/coll/ucadata-unihan-icu4x.icu -FILE: ../../../flutter/third_party/icu/source/data/in/coll/ucadata-unihan.icu -FILE: ../../../flutter/third_party/icu/source/data/in/nfc.nrm -FILE: ../../../flutter/third_party/icu/source/data/in/nfkc.nrm -FILE: ../../../flutter/third_party/icu/source/data/in/nfkc_cf.nrm -FILE: ../../../flutter/third_party/icu/source/data/in/nfkc_scf.nrm -FILE: ../../../flutter/third_party/icu/source/data/in/pnames.icu -FILE: ../../../flutter/third_party/icu/source/data/in/ubidi.icu -FILE: ../../../flutter/third_party/icu/source/data/in/ucase.icu -FILE: ../../../flutter/third_party/icu/source/data/in/uemoji.icu -FILE: ../../../flutter/third_party/icu/source/data/in/ulayout.icu -FILE: ../../../flutter/third_party/icu/source/data/in/unames.icu -FILE: ../../../flutter/third_party/icu/source/data/in/uprops.icu -FILE: ../../../flutter/third_party/icu/source/data/in/uts46.nrm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm866-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-10-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-13-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-14-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-15-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-16-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-2-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-3-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-4-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-5-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-6-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-7-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859-8-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/koi8-r-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/koi8-u-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macintosh-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1250-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1251-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1252-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1253-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1254-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1255-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1256-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1257-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-1258-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-874-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/x-mac-cyrillic-html.ucm -FILE: ../../../flutter/third_party/icu/source/data/unidata/UnicodeData.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/confusablesWholeScript.txt -FILE: ../../../flutter/third_party/icu/source/extra/scrptrun/srtest.dsp -FILE: ../../../flutter/third_party/icu/source/extra/scrptrun/srtest.dsw -FILE: ../../../flutter/third_party/icu/source/i18n/decContext.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/decContext.h -FILE: ../../../flutter/third_party/icu/source/i18n/decNumber.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/decNumber.h -FILE: ../../../flutter/third_party/icu/source/i18n/decNumberLocal.h -FILE: ../../../flutter/third_party/icu/source/tools/icuinfo/plugin_sources.txt -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/asctime.c -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/ialloc.c -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/localtime.c -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/private.h -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/scheck.c -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/tzfile.h -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/zdump.c -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/zic.c -FILE: ../../../flutter/third_party/icu/tzres/metaZones.res -FILE: ../../../flutter/third_party/icu/tzres/timezoneTypes.res -FILE: ../../../flutter/third_party/icu/tzres/zoneinfo64.res -FILE: ../../../flutter/third_party/icu/version.json ----------------------------------------------------------------------------------------------------- -UNICODE LICENSE V3 - -COPYRIGHT AND PERMISSION NOTICE - -Copyright © 2016-2023 Unicode, Inc. - -NOTICE TO USER: Carefully read the following legal agreement. BY -DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR -SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT -DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. - -Third-Party Software Licenses - -This section contains third-party software notices and/or additional -terms for licensed third-party software components included within ICU -libraries. - -ICU License - ICU 1.8.1 to ICU 57.1 - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1995-2016 International Business Machines Corporation and others -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, provided that the above -copyright notice(s) and this permission notice appear in all copies of -the Software and that both the above copyright notice(s) and this -permission notice appear in supporting documentation. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY -SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF -CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, use -or other dealings in this Software without prior written authorization -of the copyright holder. - -All trademarks and registered trademarks mentioned herein are the -property of their respective owners. - -Chinese/Japanese Word Break Dictionary Data (cjdict.txt) - -The Google Chrome software developed by Google is licensed under -the BSD license. Other software included in this distribution is -provided under other licenses, as set forth below. - -The BSD License -http://opensource.org/licenses/bsd-license.php -Copyright (C) 2006-2008, Google Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following -disclaimer in the documentation and/or other materials provided with -the distribution. -Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The word list in cjdict.txt are generated by combining three word lists -listed below with further processing for compound word breaking. The -frequency is generated with an iterative training against Google web -corpora. - -* Libtabe (Chinese) - - https://sourceforge.net/project/?group_id=1519 - - Its license terms and conditions are shown below. - -* IPADIC (Japanese) - - http://chasen.aist-nara.ac.jp/chasen/distribution.html - - Its license terms and conditions are shown below. - -Copyright (c) 1999 TaBE Project. -Copyright (c) 1999 Pai-Hsiang Hsiao. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -. Neither the name of the TaBE Project nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - -Copyright (c) 1999 Computer Systems and Communication Lab, - Institute of Information Science, Academia - Sinica. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -. Neither the name of the Computer Systems and Communication Lab - nor the names of its contributors may be used to endorse or - promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - -Copyright 1996 Chih-Hao Tsai @ Beckman Institute, - University of Illinois -c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 - -Copyright 2000, 2001, 2002, 2003 Nara Institute of Science -and Technology. All Rights Reserved. - -Use, reproduction, and distribution of this software is permitted. -Any copy of this software, whether in its original form or modified, -must include both the above copyright notice and the following -paragraphs. - -Nara Institute of Science and Technology (NAIST), -the copyright holders, disclaims all warranties with regard to this -software, including all implied warranties of merchantability and -fitness, in no event shall NAIST be liable for -any special, indirect or consequential damages or any damages -whatsoever resulting from loss of use, data or profits, whether in an -action of contract, negligence or other tortuous action, arising out -of or in connection with the use or performance of this software. - -A large portion of the dictionary entries -originate from ICOT Free Software. The following conditions for ICOT -Free Software applies to the current dictionary as well. - -Each User may also freely distribute the Program, whether in its -original form or modified, to any third party or parties, PROVIDED -that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear -on, or be attached to, the Program, which is distributed substantially -in the same form as set out herein and that such intended -distribution, if actually made, will neither violate or otherwise -contravene any of the laws and regulations of the countries having -jurisdiction over the User or the intended distribution itself. - -NO WARRANTY - -The program was produced on an experimental basis in the course of the -research and development conducted during the project and is provided -to users as so produced on an experimental basis. Accordingly, the -program is provided without any warranty whatsoever, whether express, -implied, statutory or otherwise. The term "warranty" used herein -includes, but is not limited to, any warranty of the quality, -performance, merchantability and fitness for a particular purpose of -the program and the nonexistence of any infringement or violation of -any right of any third party. - -Each user of the program will agree and understand, and be deemed to -have agreed and understood, that there is no warranty whatsoever for -the program and, accordingly, the entire risk arising from or -otherwise connected with the program is assumed by the user. - -Therefore, neither ICOT, the copyright holder, or any other -organization that participated in or was otherwise related to the -development of the program and their respective officials, directors, -officers and other employees shall be held liable for any and all -damages, including, without limitation, general, special, incidental -and consequential damages, arising out of or otherwise in connection -with the use or inability to use the program or any product, material -or result produced or otherwise obtained by using the program, -regardless of whether they have been advised of, or otherwise had -knowledge of, the possibility of such damages at any time during the -project or thereafter. Each user will be deemed to have agreed to the -foregoing by his or her commencement of use of the program. The term -"use" as used herein includes, but is not limited to, the use, -modification, copying and distribution of the program and the -production of secondary products from the program. - -In the case where the program, whether in its original form or -modified, was distributed or delivered to or received by a user from -any person, organization or entity other than ICOT, unless it makes or -grants independently of ICOT any specific warranty to the user in -writing, such person, organization or entity, will also be exempted -from and not be held liable to the user for any such damages as noted -above as far as the program is concerned. - -Lao Word Break Dictionary Data (laodict.txt) - -Copyright (C) 2016 and later: Unicode, Inc. and others. -License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 2015 International Business Machines Corporation -and others. All Rights Reserved. - -Project: https://github.com/rober42539/lao-dictionary -Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt -License: https://github.com/rober42539/lao-dictionary/LICENSE.txt - (copied below) - -This file is derived from the above dictionary version of Nov 22, 2020 - -Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. Redistributions in binary -form must reproduce the above copyright notice, this list of conditions and -the following disclaimer in the documentation and/or other materials -provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - -Burmese Word Break Dictionary Data (burmesedict.txt) - -Copyright (c) 2014 International Business Machines Corporation -and others. All Rights Reserved. - -This list is part of a project hosted at: - github.com/kanyawtech/myanmar-karen-word-lists - -Copyright (c) 2013, LeRoy Benjamin Sharon -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: Redistributions of source code must retain the above -copyright notice, this list of conditions and the following -disclaimer. Redistributions in binary form must reproduce the -above copyright notice, this list of conditions and the following -disclaimer in the documentation and/or other materials provided -with the distribution. - - Neither the name Myanmar Karen Word Lists, nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -Google double-conversion - -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -File: install-sh (only for ICU4C) - - -Copyright 1991 by the Massachusetts Institute of Technology - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of M.I.T. not be used in advertising or -publicity pertaining to distribution of the software without specific, -written prior permission. M.I.T. makes no representations about the -suitability of this software for any purpose. It is provided "as is" -without express or implied warranty. -==================================================================================================== - -==================================================================================================== -LIBRARY: harfbuzz -LIBRARY: icu -LIBRARY: web_unicode -ORIGIN: http://unicode.org/copyright.html#Exhibit1 referenced by ../../../flutter/third_party/icu/source/data/translit/Hans_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/APIChangeReport.html -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/Doxyfile.in -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/appendable.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/bmpset.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/bmpset.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/brkeng.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/brkeng.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/brkiter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/bytesinkutil.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/bytesinkutil.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/bytestream.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/bytestrie.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/bytestriebuilder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/bytestrieiterator.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/caniter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/capi_helper.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/characterproperties.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/chariter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/charstr.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/charstr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/charstrmap.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cmemory.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cmemory.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/common.rc -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cpputils.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cstr.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cstr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cstring.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cstring.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cwchar.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/cwchar.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/dictbe.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/dictbe.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/dictionarydata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/dictionarydata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/dtintrv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/edits.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/errorcode.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/filteredbrk.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/filterednormalizer2.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/hash.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/icudataver.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/icuplug.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/icuplugimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/loadednormalizer2impl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/localebuilder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/localefallback_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/localematcher.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/localeprioritylist.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/localeprioritylist.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/localsvc.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locavailable.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locbased.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locbased.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locdispnames.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locdistance.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locdistance.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locdspnm.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locid.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/loclikely.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/loclikelysubtags.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/loclikelysubtags.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locmap.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locmap.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locresdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locutil.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/locutil.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/lsr.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/lsr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/lstmbe.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/lstmbe.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/messageimpl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/messagepattern.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/mlbe.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/mlbe.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/msvcres.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/mutex.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/norm2_nfc_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/norm2allmodes.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/normalizer2.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/normalizer2impl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/normalizer2impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/normlzr.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/parsepos.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/patternprops.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/patternprops.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/pluralmap.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/pluralmap.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/propname.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/propname.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/propname_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/propsvec.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/propsvec.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/punycode.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/punycode.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/putil.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/putilimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbi.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbi_cache.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbi_cache.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbidata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbidata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbinode.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbinode.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbirb.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbirb.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbirpt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbirpt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbiscan.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbiscan.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbisetb.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbisetb.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbistbl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbitblb.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/rbbitblb.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/resbund.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/resbund_cnv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/resource.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/resource.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/restrace.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/restrace.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ruleiter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ruleiter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/schriter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/serv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/serv.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/servlk.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/servlkf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/servloc.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/servls.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/servnotf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/servnotf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/servrbf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/servslkf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/sharedobject.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/sharedobject.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/simpleformatter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/sprpimpl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/static_unicode_sets.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/static_unicode_sets.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/stringpiece.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/stringtriebuilder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uarrsort.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uarrsort.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uassert.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubidi.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubidi_props.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubidi_props.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubidi_props_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubidiimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubidiln.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubiditransform.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubidiwrt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubrk.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ubrkimpl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucase.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucase.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucase_props_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucasemap.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucasemap_imp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucasemap_titlecase_brkiter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucat.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uchar.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uchar_props_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucharstrie.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucharstriebuilder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucharstrieiterator.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uchriter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucln.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucln_cmn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucln_cmn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucln_imp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucmndata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucmndata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv2022.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_bld.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_bld.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_cb.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_cnv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_cnv.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_ct.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_err.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_ext.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_ext.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_imp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_io.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_io.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_lmb.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_set.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_u16.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_u32.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_u7.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnv_u8.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvbocu.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvdisp.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvhz.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvisci.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvlat1.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvmbcs.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvmbcs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvscsu.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucnvsel.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucol_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucol_swp.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucol_swp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucptrie.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucptrie_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucurr.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ucurrimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/udata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/udatamem.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/udatamem.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/udataswp.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/udataswp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uelement.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uenum.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uenumimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uhash.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uhash.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uhash_us.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uidna.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uinit.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uinvchar.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uinvchar.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uiter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ulayout_props.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ulist.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ulist.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uloc.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uloc_keytype.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uloc_tag.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ulocale.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ulocbuilder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ulocimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/umapfile.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/umapfile.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/umath.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/umutablecptrie.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/umutex.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/umutex.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unames.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/appendable.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/brkiter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/bytestream.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/bytestrie.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/bytestriebuilder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/caniter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/casemap.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/char16ptr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/chariter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/dbbi.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/docmain.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/dtintrv.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/edits.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/enumset.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/errorcode.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/filteredbrk.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/icudataver.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/icuplug.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/idna.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/localebuilder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/localematcher.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/localpointer.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/locdspnm.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/locid.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/messagepattern.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/normalizer2.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/normlzr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/parseerr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/parsepos.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/platform.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ptypes.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/putil.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/rbbi.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/rep.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/resbund.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/schriter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/simpleformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/std_string.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/strenum.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/stringoptions.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/stringpiece.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/stringtriebuilder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/symtable.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ubidi.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ubiditransform.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ubrk.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucasemap.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucat.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uchar.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucharstrie.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucharstriebuilder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uchriter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uclean.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucnv.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucnv_cb.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucnv_err.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucnvsel.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uconfig.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucpmap.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucptrie.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ucurr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/udata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/udisplaycontext.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uenum.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uidna.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uiter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uldnames.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uloc.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ulocale.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ulocbuilder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/umachine.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/umisc.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/umutablecptrie.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/unifilt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/unifunct.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/unimatch.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uniset.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/unistr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/unorm.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/unorm2.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uobject.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/urename.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/urep.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ures.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uscript.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uset.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/usetiter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ushape.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/usprep.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ustring.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/ustringtrie.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/utext.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/utf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/utf16.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/utf32.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/utf8.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/utf_old.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/utrace.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/utypes.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unicode/uversion.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unifiedcache.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unifiedcache.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unifilt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unifunct.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uniquecharstr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uniset.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uniset_closure.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uniset_props.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unisetspan.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unisetspan.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unistr.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unistr_case.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unistr_case_locale.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unistr_cnv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unistr_props.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unistr_titlecase_brkiter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unistrappender.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unorm.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unormcmp.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/unormimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uobject.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uposixdefs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uprops.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uprops.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ures_cnv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uresbund.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uresdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uresdata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uresimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ureslocs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/usc_impl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/usc_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uscript.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uscript_props.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uset.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uset_imp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uset_props.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/usetiter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ushape.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/usprep.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustack.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustr_cnv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustr_cnv.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustr_imp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustr_titlecase_brkiter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustr_wcs.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustrcase.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustrcase_locale.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustrenum.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustrenum.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustrfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustrfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustring.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/ustrtrns.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utext.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utf_impl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/util.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/util.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/util_props.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utrace.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utracimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utrie.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utrie.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utrie2.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utrie2.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utrie2_builder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utrie2_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utrie_swap.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uts46.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utypeinfo.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/utypes.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uvector.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uvector.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uvectr32.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uvectr32.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uvectr64.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/uvectr64.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/wintz.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/wintz.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/adaboost/jaml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/dictionaries/thaidict.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/en_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/en_US_POSIX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_codepoints_exclusive_model4_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_codepoints_exclusive_model5_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_codepoints_exclusive_model7_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_graphclust_model4_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_graphclust_model5_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_graphclust_model7_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_codepoints_exclusive_model4_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_codepoints_exclusive_model5_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_codepoints_exclusive_model7_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_graphclust_model4_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_graphclust_model5_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_graphclust_model7_heavy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/char.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line_cj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose_cj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose_phrase_cj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal_cj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal_phrase_cj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/line_phrase_cj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/sent.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/sent_el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/title.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/word.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/word_POSIX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/rules/word_fi_sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/brkitr/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/cldr-icu-readme.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/af.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ar_SA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ars.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/as.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/az.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/be.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/bg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/bn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/bo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/br.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/bs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/bs_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ca.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ceb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/cy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/da.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/de_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/dsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/dz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ee.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/en_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/en_US_POSIX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/eo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/et.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/fa_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ff.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ff_Adlm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/fil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/fo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/fr_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/fy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ga.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/gl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/gu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ha.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/haw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/he.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/he_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/hi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/hr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/hsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/hu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/hy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/id.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/id_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ig.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/in.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/in_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/is.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/iw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/iw_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ka.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/kk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/kl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/km.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/kn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/kok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ku.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ky.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/lb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/lij.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/lkt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/lo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/lt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/lv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/mk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/mn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/mo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/mr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ms.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/mt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/nb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/nb_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ne.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/nl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/nn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/no.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/no_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/om.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/or.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/pa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/pa_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/pa_Guru_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/pa_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/pl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ps.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ro.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/se.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sh_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sh_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sh_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/si.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/smn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_Cyrl_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_Cyrl_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_Cyrl_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_Latn_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sr_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/sw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ta.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/te.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/th.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/tk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/to.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/tr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ug.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/uk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/uz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/vi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/wae.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/wo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/xh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/yi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/yo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/yue.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/yue_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/yue_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/yue_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/yue_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_Hans_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_Hant_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_Hant_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zh_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/coll/zu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/af.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/af_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/agq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ak.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar_AE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar_DJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar_KM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar_LB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar_SA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar_SO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ar_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ars.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/as.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/asa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ast.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/az.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/az_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/az_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/az_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/az_Latn_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/be.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bem.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bez.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bgc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bho.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/blo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bo_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/br.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/brx.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bs_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bs_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bs_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/bs_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ca.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ca_FR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ccp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ce.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ceb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/cgg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ckb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/csw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/cv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/cy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/da.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/dav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/de_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/de_LI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/de_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/dje.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/doi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/dsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/dua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/dyo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/dz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ebu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ee.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_150.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_AG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_AI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_AU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_BB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_BI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_BM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_BS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_BW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_CC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_CK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_CX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_CY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_DG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_DM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_FJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_FK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_FM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_GD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_GG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_GI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_GY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_IE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_IM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_IO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_JE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_JM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_KI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_KN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_KY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_LC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_LS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_MS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_MT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_MV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_MW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_NF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_NH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_NR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_NU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_NZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_PG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_PN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_PW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_RH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_SZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_TC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_TK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_TO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_TT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_TV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_VC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_VG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_VU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_WS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_ZM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/en_ZW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/eo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_419.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_AR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_CL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_CR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_CU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_DO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_GT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_HN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_MX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_NI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_PA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_PE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_PR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_PY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_SV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_UY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/es_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/et.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/eu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ewo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fa_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_BF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_Latn_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ff_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fil_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fo_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_BI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_CD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_DJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_DZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_HT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_KM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_SC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_SY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_TN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fr_VU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/fy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ga.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/gd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/gl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/gsw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/gu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/guz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/gv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ha.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ha_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/haw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/he.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/he_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/hi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/hi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/hr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/hr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/hsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/hu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/hy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ia.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/id.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/id_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ie.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ig.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/in.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/in_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/is.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/iw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/iw_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/jgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/jmc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/jv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ka.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kam.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kde.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kea.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kgp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/khq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ki.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kkj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/km.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ks.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ks_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ks_Arab_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ks_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ks_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ksb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ksf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ksh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ku.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kxv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kxv_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kxv_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kxv_Latn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kxv_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/kxv_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ky.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lag.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lij.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lkt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lmo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ln_AO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lrc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/luo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/luy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/lv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mas_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mer.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mfe.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mni.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mni_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mni_Beng_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mni_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ms.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ms_BN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ms_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ms_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/mzn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/naq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nds.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ne.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nl_AW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nl_BQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nl_CW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nl_SR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nl_SX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nmg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nn_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nnh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/no.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/no_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/no_NO_NY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nqo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nus.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/nyn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/oc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/om.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/om_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/or.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/os.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/os_RU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pa_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pa_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pa_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pa_Guru_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pa_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pa_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pcm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/prg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ps.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ps_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_AO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_CV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_PT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_ST.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/pt_TL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/qu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/qu_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/qu_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/raj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/rm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/rn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ro.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ro_MD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/rof.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ru_BY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ru_KG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ru_KZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ru_MD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/rw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/rwk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sah.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/saq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sat.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sat_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sat_Olck.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sat_Olck_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sbp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sd_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sd_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sd_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sd_Deva_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sd_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sd_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/se.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/se_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/seh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ses.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sh_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sh_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sh_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/shi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/shi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/shi_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/shi_Tfng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/shi_Tfng_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/si.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/smn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/so.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/so_DJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/so_ET.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/so_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sq_MK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Latn_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Latn_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Latn_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_Latn_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sr_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/su.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/su_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/su_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/su_Latn_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/supplementalData.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sw_CD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sw_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/sw_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/syr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/szl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ta.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ta_LK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ta_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ta_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/te.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/teo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/teo_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/tg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/th.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ti.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ti_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/tk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/tl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/tl_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/to.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/tok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/tr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/tt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/twq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/tzm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ug.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/ur_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uz_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uz_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uz_Arab_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uz_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uz_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uz_Latn_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/uz_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vai_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vai_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vai_Vaii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vai_Vaii_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vec.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vmw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/vun.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/wae.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/wo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/xh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/xnr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/xog.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yo_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yrl_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yrl_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yue.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yue_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yue_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yue_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yue_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yue_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/yue_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/za.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hans_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hans_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hans_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hant_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_Hant_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zh_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/curr/zu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/icu4j-readme.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/icupkg.inc.in -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/af.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/agq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ak.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ar_EG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ar_LY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ar_SA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ars.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/as.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/asa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ast.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ay.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/az.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/az_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/az_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/az_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/az_Latn_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/be.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bem.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bez.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bgc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bho.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/blo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/br.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/brx.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bs_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bs_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bs_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/bs_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ca.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ccp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ce.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ceb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/cgg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ckb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/csw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/cv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/cy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/da.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/dav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/de_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/de_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/dje.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/doi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/dsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/dua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/dv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/dyo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/dz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ebu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ee.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_150.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_AG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_AI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_AU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_BB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_BM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_BS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_BW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_CC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_CK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_CX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_CY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_DG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_DM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_FJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_FK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_FM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_GD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_GG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_GI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_GY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_IE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_IM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_IO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_JE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_JM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_KI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_KN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_KY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_LC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_LS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_MS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_MT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_MV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_MW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_NF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_NH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_NR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_NU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_NZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_PG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_PN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_PW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_RH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_SZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_TC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_TK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_TO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_TT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_TV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_VC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_VG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_VU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_WS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_ZM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/en_ZW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/eo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_419.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_AR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_CL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_CR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_CU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_DO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_GT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_HN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_MX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_NI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_PA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_PE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_PR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_PY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_SV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_UY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/es_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/et.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/eu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ewo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fa_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_Adlm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_Latn_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_Latn_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_Latn_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_Latn_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ff_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fil_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fr_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fr_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fr_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/fy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ga.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/gd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/gl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/gsw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/gu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/guz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/gv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ha.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ha_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/haw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/he.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/he_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/hi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/hi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/hr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/hsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/hu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/hy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ia.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/id.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/id_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ie.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ig.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ilo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/in.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/in_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/is.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/iw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/iw_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/jgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/jmc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/jv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ka.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kam.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kde.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kea.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kgp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/khq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ki.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kkj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/km.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ks.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ks_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ks_Arab_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ks_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ks_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ksb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ksf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ksh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kxv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kxv_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kxv_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kxv_Latn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kxv_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/kxv_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ky.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lag.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lij.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lkt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lmo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lrc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/luo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lus.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/luy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/lv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mer.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mfe.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mni.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mni_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mni_Beng_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mni_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ms.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/mzn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/naq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nds.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ne.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nmg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nn_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nnh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/no.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/no_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/no_NO_NY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nqo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nus.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/nyn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/oc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/om.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/or.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/os.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pa_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pa_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pa_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pa_Guru_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pa_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pa_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pcm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/prg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ps.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ps_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_AO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_CV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_PT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_ST.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/pt_TL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/qu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/raj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/rm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/rn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ro.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ro_MD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/rof.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/rw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/rwk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sah.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/saq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sat.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sat_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sat_Olck.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sat_Olck_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sbp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sd_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sd_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sd_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sd_Deva_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sd_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sd_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/se.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/se_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/seh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ses.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sh_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sh_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sh_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/shi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/shi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/shi_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/shi_Tfng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/shi_Tfng_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/si.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/smn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/so.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Latn_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Latn_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Latn_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Latn_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_Latn_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sr_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/su.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/su_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/su_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/su_Latn_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sv_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sw_CD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/sw_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/syr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/szl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ta.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/te.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/teo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/th.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ti.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ti_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/tk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/tl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/tl_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/to.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/tok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/tr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ts.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/tt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/twq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/tzm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ug.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/ur_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uz_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uz_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uz_Arab_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uz_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uz_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uz_Latn_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/uz_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vai_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vai_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vai_Vaii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vai_Vaii_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vec.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vmw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/vun.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/wae.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/wo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/xh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/xnr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/xog.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yo_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yrl_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yrl_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yue.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yue_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yue_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yue_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yue_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yue_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/yue_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/za.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_Hans_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_Hant_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_Hant_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zh_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/lang/zu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/af.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/af_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/af_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/agq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/agq_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ak.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ak_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/am_ET.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_AE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_BH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_DJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_DZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_EG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_EH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_IQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_JO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_KM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_KW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_LB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_LY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_OM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_PS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_QA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_SA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_SD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_SO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_SY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_TD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_TN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ar_YE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ars.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/as.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/as_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/asa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/asa_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ast.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ast_ES.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/az.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/az_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/az_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/az_Cyrl_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/az_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/az_Latn_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bas_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/be.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/be_BY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bem.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bem_ZM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bez.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bez_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bg_BG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bgc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bgc_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bho.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bho_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/blo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/blo_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bm_ML.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bn_BD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bo_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bo_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/br.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/br_FR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/brx.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/brx_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bs_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bs_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bs_Cyrl_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bs_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/bs_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ca.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ca_AD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ca_ES.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ca_FR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ca_IT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ccp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ccp_BD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ccp_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ce.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ce_RU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ceb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ceb_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/cgg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/cgg_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/chr_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ckb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ckb_IQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ckb_IR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/cs_CZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/csw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/csw_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/cv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/cv_RU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/cy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/cy_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/da.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/da_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/da_GL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dav_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/de_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/de_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/de_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/de_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/de_IT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/de_LI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/de_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dje.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dje_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/doi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/doi_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dsb_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dua_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dyo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dyo_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/dz_BT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ebu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ebu_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ee.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ee_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ee_TG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/el_CY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/el_GR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_150.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_AE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_AG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_AI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_AS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_AU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_BB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_BI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_BM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_BS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_BW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_CC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_CK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_CX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_CY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_DG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_DM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_FJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_FK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_FM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_GD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_GG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_GI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_GU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_GY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_IE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_IM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_IO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_JE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_JM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_KI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_KN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_KY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_LC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_LS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_NF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_NH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_NR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_NU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_NZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_PG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_PN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_PR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_PW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_RH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_SZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_TC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_TK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_TO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_TT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_TV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_UM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_US_POSIX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_VC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_VG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_VI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_VU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_WS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_ZM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/en_ZW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/eo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/eo_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_419.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_AR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_CL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_CR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_CU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_DO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_EA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_ES.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_GT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_HN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_IC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_MX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_NI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_PA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_PE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_PR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_PY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_SV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_UY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/es_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/et.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/et_EE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/eu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/eu_ES.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ewo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ewo_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fa_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fa_IR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_BF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_BF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_Latn_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ff_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fi_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fil_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fo_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fo_FO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_BF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_BI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_BL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_CD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_CF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_CG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_CI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_DJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_DZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_FR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_GA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_GF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_GP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_HT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_KM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_MC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_MF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_ML.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_MQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_NC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_PF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_PM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_RE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_SC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_SY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_TD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_TG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_TN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_VU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_WF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fr_YT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fur_IT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/fy_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ga.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ga_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ga_IE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gd_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gl_ES.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gsw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gsw_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gsw_FR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gsw_LI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gu_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/guz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/guz_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/gv_IM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ha.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ha_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ha_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ha_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/haw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/haw_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/he.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/he_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hi_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hi_Latn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hr_HR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hsb_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hu_HU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/hy_AM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ia.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ia_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/id.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/id_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ie.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ie_EE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ig.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ig_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ii_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/in.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/in_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/is.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/is_IS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/it_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/it_IT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/it_SM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/it_VA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/iw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/iw_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ja_JP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ja_JP_TRADITIONAL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/jgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/jgo_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/jmc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/jmc_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/jv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/jv_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ka.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ka_GE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kab_DZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kam.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kam_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kde.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kde_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kea.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kea_CV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kgp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kgp_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/khq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/khq_ML.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ki.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ki_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kk_KZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kkj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kkj_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kl_GL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kln_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/km.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/km_KH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ko_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ko_KP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ko_KR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kok_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ks.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ks_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ks_Arab_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ks_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ks_Deva_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ks_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ksb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ksb_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ksf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ksf_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ksh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ksh_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ku_TR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kw_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv_Deva_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv_Latn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv_Orya_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/kxv_Telu_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ky.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ky_KG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lag.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lag_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lb_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lg_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lij.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lij_IT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lkt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lkt_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lmo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lmo_IT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ln_AO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ln_CD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ln_CF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ln_CG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lo_LA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lrc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lrc_IQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lrc_IR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lt_LT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lu_CD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/luo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/luo_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/luy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/luy_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/lv_LV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mai_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mas_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mas_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mer.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mer_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mfe.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mfe_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mg_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mgh_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mgo_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mi_NZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mk_MK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ml_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mn_MN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mni.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mni_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mni_Beng_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mni_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mr_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ms.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ms_BN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ms_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ms_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ms_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mt_MT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mua_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/my_MM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mzn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/mzn_IR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/naq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/naq_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nb_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nb_SJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nd_ZW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nds.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nds_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nds_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ne.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ne_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ne_NP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nl_AW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nl_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nl_BQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nl_CW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nl_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nl_SR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nl_SX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nmg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nmg_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nn_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nnh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nnh_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/no.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/no_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/no_NO_NY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nqo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nqo_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nus.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nus_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nyn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/nyn_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/oc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/oc_ES.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/oc_FR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/om.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/om_ET.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/om_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/or.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/or_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/os.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/os_GE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/os_RU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pa_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pa_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pa_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pa_Guru_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pa_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pa_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pcm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pcm_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pl_PL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/prg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/prg_PL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ps.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ps_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ps_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_AO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_CV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_PT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_ST.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/pt_TL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/qu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/qu_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/qu_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/qu_PE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/raj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/raj_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rm_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rn_BI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ro.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ro_MD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ro_RO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rof.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rof_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ru_BY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ru_KG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ru_KZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ru_MD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ru_RU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ru_UA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rw_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rwk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/rwk_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sa_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sah.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sah_RU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/saq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/saq_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sat.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sat_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sat_Olck.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sat_Olck_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sbp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sbp_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sc_IT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sd_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sd_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sd_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sd_Deva_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sd_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sd_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/se.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/se_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/se_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/se_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/seh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/seh_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ses.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ses_ML.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sg_CF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sh_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sh_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sh_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/shi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/shi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/shi_Latn_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/shi_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/shi_Tfng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/shi_Tfng_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/si.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/si_LK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sk_SK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sl_SI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/smn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/smn_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sn_ZW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/so.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/so_DJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/so_ET.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/so_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/so_SO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sq_AL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sq_MK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sq_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Latn_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Latn_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Latn_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Latn_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_Latn_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sr_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/su.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/su_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/su_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/su_Latn_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sv_AX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sv_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sv_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sw_CD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sw_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sw_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/sw_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/syr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/syr_IQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/syr_SY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/szl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/szl_PL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ta.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ta_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ta_LK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ta_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ta_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/te.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/te_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/teo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/teo_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/teo_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tg_TJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/th.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/th_TH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/th_TH_TRADITIONAL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ti.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ti_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ti_ET.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tk_TM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tl_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/to.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/to_TO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tok_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tr_CY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tr_TR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tt_RU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/twq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/twq_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tzm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/tzm_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ug.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ug_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uk_UA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ur_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/ur_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz_Arab_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz_Cyrl_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz_Latn_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/uz_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vai_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vai_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vai_Latn_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vai_Vaii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vai_Vaii_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vec.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vec_IT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vi_VN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vmw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vmw_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vun.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/vun_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/wae.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/wae_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/wo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/wo_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/xh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/xh_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/xnr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/xnr_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/xog.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/xog_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yav_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yi_UA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yo_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yo_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yrl_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yrl_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yrl_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yue.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yue_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yue_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yue_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yue_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yue_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/yue_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/za.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/za_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zgh_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hans_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hans_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hans_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hant_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_Hant_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zh_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/locales/zu_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/makedata.mak -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/cns-11643-1992.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ebcdic-xml-us.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/euc-jp-2007.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/euc-tw-2014.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/gb18030-2022.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/gsm-03.38-2009.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1006_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1025_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1026_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1047_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1051_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1089_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1097_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1098_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1112_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1122_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1123_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1124_P100-1996.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1125_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1129_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1130_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1131_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1132_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1133_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1137_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1140_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1141_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1142_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1143_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1144_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1145_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1146_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1147_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1148_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1149_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1153_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1154_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1155_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1156_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1157_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1158_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1160_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1162_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1164_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1168_P100-2002.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1250_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1251_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1252_P100-2000.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1253_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1254_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1255_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1256_P110-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1257_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1258_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-12712_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1276_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1363_P110-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1363_P11B-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1364_P110-2007.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1371_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1373_P100-2002.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1375_P100-2008.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1383_P110-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1386_P100-2001.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1388_P103-2001.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1390_P110-2003.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-1399_P110-2003.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-16684_P110-2003.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-16804_X110-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-273_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-277_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-278_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-280_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-284_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-285_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-290_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-297_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P120-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P12A_P12A-2004_U2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P12A_P12A-2009_U2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-37_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-420_X120-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-424_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-437_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-4517_P100-2005.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-4899_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-4909_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-4971_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-500_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5012_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5123_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5346_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5347_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5348_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5349_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5350_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5351_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5352_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5353_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5354_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5471_P100-2006.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-5478_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-720_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-737_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-775_P100-1996.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-803_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-813_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-838_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-8482_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-850_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-851_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-852_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-855_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-856_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-857_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-858_P100-1997.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-860_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-861_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-862_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-863_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-864_X110-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-865_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-866_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-867_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-868_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-869_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-870_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-871_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-874_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-875_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-878_P100-1996.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-9005_X110-2007.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-901_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-902_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-9067_X100-2005.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-912_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-913_P100-2000.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-914_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-915_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-916_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-918_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-920_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-921_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-922_P100-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-923_P100-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-930_P120-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-933_P110-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-935_P110-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-937_P110-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-939_P120-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-942_P12A-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-943_P130-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-943_P15A-2003.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-9447_P100-2002.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-9448_X100-2005.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-9449_P100-2002.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-949_P110-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-949_P11A-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-950_P110-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-954_P101-2007.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-964_P110-1999.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-970_P110_P110-2006_U2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/ibm-971_P100-1995.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-25546.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d1.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d3.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d4.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d5.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d6.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d7.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s1.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s3.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-t.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/iso-8859_10-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/iso-8859_11-2001.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/iso-8859_14-1998.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/iso-ir-165.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/jisx-212.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/lmb-excp.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/macos-0_2-10.2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/macos-29-10.2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/macos-35-10.2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/macos-6_2-10.4.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/macos-7_3-10.2.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/windows-874-2000.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/windows-949-2000.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/mappings/windows-950-2000.ucm -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/currencyNumericCodes.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/dayPeriods.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/genderList.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/grammaticalFeatures.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/icudata.rc -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/icustd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/icuver.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/keyTypeData.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/langInfo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/metaZones.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/metadata.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/numberingSystems.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/pluralRanges.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/plurals.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/supplementalData.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/timezoneTypes.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/units.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/windowsZones.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/misc/zoneinfo64.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/af.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ak.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ar_SA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ars.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/az.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/be.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/bg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/bs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ca.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ccp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/cy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/da.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/de_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ee.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/en_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/en_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/eo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_419.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_DO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_GT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_HN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_MX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_NI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_PA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_PR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_SV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/es_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/et.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/fa_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ff.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/fil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/fo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/fr_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/fr_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ga.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/he.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/hi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/hr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/hu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/hy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/id.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/in.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/is.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/iw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ka.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/kk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/kl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/km.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ky.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/lb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/lo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/lrc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/lt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/lv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/mk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ms.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/mt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/nb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ne.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/nl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/nn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/no.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/pl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/pt_PT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/qu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ro.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/se.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/sh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/sk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/sl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/sq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/sr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/sr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/su.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/sw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/ta.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/th.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/tr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/uk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/vec.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/vi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/yue.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/yue_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/zh_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/zh_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/zh_Hant_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/zh_Hant_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/zh_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/rbnf/zh_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/af.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/agq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ak.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ar_AE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ar_LY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ar_SA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ars.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/as.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/asa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ast.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/az.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/az_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/az_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/az_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/az_Latn_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/be.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bem.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bez.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bgc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bho.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/blo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bo_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/br.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/brx.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bs_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bs_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bs_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/bs_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ca.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ccp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ce.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ceb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/cgg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ckb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/csw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/cv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/cy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/da.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/dav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/de_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/de_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/dje.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/doi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/dsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/dua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/dyo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/dz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ebu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ee.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_150.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_AG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_AI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_AU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_BB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_BM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_BS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_BW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_CC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_CK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_CX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_CY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_DG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_DM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_FJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_FK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_FM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_GD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_GG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_GI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_GY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_IE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_IM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_IO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_JE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_JM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_KI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_KN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_KY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_LC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_LS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_MS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_MT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_MV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_MW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_NF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_NH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_NR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_NU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_NZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_PG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_PN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_PW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_RH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_SZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_TC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_TK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_TO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_TT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_TV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_VC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_VG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_VU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_WS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_ZM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/en_ZW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/eo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_419.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_AR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_CL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_CR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_CU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_DO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_GT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_HN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_MX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_NI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_PA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_PE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_PR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_PY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_SV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_UY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/es_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/et.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/eu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ewo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fa_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_Adlm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_Latn_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_Latn_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_Latn_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_Latn_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ff_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fil_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fr_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fr_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/fy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ga.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/gd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/gl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/gsw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/gu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/guz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/gv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ha.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/haw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/he.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/he_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/hi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/hi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/hr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/hsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/hu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/hy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ia.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/id.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/id_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ie.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ig.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/in.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/in_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/is.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/iw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/iw_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/jgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/jmc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/jv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ka.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kam.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kde.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kea.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kgp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/khq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ki.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kkj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/km.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ko_KP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ks.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ks_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ks_Arab_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ks_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ks_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ksb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ksf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ksh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ku.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kxv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kxv_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kxv_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kxv_Latn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kxv_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/kxv_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ky.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lag.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lij.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lkt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lmo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lrc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/luo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/luy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/lv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mer.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mfe.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mni.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mni_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mni_Beng_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mni_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ms.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/mzn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/naq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nds.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ne.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nmg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nn_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nnh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/no.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/no_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/no_NO_NY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nqo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nus.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/nyn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/oc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/oc_ES.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/om.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/or.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/os.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pa_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pa_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pa_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pa_Guru_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pa_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pa_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pcm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/prg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ps.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ps_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_AO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_CV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_PT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_ST.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/pt_TL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/qu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/raj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/rm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/rn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ro.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ro_MD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/rof.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ru_UA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/rw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/rwk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sah.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/saq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sat.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sat_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sat_Olck.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sat_Olck_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sbp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sd_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sd_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sd_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sd_Deva_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sd_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sd_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/se.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/se_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/seh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ses.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sh_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sh_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sh_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/shi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/shi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/shi_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/shi_Tfng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/shi_Tfng_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/si.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/smn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/so.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Latn_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Latn_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Latn_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Latn_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_Latn_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sr_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/su.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/su_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/su_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/su_Latn_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sw_CD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/sw_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/syr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/szl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ta.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/te.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/teo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/tg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/th.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ti.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/tk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/tl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/tl_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/to.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/tok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/tr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/tt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/twq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/tzm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ug.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/ur_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uz_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uz_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uz_Arab_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uz_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uz_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uz_Latn_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/uz_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vai_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vai_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vai_Vaii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vai_Vaii_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vec.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vmw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/vun.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/wae.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/wo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/xh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/xnr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/xog.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yo_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yrl_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yrl_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yue.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yue_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yue_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yue_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yue_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yue_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/yue_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/za.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_Hans_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_Hant_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_Hant_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zh_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/region/zu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3491.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3530cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3530csci.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3530mixp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3722.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3920node.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc3920res.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4011.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4013.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4505.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4518.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/sprep/rfc4518ci.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Any_Accents.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Any_Publishing.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Arab_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Beng_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Bengali_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Cyrl_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Deva_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Devanagari_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Cyrl_Gutgarts.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_ALALOC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_ALALOC_Geminate.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Aethiopi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Aethiopi_Geminate.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Beta_Metsehaf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Beta_Metsehaf_Geminate.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_ES3842.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_IES_JES_1964.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_IES_JES_1964_Geminate.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Lambdin.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_SERA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Fullwidth_Halfwidth.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Geor_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Grek_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Grek_Latn_UNGEGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujarati_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gujr_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Gurmukhi_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Guru_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Han_Latin_Names.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Han_Spacedhan.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Hang_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Hani_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Hans_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Hebr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Hira_Kana.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Hira_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Arabic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Bengali.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Devanagari.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Gujarati.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Gurmukhi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Kannada.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Latin.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Malayalam.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Oriya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Tamil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_Telugu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/InterIndic_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Jamo_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Kannada_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Knda_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latin_ASCII.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latin_ConjoiningJamo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latin_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latin_NumericPinyin.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Armn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Bopo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Cans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Ethi_Williamson.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Hang.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Jamo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Kana.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Thaa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Latn_Thai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Malayalam_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Mlym_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Oriya_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Orya_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Pinyin_NumericPinyin.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Syrc_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Tamil_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Taml_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Gujr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Knda.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Mlym.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_Taml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telu_ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Telugu_InterIndic.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ThaiLogical_Latin.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Thai_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Thai_ThaiLogical.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Thai_ThaiSemi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/Zawgyi_my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/am_Ethi_am_Brai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/am_Ethi_am_Ethi_Geminate.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/am_Ethi_d0_Morse.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/am_am_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/am_am_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/am_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/am_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/am_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ar_ar_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/az_Cyrl_az_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/az_Lower.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/az_Title.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/az_Upper.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/be_be_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/bg_bg_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/blt_blt_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/byn_Ethi_byn_Latn_Tekie_Alibekit.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/byn_Ethi_byn_Latn_Xaleget.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ch_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ch_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ch_ch_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ch_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ch_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/chr_chr_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_FONIPA_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_FONIPA_ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_cs_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cs_ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/cy_cy_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/de_ASCII.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/dsb_dsb_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/dv_dv_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/el_Lower.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/el_Title.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/el_Upper.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/el_el_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/eo_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/eo_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/eo_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/eo_eo_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/eo_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_419_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_419_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_419_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_419_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_419_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_419_zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_FONIPA_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_FONIPA_es_419_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_FONIPA_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_FONIPA_zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_es_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/es_zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/fa_fa_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/fa_fa_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/gz_Ethi_Sarb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ha_ha_NE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/he_he_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_hy_AREVMDA_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_hy_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/hy_hy_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ia_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ia_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ia_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ia_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ia_ia_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/it_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/it_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ja_Hrkt_ja_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ja_Latn_ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ja_Latn_ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ka_ka_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ka_ka_Latn_BGN_1981.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/kk_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/kk_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/kk_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/kk_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/kk_kk_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/kk_kk_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ko_ko_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ky_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ky_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ky_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ky_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ky_ky_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ky_ky_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/la_la_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/lt_Lower.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/lt_Title.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/lt_Upper.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/mk_mk_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/mn_mn_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/mn_mn_Latn_MNS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/my_Zawgyi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/my_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/my_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/my_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/my_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/my_my_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/my_my_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/nl_Title.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/nv_nv_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/pl_FONIPA_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/pl_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/pl_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/pl_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/pl_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/pl_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/pl_pl_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ps_ps_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_rm_FONIPA_SURSILV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ro_FONIPA_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ro_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ro_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ro_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ro_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ro_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ro_ro_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ru_Latn_ru_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ru_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ru_ru_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ru_zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sat_Olck_sat_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sat_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sat_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sat_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sat_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sgw_Ethi_Ethi_Gurage_2013.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/si_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/si_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/si_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/si_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/si_si_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/si_si_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sk_FONIPA_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sk_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sk_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sk_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sk_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sk_ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sk_sk_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/sr_sr_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ta_ta_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tk_Cyrl_tk_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tlh_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tlh_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tlh_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tlh_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tlh_tlh_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tr_Lower.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tr_Title.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/tr_Upper.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/ug_ug_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/uk_uk_Latn_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/und_FONIPA_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/und_FONIPA_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/und_FONIPA_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/und_FONIPA_und_FONXSAMP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/uz_Cyrl_uz_BGN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/uz_Cyrl_uz_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/vec_vec_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/xh_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/xh_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/xh_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/xh_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/xh_xh_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/yo_yo_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/zh_Latn_PINYIN_ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/zu_am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/zu_ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/zu_chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/zu_fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/translit/zu_zu_FONIPA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unidata/FractionalUCA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unidata/changes.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unidata/norm2/nfc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc_cf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc_scf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unidata/ppucd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/af.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/agq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ak.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ar_SA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ars.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/as.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/asa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ast.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/az.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/az_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/az_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/az_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/az_Latn_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/be.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bem.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bez.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bgc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bho.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/blo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/br.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/brx.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bs_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bs_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bs_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/bs_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ca.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ccp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ce.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ceb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/cgg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ckb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/csw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/cv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/cy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/da.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/dav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/de_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/dje.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/doi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/dsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/dua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/dyo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/dz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ebu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ee.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_150.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_AG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_AI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_AU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_BB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_BM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_BS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_BW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_CC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_CK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_CX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_CY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_DG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_DM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_FJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_FK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_FM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_GD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_GG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_GI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_GY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_IE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_IM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_IO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_JE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_JM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_KI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_KN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_KY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_LC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_LS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_MS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_MT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_MV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_MW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_NF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_NH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_NR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_NU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_NZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_PG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_PN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_PW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_RH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_SZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_TC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_TK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_TO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_TT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_TV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_VC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_VG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_VU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_WS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_ZM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/en_ZW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/eo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_419.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_AR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_CL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_CR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_CU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_DO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_GT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_HN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_MX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_NI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_PA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_PE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_PR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_PY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_SV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_UY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/es_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/et.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/eu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ewo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_Adlm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_Latn_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_Latn_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_Latn_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_Latn_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ff_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fil_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fr_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fr_HT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/fy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ga.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/gd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/gl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/gsw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/gu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/guz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/gv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ha.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/haw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/he.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/he_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/hi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/hi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/hr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/hsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/hu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/hy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ia.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/id.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/id_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ie.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ig.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/in.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/in_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/is.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/iw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/iw_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/jgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/jmc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/jv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ka.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kam.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kde.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kea.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kgp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/khq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ki.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kkj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/km.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ks.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ks_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ks_Arab_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ks_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ks_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ksb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ksf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ksh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ku.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kxv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kxv_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kxv_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kxv_Latn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kxv_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/kxv_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ky.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lag.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lij.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lkt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lmo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lrc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/luo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/luy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/lv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mer.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mfe.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mni.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mni_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mni_Beng_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mni_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ms.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/mzn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/naq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nds.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ne.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nmg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nn_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nnh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/no.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/no_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/no_NO_NY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nqo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nus.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/nyn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/oc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/om.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/or.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/os.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pa_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pa_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pa_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pa_Guru_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pa_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pa_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pcm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/prg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ps.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ps_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_AO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_CV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_PT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_ST.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/pt_TL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/qu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/raj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/rm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/rn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ro.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ro_MD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/rof.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/rw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/rwk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sah.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/saq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sat.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sat_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sat_Olck.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sat_Olck_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sbp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sd_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sd_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sd_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sd_Deva_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sd_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sd_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/se.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/seh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ses.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sh_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sh_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sh_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/shi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/shi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/shi_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/shi_Tfng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/shi_Tfng_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/si.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/smn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/so.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Latn_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Latn_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Latn_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_Latn_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sr_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/su.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/su_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/su_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/su_Latn_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sv_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/sw_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/syr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/szl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ta.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/te.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/teo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/tg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/th.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ti.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/tk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/tl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/tl_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/to.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/tok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/tr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/tt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/twq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/tzm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ug.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/ur_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uz_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uz_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uz_Arab_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uz_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uz_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uz_Latn_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/uz_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vai_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vai_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vai_Vaii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vai_Vaii_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vec.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vmw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/vun.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/wae.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/wo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/xh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/xnr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/xog.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yo_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yrl_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yrl_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yue.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yue_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yue_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yue_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yue_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yue_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/yue_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/za.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hans_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hans_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hans_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hant_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_Hant_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zh_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/unit/zu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/af.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/agq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ak.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/am.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ar.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ar_SA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ars.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/as.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/asa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ast.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/az.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/az_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/az_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/az_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/az_Latn_AZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/be.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bem.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bez.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bgc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bho.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/blo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/br.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/brx.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bs_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bs_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bs_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/bs_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ca.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ccp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ce.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ceb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/cgg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/chr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ckb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/cs.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/csw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/cv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/cy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/da.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/dav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/de.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/de_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/dje.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/doi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/dsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/dua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/dyo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/dz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ebu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ee.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/el.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_001.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_150.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_AE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_AG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_AI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_AT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_AU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_BB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_BE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_BM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_BS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_BW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_CC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_CK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_CX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_CY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_DE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_DG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_DK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_DM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_ER.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_FJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_FK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_FM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_GB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_GD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_GG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_GH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_GI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_GM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_GU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_GY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_IE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_IM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_IO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_JE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_JM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_KI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_KN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_KY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_LC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_LS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_NA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_NF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_NG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_NH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_NL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_NR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_NU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_NZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_PG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_PN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_PW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_RH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_RW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SB.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SD.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_SZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_TC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_TK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_TO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_TT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_TV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_TZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_UG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_VC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_VG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_VU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_WS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_ZA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_ZM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/en_ZW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/eo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_419.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_AR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_BR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_BZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_CL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_CR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_CU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_DO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_GT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_HN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_MX.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_NI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_PA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_PE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_PR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_PY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_SV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_US.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_UY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/es_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/et.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/eu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ewo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_Adlm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_Latn_CM.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_Latn_GN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_Latn_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_Latn_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_MR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ff_SN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fil.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fil_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fr_CA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fr_GF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/fy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ga.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/gd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/gl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/gsw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/gu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/guz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/gv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ha.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/haw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/he.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/he_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/hi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/hi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/hr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/hsb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/hu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/hy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ia.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/id.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/id_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ie.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ig.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/in.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/in_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/is.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/it.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/iw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/iw_IL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ja.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/jgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/jmc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/jv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ka.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kam.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kde.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kea.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kgp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/khq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ki.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kkj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/km.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ko.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ko_KP.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ks.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ks_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ks_Arab_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ks_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ks_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ksb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ksf.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ksh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ku.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kxv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kxv_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kxv_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kxv_Latn_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kxv_Orya.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/kxv_Telu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ky.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lag.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lij.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lkt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lmo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ln.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lrc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/luo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/luy.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/lv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mas.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mer.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mfe.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mgo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ml.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mni.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mni_Beng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mni_Beng_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mni_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ms.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ms_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mua.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/my.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/mzn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/naq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nb.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nds.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ne.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ne_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nl_SR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nmg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nn_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nnh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/no.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/no_NO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/no_NO_NY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nqo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nus.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/nyn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/oc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/om.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/or.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/os.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pa_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pa_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pa_Guru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pa_Guru_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pa_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pa_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pcm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/prg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ps.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ps_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_AO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_CH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_CV.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_GQ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_GW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_LU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_MZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_PT.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_ST.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/pt_TL.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/qu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/qu_BO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/qu_EC.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/raj.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/rm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/rn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ro.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/rof.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ru.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/rw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/rwk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sa.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sah.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/saq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sat.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sat_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sat_Olck.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sat_Olck_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sbp.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sc.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sd.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sd_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sd_Arab_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sd_Deva.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sd_Deva_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sd_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sd_PK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/se.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/se_FI.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/seh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ses.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sh_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sh_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sh_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/shi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/shi_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/shi_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/shi_Tfng.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/shi_Tfng_MA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/si.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/smn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/so.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Latn_BA.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Latn_CS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Latn_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Latn_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_Latn_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_ME.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_RS.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_XK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sr_YU.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/su.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/su_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/su_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/su_Latn_ID.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sv.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/sw_KE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/syr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/szl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ta.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ta_MY.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ta_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/te.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/teo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tg.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/th.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ti.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tl_PH.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/to.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tok.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tt.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/twq.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tzdbNames.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/tzm.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ug.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uk.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ur.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/ur_IN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uz.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uz_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uz_Arab.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uz_Arab_AF.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uz_Cyrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uz_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uz_Latn_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/uz_UZ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vai.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vai_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vai_Latn.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vai_Vaii.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vai_Vaii_LR.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vec.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vmw.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/vun.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/wae.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/wo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/xh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/xnr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/xog.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yav.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yi.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yo.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yo_BJ.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yrl.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yrl_CO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yrl_VE.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yue.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yue_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yue_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yue_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yue_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yue_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/yue_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/za.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zgh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_Hans.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_Hans_CN.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_Hans_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_Hant_HK.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_Hant_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_Hant_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_MO.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_SG.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zh_TW.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/data/zone/zu.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/scrptrun/scrptrun.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/scrptrun/scrptrun.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/scrptrun/srtest.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/uconv/makedata.mak -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/uconv/pkgdata.inc.in -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/uconv/resources/fr.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/uconv/resources/root.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/uconv/uconv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/uconv/unicode/uwmsg.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/extra/uconv/uwmsg.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/alphaindex.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/anytrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/anytrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/astro.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/astro.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/basictz.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/bocsu.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/bocsu.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/brktrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/brktrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/buddhcal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/buddhcal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/calendar.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/casetrn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/casetrn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/cecal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/cecal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/chnsecal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/chnsecal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/choicfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/coleitr.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/coll.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collation.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collation.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationbuilder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationbuilder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationcompare.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationcompare.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationdata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationdatabuilder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationdatabuilder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationdatareader.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationdatareader.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationdatawriter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationdatawriter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationfastlatin.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationfastlatin.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationfastlatinbuilder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationfastlatinbuilder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationfcd.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationfcd.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationiterator.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationiterator.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationkeys.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationkeys.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationroot.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationroot.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationrootelements.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationrootelements.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationruleparser.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationruleparser.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationsets.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationsets.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationsettings.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationsettings.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationtailoring.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationtailoring.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationweights.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collationweights.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/collunsafe.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/compactdecimalformat.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/coptccal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/coptccal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/cpdtrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/cpdtrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csdetect.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csdetect.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csmatch.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csmatch.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csr2022.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csr2022.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrecog.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrecog.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrmbcs.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrmbcs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrsbcs.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrsbcs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrucode.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrucode.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrutf8.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/csrutf8.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/curramt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/currfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/currfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/currpinf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/currunit.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dangical.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dangical.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/datefmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dayperiodrules.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dayperiodrules.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dcfmtsym.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/decContext.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/decContext.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/decNumber.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/decNumber.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/decNumberLocal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/decimfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/displayoptions.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum-dtoa.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum-dtoa.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-cached-powers.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-cached-powers.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-diy-fp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-double-to-string.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-double-to-string.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-fast-dtoa.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-fast-dtoa.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-ieee.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-string-to-double.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-string-to-double.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-strtod.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-strtod.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion-utils.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/double-conversion.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dt_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dtfmtsym.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dtitv_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dtitvfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dtitvinf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dtptngen.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dtptngen_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/dtrule.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/erarules.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/erarules.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/esctrn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/esctrn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ethpccal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ethpccal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/fmtable.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/fmtable_cnv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/fmtableimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/format.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/formatted_string_builder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/formatted_string_builder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/formattedval_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/formattedval_iterimpl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/formattedval_sbimpl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/formattedvalue.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/fphdlimp.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/fphdlimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/fpositer.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/funcrepl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/funcrepl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/gender.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/gregocal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/gregoimp.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/gregoimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/hebrwcal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/hebrwcal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/i18n.rc -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/indiancal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/indiancal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/inputext.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/inputext.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/islamcal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/islamcal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/iso8601cal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/iso8601cal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/japancal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/japancal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/listformatter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/measfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/measunit.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/measunit_extra.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/measunit_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/measure.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/msgfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/msgfmt_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/name2uni.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/name2uni.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nfrlist.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nfrs.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nfrs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nfrule.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nfrule.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nfsubs.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nfsubs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nortrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nortrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nultrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/nultrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_affixutils.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_affixutils.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_asformat.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_asformat.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_capi.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_compact.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_compact.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_currencysymbols.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_currencysymbols.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_decimalquantity.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_decimalquantity.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_decimfmtprops.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_decimfmtprops.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_decnum.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_fluent.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_formatimpl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_formatimpl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_grouping.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_integerwidth.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_longnames.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_longnames.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_mapper.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_mapper.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_microprops.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_modifiers.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_modifiers.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_multiplier.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_multiplier.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_notation.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_output.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_padding.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_patternmodifier.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_patternmodifier.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_patternstring.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_patternstring.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_rounding.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_roundingutils.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_scientific.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_scientific.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_simple.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_skeletons.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_skeletons.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_symbolswrapper.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_types.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_usageprefs.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_usageprefs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_utils.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_utils.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/number_utypes.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_affixes.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_affixes.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_compositions.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_compositions.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_currency.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_currency.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_decimal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_decimal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_impl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_parsednumber.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_scientific.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_scientific.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_symbols.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_symbols.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_types.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_utils.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_validators.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numparse_validators.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numrange_capi.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numrange_fluent.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numrange_impl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numrange_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numsys.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/numsys_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/olsontz.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/olsontz.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/persncal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/persncal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/pluralranges.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/pluralranges.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/plurfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/plurrule.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/plurrule_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/quant.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/quant.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/quantityformatter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/quantityformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbnf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt_data.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt_pars.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt_pars.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt_rule.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt_rule.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt_set.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbt_set.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rbtz.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regexcmp.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regexcmp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regexcst.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regexcst.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regeximp.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regeximp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regexst.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regexst.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regextxt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/regextxt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/region.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/region_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/reldatefmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/reldtfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/reldtfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rematch.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/remtrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/remtrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/repattrn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/rulebasedcollator.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/scientificnumberformatter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/scriptset.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/scriptset.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/search.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/selfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/selfmtimpl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/sharedbreakiterator.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/sharedbreakiterator.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/sharedcalendar.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/shareddateformatsymbols.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/sharednumberformat.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/sharedpluralrules.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/simpletz.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/smpdtfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/smpdtfst.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/smpdtfst.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/sortkey.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/standardplural.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/standardplural.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/string_segment.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/string_segment.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/strmatch.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/strmatch.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/strrepl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/strrepl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/stsearch.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/taiwncal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/taiwncal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/timezone.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/titletrn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/titletrn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tmunit.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tmutamt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tmutfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tolowtrn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tolowtrn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/toupptrn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/toupptrn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/translit.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/transreg.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/transreg.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tridpars.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tridpars.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tzfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tzgnames.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tzgnames.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tznames.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tznames_impl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tznames_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tzrule.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/tztrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucal.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucln_in.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucln_in.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucol.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucol_imp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucol_res.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucol_sit.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucoleitr.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ucsdet.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/udat.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/udateintervalformat.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/udatpg.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ufieldpositer.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uitercollationiterator.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uitercollationiterator.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ulistformatter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ulocdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/umsg.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/umsg_imp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unesctrn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unesctrn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uni2name.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uni2name.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/alphaindex.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/basictz.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/calendar.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/choicfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/coleitr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/coll.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/compactdecimalformat.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/curramt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/currpinf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/currunit.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/datefmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/dcfmtsym.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/decimfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/displayoptions.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/dtfmtsym.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/dtitvfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/dtitvinf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/dtptngen.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/dtrule.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/fieldpos.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/fmtable.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/format.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/formattednumber.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/formattedvalue.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/fpositer.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/gender.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/gregocal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/listformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/measfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/measunit.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/measure.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/msgfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/nounit.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/numberformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/numberrangeformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/numfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/numsys.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/plurfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/plurrule.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/rbnf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/rbtz.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/regex.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/region.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/reldatefmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/scientificnumberformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/search.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/selfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/simplenumberformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/simpletz.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/smpdtfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/sortkey.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/stsearch.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/tblcoll.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/timezone.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/tmunit.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/tmutamt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/tmutfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/translit.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/tzfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/tznames.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/tzrule.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/tztrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ucal.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ucol.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ucoleitr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ucsdet.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/udat.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/udateintervalformat.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/udatpg.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/udisplayoptions.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ufieldpositer.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/uformattable.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/uformattednumber.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/uformattedvalue.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ugender.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ulistformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ulocdata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/umsg.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/unirepl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/unum.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/unumberformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/unumberoptions.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/unumberrangeformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/unumsys.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/upluralrules.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/uregex.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/uregion.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/ureldatefmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/usearch.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/usimplenumberformatter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/uspoof.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/utmscale.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/utrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unicode/vtzone.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/units_complexconverter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/units_complexconverter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/units_converter.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/units_converter.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/units_data.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/units_data.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/units_router.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/units_router.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unum.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/unumsys.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/upluralrules.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uregex.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uregexc.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uregion.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/usearch.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uspoof.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uspoof_build.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uspoof_conf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uspoof_conf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uspoof_impl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/uspoof_impl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/usrchimp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/utf16collationiterator.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/utf16collationiterator.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/utf8collationiterator.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/utf8collationiterator.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/utmscale.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/utrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/vtzone.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/vzone.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/vzone.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/windtfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/windtfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/winnmfmt.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/winnmfmt.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/wintzimpl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/wintzimpl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/zonemeta.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/zonemeta.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/zrule.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/zrule.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ztrans.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/i18n/ztrans.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/icudefs.mk.in -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/io.rc -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/locbund.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/locbund.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/sprintf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/sscanf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/ucln_io.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/ucln_io.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/ufile.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/ufile.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/ufmt_cmn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/ufmt_cmn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/unicode/ustdio.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/unicode/ustream.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/uprintf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/uprintf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/uprntf_p.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/uscanf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/uscanf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/uscanf_p.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/ustdio.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/io/ustream.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/python/icutools/databuilder/filtration_schema.json -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/stubdata/stubdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/stubdata/stubdata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/ctest.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/datamap.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/testdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/tstdtmod.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/ucln_ct.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/ctest.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/datamap.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testdata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testlog.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testtype.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/tstdtmod.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/uperf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/utimer.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/ctestfw/uperf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/escapesrc/escapesrc.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/escapesrc/expect-simple.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/escapesrc/tblgen.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/escapesrc/test-nochange.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/escapesrc/test-simple.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genbrk/genbrk.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genccode/genccode.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gencfu/gencfu.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gencmn/gencmn.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gencnval/gencnval.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gencolusb/extract_unsafe_backwards.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gencolusb/verify_uset.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gendict/gendict.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gennorm2/extradata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gennorm2/extradata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gennorm2/gennorm2.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gennorm2/n2builder.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gennorm2/n2builder.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gennorm2/norms.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gennorm2/norms.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/derb.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/errmsg.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/errmsg.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/filterrb.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/filterrb.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/genrb.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/genrb.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/parse.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/parse.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/prscmnts.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/prscmnts.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/rbutil.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/rbutil.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/read.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/read.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/reslist.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/reslist.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/rle.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/rle.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/ustr.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/ustr.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/wrtjava.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/genrb/wrtxml.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gensprep/gensprep.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gensprep/gensprep.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gensprep/store.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gentest/genres32.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gentest/gentest.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/gentest/gentest.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/icuexportdata/icuexportdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/icuinfo/icuinfo.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/icuinfo/icuplugins_windows_sample.txt -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/icuinfo/testplug.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/icupkg/icupkg.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/icuswap/icuswap.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/makeconv/gencnvex.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/makeconv/genmbcs.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/makeconv/genmbcs.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/makeconv/makeconv.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/makeconv/makeconv.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/makeconv/ucnvstat.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/pkgdata/pkgdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/pkgdata/pkgtypes.c -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/pkgdata/pkgtypes.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/collationinfo.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/collationinfo.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/dbgutil.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/dbgutil.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/denseranges.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/denseranges.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/filestrm.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/filestrm.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/filetools.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/filetools.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/flagparser.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/flagparser.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/package.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/package.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/pkg_genc.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/pkg_genc.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/pkg_gencmn.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/pkg_gencmn.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/pkg_icu.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/pkg_icu.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/pkg_imp.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/pkgitems.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/ppucd.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/ppucd.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/swapimpl.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/swapimpl.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/toolutil.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/toolutil.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/ucbuf.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/ucbuf.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/ucln_tu.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/ucm.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/ucm.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/ucmstate.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/udbgutil.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/udbgutil.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/unewdata.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/unewdata.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/uoptions.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/uoptions.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/uparse.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/uparse.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/writesrc.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/writesrc.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/xmlparser.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/toolutil/xmlparser.h -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/tzcode/icuregions -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/tzcode/icuzdump.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/tzcode/icuzones -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/tzcode/tz2icu.cpp -ORIGIN: http://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/tools/tzcode/tz2icu.h -ORIGIN: http://www.unicode.org/copyright.html#License referenced by ../../../flutter/third_party/icu/source/data/brkitr/ja.txt -ORIGIN: http://www.unicode.org/copyright.html#License referenced by ../../../flutter/third_party/icu/source/data/brkitr/root.txt -ORIGIN: http://www.unicode.org/copyright.html#License referenced by ../../../flutter/third_party/icu/source/data/brkitr/zh.txt -ORIGIN: http://www.unicode.org/copyright.html#License referenced by ../../../flutter/third_party/icu/source/data/brkitr/zh_Hant.txt -ORIGIN: http://www.unicode.org/copyright.html#License referenced by ../../../flutter/third_party/icu/source/data/coll/de_.txt -ORIGIN: http://www.unicode.org/copyright.html#License referenced by ../../../flutter/third_party/icu/source/data/coll/de__PHONEBOOK.txt -ORIGIN: http://www.unicode.org/copyright.html#License referenced by ../../../flutter/third_party/icu/source/data/coll/es_.txt -ORIGIN: http://www.unicode.org/copyright.html#License referenced by ../../../flutter/third_party/icu/source/data/coll/es__TRADITIONAL.txt -ORIGIN: http://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/web_unicode/properties/LineBreak.txt -ORIGIN: http://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/web_unicode/properties/WordBreakProperty.txt -ORIGIN: https://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/emojiprops.cpp -ORIGIN: https://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/icu/source/common/emojiprops.h -ORIGIN: https://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/web_unicode/lib/web_unicode/codegen/line_break_properties.dart -ORIGIN: https://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/web_unicode/lib/web_unicode/codegen/word_break_properties.dart -ORIGIN: https://www.unicode.org/copyright.html referenced by ../../../flutter/third_party/web_unicode/tool/unicode_sync_script.dart -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/harfbuzz/src/hb-unicode-emoji-table.hh -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/CaseFolding.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/DerivedCoreProperties.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/DerivedNormalizationProps.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/NormalizationCorrections.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/NormalizationTest.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/SpecialCasing.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/UCARules.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/confusables.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/emoji-sequences.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/emoji-zwj-sequences.txt -ORIGIN: https://www.unicode.org/terms_of_use.html referenced by ../../../flutter/third_party/icu/source/data/unidata/norm2/uts46.txt -TYPE: LicenseType.unicode -FILE: ../../../flutter/third_party/harfbuzz/src/hb-unicode-emoji-table.hh -FILE: ../../../flutter/third_party/icu/APIChangeReport.html -FILE: ../../../flutter/third_party/icu/source/Doxyfile.in -FILE: ../../../flutter/third_party/icu/source/common/appendable.cpp -FILE: ../../../flutter/third_party/icu/source/common/bmpset.cpp -FILE: ../../../flutter/third_party/icu/source/common/bmpset.h -FILE: ../../../flutter/third_party/icu/source/common/brkeng.cpp -FILE: ../../../flutter/third_party/icu/source/common/brkeng.h -FILE: ../../../flutter/third_party/icu/source/common/brkiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/bytesinkutil.cpp -FILE: ../../../flutter/third_party/icu/source/common/bytesinkutil.h -FILE: ../../../flutter/third_party/icu/source/common/bytestream.cpp -FILE: ../../../flutter/third_party/icu/source/common/bytestrie.cpp -FILE: ../../../flutter/third_party/icu/source/common/bytestriebuilder.cpp -FILE: ../../../flutter/third_party/icu/source/common/bytestrieiterator.cpp -FILE: ../../../flutter/third_party/icu/source/common/caniter.cpp -FILE: ../../../flutter/third_party/icu/source/common/capi_helper.h -FILE: ../../../flutter/third_party/icu/source/common/characterproperties.cpp -FILE: ../../../flutter/third_party/icu/source/common/chariter.cpp -FILE: ../../../flutter/third_party/icu/source/common/charstr.cpp -FILE: ../../../flutter/third_party/icu/source/common/charstr.h -FILE: ../../../flutter/third_party/icu/source/common/charstrmap.h -FILE: ../../../flutter/third_party/icu/source/common/cmemory.cpp -FILE: ../../../flutter/third_party/icu/source/common/cmemory.h -FILE: ../../../flutter/third_party/icu/source/common/common.rc -FILE: ../../../flutter/third_party/icu/source/common/cpputils.h -FILE: ../../../flutter/third_party/icu/source/common/cstr.cpp -FILE: ../../../flutter/third_party/icu/source/common/cstr.h -FILE: ../../../flutter/third_party/icu/source/common/cstring.cpp -FILE: ../../../flutter/third_party/icu/source/common/cstring.h -FILE: ../../../flutter/third_party/icu/source/common/cwchar.cpp -FILE: ../../../flutter/third_party/icu/source/common/cwchar.h -FILE: ../../../flutter/third_party/icu/source/common/dictbe.cpp -FILE: ../../../flutter/third_party/icu/source/common/dictbe.h -FILE: ../../../flutter/third_party/icu/source/common/dictionarydata.cpp -FILE: ../../../flutter/third_party/icu/source/common/dictionarydata.h -FILE: ../../../flutter/third_party/icu/source/common/dtintrv.cpp -FILE: ../../../flutter/third_party/icu/source/common/edits.cpp -FILE: ../../../flutter/third_party/icu/source/common/emojiprops.cpp -FILE: ../../../flutter/third_party/icu/source/common/emojiprops.h -FILE: ../../../flutter/third_party/icu/source/common/errorcode.cpp -FILE: ../../../flutter/third_party/icu/source/common/filteredbrk.cpp -FILE: ../../../flutter/third_party/icu/source/common/filterednormalizer2.cpp -FILE: ../../../flutter/third_party/icu/source/common/hash.h -FILE: ../../../flutter/third_party/icu/source/common/icudataver.cpp -FILE: ../../../flutter/third_party/icu/source/common/icuplug.cpp -FILE: ../../../flutter/third_party/icu/source/common/icuplugimp.h -FILE: ../../../flutter/third_party/icu/source/common/loadednormalizer2impl.cpp -FILE: ../../../flutter/third_party/icu/source/common/localebuilder.cpp -FILE: ../../../flutter/third_party/icu/source/common/localefallback_data.h -FILE: ../../../flutter/third_party/icu/source/common/localematcher.cpp -FILE: ../../../flutter/third_party/icu/source/common/localeprioritylist.cpp -FILE: ../../../flutter/third_party/icu/source/common/localeprioritylist.h -FILE: ../../../flutter/third_party/icu/source/common/localsvc.h -FILE: ../../../flutter/third_party/icu/source/common/locavailable.cpp -FILE: ../../../flutter/third_party/icu/source/common/locbased.cpp -FILE: ../../../flutter/third_party/icu/source/common/locbased.h -FILE: ../../../flutter/third_party/icu/source/common/locdispnames.cpp -FILE: ../../../flutter/third_party/icu/source/common/locdistance.cpp -FILE: ../../../flutter/third_party/icu/source/common/locdistance.h -FILE: ../../../flutter/third_party/icu/source/common/locdspnm.cpp -FILE: ../../../flutter/third_party/icu/source/common/locid.cpp -FILE: ../../../flutter/third_party/icu/source/common/loclikely.cpp -FILE: ../../../flutter/third_party/icu/source/common/loclikelysubtags.cpp -FILE: ../../../flutter/third_party/icu/source/common/loclikelysubtags.h -FILE: ../../../flutter/third_party/icu/source/common/locmap.cpp -FILE: ../../../flutter/third_party/icu/source/common/locmap.h -FILE: ../../../flutter/third_party/icu/source/common/locresdata.cpp -FILE: ../../../flutter/third_party/icu/source/common/locutil.cpp -FILE: ../../../flutter/third_party/icu/source/common/locutil.h -FILE: ../../../flutter/third_party/icu/source/common/lsr.cpp -FILE: ../../../flutter/third_party/icu/source/common/lsr.h -FILE: ../../../flutter/third_party/icu/source/common/lstmbe.cpp -FILE: ../../../flutter/third_party/icu/source/common/lstmbe.h -FILE: ../../../flutter/third_party/icu/source/common/messageimpl.h -FILE: ../../../flutter/third_party/icu/source/common/messagepattern.cpp -FILE: ../../../flutter/third_party/icu/source/common/mlbe.cpp -FILE: ../../../flutter/third_party/icu/source/common/mlbe.h -FILE: ../../../flutter/third_party/icu/source/common/msvcres.h -FILE: ../../../flutter/third_party/icu/source/common/mutex.h -FILE: ../../../flutter/third_party/icu/source/common/norm2_nfc_data.h -FILE: ../../../flutter/third_party/icu/source/common/norm2allmodes.h -FILE: ../../../flutter/third_party/icu/source/common/normalizer2.cpp -FILE: ../../../flutter/third_party/icu/source/common/normalizer2impl.cpp -FILE: ../../../flutter/third_party/icu/source/common/normalizer2impl.h -FILE: ../../../flutter/third_party/icu/source/common/normlzr.cpp -FILE: ../../../flutter/third_party/icu/source/common/parsepos.cpp -FILE: ../../../flutter/third_party/icu/source/common/patternprops.cpp -FILE: ../../../flutter/third_party/icu/source/common/patternprops.h -FILE: ../../../flutter/third_party/icu/source/common/pluralmap.cpp -FILE: ../../../flutter/third_party/icu/source/common/pluralmap.h -FILE: ../../../flutter/third_party/icu/source/common/propname.cpp -FILE: ../../../flutter/third_party/icu/source/common/propname.h -FILE: ../../../flutter/third_party/icu/source/common/propname_data.h -FILE: ../../../flutter/third_party/icu/source/common/propsvec.cpp -FILE: ../../../flutter/third_party/icu/source/common/propsvec.h -FILE: ../../../flutter/third_party/icu/source/common/punycode.cpp -FILE: ../../../flutter/third_party/icu/source/common/punycode.h -FILE: ../../../flutter/third_party/icu/source/common/putil.cpp -FILE: ../../../flutter/third_party/icu/source/common/putilimp.h -FILE: ../../../flutter/third_party/icu/source/common/rbbi.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbi_cache.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbi_cache.h -FILE: ../../../flutter/third_party/icu/source/common/rbbidata.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbidata.h -FILE: ../../../flutter/third_party/icu/source/common/rbbinode.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbinode.h -FILE: ../../../flutter/third_party/icu/source/common/rbbirb.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbirb.h -FILE: ../../../flutter/third_party/icu/source/common/rbbirpt.h -FILE: ../../../flutter/third_party/icu/source/common/rbbirpt.txt -FILE: ../../../flutter/third_party/icu/source/common/rbbiscan.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbiscan.h -FILE: ../../../flutter/third_party/icu/source/common/rbbisetb.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbisetb.h -FILE: ../../../flutter/third_party/icu/source/common/rbbistbl.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbitblb.cpp -FILE: ../../../flutter/third_party/icu/source/common/rbbitblb.h -FILE: ../../../flutter/third_party/icu/source/common/resbund.cpp -FILE: ../../../flutter/third_party/icu/source/common/resbund_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/resource.cpp -FILE: ../../../flutter/third_party/icu/source/common/resource.h -FILE: ../../../flutter/third_party/icu/source/common/restrace.cpp -FILE: ../../../flutter/third_party/icu/source/common/restrace.h -FILE: ../../../flutter/third_party/icu/source/common/ruleiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ruleiter.h -FILE: ../../../flutter/third_party/icu/source/common/schriter.cpp -FILE: ../../../flutter/third_party/icu/source/common/serv.cpp -FILE: ../../../flutter/third_party/icu/source/common/serv.h -FILE: ../../../flutter/third_party/icu/source/common/servlk.cpp -FILE: ../../../flutter/third_party/icu/source/common/servlkf.cpp -FILE: ../../../flutter/third_party/icu/source/common/servloc.h -FILE: ../../../flutter/third_party/icu/source/common/servls.cpp -FILE: ../../../flutter/third_party/icu/source/common/servnotf.cpp -FILE: ../../../flutter/third_party/icu/source/common/servnotf.h -FILE: ../../../flutter/third_party/icu/source/common/servrbf.cpp -FILE: ../../../flutter/third_party/icu/source/common/servslkf.cpp -FILE: ../../../flutter/third_party/icu/source/common/sharedobject.cpp -FILE: ../../../flutter/third_party/icu/source/common/sharedobject.h -FILE: ../../../flutter/third_party/icu/source/common/simpleformatter.cpp -FILE: ../../../flutter/third_party/icu/source/common/sprpimpl.h -FILE: ../../../flutter/third_party/icu/source/common/static_unicode_sets.cpp -FILE: ../../../flutter/third_party/icu/source/common/static_unicode_sets.h -FILE: ../../../flutter/third_party/icu/source/common/stringpiece.cpp -FILE: ../../../flutter/third_party/icu/source/common/stringtriebuilder.cpp -FILE: ../../../flutter/third_party/icu/source/common/uarrsort.cpp -FILE: ../../../flutter/third_party/icu/source/common/uarrsort.h -FILE: ../../../flutter/third_party/icu/source/common/uassert.h -FILE: ../../../flutter/third_party/icu/source/common/ubidi.cpp -FILE: ../../../flutter/third_party/icu/source/common/ubidi_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/ubidi_props.h -FILE: ../../../flutter/third_party/icu/source/common/ubidi_props_data.h -FILE: ../../../flutter/third_party/icu/source/common/ubidiimp.h -FILE: ../../../flutter/third_party/icu/source/common/ubidiln.cpp -FILE: ../../../flutter/third_party/icu/source/common/ubiditransform.cpp -FILE: ../../../flutter/third_party/icu/source/common/ubidiwrt.cpp -FILE: ../../../flutter/third_party/icu/source/common/ubrk.cpp -FILE: ../../../flutter/third_party/icu/source/common/ubrkimpl.h -FILE: ../../../flutter/third_party/icu/source/common/ucase.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucase.h -FILE: ../../../flutter/third_party/icu/source/common/ucase_props_data.h -FILE: ../../../flutter/third_party/icu/source/common/ucasemap.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucasemap_imp.h -FILE: ../../../flutter/third_party/icu/source/common/ucasemap_titlecase_brkiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucat.cpp -FILE: ../../../flutter/third_party/icu/source/common/uchar.cpp -FILE: ../../../flutter/third_party/icu/source/common/uchar_props_data.h -FILE: ../../../flutter/third_party/icu/source/common/ucharstrie.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucharstriebuilder.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucharstrieiterator.cpp -FILE: ../../../flutter/third_party/icu/source/common/uchriter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucln.h -FILE: ../../../flutter/third_party/icu/source/common/ucln_cmn.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucln_cmn.h -FILE: ../../../flutter/third_party/icu/source/common/ucln_imp.h -FILE: ../../../flutter/third_party/icu/source/common/ucmndata.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucmndata.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv2022.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_bld.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_bld.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv_cb.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_cnv.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv_ct.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_err.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_ext.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_ext.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv_imp.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv_io.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_io.h -FILE: ../../../flutter/third_party/icu/source/common/ucnv_lmb.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_set.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_u16.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_u32.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_u7.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnv_u8.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvbocu.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvdisp.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvhz.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvisci.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvlat1.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvmbcs.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvmbcs.h -FILE: ../../../flutter/third_party/icu/source/common/ucnvscsu.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucnvsel.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucol_data.h -FILE: ../../../flutter/third_party/icu/source/common/ucol_swp.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucol_swp.h -FILE: ../../../flutter/third_party/icu/source/common/ucptrie.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucptrie_impl.h -FILE: ../../../flutter/third_party/icu/source/common/ucurr.cpp -FILE: ../../../flutter/third_party/icu/source/common/ucurrimp.h -FILE: ../../../flutter/third_party/icu/source/common/udata.cpp -FILE: ../../../flutter/third_party/icu/source/common/udatamem.cpp -FILE: ../../../flutter/third_party/icu/source/common/udatamem.h -FILE: ../../../flutter/third_party/icu/source/common/udataswp.cpp -FILE: ../../../flutter/third_party/icu/source/common/udataswp.h -FILE: ../../../flutter/third_party/icu/source/common/uelement.h -FILE: ../../../flutter/third_party/icu/source/common/uenum.cpp -FILE: ../../../flutter/third_party/icu/source/common/uenumimp.h -FILE: ../../../flutter/third_party/icu/source/common/uhash.cpp -FILE: ../../../flutter/third_party/icu/source/common/uhash.h -FILE: ../../../flutter/third_party/icu/source/common/uhash_us.cpp -FILE: ../../../flutter/third_party/icu/source/common/uidna.cpp -FILE: ../../../flutter/third_party/icu/source/common/uinit.cpp -FILE: ../../../flutter/third_party/icu/source/common/uinvchar.cpp -FILE: ../../../flutter/third_party/icu/source/common/uinvchar.h -FILE: ../../../flutter/third_party/icu/source/common/uiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ulayout_props.h -FILE: ../../../flutter/third_party/icu/source/common/ulist.cpp -FILE: ../../../flutter/third_party/icu/source/common/ulist.h -FILE: ../../../flutter/third_party/icu/source/common/uloc.cpp -FILE: ../../../flutter/third_party/icu/source/common/uloc_keytype.cpp -FILE: ../../../flutter/third_party/icu/source/common/uloc_tag.cpp -FILE: ../../../flutter/third_party/icu/source/common/ulocale.cpp -FILE: ../../../flutter/third_party/icu/source/common/ulocbuilder.cpp -FILE: ../../../flutter/third_party/icu/source/common/ulocimp.h -FILE: ../../../flutter/third_party/icu/source/common/umapfile.cpp -FILE: ../../../flutter/third_party/icu/source/common/umapfile.h -FILE: ../../../flutter/third_party/icu/source/common/umath.cpp -FILE: ../../../flutter/third_party/icu/source/common/umutablecptrie.cpp -FILE: ../../../flutter/third_party/icu/source/common/umutex.cpp -FILE: ../../../flutter/third_party/icu/source/common/umutex.h -FILE: ../../../flutter/third_party/icu/source/common/unames.cpp -FILE: ../../../flutter/third_party/icu/source/common/unicode/appendable.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/brkiter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/bytestream.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/bytestrie.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/bytestriebuilder.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/caniter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/casemap.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/char16ptr.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/chariter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/dbbi.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/docmain.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/dtintrv.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/edits.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/enumset.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/errorcode.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/filteredbrk.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/icudataver.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/icuplug.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/idna.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/localebuilder.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/localematcher.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/localpointer.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/locdspnm.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/locid.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/messagepattern.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/normalizer2.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/normlzr.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/parseerr.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/parsepos.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/platform.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ptypes.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/putil.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/rbbi.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/rep.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/resbund.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/schriter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/simpleformatter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/std_string.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/strenum.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/stringoptions.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/stringpiece.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/stringtriebuilder.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/symtable.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ubidi.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ubiditransform.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ubrk.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucasemap.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucat.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uchar.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucharstrie.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucharstriebuilder.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uchriter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uclean.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucnv.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucnv_cb.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucnv_err.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucnvsel.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uconfig.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucpmap.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucptrie.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ucurr.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/udata.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/udisplaycontext.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uenum.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uidna.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uiter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uldnames.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uloc.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ulocale.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ulocbuilder.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/umachine.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/umisc.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/umutablecptrie.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/unifilt.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/unifunct.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/unimatch.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uniset.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/unistr.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/unorm.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/unorm2.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uobject.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/urename.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/urep.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ures.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uscript.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uset.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/usetiter.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ushape.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/usprep.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ustring.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/ustringtrie.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utext.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf16.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf32.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf8.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utf_old.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utrace.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/utypes.h -FILE: ../../../flutter/third_party/icu/source/common/unicode/uversion.h -FILE: ../../../flutter/third_party/icu/source/common/unifiedcache.cpp -FILE: ../../../flutter/third_party/icu/source/common/unifiedcache.h -FILE: ../../../flutter/third_party/icu/source/common/unifilt.cpp -FILE: ../../../flutter/third_party/icu/source/common/unifunct.cpp -FILE: ../../../flutter/third_party/icu/source/common/uniquecharstr.h -FILE: ../../../flutter/third_party/icu/source/common/uniset.cpp -FILE: ../../../flutter/third_party/icu/source/common/uniset_closure.cpp -FILE: ../../../flutter/third_party/icu/source/common/uniset_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/unisetspan.cpp -FILE: ../../../flutter/third_party/icu/source/common/unisetspan.h -FILE: ../../../flutter/third_party/icu/source/common/unistr.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_case.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_case_locale.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistr_titlecase_brkiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/unistrappender.h -FILE: ../../../flutter/third_party/icu/source/common/unorm.cpp -FILE: ../../../flutter/third_party/icu/source/common/unormcmp.cpp -FILE: ../../../flutter/third_party/icu/source/common/unormimp.h -FILE: ../../../flutter/third_party/icu/source/common/uobject.cpp -FILE: ../../../flutter/third_party/icu/source/common/uposixdefs.h -FILE: ../../../flutter/third_party/icu/source/common/uprops.cpp -FILE: ../../../flutter/third_party/icu/source/common/uprops.h -FILE: ../../../flutter/third_party/icu/source/common/ures_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/uresbund.cpp -FILE: ../../../flutter/third_party/icu/source/common/uresdata.cpp -FILE: ../../../flutter/third_party/icu/source/common/uresdata.h -FILE: ../../../flutter/third_party/icu/source/common/uresimp.h -FILE: ../../../flutter/third_party/icu/source/common/ureslocs.h -FILE: ../../../flutter/third_party/icu/source/common/usc_impl.cpp -FILE: ../../../flutter/third_party/icu/source/common/usc_impl.h -FILE: ../../../flutter/third_party/icu/source/common/uscript.cpp -FILE: ../../../flutter/third_party/icu/source/common/uscript_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/uset.cpp -FILE: ../../../flutter/third_party/icu/source/common/uset_imp.h -FILE: ../../../flutter/third_party/icu/source/common/uset_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/usetiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ushape.cpp -FILE: ../../../flutter/third_party/icu/source/common/usprep.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustack.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustr_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustr_cnv.h -FILE: ../../../flutter/third_party/icu/source/common/ustr_imp.h -FILE: ../../../flutter/third_party/icu/source/common/ustr_titlecase_brkiter.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustr_wcs.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrcase.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrcase_locale.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrenum.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrenum.h -FILE: ../../../flutter/third_party/icu/source/common/ustrfmt.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrfmt.h -FILE: ../../../flutter/third_party/icu/source/common/ustring.cpp -FILE: ../../../flutter/third_party/icu/source/common/ustrtrns.cpp -FILE: ../../../flutter/third_party/icu/source/common/utext.cpp -FILE: ../../../flutter/third_party/icu/source/common/utf_impl.cpp -FILE: ../../../flutter/third_party/icu/source/common/util.cpp -FILE: ../../../flutter/third_party/icu/source/common/util.h -FILE: ../../../flutter/third_party/icu/source/common/util_props.cpp -FILE: ../../../flutter/third_party/icu/source/common/utrace.cpp -FILE: ../../../flutter/third_party/icu/source/common/utracimp.h -FILE: ../../../flutter/third_party/icu/source/common/utrie.cpp -FILE: ../../../flutter/third_party/icu/source/common/utrie.h -FILE: ../../../flutter/third_party/icu/source/common/utrie2.cpp -FILE: ../../../flutter/third_party/icu/source/common/utrie2.h -FILE: ../../../flutter/third_party/icu/source/common/utrie2_builder.cpp -FILE: ../../../flutter/third_party/icu/source/common/utrie2_impl.h -FILE: ../../../flutter/third_party/icu/source/common/utrie_swap.cpp -FILE: ../../../flutter/third_party/icu/source/common/uts46.cpp -FILE: ../../../flutter/third_party/icu/source/common/utypeinfo.h -FILE: ../../../flutter/third_party/icu/source/common/utypes.cpp -FILE: ../../../flutter/third_party/icu/source/common/uvector.cpp -FILE: ../../../flutter/third_party/icu/source/common/uvector.h -FILE: ../../../flutter/third_party/icu/source/common/uvectr32.cpp -FILE: ../../../flutter/third_party/icu/source/common/uvectr32.h -FILE: ../../../flutter/third_party/icu/source/common/uvectr64.cpp -FILE: ../../../flutter/third_party/icu/source/common/uvectr64.h -FILE: ../../../flutter/third_party/icu/source/common/wintz.cpp -FILE: ../../../flutter/third_party/icu/source/common/wintz.h -FILE: ../../../flutter/third_party/icu/source/data/brkitr/adaboost/jaml.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/de.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/dictionaries/thaidict.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/el.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/en.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/en_US.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/en_US_POSIX.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/es.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/it.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_codepoints_exclusive_model4_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_codepoints_exclusive_model5_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_codepoints_exclusive_model7_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_graphclust_model4_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_graphclust_model5_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Burmese_graphclust_model7_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_codepoints_exclusive_model4_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_codepoints_exclusive_model5_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_codepoints_exclusive_model7_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_graphclust_model4_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_graphclust_model5_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/lstm/Thai_graphclust_model7_heavy.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/root.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/char.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_cj.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose_cj.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_loose_phrase_cj.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal_cj.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_normal_phrase_cj.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/line_phrase_cj.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/sent.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/sent_el.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/title.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/word.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/word_POSIX.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/rules/word_fi_sv.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/brkitr/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/cldr-icu-readme.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/af.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/am.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ar.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ar_SA.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ars.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/as.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/az.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/be.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/bg.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/bn.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/bo.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/br.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/bs.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/bs_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ca.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ceb.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/chr.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/cs.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/cy.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/da.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/de.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/de_.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/de_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/de__PHONEBOOK.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/dsb.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/dz.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ee.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/el.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/en.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/en_US.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/en_US_POSIX.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/eo.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/es.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/es_.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/es__TRADITIONAL.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/et.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/fa.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/fa_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ff.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ff_Adlm.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/fil.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/fo.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/fr_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/fy.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ga.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/gl.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/gu.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ha.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/haw.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/he.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/he_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/hi.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/hr.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/hsb.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/hu.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/hy.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/id.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/id_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ig.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/in.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/in_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/is.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/it.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/iw.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/iw_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ka.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/kk.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/kl.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/km.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/kn.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/kok.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ku.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ky.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/lb.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/lij.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/lkt.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ln.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/lo.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/lt.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/lv.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/mk.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ml.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/mn.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/mo.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/mr.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ms.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/mt.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/my.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/nb.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/nb_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ne.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/nl.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/nn.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/no.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/no_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/om.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/or.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/pa.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/pa_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/pa_Guru_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/pa_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/pl.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ps.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ro.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/root.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sa.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/se.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sh.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sh_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sh_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sh_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/si.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sk.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sl.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/smn.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sq.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_Cyrl_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_Cyrl_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_Cyrl_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_Latn_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sr_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/sw.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ta.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/te.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/th.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/tk.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/to.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/tr.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ug.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/uk.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/ur.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/uz.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/vi.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/wae.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/wo.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/xh.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/yi.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/yo.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/yue.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/yue_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/yue_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/yue_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/yue_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_Hans_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_Hant_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_Hant_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zh_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/coll/zu.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/af.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/af_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/agq.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ak.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/am.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar_AE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar_DJ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar_KM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar_LB.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar_SA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar_SO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ar_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ars.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/as.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/asa.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ast.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/az.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/az_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/az_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/az_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/az_Latn_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bas.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/be.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bem.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bez.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bg.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bgc.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bho.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/blo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bm.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bo_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/br.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/brx.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bs.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bs_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bs_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bs_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/bs_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ca.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ca_FR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ccp.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ce.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ceb.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/cgg.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/chr.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ckb.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/cs.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/csw.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/cv.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/cy.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/da.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/dav.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/de.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/de_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/de_LI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/de_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/dje.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/doi.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/dsb.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/dua.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/dyo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/dz.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ebu.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ee.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/el.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_001.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_150.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_AG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_AI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_AU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_BB.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_BI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_BM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_BS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_BW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_CC.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_CK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_CX.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_CY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_DG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_DM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_FJ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_FK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_FM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_GD.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_GG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_GI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_GY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_IE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_IM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_IO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_JE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_JM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_KI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_KN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_KY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_LC.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_LS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_MS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_MT.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_MV.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_MW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_NF.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_NH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_NR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_NU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_NZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_PG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_PN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_PW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_RH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SB.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SC.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SD.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SX.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_SZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_TC.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_TK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_TO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_TT.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_TV.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_VC.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_VG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_VU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_WS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_ZM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/en_ZW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/eo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_419.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_AR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_CL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_CR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_CU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_DO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_GT.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_HN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_MX.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_NI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_PA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_PE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_PR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_PY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_SV.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_US.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_UY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/es_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/et.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/eu.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ewo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fa.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fa_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_BF.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Adlm_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_Latn_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ff_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fil.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fil_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fo_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_BI.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_CD.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_DJ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_DZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_HT.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_KM.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_SC.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_SY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_TN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fr_VU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fur.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/fy.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ga.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/gd.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/gl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/gsw.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/gu.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/guz.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/gv.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ha.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ha_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/haw.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/he.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/he_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/hi.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/hi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/hr.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/hr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/hsb.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/hu.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/hy.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ia.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/id.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/id_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ie.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ig.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ii.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/in.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/in_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/is.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/it.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/iw.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/iw_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/jgo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/jmc.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/jv.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ka.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kab.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kam.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kde.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kea.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kgp.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/khq.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ki.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kk.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kkj.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kln.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/km.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kok.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ks.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ks_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ks_Arab_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ks_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ks_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ksb.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ksf.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ksh.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ku.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kw.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kxv.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kxv_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kxv_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kxv_Latn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kxv_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/kxv_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ky.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lag.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lb.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lg.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lij.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lkt.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lmo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ln.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ln_AO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lrc.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lt.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lu.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/luo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/luy.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/lv.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mai.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mas.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mas_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mer.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mfe.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mg.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mgh.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mgo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mi.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mk.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ml.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mni.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mni_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mni_Beng_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mni_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mr.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ms.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ms_BN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ms_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ms_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mt.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mua.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/my.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/mzn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/naq.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nb.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nd.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nds.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ne.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nl_AW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nl_BQ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nl_CW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nl_SR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nl_SX.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nmg.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nn_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nnh.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/no.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/no_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/no_NO_NY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nqo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nus.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/nyn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/oc.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/om.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/om_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/or.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/os.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/os_RU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pa.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pa_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pa_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pa_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pa_Guru_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pa_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pa_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pcm.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/prg.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ps.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ps_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_AO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_CV.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_PT.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_ST.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/pt_TL.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/qu.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/qu_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/qu_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/raj.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/rm.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/rn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ro.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ro_MD.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/rof.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/root.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ru_BY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ru_KG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ru_KZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ru_MD.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/rw.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/rwk.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sa.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sah.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/saq.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sat.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sat_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sat_Olck.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sat_Olck_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sbp.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sc.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sd.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sd_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sd_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sd_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sd_Deva_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sd_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sd_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/se.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/se_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/seh.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ses.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sg.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sh.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sh_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sh_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sh_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/shi.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/shi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/shi_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/shi_Tfng.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/shi_Tfng_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/si.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sk.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/smn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/so.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/so_DJ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/so_ET.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/so_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sq.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sq_MK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Cyrl_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Latn_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Latn_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Latn_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_Latn_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sr_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/su.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/su_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/su_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/su_Latn_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/supplementalData.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sw.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sw_CD.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sw_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/sw_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/syr.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/szl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ta.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ta_LK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ta_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ta_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/te.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/teo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/teo_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/tg.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/th.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ti.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ti_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/tk.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/tl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/tl_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/to.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/tok.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/tr.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/tt.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/twq.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/tzm.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ug.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uk.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ur.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/ur_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uz.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uz_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uz_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uz_Arab_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uz_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uz_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uz_Latn_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/uz_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vai.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vai_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vai_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vai_Vaii.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vai_Vaii_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vec.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vi.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vmw.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/vun.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/wae.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/wo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/xh.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/xnr.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/xog.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yav.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yi.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yo.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yo_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yrl.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yrl_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yrl_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yue.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yue_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yue_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yue_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yue_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yue_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/yue_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/za.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zgh.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hans_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hans_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hans_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hant_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_Hant_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zh_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/curr/zu.txt -FILE: ../../../flutter/third_party/icu/source/data/icu4j-readme.txt -FILE: ../../../flutter/third_party/icu/source/data/icupkg.inc.in -FILE: ../../../flutter/third_party/icu/source/data/lang/af.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/agq.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ak.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/am.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ar.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ar_EG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ar_LY.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ar_SA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ars.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/as.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/asa.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ast.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ay.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/az.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/az_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/az_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/az_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/az_Latn_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bas.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/be.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bem.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bez.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bg.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bgc.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bho.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/blo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bm.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/br.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/brx.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bs.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bs_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bs_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bs_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/bs_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ca.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ccp.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ce.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ceb.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/cgg.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/chr.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ckb.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/cs.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/csw.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/cv.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/cy.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/da.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/dav.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/de.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/de_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/de_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/dje.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/doi.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/dsb.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/dua.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/dv.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/dyo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/dz.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ebu.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ee.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/el.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_001.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_150.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_AG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_AI.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_AU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_BB.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_BM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_BS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_BW.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_CC.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_CK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_CX.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_CY.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_DG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_DM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_FJ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_FK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_FM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_GD.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_GG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_GI.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_GY.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_IE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_IM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_IO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_JE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_JM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_KI.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_KN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_KY.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_LC.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_LS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_MS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_MT.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_MV.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_MW.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_NF.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_NH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_NR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_NU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_NZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_PG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_PN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_PW.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_RH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SB.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SC.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SD.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SI.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SX.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_SZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_TC.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_TK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_TO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_TT.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_TV.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_VC.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_VG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_VU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_WS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_ZM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/en_ZW.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/eo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_419.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_AR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_CL.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_CR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_CU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_DO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_GT.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_HN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_MX.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_NI.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_PA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_PE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_PR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_PY.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_SV.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_US.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_UY.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/es_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/et.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/eu.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ewo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fa.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fa_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_Adlm.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_Latn_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_Latn_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_Latn_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_Latn_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ff_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fil.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fil_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fr_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fr_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fr_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fur.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/fy.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ga.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/gd.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/gl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/gsw.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/gu.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/guz.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/gv.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ha.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ha_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/haw.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/he.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/he_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/hi.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/hi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/hr.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/hsb.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/hu.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/hy.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ia.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/id.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/id_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ie.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ig.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ii.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ilo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/in.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/in_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/is.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/it.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/iw.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/iw_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/jgo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/jmc.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/jv.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ka.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kab.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kam.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kde.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kea.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kgp.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/khq.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ki.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kk.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kkj.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kln.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/km.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kok.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ks.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ks_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ks_Arab_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ks_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ks_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ksb.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ksf.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ksh.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kw.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kxv.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kxv_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kxv_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kxv_Latn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kxv_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/kxv_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ky.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lag.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lb.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lg.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lij.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lkt.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lmo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ln.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lrc.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lt.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lu.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/luo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lus.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/luy.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/lv.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mai.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mas.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mer.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mfe.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mg.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mgh.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mgo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mi.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mk.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ml.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mni.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mni_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mni_Beng_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mni_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mr.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ms.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mt.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mua.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/my.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/mzn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/naq.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nb.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nd.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nds.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ne.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nmg.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nn_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nnh.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/no.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/no_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/no_NO_NY.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nqo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nus.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/nyn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/oc.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/om.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/or.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/os.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pa.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pa_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pa_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pa_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pa_Guru_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pa_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pa_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pcm.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/prg.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ps.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ps_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_AO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_CV.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_PT.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_ST.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/pt_TL.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/qu.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/raj.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/rm.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/rn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ro.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ro_MD.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/rof.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/root.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/rw.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/rwk.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sa.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sah.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/saq.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sat.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sat_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sat_Olck.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sat_Olck_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sbp.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sc.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sd.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sd_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sd_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sd_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sd_Deva_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sd_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sd_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/se.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/se_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/seh.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ses.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sg.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sh.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sh_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sh_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sh_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/shi.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/shi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/shi_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/shi_Tfng.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/shi_Tfng_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/si.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sk.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/smn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/so.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sq.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Cyrl_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Latn_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Latn_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Latn_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Latn_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_Latn_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sr_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/su.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/su_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/su_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/su_Latn_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sv_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sw.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sw_CD.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/sw_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/syr.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/szl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ta.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/te.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/teo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/th.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ti.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ti_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/tk.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/tl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/tl_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/to.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/tok.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/tr.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ts.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/tt.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/twq.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/tzm.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ug.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uk.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ur.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/ur_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uz.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uz_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uz_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uz_Arab_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uz_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uz_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uz_Latn_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/uz_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vai.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vai_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vai_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vai_Vaii.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vai_Vaii_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vec.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vi.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vmw.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/vun.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/wae.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/wo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/xh.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/xnr.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/xog.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yav.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yi.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yo.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yo_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yrl.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yrl_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yrl_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yue.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yue_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yue_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yue_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yue_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yue_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/yue_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/za.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zgh.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_Hans_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_Hant_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_Hant_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zh_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/lang/zu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/af.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/af_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/af_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/agq.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/agq_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ak.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ak_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/am.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/am_ET.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_001.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_AE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_BH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_DJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_DZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_EG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_EH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_IQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_JO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_KM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_KW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_LB.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_LY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_OM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_PS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_QA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_SA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_SD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_SO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_SY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_TD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_TN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ar_YE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ars.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/as.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/as_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/asa.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/asa_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ast.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ast_ES.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/az.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/az_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/az_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/az_Cyrl_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/az_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/az_Latn_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bas.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bas_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/be.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/be_BY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bem.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bem_ZM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bez.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bez_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bg.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bg_BG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bgc.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bgc_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bho.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bho_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/blo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/blo_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bm.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bm_ML.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bn_BD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bo_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bo_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/br.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/br_FR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/brx.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/brx_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bs.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bs_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bs_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bs_Cyrl_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bs_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/bs_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ca.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ca_AD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ca_ES.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ca_FR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ca_IT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ccp.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ccp_BD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ccp_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ce.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ce_RU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ceb.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ceb_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/cgg.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/cgg_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/chr.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/chr_US.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ckb.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ckb_IQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ckb_IR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/cs.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/cs_CZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/csw.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/csw_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/cv.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/cv_RU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/cy.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/cy_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/da.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/da_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/da_GL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dav.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dav_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/de.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/de_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/de_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/de_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/de_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/de_IT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/de_LI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/de_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dje.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dje_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/doi.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/doi_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dsb.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dsb_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dua.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dua_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dyo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dyo_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dz.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/dz_BT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ebu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ebu_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ee.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ee_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ee_TG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/el.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/el_CY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/el_GR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_001.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_150.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_AE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_AG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_AI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_AS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_AU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_BB.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_BI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_BM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_BS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_BW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_CC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_CK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_CX.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_CY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_DG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_DM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_FJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_FK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_FM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_GD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_GG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_GI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_GU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_GY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_IE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_IM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_IO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_JE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_JM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_KI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_KN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_KY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_LC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_LS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MP.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MV.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_NF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_NH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_NR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_NU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_NZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_PG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_PN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_PR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_PW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_RH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SB.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SX.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_SZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_TC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_TK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_TO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_TT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_TV.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_UM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_US.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_US_POSIX.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_VC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_VG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_VI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_VU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_WS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_ZM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/en_ZW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/eo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/eo_001.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_419.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_AR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_CL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_CR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_CU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_DO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_EA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_ES.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_GT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_HN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_IC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_MX.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_NI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_PA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_PE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_PR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_PY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_SV.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_US.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_UY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/es_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/et.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/et_EE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/eu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/eu_ES.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ewo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ewo_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fa.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fa_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fa_IR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_BF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Adlm_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_BF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_Latn_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ff_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fi_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fil.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fil_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fo_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fo_FO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_BF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_BI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_BL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_CD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_CF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_CG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_CI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_DJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_DZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_FR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_GA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_GF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_GP.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_HT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_KM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_MC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_MF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_ML.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_MQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_NC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_PF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_PM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_RE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_SC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_SY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_TD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_TG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_TN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_VU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_WF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fr_YT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fur.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fur_IT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fy.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/fy_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ga.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ga_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ga_IE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gd.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gd_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gl_ES.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gsw.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gsw_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gsw_FR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gsw_LI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gu_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/guz.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/guz_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gv.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/gv_IM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ha.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ha_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ha_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ha_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/haw.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/haw_US.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/he.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/he_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hi.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hi_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hi_Latn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hr.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hr_HR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hsb.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hsb_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hu_HU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hy.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/hy_AM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ia.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ia_001.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/id.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/id_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ie.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ie_EE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ig.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ig_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ii.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ii_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/in.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/in_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/is.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/is_IS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/it.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/it_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/it_IT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/it_SM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/it_VA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/iw.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/iw_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ja_JP.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ja_JP_TRADITIONAL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/jgo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/jgo_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/jmc.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/jmc_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/jv.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/jv_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ka.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ka_GE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kab.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kab_DZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kam.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kam_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kde.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kde_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kea.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kea_CV.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kgp.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kgp_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/khq.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/khq_ML.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ki.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ki_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kk.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kk_KZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kkj.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kkj_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kl_GL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kln.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kln_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/km.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/km_KH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ko_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ko_KP.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ko_KR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kok.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kok_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ks.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ks_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ks_Arab_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ks_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ks_Deva_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ks_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ksb.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ksb_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ksf.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ksf_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ksh.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ksh_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ku_TR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kw.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kw_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv_Deva_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv_Latn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv_Orya_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/kxv_Telu_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ky.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ky_KG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lag.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lag_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lb.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lb_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lg.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lg_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lij.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lij_IT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lkt.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lkt_US.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lmo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lmo_IT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ln.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ln_AO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ln_CD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ln_CF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ln_CG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lo_LA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lrc.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lrc_IQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lrc_IR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lt.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lt_LT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lu_CD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/luo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/luo_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/luy.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/luy_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lv.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/lv_LV.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mai.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mai_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mas.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mas_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mas_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mer.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mer_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mfe.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mfe_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mg.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mg_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mgh.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mgh_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mgo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mgo_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mi.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mi_NZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mk.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mk_MK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ml.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ml_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mn_MN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mni.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mni_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mni_Beng_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mni_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mr.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mr_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ms.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ms_BN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ms_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ms_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ms_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mt.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mt_MT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mua.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mua_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/my.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/my_MM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mzn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/mzn_IR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/naq.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/naq_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nb.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nb_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nb_SJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nd.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nd_ZW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nds.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nds_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nds_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ne.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ne_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ne_NP.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nl_AW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nl_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nl_BQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nl_CW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nl_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nl_SR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nl_SX.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nmg.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nmg_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nn_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nnh.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nnh_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/no.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/no_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/no_NO_NY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nqo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nqo_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nus.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nus_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nyn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/nyn_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/oc.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/oc_ES.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/oc_FR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/om.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/om_ET.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/om_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/or.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/or_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/os.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/os_GE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/os_RU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pa.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pa_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pa_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pa_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pa_Guru_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pa_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pa_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pcm.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pcm_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pl_PL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/prg.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/prg_PL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ps.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ps_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ps_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_AO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_CV.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_PT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_ST.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/pt_TL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/qu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/qu_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/qu_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/qu_PE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/raj.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/raj_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rm.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rm_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rn_BI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ro.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ro_MD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ro_RO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rof.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rof_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/root.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ru_BY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ru_KG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ru_KZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ru_MD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ru_RU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ru_UA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rw.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rw_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rwk.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/rwk_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sa.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sa_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sah.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sah_RU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/saq.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/saq_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sat.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sat_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sat_Olck.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sat_Olck_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sbp.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sbp_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sc.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sc_IT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sd.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sd_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sd_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sd_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sd_Deva_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sd_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sd_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/se.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/se_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/se_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/se_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/seh.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/seh_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ses.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ses_ML.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sg.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sg_CF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sh.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sh_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sh_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sh_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/shi.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/shi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/shi_Latn_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/shi_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/shi_Tfng.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/shi_Tfng_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/si.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/si_LK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sk.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sk_SK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sl_SI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/smn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/smn_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sn_ZW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/so.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/so_DJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/so_ET.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/so_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/so_SO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sq.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sq_AL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sq_MK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sq_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Cyrl_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Latn_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Latn_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Latn_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Latn_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_Latn_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sr_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/su.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/su_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/su_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/su_Latn_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sv_AX.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sv_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sv_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sw.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sw_CD.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sw_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sw_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/sw_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/syr.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/syr_IQ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/syr_SY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/szl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/szl_PL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ta.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ta_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ta_LK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ta_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ta_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/te.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/te_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/teo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/teo_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/teo_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tg_TJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/th.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/th_TH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/th_TH_TRADITIONAL.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ti.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ti_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ti_ET.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tk.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tk_TM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tl_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/to.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/to_TO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tok.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tok_001.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tr.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tr_CY.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tr_TR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tt.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tt_RU.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/twq.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/twq_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tzm.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/tzm_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ug.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ug_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uk.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uk_UA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ur.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ur_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/ur_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz_Arab_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz_Cyrl_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz_Latn_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/uz_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vai.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vai_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vai_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vai_Latn_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vai_Vaii.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vai_Vaii_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vec.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vec_IT.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vi.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vi_VN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vmw.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vmw_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vun.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/vun_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/wae.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/wae_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/wo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/wo_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/xh.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/xh_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/xnr.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/xnr_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/xog.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/xog_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yav.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yav_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yi.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yi_UA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yo.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yo_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yo_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yrl.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yrl_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yrl_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yrl_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yue.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yue_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yue_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yue_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yue_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yue_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/yue_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/za.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/za_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zgh.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zgh_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hans_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hans_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hans_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hant_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_Hant_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zh_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zu.txt -FILE: ../../../flutter/third_party/icu/source/data/locales/zu_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/makedata.mak -FILE: ../../../flutter/third_party/icu/source/data/mappings/cns-11643-1992.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ebcdic-xml-us.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/euc-jp-2007.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/euc-tw-2014.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/gb18030-2022.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/gsm-03.38-2009.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1006_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1025_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1026_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1047_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1051_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1089_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1097_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1098_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1112_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1122_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1123_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1124_P100-1996.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1125_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1129_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1130_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1131_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1132_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1133_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1137_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1140_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1141_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1142_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1143_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1144_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1145_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1146_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1147_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1148_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1149_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1153_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1154_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1155_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1156_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1157_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1158_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1160_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1162_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1164_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1168_P100-2002.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1250_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1251_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1252_P100-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1253_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1254_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1255_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1256_P110-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1257_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1258_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-12712_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1276_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1363_P110-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1363_P11B-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1364_P110-2007.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1371_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1373_P100-2002.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1375_P100-2008.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1383_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1386_P100-2001.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1388_P103-2001.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1390_P110-2003.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-1399_P110-2003.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-16684_P110-2003.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-16804_X110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-273_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-277_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-278_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-280_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-284_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-285_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-290_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-297_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P120-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P12A_P12A-2004_U2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-33722_P12A_P12A-2009_U2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-37_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-420_X120-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-424_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-437_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-4517_P100-2005.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-4899_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-4909_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-4971_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-500_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5012_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5123_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5346_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5347_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5348_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5349_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5350_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5351_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5352_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5353_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5354_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5471_P100-2006.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-5478_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-720_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-737_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-775_P100-1996.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-803_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-813_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-838_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-8482_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-850_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-851_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-852_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-855_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-856_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-857_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-858_P100-1997.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-860_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-861_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-862_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-863_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-864_X110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-865_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-866_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-867_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-868_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-869_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-870_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-871_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-874_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-875_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-878_P100-1996.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9005_X110-2007.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-901_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-902_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9067_X100-2005.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-912_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-913_P100-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-914_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-915_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-916_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-918_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-920_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-921_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-922_P100-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-923_P100-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-930_P120-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-933_P110-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-935_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-937_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-939_P120-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-942_P12A-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-943_P130-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-943_P15A-2003.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9447_P100-2002.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9448_X100-2005.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-9449_P100-2002.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-949_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-949_P11A-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-950_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-954_P101-2007.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-964_P110-1999.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-970_P110_P110-2006_U2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/ibm-971_P100-1995.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-25546.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d1.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d3.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d4.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d5.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d6.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-d7.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s1.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-s3.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/icu-internal-compound-t.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859_10-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859_11-2001.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-8859_14-1998.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/iso-ir-165.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/jisx-212.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/lmb-excp.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-0_2-10.2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-29-10.2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-35-10.2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-6_2-10.4.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/macos-7_3-10.2.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-874-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-949-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/mappings/windows-950-2000.ucm -FILE: ../../../flutter/third_party/icu/source/data/misc/currencyNumericCodes.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/dayPeriods.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/genderList.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/grammaticalFeatures.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/icudata.rc -FILE: ../../../flutter/third_party/icu/source/data/misc/icustd.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/icuver.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/keyTypeData.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/langInfo.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/metaZones.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/metadata.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/numberingSystems.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/pluralRanges.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/plurals.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/supplementalData.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/timezoneTypes.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/units.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/windowsZones.txt -FILE: ../../../flutter/third_party/icu/source/data/misc/zoneinfo64.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/af.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ak.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/am.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ar.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ar_SA.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ars.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/az.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/be.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/bg.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/bs.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ca.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ccp.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/chr.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/cs.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/cy.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/da.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/de.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/de_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ee.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/el.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/en.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/en_001.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/en_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/eo.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_419.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_DO.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_GT.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_HN.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_MX.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_NI.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_PA.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_PR.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_SV.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/es_US.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/et.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/fa.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/fa_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ff.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/fil.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/fo.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/fr_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/fr_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ga.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/he.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/hi.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/hr.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/hu.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/hy.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/id.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/in.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/is.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/it.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/iw.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ka.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/kk.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/kl.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/km.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ky.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/lb.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/lo.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/lrc.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/lt.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/lv.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/mk.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ms.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/mt.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/my.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/nb.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ne.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/nl.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/nn.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/no.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/pl.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/pt_PT.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/qu.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ro.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/root.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/se.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/sh.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/sk.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/sl.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/sq.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/sr.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/sr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/su.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/sw.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/ta.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/th.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/tr.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/uk.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/vec.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/vi.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/yue.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/yue_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/zh_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/zh_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/zh_Hant_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/zh_Hant_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/zh_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/rbnf/zh_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/af.txt -FILE: ../../../flutter/third_party/icu/source/data/region/agq.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ak.txt -FILE: ../../../flutter/third_party/icu/source/data/region/am.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ar.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ar_AE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ar_LY.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ar_SA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ars.txt -FILE: ../../../flutter/third_party/icu/source/data/region/as.txt -FILE: ../../../flutter/third_party/icu/source/data/region/asa.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ast.txt -FILE: ../../../flutter/third_party/icu/source/data/region/az.txt -FILE: ../../../flutter/third_party/icu/source/data/region/az_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/az_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/az_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/az_Latn_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bas.txt -FILE: ../../../flutter/third_party/icu/source/data/region/be.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bem.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bez.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bg.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bgc.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bho.txt -FILE: ../../../flutter/third_party/icu/source/data/region/blo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bm.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bo_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/br.txt -FILE: ../../../flutter/third_party/icu/source/data/region/brx.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bs.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bs_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bs_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bs_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/bs_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ca.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ccp.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ce.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ceb.txt -FILE: ../../../flutter/third_party/icu/source/data/region/cgg.txt -FILE: ../../../flutter/third_party/icu/source/data/region/chr.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ckb.txt -FILE: ../../../flutter/third_party/icu/source/data/region/cs.txt -FILE: ../../../flutter/third_party/icu/source/data/region/csw.txt -FILE: ../../../flutter/third_party/icu/source/data/region/cv.txt -FILE: ../../../flutter/third_party/icu/source/data/region/cy.txt -FILE: ../../../flutter/third_party/icu/source/data/region/da.txt -FILE: ../../../flutter/third_party/icu/source/data/region/dav.txt -FILE: ../../../flutter/third_party/icu/source/data/region/de.txt -FILE: ../../../flutter/third_party/icu/source/data/region/de_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/region/de_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/dje.txt -FILE: ../../../flutter/third_party/icu/source/data/region/doi.txt -FILE: ../../../flutter/third_party/icu/source/data/region/dsb.txt -FILE: ../../../flutter/third_party/icu/source/data/region/dua.txt -FILE: ../../../flutter/third_party/icu/source/data/region/dyo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/dz.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ebu.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ee.txt -FILE: ../../../flutter/third_party/icu/source/data/region/el.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_001.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_150.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_AG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_AI.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_AU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_BB.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_BM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_BS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_BW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_CC.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_CK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_CX.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_CY.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_DG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_DM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_FJ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_FK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_FM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_GD.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_GG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_GI.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_GY.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_IE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_IM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_IO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_JE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_JM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_KI.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_KN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_KY.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_LC.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_LS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_MS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_MT.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_MV.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_MW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_NF.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_NH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_NR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_NU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_NZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_PG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_PN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_PW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_RH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SB.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SC.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SD.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SI.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SX.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_SZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_TC.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_TK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_TO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_TT.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_TV.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_VC.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_VG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_VU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_WS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_ZM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/en_ZW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/eo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_419.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_AR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_CL.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_CR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_CU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_DO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_GT.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_HN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_MX.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_NI.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_PA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_PE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_PR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_PY.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_SV.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_US.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_UY.txt -FILE: ../../../flutter/third_party/icu/source/data/region/es_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/et.txt -FILE: ../../../flutter/third_party/icu/source/data/region/eu.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ewo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fa.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fa_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_Adlm.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_Latn_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_Latn_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_Latn_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_Latn_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ff_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fil.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fil_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fr_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fr_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fur.txt -FILE: ../../../flutter/third_party/icu/source/data/region/fy.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ga.txt -FILE: ../../../flutter/third_party/icu/source/data/region/gd.txt -FILE: ../../../flutter/third_party/icu/source/data/region/gl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/gsw.txt -FILE: ../../../flutter/third_party/icu/source/data/region/gu.txt -FILE: ../../../flutter/third_party/icu/source/data/region/guz.txt -FILE: ../../../flutter/third_party/icu/source/data/region/gv.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ha.txt -FILE: ../../../flutter/third_party/icu/source/data/region/haw.txt -FILE: ../../../flutter/third_party/icu/source/data/region/he.txt -FILE: ../../../flutter/third_party/icu/source/data/region/he_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/region/hi.txt -FILE: ../../../flutter/third_party/icu/source/data/region/hi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/hr.txt -FILE: ../../../flutter/third_party/icu/source/data/region/hsb.txt -FILE: ../../../flutter/third_party/icu/source/data/region/hu.txt -FILE: ../../../flutter/third_party/icu/source/data/region/hy.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ia.txt -FILE: ../../../flutter/third_party/icu/source/data/region/id.txt -FILE: ../../../flutter/third_party/icu/source/data/region/id_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ie.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ig.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ii.txt -FILE: ../../../flutter/third_party/icu/source/data/region/in.txt -FILE: ../../../flutter/third_party/icu/source/data/region/in_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/region/is.txt -FILE: ../../../flutter/third_party/icu/source/data/region/it.txt -FILE: ../../../flutter/third_party/icu/source/data/region/iw.txt -FILE: ../../../flutter/third_party/icu/source/data/region/iw_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/region/jgo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/jmc.txt -FILE: ../../../flutter/third_party/icu/source/data/region/jv.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ka.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kab.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kam.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kde.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kea.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kgp.txt -FILE: ../../../flutter/third_party/icu/source/data/region/khq.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ki.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kk.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kkj.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kln.txt -FILE: ../../../flutter/third_party/icu/source/data/region/km.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ko_KP.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kok.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ks.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ks_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ks_Arab_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ks_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ks_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ksb.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ksf.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ksh.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ku.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kw.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kxv.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kxv_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kxv_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kxv_Latn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kxv_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/region/kxv_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ky.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lag.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lb.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lg.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lij.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lkt.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lmo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ln.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lrc.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lt.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lu.txt -FILE: ../../../flutter/third_party/icu/source/data/region/luo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/luy.txt -FILE: ../../../flutter/third_party/icu/source/data/region/lv.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mai.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mas.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mer.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mfe.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mg.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mgh.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mgo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mi.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mk.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ml.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mni.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mni_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mni_Beng_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mni_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mr.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ms.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mt.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mua.txt -FILE: ../../../flutter/third_party/icu/source/data/region/my.txt -FILE: ../../../flutter/third_party/icu/source/data/region/mzn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/naq.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nb.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nd.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nds.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ne.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nmg.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nn_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nnh.txt -FILE: ../../../flutter/third_party/icu/source/data/region/no.txt -FILE: ../../../flutter/third_party/icu/source/data/region/no_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/no_NO_NY.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nqo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nus.txt -FILE: ../../../flutter/third_party/icu/source/data/region/nyn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/oc.txt -FILE: ../../../flutter/third_party/icu/source/data/region/oc_ES.txt -FILE: ../../../flutter/third_party/icu/source/data/region/om.txt -FILE: ../../../flutter/third_party/icu/source/data/region/or.txt -FILE: ../../../flutter/third_party/icu/source/data/region/os.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pa.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pa_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pa_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pa_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pa_Guru_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pa_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pa_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pcm.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/prg.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ps.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ps_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_AO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_CV.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_PT.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_ST.txt -FILE: ../../../flutter/third_party/icu/source/data/region/pt_TL.txt -FILE: ../../../flutter/third_party/icu/source/data/region/qu.txt -FILE: ../../../flutter/third_party/icu/source/data/region/raj.txt -FILE: ../../../flutter/third_party/icu/source/data/region/rm.txt -FILE: ../../../flutter/third_party/icu/source/data/region/rn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ro.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ro_MD.txt -FILE: ../../../flutter/third_party/icu/source/data/region/rof.txt -FILE: ../../../flutter/third_party/icu/source/data/region/root.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ru_UA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/rw.txt -FILE: ../../../flutter/third_party/icu/source/data/region/rwk.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sa.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sah.txt -FILE: ../../../flutter/third_party/icu/source/data/region/saq.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sat.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sat_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sat_Olck.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sat_Olck_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sbp.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sc.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sd.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sd_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sd_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sd_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sd_Deva_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sd_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sd_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/se.txt -FILE: ../../../flutter/third_party/icu/source/data/region/se_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/region/seh.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ses.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sg.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sh.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sh_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sh_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sh_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/shi.txt -FILE: ../../../flutter/third_party/icu/source/data/region/shi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/shi_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/shi_Tfng.txt -FILE: ../../../flutter/third_party/icu/source/data/region/shi_Tfng_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/si.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sk.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/smn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/so.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sq.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Cyrl_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Latn_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Latn_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Latn_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Latn_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_Latn_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sr_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/region/su.txt -FILE: ../../../flutter/third_party/icu/source/data/region/su_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/region/su_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/su_Latn_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sw.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sw_CD.txt -FILE: ../../../flutter/third_party/icu/source/data/region/sw_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/syr.txt -FILE: ../../../flutter/third_party/icu/source/data/region/szl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ta.txt -FILE: ../../../flutter/third_party/icu/source/data/region/te.txt -FILE: ../../../flutter/third_party/icu/source/data/region/teo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/tg.txt -FILE: ../../../flutter/third_party/icu/source/data/region/th.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ti.txt -FILE: ../../../flutter/third_party/icu/source/data/region/tk.txt -FILE: ../../../flutter/third_party/icu/source/data/region/tl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/tl_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/region/to.txt -FILE: ../../../flutter/third_party/icu/source/data/region/tok.txt -FILE: ../../../flutter/third_party/icu/source/data/region/tr.txt -FILE: ../../../flutter/third_party/icu/source/data/region/tt.txt -FILE: ../../../flutter/third_party/icu/source/data/region/twq.txt -FILE: ../../../flutter/third_party/icu/source/data/region/tzm.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ug.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uk.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ur.txt -FILE: ../../../flutter/third_party/icu/source/data/region/ur_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uz.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uz_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uz_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uz_Arab_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uz_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uz_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uz_Latn_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/uz_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vai.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vai_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vai_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vai_Vaii.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vai_Vaii_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vec.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vi.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vmw.txt -FILE: ../../../flutter/third_party/icu/source/data/region/vun.txt -FILE: ../../../flutter/third_party/icu/source/data/region/wae.txt -FILE: ../../../flutter/third_party/icu/source/data/region/wo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/xh.txt -FILE: ../../../flutter/third_party/icu/source/data/region/xnr.txt -FILE: ../../../flutter/third_party/icu/source/data/region/xog.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yav.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yi.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yo.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yo_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yrl.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yrl_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yrl_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yue.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yue_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yue_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yue_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yue_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yue_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/region/yue_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/za.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zgh.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_Hans_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_Hant_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_Hant_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zh_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/region/zu.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3491.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530cs.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530csci.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3530mixp.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3722.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3920node.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc3920res.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4011.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4013.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4505.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4518.txt -FILE: ../../../flutter/third_party/icu/source/data/sprep/rfc4518ci.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Any_Accents.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Any_Publishing.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Arab_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Beng_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Bengali_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Cyrl_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Deva_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Devanagari_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Cyrl_Gutgarts.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_ALALOC.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_ALALOC_Geminate.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Aethiopi.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Aethiopi_Geminate.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Beta_Metsehaf.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Beta_Metsehaf_Geminate.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_ES3842.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_IES_JES_1964.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_IES_JES_1964_Geminate.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_Lambdin.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Ethi_Latn_SERA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Fullwidth_Halfwidth.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Geor_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Grek_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Grek_Latn_UNGEGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujarati_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gujr_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Gurmukhi_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Guru_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Han_Latin_Names.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Han_Spacedhan.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Hang_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Hani_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Hans_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Hebr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Hira_Kana.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Hira_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Arabic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Bengali.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Devanagari.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Gujarati.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Gurmukhi.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Kannada.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Latin.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Malayalam.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Oriya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Tamil.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_Telugu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/InterIndic_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Jamo_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Kannada_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Knda_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latin_ASCII.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latin_ConjoiningJamo.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latin_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latin_NumericPinyin.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Armn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Bopo.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Cans.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Ethi_Williamson.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Hang.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Jamo.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Kana.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Thaa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Latn_Thai.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Malayalam_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Mlym_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Oriya_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Orya_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Pinyin_NumericPinyin.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Syrc_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Tamil_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Taml_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Gujr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Knda.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Mlym.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_Taml.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telu_ur.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Telugu_InterIndic.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ThaiLogical_Latin.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Thai_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Thai_ThaiLogical.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Thai_ThaiSemi.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/Zawgyi_my.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/am_Ethi_am_Brai.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/am_Ethi_am_Ethi_Geminate.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/am_Ethi_d0_Morse.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/am_am_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/am_am_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/am_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/am_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/am_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ar_ar_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/az_Cyrl_az_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/az_Lower.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/az_Title.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/az_Upper.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/be_be_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/bg_bg_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/blt_blt_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/byn_Ethi_byn_Latn_Tekie_Alibekit.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/byn_Ethi_byn_Latn_Xaleget.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ch_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ch_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ch_ch_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ch_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ch_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/chr_chr_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_FONIPA_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_FONIPA_ko.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_cs_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cs_ko.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/cy_cy_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/de_ASCII.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/dsb_dsb_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/dv_dv_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/el.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/el_Lower.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/el_Title.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/el_Upper.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/el_el_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/en.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/eo_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/eo_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/eo_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/eo_eo_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/eo_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_419_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_419_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_419_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_419_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_419_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_419_zh.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_FONIPA_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_FONIPA_es_419_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_FONIPA_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_FONIPA_zh.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_es_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/es_zh.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/fa_fa_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/fa_fa_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/gz_Ethi_Sarb.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ha_ha_NE.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/he_he_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_AREVMDA_hy_AREVMDA_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_hy_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/hy_hy_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ia_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ia_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ia_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ia_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ia_ia_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/it_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/it_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ja_Hrkt_ja_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ja_Latn_ko.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ja_Latn_ru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ka_ka_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ka_ka_Latn_BGN_1981.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/kk_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/kk_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/kk_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/kk_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/kk_kk_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/kk_kk_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ko_ko_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ky_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ky_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ky_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ky_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ky_ky_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ky_ky_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/la_la_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/lt_Lower.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/lt_Title.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/lt_Upper.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/mk_mk_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/mn_mn_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/mn_mn_Latn_MNS.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/my_Zawgyi.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/my_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/my_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/my_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/my_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/my_my_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/my_my_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/nl_Title.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/nv_nv_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/pl_FONIPA_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/pl_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/pl_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/pl_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/pl_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/pl_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/pl_pl_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ps_ps_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/rm_SURSILV_rm_FONIPA_SURSILV.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ro_FONIPA_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ro_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ro_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ro_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ro_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ro_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ro_ro_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/root.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ru_Latn_ru_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ru_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ru_ru_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ru_zh.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sat_Olck_sat_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sat_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sat_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sat_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sat_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sgw_Ethi_Ethi_Gurage_2013.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/si_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/si_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/si_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/si_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/si_si_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/si_si_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sk_FONIPA_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sk_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sk_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sk_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sk_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sk_ja.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sk_sk_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/sr_sr_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ta_ta_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tk_Cyrl_tk_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tlh_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tlh_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tlh_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tlh_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tlh_tlh_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tr_Lower.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tr_Title.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/tr_Upper.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/ug_ug_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/uk_uk_Latn_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/und_FONIPA_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/und_FONIPA_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/und_FONIPA_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/und_FONIPA_und_FONXSAMP.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/uz_Cyrl_uz_BGN.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/uz_Cyrl_uz_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/vec_vec_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/xh_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/xh_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/xh_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/xh_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/xh_xh_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/yo_yo_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/zh_Latn_PINYIN_ru.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/zu_am.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/zu_ar.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/zu_chr.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/zu_fa.txt -FILE: ../../../flutter/third_party/icu/source/data/translit/zu_zu_FONIPA.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/CaseFolding.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/DerivedCoreProperties.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/DerivedNormalizationProps.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/FractionalUCA.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/NormalizationCorrections.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/NormalizationTest.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/SpecialCasing.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/UCARules.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/changes.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/confusables.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/emoji-sequences.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/emoji-zwj-sequences.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfc.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc_cf.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/nfkc_scf.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/norm2/uts46.txt -FILE: ../../../flutter/third_party/icu/source/data/unidata/ppucd.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/af.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/agq.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ak.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/am.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ar.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ar_SA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ars.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/as.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/asa.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ast.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/az.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/az_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/az_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/az_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/az_Latn_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bas.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/be.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bem.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bez.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bg.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bgc.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bho.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/blo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bm.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/br.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/brx.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bs.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bs_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bs_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bs_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/bs_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ca.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ccp.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ce.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ceb.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/cgg.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/chr.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ckb.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/cs.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/csw.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/cv.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/cy.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/da.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/dav.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/de.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/de_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/dje.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/doi.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/dsb.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/dua.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/dyo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/dz.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ebu.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ee.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/el.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_001.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_150.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_AG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_AI.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_AU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_BB.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_BM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_BS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_BW.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_CC.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_CK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_CX.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_CY.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_DG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_DM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_FJ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_FK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_FM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_GD.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_GG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_GI.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_GY.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_IE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_IM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_IO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_JE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_JM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_KI.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_KN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_KY.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_LC.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_LS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_MS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_MT.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_MV.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_MW.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_NF.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_NH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_NR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_NU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_NZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_PG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_PN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_PW.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_RH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SB.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SC.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SD.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SI.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SX.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_SZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_TC.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_TK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_TO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_TT.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_TV.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_VC.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_VG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_VU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_WS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_ZM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/en_ZW.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/eo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_419.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_AR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_CL.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_CR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_CU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_DO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_GT.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_HN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_MX.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_NI.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_PA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_PE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_PR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_PY.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_SV.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_US.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_UY.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/es_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/et.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/eu.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ewo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fa.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_Adlm.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_Latn_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_Latn_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_Latn_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_Latn_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ff_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fil.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fil_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fr_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fr_HT.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fur.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/fy.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ga.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/gd.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/gl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/gsw.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/gu.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/guz.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/gv.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ha.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/haw.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/he.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/he_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/hi.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/hi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/hr.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/hsb.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/hu.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/hy.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ia.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/id.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/id_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ie.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ig.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ii.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/in.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/in_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/is.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/it.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/iw.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/iw_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/jgo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/jmc.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/jv.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ka.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kab.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kam.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kde.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kea.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kgp.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/khq.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ki.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kk.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kkj.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kln.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/km.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kok.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ks.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ks_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ks_Arab_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ks_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ks_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ksb.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ksf.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ksh.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ku.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kw.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kxv.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kxv_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kxv_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kxv_Latn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kxv_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/kxv_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ky.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lag.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lb.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lg.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lij.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lkt.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lmo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ln.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lrc.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lt.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lu.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/luo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/luy.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/lv.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mai.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mas.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mer.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mfe.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mg.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mgh.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mgo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mi.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mk.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ml.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mni.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mni_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mni_Beng_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mni_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mr.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ms.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mt.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mua.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/my.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/mzn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/naq.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nb.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nd.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nds.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ne.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nmg.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nn_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nnh.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/no.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/no_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/no_NO_NY.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nqo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nus.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/nyn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/oc.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/om.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/or.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/os.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pa.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pa_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pa_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pa_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pa_Guru_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pa_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pa_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pcm.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/prg.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ps.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ps_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_AO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_CV.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_PT.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_ST.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/pt_TL.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/qu.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/raj.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/rm.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/rn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ro.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ro_MD.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/rof.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/root.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/rw.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/rwk.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sa.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sah.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/saq.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sat.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sat_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sat_Olck.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sat_Olck_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sbp.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sc.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sd.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sd_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sd_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sd_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sd_Deva_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sd_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sd_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/se.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/seh.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ses.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sg.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sh.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sh_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sh_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sh_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/shi.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/shi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/shi_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/shi_Tfng.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/shi_Tfng_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/si.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sk.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/smn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/so.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sq.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Cyrl_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Latn_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Latn_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Latn_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_Latn_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sr_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/su.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/su_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/su_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/su_Latn_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sv_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sw.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/sw_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/syr.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/szl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ta.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/te.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/teo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/tg.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/th.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ti.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/tk.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/tl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/tl_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/to.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/tok.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/tr.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/tt.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/twq.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/tzm.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ug.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uk.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ur.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/ur_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uz.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uz_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uz_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uz_Arab_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uz_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uz_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uz_Latn_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/uz_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vai.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vai_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vai_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vai_Vaii.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vai_Vaii_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vec.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vi.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vmw.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/vun.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/wae.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/wo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/xh.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/xnr.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/xog.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yav.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yi.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yo.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yo_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yrl.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yrl_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yrl_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yue.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yue_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yue_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yue_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yue_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yue_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/yue_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/za.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zgh.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hans_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hans_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hans_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hant_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_Hant_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zh_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/unit/zu.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/af.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/agq.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ak.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/am.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ar.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ar_SA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ars.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/as.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/asa.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ast.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/az.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/az_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/az_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/az_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/az_Latn_AZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bas.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/be.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bem.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bez.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bg.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bgc.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bho.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/blo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bm.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/br.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/brx.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bs.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bs_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bs_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bs_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/bs_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ca.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ccp.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ce.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ceb.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/cgg.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/chr.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ckb.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/cs.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/csw.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/cv.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/cy.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/da.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/dav.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/de.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/de_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/dje.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/doi.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/dsb.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/dua.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/dyo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/dz.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ebu.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ee.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/el.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_001.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_150.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_AE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_AG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_AI.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_AT.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_AU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_BB.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_BE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_BM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_BS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_BW.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_CC.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_CK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_CX.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_CY.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_DE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_DG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_DK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_DM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_ER.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_FJ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_FK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_FM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_GB.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_GD.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_GG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_GH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_GI.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_GM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_GU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_GY.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_IE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_IM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_IO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_JE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_JM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_KI.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_KN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_KY.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_LC.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_LS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MP.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MT.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MV.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MW.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_NA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_NF.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_NG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_NH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_NL.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_NR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_NU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_NZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_PG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_PN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_PW.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_RH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_RW.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SB.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SC.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SD.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SI.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SL.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SX.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_SZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_TC.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_TK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_TO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_TT.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_TV.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_TZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_UG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_VC.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_VG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_VU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_WS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_ZA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_ZM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/en_ZW.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/eo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_419.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_AR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_BR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_BZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_CL.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_CR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_CU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_DO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_GT.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_HN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_MX.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_NI.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_PA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_PE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_PR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_PY.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_SV.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_US.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_UY.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/es_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/et.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/eu.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ewo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fa.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_Adlm.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_Latn_CM.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_Latn_GN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_Latn_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_Latn_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_MR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ff_SN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fi.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fil.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fil_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fr.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fr_CA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fr_GF.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fur.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/fy.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ga.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/gd.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/gl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/gsw.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/gu.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/guz.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/gv.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ha.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/haw.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/he.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/he_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/hi.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/hi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/hr.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/hsb.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/hu.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/hy.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ia.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/id.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/id_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ie.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ig.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ii.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/in.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/in_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/is.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/it.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/iw.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/iw_IL.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ja.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/jgo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/jmc.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/jv.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ka.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kab.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kam.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kde.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kea.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kgp.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/khq.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ki.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kk.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kkj.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kln.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/km.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ko.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ko_KP.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kok.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ks.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ks_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ks_Arab_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ks_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ks_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ksb.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ksf.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ksh.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ku.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kw.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kxv.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kxv_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kxv_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kxv_Latn_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kxv_Orya.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/kxv_Telu.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ky.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lag.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lb.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lg.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lij.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lkt.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lmo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ln.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lrc.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lt.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lu.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/luo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/luy.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/lv.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mai.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mas.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mer.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mfe.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mg.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mgh.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mgo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mi.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mk.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ml.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mni.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mni_Beng.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mni_Beng_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mni_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mr.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ms.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ms_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mt.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mua.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/my.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/mzn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/naq.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nb.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nd.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nds.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ne.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ne_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nl_SR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nmg.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nn_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nnh.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/no.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/no_NO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/no_NO_NY.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nqo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nus.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/nyn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/oc.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/om.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/or.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/os.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pa.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pa_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pa_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pa_Guru.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pa_Guru_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pa_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pa_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pcm.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/prg.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ps.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ps_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_AO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_CH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_CV.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_GQ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_GW.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_LU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_MZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_PT.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_ST.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/pt_TL.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/qu.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/qu_BO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/qu_EC.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/raj.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/rm.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/rn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ro.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/rof.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/root.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ru.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/rw.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/rwk.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sa.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sah.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/saq.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sat.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sat_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sat_Olck.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sat_Olck_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sbp.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sc.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sd.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sd_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sd_Arab_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sd_Deva.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sd_Deva_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sd_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sd_PK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/se.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/se_FI.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/seh.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ses.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sg.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sh.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sh_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sh_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sh_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/shi.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/shi_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/shi_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/shi_Tfng.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/shi_Tfng_MA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/si.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sk.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/smn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/so.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sq.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Cyrl_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Latn_BA.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Latn_CS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Latn_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Latn_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_Latn_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_ME.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_RS.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_XK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sr_YU.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/su.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/su_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/su_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/su_Latn_ID.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sv.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sw.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/sw_KE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/syr.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/szl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ta.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ta_MY.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ta_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/te.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/teo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tg.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/th.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ti.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tk.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tl_PH.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/to.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tok.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tr.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tt.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/twq.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tzdbNames.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/tzm.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ug.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uk.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ur.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/ur_IN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uz.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uz_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uz_Arab.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uz_Arab_AF.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uz_Cyrl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uz_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uz_Latn_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/uz_UZ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vai.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vai_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vai_Latn.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vai_Vaii.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vai_Vaii_LR.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vec.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vi.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vmw.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/vun.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/wae.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/wo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/xh.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/xnr.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/xog.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yav.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yi.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yo.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yo_BJ.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yrl.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yrl_CO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yrl_VE.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yue.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yue_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yue_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yue_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yue_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yue_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/yue_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/za.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zgh.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_Hans.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_Hans_CN.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_Hans_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_Hant.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_Hant_HK.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_Hant_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_Hant_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_MO.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_SG.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zh_TW.txt -FILE: ../../../flutter/third_party/icu/source/data/zone/zu.txt -FILE: ../../../flutter/third_party/icu/source/extra/scrptrun/scrptrun.cpp -FILE: ../../../flutter/third_party/icu/source/extra/scrptrun/scrptrun.h -FILE: ../../../flutter/third_party/icu/source/extra/scrptrun/srtest.cpp -FILE: ../../../flutter/third_party/icu/source/extra/uconv/makedata.mak -FILE: ../../../flutter/third_party/icu/source/extra/uconv/pkgdata.inc.in -FILE: ../../../flutter/third_party/icu/source/extra/uconv/resources/fr.txt -FILE: ../../../flutter/third_party/icu/source/extra/uconv/resources/root.txt -FILE: ../../../flutter/third_party/icu/source/extra/uconv/uconv.cpp -FILE: ../../../flutter/third_party/icu/source/extra/uconv/unicode/uwmsg.h -FILE: ../../../flutter/third_party/icu/source/extra/uconv/uwmsg.c -FILE: ../../../flutter/third_party/icu/source/i18n/alphaindex.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/anytrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/anytrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/astro.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/astro.h -FILE: ../../../flutter/third_party/icu/source/i18n/basictz.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/bocsu.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/bocsu.h -FILE: ../../../flutter/third_party/icu/source/i18n/brktrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/brktrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/buddhcal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/buddhcal.h -FILE: ../../../flutter/third_party/icu/source/i18n/calendar.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/casetrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/casetrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/cecal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/cecal.h -FILE: ../../../flutter/third_party/icu/source/i18n/chnsecal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/chnsecal.h -FILE: ../../../flutter/third_party/icu/source/i18n/choicfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/coleitr.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/coll.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collation.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collation.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationbuilder.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationbuilder.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationcompare.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationcompare.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationdata.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationdata.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatabuilder.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatabuilder.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatareader.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatareader.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatawriter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationdatawriter.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationfastlatin.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationfastlatin.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationfastlatinbuilder.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationfastlatinbuilder.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationfcd.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationfcd.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationiterator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationiterator.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationkeys.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationkeys.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationroot.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationroot.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationrootelements.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationrootelements.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationruleparser.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationruleparser.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationsets.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationsets.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationsettings.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationsettings.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationtailoring.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationtailoring.h -FILE: ../../../flutter/third_party/icu/source/i18n/collationweights.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/collationweights.h -FILE: ../../../flutter/third_party/icu/source/i18n/collunsafe.h -FILE: ../../../flutter/third_party/icu/source/i18n/compactdecimalformat.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/coptccal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/coptccal.h -FILE: ../../../flutter/third_party/icu/source/i18n/cpdtrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/cpdtrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/csdetect.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csdetect.h -FILE: ../../../flutter/third_party/icu/source/i18n/csmatch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csmatch.h -FILE: ../../../flutter/third_party/icu/source/i18n/csr2022.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csr2022.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrecog.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csrecog.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrmbcs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csrmbcs.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrsbcs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csrsbcs.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrucode.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csrucode.h -FILE: ../../../flutter/third_party/icu/source/i18n/csrutf8.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/csrutf8.h -FILE: ../../../flutter/third_party/icu/source/i18n/curramt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/currfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/currfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/currpinf.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/currunit.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dangical.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dangical.h -FILE: ../../../flutter/third_party/icu/source/i18n/datefmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dayperiodrules.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dayperiodrules.h -FILE: ../../../flutter/third_party/icu/source/i18n/dcfmtsym.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/decContext.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/decContext.h -FILE: ../../../flutter/third_party/icu/source/i18n/decNumber.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/decNumber.h -FILE: ../../../flutter/third_party/icu/source/i18n/decNumberLocal.h -FILE: ../../../flutter/third_party/icu/source/i18n/decimfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/displayoptions.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum-dtoa.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum-dtoa.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-bignum.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-cached-powers.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-cached-powers.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-diy-fp.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-double-to-string.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-double-to-string.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-fast-dtoa.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-fast-dtoa.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-ieee.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-string-to-double.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-string-to-double.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-strtod.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-strtod.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion-utils.h -FILE: ../../../flutter/third_party/icu/source/i18n/double-conversion.h -FILE: ../../../flutter/third_party/icu/source/i18n/dt_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/dtfmtsym.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dtitv_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/dtitvfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dtitvinf.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dtptngen.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/dtptngen_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/dtrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/erarules.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/erarules.h -FILE: ../../../flutter/third_party/icu/source/i18n/esctrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/esctrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/ethpccal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ethpccal.h -FILE: ../../../flutter/third_party/icu/source/i18n/fmtable.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/fmtable_cnv.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/fmtableimp.h -FILE: ../../../flutter/third_party/icu/source/i18n/format.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/formatted_string_builder.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/formatted_string_builder.h -FILE: ../../../flutter/third_party/icu/source/i18n/formattedval_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/formattedval_iterimpl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/formattedval_sbimpl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/formattedvalue.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/fphdlimp.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/fphdlimp.h -FILE: ../../../flutter/third_party/icu/source/i18n/fpositer.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/funcrepl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/funcrepl.h -FILE: ../../../flutter/third_party/icu/source/i18n/gender.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/gregocal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/gregoimp.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/gregoimp.h -FILE: ../../../flutter/third_party/icu/source/i18n/hebrwcal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/hebrwcal.h -FILE: ../../../flutter/third_party/icu/source/i18n/i18n.rc -FILE: ../../../flutter/third_party/icu/source/i18n/indiancal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/indiancal.h -FILE: ../../../flutter/third_party/icu/source/i18n/inputext.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/inputext.h -FILE: ../../../flutter/third_party/icu/source/i18n/islamcal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/islamcal.h -FILE: ../../../flutter/third_party/icu/source/i18n/iso8601cal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/iso8601cal.h -FILE: ../../../flutter/third_party/icu/source/i18n/japancal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/japancal.h -FILE: ../../../flutter/third_party/icu/source/i18n/listformatter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/measfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/measunit.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/measunit_extra.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/measunit_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/measure.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/msgfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/msgfmt_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/name2uni.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/name2uni.h -FILE: ../../../flutter/third_party/icu/source/i18n/nfrlist.h -FILE: ../../../flutter/third_party/icu/source/i18n/nfrs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nfrs.h -FILE: ../../../flutter/third_party/icu/source/i18n/nfrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nfrule.h -FILE: ../../../flutter/third_party/icu/source/i18n/nfsubs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nfsubs.h -FILE: ../../../flutter/third_party/icu/source/i18n/nortrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nortrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/nultrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/nultrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_affixutils.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_affixutils.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_asformat.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_asformat.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_capi.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_compact.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_compact.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_currencysymbols.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_currencysymbols.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_decimalquantity.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_decimalquantity.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_decimfmtprops.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_decimfmtprops.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_decnum.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_fluent.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_formatimpl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_formatimpl.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_grouping.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_integerwidth.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_longnames.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_longnames.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_mapper.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_mapper.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_microprops.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_modifiers.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_modifiers.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_multiplier.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_multiplier.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_notation.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_output.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_padding.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_patternmodifier.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_patternmodifier.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_patternstring.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_patternstring.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_rounding.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_roundingutils.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_scientific.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_scientific.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_simple.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_skeletons.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_skeletons.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_symbolswrapper.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_types.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_usageprefs.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_usageprefs.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_utils.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/number_utils.h -FILE: ../../../flutter/third_party/icu/source/i18n/number_utypes.h -FILE: ../../../flutter/third_party/icu/source/i18n/numfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_affixes.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_affixes.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_compositions.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_compositions.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_currency.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_currency.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_decimal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_decimal.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_impl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_parsednumber.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_scientific.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_scientific.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_symbols.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_symbols.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_types.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_utils.h -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_validators.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numparse_validators.h -FILE: ../../../flutter/third_party/icu/source/i18n/numrange_capi.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numrange_fluent.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numrange_impl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numrange_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/numsys.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/numsys_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/olsontz.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/olsontz.h -FILE: ../../../flutter/third_party/icu/source/i18n/persncal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/persncal.h -FILE: ../../../flutter/third_party/icu/source/i18n/pluralranges.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/pluralranges.h -FILE: ../../../flutter/third_party/icu/source/i18n/plurfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/plurrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/plurrule_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/quant.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/quant.h -FILE: ../../../flutter/third_party/icu/source/i18n/quantityformatter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/quantityformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbnf.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_data.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_data.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_pars.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_pars.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_rule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_rule.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_set.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rbt_set.h -FILE: ../../../flutter/third_party/icu/source/i18n/rbtz.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/regexcmp.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/regexcmp.h -FILE: ../../../flutter/third_party/icu/source/i18n/regexcst.h -FILE: ../../../flutter/third_party/icu/source/i18n/regexcst.txt -FILE: ../../../flutter/third_party/icu/source/i18n/regeximp.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/regeximp.h -FILE: ../../../flutter/third_party/icu/source/i18n/regexst.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/regexst.h -FILE: ../../../flutter/third_party/icu/source/i18n/regextxt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/regextxt.h -FILE: ../../../flutter/third_party/icu/source/i18n/region.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/region_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/reldatefmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/reldtfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/reldtfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/rematch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/remtrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/remtrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/repattrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/rulebasedcollator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/scientificnumberformatter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/scriptset.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/scriptset.h -FILE: ../../../flutter/third_party/icu/source/i18n/search.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/selfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/selfmtimpl.h -FILE: ../../../flutter/third_party/icu/source/i18n/sharedbreakiterator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/sharedbreakiterator.h -FILE: ../../../flutter/third_party/icu/source/i18n/sharedcalendar.h -FILE: ../../../flutter/third_party/icu/source/i18n/shareddateformatsymbols.h -FILE: ../../../flutter/third_party/icu/source/i18n/sharednumberformat.h -FILE: ../../../flutter/third_party/icu/source/i18n/sharedpluralrules.h -FILE: ../../../flutter/third_party/icu/source/i18n/simpletz.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/smpdtfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/smpdtfst.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/smpdtfst.h -FILE: ../../../flutter/third_party/icu/source/i18n/sortkey.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/standardplural.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/standardplural.h -FILE: ../../../flutter/third_party/icu/source/i18n/string_segment.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/string_segment.h -FILE: ../../../flutter/third_party/icu/source/i18n/strmatch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/strmatch.h -FILE: ../../../flutter/third_party/icu/source/i18n/strrepl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/strrepl.h -FILE: ../../../flutter/third_party/icu/source/i18n/stsearch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/taiwncal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/taiwncal.h -FILE: ../../../flutter/third_party/icu/source/i18n/timezone.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/titletrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/titletrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/tmunit.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tmutamt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tmutfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tolowtrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tolowtrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/toupptrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/toupptrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/translit.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/transreg.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/transreg.h -FILE: ../../../flutter/third_party/icu/source/i18n/tridpars.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tridpars.h -FILE: ../../../flutter/third_party/icu/source/i18n/tzfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tzgnames.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tzgnames.h -FILE: ../../../flutter/third_party/icu/source/i18n/tznames.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tznames_impl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tznames_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/tzrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/tztrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucal.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucln_in.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucln_in.h -FILE: ../../../flutter/third_party/icu/source/i18n/ucol.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucol_imp.h -FILE: ../../../flutter/third_party/icu/source/i18n/ucol_res.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucol_sit.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucoleitr.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ucsdet.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/udat.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/udateintervalformat.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/udatpg.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ufieldpositer.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uitercollationiterator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uitercollationiterator.h -FILE: ../../../flutter/third_party/icu/source/i18n/ulistformatter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ulocdata.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/umsg.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/umsg_imp.h -FILE: ../../../flutter/third_party/icu/source/i18n/unesctrn.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unesctrn.h -FILE: ../../../flutter/third_party/icu/source/i18n/uni2name.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uni2name.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/alphaindex.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/basictz.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/calendar.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/choicfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/coleitr.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/coll.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/compactdecimalformat.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/curramt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/currpinf.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/currunit.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/datefmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dcfmtsym.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/decimfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/displayoptions.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtfmtsym.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtitvfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtitvinf.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtptngen.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/dtrule.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/fieldpos.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/fmtable.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/format.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/formattednumber.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/formattedvalue.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/fpositer.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/gender.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/gregocal.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/listformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/measfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/measunit.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/measure.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/msgfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/nounit.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/numberformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/numberrangeformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/numfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/numsys.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/plurfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/plurrule.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/rbnf.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/rbtz.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/regex.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/region.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/reldatefmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/scientificnumberformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/search.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/selfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/simplenumberformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/simpletz.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/smpdtfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/sortkey.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/stsearch.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tblcoll.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/timezone.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tmunit.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tmutamt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tmutfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/translit.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tzfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tznames.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tzrule.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/tztrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ucal.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ucol.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ucoleitr.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ucsdet.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/udat.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/udateintervalformat.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/udatpg.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/udisplayoptions.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ufieldpositer.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uformattable.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uformattednumber.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uformattedvalue.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ugender.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ulistformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ulocdata.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/umsg.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unirepl.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unum.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unumberformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unumberoptions.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unumberrangeformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/unumsys.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/upluralrules.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uregex.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uregion.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/ureldatefmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/usearch.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/usimplenumberformatter.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/uspoof.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/utmscale.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/utrans.h -FILE: ../../../flutter/third_party/icu/source/i18n/unicode/vtzone.h -FILE: ../../../flutter/third_party/icu/source/i18n/units_complexconverter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/units_complexconverter.h -FILE: ../../../flutter/third_party/icu/source/i18n/units_converter.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/units_converter.h -FILE: ../../../flutter/third_party/icu/source/i18n/units_data.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/units_data.h -FILE: ../../../flutter/third_party/icu/source/i18n/units_router.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/units_router.h -FILE: ../../../flutter/third_party/icu/source/i18n/unum.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/unumsys.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/upluralrules.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uregex.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uregexc.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uregion.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/usearch.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_build.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_conf.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_conf.h -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_impl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/uspoof_impl.h -FILE: ../../../flutter/third_party/icu/source/i18n/usrchimp.h -FILE: ../../../flutter/third_party/icu/source/i18n/utf16collationiterator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/utf16collationiterator.h -FILE: ../../../flutter/third_party/icu/source/i18n/utf8collationiterator.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/utf8collationiterator.h -FILE: ../../../flutter/third_party/icu/source/i18n/utmscale.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/utrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/vtzone.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/vzone.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/vzone.h -FILE: ../../../flutter/third_party/icu/source/i18n/windtfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/windtfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/winnmfmt.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/winnmfmt.h -FILE: ../../../flutter/third_party/icu/source/i18n/wintzimpl.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/wintzimpl.h -FILE: ../../../flutter/third_party/icu/source/i18n/zonemeta.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/zonemeta.h -FILE: ../../../flutter/third_party/icu/source/i18n/zrule.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/zrule.h -FILE: ../../../flutter/third_party/icu/source/i18n/ztrans.cpp -FILE: ../../../flutter/third_party/icu/source/i18n/ztrans.h -FILE: ../../../flutter/third_party/icu/source/icudefs.mk.in -FILE: ../../../flutter/third_party/icu/source/io/io.rc -FILE: ../../../flutter/third_party/icu/source/io/locbund.cpp -FILE: ../../../flutter/third_party/icu/source/io/locbund.h -FILE: ../../../flutter/third_party/icu/source/io/sprintf.cpp -FILE: ../../../flutter/third_party/icu/source/io/sscanf.cpp -FILE: ../../../flutter/third_party/icu/source/io/ucln_io.cpp -FILE: ../../../flutter/third_party/icu/source/io/ucln_io.h -FILE: ../../../flutter/third_party/icu/source/io/ufile.cpp -FILE: ../../../flutter/third_party/icu/source/io/ufile.h -FILE: ../../../flutter/third_party/icu/source/io/ufmt_cmn.cpp -FILE: ../../../flutter/third_party/icu/source/io/ufmt_cmn.h -FILE: ../../../flutter/third_party/icu/source/io/unicode/ustdio.h -FILE: ../../../flutter/third_party/icu/source/io/unicode/ustream.h -FILE: ../../../flutter/third_party/icu/source/io/uprintf.cpp -FILE: ../../../flutter/third_party/icu/source/io/uprintf.h -FILE: ../../../flutter/third_party/icu/source/io/uprntf_p.cpp -FILE: ../../../flutter/third_party/icu/source/io/uscanf.cpp -FILE: ../../../flutter/third_party/icu/source/io/uscanf.h -FILE: ../../../flutter/third_party/icu/source/io/uscanf_p.cpp -FILE: ../../../flutter/third_party/icu/source/io/ustdio.cpp -FILE: ../../../flutter/third_party/icu/source/io/ustream.cpp -FILE: ../../../flutter/third_party/icu/source/python/icutools/databuilder/filtration_schema.json -FILE: ../../../flutter/third_party/icu/source/stubdata/stubdata.cpp -FILE: ../../../flutter/third_party/icu/source/stubdata/stubdata.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/ctest.c -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/datamap.cpp -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/testdata.cpp -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/tstdtmod.cpp -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/ucln_ct.c -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/ctest.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/datamap.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testdata.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testlog.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/testtype.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/tstdtmod.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/uperf.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/unicode/utimer.h -FILE: ../../../flutter/third_party/icu/source/tools/ctestfw/uperf.cpp -FILE: ../../../flutter/third_party/icu/source/tools/escapesrc/escapesrc.cpp -FILE: ../../../flutter/third_party/icu/source/tools/escapesrc/expect-simple.cpp -FILE: ../../../flutter/third_party/icu/source/tools/escapesrc/tblgen.cpp -FILE: ../../../flutter/third_party/icu/source/tools/escapesrc/test-nochange.cpp -FILE: ../../../flutter/third_party/icu/source/tools/escapesrc/test-simple.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genbrk/genbrk.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genccode/genccode.c -FILE: ../../../flutter/third_party/icu/source/tools/gencfu/gencfu.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gencmn/gencmn.c -FILE: ../../../flutter/third_party/icu/source/tools/gencnval/gencnval.c -FILE: ../../../flutter/third_party/icu/source/tools/gencolusb/extract_unsafe_backwards.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gencolusb/verify_uset.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gendict/gendict.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/extradata.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/extradata.h -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/gennorm2.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/n2builder.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/n2builder.h -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/norms.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gennorm2/norms.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/derb.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/errmsg.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/errmsg.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/filterrb.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/filterrb.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/genrb.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/genrb.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/parse.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/parse.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/prscmnts.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/prscmnts.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/rbutil.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/rbutil.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/read.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/read.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/reslist.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/reslist.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/rle.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/rle.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/ustr.c -FILE: ../../../flutter/third_party/icu/source/tools/genrb/ustr.h -FILE: ../../../flutter/third_party/icu/source/tools/genrb/wrtjava.cpp -FILE: ../../../flutter/third_party/icu/source/tools/genrb/wrtxml.cpp -FILE: ../../../flutter/third_party/icu/source/tools/gensprep/gensprep.c -FILE: ../../../flutter/third_party/icu/source/tools/gensprep/gensprep.h -FILE: ../../../flutter/third_party/icu/source/tools/gensprep/store.c -FILE: ../../../flutter/third_party/icu/source/tools/gentest/genres32.c -FILE: ../../../flutter/third_party/icu/source/tools/gentest/gentest.c -FILE: ../../../flutter/third_party/icu/source/tools/gentest/gentest.h -FILE: ../../../flutter/third_party/icu/source/tools/icuexportdata/icuexportdata.cpp -FILE: ../../../flutter/third_party/icu/source/tools/icuinfo/icuinfo.cpp -FILE: ../../../flutter/third_party/icu/source/tools/icuinfo/icuplugins_windows_sample.txt -FILE: ../../../flutter/third_party/icu/source/tools/icuinfo/testplug.c -FILE: ../../../flutter/third_party/icu/source/tools/icupkg/icupkg.cpp -FILE: ../../../flutter/third_party/icu/source/tools/icuswap/icuswap.cpp -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/gencnvex.c -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/genmbcs.cpp -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/genmbcs.h -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/makeconv.cpp -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/makeconv.h -FILE: ../../../flutter/third_party/icu/source/tools/makeconv/ucnvstat.c -FILE: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgdata.cpp -FILE: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgtypes.c -FILE: ../../../flutter/third_party/icu/source/tools/pkgdata/pkgtypes.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/collationinfo.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/collationinfo.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/dbgutil.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/dbgutil.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/denseranges.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/denseranges.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/filestrm.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/filestrm.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/filetools.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/filetools.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/flagparser.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/flagparser.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/package.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/package.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_genc.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_genc.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_gencmn.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_gencmn.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_icu.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_icu.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkg_imp.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/pkgitems.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ppucd.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ppucd.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/swapimpl.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/swapimpl.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/toolutil.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/toolutil.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucbuf.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucbuf.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucln_tu.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucm.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucm.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/ucmstate.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/udbgutil.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/udbgutil.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/unewdata.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/unewdata.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/uoptions.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/uoptions.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/uparse.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/uparse.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/writesrc.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/writesrc.h -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/xmlparser.cpp -FILE: ../../../flutter/third_party/icu/source/tools/toolutil/xmlparser.h -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/icuregions -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/icuzdump.cpp -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/icuzones -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/tz2icu.cpp -FILE: ../../../flutter/third_party/icu/source/tools/tzcode/tz2icu.h -FILE: ../../../flutter/third_party/web_unicode/lib/web_unicode/codegen/line_break_properties.dart -FILE: ../../../flutter/third_party/web_unicode/lib/web_unicode/codegen/word_break_properties.dart -FILE: ../../../flutter/third_party/web_unicode/properties/LineBreak.txt -FILE: ../../../flutter/third_party/web_unicode/properties/WordBreakProperty.txt -FILE: ../../../flutter/third_party/web_unicode/tool/unicode_sync_script.dart ----------------------------------------------------------------------------------------------------- -Unicode® Copyright and Terms of Use -For the general privacy policy governing access to this site, see the Unicode Privacy Policy. - -A. Unicode Copyright -1. Copyright © 1991-2022 Unicode, Inc. All rights reserved. -B. Definitions -Unicode Data Files ("DATA FILES") include all data files under the directories: -https://www.unicode.org/Public/ -https://www.unicode.org/reports/ -https://www.unicode.org/ivd/data/ - -Unicode Data Files do not include PDF online code charts under the directory: -https://www.unicode.org/Public/ - -Unicode Software ("SOFTWARE") includes any source code published in the Unicode Standard -or any source code or compiled code under the directories: -https://www.unicode.org/Public/PROGRAMS/ -https://www.unicode.org/Public/cldr/ -http://site.icu-project.org/download/ -C. Terms of Use -1. Certain documents and files on this website contain a legend indicating that "Modification is permitted." Any person is hereby authorized, without fee, to modify such documents and files to create derivative works conforming to the Unicode® Standard, subject to Terms and Conditions herein. -2. Any person is hereby authorized, without fee, to view, use, reproduce, and distribute all documents and files, subject to the Terms and Conditions herein. -3. Further specifications of rights and restrictions pertaining to the use of the Unicode DATA FILES and SOFTWARE can be found in the Unicode Data Files and Software License. -4. Each version of the Unicode Standard has further specifications of rights and restrictions of use. For the book editions (Unicode 5.0 and earlier), these are found on the back of the title page. -5. The Unicode PDF online code charts carry specific restrictions. Those restrictions are incorporated as the first page of each PDF code chart. -6. All other files, including online documentation of the core specification for Unicode 6.0 and later, are covered under these general Terms of Use. -7. No license is granted to "mirror" the Unicode website where a fee is charged for access to the "mirror" site. -8. Modification is not permitted with respect to this document. All copies of this document must be verbatim. -D. Restricted Rights Legend -1. Any technical data or software which is licensed to the United States of America, its agencies and/or instrumentalities under this Agreement is commercial technical data or commercial computer software developed exclusively at private expense as defined in FAR 2.101, or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, as applicable, use, duplication or disclosure by the Government is subject to the restrictions set forth in this Agreement. -E.Warranties and Disclaimers -1. This publication and/or website may include technical or typographical errors or other inaccuracies. Changes are periodically added to the information herein; these changes will be incorporated in new editions of the publication and/or website. Unicode, Inc. may make improvements and/or changes in the product(s) and/or program(s) described in this publication and/or website at any time. -2. If this file has been purchased on magnetic or optical media from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange of the defective media within ninety (90) days of original purchase. -3. EXCEPT AS PROVIDED IN SECTION E.2, THIS PUBLICATION AND/OR SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE, INC. AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE. -F. Waiver of Damages -1. In no event shall Unicode, Inc. or its licensors be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever, whether or not Unicode, Inc. was advised of the possibility of the damage, including, without limitation, those resulting from the following: loss of use, data or profits, in connection with the use, modification or distribution of this information or its derivatives. -G. Trademarks & Logos -1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.’s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names. -3. The Unicode Consortium Name and Trademark Usage Policy (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc. -4. All third party trademarks referenced herein are the property of their respective owners. -H. Miscellaneous -1. Jurisdiction and Venue. This website is operated from a location in the State of California, United States of America. Unicode, Inc. makes no representation that the materials are appropriate for use in other locations. If you access this website from other locations, you are responsible for compliance with local laws. This Agreement, all use of this website and any claims and damages resulting from use of this website are governed solely by the laws of the State of California without regard to any principles which would apply the laws of a different jurisdiction. The user agrees that any disputes regarding this website shall be resolved solely in the courts located in Santa Clara County, California. The user agrees said courts have personal jurisdiction and agree to waive any right to transfer the dispute to any other forum. -2. Modification by Unicode, Inc. Unicode, Inc. shall have the right to modify this Agreement at any time by posting it to this website. The user may not assign any part of this Agreement without Unicode, Inc.’s prior written consent. -3. Taxes. The user agrees to pay any taxes arising from access to this website or use of the information herein, except for those based on Unicode’s net income. -4. Severability. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect. -5. Entire Agreement. This Agreement constitutes the entire agreement between the parties. - -EXHIBIT 1 -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE - -See Terms of Use -for definitions of Unicode Inc.’s Data Files and Software. - -NOTICE TO USER: Carefully read the following legal agreement. -BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S -DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), -YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. -IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE -THE DATA FILES OR SOFTWARE. - -COPYRIGHT AND PERMISSION NOTICE - -Copyright © 1991-2022 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/wrgif.c -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrgif.c ----------------------------------------------------------------------------------------------------- -We are also required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/LICENSE.md -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/libjpeg-turbo/src/example.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfig.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfig.h.in -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfigint.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfigint.h.in -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jpeg_nbits_table.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/libjpeg.map.in -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jpeg_nbits_table.inc -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimdcfg.inc -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimdcfg.inc.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg-mapfile -FILE: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg-mapfile.jni -FILE: ../../../flutter/third_party/libjpeg-turbo/src/usage.txt -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wizard.txt ----------------------------------------------------------------------------------------------------- -libjpeg-turbo Licenses -====================== - -libjpeg-turbo is covered by three compatible BSD-style open source licenses: - -- The IJG (Independent JPEG Group) License, which is listed in - [README.ijg](README.ijg) - - This license applies to the libjpeg API library and associated programs - (any code inherited from libjpeg, and any modifications to that code.) - -- The Modified (3-clause) BSD License, which is listed in - [turbojpeg.c](turbojpeg.c) - - This license covers the TurboJPEG API library and associated programs. - -- The zlib License, which is listed in [simd/jsimdext.inc](simd/jsimdext.inc) - - This license is a subset of the other two, and it covers the libjpeg-turbo - SIMD extensions. - - -Complying with the libjpeg-turbo Licenses -========================================= - -This section provides a roll-up of the libjpeg-turbo licensing terms, to the -best of our understanding. - -1. If you are distributing a modified version of the libjpeg-turbo source, - then: - - 1. You cannot alter or remove any existing copyright or license notices - from the source. - - **Origin** - - Clause 1 of the IJG License - - Clause 1 of the Modified BSD License - - Clauses 1 and 3 of the zlib License - - 2. You must add your own copyright notice to the header of each source - file you modified, so others can tell that you modified that file (if - there is not an existing copyright header in that file, then you can - simply add a notice stating that you modified the file.) - - **Origin** - - Clause 1 of the IJG License - - Clause 2 of the zlib License - - 3. You must include the IJG README file, and you must not alter any of the - copyright or license text in that file. - - **Origin** - - Clause 1 of the IJG License - -2. If you are distributing only libjpeg-turbo binaries without the source, or - if you are distributing an application that statically links with - libjpeg-turbo, then: - - 1. Your product documentation must include a message stating: - - This software is based in part on the work of the Independent JPEG - Group. - - **Origin** - - Clause 2 of the IJG license - - 2. If your binary distribution includes or uses the TurboJPEG API, then - your product documentation must include the text of the Modified BSD - License. - - **Origin** - - Clause 2 of the Modified BSD License - -3. You cannot use the name of the IJG or The libjpeg-turbo Project or the - contributors thereof in advertising, publicity, etc. - - **Origin** - - IJG License - - Clause 3 of the Modified BSD License - -4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be - free of defects, nor do we accept any liability for undesirable - consequences resulting from your use of the software. - - **Origin** - - IJG License - - Modified BSD License - - zlib License -==================================================================================================== - -==================================================================================================== -LIBRARY: libjpeg-turbo -ORIGIN: ../../../flutter/third_party/libjpeg-turbo/src/README.ijg -TYPE: LicenseType.ijg -FILE: ../../../flutter/third_party/libjpeg-turbo/src/cderror.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/cdjpeg.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/cdjpeg.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/cjpeg.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/djpeg.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/example.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jaricom.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcapimin.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcapistd.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcarith.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jccoefct.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jccolext.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jccolor.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcdctmgr.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jchuff.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jchuff.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcinit.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcmainct.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcmarker.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcmaster.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcomapi.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfig.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfig.h.in -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfig.txt -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfigint.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jconfigint.h.in -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcparam.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcphuff.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcprepct.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jcsample.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jctrans.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdapimin.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdapistd.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdarith.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdatadst-tj.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdatadst.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdatasrc-tj.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdatasrc.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdcoefct.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdcoefct.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdcol565.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdcolext.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdcolor.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdct.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jddctmgr.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdhuff.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdhuff.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdinput.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdmainct.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdmainct.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdmarker.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdmaster.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdmaster.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdmerge.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdmrg565.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdmrgext.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdphuff.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdpostct.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdsample.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdsample.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jdtrans.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jerror.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jerror.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jfdctflt.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jfdctfst.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jfdctint.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jidctflt.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jidctfst.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jidctint.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jidctred.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jinclude.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jmemmgr.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jmemnobs.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jmemsys.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jmorecfg.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jpeg_nbits_table.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jpegcomp.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jpegint.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jpeglib.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jpegtran.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jquant1.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jquant2.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jstdhuff.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jutils.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/jversion.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/libjpeg.map.in -FILE: ../../../flutter/third_party/libjpeg-turbo/src/libjpeg.txt -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdbmp.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdcolmap.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdgif.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdjpgcom.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdppm.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdrle.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdswitch.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/rdtarga.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jcsample.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jpeg_nbits_table.inc -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimdcfg.inc -FILE: ../../../flutter/third_party/libjpeg-turbo/src/simd/jsimdcfg.inc.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/transupp.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/transupp.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg-mapfile -FILE: ../../../flutter/third_party/libjpeg-turbo/src/turbojpeg-mapfile.jni -FILE: ../../../flutter/third_party/libjpeg-turbo/src/usage.txt -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wizard.txt -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrbmp.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrgif.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrjpgcom.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrppm.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrppm.h -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrrle.c -FILE: ../../../flutter/third_party/libjpeg-turbo/src/wrtarga.c ----------------------------------------------------------------------------------------------------- -libjpeg-turbo note: This file has been modified by The libjpeg-turbo Project -to include only information relevant to libjpeg-turbo, to wordsmith certain -sections, and to remove impolitic language that existed in the libjpeg v8 -README. It is included only for reference. Please see README.md for -information specific to libjpeg-turbo. - - -The Independent JPEG Group's JPEG software -========================================== - -This distribution contains a release of the Independent JPEG Group's free JPEG -software. You are welcome to redistribute this software and to use it for any -purpose, subject to the conditions under LEGAL ISSUES, below. - -This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone, -Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, -Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, -and other members of the Independent JPEG Group. - -IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee -(also known as JPEG, together with ITU-T SG16). - - -DOCUMENTATION ROADMAP -===================== - -This file contains the following sections: - -OVERVIEW General description of JPEG and the IJG software. -LEGAL ISSUES Copyright, lack of warranty, terms of distribution. -REFERENCES Where to learn more about JPEG. -ARCHIVE LOCATIONS Where to find newer versions of this software. -FILE FORMAT WARS Software *not* to get. -TO DO Plans for future IJG releases. - -Other documentation files in the distribution are: - -User documentation: - usage.txt Usage instructions for cjpeg, djpeg, jpegtran, - rdjpgcom, and wrjpgcom. - *.1 Unix-style man pages for programs (same info as usage.txt). - wizard.txt Advanced usage instructions for JPEG wizards only. - change.log Version-to-version change highlights. -Programmer and internal documentation: - libjpeg.txt How to use the JPEG library in your own programs. - example.c Sample code for calling the JPEG library. - structure.txt Overview of the JPEG library's internal structure. - coderules.txt Coding style rules --- please read if you contribute code. - -Please read at least usage.txt. Some information can also be found in the JPEG -FAQ (Frequently Asked Questions) article. See ARCHIVE LOCATIONS below to find -out where to obtain the FAQ article. - -If you want to understand how the JPEG code works, we suggest reading one or -more of the REFERENCES, then looking at the documentation files (in roughly -the order listed) before diving into the code. - - -OVERVIEW -======== - -This package contains C software to implement JPEG image encoding, decoding, -and transcoding. JPEG (pronounced "jay-peg") is a standardized compression -method for full-color and grayscale images. JPEG's strong suit is compressing -photographic images or other types of images that have smooth color and -brightness transitions between neighboring pixels. Images with sharp lines or -other abrupt features may not compress well with JPEG, and a higher JPEG -quality may have to be used to avoid visible compression artifacts with such -images. - -JPEG is lossy, meaning that the output pixels are not necessarily identical to -the input pixels. However, on photographic content and other "smooth" images, -very good compression ratios can be obtained with no visible compression -artifacts, and extremely high compression ratios are possible if you are -willing to sacrifice image quality (by reducing the "quality" setting in the -compressor.) - -This software implements JPEG baseline, extended-sequential, and progressive -compression processes. Provision is made for supporting all variants of these -processes, although some uncommon parameter settings aren't implemented yet. -We have made no provision for supporting the hierarchical or lossless -processes defined in the standard. - -We provide a set of library routines for reading and writing JPEG image files, -plus two sample applications "cjpeg" and "djpeg", which use the library to -perform conversion between JPEG and some other popular image file formats. -The library is intended to be reused in other applications. - -In order to support file conversion and viewing software, we have included -considerable functionality beyond the bare JPEG coding/decoding capability; -for example, the color quantization modules are not strictly part of JPEG -decoding, but they are essential for output to colormapped file formats or -colormapped displays. These extra functions can be compiled out of the -library if not required for a particular application. - -We have also included "jpegtran", a utility for lossless transcoding between -different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple -applications for inserting and extracting textual comments in JFIF files. - -The emphasis in designing this software has been on achieving portability and -flexibility, while also making it fast enough to be useful. In particular, -the software is not intended to be read as a tutorial on JPEG. (See the -REFERENCES section for introductory material.) Rather, it is intended to -be reliable, portable, industrial-strength code. We do not claim to have -achieved that goal in every aspect of the software, but we strive for it. - -We welcome the use of this software as a component of commercial products. -No royalty is required, but we do ask for an acknowledgement in product -documentation, as described under LEGAL ISSUES. - - -LEGAL ISSUES -============ - -In plain English: - -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. - -In legalese: - -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. - -This software is copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - - -The Unix configuration script "configure" was produced with GNU Autoconf. -It is copyright by the Free Software Foundation but is freely distributable. -The same holds for its supporting scripts (config.guess, config.sub, -ltmain.sh). Another support script, install-sh, is copyright by X Consortium -but is also freely distributable. - -The IJG distribution formerly included code to read and write GIF files. -To avoid entanglement with the Unisys LZW patent (now expired), GIF reading -support has been removed altogether, and the GIF writer has been simplified -to produce "uncompressed GIFs". This technique does not use the LZW -algorithm; the resulting GIF files are larger than usual, but are readable -by all standard GIF decoders. - -We are required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." - - -REFERENCES -========== - -We recommend reading one or more of these references before trying to -understand the innards of the JPEG software. - -The best short technical introduction to the JPEG compression algorithm is - Wallace, Gregory K. "The JPEG Still Picture Compression Standard", - Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. -(Adjacent articles in that issue discuss MPEG motion picture compression, -applications of JPEG, and related topics.) If you don't have the CACM issue -handy, a PDF file containing a revised version of Wallace's article is -available at http://www.ijg.org/files/Wallace.JPEG.pdf. The file (actually -a preprint for an article that appeared in IEEE Trans. Consumer Electronics) -omits the sample images that appeared in CACM, but it includes corrections -and some added material. Note: the Wallace article is copyright ACM and IEEE, -and it may not be used for commercial purposes. - -A somewhat less technical, more leisurely introduction to JPEG can be found in -"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by -M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides -good explanations and example C code for a multitude of compression methods -including JPEG. It is an excellent source if you are comfortable reading C -code but don't know much about data compression in general. The book's JPEG -sample code is far from industrial-strength, but when you are ready to look -at a full implementation, you've got one here... - -The best currently available description of JPEG is the textbook "JPEG Still -Image Data Compression Standard" by William B. Pennebaker and Joan L. -Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. -Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG -standards (DIS 10918-1 and draft DIS 10918-2). - -The original JPEG standard is divided into two parts, Part 1 being the actual -specification, while Part 2 covers compliance testing methods. Part 1 is -titled "Digital Compression and Coding of Continuous-tone Still Images, -Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS -10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of -Continuous-tone Still Images, Part 2: Compliance testing" and has document -numbers ISO/IEC IS 10918-2, ITU-T T.83. - -The JPEG standard does not specify all details of an interchangeable file -format. For the omitted details we follow the "JFIF" conventions, revision -1.02. JFIF 1.02 has been adopted as an Ecma International Technical Report -and thus received a formal publication status. It is available as a free -download in PDF format from -http://www.ecma-international.org/publications/techreports/E-TR-098.htm. -A PostScript version of the JFIF document is available at -http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at -http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures. - -The TIFF 6.0 file format specification can be obtained by FTP from -ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme -found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. -IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). -Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 -(Compression tag 7). Copies of this Note can be obtained from -http://www.ijg.org/files/. It is expected that the next revision -of the TIFF spec will replace the 6.0 JPEG design with the Note's design. -Although IJG's own code does not support TIFF/JPEG, the free libtiff library -uses our library to implement TIFF/JPEG per the Note. - - -ARCHIVE LOCATIONS -================= - -The "official" archive site for this software is www.ijg.org. -The most recent released version can always be found there in -directory "files". - -The JPEG FAQ (Frequently Asked Questions) article is a source of some -general information about JPEG. -It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ -and other news.answers archive sites, including the official news.answers -archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. -If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu -with body - send usenet/news.answers/jpeg-faq/part1 - send usenet/news.answers/jpeg-faq/part2 - - -FILE FORMAT WARS -================ - -The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together -with ITU-T SG16) currently promotes different formats containing the name -"JPEG" which are incompatible with original DCT-based JPEG. IJG therefore does -not support these formats (see REFERENCES). Indeed, one of the original -reasons for developing this free software was to help force convergence on -common, interoperable format standards for JPEG files. -Don't use an incompatible file format! -(In any case, our decoder will remain capable of reading existing JPEG -image files indefinitely.) - - -TO DO -===== - -Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. -==================================================================================================== - -==================================================================================================== -LIBRARY: icu -ORIGIN: ../../../flutter/third_party/icu/source/common/punycode.cpp -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/icu/source/common/punycode.cpp ----------------------------------------------------------------------------------------------------- -punycode.c 0.4.0 (2001-Nov-17-Sat) -http://www.cs.berkeley.edu/~amc/idn/ -Adam M. Costello -http://www.nicemice.net/amc/ - -Disclaimer and license - - Regarding this entire document or any portion of it (including - the pseudocode and C code), the author makes no guarantees and - is not responsible for any damage resulting from its use. The - author grants irrevocable permission to anyone to use, modify, - and distribute it in any way that does not diminish the rights - of anyone else to use, modify, and distribute it, provided that - redistributed derivative works do not contain misleading author or - version information. Derivative works need not be licensed under - similar terms. -==================================================================================================== - -==================================================================================================== -LIBRARY: zlib -ORIGIN: ../../../flutter/third_party/zlib/LICENSE -TYPE: LicenseType.zlib -FILE: ../../../flutter/third_party/zlib/chromeconf.h -FILE: ../../../flutter/third_party/zlib/contrib/minizip/ChangeLogUnzip -FILE: ../../../flutter/third_party/zlib/contrib/minizip/ioapi.c -FILE: ../../../flutter/third_party/zlib/contrib/minizip/ioapi.h -FILE: ../../../flutter/third_party/zlib/contrib/minizip/iowin32.c -FILE: ../../../flutter/third_party/zlib/contrib/minizip/iowin32.h -FILE: ../../../flutter/third_party/zlib/contrib/minizip/mztools.c -FILE: ../../../flutter/third_party/zlib/contrib/minizip/mztools.h -FILE: ../../../flutter/third_party/zlib/contrib/minizip/unzip.c -FILE: ../../../flutter/third_party/zlib/contrib/minizip/unzip.h -FILE: ../../../flutter/third_party/zlib/contrib/minizip/zip.c -FILE: ../../../flutter/third_party/zlib/contrib/minizip/zip.h -FILE: ../../../flutter/third_party/zlib/crc32.h -FILE: ../../../flutter/third_party/zlib/google/compression_utils.cc -FILE: ../../../flutter/third_party/zlib/google/compression_utils.h -FILE: ../../../flutter/third_party/zlib/google/redact.h -FILE: ../../../flutter/third_party/zlib/google/test_data.filelist -FILE: ../../../flutter/third_party/zlib/google/test_data.globlist -FILE: ../../../flutter/third_party/zlib/google/zip.cc -FILE: ../../../flutter/third_party/zlib/google/zip.h -FILE: ../../../flutter/third_party/zlib/google/zip_internal.cc -FILE: ../../../flutter/third_party/zlib/google/zip_internal.h -FILE: ../../../flutter/third_party/zlib/google/zip_reader.cc -FILE: ../../../flutter/third_party/zlib/google/zip_reader.h -FILE: ../../../flutter/third_party/zlib/google/zip_writer.cc -FILE: ../../../flutter/third_party/zlib/google/zip_writer.h -FILE: ../../../flutter/third_party/zlib/inffixed.h -FILE: ../../../flutter/third_party/zlib/patches/0000-build.patch -FILE: ../../../flutter/third_party/zlib/patches/0001-simd.patch -FILE: ../../../flutter/third_party/zlib/patches/0002-uninitializedcheck.patch -FILE: ../../../flutter/third_party/zlib/patches/0003-uninitializedjump.patch -FILE: ../../../flutter/third_party/zlib/patches/0004-fix-uwp.patch -FILE: ../../../flutter/third_party/zlib/patches/0005-infcover-gtest.patch -FILE: ../../../flutter/third_party/zlib/patches/0006-fix-check_match.patch -FILE: ../../../flutter/third_party/zlib/patches/0007-zero-init-deflate-window.patch -FILE: ../../../flutter/third_party/zlib/patches/0008-minizip-zip-unzip-tools.patch -FILE: ../../../flutter/third_party/zlib/patches/0009-infcover-oob.patch -FILE: ../../../flutter/third_party/zlib/patches/0010-cmake-enable-simd.patch -FILE: ../../../flutter/third_party/zlib/patches/0011-avx512.patch -FILE: ../../../flutter/third_party/zlib/patches/0012-lfs-open64.patch -FILE: ../../../flutter/third_party/zlib/patches/0013-cpu-feature-detection-for-arm.patch -FILE: ../../../flutter/third_party/zlib/patches/0014-minizip-unzip-with-incorrect-size.patch -FILE: ../../../flutter/third_party/zlib/patches/0015-minizip-unzip-enable-decryption.patch -FILE: ../../../flutter/third_party/zlib/patches/0016-minizip-parse-unicode-path-extra-field.patch -FILE: ../../../flutter/third_party/zlib/trees.h -FILE: ../../../flutter/third_party/zlib/zlib.map -FILE: ../../../flutter/third_party/zlib/zlib.pc.cmakein ----------------------------------------------------------------------------------------------------- -version 1.2.12, March 27th, 2022 - -Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -==================================================================================================== - -Total license count: 865 diff --git a/engine/src/flutter/ci/licenses_golden/licenses_fuchsia b/engine/src/flutter/ci/licenses_golden/licenses_fuchsia deleted file mode 100644 index 79148b638718e..0000000000000 --- a/engine/src/flutter/ci/licenses_golden/licenses_fuchsia +++ /dev/null @@ -1,19484 +0,0 @@ -Signature: 68a17098c41394cffb5cf331ed011a9b - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/LICENSE.vulkan -TYPE: LicenseType.apache -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/data/config/symbol_index/config.json -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/pkg/async-default/async-default.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/backend_fuchsia_globals/backend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component/driver_component.json -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_shared_lib/driver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/fdio.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/heapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/heapdump_instrumentation_shard.json -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/inspect_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/svc/svc.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_shard_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/syslog.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/syslog_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/sysroot/libc.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/sysroot/zircon.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine/trace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/trace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace/trace.json -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_internal/vfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan/vulkan.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan/vulkan.json -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_image_pipe_swapchain.json -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_khronos_validation.json -FILE: ../../../fuchsia/sdk/linux/python/rtc_conformance_test/unversioned/rtc_conformance_test_bin ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/malloc.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/__llvm-libc-common.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/fenv.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-macros/fenv-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-macros/malloc-macros.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-types/fenv_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-types/fexcept_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-types/size_t.h -ORIGIN: https://llvm.org/LICENSE.txt referenced by ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/malloc.h -TYPE: LicenseType.llvm -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/malloc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/__llvm-libc-common.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/fenv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-macros/fenv-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-macros/malloc-macros.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-types/fenv_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-types/fexcept_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/llvm-libc-types/size_t.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/malloc.h ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. - - ---- LLVM Exceptions to the Apache 2.0 License ---- - -As an exception, if, as a result of your compiling your source code, portions -of this Software are embedded into an Object form of such source code, you -may redistribute such embedded portions in such Object form without complying -with the conditions of Sections 4(a), 4(b) and 4(d) of the License. - -In addition, if you combine or link compiled forms of this Software with -software that is licensed under the GPLv2 ("Combined Software") and if a -court of competent jurisdiction determines that the patent provision (Section -3), the indemnity provision (Section 9) or other Section of the License -conflicts with the conditions of the GPLv2, you may retroactively and -prospectively choose to deem waived or otherwise exclude such Section(s) of -the License, but only in their entirety and only with respect to the Combined -Software. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/input_event_constants.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/input_events.fidl + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/input_event_constants.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/input_events.fidl ----------------------------------------------------------------------------------------------------- -Copyright 2014 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.runner/component_runner.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/font_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.math/math.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/problem.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/seeking_reader.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.controller/trace_controller.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.provider/provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/presenter.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/assert.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/listnode.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/debug.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/log.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/fdio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/io.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/vfs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/watcher.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/thread_checker.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/magma_client/include/lib/magma/magma.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/magma_common/include/lib/magma/magma_common_defs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/include/lib/media/cpp/timeline_function.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/include/lib/media/cpp/timeline_rate.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/timeline_function.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/timeline_rate.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/completion.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/log_level.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/log_settings.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/macros.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/channel.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/event.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/eventpair.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/channel.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/event.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/eventpair.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/job.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/object_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/port.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/socket.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/task.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/thread.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/vmar.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/vmo.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/job.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/port.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/process.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/socket.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/thread.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/vmar.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/vmo.cc + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.runner/component_runner.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/font_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.math/math.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/problem.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/seeking_reader.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.controller/trace_controller.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.provider/provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/presenter.fidl -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/compiler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/listnode.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/processargs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/status.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/debug.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/log.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/object.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/port.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/profile.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/resource.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/types.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/fdio.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/io.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/vfs.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/watcher.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/thread_checker.h -FILE: ../../../fuchsia/sdk/linux/pkg/magma_client/include/lib/magma/magma.h -FILE: ../../../fuchsia/sdk/linux/pkg/magma_common/include/lib/magma/magma_common_defs.h -FILE: ../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/include/lib/media/cpp/timeline_function.h -FILE: ../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/include/lib/media/cpp/timeline_rate.h -FILE: ../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/timeline_function.cc -FILE: ../../../fuchsia/sdk/linux/pkg/media_cpp_no_converters/timeline_rate.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/completion.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/log_level.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/log_settings.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/macros.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/channel.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/event.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/eventpair.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/channel.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/event.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/eventpair.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/job.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/object.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/object_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/port.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/process.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/socket.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/task.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/thread.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/time.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/vmar.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/vmo.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/job.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/port.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/process.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/socket.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/thread.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/vmar.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/vmo.cc ----------------------------------------------------------------------------------------------------- -Copyright 2016 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/auth_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/token_manager.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/client.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/server.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/peripheral.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/types_deprecated.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/presentation_info.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_capturer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mem/buffer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/mdns.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/commands.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/display_info.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/events.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/nodes.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/renderer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/resources.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/shapes.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/ime_service.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/input_device_registry.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/input_reports.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/text_editing.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/text_input.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/usages.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/presentation.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/device/audio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/fidl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/hw/gpt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/process.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/rights.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/sanitizer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/hypervisor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/policy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/system.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/tls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/receiver.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/task.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/wait.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/receiver.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/task.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/trap.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/wait.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-default/include/lib/async/default.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-loop-cpp/include/lib/async-loop/cpp/loop.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-loop-cpp/loop_wrapper.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-loop-testing/real_loop.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-loop/include/lib/async-loop/loop.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-loop/loop.c + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-testing/dispatcher_stub.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-testing/include/lib/async-testing/dispatcher_stub.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/dispatcher.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/irq.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/receiver.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/task.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/wait.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/ops.c + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/namespace.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/unsafe.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/decoding_and_validating.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/formatting.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/coding.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/vector_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/function.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/function.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/hwreg/include/hwreg/bitfields.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/hwreg/include/hwreg/internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/hwreg/include/hwreg/mmio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/hwreg/printers.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/context.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/fields.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/handler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/instrumentation.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/context.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/fields.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/handler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/instrumentation.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/event.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/event_common.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/event_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/pairs_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/string_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/observer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/include/lib/trace-provider/handler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/include/lib/trace-provider/provider.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/event.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/event.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/event_common.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/event_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/pairs_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/string_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/observer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/observer.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/fifo.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/fifo.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/handle.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/timer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/timer.cc + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/auth_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/token_manager.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/client.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/server.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/peripheral.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/types_deprecated.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/presentation_info.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_capturer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mem/buffer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/mdns.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/commands.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/display_info.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/events.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/nodes.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/renderer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/resources.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/shapes.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/ime_service.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/input_device_registry.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/input_reports.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/text_editing.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/text_input.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/usages.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/presentation.fidl -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/device/audio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/fidl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/hw/gpt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/process.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/rights.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/sanitizer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/hypervisor.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/iommu.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/policy.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/system.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/tls.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/receiver.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/task.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/wait.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/receiver.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/task.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/trap.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/wait.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-default/include/lib/async/default.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-loop-cpp/include/lib/async-loop/cpp/loop.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-loop-cpp/loop_wrapper.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-loop-testing/real_loop.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-loop/include/lib/async-loop/loop.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-loop/loop.c -FILE: ../../../fuchsia/sdk/linux/pkg/async-testing/dispatcher_stub.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-testing/include/lib/async-testing/dispatcher_stub.h -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/dispatcher.h -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/irq.h -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/receiver.h -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/task.h -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/wait.h -FILE: ../../../fuchsia/sdk/linux/pkg/async/ops.c -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/limits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/namespace.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/unsafe.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/decoding_and_validating.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/formatting.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/coding.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/string_view.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/vector_view.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/function.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/function.h -FILE: ../../../fuchsia/sdk/linux/pkg/hwreg/include/hwreg/bitfields.h -FILE: ../../../fuchsia/sdk/linux/pkg/hwreg/include/hwreg/internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/hwreg/include/hwreg/mmio.h -FILE: ../../../fuchsia/sdk/linux/pkg/hwreg/printers.cc -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/context.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/fields.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/handler.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/instrumentation.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/types.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/context.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/fields.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/handler.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/instrumentation.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine/include/lib/trace-engine/types.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/event.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/event_common.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/event_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/pairs_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/string_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/observer.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/include/lib/trace-provider/handler.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/include/lib/trace-provider/provider.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/event.cc -FILE: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/event.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/event_common.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/event_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/pairs_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/string_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/observer.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/observer.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/fifo.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/fifo.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/handle.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/timer.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/timer.cc ----------------------------------------------------------------------------------------------------- -Copyright 2017 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/attestation_signer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/common.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/profile.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/service.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.host/host.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/central.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera/camera.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera/manager.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.data/data.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.developer.tiles/tiles.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.gpu.magma/magma.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2c/i2c.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.rtc/rtc.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.serialimpl/serial-impl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/encoded_image.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/image_info.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/memory_type.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/intl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/directory.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/node.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ldsvc/ldsvc.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.logger/logger.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/gain_control.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/player.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/source_manager.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_device_enumerator.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_renderer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/stream.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/stream_common.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/stream_processor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/stream_type.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/timeline_function.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediacodec/codec_factory.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.http/client.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net/net.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.process/launcher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.process/resolver.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysinfo/sysinfo.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/allocator.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/collection.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/collections_deprecated.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/constraints.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/format_modifier.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/formats_deprecated.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/image_formats.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/image_formats_deprecated.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/usages.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/view_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/pose_buffer_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/commands.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/display_usage.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/commands.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/events.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/scenic.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/session.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/snapshot.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/commands.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.stats/wlan_stats.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/dlfcn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/features.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/hw/pci.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/smc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/threads.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/trap.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-testing/include/lib/async-testing/test_loop.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-testing/include/lib/async-testing/test_loop_dispatcher.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-testing/include/lib/async-testing/test_subloop.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-testing/test_loop.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-testing/test_loop_dispatcher.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/trap.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/spawn.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl/epitaph.c + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl/include/lib/fidl/epitaph.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/walker.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/binding.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/binding_set.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/interface_ptr.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/interface_ptr_set.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/header.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/implementation.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/message_handler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/message_reader.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/pending_response.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/proxy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/proxy_controller.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/stub.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/stub_controller.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/weak_stub_controller.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/type_converter.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/message_handler.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/message_reader.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/pending_response.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/proxy.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/proxy_controller.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/stub.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/stub_controller.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/weak_stub_controller.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/clone.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/decoder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/encoder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/clone.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/coding_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/comparison.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/decoder.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/encoder.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/enum.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/interface_handle.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/interface_request.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/message.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/message_buffer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/message_part.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/string.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/vector.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/message.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/message_buffer.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/include/lib/fidl/cpp/internal/logging.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/include/lib/fidl/cpp/internal/synchronous_proxy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/include/lib/fidl/cpp/synchronous_interface_ptr.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/internal/logging.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/internal/synchronous_proxy.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/array.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/message.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/bridge.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/bridge_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/promise.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/promise_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/result.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/scope.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/sequencer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/single_threaded_executor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/promise.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/scheduler.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/scope.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/sequencer.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/single_threaded_executor.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/defer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/function_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/nullable.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/thread_safety.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/images_cpp/images.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/images_cpp/include/lib/images/cpp/images.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/inspector.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/heap.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/limits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/state.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/inspector.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/heap.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/state.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/types.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/media_cpp/include/lib/media/cpp/type_converters.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/media_cpp/type_converters.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/memory_barriers/include/lib/memory_barriers/memory_barriers.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio/mmio-buffer.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/view_token_pair.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/optional.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/queue.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/type_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/variant.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/vector.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/svc/include/lib/svc/dir.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/condition.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/internal/condition-template.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/mutex.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog/include/lib/syslog/global.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog/include/lib/syslog/logger.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog/include/lib/syslog/wire_format.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/buffer_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/event_args.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/event_args.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/include/lib/trace-provider/fdio_connect.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-vthread-headersonly/include/trace-vthread/event_vthread.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-vthread-headersonly/include/trace-vthread/internal/event_vthread.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-vthread/include/trace-vthread/event_vthread.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace-vthread/include/trace-vthread/internal/event_vthread.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/event_args.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/event_args.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/composed_service_dir.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/bti.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/debuglog.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/guest.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/bti.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/debuglog.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/guest.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/interrupt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/iommu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/pmt.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/profile.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/suspend_token.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/vcpu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/interrupt.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/iommu.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/profile.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/resource.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/vcpu.cc + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/attestation_signer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/common.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/profile.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/service.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.host/host.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/central.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera/camera.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera/manager.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.data/data.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.developer.tiles/tiles.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.gpu.magma/magma.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2c/i2c.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.rtc/rtc.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.serialimpl/serial-impl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/encoded_image.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/image_info.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/memory_type.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/intl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/directory.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/node.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ldsvc/ldsvc.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.logger/logger.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/gain_control.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/player.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/source_manager.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_device_enumerator.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_renderer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/stream.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/stream_common.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/stream_processor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/stream_type.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/timeline_function.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediacodec/codec_factory.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.http/client.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net/net.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.process/launcher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.process/resolver.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysinfo/sysinfo.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/allocator.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/collection.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/collections_deprecated.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/constraints.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/format_modifier.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/formats_deprecated.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/image_formats.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/image_formats_deprecated.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/usages.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/view_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/pose_buffer_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/commands.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/display_usage.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/commands.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/events.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/scenic.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/session.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/snapshot.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/commands.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.stats/wlan_stats.fidl -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/hw/pci.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/smc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/time.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/time.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/trap.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-testing/include/lib/async-testing/test_loop.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-testing/include/lib/async-testing/test_loop_dispatcher.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-testing/include/lib/async-testing/test_subloop.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-testing/test_loop.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-testing/test_loop_dispatcher.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/time.h -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/trap.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/spawn.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl/epitaph.c -FILE: ../../../fuchsia/sdk/linux/pkg/fidl/include/lib/fidl/epitaph.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/walker.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/binding.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/binding_set.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/interface_ptr.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/interface_ptr_set.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/header.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/implementation.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/message_handler.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/message_reader.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/pending_response.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/proxy.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/proxy_controller.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/stub.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/stub_controller.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/weak_stub_controller.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/type_converter.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/message_handler.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/message_reader.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/pending_response.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/proxy.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/proxy_controller.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/stub.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/stub_controller.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/weak_stub_controller.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/clone.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/decoder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/encoder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/clone.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/coding_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/comparison.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/decoder.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/encoder.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/enum.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/interface_handle.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/interface_request.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/message.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/message_buffer.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/message_part.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/string.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/vector.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/message.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/message_buffer.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/include/lib/fidl/cpp/internal/logging.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/include/lib/fidl/cpp/internal/synchronous_proxy.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/include/lib/fidl/cpp/synchronous_interface_ptr.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/internal/logging.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/internal/synchronous_proxy.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/array.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/message.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/bridge.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/bridge_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/promise.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/promise_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/result.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/scheduler.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/scope.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/sequencer.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/single_threaded_executor.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/promise.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/scheduler.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/scope.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/sequencer.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/single_threaded_executor.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/defer.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/function_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/nullable.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/thread_safety.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/images_cpp/images.cc -FILE: ../../../fuchsia/sdk/linux/pkg/images_cpp/include/lib/images/cpp/images.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/inspector.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/heap.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/limits.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/state.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/types.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/inspector.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/heap.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/state.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/types.cc -FILE: ../../../fuchsia/sdk/linux/pkg/media_cpp/include/lib/media/cpp/type_converters.h -FILE: ../../../fuchsia/sdk/linux/pkg/media_cpp/type_converters.cc -FILE: ../../../fuchsia/sdk/linux/pkg/memory_barriers/include/lib/memory_barriers/memory_barriers.h -FILE: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio.h -FILE: ../../../fuchsia/sdk/linux/pkg/mmio/mmio-buffer.cc -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/view_token_pair.cc -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/optional.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/queue.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/type_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/variant.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/vector.h -FILE: ../../../fuchsia/sdk/linux/pkg/svc/include/lib/svc/dir.h -FILE: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/condition.h -FILE: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/internal/condition-template.h -FILE: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/mutex.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/include/lib/syslog/global.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/include/lib/syslog/logger.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/include/lib/syslog/wire_format.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine-headersonly/include/lib/trace-engine/buffer_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/event_args.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-headersonly/include/lib/trace/internal/event_args.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/include/lib/trace-provider/fdio_connect.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-vthread-headersonly/include/trace-vthread/event_vthread.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-vthread-headersonly/include/trace-vthread/internal/event_vthread.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-vthread/include/trace-vthread/event_vthread.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace-vthread/include/trace-vthread/internal/event_vthread.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/event_args.h -FILE: ../../../fuchsia/sdk/linux/pkg/trace/include/lib/trace/internal/event_args.h -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/composed_service_dir.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/bti.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/debuglog.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/guest.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/bti.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/debuglog.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/guest.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/interrupt.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/iommu.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/pmt.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/profile.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/resource.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/suspend_token.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/vcpu.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/interrupt.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/iommu.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/profile.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/resource.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/vcpu.cc ----------------------------------------------------------------------------------------------------- -Copyright 2018 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/data/config/symbol_index/config.json -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/pkg/async-default/async-default.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/backend_fuchsia_globals/backend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component/driver_component.json -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_shared_lib/driver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/fdio.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/heapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/heapdump_instrumentation_shard.json -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/inspect_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/svc/svc.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_shard_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/syslog.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/syslog_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/sysroot/libc.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/sysroot/zircon.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine/trace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/trace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace/trace.json -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_internal/vfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan/vulkan.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan/vulkan.json -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_image_pipe_swapchain.json -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_khronos_validation.json -FILE: ../../../fuchsia/sdk/linux/python/rtc_conformance_test/unversioned/rtc_conformance_test_bin ----------------------------------------------------------------------------------------------------- -Copyright 2019 The Fuchsia Authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.acpi/fuchsia.acpi.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.pci/fuchsia.pci.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.platform/fuchsia.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.serial/fuchsia.serial.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.test/fuchsia.test.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/sl4f.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/audio.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/device_log.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/dump.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/exceptions.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/factory_store.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/input.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/inspect.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/modular.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/performance.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/scenic.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/setui.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/sl4f_client.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/ssh.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/storage.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/common.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/cpu_metrics.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/drm_fps.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/flutter_frame_stats.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/input_latency.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/memory_metrics.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/scenic_frame_stats.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/temperature_metrics.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics_results.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics_spec.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/time_delta.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/time_point.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/trace_importing.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/trace_model.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/webdriver.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/trace_processing.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.semantics/node.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.tts/tts.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.tts/tts_manager.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.tts/tts_registration.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth.oldtokens/credentials_producer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/constants.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/advertising_data.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/peer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/access.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/bootstrap.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/host_watcher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/identity.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/peer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/address.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/appearance.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/connection_role.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/device_class.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/id.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/uuid.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera2.hal/hal.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera2/manager.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera2/stream.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.castauth/cast_auth.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.castconfig/cast_config.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.castsetup/cast_setup.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.castsysteminfo/cast_system_info.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/events.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/format.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/reader.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/selector.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.element/annotations.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.element/element_manager.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.factory/factory.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/annotation.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/attachment.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/crash_reporter.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/data_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/device_id_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/events.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/styles.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/ring_buffer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/stream_config.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/stream_config_connector.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/hci.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/virtual.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.clock/clock.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.cpu.ctrl/ctrl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.light/light.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network.driver/network-device.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network.driver/network-mac.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.statecontrol/admin.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/power.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.serial/serial.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spi/spi.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hwinfo/hwinfo.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/image_pipe2.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/descriptor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/device.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/keyboard.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/led.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/mouse.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/report.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/sensor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/touch.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/units.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.inspect/tree.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/property_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/file.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/io.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/node-protocols.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/kernel-counter.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/kernel-debug.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/kernel-stats.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/root-job.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.location.namedplace/namedplace.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/misc.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/provisioning_params.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/volume_control.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/content_decryption.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/error.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/license_session.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/provisioning.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/services.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/discovery.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/images.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/player.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/publisher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sounds/sound_player.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_consumer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_core.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/usage_reporter.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mem/range.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.migration/migration.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.recovery.ui/countdown.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.recovery.ui/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.recovery/factory_reset.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.scenic.scheduling/prediction_info.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.session/launcher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/accessibility.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/audio.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/display.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/do_not_disturb.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/intl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/privacy.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/settings.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/setup.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/secure_mem.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.test/suite.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.thermal/thermal.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity.control/control.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/activity.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/state.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/tracker.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/view.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/view_config.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.brightness/brightness.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.brightness/color_adjustment.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/tokens.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/pointer_capture.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/device_listener.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.types/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/focuser.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view_token.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.update.channel/channel.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.update.channelcontrol/channelcontrol.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/constants.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/context.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/cookie.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/debug.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/frame.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/navigation.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/url_request_rewrite_rules.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/access_point_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/client_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/zx/rights.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/hw/debug/arm64.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/hw/debug/x86.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/lookup.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/scheduler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/utc.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/executor.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/executor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/irq.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/paged_vmo.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/irq.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/paged_vmo.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-loop-default/include/lib/async-loop/default.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/paged_vmo.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/directory.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/fd.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/internal_callable_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/txn_header.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/visitor.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/internal.c + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/event_sender.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/member_connector.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/service_connector.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/service_handler_base.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/include/lib/fidl/cpp/internal/message_sender.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/internal/message_sender.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/async_binding.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/async_transaction.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/async_binding.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/async_transaction.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/connect_service.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/message_storage.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/server.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/service_handler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/sync_call.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/transaction.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/transaction.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/barrier.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/barrier.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/utility.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/health.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/hierarchy.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/health.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/hierarchy.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/inspect.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/reader.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/block.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/scanner.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/snapshot.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/reader.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/scanner.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/snapshot.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/magma_client/include/lib/magma/magma_sysmem.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/view_ref_pair.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/view_token_pair.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/view_ref_pair.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/utility.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/utility.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/internal/mutex-internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_cpp/component_context.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_cpp/include/lib/sys/cpp/component_context.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_cpp/include/lib/sys/cpp/outgoing_directory.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_cpp/include/lib/sys/cpp/service_directory.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_cpp/outgoing_directory.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_cpp/service_directory.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_cpp_testing/component_context_provider.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_cpp_testing/service_directory_provider.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/include/lib/sys/service/cpp/service.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/include/lib/sys/service/cpp/service_aggregate.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/include/lib/sys/service/cpp/service_handler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/service.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/service_aggregate.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/lazy_dir.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/node.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/pseudo_dir.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/pseudo_file.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/remote_dir.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/service.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/vmo_file.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/clock.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/exception.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/pager.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/pager.cc + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.acpi/fuchsia.acpi.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.pci/fuchsia.pci.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.platform/fuchsia.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.serial/fuchsia.serial.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.test/fuchsia.test.bind -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/sl4f.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/audio.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/device_log.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/dump.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/exceptions.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/factory_store.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/input.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/inspect.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/modular.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/performance.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/scenic.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/setui.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/sl4f_client.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/ssh.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/storage.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/common.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/cpu_metrics.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/drm_fps.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/flutter_frame_stats.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/input_latency.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/memory_metrics.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/scenic_frame_stats.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/temperature_metrics.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics_results.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics_spec.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/time_delta.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/time_point.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/trace_importing.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/trace_model.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/webdriver.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/trace_processing.dart -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.semantics/node.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.semantics/semantics_manager.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.tts/tts.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.tts/tts_manager.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.tts/tts_registration.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth.oldtokens/credentials_producer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/constants.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/advertising_data.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/peer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/access.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/bootstrap.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/host_watcher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/identity.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/peer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/address.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/appearance.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/connection_role.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/device_class.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/id.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/uuid.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera2.hal/hal.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera2/manager.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera2/stream.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.castauth/cast_auth.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.castconfig/cast_config.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.castsetup/cast_setup.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.castsysteminfo/cast_system_info.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/events.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/format.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/reader.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/selector.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.element/annotations.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.element/element_manager.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.factory/factory.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/annotation.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/attachment.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/crash_reporter.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/data_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/device_id_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/events.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/styles.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/ring_buffer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/stream_config.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/stream_config_connector.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/hci.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/virtual.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.clock/clock.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.cpu.ctrl/ctrl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.light/light.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network.driver/network-device.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network.driver/network-mac.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.statecontrol/admin.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/power.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.serial/serial.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spi/spi.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hwinfo/hwinfo.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/image_pipe2.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/descriptor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/device.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/keyboard.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/led.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/mouse.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/report.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/sensor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/touch.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/units.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.inspect/tree.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/property_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/file.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/io.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/node-protocols.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/kernel-counter.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/kernel-debug.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/kernel-stats.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/root-job.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.location.namedplace/namedplace.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/misc.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/provisioning_params.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/volume_control.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/content_decryption.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/error.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/license_session.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/provisioning.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/services.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/discovery.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/images.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/player.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/publisher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sounds/sound_player.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_consumer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/audio_core.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/usage_reporter.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mem/range.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.migration/migration.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.recovery.ui/countdown.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.recovery.ui/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.recovery/factory_reset.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.scenic.scheduling/prediction_info.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.session/launcher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/accessibility.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/audio.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/display.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/do_not_disturb.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/intl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/privacy.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/settings.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/setup.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/secure_mem.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.test/suite.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.thermal/thermal.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity.control/control.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/activity.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/state.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/tracker.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/view.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/view_config.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.brightness/brightness.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.brightness/color_adjustment.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/tokens.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/pointer_capture.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/device_listener.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.types/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/focuser.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view_token.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.update.channel/channel.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.update.channelcontrol/channelcontrol.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/constants.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/context.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/cookie.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/debug.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/frame.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/navigation.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/url_request_rewrite_rules.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/access_point_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/client_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/zx/rights.fidl -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/exception.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/hw/debug/arm64.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/hw/debug/x86.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/lookup.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/clock.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/scheduler.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/utc.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/executor.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/executor.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/irq.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/paged_vmo.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/irq.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/paged_vmo.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async-loop-default/include/lib/async-loop/default.h -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/paged_vmo.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/directory.h -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/fd.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/internal_callable_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/txn_header.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/visitor.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/internal.c -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/event_sender.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/member_connector.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/service_connector.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/service_handler_base.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/include/lib/fidl/cpp/internal/message_sender.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_sync/internal/message_sender.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/async_binding.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/async_transaction.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/async_binding.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/async_transaction.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/connect_service.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/message_storage.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/server.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/service_handler.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/sync_call.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/transaction.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/transaction.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/barrier.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit-promise/include/lib/fpromise/barrier.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/utility.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/health.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/hierarchy.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/health.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/hierarchy.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/inspect.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/reader.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/block.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/scanner.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/vmo/snapshot.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/reader.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/scanner.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/vmo/snapshot.cc -FILE: ../../../fuchsia/sdk/linux/pkg/magma_client/include/lib/magma/magma_sysmem.h -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/view_ref_pair.h -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/view_token_pair.h -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/view_ref_pair.cc -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/utility.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/string_view.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/utility.h -FILE: ../../../fuchsia/sdk/linux/pkg/sync/include/lib/sync/internal/mutex-internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_cpp/component_context.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_cpp/include/lib/sys/cpp/component_context.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_cpp/include/lib/sys/cpp/outgoing_directory.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_cpp/include/lib/sys/cpp/service_directory.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_cpp/outgoing_directory.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_cpp/service_directory.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_cpp_testing/component_context_provider.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_cpp_testing/service_directory_provider.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/include/lib/sys/service/cpp/service.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/include/lib/sys/service/cpp/service_aggregate.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/include/lib/sys/service/cpp/service_handler.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/service.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/service_aggregate.cc -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/lazy_dir.h -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/node.h -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/pseudo_dir.h -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/pseudo_file.h -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/remote_dir.h -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/service.h -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_cpp/include/lib/vfs/cpp/vmo_file.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/clock.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/exception.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/pager.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/pager.cc ----------------------------------------------------------------------------------------------------- -Copyright 2019 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform/fuchsia.amlogic.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.arm.platform/fuchsia.arm.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.broadcom.platform/fuchsia.broadcom.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.designware.platform/fuchsia.designware.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.ethernet/fuchsia.ethernet.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.focaltech.platform/fuchsia.focaltech.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.google.platform/fuchsia.google.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.i2c/fuchsia.i2c.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.khadas.platform/fuchsia.khadas.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.nxp.platform/fuchsia.nxp.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.pwm/fuchsia.pwm.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.realtek.platform/fuchsia.realtek.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.sdmmc/fuchsia.sdmmc.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.test.platform/fuchsia.test.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.ti.platform/fuchsia.ti.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/component.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/device.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/diagnostics.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/feedback_data_provider.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/proxy.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/time.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/gpu_metrics.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/total_trace_wall_time.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.gesture/gesture_listener.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.a2dp/audio_mode.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/sco.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.hfp/hfp.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/connection_options.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/configuration.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/pairing_options.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/security_mode.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/deprecated.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/device_name.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.buildinfo/buildinfo.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/device.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/device_watcher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/stream.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.castremotecontrol/remote_control.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.castsetup/server.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.castwindow/window.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/constants.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/error.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/interest.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/severity.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/driver_start_args.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/topology.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.registrar/driver-registrar.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.factory.wlan/iovar.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/crash_register.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/data_register.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/last_reboot_info.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.adc/adc.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/codec.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/dai.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/dai_format.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.gpio/gpio.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/device.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/frames.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/instance.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/mac.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/session.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pci/pci.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.sensor/sensor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.statecontrol/reboot_reason.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.registers/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.registers/register-util.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdio/sdio.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.temperature/temperature.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images2/format_modifier.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/consumer_control.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/device_ids.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input/keys.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/locking.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/debug-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/hypervisor-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/info-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/ioport-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/irq-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/mexec-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/mmio-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/power-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/smc-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/vmex-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.legacymetrics/event.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.legacymetrics/metrics_recorder.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.location.position/position.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.location.sensor/sensor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.location/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.bootstrap/thread.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/device.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/energy_scanner.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/effects_controller.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/properties.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.target/target_discovery.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/activity_reporter.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/profile_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.memorypressure/memorypressure.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.metrics/metric_event_logger.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.interfaces/interfaces.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/routes.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net/socket.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.process.lifecycle/lifecycle.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings.policy/error.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings.policy/volume_policy.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/factory_reset.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/input.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/light.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/night_mode.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/constraints.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/results.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/usages.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.system.state/system-state-transition.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/events.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/keyboard.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/modifiers.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/mouse.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/state.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/touch.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/view.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/config.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/device.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/event.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/display_backlight.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view_ref.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view_ref_focused.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view_ref_installed.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ultrasound/factory.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.update/commit.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.update/update.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.url/url.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/auth.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/bootstrap.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/common.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/weavestack.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/reason_code.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/status_code.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.product.deprecatedclient/wlan_deprecated_client.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.product.deprecatedconfiguration/wlan_deprecated_configuration.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/zx/zx_common.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/analyzer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/boot/crash-reason.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/string_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls-next.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/testonly-syscalls.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/backend_fuchsia_globals/include/lib/syslog/cpp/logging_backend_fuchsia_globals.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/internal/start_args.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/internal/symbols.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/include/lib/driver/incoming/cpp/namespace.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/namespace.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/include/lib/driver/logging/cpp/logger.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/logger.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_symbols/include/lib/driver/symbols/symbols.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/handle_close_many.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/internal/bitset.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/internal/natural_types_header.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/internal/natural_types_implementation.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/arena.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/client_base.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/arena.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/client.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/client_base.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/decoded_value.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/envelope.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/extract_resource_on_destruction.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/message.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/object_view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/status.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/server.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/compiler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/result.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/result.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/input_report_reader/include/lib/input_report_reader/reader.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio-ptr/include/lib/mmio-ptr/fake.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio-ptr/include/lib/mmio-ptr/mmio-ptr.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/array.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/bit.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/array.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/bit.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/memory.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/source_location.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/version.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/logging_backend_fuchsia_globals.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/logging_backend_fuchsia.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/msi.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/result.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/stream.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/msi.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/stream.cc + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform/fuchsia.amlogic.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.arm.platform/fuchsia.arm.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.broadcom.platform/fuchsia.broadcom.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.designware.platform/fuchsia.designware.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.ethernet/fuchsia.ethernet.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.focaltech.platform/fuchsia.focaltech.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.google.platform/fuchsia.google.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.i2c/fuchsia.i2c.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.khadas.platform/fuchsia.khadas.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.nxp.platform/fuchsia.nxp.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.pwm/fuchsia.pwm.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.realtek.platform/fuchsia.realtek.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.sdmmc/fuchsia.sdmmc.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.test.platform/fuchsia.test.platform.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.ti.platform/fuchsia.ti.platform.bind -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/component.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/device.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/diagnostics.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/feedback_data_provider.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/proxy.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/time.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/gpu_metrics.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/total_trace_wall_time.dart -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.gesture/gesture_listener.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.a2dp/audio_mode.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/sco.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.hfp/hfp.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/connection_options.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/configuration.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/pairing_options.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/security_mode.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/deprecated.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/device_name.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.buildinfo/buildinfo.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/device.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/device_watcher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/stream.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.castremotecontrol/remote_control.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.castsetup/server.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.castwindow/window.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/constants.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/error.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/interest.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/severity.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/driver_start_args.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/topology.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.registrar/driver-registrar.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.factory.wlan/iovar.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/crash_register.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/data_register.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/last_reboot_info.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.adc/adc.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/codec.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/dai.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/dai_format.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.gpio/gpio.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/device.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/frames.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/instance.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/mac.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/session.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pci/pci.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.sensor/sensor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.statecontrol/reboot_reason.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.registers/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.registers/register-util.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdio/sdio.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.temperature/temperature.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images2/format_modifier.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/consumer_control.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/device_ids.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input/keys.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/locking.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/debug-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/hypervisor-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/info-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/ioport-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/irq-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/mexec-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/mmio-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/power-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/smc-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/vmex-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.legacymetrics/event.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.legacymetrics/metrics_recorder.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.location.position/position.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.location.sensor/sensor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.location/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.bootstrap/thread.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/device.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/energy_scanner.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/effects_controller.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/properties.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.target/target_discovery.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/activity_reporter.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/profile_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.memorypressure/memorypressure.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.metrics/metric_event_logger.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.interfaces/interfaces.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/routes.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net/socket.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.process.lifecycle/lifecycle.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings.policy/error.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings.policy/volume_policy.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/factory_reset.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/input.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/light.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/night_mode.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/constraints.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/results.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/usages.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.system.state/system-state-transition.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/events.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/keyboard.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/modifiers.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/mouse.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/state.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/touch.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/view.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/config.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/device.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/event.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/display_backlight.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view_ref.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view_ref_focused.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/view_ref_installed.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ultrasound/factory.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.update/commit.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.update/update.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.url/url.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/auth.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/bootstrap.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/common.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/weavestack.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/reason_code.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/status_code.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.product.deprecatedclient/wlan_deprecated_client.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.product.deprecatedconfiguration/wlan_deprecated_configuration.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/zx/zx_common.fidl -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/analyzer.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/boot/crash-reason.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/string_view.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls-next.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/testonly-syscalls.h -FILE: ../../../fuchsia/sdk/linux/pkg/backend_fuchsia_globals/include/lib/syslog/cpp/logging_backend_fuchsia_globals.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/internal/start_args.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/internal/symbols.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/include/lib/driver/incoming/cpp/namespace.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/namespace.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/include/lib/driver/logging/cpp/logger.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/logger.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_symbols/include/lib/driver/symbols/symbols.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/handle_close_many.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/internal/bitset.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/internal/natural_types_header.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/internal/natural_types_implementation.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base/include/lib/fidl/cpp/types.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/arena.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/client_base.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/arena.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/client.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/client_base.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/decoded_value.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/envelope.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/extract_resource_on_destruction.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/message.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/object_view.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/status.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/server.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/compiler.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/result.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/result.h -FILE: ../../../fuchsia/sdk/linux/pkg/input_report_reader/include/lib/input_report_reader/reader.h -FILE: ../../../fuchsia/sdk/linux/pkg/mmio-ptr/include/lib/mmio-ptr/fake.h -FILE: ../../../fuchsia/sdk/linux/pkg/mmio-ptr/include/lib/mmio-ptr/mmio-ptr.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/array.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/bit.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/array.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/bit.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/memory.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/source_location.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/version.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/logging_backend_fuchsia_globals.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/logging_backend_fuchsia.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/msi.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/result.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/stream.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/msi.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/stream.cc ----------------------------------------------------------------------------------------------------- -Copyright 2020 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform.a311d/fuchsia.amlogic.platform.a311d.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform.meson/fuchsia.amlogic.platform.meson.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.broadcom.platform.sdio/fuchsia.broadcom.platform.sdio.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.clock/fuchsia.clock.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.gpio/fuchsia.gpio.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.power/fuchsia.power.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.register/fuchsia.register.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.sdio/fuchsia.sdio.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.sysmem/fuchsia.sysmem.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.usb.phy/fuchsia.usb.phy.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.verisilicon.platform/fuchsia.verisilicon.platform.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/camera_metrics.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/flatland_latency.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/virtual_camera.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.virtualkeyboard/virtual_keyboard.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.audio.effects/creator.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.audio.effects/processor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/client.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/constants.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/server.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/capability.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/child.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/collection.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/component.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/config.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/environment.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/events.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/expose.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/offer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/program.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/relative_refs.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/use.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.test/realm_builder.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/binder.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/realm.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.device.fs/connector.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics.types/component.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/log_settings.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/development.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/iterators.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.test/realm.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.gpu.agis/agis.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/signal_processing.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/codec_connector.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/dai_connector.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/health.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/port.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.radar/radar.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sharedmemory/sharedmemory.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.descriptor/usb.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.vreg/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.virtualkeyboard/virtual_keyboard.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input/keymap.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/calendar.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/time_zones.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/rights-abilities.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/cpu-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/calibrator.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/sensor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/counters.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/audio_format.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/compression.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/encryption.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/media_format.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/video_format.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.profile/profile.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/keyboard.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.thermal/client_state.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/allocator.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/flatland.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.observation.geometry/watcher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/flatland_tokens.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/associnfo.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/history.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/wlan_common.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/constants.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/rsn.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/availability.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/include/lib/driver/logging/cpp/internal/logger_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/include/lib/driver/logging/cpp/structured_logger.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/arena.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/channel.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/channel_read.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/dispatcher.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/handle.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/channel_read.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/arena.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/channel.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/channel_read.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/dispatcher.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/unowned.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_env/include/lib/fdf/env.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/wire_format_metadata.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/internal/natural_types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/natural_types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/any_error_in.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/client.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/client_details.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/make_response_context.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/natural_client_base.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/unified_messaging.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/client_details.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/container_utils.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/helper_macros.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/node_utils.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/pointer_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/wavl_tree.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/wavl_tree_internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/server_details.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/synchronization_checker.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/transport.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/transport_channel.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_messaging.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/message_storage.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/status.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/transport.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/transport_channel.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/wire_messaging.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/wire_types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_transport/include/lib/fidl_driver/cpp/transport.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_transport/transport.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/view_creation_tokens.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/view_identity.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/view_creation_tokens.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/view_identity.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/algorithm.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/atomic.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/cstddef.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/functional.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/algorithm.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/atomic.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/erase.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/functional.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/span.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/type_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/iterator.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/span.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/tuple.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sync_cpp/include/lib/sync/cpp/completion.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/internal/errors.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/internal/local_component_runner.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/internal/realm.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/realm_builder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/realm_builder_types.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/scoped_child.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_structured_backend/cpp/fuchsia_syslog.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_structured_backend/include/lib/syslog/structured_backend/cpp/fuchsia_syslog.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_structured_backend/include/lib/syslog/structured_backend/fuchsia_syslog.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/status_string.cc + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform.a311d/fuchsia.amlogic.platform.a311d.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.amlogic.platform.meson/fuchsia.amlogic.platform.meson.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.broadcom.platform.sdio/fuchsia.broadcom.platform.sdio.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.clock/fuchsia.clock.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.gpio/fuchsia.gpio.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.power/fuchsia.power.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.register/fuchsia.register.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.sdio/fuchsia.sdio.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.sysmem/fuchsia.sysmem.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.usb.phy/fuchsia.usb.phy.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.verisilicon.platform/fuchsia.verisilicon.platform.bind -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/camera_metrics.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/flatland_latency.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/virtual_camera.dart -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.virtualkeyboard/virtual_keyboard.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.audio.effects/creator.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.audio.effects/processor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/client.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/constants.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/server.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/capability.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/child.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/collection.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/component.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/config.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/environment.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/events.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/expose.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/offer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/program.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/relative_refs.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/use.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.test/realm_builder.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/binder.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/realm.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.device.fs/connector.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics.types/component.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/log_settings.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/development.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/iterators.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.test/realm.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.gpu.agis/agis.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/signal_processing.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/codec_connector.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/dai_connector.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/health.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/port.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.radar/radar.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sharedmemory/sharedmemory.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.descriptor/usb.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.vreg/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.virtualkeyboard/virtual_keyboard.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input/keymap.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/calendar.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/time_zones.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/rights-abilities.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/cpu-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/calibrator.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/sensor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/counters.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/audio_format.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/compression.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/encryption.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/media_format.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/video_format.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.profile/profile.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/keyboard.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.thermal/client_state.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/allocator.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/flatland.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.observation.geometry/watcher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/flatland_tokens.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/associnfo.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/history.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/wlan_common.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/constants.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/rsn.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/types.fidl -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/availability.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/include/lib/driver/logging/cpp/internal/logger_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/include/lib/driver/logging/cpp/structured_logger.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/arena.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/channel.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/channel_read.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/dispatcher.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/handle.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/types.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/channel_read.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/arena.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/channel.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/channel_read.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/dispatcher.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/unowned.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_env/include/lib/fdf/env.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/wire_format_metadata.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/internal/natural_types.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/natural_types.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/any_error_in.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/client.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/client_details.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/make_response_context.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/natural_client_base.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/unified_messaging.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/client_details.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/container_utils.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/helper_macros.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/node_utils.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/pointer_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/wavl_tree.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/intrusive_container/wavl_tree_internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/server_details.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/synchronization_checker.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/transport.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/transport_channel.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_messaging.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_types.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/message_storage.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/status.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/transport.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/transport_channel.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/wire_messaging.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/wire_types.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_transport/include/lib/fidl_driver/cpp/transport.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_transport/transport.cc -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/view_creation_tokens.h -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/view_identity.h -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/view_creation_tokens.cc -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/view_identity.cc -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/algorithm.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/atomic.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/cstddef.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/functional.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/algorithm.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/atomic.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/erase.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/functional.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/span.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/type_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/iterator.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/span.h -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/tuple.h -FILE: ../../../fuchsia/sdk/linux/pkg/sync_cpp/include/lib/sync/cpp/completion.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/internal/errors.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/internal/local_component_runner.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/internal/realm.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/realm_builder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/realm_builder_types.cc -FILE: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/scoped_child.cc -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_structured_backend/cpp/fuchsia_syslog.cc -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_structured_backend/include/lib/syslog/structured_backend/cpp/fuchsia_syslog.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_structured_backend/include/lib/syslog/structured_backend/fuchsia_syslog.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/status_string.cc ----------------------------------------------------------------------------------------------------- -Copyright 2021 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia/fuchsia.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/performance_publish.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/power_metrics.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.semantics/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.audio.effects/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.fastpair/provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/pairing.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.buildinfo.test/buildinfotest.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera2/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.castsetup/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/component.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/package.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/resolver.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.sandbox/sandbox.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/namespace.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.debugdata/publisher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/composite_node_spec.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.element/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/connector.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/dynamics.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/equalizer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/gain.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2c.businfo/businfo.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.mailbox/mailbox.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/diagnostics.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.bus/platform-bus.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.device/platform-device.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.statecontrol/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spi.businfo/businfo.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images2/image_format.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.input/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/energy-info-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.legacymetrics/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/dataset.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/meshcop.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan/lowpan.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.mem/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/common.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/host_name_resolver.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/host_name_subscriber.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/proxy_host_publisher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/service_instance_publisher.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/service_instance_resolver.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/service_subscriber.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.reachability/reachability.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.clientlevel/clientlevel.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.systemmode/systemmode.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.process/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.recovery.ui/progress.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings.policy/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/allocator.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/collection.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.thermal/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.perfetto/consumer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.perfetto/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.perfetto/producer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.brightness/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/screen_capture.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/screenshot.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.display.singleton/info.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.observation.geometry/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/media_buttons.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/mouse.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/registry.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/test_app.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/text.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/touch.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.scene/controller.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.scene/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.unknown/unknown.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.update.config/config.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.update/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.version/version.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/driver_features.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.fullmac/fullmac.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/fields.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.phyimpl/phyimpl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.softmac/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.softmac/softmac.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/zx/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls-next.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/sequence_checker.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async-cpp/sequence_checker.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/sequence_id.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/constants.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/include/lib/component/outgoing/cpp/handlers.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/include/lib/component/outgoing/cpp/outgoing_directory.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/include/lib/component/outgoing/cpp/structured_config.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/outgoing_directory.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component/driver.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/composite_node_spec.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/driver_base.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/node_add_args.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/node_add_args.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_outgoing_cpp/include/lib/driver/outgoing/cpp/handlers.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_outgoing_cpp/include/lib/driver/outgoing/cpp/outgoing_directory.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_outgoing_cpp/outgoing_directory.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/token.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/arena.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/protocol.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/protocol.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_env_cpp/env.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_env_cpp/include/lib/fdf/cpp/env.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing/include/lib/fdf/testing.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/cpp/framework_err.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/cpp/transaction_header.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/cpp/wire_format_metadata.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/unknown_interactions_table.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/unknown_interactions_hlcpp.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/unknown_interactions_table.c + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/unknown_interactions_hlcpp.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/box.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/internal/framework_err.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/natural_coding_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/natural_decoder.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/natural_encoder.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/wire_natural_conversions.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/natural_coding_traits.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/natural_decoder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/natural_encoder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/natural_types.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_hlcpp_conversion/include/lib/fidl/cpp/hlcpp_conversion.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_natural_ostream/include/lib/fidl/cpp/natural_ostream.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/any_error_in.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/channel.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/channel_endpoint_conversions.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/natural_message_encoder.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/thenable.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/unified_messaging_declarations.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/internal/natural_message_encoder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/client_details.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/coding_errors.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/display_error.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/base_wire_result.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/channel.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/coding_errors.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/incoming_message.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/arrow.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/client_continuation.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/coding_config.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/display_error.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/endpoints.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/framework_err.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/make_response_context.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/thenable.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/optional.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/outgoing_message.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/unknown_interaction_handler.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/unknown_interactions.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_coding_common.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_coding_traits.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_decoder.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_encoder.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_messaging_declarations.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/incoming_message.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/outgoing_message.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/thenable.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/unknown_interactions.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_coding_traits.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_decoder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_encoder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_messaging.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_types.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/internal/server_details.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/internal/wire_client_details.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/server.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/sync_call.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/unknown_interactions.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/wire_client.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/wire_messaging_declarations.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver/unknown_interactions.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/internal/endpoint_conversions.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/internal/natural_client_details.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/natural_client.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/natural_messaging.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/natural_types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/unified_messaging_declarations.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/natural_messaging.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/inline_any.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/inline_any.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/input_report_reader/reader.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/component.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/include/lib/inspect/component/cpp/component.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/include/lib/inspect/component/cpp/service.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/include/lib/inspect/component/cpp/testing.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/include/lib/inspect/component/cpp/tree_handler_settings.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/service.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/testing.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-buffer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-pinned-buffer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-view.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp_testing/fake_flatland.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp_testing/fake_flatland_types.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/linkage.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_absolute.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_base.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_base_no_diagnostics.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/internal/convert.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/client.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/offer.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/trace/use.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/utf-utils/include/lib/utf-utils/utf-utils.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/arm-neon.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/generic-simd.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/scalar.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/scalar.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/x86-avx2.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/x86-ssse3.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/utf-utils/utf-utils.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vulkan/client.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/board.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/cpu.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/driver-config.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/graphics.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/kernel.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/memory.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/partition.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/reboot.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/zbi.h + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia/fuchsia.bind -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/performance_publish.dart -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/trace_processing/metrics/power_metrics.dart -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.accessibility.semantics/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.audio.effects/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.auth/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.fastpair/provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.gatt2/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/pairing.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.buildinfo.test/buildinfotest.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera2/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.camera3/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.castsetup/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.decl/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/component.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/package.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.resolution/resolver.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.sandbox/sandbox.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/namespace.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.debugdata/publisher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/composite_node_spec.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.element/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.feedback/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.fonts/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/connector.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/dynamics.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/equalizer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/gain.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/vendor_specific.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2c.businfo/businfo.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.mailbox/mailbox.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/diagnostics.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.network/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.bus/platform-bus.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.device/platform-device.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.statecontrol/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spi.businfo/businfo.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images2/image_format.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input.report/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.input/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.intl/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/energy-info-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.legacymetrics/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lightsensor/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.device/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/dataset.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/meshcop.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan/lowpan.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.audio/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.drm/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.playback/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media.sessions2/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.media/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mediastreams/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.mem/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/common.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/host_name_resolver.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/host_name_subscriber.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/proxy_host_publisher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/service_instance_publisher.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/service_instance_resolver.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.mdns/service_subscriber.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.reachability/reachability.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.clientlevel/clientlevel.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.systemmode/systemmode.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.process/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.recovery.ui/progress.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings.policy/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.settings/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/allocator.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/collection.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.thermal/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.perfetto/consumer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.perfetto/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing.perfetto/producer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.activity/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.app/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.brightness/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/screen_capture.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.composition/screenshot.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.display.singleton/info.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.gfx/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.input3/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.observation.geometry/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointer/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.pointerinjector/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.policy/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.scenic/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/media_buttons.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/mouse.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/registry.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/test_app.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/text.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.input/touch.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.scene/controller.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.test.scene/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.views/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.unknown/unknown.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.update.config/config.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.update/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.version/version.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.weave/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.web/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/driver_features.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.common/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.fullmac/fullmac.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/fields.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.phyimpl/phyimpl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.policy/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.softmac/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.softmac/softmac.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/zx/overview.fidl -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/errors.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls-next.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/internal/cdecls.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/syscalls/iob.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/include/lib/async/cpp/sequence_checker.h -FILE: ../../../fuchsia/sdk/linux/pkg/async-cpp/sequence_checker.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async/include/lib/async/sequence_id.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/constants.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/include/lib/component/outgoing/cpp/handlers.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/include/lib/component/outgoing/cpp/outgoing_directory.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/include/lib/component/outgoing/cpp/structured_config.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_outgoing_cpp/outgoing_directory.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component/driver.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/composite_node_spec.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/driver_base.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/node_add_args.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/node_add_args.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_outgoing_cpp/include/lib/driver/outgoing/cpp/handlers.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_outgoing_cpp/include/lib/driver/outgoing/cpp/outgoing_directory.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_outgoing_cpp/outgoing_directory.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime/include/lib/fdf/token.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/arena.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/include/lib/fdf/cpp/protocol.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_cpp/protocol.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_env_cpp/env.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_env_cpp/include/lib/fdf/cpp/env.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing/include/lib/fdf/testing.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/cpp/framework_err.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/cpp/transaction_header.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/cpp/wire_format_metadata.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/internal/unknown_interactions_table.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/include/lib/fidl/cpp/unknown_interactions_hlcpp.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/internal/unknown_interactions_table.c -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp/unknown_interactions_hlcpp.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/box.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/internal/framework_err.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/natural_coding_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/natural_decoder.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/natural_encoder.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/include/lib/fidl/cpp/wire_natural_conversions.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/natural_coding_traits.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/natural_decoder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/natural_encoder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_base_v2/natural_types.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_hlcpp_conversion/include/lib/fidl/cpp/hlcpp_conversion.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_natural_ostream/include/lib/fidl/cpp/natural_ostream.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/any_error_in.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/channel.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/channel_endpoint_conversions.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/natural_message_encoder.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/internal/thenable.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/include/lib/fidl/cpp/unified_messaging_declarations.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_v2/internal/natural_message_encoder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/client_details.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/coding_errors.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/display_error.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/base_wire_result.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/channel.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/coding_errors.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/incoming_message.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/arrow.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/client_continuation.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/coding_config.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/display_error.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/endpoints.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/framework_err.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/make_response_context.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/internal/thenable.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/optional.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/outgoing_message.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/unknown_interaction_handler.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/unknown_interactions.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_coding_common.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_coding_traits.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_decoder.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_encoder.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/include/lib/fidl/cpp/wire/wire_messaging_declarations.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/incoming_message.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/outgoing_message.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/thenable.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/unknown_interactions.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_coding_traits.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_decoder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_encoder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_messaging.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_cpp_wire/wire_types.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/internal/server_details.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/internal/wire_client_details.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/server.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/sync_call.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/unknown_interactions.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/wire_client.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/include/lib/fidl_driver/cpp/wire_messaging_declarations.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver/unknown_interactions.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/internal/endpoint_conversions.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/internal/natural_client_details.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/natural_client.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/natural_messaging.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/natural_types.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/unified_messaging_declarations.h -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/natural_messaging.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/inline_any.h -FILE: ../../../fuchsia/sdk/linux/pkg/fit/include/lib/fit/internal/inline_any.h -FILE: ../../../fuchsia/sdk/linux/pkg/input_report_reader/reader.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/component.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/include/lib/inspect/component/cpp/component.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/include/lib/inspect/component/cpp/service.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/include/lib/inspect/component/cpp/testing.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/include/lib/inspect/component/cpp/tree_handler_settings.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/service.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect_component_cpp/testing.cc -FILE: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-buffer.h -FILE: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-pinned-buffer.h -FILE: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-view.h -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp_testing/fake_flatland.cc -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp_testing/fake_flatland_types.cc -FILE: ../../../fuchsia/sdk/linux/pkg/stdcompat/include/lib/stdcompat/internal/linkage.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_absolute.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_base.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_base_no_diagnostics.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/sys_component_cpp_testing/internal/convert.cc -FILE: ../../../fuchsia/sdk/linux/pkg/trace/client.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/trace/offer.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/trace/use.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/utf-utils/include/lib/utf-utils/utf-utils.h -FILE: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/arm-neon.h -FILE: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/generic-simd.h -FILE: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/scalar.cc -FILE: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/scalar.h -FILE: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/x86-avx2.h -FILE: ../../../fuchsia/sdk/linux/pkg/utf-utils/internal/x86-ssse3.h -FILE: ../../../fuchsia/sdk/linux/pkg/utf-utils/utf-utils.cc -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan/client.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/board.h -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/cpu.h -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/driver-config.h -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/graphics.h -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/kernel.h -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/memory.h -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/partition.h -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/reboot.h -FILE: ../../../fuchsia/sdk/linux/pkg/zbi-format/include/lib/zbi-format/zbi.h ----------------------------------------------------------------------------------------------------- -Copyright 2022 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.adc/fuchsia.adc.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.block/fuchsia.block.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.devicetree/fuchsia.devicetree.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/media_session.dart + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.buttons/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.sandbox/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/controller.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.device.fs/names.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/driver.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/driver_info.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.registrar/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.element/graphical_presenter.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.adcimpl/adc-impl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.adcimpl/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/clock.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/common.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/composite.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/composite_connector.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/device_type.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/plug.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/ring_buffer_format.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/vendor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.clockimpl/clock-impl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.clockimpl/init.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2cimpl/i2cimpl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/config.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdmmc/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdmmc/sdmmc.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spiimpl/spi-impl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.trippoint/trippoint.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.dci/usb-dci.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.endpoint/endpoint.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.phy/usb-phy.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.request/request.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.vreg/vreg.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images2/math.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.inspect/inspect_sink.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/symlink.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/iommu-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/profile-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/feature.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/ipv4.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/ipv6.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.stackmigrationdeprecated/stackmigrationdeprecated.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.broker/broker.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.system/system.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.scheduler/role.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.session/lifecycle.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.session/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.session/restarter.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing/tracing.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.display.singleton/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/callback.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/dispatcher_bound.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/function.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/dispatcher_bound_storage.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/receiver_base.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/sendable.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/tag.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/task_queue.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/pending_call.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/receiver.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/sendable.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/task_scope.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/internal/dispatcher_bound_storage.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/internal/receiver_base.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/internal/task_queue.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/task_scope.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/clone.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/protocol.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/service.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/internal.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/protocol.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/completer.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/driver_base.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/driver_export.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/internal/driver_server.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/prepare_stop_completer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/start_completer.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_devfs_cpp/include/lib/driver/devfs/cpp/connector.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/internal/default_dispatcher_setting.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/internal/dispatcher.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/internal/test_dispatcher_builder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/internal/wait_for.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/sync_helpers.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/driver_runtime.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/environment_variables.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/internal/driver_lifecycle.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/internal/test_environment.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/test_node.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/natural_ostream.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/collector.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/include/heapdump/bind.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/include/heapdump/snapshot.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/include/heapdump/stats.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/bounded_list_node.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/bounded_list_node.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-ops.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sync_cpp/include/lib/sync/cpp/mutex.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/service_handler.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vfs_internal/include/lib/vfs/internal/libvfs_private.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/virtgralloc_headers/include/lib/virtgralloc/shared_metadata.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/virtgralloc_headers/include/lib/virtgralloc/virtgralloc_ioctl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/iob.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/iob.cc + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.adc/fuchsia.adc.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.block/fuchsia.block.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.devicetree/fuchsia.devicetree.bind -FILE: ../../../fuchsia/sdk/linux/dart/sl4f/lib/src/media_session.dart -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.buttons/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.sandbox/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/controller.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.device.fs/names.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.development/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/driver.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.framework/driver_info.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.registrar/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.element/graphical_presenter.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.adcimpl/adc-impl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.adcimpl/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio.signalprocessing/dai_interconnect.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/clock.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/common.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/composite.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/composite_connector.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/device_type.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/plug.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.audio/ring_buffer_format.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/vendor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.clockimpl/clock-impl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.clockimpl/init.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.i2cimpl/i2cimpl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/config.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdmmc/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdmmc/sdmmc.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spiimpl/spi-impl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.trippoint/trippoint.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.dci/usb-dci.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.endpoint/endpoint.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.phy/usb-phy.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.usb.request/request.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.vreg/vreg.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images2/math.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.inspect/inspect_sink.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.io/symlink.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/iommu-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/profile-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/feature.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/ipv4.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/ipv6.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.stackmigrationdeprecated/stackmigrationdeprecated.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.broker/broker.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.system/system.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.scheduler/role.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.session/lifecycle.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.session/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.session/restarter.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.tracing/tracing.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.display.singleton/overview.fidl -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/callback.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/dispatcher_bound.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/function.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/dispatcher_bound_storage.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/receiver_base.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/sendable.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/tag.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/internal/task_queue.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/pending_call.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/receiver.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/sendable.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/include/lib/async_patterns/cpp/task_scope.h -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/internal/dispatcher_bound_storage.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/internal/receiver_base.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/internal/task_queue.cc -FILE: ../../../fuchsia/sdk/linux/pkg/async_patterns_cpp/task_scope.cc -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/clone.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/protocol.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/service.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/internal.cc -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/protocol.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/completer.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/driver_base.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/driver_export.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/internal/driver_server.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/prepare_stop_completer.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component_cpp/include/lib/driver/component/cpp/start_completer.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_devfs_cpp/include/lib/driver/devfs/cpp/connector.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/internal/default_dispatcher_setting.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/internal/dispatcher.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/internal/test_dispatcher_builder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/internal/wait_for.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_testing_cpp/sync_helpers.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/driver_runtime.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/environment_variables.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/internal/driver_lifecycle.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/internal/test_environment.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_testing_cpp/test_node.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_driver_natural/include/lib/fidl_driver/cpp/natural_ostream.h -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/collector.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/include/heapdump/bind.h -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/include/heapdump/snapshot.h -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/include/heapdump/stats.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/bounded_list_node.cc -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/include/lib/inspect/cpp/bounded_list_node.h -FILE: ../../../fuchsia/sdk/linux/pkg/mmio/include/lib/mmio/mmio-ops.h -FILE: ../../../fuchsia/sdk/linux/pkg/sync_cpp/include/lib/sync/cpp/mutex.h -FILE: ../../../fuchsia/sdk/linux/pkg/sys_service_cpp/service_handler.cc -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_internal/include/lib/vfs/internal/libvfs_private.h -FILE: ../../../fuchsia/sdk/linux/pkg/virtgralloc_headers/include/lib/virtgralloc/shared_metadata.h -FILE: ../../../fuchsia/sdk/linux/pkg/virtgralloc_headers/include/lib/virtgralloc/virtgralloc_ioctl.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/iob.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/iob.cc ----------------------------------------------------------------------------------------------------- -Copyright 2023 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.mailbox/fuchsia.mailbox.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.regulator/fuchsia.regulator.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.spmi/fuchsia.spmi.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/codec_delay.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/iso.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/l2cap.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/channel.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/coding_format.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.runner/task_provider.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.sandbox/availability.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/introspector.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.device.fs/controller.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/log_stream.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.metadata/fuchsia.driver.metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.test/internal.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/emulator.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.hrtimer/hrtimer.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.light/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.mailbox/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.nfc/nfc.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pci/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pin/pin.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pinimpl/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pinimpl/pin-impl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.device/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.suspend/suspend.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdhci/sdhci.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spmi/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spmi/spmi.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.images2/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/debuglog-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/msi-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/stall-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/capabilities.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/rules.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.observability/constants.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/config.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/error.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/secure_mem.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.time.alarms/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.time.alarms/wake_alarms.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.display.singleton/power.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/availability_levels.inc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/directory_watcher.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/directory_watcher.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_bti_cpp/fake-bti.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_bti_cpp/include/lib/driver/fake-bti/cpp/fake-bti.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_mmio_reg_cpp/fake-mmio-reg.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_mmio_reg_cpp/include/lib/driver/fake-mmio-reg/cpp/fake-mmio-reg.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/fake-handle.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/fake-object.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/include/lib/driver/fake-object/cpp/fake-object.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/internal.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_platform_device_cpp/fake-pdev.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_platform_device_cpp/include/lib/driver/fake-platform-device/cpp/fake-pdev.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_resource_cpp/fake-resource.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_resource_cpp/include/lib/driver/fake-resource/cpp/fake-resource.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/include/lib/driver/incoming/cpp/service_validator.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/service_validator.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_metadata_cpp/include/lib/driver/metadata/cpp/metadata.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_metadata_cpp/include/lib/driver/metadata/cpp/metadata_server.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_metadata_cpp/metadata.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_node_cpp/add_child.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_node_cpp/include/lib/driver/node/cpp/add_child.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_platform_device_cpp/include/lib/driver/platform-device/cpp/pdev.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_platform_device_cpp/pdev.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/element-description-builder.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/element-description-builder.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/power-support.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/types.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/wake-lease.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/power-support.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/types.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/wake-lease.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_testing_scoped_global_logger_cpp/scoped_global_logger.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/cpp/time.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/client.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/offer.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/inspect/use.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/globally-ordered-region.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/include/lib/driver/mock-mmio/cpp/globally-ordered-region.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/include/lib/driver/mock-mmio/cpp/region.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/include/lib/driver/mock-mmio/cpp/register.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/region.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/register.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog/client.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog/offer.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog/use.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/log_message_impl.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/log_message_impl.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/vulkan/offer.shard.cml + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/time.cc + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.mailbox/fuchsia.mailbox.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.regulator/fuchsia.regulator.bind -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.spmi/fuchsia.spmi.bind -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.bredr/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/codec_delay.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/iso.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/l2cap.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/channel.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth/coding_format.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.runner/task_provider.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.sandbox/availability.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component/introspector.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.device.fs/controller.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/log_stream.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.metadata/fuchsia.driver.metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.driver.test/internal.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/emulator.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.bluetooth/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.hrtimer/hrtimer.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.light/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.mailbox/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.nfc/nfc.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pci/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pin/pin.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pinimpl/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.pinimpl/pin-impl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.device/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power.suspend/suspend.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.power/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.sdhci/sdhci.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spmi/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.spmi/spmi.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.images2/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/debuglog-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/msi-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/stall-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/capabilities.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.net.routes/rules.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.power.observability/constants.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/config.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/error.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.sysmem2/secure_mem.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.time.alarms/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.time.alarms/wake_alarms.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.ui.display.singleton/power.fidl -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/zircon/availability_levels.inc -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/directory_watcher.cc -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/directory_watcher.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_bti_cpp/fake-bti.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_bti_cpp/include/lib/driver/fake-bti/cpp/fake-bti.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_mmio_reg_cpp/fake-mmio-reg.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_mmio_reg_cpp/include/lib/driver/fake-mmio-reg/cpp/fake-mmio-reg.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/fake-handle.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/fake-object.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/include/lib/driver/fake-object/cpp/fake-object.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_object_cpp/internal.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_platform_device_cpp/fake-pdev.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_platform_device_cpp/include/lib/driver/fake-platform-device/cpp/fake-pdev.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_resource_cpp/fake-resource.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_resource_cpp/include/lib/driver/fake-resource/cpp/fake-resource.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/include/lib/driver/incoming/cpp/service_validator.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_incoming_cpp/service_validator.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_metadata_cpp/include/lib/driver/metadata/cpp/metadata.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_metadata_cpp/include/lib/driver/metadata/cpp/metadata_server.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_metadata_cpp/metadata.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_node_cpp/add_child.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_node_cpp/include/lib/driver/node/cpp/add_child.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_platform_device_cpp/include/lib/driver/platform-device/cpp/pdev.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_platform_device_cpp/pdev.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/element-description-builder.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/element-description-builder.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/power-support.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/types.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/wake-lease.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/power-support.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/types.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/wake-lease.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_testing_scoped_global_logger_cpp/scoped_global_logger.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fidl_base/include/lib/fidl/cpp/time.h -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/client.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/offer.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/use.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/globally-ordered-region.cc -FILE: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/include/lib/driver/mock-mmio/cpp/globally-ordered-region.h -FILE: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/include/lib/driver/mock-mmio/cpp/region.h -FILE: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/include/lib/driver/mock-mmio/cpp/register.h -FILE: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/region.cc -FILE: ../../../fuchsia/sdk/linux/pkg/mock_mmio_cpp/register.cc -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/client.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/offer.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/use.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/include/lib/syslog/cpp/log_message_impl.h -FILE: ../../../fuchsia/sdk/linux/pkg/syslog_cpp/log_message_impl.cc -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan/offer.shard.cml -FILE: ../../../fuchsia/sdk/linux/pkg/zx/time.cc ----------------------------------------------------------------------------------------------------- -Copyright 2024 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/bind/fuchsia.interconnect/fuchsia.interconnect.bind + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/periodic.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/phy.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/address_lookup.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.boot.metadata/metadata.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.runtime/factory.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics.system/log_freeze.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics.types/interest.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/log_flush.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.gnss/gnss_device.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.haptics/haptics.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.interconnect/interconnect.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.bus/observability.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.qualcomm.fastrpc/fastrpc.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.qualcomm.router/qrtr.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.uwb/overview.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.uwb/vendor.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/tracing-resource.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.location.gnss.types/gnss_types.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/epskc.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.pkg.resolution/resolver.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.power/collaborative_reboot.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.storage.ftl/ftl.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/channel.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.softmac/features.fidl + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/directory.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/service_member_watcher.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_gpio_cpp/fake-gpio.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_fake_gpio_cpp/include/lib/driver/fake-gpio/cpp/fake-gpio.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/include/lib/driver/logging/cpp/internal/panic.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/suspend.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/suspend.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/processargs.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/buffer_collection_import_export_tokens.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/buffer_collection_import_export_tokens.h + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/counter.cc + ../../../fuchsia/sdk/linux/LICENSE -ORIGIN: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/counter.h + ../../../fuchsia/sdk/linux/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../fuchsia/sdk/linux/bind/fuchsia.interconnect/fuchsia.interconnect.bind -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/periodic.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.le/phy.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.bluetooth.sys/address_lookup.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.boot.metadata/metadata.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.component.runtime/factory.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics.system/log_freeze.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics.types/interest.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.diagnostics/log_flush.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.gnss/gnss_device.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.haptics/haptics.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.interconnect/interconnect.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.platform.bus/observability.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.qualcomm.fastrpc/fastrpc.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.qualcomm.router/qrtr.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.uwb/overview.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.hardware.uwb/vendor.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.kernel/tracing-resource.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.location.gnss.types/gnss_types.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.lowpan.thread/epskc.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.pkg.resolution/resolver.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.power/collaborative_reboot.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.storage.ftl/ftl.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.ieee80211/channel.fidl -FILE: ../../../fuchsia/sdk/linux/fidl/fuchsia.wlan.softmac/features.fidl -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/directory.h -FILE: ../../../fuchsia/sdk/linux/pkg/component_incoming_cpp/include/lib/component/incoming/cpp/service_member_watcher.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_gpio_cpp/fake-gpio.cc -FILE: ../../../fuchsia/sdk/linux/pkg/driver_fake_gpio_cpp/include/lib/driver/fake-gpio/cpp/fake-gpio.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_logging_cpp/include/lib/driver/logging/cpp/internal/panic.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/include/lib/driver/power/cpp/suspend.h -FILE: ../../../fuchsia/sdk/linux/pkg/driver_power_cpp/suspend.cc -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/include/lib/fdio/processargs.h -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/buffer_collection_import_export_tokens.cc -FILE: ../../../fuchsia/sdk/linux/pkg/scenic_cpp/include/lib/ui/scenic/cpp/buffer_collection_import_export_tokens.h -FILE: ../../../fuchsia/sdk/linux/pkg/zx/counter.cc -FILE: ../../../fuchsia/sdk/linux/pkg/zx/include/lib/zx/counter.h ----------------------------------------------------------------------------------------------------- -Copyright 2025 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: fuchsia_sdk -ORIGIN: ../../../fuchsia/sdk/linux/COPYRIGHT.musl -TYPE: LicenseType.mit -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/arm64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/riscv64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/VkLayer_image_pipe_swapchain.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/VkLayer_khronos_validation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/arch/x64/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/data/config/symbol_index/config.json -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/hwasan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/arm64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/riscv64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-23/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-25/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-26/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-27/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-28/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/debug/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/dist/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-default.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-default.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libasync-loop-default.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libbackend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libbackend_fuchsia_globals.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libdriver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libdriver_runtime.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libfdio.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libfdio.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libheapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libheapdump_instrumentation.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libmagma_client.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsvc.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsvc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsync.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsyslog.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libsyslog.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-engine.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-provider-so.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libtrace-vthread.a -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvfs_internal.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvulkan.ifs -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/lib/libvulkan.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/debug/asan/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/debug/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/alloca.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/ftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/inet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/nameser.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/nameser_compat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/telnet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/arpa/tftp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/assert.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/aarch64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/alltypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/null.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/posix.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/riscv64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/x86_64/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/bits/x86_64/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/byteswap.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/complex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/cpio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/dirent.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/dlfcn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/elf.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/endian.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/err.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/features.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/fnmatch.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/getopt.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/glob.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/grp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/iconv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ifaddrs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/inttypes.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/iso646.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/langinfo.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/libgen.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/limits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/link.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/locale.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/math.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/memory.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/monetary.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/ethernet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/if.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/if_arp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/net/route.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netdb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/icmp6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/if_ether.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/igmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/in.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/in_systm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip6.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/ip_icmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/tcp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netinet/udp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/netpacket/packet.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/nl_types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/paths.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/pthread.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/pwd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/regex.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/resolv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sched.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/semaphore.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/setjmp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/spawn.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stdio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stdlib.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/string.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/strings.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/acct.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/auxv.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/dir.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/errno.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/eventfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/fcntl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/file.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/inotify.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/io.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ioctl.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ipc.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mman.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mount.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/msg.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/mtio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/param.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/poll.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/random.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/select.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/sem.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/shm.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/signal.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/socket.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/stat.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/statfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/statvfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/stropts.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/timeb.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/timerfd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/times.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ttydefaults.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/types.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/uio.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/un.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/utsname.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/vfs.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sys/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/sysexits.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/syslog.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/tar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/termios.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/threads.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/time.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/uchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/ucontext.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/unistd.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/utime.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/values.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wait.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wchar.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wctype.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/include/wordexp.h -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/Scrt1.o -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libc.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libdl.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libm.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libpthread.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/librt.so -FILE: ../../../fuchsia/sdk/linux/obj/x64-api-NEXT/sysroot/lib/libzircon.so -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/cmd-buf-benchmark-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/fake-build-info/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/heapdump-collector/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/intl_property_manager/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/realm_builder_server/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkcopy-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkext-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkloop-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkproto-driver-test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/arm64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/riscv64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-23/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-25/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-26/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-27/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-28/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/packages/vkreadback_test/x64-api-NEXT/release/package_manifest.json -FILE: ../../../fuchsia/sdk/linux/pkg/async-default/async-default.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/backend_fuchsia_globals/backend_fuchsia_globals.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/driver_component/driver_component.json -FILE: ../../../fuchsia/sdk/linux/pkg/driver_runtime_shared_lib/driver_runtime.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/fdio/fdio.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/heapdump_instrumentation.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/heapdump_instrumentation/heapdump_instrumentation_shard.json -FILE: ../../../fuchsia/sdk/linux/pkg/inspect/inspect_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/svc/svc.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/sys/component/realm_builder_shard_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/syslog.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/syslog/syslog_sdk.json -FILE: ../../../fuchsia/sdk/linux/pkg/sysroot/libc.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/sysroot/zircon.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace-engine/trace-engine.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace-provider-so/trace-provider-so.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/trace/trace.json -FILE: ../../../fuchsia/sdk/linux/pkg/vfs_internal/vfs_internal.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan/vulkan.ifs -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan/vulkan.json -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_image_pipe_swapchain.json -FILE: ../../../fuchsia/sdk/linux/pkg/vulkan_layers/data/vulkan/explicit_layer.d/VkLayer_khronos_validation.json -FILE: ../../../fuchsia/sdk/linux/python/rtc_conformance_test/unversioned/rtc_conformance_test_bin ----------------------------------------------------------------------------------------------------- -musl as a whole is licensed under the following standard MIT license: - - -Copyright © 2005-2014 Rich Felker, et al. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Authors/contributors include: - -Alex Dowad -Alexander Monakov -Anthony G. Basile -Arvid Picciani -Bobby Bingham -Boris Brezillon -Brent Cook -Chris Spiegel -Clément Vasseur -Daniel Micay -Denys Vlasenko -Emil Renner Berthing -Felix Fietkau -Felix Janda -Gianluca Anzolin -Hauke Mehrtens -Hiltjo Posthuma -Isaac Dunham -Jaydeep Patil -Jens Gustedt -Jeremy Huntwork -Jo-Philipp Wich -Joakim Sindholt -John Spencer -Josiah Worcester -Justin Cormack -Khem Raj -Kylie McClain -Luca Barbato -Luka Perkov -M Farkas-Dyck (Strake) -Mahesh Bodapati -Michael Forney -Natanael Copa -Nicholas J. Kain -orc -Pascal Cuoq -Petr Hosek -Pierre Carrier -Rich Felker -Richard Pennington -Shiz -sin -Solar Designer -Stefan Kristiansson -Szabolcs Nagy -Timo Teräs -Trutz Behn -Valentin Ochs -William Haddon - -Portions of this software are derived from third-party works licensed -under terms compatible with the above MIT license: - -Much of the math library code (third_party/math/* and -third_party/complex/*, and third_party/include/libm.h) is -Copyright © 1993,2004 Sun Microsystems or -Copyright © 2003-2011 David Schultz or -Copyright © 2003-2009 Steven G. Kargl or -Copyright © 2003-2009 Bruce D. Evans or -Copyright © 2008 Stephen L. Moshier -and labelled as such in comments in the individual source files. All -have been licensed under extremely permissive terms. - -The smoothsort implementation (third_party/smoothsort/qsort.c) is -Copyright © 2011 Valentin Ochs and is licensed under an MIT-style -license. - -The x86_64 files in third_party/arch were written by Nicholas J. Kain -and is licensed under the standard MIT terms. - -All other files which have no copyright comments are original works -produced specifically for use as part of this library, written either -by Rich Felker, the main author of the library, or by one or more -contibutors listed above. Details on authorship of individual files -can be found in the git version control history of the project. The -omission of copyright and license comments in each file is in the -interest of source tree size. - -In addition, permission is hereby granted for all public header files -(include/* and arch/*/bits/*) and crt files intended to be linked into -applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit -the copyright notice and permission notice otherwise required by the -license, and to use these files without any requirement of -attribution. These files include substantial contributions from: - -Bobby Bingham -John Spencer -Nicholas J. Kain -Rich Felker -Richard Pennington -Stefan Kristiansson -Szabolcs Nagy - -all of whom have explicitly granted such permission. - -This file previously contained text expressing a belief that most of -the files covered by the above exception were sufficiently trivial not -to be subject to copyright, resulting in confusion over whether it -negated the permissions granted in the license. In the spirit of -permissive licensing, and of not having licensing issues being an -obstacle to adoption, that text has been removed. -==================================================================================================== - -Total license count: 15 diff --git a/engine/src/flutter/ci/licenses_golden/licenses_skia b/engine/src/flutter/ci/licenses_golden/licenses_skia deleted file mode 100644 index ef73082969a11..0000000000000 --- a/engine/src/flutter/ci/licenses_golden/licenses_skia +++ /dev/null @@ -1,10090 +0,0 @@ -Signature: 943b949946530e9a517ce421e0e8542d - -==================================================================================================== -LIBRARY: etc1 -LIBRARY: vulkan -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_icd.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_layer.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_platform.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_android.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_beta.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_core.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_ios.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_macos.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_metal.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_screen.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_vi.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_win32.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h -ORIGIN: Apache-2.0 referenced by ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/skia/third_party/etc1/etc1.cpp -ORIGIN: http://www.apache.org/licenses/LICENSE-2.0 referenced by ../../../flutter/third_party/skia/third_party/etc1/etc1.h -TYPE: LicenseType.apache -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_icd.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_layer.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_platform.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_decode.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_av1std_encode.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_decode.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h264std_encode.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_decode.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codec_h265std_encode.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vk_video/vulkan_video_codecs_common.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_android.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_beta.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_core.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_directfb.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_fuchsia.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_ggp.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_ios.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_macos.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_metal.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_screen.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_vi.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_wayland.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_win32.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_xcb.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_xlib.h -FILE: ../../../flutter/third_party/skia/include/third_party/vulkan/vulkan/vulkan_xlib_xrandr.h -FILE: ../../../flutter/third_party/skia/third_party/etc1/etc1.cpp -FILE: ../../../flutter/third_party/skia/third_party/etc1/etc1.h ----------------------------------------------------------------------------------------------------- -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkEventTracer.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/utils/SkEventTracer.h ----------------------------------------------------------------------------------------------------- -Copyright (C) 2014 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/bidi.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/extra.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/multicanvas.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/node.example.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/package-lock.json -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/paragraphs.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/shaping.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/textapi_utils.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/types/canvaskit-wasm-tests.ts -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/types/index.d.ts -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/types/tsconfig.json -FILE: ../../../flutter/third_party/skia/modules/canvaskit/npm_build/types/tslint.json ----------------------------------------------------------------------------------------------------- -Copyright (c) 2011 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/.bazelignore -FILE: ../../../flutter/third_party/skia/.bazelproject -FILE: ../../../flutter/third_party/skia/MODULE.bazel -FILE: ../../../flutter/third_party/skia/MODULE.bazel.lock -FILE: ../../../flutter/third_party/skia/OWNERS_build_files.android -FILE: ../../../flutter/third_party/skia/RELEASE_NOTES.md -FILE: ../../../flutter/third_party/skia/go.mod -FILE: ../../../flutter/third_party/skia/go.sum -FILE: ../../../flutter/third_party/skia/include/config/MODULE.bazel -FILE: ../../../flutter/third_party/skia/modules/canvaskit/bidi.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/catchExceptionNop.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/color.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/cpu.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/debug.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/debugger.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser/index.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser/module_uses_ck.ts -FILE: ../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser/package-lock.json -FILE: ../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser/tsconfig.json -FILE: ../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser_es6/index.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser_es6/module_uses_ck.ts -FILE: ../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser_es6/package-lock.json -FILE: ../../../flutter/third_party/skia/modules/canvaskit/external_test/typescript_browser_es6/tsconfig.json -FILE: ../../../flutter/third_party/skia/modules/canvaskit/externs.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/font.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/fonts/NotoMono-Regular.ttf -FILE: ../../../flutter/third_party/skia/modules/canvaskit/future_apis/ImageDecoder.md -FILE: ../../../flutter/third_party/skia/modules/canvaskit/future_apis/WebGPU.md -FILE: ../../../flutter/third_party/skia/modules/canvaskit/gm.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/_namedcolors.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/canvas2dcontext.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/color.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/font.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/htmlcanvas.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/htmlimage.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/imagedata.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/lineargradient.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/path2d.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/pattern.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/postamble.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/preamble.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/radialgradient.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/htmlcanvas/util.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/interface.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/karma.bazel.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/karma.conf.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/matrix.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/memory.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/package-lock.json -FILE: ../../../flutter/third_party/skia/modules/canvaskit/paragraph.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/pathops.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/postamble.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/preamble.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/release.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/rt_shader.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/skottie.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/skp.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/util.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/wasm_tools/SIMD/wasm_simd_types.txt -FILE: ../../../flutter/third_party/skia/modules/canvaskit/wasm_tools/gms.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/wasm_tools/viewer.html -FILE: ../../../flutter/third_party/skia/modules/canvaskit/webgl.js -FILE: ../../../flutter/third_party/skia/modules/canvaskit/webgpu.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/chaining.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/externs.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/helper.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/karma.bench.conf.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/karma.conf.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/package-lock.json -FILE: ../../../flutter/third_party/skia/modules/pathkit/perf/effects.bench.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/perf/path.bench.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/perf/pathops.bench.js -FILE: ../../../flutter/third_party/skia/modules/pathkit/perf/perfReporter.js -FILE: ../../../flutter/third_party/skia/modules/skparagraph/test.html -FILE: ../../../flutter/third_party/skia/package-lock.json -FILE: ../../../flutter/third_party/skia/relnotes/graphite_insert_status.md -FILE: ../../../flutter/third_party/skia/relnotes/image.md -FILE: ../../../flutter/third_party/skia/relnotes/skfontmgr_android.md -FILE: ../../../flutter/third_party/skia/relnotes/typeface_virtuals.md -FILE: ../../../flutter/third_party/skia/src/gpu/gpu_workaround_list.txt -FILE: ../../../flutter/third_party/skia/src/ports/fontations/Cargo.toml -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_compute.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_compute.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_frag.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_frag.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_gpu.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_gpu.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_graphite_frag.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_graphite_frag.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_graphite_vert.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_graphite_vert.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_public.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_public.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_rt_shader.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_rt_shader.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_shared.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_shared.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_vert.minified.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/generated/sksl_vert.unoptimized.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/lex/sksl.lex -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_compute.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_frag.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_gpu.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_graphite_frag.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_graphite_vert.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_public.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_rt_shader.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_shared.sksl -FILE: ../../../flutter/third_party/skia/src/sksl/sksl_vert.sksl -FILE: ../../../flutter/third_party/skia/third_party/go.mod -FILE: ../../../flutter/third_party/skia/toolchain/ndk.BUILD -FILE: ../../../flutter/third_party/skia/whitespace.txt ----------------------------------------------------------------------------------------------------- -Copyright (c) 2011 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTraceEvent.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkTraceEvent.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/sksl/GLSL.std.450.h -ORIGIN: ../../../flutter/third_party/skia/src/sksl/spirv.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/skia/src/sksl/GLSL.std.450.h -FILE: ../../../flutter/third_party/skia/src/sksl/spirv.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2014-2016 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -==================================================================================================== - -==================================================================================================== -LIBRARY: expat -LIBRARY: harfbuzz -ORIGIN: ../../../flutter/third_party/skia/third_party/expat/LICENSE -ORIGIN: ../../../flutter/third_party/skia/third_party/harfbuzz/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/third_party/expat/0001-Do-not-claim-getrandom.patch -FILE: ../../../flutter/third_party/skia/third_party/expat/0002-Do-not-claim-arc4random_buf.patch -FILE: ../../../flutter/third_party/skia/third_party/expat/include/expat_config/expat_config.h -FILE: ../../../flutter/third_party/skia/third_party/harfbuzz/config-override.h ----------------------------------------------------------------------------------------------------- -Copyright (c) 2021 Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/core/SkRegion.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/core/SkRegion.h ----------------------------------------------------------------------------------------------------- -Copyright 2005 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/config/SkUserConfig.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkBitmap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkColor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFlattenable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkGraphics.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkMaskFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkMatrix.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPaint.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPathEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPathMeasure.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkRect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkRefCnt.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkScalar.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkStream.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkString.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkTypeface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/Sk1DPathEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/Sk2DPathEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkBlurMaskFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkCornerPathEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkDashPathEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkDiscretePathEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkGradientShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkTableMaskFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkDeque.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkFixed.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkFloatingPoint.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkMath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkNoncopyable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkPoint_impl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkTDArray.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkTemplates.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkCamera.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkParse.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkParsePath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBase64.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBase64.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkDebug.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkDeque.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkEndian.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkRandom.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTSearch.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTSearch.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTSort.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAlphaRuns.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAlphaRuns.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAnalyticEdge.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAnalyticEdge.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitBWMaskTemplate.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitter_A8.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitter_ARGB32.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitter_Sprite.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlurMask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlurMask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlurMaskFilterImpl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorData.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCoreBlitters.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDescriptor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDraw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDraw.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkEdge.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkEdge.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFDot6.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGeometry.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGeometry.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGlyph.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGraphics.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMatrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkOSFile.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPaint.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathEffectBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPointPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRegion.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRegionPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRegion_path.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScalerContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScalerContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScan.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScanPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScan_AntiPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScan_Hairline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScan_Path.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSpriteBlitter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStream.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrike.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrike.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkString.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStroke.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrokerPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrokerPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/Sk1DPathEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/Sk2DPathEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkCornerPathEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkDashPathEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkDiscretePathEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkEmbossMask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkEmbossMask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkEmbossMaskFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkEmbossMaskFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkBlendModeColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkColorFilterBase.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkColorFilterBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkPngEncoderImpl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkDebug_android.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkDebug_stdio.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontHost_FreeType.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontHost_win.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_mac_ct.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkOSFile_stdio.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkScalerContext_mac_ct.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_mac_ct.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkBitmapProcShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkBlendShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkCamera.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkParse.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkParseColor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/mac/SkCTFontCreateExactCopy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/mac/SkCTFontCreateExactCopy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xml/SkDOM.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xml/SkDOM.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xml/SkXMLParser.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xml/SkXMLParser.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xml/SkXMLWriter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xml/SkXMLWriter.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/config/SkUserConfig.h -FILE: ../../../flutter/third_party/skia/include/core/SkBitmap.h -FILE: ../../../flutter/third_party/skia/include/core/SkCanvas.h -FILE: ../../../flutter/third_party/skia/include/core/SkColor.h -FILE: ../../../flutter/third_party/skia/include/core/SkColorFilter.h -FILE: ../../../flutter/third_party/skia/include/core/SkFlattenable.h -FILE: ../../../flutter/third_party/skia/include/core/SkGraphics.h -FILE: ../../../flutter/third_party/skia/include/core/SkMaskFilter.h -FILE: ../../../flutter/third_party/skia/include/core/SkMatrix.h -FILE: ../../../flutter/third_party/skia/include/core/SkPaint.h -FILE: ../../../flutter/third_party/skia/include/core/SkPath.h -FILE: ../../../flutter/third_party/skia/include/core/SkPathEffect.h -FILE: ../../../flutter/third_party/skia/include/core/SkPathMeasure.h -FILE: ../../../flutter/third_party/skia/include/core/SkRect.h -FILE: ../../../flutter/third_party/skia/include/core/SkRefCnt.h -FILE: ../../../flutter/third_party/skia/include/core/SkScalar.h -FILE: ../../../flutter/third_party/skia/include/core/SkShader.h -FILE: ../../../flutter/third_party/skia/include/core/SkStream.h -FILE: ../../../flutter/third_party/skia/include/core/SkString.h -FILE: ../../../flutter/third_party/skia/include/core/SkTypeface.h -FILE: ../../../flutter/third_party/skia/include/core/SkTypes.h -FILE: ../../../flutter/third_party/skia/include/effects/Sk1DPathEffect.h -FILE: ../../../flutter/third_party/skia/include/effects/Sk2DPathEffect.h -FILE: ../../../flutter/third_party/skia/include/effects/SkBlurMaskFilter.h -FILE: ../../../flutter/third_party/skia/include/effects/SkCornerPathEffect.h -FILE: ../../../flutter/third_party/skia/include/effects/SkDashPathEffect.h -FILE: ../../../flutter/third_party/skia/include/effects/SkDiscretePathEffect.h -FILE: ../../../flutter/third_party/skia/include/effects/SkGradientShader.h -FILE: ../../../flutter/third_party/skia/include/effects/SkTableMaskFilter.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkDeque.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkFixed.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkFloatingPoint.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkMath.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkNoncopyable.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkPoint_impl.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkTDArray.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkTemplates.h -FILE: ../../../flutter/third_party/skia/include/utils/SkCamera.h -FILE: ../../../flutter/third_party/skia/include/utils/SkParse.h -FILE: ../../../flutter/third_party/skia/include/utils/SkParsePath.h -FILE: ../../../flutter/third_party/skia/src/base/SkBase64.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkBase64.h -FILE: ../../../flutter/third_party/skia/src/base/SkBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkBuffer.h -FILE: ../../../flutter/third_party/skia/src/base/SkDebug.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkDeque.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkEndian.h -FILE: ../../../flutter/third_party/skia/src/base/SkRandom.h -FILE: ../../../flutter/third_party/skia/src/base/SkTSearch.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkTSearch.h -FILE: ../../../flutter/third_party/skia/src/base/SkTSort.h -FILE: ../../../flutter/third_party/skia/src/base/SkUtils.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkUtils.h -FILE: ../../../flutter/third_party/skia/src/core/SkAlphaRuns.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkAlphaRuns.h -FILE: ../../../flutter/third_party/skia/src/core/SkAnalyticEdge.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkAnalyticEdge.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlitBWMaskTemplate.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlitter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitter.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlitter_A8.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitter_ARGB32.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitter_Sprite.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlurMask.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlurMask.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlurMaskFilterImpl.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkColor.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkColorData.h -FILE: ../../../flutter/third_party/skia/src/core/SkColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkColorPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkCoreBlitters.h -FILE: ../../../flutter/third_party/skia/src/core/SkDescriptor.h -FILE: ../../../flutter/third_party/skia/src/core/SkDraw.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDraw.h -FILE: ../../../flutter/third_party/skia/src/core/SkEdge.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkEdge.h -FILE: ../../../flutter/third_party/skia/src/core/SkFDot6.h -FILE: ../../../flutter/third_party/skia/src/core/SkGeometry.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkGeometry.h -FILE: ../../../flutter/third_party/skia/src/core/SkGlyph.h -FILE: ../../../flutter/third_party/skia/src/core/SkGraphics.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMask.h -FILE: ../../../flutter/third_party/skia/src/core/SkMaskFilter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMatrix.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkOSFile.h -FILE: ../../../flutter/third_party/skia/src/core/SkPaint.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPath.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPathEffect.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPathEffectBase.h -FILE: ../../../flutter/third_party/skia/src/core/SkPointPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkRect.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRegion.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRegionPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkRegion_path.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkScalerContext.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkScalerContext.h -FILE: ../../../flutter/third_party/skia/src/core/SkScan.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkScanPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkScan_AntiPath.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkScan_Hairline.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkScan_Path.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSpriteBlitter.h -FILE: ../../../flutter/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkStream.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkStrike.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkStrike.h -FILE: ../../../flutter/third_party/skia/src/core/SkString.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkStroke.h -FILE: ../../../flutter/third_party/skia/src/core/SkStrokerPriv.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkStrokerPriv.h -FILE: ../../../flutter/third_party/skia/src/effects/Sk1DPathEffect.cpp -FILE: ../../../flutter/third_party/skia/src/effects/Sk2DPathEffect.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkCornerPathEffect.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkDashPathEffect.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkDiscretePathEffect.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkEmbossMask.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkEmbossMask.h -FILE: ../../../flutter/third_party/skia/src/effects/SkEmbossMaskFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkEmbossMaskFilter.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkBlendModeColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkColorFilterBase.cpp -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkColorFilterBase.h -FILE: ../../../flutter/third_party/skia/src/encode/SkPngEncoderImpl.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkDebug_android.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkDebug_stdio.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontHost_FreeType.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontHost_win.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom.h -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_mac_ct.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkOSFile_stdio.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkScalerContext_mac_ct.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_mac_ct.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkBitmapProcShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkBlendShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkShader.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkCamera.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkParse.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkParseColor.cpp -FILE: ../../../flutter/third_party/skia/src/utils/mac/SkCTFontCreateExactCopy.cpp -FILE: ../../../flutter/third_party/skia/src/utils/mac/SkCTFontCreateExactCopy.h -FILE: ../../../flutter/third_party/skia/src/xml/SkDOM.cpp -FILE: ../../../flutter/third_party/skia/src/xml/SkDOM.h -FILE: ../../../flutter/third_party/skia/src/xml/SkXMLParser.cpp -FILE: ../../../flutter/third_party/skia/src/xml/SkXMLParser.h -FILE: ../../../flutter/third_party/skia/src/xml/SkXMLWriter.cpp -FILE: ../../../flutter/third_party/skia/src/xml/SkXMLWriter.h ----------------------------------------------------------------------------------------------------- -Copyright 2006 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontHost_FreeType_common.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_FreeType.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontHost_FreeType_common.h -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_FreeType.h ----------------------------------------------------------------------------------------------------- -Copyright 2006-2012 The Android Open Source Project -Copyright 2012 Mozilla Foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPicture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkColorMatrix.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkColorMatrixFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapProcState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPicture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkJpegEncoderImpl.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/core/SkPicture.h -FILE: ../../../flutter/third_party/skia/include/effects/SkColorMatrix.h -FILE: ../../../flutter/third_party/skia/include/effects/SkColorMatrixFilter.h -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapProcState.h -FILE: ../../../flutter/third_party/skia/src/core/SkMask.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPicture.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkJpegEncoderImpl.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2007 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapProcState_matrixProcs.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapProcState_matrixProcs.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2008 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/core/SkMallocPixelRef.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPixelRef.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkUnPreMultiply.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkFloatBits.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkMathPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathMeasure.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPoint.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPtrRecorder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStroke.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkWriter32.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/core/SkMallocPixelRef.h -FILE: ../../../flutter/third_party/skia/include/core/SkPixelRef.h -FILE: ../../../flutter/third_party/skia/include/core/SkUnPreMultiply.h -FILE: ../../../flutter/third_party/skia/src/base/SkFloatBits.h -FILE: ../../../flutter/third_party/skia/src/base/SkMathPriv.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBitmap.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPathMeasure.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPoint.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPtrRecorder.h -FILE: ../../../flutter/third_party/skia/src/core/SkStroke.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkWriter32.h ----------------------------------------------------------------------------------------------------- -Copyright 2008 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkColorPalette.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCubicClipper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCubicClipper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkEdgeClipper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkEdgeClipper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkQuadClipper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkQuadClipper.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/codec/SkColorPalette.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCubicClipper.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCubicClipper.h -FILE: ../../../flutter/third_party/skia/src/core/SkEdgeClipper.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkEdgeClipper.h -FILE: ../../../flutter/third_party/skia/src/core/SkQuadClipper.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkQuadClipper.h ----------------------------------------------------------------------------------------------------- -Copyright 2009 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontConfigInterface_direct.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontConfigInterface_direct.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontConfigInterface_direct_factory.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/ports/SkFontConfigInterface_direct.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontConfigInterface_direct.h -FILE: ../../../flutter/third_party/skia/src/ports/SkFontConfigInterface_direct_factory.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2009-2015 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTBlockList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterClip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterClip.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrikeCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/BufferWriter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/Rectanizer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/RectanizerPow2.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/Device.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferAllocPool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferAllocPool.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrClip.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFixedClip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpu.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SkGr.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrRect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkDebug_win.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/Glyph.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrTypes.h -FILE: ../../../flutter/third_party/skia/src/base/SkTBlockList.h -FILE: ../../../flutter/third_party/skia/src/core/SkImageInfo.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRasterClip.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRasterClip.h -FILE: ../../../flutter/third_party/skia/src/core/SkStrikeCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/BufferWriter.h -FILE: ../../../flutter/third_party/skia/src/gpu/Rectanizer.h -FILE: ../../../flutter/third_party/skia/src/gpu/RectanizerPow2.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/Device.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferAllocPool.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferAllocPool.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrClip.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColor.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFixedClip.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpu.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SkGr.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrRect.h -FILE: ../../../flutter/third_party/skia/src/ports/SkDebug_win.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/Glyph.h ----------------------------------------------------------------------------------------------------- -Copyright 2010 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDevice.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScalar.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTextFormatParams.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkJPEGWriteUtility.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkJPEGWriteUtility.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkWebpEncoderImpl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkDeflate.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkDeflate.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFFormXObject.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFFormXObject.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFGraphicState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFTypes.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkDevice.h -FILE: ../../../flutter/third_party/skia/src/core/SkScalar.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkTextFormatParams.h -FILE: ../../../flutter/third_party/skia/src/encode/SkJPEGWriteUtility.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkJPEGWriteUtility.h -FILE: ../../../flutter/third_party/skia/src/encode/SkWebpEncoderImpl.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkDeflate.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkDeflate.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFFormXObject.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFFormXObject.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFGraphicState.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFTypes.h ----------------------------------------------------------------------------------------------------- -Copyright 2010 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/aaclip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/aarectmodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/arithmode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bitmapcopy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bitmapfilters.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bitmaprect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/clip_strokerect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/clipshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/color4f.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/colormatrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/complexclip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/complexclip2.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/convexpaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/cubicpaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/degeneratesegments.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/dftext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawbitmaprect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/emptypath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/encode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/filltypes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/filltypespersp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/filterindiabox.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fontscaler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gammatext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/giantbitmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gm.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gm.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gradients.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gradtext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/hairmodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/hittestpath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/image.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imageblur.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imageblur2.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefiltersbase.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefilterscropped.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/lcdtext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/linepaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/ninepatchstretch.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pathfill.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pathreverse.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/persptext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/points.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/poly2poly.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/quadpaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/rasterhandleallocator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/shaderpath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/shadertext3.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/strokefill.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/strokerects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/strokes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/tablecolorfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/texteffects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/tilemodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/tilemodes_scaled.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/tinybitmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/xfermodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkData.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkImageFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkSize.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLConfig.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkTypeface_mac.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkTypeface_win.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkTArray.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkNWayCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/mac/SkCGUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTLazy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAAClip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAAClip.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAdvancedTypefaceMetrics.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapProcState.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitRow.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitRow_D32.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkClipStack.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkClipStack.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkConvertPixels.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkData.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDevice.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDrawProcs.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkEdgeBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkEdgeBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFlattenable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFontStream.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkLineClipper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkLineClipper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMallocPixelRef.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPictureData.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPictureData.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPictureFlat.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPictureFlat.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPictureRecord.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPictureRecord.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPixelRef.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPtrRecorder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkReadBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTypefaceCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTypefaceCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkUnPreMultiply.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkWriteBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkWriter32.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkColorMatrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkColorMatrixFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkTableMaskFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkMatrixColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/Device.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAttachment.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAttachment.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpu.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuResource.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrNativeRect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPaint.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTarget.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStencilSettings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/PathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/PathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/PathRendererChain.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/PathRendererChain.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrPathUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrPathUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAttachment.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAttachment.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLDefines.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGLSL.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGLSL.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGpu.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGpu.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGpuProgramCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLInterfaceAutogen.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLMakeNativeInterface_none.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLProgram.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLProgram.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLRenderTarget.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLUtil.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/mac/GrGLMakeNativeInterface_mac.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/win/GrGLMakeNativeInterface_win.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AAHairLinePathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AAHairLinePathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DefaultPathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DefaultPathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFDevice.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFDevice.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFDocument.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFFont.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFFont.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFGraphicState.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFMakeToUnicodeCmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFTypes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkGlobalInitialization_default.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkMemory_malloc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkScalerContext_win_dw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkBitmapProcShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkBitSet.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkNWayCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkOSPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkParsePath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/mac/SkCreateCGImageRef.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkAutoCoInitialize.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkAutoCoInitialize.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkHRESULT.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkHRESULT.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkIStream.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkIStream.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkTScopedComPtr.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xps/SkXPSDevice.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xps/SkXPSDevice.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/aaclip.cpp -FILE: ../../../flutter/third_party/skia/gm/aarectmodes.cpp -FILE: ../../../flutter/third_party/skia/gm/arithmode.cpp -FILE: ../../../flutter/third_party/skia/gm/bitmapcopy.cpp -FILE: ../../../flutter/third_party/skia/gm/bitmapfilters.cpp -FILE: ../../../flutter/third_party/skia/gm/bitmaprect.cpp -FILE: ../../../flutter/third_party/skia/gm/blurs.cpp -FILE: ../../../flutter/third_party/skia/gm/clip_strokerect.cpp -FILE: ../../../flutter/third_party/skia/gm/clipshader.cpp -FILE: ../../../flutter/third_party/skia/gm/color4f.cpp -FILE: ../../../flutter/third_party/skia/gm/colormatrix.cpp -FILE: ../../../flutter/third_party/skia/gm/complexclip.cpp -FILE: ../../../flutter/third_party/skia/gm/complexclip2.cpp -FILE: ../../../flutter/third_party/skia/gm/convexpaths.cpp -FILE: ../../../flutter/third_party/skia/gm/cubicpaths.cpp -FILE: ../../../flutter/third_party/skia/gm/degeneratesegments.cpp -FILE: ../../../flutter/third_party/skia/gm/dftext.cpp -FILE: ../../../flutter/third_party/skia/gm/drawbitmaprect.cpp -FILE: ../../../flutter/third_party/skia/gm/emptypath.cpp -FILE: ../../../flutter/third_party/skia/gm/encode.cpp -FILE: ../../../flutter/third_party/skia/gm/filltypes.cpp -FILE: ../../../flutter/third_party/skia/gm/filltypespersp.cpp -FILE: ../../../flutter/third_party/skia/gm/filterindiabox.cpp -FILE: ../../../flutter/third_party/skia/gm/fontscaler.cpp -FILE: ../../../flutter/third_party/skia/gm/gammatext.cpp -FILE: ../../../flutter/third_party/skia/gm/giantbitmap.cpp -FILE: ../../../flutter/third_party/skia/gm/gm.cpp -FILE: ../../../flutter/third_party/skia/gm/gm.h -FILE: ../../../flutter/third_party/skia/gm/gradients.cpp -FILE: ../../../flutter/third_party/skia/gm/gradtext.cpp -FILE: ../../../flutter/third_party/skia/gm/hairmodes.cpp -FILE: ../../../flutter/third_party/skia/gm/hittestpath.cpp -FILE: ../../../flutter/third_party/skia/gm/image.cpp -FILE: ../../../flutter/third_party/skia/gm/imageblur.cpp -FILE: ../../../flutter/third_party/skia/gm/imageblur2.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefiltersbase.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefilterscropped.cpp -FILE: ../../../flutter/third_party/skia/gm/lcdtext.cpp -FILE: ../../../flutter/third_party/skia/gm/linepaths.cpp -FILE: ../../../flutter/third_party/skia/gm/ninepatchstretch.cpp -FILE: ../../../flutter/third_party/skia/gm/pathfill.cpp -FILE: ../../../flutter/third_party/skia/gm/pathreverse.cpp -FILE: ../../../flutter/third_party/skia/gm/persptext.cpp -FILE: ../../../flutter/third_party/skia/gm/points.cpp -FILE: ../../../flutter/third_party/skia/gm/poly2poly.cpp -FILE: ../../../flutter/third_party/skia/gm/quadpaths.cpp -FILE: ../../../flutter/third_party/skia/gm/rasterhandleallocator.cpp -FILE: ../../../flutter/third_party/skia/gm/shaderpath.cpp -FILE: ../../../flutter/third_party/skia/gm/shadertext3.cpp -FILE: ../../../flutter/third_party/skia/gm/strokefill.cpp -FILE: ../../../flutter/third_party/skia/gm/strokerects.cpp -FILE: ../../../flutter/third_party/skia/gm/strokes.cpp -FILE: ../../../flutter/third_party/skia/gm/tablecolorfilter.cpp -FILE: ../../../flutter/third_party/skia/gm/texteffects.cpp -FILE: ../../../flutter/third_party/skia/gm/tilemodes.cpp -FILE: ../../../flutter/third_party/skia/gm/tilemodes_scaled.cpp -FILE: ../../../flutter/third_party/skia/gm/tinybitmap.cpp -FILE: ../../../flutter/third_party/skia/gm/xfermodes.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkData.h -FILE: ../../../flutter/third_party/skia/include/core/SkImageFilter.h -FILE: ../../../flutter/third_party/skia/include/core/SkSize.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLConfig.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLInterface.h -FILE: ../../../flutter/third_party/skia/include/ports/SkTypeface_mac.h -FILE: ../../../flutter/third_party/skia/include/ports/SkTypeface_win.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkTArray.h -FILE: ../../../flutter/third_party/skia/include/utils/SkNWayCanvas.h -FILE: ../../../flutter/third_party/skia/include/utils/mac/SkCGUtils.h -FILE: ../../../flutter/third_party/skia/src/base/SkTLazy.h -FILE: ../../../flutter/third_party/skia/src/core/SkAAClip.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkAAClip.h -FILE: ../../../flutter/third_party/skia/src/core/SkAdvancedTypefaceMetrics.h -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapProcState.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitRow.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlitRow_D32.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkClipStack.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkClipStack.h -FILE: ../../../flutter/third_party/skia/src/core/SkConvertPixels.h -FILE: ../../../flutter/third_party/skia/src/core/SkData.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDevice.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDrawProcs.h -FILE: ../../../flutter/third_party/skia/src/core/SkEdgeBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkEdgeBuilder.h -FILE: ../../../flutter/third_party/skia/src/core/SkFlattenable.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkFontStream.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkLineClipper.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkLineClipper.h -FILE: ../../../flutter/third_party/skia/src/core/SkMallocPixelRef.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPictureData.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPictureData.h -FILE: ../../../flutter/third_party/skia/src/core/SkPictureFlat.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPictureFlat.h -FILE: ../../../flutter/third_party/skia/src/core/SkPictureRecord.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPictureRecord.h -FILE: ../../../flutter/third_party/skia/src/core/SkPixelRef.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPtrRecorder.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkReadBuffer.h -FILE: ../../../flutter/third_party/skia/src/core/SkTypefaceCache.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkTypefaceCache.h -FILE: ../../../flutter/third_party/skia/src/core/SkUnPreMultiply.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkWriteBuffer.h -FILE: ../../../flutter/third_party/skia/src/core/SkWriter32.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkColorMatrix.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkColorMatrixFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkTableMaskFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkMatrixColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/Device.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAttachment.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAttachment.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpu.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuResource.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrNativeRect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPaint.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTarget.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStencilSettings.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/PathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/PathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/PathRendererChain.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/PathRendererChain.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrPathUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrPathUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAttachment.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAttachment.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLDefines.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGLSL.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGLSL.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGpu.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGpu.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLGpuProgramCache.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLInterfaceAutogen.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLMakeNativeInterface_none.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLProgram.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLProgram.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLRenderTarget.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLUtil.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/mac/GrGLMakeNativeInterface_mac.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/win/GrGLMakeNativeInterface_win.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AAHairLinePathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AAHairLinePathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DefaultPathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DefaultPathRenderer.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFDevice.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFDevice.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFDocument.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFFont.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFFont.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFGraphicState.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFMakeToUnicodeCmap.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFShader.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFShader.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFTypes.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFUtils.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFUtils.h -FILE: ../../../flutter/third_party/skia/src/ports/SkGlobalInitialization_default.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkMemory_malloc.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkScalerContext_win_dw.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkBitmapProcShader.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkBitSet.h -FILE: ../../../flutter/third_party/skia/src/utils/SkNWayCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkOSPath.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkParsePath.cpp -FILE: ../../../flutter/third_party/skia/src/utils/mac/SkCreateCGImageRef.cpp -FILE: ../../../flutter/third_party/skia/src/utils/win/SkAutoCoInitialize.cpp -FILE: ../../../flutter/third_party/skia/src/utils/win/SkAutoCoInitialize.h -FILE: ../../../flutter/third_party/skia/src/utils/win/SkHRESULT.cpp -FILE: ../../../flutter/third_party/skia/src/utils/win/SkHRESULT.h -FILE: ../../../flutter/third_party/skia/src/utils/win/SkIStream.cpp -FILE: ../../../flutter/third_party/skia/src/utils/win/SkIStream.h -FILE: ../../../flutter/third_party/skia/src/utils/win/SkTScopedComPtr.h -FILE: ../../../flutter/third_party/skia/src/xps/SkXPSDevice.cpp -FILE: ../../../flutter/third_party/skia/src/xps/SkXPSDevice.h ----------------------------------------------------------------------------------------------------- -Copyright 2011 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkMemory_mozalloc.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/ports/SkMemory_mozalloc.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2011 Google Inc. -Copyright 2012 Mozilla Foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScan.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScan_Antihair.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTypeface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkBlurImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_android_parser.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_android_parser.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkScan.h -FILE: ../../../flutter/third_party/skia/src/core/SkScan_Antihair.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkTypeface.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkBlurImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_android_parser.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_android_parser.h ----------------------------------------------------------------------------------------------------- -Copyright 2011 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/bigmatrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurrect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/colorfilterimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/composeshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/dashcubics.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/dashing.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/distantclip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fatpathfill.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/getpostextpath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefiltersgraph.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagemagnifier.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/lighting.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/matrixconvolution.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/modecolorfilters.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/morphology.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/patheffects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pathinterior.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/rrect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/rrects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/runtimeimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/samplerstress.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/simpleaaclip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/srcmode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/strokerect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/typeface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/verylargebitmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkAnnotation.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkImage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkRRect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkStrokeRec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkSurface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLFunctions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/pathops/SkPathOps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkPathRef.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkWeakRefCnt.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkNullCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkMathPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTInternalLList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkColorPalette.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAnnotation.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkChecksum.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFontDescriptor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFontDescriptor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImagePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMD5.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMD5.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskGamma.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskGamma.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPaintDefaults.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRRect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRTree.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRTree.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkReadBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrokeRec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkWriteBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMemoryPool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMemoryPool.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorUnitTest.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSWMaskHelper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSWMaskHelper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrShaderCaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrShaderCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLCaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLProgramDataManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLProgramDataManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLUtil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_Ganesh.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AAConvexPathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AAConvexPathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SoftwarePathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SoftwarePathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/surface/SkSurface_Ganesh.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_Base.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_Raster.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkSurface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkSurface_Base.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkSurface_Raster.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkSurface_Raster.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkAddIntersections.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkAddIntersections.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkDCubicLineIntersection.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkDLineIntersection.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkDQuadLineIntersection.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkIntersectionHelper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkIntersections.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkIntersections.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkLineParameters.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpAngle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpAngle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpCubicHull.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpEdgeBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpEdgeBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpSegment.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpSegment.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpSpan.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsBounds.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCommon.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCommon.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCubic.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCubic.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCurve.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsLine.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsLine.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsPoint.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsQuad.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsQuad.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsRect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsRect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsSimplify.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTypes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathWriter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathWriter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkReduceOrder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkReduceOrder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkIBMFamilyClass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTableTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V0.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V1.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V2.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V3.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V4.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_VA.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_glyf.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_head.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_hhea.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_loca.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_maxp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_maxp_CFF.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_maxp_TT.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_name.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_post.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkPanose.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkSFNTHeader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkConicalGradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkConicalGradient.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkGradientBaseShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkLinearGradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkLinearGradient.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkRadialGradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkSweepGradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkFloatUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkNullCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkDWriteFontFileStream.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkDWriteFontFileStream.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkDWriteGeometrySink.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkDWriteGeometrySink.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/bigmatrix.cpp -FILE: ../../../flutter/third_party/skia/gm/blurrect.cpp -FILE: ../../../flutter/third_party/skia/gm/colorfilterimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/composeshader.cpp -FILE: ../../../flutter/third_party/skia/gm/dashcubics.cpp -FILE: ../../../flutter/third_party/skia/gm/dashing.cpp -FILE: ../../../flutter/third_party/skia/gm/distantclip.cpp -FILE: ../../../flutter/third_party/skia/gm/fatpathfill.cpp -FILE: ../../../flutter/third_party/skia/gm/getpostextpath.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefiltersgraph.cpp -FILE: ../../../flutter/third_party/skia/gm/imagemagnifier.cpp -FILE: ../../../flutter/third_party/skia/gm/lighting.cpp -FILE: ../../../flutter/third_party/skia/gm/matrixconvolution.cpp -FILE: ../../../flutter/third_party/skia/gm/modecolorfilters.cpp -FILE: ../../../flutter/third_party/skia/gm/morphology.cpp -FILE: ../../../flutter/third_party/skia/gm/patheffects.cpp -FILE: ../../../flutter/third_party/skia/gm/pathinterior.cpp -FILE: ../../../flutter/third_party/skia/gm/rrect.cpp -FILE: ../../../flutter/third_party/skia/gm/rrects.cpp -FILE: ../../../flutter/third_party/skia/gm/runtimeimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/samplerstress.cpp -FILE: ../../../flutter/third_party/skia/gm/simpleaaclip.cpp -FILE: ../../../flutter/third_party/skia/gm/srcmode.cpp -FILE: ../../../flutter/third_party/skia/gm/strokerect.cpp -FILE: ../../../flutter/third_party/skia/gm/typeface.cpp -FILE: ../../../flutter/third_party/skia/gm/verylargebitmap.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkAnnotation.h -FILE: ../../../flutter/third_party/skia/include/core/SkImage.h -FILE: ../../../flutter/third_party/skia/include/core/SkRRect.h -FILE: ../../../flutter/third_party/skia/include/core/SkStrokeRec.h -FILE: ../../../flutter/third_party/skia/include/core/SkSurface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLFunctions.h -FILE: ../../../flutter/third_party/skia/include/pathops/SkPathOps.h -FILE: ../../../flutter/third_party/skia/include/private/SkPathRef.h -FILE: ../../../flutter/third_party/skia/include/private/SkWeakRefCnt.h -FILE: ../../../flutter/third_party/skia/include/utils/SkNullCanvas.h -FILE: ../../../flutter/third_party/skia/src/base/SkMathPriv.h -FILE: ../../../flutter/third_party/skia/src/base/SkTInternalLList.h -FILE: ../../../flutter/third_party/skia/src/codec/SkColorPalette.h -FILE: ../../../flutter/third_party/skia/src/core/SkAnnotation.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkChecksum.h -FILE: ../../../flutter/third_party/skia/src/core/SkFontDescriptor.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkFontDescriptor.h -FILE: ../../../flutter/third_party/skia/src/core/SkImagePriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkMD5.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMD5.h -FILE: ../../../flutter/third_party/skia/src/core/SkMaskGamma.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMaskGamma.h -FILE: ../../../flutter/third_party/skia/src/core/SkPaintDefaults.h -FILE: ../../../flutter/third_party/skia/src/core/SkRRect.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRTree.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRTree.h -FILE: ../../../flutter/third_party/skia/src/core/SkReadBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkStrokeRec.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkWriteBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMemoryPool.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMemoryPool.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessor.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessor.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorUnitTest.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSWMaskHelper.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSWMaskHelper.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrShaderCaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrShaderCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurface.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLCaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLProgramDataManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLProgramDataManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLUtil.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_Ganesh.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AAConvexPathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AAConvexPathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SoftwarePathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SoftwarePathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/surface/SkSurface_Ganesh.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkImage.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkImage_Base.h -FILE: ../../../flutter/third_party/skia/src/image/SkImage_Raster.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkSurface.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkSurface_Base.h -FILE: ../../../flutter/third_party/skia/src/image/SkSurface_Raster.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkSurface_Raster.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkAddIntersections.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkAddIntersections.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkDCubicLineIntersection.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkDLineIntersection.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkDQuadLineIntersection.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkIntersectionHelper.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkIntersections.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkIntersections.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkLineParameters.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpAngle.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpAngle.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpCubicHull.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpEdgeBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpEdgeBuilder.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpSegment.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpSegment.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpSpan.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsBounds.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCommon.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCommon.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCubic.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCubic.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCurve.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsLine.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsLine.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsOp.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsPoint.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsQuad.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsQuad.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsRect.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsRect.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsSimplify.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTypes.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTypes.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathWriter.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathWriter.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkReduceOrder.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkReduceOrder.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkIBMFamilyClass.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTableTypes.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V0.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V1.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V2.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V3.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_V4.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_OS_2_VA.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_glyf.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_head.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_hhea.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_loca.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_maxp.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_maxp_CFF.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_maxp_TT.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_name.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_post.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTUtils.cpp -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTUtils.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkPanose.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkSFNTHeader.h -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkConicalGradient.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkConicalGradient.h -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkGradientBaseShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkLinearGradient.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkLinearGradient.h -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkRadialGradient.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkSweepGradient.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkFloatUtils.h -FILE: ../../../flutter/third_party/skia/src/utils/SkNullCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/utils/win/SkDWriteFontFileStream.cpp -FILE: ../../../flutter/third_party/skia/src/utils/win/SkDWriteFontFileStream.h -FILE: ../../../flutter/third_party/skia/src/utils/win/SkDWriteGeometrySink.cpp -FILE: ../../../flutter/third_party/skia/src/utils/win/SkDWriteGeometrySink.h ----------------------------------------------------------------------------------------------------- -Copyright 2012 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBezierCurves.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/base/SkBezierCurves.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2012 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkColorFilterImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkLightingImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMagnifierImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMergeImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMorphologyImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkImageEncoderFns.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkColorFilterImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkLightingImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMagnifierImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMergeImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMorphologyImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkImageEncoderFns.h ----------------------------------------------------------------------------------------------------- -Copyright 2012 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/client_utils/android/FrontBufferedStream.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/client_utils/android/FrontBufferedStream.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/dm/DM.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/alphagradients.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/arcofzorro.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/beziereffects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bigblurs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bigtext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bitmappremul.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bitmaprecttest.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bitmapshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bleed.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurquickreject.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurroundrect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/circularclips.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/clippedbitmapshaders.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/coloremoji.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/conicpaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/copy_to_4444.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/displacement.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/dropshadowimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/dstreadshuffle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fontcache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fontmgr.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gradient_dirty_laundry.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gradient_matrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gradients_no_texture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/hairlines.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagesource.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/internal_links.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/inversepaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/lumafilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/mixedtextblobs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/nested.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/nonclosedpaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/offsetimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/ovals.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pathopsinverse.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/perlinnoise.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pictureimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/polygons.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/resizeimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/roundrects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/shallowgradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug1719.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/spritebitmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/stringart.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/thinrects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/thinstrokedrects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/tileimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/vertices.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/xfermodeimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/xfermodes2.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/xfermodes3.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkDataTable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkDocument.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFontMgr.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFontStyle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkImageGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkImageInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkLumaColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkPerlinNoiseShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLExtensions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontConfigInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkJpegMetadataDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkOnce.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkTFitsIn.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkTLogic.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/SkDiscardableMemory.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrTypesPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkCanvasStateUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapDevice.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapDevice.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDataTable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDocument.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFontStream.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMatrixUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMessageBus.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMipmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMipmap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPaintPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPaintPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathRef.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkResourceCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkResourceCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStreamPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStringUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStringUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTDynamicHash.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTMultiMap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkValidationUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkComposeImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkDisplacementMapImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkDropShadowImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/Blend.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/RectanizerSkyline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGeometryProcessor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPaint.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBezierEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBezierEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBicubicEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBitmapTextGeoProc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLExtensions.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLVertexArray.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLVertexArray.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrOvalOpFactory.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrOvalOpFactory.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/lazy/SkDiscardableMemoryPool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/lazy/SkDiscardableMemoryPool.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpCoincidence.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpContour.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpContour.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsDebug.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsDebug.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFResourceDict.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFResourceDict.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkDiscardableMemory_none.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontConfigTypeface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_FontConfigInterface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkOSFile_posix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkOSFile_win.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_name.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkTTCFHeader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkColorFilterShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkPerlinNoiseShaderImpl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkPerlinNoiseShaderImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkPerlinNoiseShaderType.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkCanvasStack.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkCanvasStack.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkCanvasStateUtils.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/client_utils/android/FrontBufferedStream.cpp -FILE: ../../../flutter/third_party/skia/client_utils/android/FrontBufferedStream.h -FILE: ../../../flutter/third_party/skia/dm/DM.cpp -FILE: ../../../flutter/third_party/skia/gm/alphagradients.cpp -FILE: ../../../flutter/third_party/skia/gm/arcofzorro.cpp -FILE: ../../../flutter/third_party/skia/gm/beziereffects.cpp -FILE: ../../../flutter/third_party/skia/gm/bigblurs.cpp -FILE: ../../../flutter/third_party/skia/gm/bigtext.cpp -FILE: ../../../flutter/third_party/skia/gm/bitmappremul.cpp -FILE: ../../../flutter/third_party/skia/gm/bitmaprecttest.cpp -FILE: ../../../flutter/third_party/skia/gm/bitmapshader.cpp -FILE: ../../../flutter/third_party/skia/gm/bleed.cpp -FILE: ../../../flutter/third_party/skia/gm/blurquickreject.cpp -FILE: ../../../flutter/third_party/skia/gm/blurroundrect.cpp -FILE: ../../../flutter/third_party/skia/gm/circularclips.cpp -FILE: ../../../flutter/third_party/skia/gm/clippedbitmapshaders.cpp -FILE: ../../../flutter/third_party/skia/gm/coloremoji.cpp -FILE: ../../../flutter/third_party/skia/gm/conicpaths.cpp -FILE: ../../../flutter/third_party/skia/gm/copy_to_4444.cpp -FILE: ../../../flutter/third_party/skia/gm/displacement.cpp -FILE: ../../../flutter/third_party/skia/gm/dropshadowimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/dstreadshuffle.cpp -FILE: ../../../flutter/third_party/skia/gm/fontcache.cpp -FILE: ../../../flutter/third_party/skia/gm/fontmgr.cpp -FILE: ../../../flutter/third_party/skia/gm/gradient_dirty_laundry.cpp -FILE: ../../../flutter/third_party/skia/gm/gradient_matrix.cpp -FILE: ../../../flutter/third_party/skia/gm/gradients_no_texture.cpp -FILE: ../../../flutter/third_party/skia/gm/hairlines.cpp -FILE: ../../../flutter/third_party/skia/gm/imagesource.cpp -FILE: ../../../flutter/third_party/skia/gm/internal_links.cpp -FILE: ../../../flutter/third_party/skia/gm/inversepaths.cpp -FILE: ../../../flutter/third_party/skia/gm/lumafilter.cpp -FILE: ../../../flutter/third_party/skia/gm/mixedtextblobs.cpp -FILE: ../../../flutter/third_party/skia/gm/nested.cpp -FILE: ../../../flutter/third_party/skia/gm/nonclosedpaths.cpp -FILE: ../../../flutter/third_party/skia/gm/offsetimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/ovals.cpp -FILE: ../../../flutter/third_party/skia/gm/pathopsinverse.cpp -FILE: ../../../flutter/third_party/skia/gm/perlinnoise.cpp -FILE: ../../../flutter/third_party/skia/gm/pictureimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/polygons.cpp -FILE: ../../../flutter/third_party/skia/gm/resizeimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/roundrects.cpp -FILE: ../../../flutter/third_party/skia/gm/shallowgradient.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug1719.cpp -FILE: ../../../flutter/third_party/skia/gm/spritebitmap.cpp -FILE: ../../../flutter/third_party/skia/gm/stringart.cpp -FILE: ../../../flutter/third_party/skia/gm/thinrects.cpp -FILE: ../../../flutter/third_party/skia/gm/thinstrokedrects.cpp -FILE: ../../../flutter/third_party/skia/gm/tileimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/vertices.cpp -FILE: ../../../flutter/third_party/skia/gm/xfermodeimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/xfermodes2.cpp -FILE: ../../../flutter/third_party/skia/gm/xfermodes3.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkDataTable.h -FILE: ../../../flutter/third_party/skia/include/core/SkDocument.h -FILE: ../../../flutter/third_party/skia/include/core/SkFontMgr.h -FILE: ../../../flutter/third_party/skia/include/core/SkFontStyle.h -FILE: ../../../flutter/third_party/skia/include/core/SkImageGenerator.h -FILE: ../../../flutter/third_party/skia/include/core/SkImageInfo.h -FILE: ../../../flutter/third_party/skia/include/effects/SkLumaColorFilter.h -FILE: ../../../flutter/third_party/skia/include/effects/SkPerlinNoiseShader.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLExtensions.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontConfigInterface.h -FILE: ../../../flutter/third_party/skia/include/private/SkJpegMetadataDecoder.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkOnce.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkTFitsIn.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkTLogic.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/SkDiscardableMemory.h -FILE: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrTypesPriv.h -FILE: ../../../flutter/third_party/skia/include/utils/SkCanvasStateUtils.h -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapDevice.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapDevice.h -FILE: ../../../flutter/third_party/skia/src/core/SkDataTable.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDocument.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkFontStream.h -FILE: ../../../flutter/third_party/skia/src/core/SkMatrixUtils.h -FILE: ../../../flutter/third_party/skia/src/core/SkMessageBus.h -FILE: ../../../flutter/third_party/skia/src/core/SkMipmap.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMipmap.h -FILE: ../../../flutter/third_party/skia/src/core/SkPaintPriv.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPaintPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkPathRef.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkResourceCache.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkResourceCache.h -FILE: ../../../flutter/third_party/skia/src/core/SkStreamPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkStringUtils.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkStringUtils.h -FILE: ../../../flutter/third_party/skia/src/core/SkTDynamicHash.h -FILE: ../../../flutter/third_party/skia/src/core/SkTMultiMap.h -FILE: ../../../flutter/third_party/skia/src/core/SkValidationUtils.h -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkComposeImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkDisplacementMapImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkDropShadowImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/Blend.h -FILE: ../../../flutter/third_party/skia/src/gpu/RectanizerSkyline.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGeometryProcessor.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPaint.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBezierEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBezierEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBicubicEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBitmapTextGeoProc.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBitmapTextGeoProc.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrDistanceFieldGeoProc.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLExtensions.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLVertexArray.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLVertexArray.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrOvalOpFactory.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrOvalOpFactory.h -FILE: ../../../flutter/third_party/skia/src/lazy/SkDiscardableMemoryPool.cpp -FILE: ../../../flutter/third_party/skia/src/lazy/SkDiscardableMemoryPool.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpCoincidence.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpContour.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpContour.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsDebug.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsDebug.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFResourceDict.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFResourceDict.h -FILE: ../../../flutter/third_party/skia/src/ports/SkDiscardableMemory_none.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontConfigTypeface.h -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_FontConfigInterface.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkOSFile_posix.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkOSFile_win.cpp -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_name.cpp -FILE: ../../../flutter/third_party/skia/src/sfnt/SkTTCFHeader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkColorFilterShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkPerlinNoiseShaderImpl.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkPerlinNoiseShaderImpl.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkPerlinNoiseShaderType.h -FILE: ../../../flutter/third_party/skia/src/utils/SkCanvasStack.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkCanvasStack.h -FILE: ../../../flutter/third_party/skia/src/utils/SkCanvasStateUtils.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2013 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkBlendImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkPictureImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkBlendImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkPictureImageFilter.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2013 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/dm/DMJsonWriter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/dm/DMJsonWriter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/aaa.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/beziers.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurcircles.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/clipdrawdraw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/coloremoji_blendmodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/colorfilters.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/colorwheel.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/complexclip3.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/convexpolyclip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/convexpolyeffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/discard.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drrect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/emboss.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/filterfastbounds.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/glyph_pos.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gradients_2pt_conical.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/grayscalejpg.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imageblurtiled.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefiltersclipped.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefilterscropexpand.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefiltersscaled.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imageresizetiled.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/matriximagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/patch.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/picture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pictureshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pictureshadertile.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/recordopts.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/smallarc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/stroketext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/surface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/tallstretchedbitmaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/texelsubset.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblob.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblobshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/tiledscaledbitmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/variedtext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/yuvtorgbsubset.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkBBHFactory.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkBlurTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkDrawable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFont.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPictureRecorder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkSurfaceProps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkTextBlob.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkHalf.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkHalf.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBBHFactory.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCachedData.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCachedData.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCanvasPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkConvertPixels.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDistanceFieldGen.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDistanceFieldGen.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDrawable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFont.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFont_serial.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPicturePlayback.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPicturePlayback.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPictureRecorder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkReadPixelsRec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecord.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordDraw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordDraw.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordOpts.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordOpts.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecords.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSurfacePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTaskGroup.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTaskGroup.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTextBlob.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkVertState.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkVertState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/RectanizerPow2.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/RectanizerSkyline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ResourceKey.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDefaultGeoProcFactory.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDefaultGeoProcFactory.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFragmentProcessor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGeometryProcessor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuResource.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuResourceCacheAccess.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorAnalysis.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorAnalysis.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProgramDesc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTracing.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrXferProcessor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBicubicEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrConvexPolyEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrConvexPolyEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrCoverageSetOpXP.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrCoverageSetOpXP.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrDisableColorXP.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrDisableColorXP.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrOvalEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrOvalEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrRRectEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrRRectEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleInterface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTextureRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/android/GrGLMakeNativeInterface_android.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/GrGLProgramBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/GrGLProgramBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/GrGLShaderStringBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/GrGLShaderStringBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/iOS/GrGLMakeNativeInterface_iOS.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLShaderBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLShaderBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DashOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DashOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/surface/SkSurface_Ganesh.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpSpan.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTSect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTSect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTightBounds.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_android.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_fontconfig.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_win_dw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkScalerContext_win_dw.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_win_dw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_win_dw.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_EBDT.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_EBLC.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_EBSC.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_gasp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkLocalMatrixShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkLocalMatrixShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkPictureShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkPictureShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkDashPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkDashPathPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkEventTracer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkMatrix22.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkMatrix22.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkPatchUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkPatchUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkDWrite.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkDWrite.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/dm/DMJsonWriter.cpp -FILE: ../../../flutter/third_party/skia/dm/DMJsonWriter.h -FILE: ../../../flutter/third_party/skia/gm/aaa.cpp -FILE: ../../../flutter/third_party/skia/gm/beziers.cpp -FILE: ../../../flutter/third_party/skia/gm/blurcircles.cpp -FILE: ../../../flutter/third_party/skia/gm/clipdrawdraw.cpp -FILE: ../../../flutter/third_party/skia/gm/coloremoji_blendmodes.cpp -FILE: ../../../flutter/third_party/skia/gm/colorfilters.cpp -FILE: ../../../flutter/third_party/skia/gm/colorwheel.cpp -FILE: ../../../flutter/third_party/skia/gm/complexclip3.cpp -FILE: ../../../flutter/third_party/skia/gm/convexpolyclip.cpp -FILE: ../../../flutter/third_party/skia/gm/convexpolyeffect.cpp -FILE: ../../../flutter/third_party/skia/gm/discard.cpp -FILE: ../../../flutter/third_party/skia/gm/drrect.cpp -FILE: ../../../flutter/third_party/skia/gm/emboss.cpp -FILE: ../../../flutter/third_party/skia/gm/filterfastbounds.cpp -FILE: ../../../flutter/third_party/skia/gm/glyph_pos.cpp -FILE: ../../../flutter/third_party/skia/gm/gradients_2pt_conical.cpp -FILE: ../../../flutter/third_party/skia/gm/grayscalejpg.cpp -FILE: ../../../flutter/third_party/skia/gm/imageblurtiled.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefiltersclipped.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefilterscropexpand.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefiltersscaled.cpp -FILE: ../../../flutter/third_party/skia/gm/imageresizetiled.cpp -FILE: ../../../flutter/third_party/skia/gm/matriximagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/patch.cpp -FILE: ../../../flutter/third_party/skia/gm/picture.cpp -FILE: ../../../flutter/third_party/skia/gm/pictureshader.cpp -FILE: ../../../flutter/third_party/skia/gm/pictureshadertile.cpp -FILE: ../../../flutter/third_party/skia/gm/recordopts.cpp -FILE: ../../../flutter/third_party/skia/gm/smallarc.cpp -FILE: ../../../flutter/third_party/skia/gm/stroketext.cpp -FILE: ../../../flutter/third_party/skia/gm/surface.cpp -FILE: ../../../flutter/third_party/skia/gm/tallstretchedbitmaps.cpp -FILE: ../../../flutter/third_party/skia/gm/texelsubset.cpp -FILE: ../../../flutter/third_party/skia/gm/textblob.cpp -FILE: ../../../flutter/third_party/skia/gm/textblobshader.cpp -FILE: ../../../flutter/third_party/skia/gm/tiledscaledbitmap.cpp -FILE: ../../../flutter/third_party/skia/gm/variedtext.cpp -FILE: ../../../flutter/third_party/skia/gm/yuvtorgbsubset.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkBBHFactory.h -FILE: ../../../flutter/third_party/skia/include/core/SkBlurTypes.h -FILE: ../../../flutter/third_party/skia/include/core/SkDrawable.h -FILE: ../../../flutter/third_party/skia/include/core/SkFont.h -FILE: ../../../flutter/third_party/skia/include/core/SkPictureRecorder.h -FILE: ../../../flutter/third_party/skia/include/core/SkSurfaceProps.h -FILE: ../../../flutter/third_party/skia/include/core/SkTextBlob.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLAssembleInterface.h -FILE: ../../../flutter/third_party/skia/src/base/SkHalf.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkHalf.h -FILE: ../../../flutter/third_party/skia/src/core/SkBBHFactory.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapCache.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapCache.h -FILE: ../../../flutter/third_party/skia/src/core/SkCachedData.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCachedData.h -FILE: ../../../flutter/third_party/skia/src/core/SkCanvasPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkConvertPixels.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDistanceFieldGen.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDistanceFieldGen.h -FILE: ../../../flutter/third_party/skia/src/core/SkDrawable.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkFont.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkFont_serial.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkImageGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMaskCache.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMaskCache.h -FILE: ../../../flutter/third_party/skia/src/core/SkPicturePlayback.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPicturePlayback.h -FILE: ../../../flutter/third_party/skia/src/core/SkPictureRecorder.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkReadPixelsRec.h -FILE: ../../../flutter/third_party/skia/src/core/SkRecord.h -FILE: ../../../flutter/third_party/skia/src/core/SkRecordCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRecordCanvas.h -FILE: ../../../flutter/third_party/skia/src/core/SkRecordDraw.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRecordDraw.h -FILE: ../../../flutter/third_party/skia/src/core/SkRecordOpts.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRecordOpts.h -FILE: ../../../flutter/third_party/skia/src/core/SkRecords.h -FILE: ../../../flutter/third_party/skia/src/core/SkSurfacePriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkTaskGroup.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkTaskGroup.h -FILE: ../../../flutter/third_party/skia/src/core/SkTextBlob.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkVertState.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkVertState.h -FILE: ../../../flutter/third_party/skia/src/gpu/RectanizerPow2.h -FILE: ../../../flutter/third_party/skia/src/gpu/RectanizerSkyline.h -FILE: ../../../flutter/third_party/skia/src/gpu/ResourceKey.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDefaultGeoProcFactory.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDefaultGeoProcFactory.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFragmentProcessor.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGeometryProcessor.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuResource.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuResourceCacheAccess.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorAnalysis.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorAnalysis.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProgramDesc.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceCache.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTracing.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrXferProcessor.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBicubicEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrConvexPolyEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrConvexPolyEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrCoverageSetOpXP.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrCoverageSetOpXP.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrDisableColorXP.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrDisableColorXP.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrOvalEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrOvalEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrRRectEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrRRectEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleInterface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTextureRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/android/GrGLMakeNativeInterface_android.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/GrGLProgramBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/GrGLProgramBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/GrGLShaderStringBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/builders/GrGLShaderStringBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/iOS/GrGLMakeNativeInterface_iOS.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLShaderBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLShaderBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DashOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DashOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/surface/SkSurface_Ganesh.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpSpan.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTSect.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTSect.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTightBounds.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_android.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_fontconfig.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_win_dw.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkScalerContext_win_dw.h -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_win_dw.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_win_dw.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_EBDT.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_EBLC.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_EBSC.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_gasp.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkLocalMatrixShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkLocalMatrixShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkPictureShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkPictureShader.h -FILE: ../../../flutter/third_party/skia/src/utils/SkDashPath.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkDashPathPriv.h -FILE: ../../../flutter/third_party/skia/src/utils/SkEventTracer.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkMatrix22.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkMatrix22.h -FILE: ../../../flutter/third_party/skia/src/utils/SkPatchUtils.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkPatchUtils.h -FILE: ../../../flutter/third_party/skia/src/utils/win/SkDWrite.cpp -FILE: ../../../flutter/third_party/skia/src/utils/win/SkDWrite.h ----------------------------------------------------------------------------------------------------- -Copyright 2014 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathRenderer.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2014 Google Inc. -Copyright 2017 ARM Ltd. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMatrixTransformImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMatrixTransformImageFilter.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2014 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/client_utils/android/BRDAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/client_utils/android/BitmapRegionDecoder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/client_utils/android/BitmapRegionDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/client_utils/android/BitmapRegionDecoderPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/dm/DMSrcSink.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/dm/DMSrcSink.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/aaxfermodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/addarc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/all_bitmap_configs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/anisotropic.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/annotated_text.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/badpaint.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bigrrectaaeffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bigtileimagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurredclippedcircle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bmpfilterqualityrepeat.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/concavepaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/constcolorprocessor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/convex_all_line_paths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/draw_bitmap_rect_skbug4374.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawatlas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawatlascolor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawminibitmaprect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fadefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fontscalerdistortable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/image_pict.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/image_shader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefilters.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefiltersstroked.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefilterstransformed.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefromyuvtextures.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagesource2.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/largeglyphblur.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/lcdblendmodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/lcdoverlap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/localmatriximagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/localmatriximageshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/mipmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/path_stroke_with_zero_length.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pathcontourstart.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pdf_never_embed.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/perspshaders.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pictureimagegenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/plus.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/repeated_bitmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/scaledstrokes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug_257.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/smallpaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/stlouisarch.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblobcolortrans.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblobgeometrychange.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblobmixedsizes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblobrandomfont.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblobtransforms.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblobuseaftergpufree.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/transparency.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkAndroidCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkEncodedImageFormat.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkPngChunkReader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPathBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPixmap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPoint3.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkRSXform.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkTraceMemoryDump.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrContextOptions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_android.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_directory.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_empty.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_fontconfig.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkMutex.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkThreadID.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/svg/SkSVGCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkPaintFilterCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkSemaphore.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkSharedMutex.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkSharedMutex.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkSpinlock.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkSpinlock.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTDPQueue.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkThreadID.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkAndroidCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkAndroidCodecAdapter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkAndroidCodecAdapter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpMaskCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpMaskCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpRLECodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpRLECodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpStandardCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpStandardCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkCodecImageGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkCodecImageGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkIcoCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkIcoCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegDecoderMgr.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegDecoderMgr.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegUtility.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegUtility.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkMaskSwizzler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkMaskSwizzler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPixmapUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPixmapUtilsPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPngCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPngCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkSampledCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkSampledCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkSampler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkSampler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkSwizzler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkSwizzler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkWbmpCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkWbmpCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkWebpCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkWebpCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/Sk4px.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBigPicture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBigPicture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFontMgr.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkLatticeIter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkLatticeIter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkLocalMatrixImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMasks.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMasks.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMipmapAccessor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMipmapAccessor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkNextID.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkOpts.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkOpts.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPixmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPoint3.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecord.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordPattern.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecords.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTHash.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkYUVPlanesCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkYUVPlanesCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkTableColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkTableColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkImageImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/Blend.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/Device_drawTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAutoLocaleSetter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBlurUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBlurUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawOpAtlas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawOpAtlas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawOpTest.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawOpTest.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawingManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawingManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFragmentProcessor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuResourcePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrManagedResource.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrNonAtomicRef.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpFlushState.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpFlushState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorUnitTest.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSamplerState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSimpleMesh.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTTopoSort.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTestUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTestUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrXferProcessor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceDrawContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceDrawContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBlendFragmentProcessor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBlendFragmentProcessor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrCustomXfermode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrCustomXfermode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrAAConvexTessellator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrAAConvexTessellator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuad.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrTriangulator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrTriangulator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTextureRenderTarget.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLUniformHandler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLUniformHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLVaryingHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLBlend.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLBlend.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLProgramBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLProgramBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLUniformHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLVarying.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLVarying.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_Ganesh.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AALinearizingConvexPathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AALinearizingConvexPathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasTextOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasTextOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/ClearOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DashLinePathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DashLinePathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawAtlasOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawAtlasOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrDrawOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrMeshDrawOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrMeshDrawOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/LatticeOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/LatticeOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TriangulatingPathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TriangulatingPathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCommandBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCommandBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkGpu.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkGpu.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkRenderPass.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkRenderPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkRenderTarget.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTextureRenderTarget.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTextureRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkUtil.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkUtil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanInterface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanMemory.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanMemory.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_Lazy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkPictureImageGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkBlitMask_opts.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkBlitRow_opts.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkDConicLineIntersection.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkDCubicToQuads.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkOpCoincidence.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsConic.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsConic.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCurve.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsWinding.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkDocument_PDF_None.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFBitmap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFBitmap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFMetadata.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFMetadata.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkImageShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkImageShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/svg/SkSVGCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/svg/SkSVGDevice.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/svg/SkSVGDevice.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/DistanceFieldAdjustTable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/DistanceFieldAdjustTable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/StrikeCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/StrikeCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/TextBlob.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/TextBlob.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/TextBlobRedrawCoordinator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/TextBlobRedrawCoordinator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkPaintFilterCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/xps/SkXPSDocument.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/client_utils/android/BRDAllocator.h -FILE: ../../../flutter/third_party/skia/client_utils/android/BitmapRegionDecoder.cpp -FILE: ../../../flutter/third_party/skia/client_utils/android/BitmapRegionDecoder.h -FILE: ../../../flutter/third_party/skia/client_utils/android/BitmapRegionDecoderPriv.h -FILE: ../../../flutter/third_party/skia/dm/DMSrcSink.cpp -FILE: ../../../flutter/third_party/skia/dm/DMSrcSink.h -FILE: ../../../flutter/third_party/skia/gm/aaxfermodes.cpp -FILE: ../../../flutter/third_party/skia/gm/addarc.cpp -FILE: ../../../flutter/third_party/skia/gm/all_bitmap_configs.cpp -FILE: ../../../flutter/third_party/skia/gm/anisotropic.cpp -FILE: ../../../flutter/third_party/skia/gm/annotated_text.cpp -FILE: ../../../flutter/third_party/skia/gm/badpaint.cpp -FILE: ../../../flutter/third_party/skia/gm/bigrrectaaeffect.cpp -FILE: ../../../flutter/third_party/skia/gm/bigtileimagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/blurredclippedcircle.cpp -FILE: ../../../flutter/third_party/skia/gm/bmpfilterqualityrepeat.cpp -FILE: ../../../flutter/third_party/skia/gm/concavepaths.cpp -FILE: ../../../flutter/third_party/skia/gm/constcolorprocessor.cpp -FILE: ../../../flutter/third_party/skia/gm/convex_all_line_paths.cpp -FILE: ../../../flutter/third_party/skia/gm/draw_bitmap_rect_skbug4374.cpp -FILE: ../../../flutter/third_party/skia/gm/drawable.cpp -FILE: ../../../flutter/third_party/skia/gm/drawatlas.cpp -FILE: ../../../flutter/third_party/skia/gm/drawatlascolor.cpp -FILE: ../../../flutter/third_party/skia/gm/drawminibitmaprect.cpp -FILE: ../../../flutter/third_party/skia/gm/fadefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/fontscalerdistortable.cpp -FILE: ../../../flutter/third_party/skia/gm/image_pict.cpp -FILE: ../../../flutter/third_party/skia/gm/image_shader.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefilters.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefiltersstroked.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefilterstransformed.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefromyuvtextures.cpp -FILE: ../../../flutter/third_party/skia/gm/imagesource2.cpp -FILE: ../../../flutter/third_party/skia/gm/largeglyphblur.cpp -FILE: ../../../flutter/third_party/skia/gm/lcdblendmodes.cpp -FILE: ../../../flutter/third_party/skia/gm/lcdoverlap.cpp -FILE: ../../../flutter/third_party/skia/gm/localmatriximagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/localmatriximageshader.cpp -FILE: ../../../flutter/third_party/skia/gm/mipmap.cpp -FILE: ../../../flutter/third_party/skia/gm/path_stroke_with_zero_length.cpp -FILE: ../../../flutter/third_party/skia/gm/pathcontourstart.cpp -FILE: ../../../flutter/third_party/skia/gm/pdf_never_embed.cpp -FILE: ../../../flutter/third_party/skia/gm/perspshaders.cpp -FILE: ../../../flutter/third_party/skia/gm/pictureimagegenerator.cpp -FILE: ../../../flutter/third_party/skia/gm/plus.cpp -FILE: ../../../flutter/third_party/skia/gm/repeated_bitmap.cpp -FILE: ../../../flutter/third_party/skia/gm/scaledstrokes.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug_257.cpp -FILE: ../../../flutter/third_party/skia/gm/smallpaths.cpp -FILE: ../../../flutter/third_party/skia/gm/stlouisarch.cpp -FILE: ../../../flutter/third_party/skia/gm/textblobcolortrans.cpp -FILE: ../../../flutter/third_party/skia/gm/textblobgeometrychange.cpp -FILE: ../../../flutter/third_party/skia/gm/textblobmixedsizes.cpp -FILE: ../../../flutter/third_party/skia/gm/textblobrandomfont.cpp -FILE: ../../../flutter/third_party/skia/gm/textblobtransforms.cpp -FILE: ../../../flutter/third_party/skia/gm/textblobuseaftergpufree.cpp -FILE: ../../../flutter/third_party/skia/gm/transparency.cpp -FILE: ../../../flutter/third_party/skia/include/codec/SkAndroidCodec.h -FILE: ../../../flutter/third_party/skia/include/codec/SkCodec.h -FILE: ../../../flutter/third_party/skia/include/codec/SkEncodedImageFormat.h -FILE: ../../../flutter/third_party/skia/include/codec/SkPngChunkReader.h -FILE: ../../../flutter/third_party/skia/include/core/SkPathBuilder.h -FILE: ../../../flutter/third_party/skia/include/core/SkPixmap.h -FILE: ../../../flutter/third_party/skia/include/core/SkPoint3.h -FILE: ../../../flutter/third_party/skia/include/core/SkRSXform.h -FILE: ../../../flutter/third_party/skia/include/core/SkTraceMemoryDump.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrContextOptions.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLTypes.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_android.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_directory.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_empty.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_fontconfig.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkMutex.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkSemaphore.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkThreadID.h -FILE: ../../../flutter/third_party/skia/include/svg/SkSVGCanvas.h -FILE: ../../../flutter/third_party/skia/include/utils/SkPaintFilterCanvas.h -FILE: ../../../flutter/third_party/skia/src/base/SkSemaphore.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkSharedMutex.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkSharedMutex.h -FILE: ../../../flutter/third_party/skia/src/base/SkSpinlock.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkSpinlock.h -FILE: ../../../flutter/third_party/skia/src/base/SkTDPQueue.h -FILE: ../../../flutter/third_party/skia/src/base/SkThreadID.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkAndroidCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkAndroidCodecAdapter.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkAndroidCodecAdapter.h -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpMaskCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpMaskCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpRLECodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpRLECodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpStandardCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpStandardCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkCodecImageGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkCodecImageGenerator.h -FILE: ../../../flutter/third_party/skia/src/codec/SkIcoCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkIcoCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegDecoderMgr.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegDecoderMgr.h -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegUtility.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegUtility.h -FILE: ../../../flutter/third_party/skia/src/codec/SkMaskSwizzler.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkMaskSwizzler.h -FILE: ../../../flutter/third_party/skia/src/codec/SkPixmapUtils.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkPixmapUtilsPriv.h -FILE: ../../../flutter/third_party/skia/src/codec/SkPngCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkPngCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkSampledCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkSampledCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkSampler.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkSampler.h -FILE: ../../../flutter/third_party/skia/src/codec/SkSwizzler.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkSwizzler.h -FILE: ../../../flutter/third_party/skia/src/codec/SkWbmpCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkWbmpCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkWebpCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkWebpCodec.h -FILE: ../../../flutter/third_party/skia/src/core/Sk4px.h -FILE: ../../../flutter/third_party/skia/src/core/SkBigPicture.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBigPicture.h -FILE: ../../../flutter/third_party/skia/src/core/SkFontMgr.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkLatticeIter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkLatticeIter.h -FILE: ../../../flutter/third_party/skia/src/core/SkLocalMatrixImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMasks.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMasks.h -FILE: ../../../flutter/third_party/skia/src/core/SkMipmapAccessor.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMipmapAccessor.h -FILE: ../../../flutter/third_party/skia/src/core/SkNextID.h -FILE: ../../../flutter/third_party/skia/src/core/SkOpts.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkOpts.h -FILE: ../../../flutter/third_party/skia/src/core/SkPathBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPathPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkPixmap.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPoint3.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRecord.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRecordPattern.h -FILE: ../../../flutter/third_party/skia/src/core/SkRecords.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkTHash.h -FILE: ../../../flutter/third_party/skia/src/core/SkYUVPlanesCache.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkYUVPlanesCache.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkTableColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkTableColorFilter.h -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkImageImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/Blend.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/Device_drawTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAutoLocaleSetter.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBlurUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBlurUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawOpAtlas.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawOpAtlas.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawOpTest.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawOpTest.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawingManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawingManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFragmentProcessor.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuResourcePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrManagedResource.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrNonAtomicRef.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpFlushState.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpFlushState.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPipeline.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorUnitTest.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSamplerState.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSimpleMesh.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTTopoSort.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTestUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTestUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrXferProcessor.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceDrawContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceDrawContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBlendFragmentProcessor.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrBlendFragmentProcessor.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrCustomXfermode.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrCustomXfermode.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrAAConvexTessellator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrAAConvexTessellator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuad.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrTriangulator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrTriangulator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTextureRenderTarget.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLUniformHandler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLUniformHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLVaryingHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLBlend.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLBlend.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLProgramBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLProgramBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLUniformHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLVarying.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLVarying.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_Ganesh.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AALinearizingConvexPathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AALinearizingConvexPathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasTextOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasTextOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/ClearOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DashLinePathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DashLinePathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawAtlasOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawAtlasOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrDrawOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrMeshDrawOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrMeshDrawOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/LatticeOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/LatticeOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TriangulatingPathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TriangulatingPathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCommandBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCommandBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkGpu.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkGpu.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImage.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImage.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkRenderPass.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkRenderPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkRenderTarget.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTextureRenderTarget.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTextureRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkUtil.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkUtil.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanInterface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanInterface.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanMemory.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanMemory.h -FILE: ../../../flutter/third_party/skia/src/image/SkImage_Lazy.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkPictureImageGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/opts/SkBlitMask_opts.h -FILE: ../../../flutter/third_party/skia/src/opts/SkBlitRow_opts.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkDConicLineIntersection.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkDCubicToQuads.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkOpCoincidence.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsConic.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsConic.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsCurve.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsWinding.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkDocument_PDF_None.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFBitmap.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFBitmap.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFMetadata.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFMetadata.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkImageShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkImageShader.h -FILE: ../../../flutter/third_party/skia/src/svg/SkSVGCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/svg/SkSVGDevice.cpp -FILE: ../../../flutter/third_party/skia/src/svg/SkSVGDevice.h -FILE: ../../../flutter/third_party/skia/src/text/gpu/DistanceFieldAdjustTable.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/DistanceFieldAdjustTable.h -FILE: ../../../flutter/third_party/skia/src/text/gpu/StrikeCache.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/StrikeCache.h -FILE: ../../../flutter/third_party/skia/src/text/gpu/TextBlob.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/TextBlob.h -FILE: ../../../flutter/third_party/skia/src/text/gpu/TextBlobRedrawCoordinator.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/TextBlobRedrawCoordinator.h -FILE: ../../../flutter/third_party/skia/src/utils/SkPaintFilterCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/xps/SkXPSDocument.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2015 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkCodecPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkLocalMatrixImageFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkImageGenerator_none.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkImageGenerator_skia.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/codec/SkCodecPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkLocalMatrixImageFilter.h -FILE: ../../../flutter/third_party/skia/src/ports/SkImageGenerator_none.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkImageGenerator_skia.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2015 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTraceEventCommon.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkTraceEventCommon.h ----------------------------------------------------------------------------------------------------- -Copyright 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/Fuzz.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/Fuzz.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzGradients.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzMain.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzParsePath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzPathop.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/animated_gif.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/animatedimageblurs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/arcto.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bigrect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bitmapimage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurcircles2.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bug5252.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bug530095.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bug615686.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/circulararcs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/clip_error.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/colorfilteralpha8.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/complexclip4.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/complexclip_blur_tiled.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/croppedrects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/dashcircle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawregion.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawregionmodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/encode_platform.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/encode_srgb.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/filterbug.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/hardstop_gradients.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagemakewithfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagemasksubset.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/lattice.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/overdrawcolorfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/overstroke.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pathmaskcache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/readpixels.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/rectangletexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/rrectclipdrawpaint.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/shapes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/showmiplevels.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/simplerect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug_4868.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug_5321.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/stroke_rect_shader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/strokedlines.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/subsetshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/textblobblockreordering.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/windowrectangles.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkCodecAnimation.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkBlendMode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkClipOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkColorSpace.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkMilestone.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkOverdrawCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkRasterHandleAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkSwizzle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkOverdrawColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/encode/SkICC.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrVkTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_FontConfigInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkImageGeneratorCG.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkImageGeneratorWIC.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkEncodedInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SingleOwner.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkNoDrawCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/slides/SVGPongSlide.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_primitive.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGAttribute.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGAttributeParser.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGCircle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGClipPath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGContainer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGDOM.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGDefs.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGEllipse.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGG.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGHiddenContainer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGIDMapper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGLine.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGLinearGradient.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGNode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGPath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGPoly.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGRect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGRenderContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGSVG.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGShape.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGStop.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGTransformableNode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGValue.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGAttribute.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGAttributeParser.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGCircle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGClipPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGContainer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGDOM.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGEllipse.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGLine.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGLinearGradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGNode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGPoly.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGRect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGRenderContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGSVG.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGShape.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGStop.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGTransformableNode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGValue.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkArenaAlloc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkArenaAlloc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkAutoMalloc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBitmaskEnum.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkLeanWindows.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkMSAN.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkScopeExit.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkRawCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkRawCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkATrace.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkATrace.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAnnotationKeys.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAutoPixmapStorage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAutoPixmapStorage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlendModePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorSpace.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorSpacePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCpu.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCpu.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGlobalInitialization_core.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageFilterCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageFilterCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkLRUCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMatrixPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkOverdrawCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathMeasurePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterPipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterPipelineBlitter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordedDrawable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRecordedDrawable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScaleToSides.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSpecialImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSpecialImage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSwizzle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSwizzlePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkShaderImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkICC.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkICCPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkImageEncoderPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/Swizzle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAppliedClip.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAuditTrail.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAuditTrail.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColorSpaceXform.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColorSpaceXform.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDirectContextPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFixedClip.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpsRenderPass.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpsRenderPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProgramDesc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTargetProxy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTargetProxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceHandle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrScissorState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrShaderVar.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrShaderVar.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStencilSettings.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStyle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStyle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureProxy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureProxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureRenderTargetProxy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureRenderTargetProxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUserStencilSettings.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWindowRectangles.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWindowRectsState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineStateDataManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrShadowGeoProc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrShadowGeoProc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrStyledShape.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrStyledShape.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLOpsRenderPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLColorSpaceXformHelper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLProgramDataManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrPathStencilSettings.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/RegionOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/RegionOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/ShadowRRectOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/ShadowRRectOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorPool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorPool.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorSet.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorSet.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorSetManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorSetManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkFramebuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkFramebuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImageView.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImageView.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkOpsRenderPass.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkOpsRenderPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineState.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateDataManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateDataManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkResourceProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSampler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSampler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkUniformHandler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkUniformHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkVaryingHandler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkVaryingHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanExtensions.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkSwizzler_opts.inc + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkBitmapKey.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFDocumentPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFMakeCIDGlyphWidthsArray.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFMakeCIDGlyphWidthsArray.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFMakeToUnicodeCmap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontConfigInterface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkImageGeneratorCG.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkImageGeneratorWIC.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkColorFilterShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkColorShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLCompiler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLCompiler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLMemoryLayout.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLProgramSettings.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLUtil.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLUtil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLCodeGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLGLSLCodeGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLGLSLCodeGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLMetalCodeGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLMetalCodeGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVCodeGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVCodeGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBinaryExpression.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBlock.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBreakStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLContinueStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLDiscardStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLDoStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExpression.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExpressionStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExtension.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFieldAccess.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFieldSymbol.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLForStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionCall.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionDeclaration.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionDefinition.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionReference.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIRNode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIfStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIndexExpression.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLInterfaceBlock.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLLayout.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLLiteral.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifierFlags.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifiersDeclaration.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLNop.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPostfixExpression.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPrefixExpression.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLProgram.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLProgramElement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLReturnStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSetting.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwizzle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSymbol.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSymbolTable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSymbolTable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLTernaryExpression.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLType.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLType.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLTypeReference.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVarDeclarations.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVariable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVariableReference.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkMultiPictureDocument.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkMultiPictureDocumentPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkOSPath.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/Fuzz.cpp -FILE: ../../../flutter/third_party/skia/fuzz/Fuzz.h -FILE: ../../../flutter/third_party/skia/fuzz/FuzzGradients.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzMain.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzParsePath.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzPathop.cpp -FILE: ../../../flutter/third_party/skia/gm/animated_gif.cpp -FILE: ../../../flutter/third_party/skia/gm/animatedimageblurs.cpp -FILE: ../../../flutter/third_party/skia/gm/arcto.cpp -FILE: ../../../flutter/third_party/skia/gm/bigrect.cpp -FILE: ../../../flutter/third_party/skia/gm/bitmapimage.cpp -FILE: ../../../flutter/third_party/skia/gm/blurcircles2.cpp -FILE: ../../../flutter/third_party/skia/gm/bug5252.cpp -FILE: ../../../flutter/third_party/skia/gm/bug530095.cpp -FILE: ../../../flutter/third_party/skia/gm/bug615686.cpp -FILE: ../../../flutter/third_party/skia/gm/circulararcs.cpp -FILE: ../../../flutter/third_party/skia/gm/clip_error.cpp -FILE: ../../../flutter/third_party/skia/gm/colorfilteralpha8.cpp -FILE: ../../../flutter/third_party/skia/gm/complexclip4.cpp -FILE: ../../../flutter/third_party/skia/gm/complexclip_blur_tiled.cpp -FILE: ../../../flutter/third_party/skia/gm/croppedrects.cpp -FILE: ../../../flutter/third_party/skia/gm/dashcircle.cpp -FILE: ../../../flutter/third_party/skia/gm/drawregion.cpp -FILE: ../../../flutter/third_party/skia/gm/drawregionmodes.cpp -FILE: ../../../flutter/third_party/skia/gm/encode_platform.cpp -FILE: ../../../flutter/third_party/skia/gm/encode_srgb.cpp -FILE: ../../../flutter/third_party/skia/gm/filterbug.cpp -FILE: ../../../flutter/third_party/skia/gm/hardstop_gradients.cpp -FILE: ../../../flutter/third_party/skia/gm/imagemakewithfilter.cpp -FILE: ../../../flutter/third_party/skia/gm/imagemasksubset.cpp -FILE: ../../../flutter/third_party/skia/gm/lattice.cpp -FILE: ../../../flutter/third_party/skia/gm/overdrawcolorfilter.cpp -FILE: ../../../flutter/third_party/skia/gm/overstroke.cpp -FILE: ../../../flutter/third_party/skia/gm/pathmaskcache.cpp -FILE: ../../../flutter/third_party/skia/gm/readpixels.cpp -FILE: ../../../flutter/third_party/skia/gm/rectangletexture.cpp -FILE: ../../../flutter/third_party/skia/gm/rrectclipdrawpaint.cpp -FILE: ../../../flutter/third_party/skia/gm/shapes.cpp -FILE: ../../../flutter/third_party/skia/gm/showmiplevels.cpp -FILE: ../../../flutter/third_party/skia/gm/simplerect.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug_4868.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug_5321.cpp -FILE: ../../../flutter/third_party/skia/gm/stroke_rect_shader.cpp -FILE: ../../../flutter/third_party/skia/gm/strokedlines.cpp -FILE: ../../../flutter/third_party/skia/gm/subsetshader.cpp -FILE: ../../../flutter/third_party/skia/gm/textblobblockreordering.cpp -FILE: ../../../flutter/third_party/skia/gm/windowrectangles.cpp -FILE: ../../../flutter/third_party/skia/include/codec/SkCodecAnimation.h -FILE: ../../../flutter/third_party/skia/include/core/SkBlendMode.h -FILE: ../../../flutter/third_party/skia/include/core/SkClipOp.h -FILE: ../../../flutter/third_party/skia/include/core/SkColorSpace.h -FILE: ../../../flutter/third_party/skia/include/core/SkMilestone.h -FILE: ../../../flutter/third_party/skia/include/core/SkOverdrawCanvas.h -FILE: ../../../flutter/third_party/skia/include/core/SkRasterHandleAllocator.h -FILE: ../../../flutter/third_party/skia/include/core/SkSwizzle.h -FILE: ../../../flutter/third_party/skia/include/effects/SkOverdrawColorFilter.h -FILE: ../../../flutter/third_party/skia/include/encode/SkICC.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrVkTypes.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_FontConfigInterface.h -FILE: ../../../flutter/third_party/skia/include/ports/SkImageGeneratorCG.h -FILE: ../../../flutter/third_party/skia/include/ports/SkImageGeneratorWIC.h -FILE: ../../../flutter/third_party/skia/include/private/SkEncodedInfo.h -FILE: ../../../flutter/third_party/skia/include/private/base/SingleOwner.h -FILE: ../../../flutter/third_party/skia/include/utils/SkNoDrawCanvas.h -FILE: ../../../flutter/third_party/skia/modules/sksg/slides/SVGPongSlide.cpp -FILE: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper.h -FILE: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_harfbuzz.cpp -FILE: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_primitive.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGAttribute.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGAttributeParser.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGCircle.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGClipPath.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGContainer.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGDOM.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGDefs.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGEllipse.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGG.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGHiddenContainer.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGIDMapper.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGLine.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGLinearGradient.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGNode.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGPath.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGPoly.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGRect.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGRenderContext.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGSVG.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGShape.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGStop.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGTransformableNode.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGTypes.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGValue.h -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGAttribute.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGAttributeParser.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGCircle.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGClipPath.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGContainer.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGDOM.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGEllipse.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGLine.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGLinearGradient.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGNode.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGPath.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGPoly.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGRect.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGRenderContext.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGSVG.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGShape.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGStop.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGTransformableNode.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGValue.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkArenaAlloc.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkArenaAlloc.h -FILE: ../../../flutter/third_party/skia/src/base/SkAutoMalloc.h -FILE: ../../../flutter/third_party/skia/src/base/SkBitmaskEnum.h -FILE: ../../../flutter/third_party/skia/src/base/SkLeanWindows.h -FILE: ../../../flutter/third_party/skia/src/base/SkMSAN.h -FILE: ../../../flutter/third_party/skia/src/base/SkScopeExit.h -FILE: ../../../flutter/third_party/skia/src/codec/SkRawCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkRawCodec.h -FILE: ../../../flutter/third_party/skia/src/core/SkATrace.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkATrace.h -FILE: ../../../flutter/third_party/skia/src/core/SkAnnotationKeys.h -FILE: ../../../flutter/third_party/skia/src/core/SkAutoPixmapStorage.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkAutoPixmapStorage.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlendModePriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkColorSpace.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkColorSpacePriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkCpu.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCpu.h -FILE: ../../../flutter/third_party/skia/src/core/SkGlobalInitialization_core.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkImageFilterCache.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkImageFilterCache.h -FILE: ../../../flutter/third_party/skia/src/core/SkLRUCache.h -FILE: ../../../flutter/third_party/skia/src/core/SkMatrixPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkOverdrawCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPathMeasurePriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkRasterPipeline.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRasterPipeline.h -FILE: ../../../flutter/third_party/skia/src/core/SkRasterPipelineBlitter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRecordedDrawable.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRecordedDrawable.h -FILE: ../../../flutter/third_party/skia/src/core/SkScaleToSides.h -FILE: ../../../flutter/third_party/skia/src/core/SkSpecialImage.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSpecialImage.h -FILE: ../../../flutter/third_party/skia/src/core/SkSwizzle.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSwizzlePriv.h -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkShaderImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkICC.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkICCPriv.h -FILE: ../../../flutter/third_party/skia/src/encode/SkImageEncoderPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/Swizzle.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAppliedClip.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAuditTrail.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAuditTrail.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColorSpaceXform.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColorSpaceXform.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDirectContextPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFixedClip.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpsRenderPass.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpsRenderPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProgramDesc.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTargetProxy.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTargetProxy.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceHandle.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrScissorState.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrShaderVar.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrShaderVar.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStencilSettings.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStyle.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStyle.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxy.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxy.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureProxy.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureProxy.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureRenderTargetProxy.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureRenderTargetProxy.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUserStencilSettings.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWindowRectangles.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWindowRectsState.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineStateDataManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrShadowGeoProc.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrShadowGeoProc.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrStyledShape.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrStyledShape.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLOpsRenderPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLColorSpaceXformHelper.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLProgramDataManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrPathStencilSettings.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/RegionOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/RegionOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/ShadowRRectOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/ShadowRRectOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorPool.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorPool.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorSet.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorSet.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorSetManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDescriptorSetManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkFramebuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkFramebuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImageView.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImageView.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkOpsRenderPass.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkOpsRenderPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipeline.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineState.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineState.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateCache.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateDataManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkPipelineStateDataManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkResourceProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSampler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSampler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkUniformHandler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkUniformHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkVaryingHandler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkVaryingHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanExtensions.cpp -FILE: ../../../flutter/third_party/skia/src/opts/SkSwizzler_opts.inc -FILE: ../../../flutter/third_party/skia/src/pdf/SkBitmapKey.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFDocumentPriv.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFMakeCIDGlyphWidthsArray.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFMakeCIDGlyphWidthsArray.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFMakeToUnicodeCmap.h -FILE: ../../../flutter/third_party/skia/src/ports/SkFontConfigInterface.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkImageGeneratorCG.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkImageGeneratorWIC.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkColorFilterShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkColorShader.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLCompiler.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLCompiler.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLContext.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLMemoryLayout.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLProgramSettings.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLUtil.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLUtil.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLCodeGenerator.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLGLSLCodeGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLGLSLCodeGenerator.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLMetalCodeGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLMetalCodeGenerator.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVCodeGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVCodeGenerator.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBinaryExpression.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBlock.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBreakStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructor.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLContinueStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLDiscardStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLDoStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExpression.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExpressionStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExtension.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFieldAccess.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFieldSymbol.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLForStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionCall.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionDeclaration.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionDefinition.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionReference.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIRNode.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIfStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIndexExpression.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLInterfaceBlock.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLLayout.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLLiteral.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifierFlags.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifiersDeclaration.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLNop.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPostfixExpression.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPrefixExpression.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLProgram.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLProgramElement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLReturnStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSetting.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwizzle.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSymbol.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSymbolTable.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSymbolTable.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLTernaryExpression.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLType.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLType.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLTypeReference.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVarDeclarations.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVariable.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVariableReference.h -FILE: ../../../flutter/third_party/skia/src/utils/SkMultiPictureDocument.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkMultiPictureDocumentPriv.h -FILE: ../../../flutter/third_party/skia/src/utils/SkOSPath.h ----------------------------------------------------------------------------------------------------- -Copyright 2016 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzDrawFunctions.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzDrawFunctions.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2016 Mozilla Foundation - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkScan_AAAPath.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkScan_AAAPath.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2016 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDistanceFieldGenFromVector.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDistanceFieldGenFromVector.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDistanceFieldGenFromVector.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDistanceFieldGenFromVector.h ----------------------------------------------------------------------------------------------------- -Copyright 2017 ARM Ltd. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/dm/DMGpuTestProcs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/alpha_image.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bitmaptiled.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurignorexform.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurimagevmask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurpositioning.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/blurtextsmallradii.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bug6643.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bug6783.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/circle_sizes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_691386.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_788500.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crosscontextimage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/dftext_blob_persp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drrect_small_inner.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/encode_alpha_jpeg.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/flippity.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/highcontrastfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/hsl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imageblurclampmode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imageblurrepeatmode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/jpg_color_cube.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/makecolorspace.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/manypaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pictureshadercache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/radial_gradient_precision.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/savelayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/shadowutils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/srgb.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/testgradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/text_scale_skew.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/thinconcavepaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/SkAndroidFrameworkUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkEncodedOrigin.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkExecutor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFontArguments.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkSerialProcs.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkVertices.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/docs/SkXPSDocument.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkHighContrastFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/encode/SkEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/encode/SkJpegEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/encode/SkPngEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/encode/SkWebpEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrBackendSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrBackendSurface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/mock/GrMockTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_mac_ct.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkMalloc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkShadowUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/gm/ExternalProperties.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/gm/SkottieGM.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/include/Skottie.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Skottie.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/SkottieValue.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGDraw.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGEffectNode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGGeometryNode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGGroup.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGInvalidationController.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGMerge.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGNode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGPaint.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGPath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGRect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGRenderNode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGTransform.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGDraw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGEffectNode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGGeometryNode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGGroup.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGInvalidationController.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGMerge.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGNode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGPaint.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGRect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGRenderNode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGTransform.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGGradient.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGPattern.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGRadialGradient.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGUse.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGGradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGPattern.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGRadialGradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGUse.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/android/SkAndroidFrameworkUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkArenaAllocList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkSafeMath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpBaseCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkBmpBaseCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkFrameHolder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkHeifCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkHeifCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkParseEncodedOrigin.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPngPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkStubHeifDecoderAPI.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkAutoBlitterChoose.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlendMode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkClipStackDevice.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkClipStackDevice.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDrawShadowInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDrawShadowInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDraw_vertices.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkExecutor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGaussFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGaussFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageInfoPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskBlurFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskBlurFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterClipStack.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkVertices.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkWritePixelsRec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkDashImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkHighContrastFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkJpegEncoderImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAHardwareBufferImageGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAHardwareBufferImageGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendSurface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendTextureImageGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendTextureImageGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColorInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColorInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredProxyUploader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredUpload.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOnFlushResourceProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOnFlushResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorSet.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorSet.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceAllocator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxyPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureProxyCacheAccess.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureProxyPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SkGr.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/StencilClip.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrTextureEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrTextureEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLOpsRenderPass.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLSemaphore.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockAttachment.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockGpu.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockGpu.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockOpsRenderPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCaps.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlGpu.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlGpu.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlRenderTarget.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTexture.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTrampoline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTrampoline.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlUtil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlUtil.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/ClearOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TextureOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TextureOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSemaphore.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkMemset_opts.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkKeyedImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkKeyedImage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFGradientShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFGradientShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom_directory.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom_embedded.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom_empty.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkOSFile_ios.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_fvar.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkShaderBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLFileOutputStream.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLLexer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLLexer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLOutputStream.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLString.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLString.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLStringStream.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLPipelineStageCodeGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSetting.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwitchCase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwitchStatement.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/DFA.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/DFAState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/LexUtil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/Main.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/NFA.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/NFA.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/NFAState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/NFAtoDFA.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/RegexNode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/RegexNode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/RegexParser.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/RegexParser.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkFloatToDecimal.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkFloatToDecimal.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkJSONWriter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkJSONWriter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkPolyUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkPolyUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkShadowTessellator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkShadowTessellator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkShadowUtils.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/dm/DMGpuTestProcs.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzCanvas.cpp -FILE: ../../../flutter/third_party/skia/gm/alpha_image.cpp -FILE: ../../../flutter/third_party/skia/gm/bitmaptiled.cpp -FILE: ../../../flutter/third_party/skia/gm/blurignorexform.cpp -FILE: ../../../flutter/third_party/skia/gm/blurimagevmask.cpp -FILE: ../../../flutter/third_party/skia/gm/blurpositioning.cpp -FILE: ../../../flutter/third_party/skia/gm/blurtextsmallradii.cpp -FILE: ../../../flutter/third_party/skia/gm/bug6643.cpp -FILE: ../../../flutter/third_party/skia/gm/bug6783.cpp -FILE: ../../../flutter/third_party/skia/gm/circle_sizes.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_691386.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_788500.cpp -FILE: ../../../flutter/third_party/skia/gm/crosscontextimage.cpp -FILE: ../../../flutter/third_party/skia/gm/dftext_blob_persp.cpp -FILE: ../../../flutter/third_party/skia/gm/drrect_small_inner.cpp -FILE: ../../../flutter/third_party/skia/gm/encode_alpha_jpeg.cpp -FILE: ../../../flutter/third_party/skia/gm/flippity.cpp -FILE: ../../../flutter/third_party/skia/gm/highcontrastfilter.cpp -FILE: ../../../flutter/third_party/skia/gm/hsl.cpp -FILE: ../../../flutter/third_party/skia/gm/imageblurclampmode.cpp -FILE: ../../../flutter/third_party/skia/gm/imageblurrepeatmode.cpp -FILE: ../../../flutter/third_party/skia/gm/jpg_color_cube.cpp -FILE: ../../../flutter/third_party/skia/gm/makecolorspace.cpp -FILE: ../../../flutter/third_party/skia/gm/manypaths.cpp -FILE: ../../../flutter/third_party/skia/gm/pictureshadercache.cpp -FILE: ../../../flutter/third_party/skia/gm/radial_gradient_precision.cpp -FILE: ../../../flutter/third_party/skia/gm/savelayer.cpp -FILE: ../../../flutter/third_party/skia/gm/shadowutils.cpp -FILE: ../../../flutter/third_party/skia/gm/srgb.cpp -FILE: ../../../flutter/third_party/skia/gm/testgradient.cpp -FILE: ../../../flutter/third_party/skia/gm/text_scale_skew.cpp -FILE: ../../../flutter/third_party/skia/gm/thinconcavepaths.cpp -FILE: ../../../flutter/third_party/skia/include/android/SkAndroidFrameworkUtils.h -FILE: ../../../flutter/third_party/skia/include/codec/SkEncodedOrigin.h -FILE: ../../../flutter/third_party/skia/include/core/SkExecutor.h -FILE: ../../../flutter/third_party/skia/include/core/SkFontArguments.h -FILE: ../../../flutter/third_party/skia/include/core/SkSerialProcs.h -FILE: ../../../flutter/third_party/skia/include/core/SkVertices.h -FILE: ../../../flutter/third_party/skia/include/docs/SkXPSDocument.h -FILE: ../../../flutter/third_party/skia/include/effects/SkHighContrastFilter.h -FILE: ../../../flutter/third_party/skia/include/encode/SkEncoder.h -FILE: ../../../flutter/third_party/skia/include/encode/SkJpegEncoder.h -FILE: ../../../flutter/third_party/skia/include/encode/SkPngEncoder.h -FILE: ../../../flutter/third_party/skia/include/encode/SkWebpEncoder.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrBackendSemaphore.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrBackendSurface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/mock/GrMockTypes.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlTypes.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_mac_ct.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkMalloc.h -FILE: ../../../flutter/third_party/skia/include/utils/SkShadowUtils.h -FILE: ../../../flutter/third_party/skia/modules/skottie/gm/ExternalProperties.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/gm/SkottieGM.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/include/Skottie.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Skottie.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/SkottieValue.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGDraw.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGEffectNode.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGGeometryNode.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGGroup.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGInvalidationController.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGMerge.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGNode.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGPaint.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGPath.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGRect.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGRenderNode.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGTransform.h -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGDraw.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGEffectNode.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGGeometryNode.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGGroup.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGInvalidationController.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGMerge.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGNode.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGPaint.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGPath.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGRect.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGRenderNode.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGTransform.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGGradient.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGPattern.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGRadialGradient.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGUse.h -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGGradient.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGPattern.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGRadialGradient.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGUse.cpp -FILE: ../../../flutter/third_party/skia/src/android/SkAndroidFrameworkUtils.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkArenaAllocList.h -FILE: ../../../flutter/third_party/skia/src/base/SkSafeMath.h -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpBaseCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkBmpBaseCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkFrameHolder.h -FILE: ../../../flutter/third_party/skia/src/codec/SkHeifCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkHeifCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegPriv.h -FILE: ../../../flutter/third_party/skia/src/codec/SkParseEncodedOrigin.h -FILE: ../../../flutter/third_party/skia/src/codec/SkPngPriv.h -FILE: ../../../flutter/third_party/skia/src/codec/SkStubHeifDecoderAPI.h -FILE: ../../../flutter/third_party/skia/src/core/SkAutoBlitterChoose.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlendMode.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkClipStackDevice.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkClipStackDevice.h -FILE: ../../../flutter/third_party/skia/src/core/SkDrawShadowInfo.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDrawShadowInfo.h -FILE: ../../../flutter/third_party/skia/src/core/SkDraw_vertices.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkExecutor.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkGaussFilter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkGaussFilter.h -FILE: ../../../flutter/third_party/skia/src/core/SkImageInfoPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkMaskBlurFilter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMaskBlurFilter.h -FILE: ../../../flutter/third_party/skia/src/core/SkRasterClipStack.h -FILE: ../../../flutter/third_party/skia/src/core/SkVertices.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkWritePixelsRec.h -FILE: ../../../flutter/third_party/skia/src/effects/SkDashImpl.h -FILE: ../../../flutter/third_party/skia/src/effects/SkHighContrastFilter.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkJpegEncoderImpl.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAHardwareBufferImageGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAHardwareBufferImageGenerator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendSurface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendTextureImageGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendTextureImageGenerator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColorInfo.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrColorInfo.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredProxyUploader.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredUpload.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOnFlushResourceProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOnFlushResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorSet.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProcessorSet.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceAllocator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceAllocator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSemaphore.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxyPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureProxyCacheAccess.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureProxyPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SkGr.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/StencilClip.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrAtlasedShaderHelpers.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrTextureEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrTextureEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLOpsRenderPass.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLSemaphore.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLSemaphore.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockAttachment.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockGpu.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockGpu.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockOpsRenderPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCaps.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlGpu.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlGpu.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlRenderTarget.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTexture.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTrampoline.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTrampoline.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlUtil.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlUtil.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/ClearOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelper.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelper.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TextureOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TextureOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSemaphore.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSemaphore.h -FILE: ../../../flutter/third_party/skia/src/opts/SkMemset_opts.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkKeyedImage.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkKeyedImage.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFGradientShader.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFGradientShader.h -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom_directory.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom_embedded.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_custom_empty.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkOSFile_ios.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_fvar.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkShaderBase.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLFileOutputStream.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLLexer.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLLexer.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLOutputStream.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLString.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLString.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLStringStream.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLPipelineStageCodeGenerator.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSetting.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwitchCase.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwitchStatement.h -FILE: ../../../flutter/third_party/skia/src/sksl/lex/DFA.h -FILE: ../../../flutter/third_party/skia/src/sksl/lex/DFAState.h -FILE: ../../../flutter/third_party/skia/src/sksl/lex/LexUtil.h -FILE: ../../../flutter/third_party/skia/src/sksl/lex/Main.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/lex/NFA.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/lex/NFA.h -FILE: ../../../flutter/third_party/skia/src/sksl/lex/NFAState.h -FILE: ../../../flutter/third_party/skia/src/sksl/lex/NFAtoDFA.h -FILE: ../../../flutter/third_party/skia/src/sksl/lex/RegexNode.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/lex/RegexNode.h -FILE: ../../../flutter/third_party/skia/src/sksl/lex/RegexParser.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/lex/RegexParser.h -FILE: ../../../flutter/third_party/skia/src/utils/SkFloatToDecimal.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkFloatToDecimal.h -FILE: ../../../flutter/third_party/skia/src/utils/SkJSONWriter.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkJSONWriter.h -FILE: ../../../flutter/third_party/skia/src/utils/SkPolyUtils.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkPolyUtils.h -FILE: ../../../flutter/third_party/skia/src/utils/SkShadowTessellator.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkShadowTessellator.h -FILE: ../../../flutter/third_party/skia/src/utils/SkShadowUtils.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2017 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzCommon.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzPathMeasure.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzRegionOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzImageFilterDeserialize.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPathDeserialize.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzRegionDeserialize.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzRegionSetPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/analytic_gradients.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/androidblendmodes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/b_119394958.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/clockwise.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_847759.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_884166.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_887103.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_892988.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_899512.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_905548.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/daa.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawimageset.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawquadset.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fontregen.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fwidth_squircle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gradients_degenerate.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/hugepath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/localmatrixshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/make_raster_image.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/mandoline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/orientation.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/p3.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pathmeasure.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/perspimages.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/polygonoffset.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/scaledemoji.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/scaledemoji_rendering.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/shadermaskfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/sharedcorners.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/trickycubicstrokes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/unpremul.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/wacky_yuv_formats.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/SkAnimatedImage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkCanvasVirtualEnforcer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkContourMeasure.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkCoverageMode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkCubicMap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFontMetrics.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFontParameters.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFontTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkSpan.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkShaderMaskFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkTrimPathEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_fuchsia.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkMacros.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkSafe32.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkSpan_impl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkTo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/gpu/vk/SkiaVulkan.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkTextUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jsonreader/SkJSONReader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/skcms.cc + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/src/Transform_inl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/src/skcms_internals.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/src/skcms_public.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/include/SkottieProperty.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/SkottieJson.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/SkottieJson.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/SkottiePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/SkottieProperty.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/SkottieTest.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/SkottieTool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/PrecompLayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/TextLayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/ShapeLayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/utils/SkottieUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/utils/SkottieUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skresources/src/SkAnimCodecPlayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skresources/src/SkAnimCodecPlayer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGClipEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGGradient.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGImage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGMaskEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGOpacityEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGPlane.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGScene.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGText.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGClipEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGGradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGMaskEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGOpacityEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGPlane.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGScene.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGText.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/android/SkAnimatedImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTDArray.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkEncodedInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkParseEncodedOrigin.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkWuffsCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCanvasPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorSpaceXformSteps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorSpaceXformSteps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkContourMeasure.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCubicMap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDraw_text.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFontPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkIPoint16.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskFilterBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPath_serial.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPicturePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRRectPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRectPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSafeRange.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrikeCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTextBlobPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTypeface_remote.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkShaderMaskFilterImpl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkTrimPE.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkTrimPathEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrContextThreadSafeProxyPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDDLContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDirectContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDriverBugWorkarounds.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFPArgs.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProxyProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProxyProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceProviderPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceCharacterization.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrSkSLFP.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrSkSLFP.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrYUVtoRGBEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrYUVtoRGBEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuad.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gradients/GrGradientBitmapCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gradients/GrGradientBitmapCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gradients/GrGradientShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gradients/GrGradientShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshBase.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshYUVA.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshYUVA.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlAttachment.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlAttachment.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlBuffer.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCppUtil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlDepthStencil.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlOpsRenderPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlOpsRenderPass.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineState.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateBuilder.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateDataManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateDataManager.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlResourceProvider.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlSampler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlSampler.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTextureRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTextureRenderTarget.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlUniformHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlUniformHandler.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlVaryingHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlVaryingHandler.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawableOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawableOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillRRectOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillRRectOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillRectOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillRectOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/QuadPerEdgeAA.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/QuadPerEdgeAA.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/StrokeRectOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/StrokeRectOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/text/GrAtlasManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/text/GrAtlasManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCommandPool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCommandPool.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImageLayout.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSamplerYcbcrConversion.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSamplerYcbcrConversion.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTypesPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTypesPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanAMDMemoryAllocator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanAMDMemoryAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_Lazy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkBitmapProcState_opts.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkOpts_hsw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkOpts_lasx.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkOpts_skx.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkRasterPipeline_opts.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsAsWinding.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTCurve.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkClusterator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkClusterator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFTag.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFTag.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_fuchsia.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLPipelineStageCodeGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVariableReference.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SDFMaskFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SkChromeRemoteGlyphCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkCallableTraits.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkTextUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/mac/SkUniqueCFRef.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkDWriteNTDDI_VERSION.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzCommon.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzPathMeasure.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzRegionOp.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzImageFilterDeserialize.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPathDeserialize.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzRegionDeserialize.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzRegionSetPath.cpp -FILE: ../../../flutter/third_party/skia/gm/analytic_gradients.cpp -FILE: ../../../flutter/third_party/skia/gm/androidblendmodes.cpp -FILE: ../../../flutter/third_party/skia/gm/b_119394958.cpp -FILE: ../../../flutter/third_party/skia/gm/clockwise.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_847759.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_884166.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_887103.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_892988.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_899512.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_905548.cpp -FILE: ../../../flutter/third_party/skia/gm/daa.cpp -FILE: ../../../flutter/third_party/skia/gm/drawimageset.cpp -FILE: ../../../flutter/third_party/skia/gm/drawquadset.cpp -FILE: ../../../flutter/third_party/skia/gm/fontregen.cpp -FILE: ../../../flutter/third_party/skia/gm/fwidth_squircle.cpp -FILE: ../../../flutter/third_party/skia/gm/gradients_degenerate.cpp -FILE: ../../../flutter/third_party/skia/gm/hugepath.cpp -FILE: ../../../flutter/third_party/skia/gm/localmatrixshader.cpp -FILE: ../../../flutter/third_party/skia/gm/make_raster_image.cpp -FILE: ../../../flutter/third_party/skia/gm/mandoline.cpp -FILE: ../../../flutter/third_party/skia/gm/orientation.cpp -FILE: ../../../flutter/third_party/skia/gm/p3.cpp -FILE: ../../../flutter/third_party/skia/gm/pathmeasure.cpp -FILE: ../../../flutter/third_party/skia/gm/perspimages.cpp -FILE: ../../../flutter/third_party/skia/gm/polygonoffset.cpp -FILE: ../../../flutter/third_party/skia/gm/scaledemoji.cpp -FILE: ../../../flutter/third_party/skia/gm/scaledemoji_rendering.cpp -FILE: ../../../flutter/third_party/skia/gm/shadermaskfilter.cpp -FILE: ../../../flutter/third_party/skia/gm/sharedcorners.cpp -FILE: ../../../flutter/third_party/skia/gm/trickycubicstrokes.cpp -FILE: ../../../flutter/third_party/skia/gm/unpremul.cpp -FILE: ../../../flutter/third_party/skia/gm/wacky_yuv_formats.cpp -FILE: ../../../flutter/third_party/skia/include/android/SkAnimatedImage.h -FILE: ../../../flutter/third_party/skia/include/core/SkCanvasVirtualEnforcer.h -FILE: ../../../flutter/third_party/skia/include/core/SkContourMeasure.h -FILE: ../../../flutter/third_party/skia/include/core/SkCoverageMode.h -FILE: ../../../flutter/third_party/skia/include/core/SkCubicMap.h -FILE: ../../../flutter/third_party/skia/include/core/SkFontMetrics.h -FILE: ../../../flutter/third_party/skia/include/core/SkFontParameters.h -FILE: ../../../flutter/third_party/skia/include/core/SkFontTypes.h -FILE: ../../../flutter/third_party/skia/include/core/SkSpan.h -FILE: ../../../flutter/third_party/skia/include/effects/SkShaderMaskFilter.h -FILE: ../../../flutter/third_party/skia/include/effects/SkTrimPathEffect.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrBackendDrawableInfo.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_fuchsia.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkMacros.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkSafe32.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkSpan_impl.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkTo.h -FILE: ../../../flutter/third_party/skia/include/private/gpu/vk/SkiaVulkan.h -FILE: ../../../flutter/third_party/skia/include/utils/SkTextUtils.h -FILE: ../../../flutter/third_party/skia/modules/jsonreader/SkJSONReader.cpp -FILE: ../../../flutter/third_party/skia/modules/skcms/skcms.cc -FILE: ../../../flutter/third_party/skia/modules/skcms/src/Transform_inl.h -FILE: ../../../flutter/third_party/skia/modules/skcms/src/skcms_internals.h -FILE: ../../../flutter/third_party/skia/modules/skcms/src/skcms_public.h -FILE: ../../../flutter/third_party/skia/modules/skottie/include/SkottieProperty.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/SkottieJson.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/SkottieJson.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/SkottiePriv.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/SkottieProperty.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/SkottieTest.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/SkottieTool.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/PrecompLayer.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/TextLayer.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/ShapeLayer.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/utils/SkottieUtils.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/utils/SkottieUtils.h -FILE: ../../../flutter/third_party/skia/modules/skresources/src/SkAnimCodecPlayer.cpp -FILE: ../../../flutter/third_party/skia/modules/skresources/src/SkAnimCodecPlayer.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGClipEffect.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGColorFilter.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGGradient.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGImage.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGMaskEffect.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGOpacityEffect.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGPlane.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGScene.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGText.h -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGClipEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGColorFilter.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGGradient.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGImage.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGMaskEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGOpacityEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGPlane.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGScene.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGText.cpp -FILE: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper.cpp -FILE: ../../../flutter/third_party/skia/src/android/SkAnimatedImage.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkTDArray.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkEncodedInfo.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkParseEncodedOrigin.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkWuffsCodec.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCanvasPriv.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkColorSpaceXformSteps.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkColorSpaceXformSteps.h -FILE: ../../../flutter/third_party/skia/src/core/SkContourMeasure.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCubicMap.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDraw_text.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkFontPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkIPoint16.h -FILE: ../../../flutter/third_party/skia/src/core/SkMaskFilterBase.h -FILE: ../../../flutter/third_party/skia/src/core/SkPath_serial.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPicturePriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkRRectPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkRectPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkSafeRange.h -FILE: ../../../flutter/third_party/skia/src/core/SkStrikeCache.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkTextBlobPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkTypeface_remote.h -FILE: ../../../flutter/third_party/skia/src/effects/SkShaderMaskFilterImpl.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkTrimPE.h -FILE: ../../../flutter/third_party/skia/src/effects/SkTrimPathEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrContextThreadSafeProxyPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDDLContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDirectContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDriverBugWorkarounds.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFPArgs.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProxyProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProxyProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrResourceProviderPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceCharacterization.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrSkSLFP.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrSkSLFP.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrYUVtoRGBEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrYUVtoRGBEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuad.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gradients/GrGradientBitmapCache.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gradients/GrGradientBitmapCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gradients/GrGradientShader.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gradients/GrGradientShader.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshBase.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshBase.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshYUVA.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshYUVA.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlAttachment.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlAttachment.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlBuffer.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCppUtil.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlDepthStencil.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlOpsRenderPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlOpsRenderPass.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineState.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineState.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateBuilder.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateDataManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateDataManager.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlResourceProvider.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlSampler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlSampler.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTextureRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTextureRenderTarget.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlUniformHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlUniformHandler.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlVaryingHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlVaryingHandler.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawableOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawableOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillRRectOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillRRectOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillRectOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillRectOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/QuadPerEdgeAA.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/QuadPerEdgeAA.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/StrokeRectOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/StrokeRectOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/text/GrAtlasManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/text/GrAtlasManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCommandPool.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkCommandPool.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkImageLayout.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSamplerYcbcrConversion.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSamplerYcbcrConversion.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTypesPriv.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkTypesPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanAMDMemoryAllocator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanAMDMemoryAllocator.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorWrapper.h -FILE: ../../../flutter/third_party/skia/src/image/SkImage_Lazy.h -FILE: ../../../flutter/third_party/skia/src/opts/SkBitmapProcState_opts.h -FILE: ../../../flutter/third_party/skia/src/opts/SkOpts_hsw.cpp -FILE: ../../../flutter/third_party/skia/src/opts/SkOpts_lasx.cpp -FILE: ../../../flutter/third_party/skia/src/opts/SkOpts_skx.cpp -FILE: ../../../flutter/third_party/skia/src/opts/SkRasterPipeline_opts.h -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsAsWinding.cpp -FILE: ../../../flutter/third_party/skia/src/pathops/SkPathOpsTCurve.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkClusterator.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkClusterator.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFTag.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFTag.h -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_fuchsia.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLPipelineStageCodeGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVariableReference.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SDFMaskFilter.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SkChromeRemoteGlyphCache.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkCallableTraits.h -FILE: ../../../flutter/third_party/skia/src/utils/SkTextUtils.cpp -FILE: ../../../flutter/third_party/skia/src/utils/mac/SkUniqueCFRef.h -FILE: ../../../flutter/third_party/skia/src/utils/win/SkDWriteNTDDI_VERSION.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzEncoders.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzPolyUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/canvaskit_bindings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/pathkit/pathkit_wasm_bindings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/src/skcms_Transform.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/src/skcms_TransformBaseline.cc + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/src/skcms_TransformHsw.cc + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/src/skcms_TransformSkx.cc + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkNoDestructor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGlyph.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkTypeface_remote.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzEncoders.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzPolyUtils.cpp -FILE: ../../../flutter/third_party/skia/modules/canvaskit/canvaskit_bindings.cpp -FILE: ../../../flutter/third_party/skia/modules/pathkit/pathkit_wasm_bindings.cpp -FILE: ../../../flutter/third_party/skia/modules/skcms/src/skcms_Transform.h -FILE: ../../../flutter/third_party/skia/modules/skcms/src/skcms_TransformBaseline.cc -FILE: ../../../flutter/third_party/skia/modules/skcms/src/skcms_TransformHsw.cc -FILE: ../../../flutter/third_party/skia/modules/skcms/src/skcms_TransformSkx.cc -FILE: ../../../flutter/third_party/skia/src/base/SkNoDestructor.h -FILE: ../../../flutter/third_party/skia/src/core/SkGlyph.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkTypeface_remote.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2018 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/docs/SkPDFDocument.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkUTF.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkUTF.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFGlyphUse.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFSubsetFont.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFSubsetFont.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFUnion.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkUUID.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/docs/SkPDFDocument.h -FILE: ../../../flutter/third_party/skia/src/base/SkUTF.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkUTF.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFGlyphUse.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFSubsetFont.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFSubsetFont.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFUnion.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkUUID.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 Google LLC. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzCommon.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAPIImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAndroidCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAnimatedImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzDrawFunctions.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzGradients.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzIncrementalImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzJPEGEncoder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzJSON.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzMockGPUCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzNullCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPNGEncoder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPathMeasure.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPathop.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPolyUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzRasterN32Canvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzTextBlobDeserialize.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzWEBPEncoder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/fuzz/FuzzSkottieJSON.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzCommon.h -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAPIImageFilter.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAndroidCodec.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAnimatedImage.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzDrawFunctions.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzGradients.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzImage.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzIncrementalImage.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzJPEGEncoder.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzJSON.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzMockGPUCanvas.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzNullCanvas.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPNGEncoder.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPathMeasure.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPathop.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPolyUtils.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzRasterN32Canvas.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzTextBlobDeserialize.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzWEBPEncoder.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/fuzz/FuzzSkottieJSON.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2018 Google, LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGlyphRunPainter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkGlyphRunPainter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/GlyphRun.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/GlyphRun.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkGlyphRunPainter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkGlyphRunPainter.h -FILE: ../../../flutter/third_party/skia/src/text/GlyphRun.cpp -FILE: ../../../flutter/third_party/skia/src/text/GlyphRun.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h + ../../../LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkTraceEventPhase.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrDriverBugWorkaroundsAutogen.h -FILE: ../../../flutter/third_party/skia/include/utils/SkTraceEventPhase.h ----------------------------------------------------------------------------------------------------- -Copyright 2018 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/backdrop.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/backdrop_imagefilter_croprect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bug9331.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/clip_sierpinski_region.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/collapsepaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/compositor_quads.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_913349.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_938592.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_947055.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_996140.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/ducky_yuv_blend.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fiddle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/mac_aa_explorer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/mixercolorfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/overdrawcanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/postercircle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug_8664.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug_8955.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/video_decoder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/yuv420_odd_dim.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/GrAHardwareBufferUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkTileMode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrRecordingContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkCFObject.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrContext_Base.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrImageContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/include/TextShaper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Composition.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Composition.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Layer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Layer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/DropShadowEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/Effects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/Effects.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/FillEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/GaussianBlurEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/GradientEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/HueSaturationEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/InvertEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/LevelsEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/LinearWipeEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/MotionTileEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/RadialWipeEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/ShiftChannelsEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/TintEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/TransformEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/TritoneEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/VenetianBlindsEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/FootageLayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/NullLayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/SolidLayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/RangeSelector.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/RangeSelector.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/TextAdapter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/TextAdapter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/TextAnimator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/TextAnimator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/TextShaper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/TextValue.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/TextValue.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGRenderEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGNodePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGRenderEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGTransformPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGText.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGText.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkVx.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkZip.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkScalingCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDescriptor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDraw_atlas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkEffectPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkEnumerate.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathMakers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrikeSpec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkYUVMath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkYUVMath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAHardwareBufferUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBaseContextPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrContextThreadSafeProxy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrContext_Base.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCpuBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDataUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDataUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDirectContextPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrImageContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrImageContextPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRecordingContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRecordingContextPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSPIRVUniformHandler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSPIRVUniformHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSPIRVVaryingHandler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSPIRVVaryingHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCommandBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCommandBuffer.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlDepthStencil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlSemaphore.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/OpsTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/OpsTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/surface/SkSurface_GaneshMtl.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSecondaryCBDrawContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLDefines.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLOutputStream.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/StrikeForGPU.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkCharToGlyphCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkCharToGlyphCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkClipStackUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkClipStackUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkObjBase.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/backdrop.cpp -FILE: ../../../flutter/third_party/skia/gm/backdrop_imagefilter_croprect.cpp -FILE: ../../../flutter/third_party/skia/gm/bug9331.cpp -FILE: ../../../flutter/third_party/skia/gm/clip_sierpinski_region.cpp -FILE: ../../../flutter/third_party/skia/gm/collapsepaths.cpp -FILE: ../../../flutter/third_party/skia/gm/compositor_quads.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_913349.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_938592.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_947055.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_996140.cpp -FILE: ../../../flutter/third_party/skia/gm/ducky_yuv_blend.cpp -FILE: ../../../flutter/third_party/skia/gm/fiddle.cpp -FILE: ../../../flutter/third_party/skia/gm/mac_aa_explorer.cpp -FILE: ../../../flutter/third_party/skia/gm/mixercolorfilter.cpp -FILE: ../../../flutter/third_party/skia/gm/overdrawcanvas.cpp -FILE: ../../../flutter/third_party/skia/gm/postercircle.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug_8664.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug_8955.cpp -FILE: ../../../flutter/third_party/skia/gm/video_decoder.cpp -FILE: ../../../flutter/third_party/skia/gm/yuv420_odd_dim.cpp -FILE: ../../../flutter/third_party/skia/include/android/GrAHardwareBufferUtils.h -FILE: ../../../flutter/third_party/skia/include/core/SkTileMode.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrRecordingContext.h -FILE: ../../../flutter/third_party/skia/include/ports/SkCFObject.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/GrVkSecondaryCBDrawContext.h -FILE: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrContext_Base.h -FILE: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrImageContext.h -FILE: ../../../flutter/third_party/skia/modules/skottie/include/TextShaper.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Composition.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Composition.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Layer.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Layer.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/DropShadowEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/Effects.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/Effects.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/FillEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/GaussianBlurEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/GradientEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/HueSaturationEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/InvertEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/LevelsEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/LinearWipeEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/MotionTileEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/RadialWipeEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/ShiftChannelsEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/TintEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/TransformEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/TritoneEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/VenetianBlindsEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/FootageLayer.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/NullLayer.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/SolidLayer.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/RangeSelector.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/RangeSelector.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/TextAdapter.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/TextAdapter.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/TextAnimator.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/TextAnimator.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/TextShaper.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/TextValue.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/TextValue.h -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGRenderEffect.h -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGNodePriv.h -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGRenderEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGTransformPriv.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGText.h -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGText.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkVx.h -FILE: ../../../flutter/third_party/skia/src/base/SkZip.h -FILE: ../../../flutter/third_party/skia/src/codec/SkScalingCodec.h -FILE: ../../../flutter/third_party/skia/src/core/SkDescriptor.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDraw_atlas.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkEffectPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkEnumerate.h -FILE: ../../../flutter/third_party/skia/src/core/SkPathMakers.h -FILE: ../../../flutter/third_party/skia/src/core/SkStrikeSpec.h -FILE: ../../../flutter/third_party/skia/src/core/SkYUVMath.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkYUVMath.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrAHardwareBufferUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBaseContextPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrContextThreadSafeProxy.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrContext_Base.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCpuBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDataUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDataUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDirectContextPriv.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrGpuBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrImageContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrImageContextPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRecordingContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRecordingContextPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSPIRVUniformHandler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSPIRVUniformHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSPIRVVaryingHandler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSPIRVVaryingHandler.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCommandBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlCommandBuffer.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlDepthStencil.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlSemaphore.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlSemaphore.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/OpsTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/OpsTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/surface/SkSurface_GaneshMtl.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkSecondaryCBDrawContext.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLDefines.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLOutputStream.cpp -FILE: ../../../flutter/third_party/skia/src/text/StrikeForGPU.h -FILE: ../../../flutter/third_party/skia/src/utils/SkCharToGlyphCache.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkCharToGlyphCache.h -FILE: ../../../flutter/third_party/skia/src/utils/SkClipStackUtils.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkClipStackUtils.h -FILE: ../../../flutter/third_party/skia/src/utils/win/SkObjBase.h ----------------------------------------------------------------------------------------------------- -Copyright 2019 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/asyncrescaleandread.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_908646.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_946965.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/patharcto.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/runtimecolorfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/runtimefunctions.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/runtimeintrinsics.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/runtimeshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug_9319.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkImageFilters.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkRuntimeEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkThreadAnnotations.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/WasmCommon.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/debugger_bindings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/paragraph_bindings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/skottie_bindings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skresources/include/SkResources.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skresources/src/SkResources.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageFilterTypes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageFilterTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkImageFilter_Base.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRuntimeBlender.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRuntimeEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/AsyncReadTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/Swizzle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrClientMappedBufferManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrClientMappedBufferManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCopyRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCopyRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrImageInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPersistentCacheUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProgramInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProgramInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxyView.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureResolveManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureResolveRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureResolveRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTransferFromRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTransferFromRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUtil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWaitRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWaitRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuadBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuadUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuadUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleGLESInterfaceAutogen.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleGLInterfaceAutogen.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleHelpers.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleWebGLInterfaceAutogen.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTypesPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTypesPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkSpecialImage_Ganesh.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockCaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockTypes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkShaderUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkShaderUtils.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/asyncrescaleandread.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_908646.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_946965.cpp -FILE: ../../../flutter/third_party/skia/gm/patharcto.cpp -FILE: ../../../flutter/third_party/skia/gm/runtimecolorfilter.cpp -FILE: ../../../flutter/third_party/skia/gm/runtimefunctions.cpp -FILE: ../../../flutter/third_party/skia/gm/runtimeintrinsics.cpp -FILE: ../../../flutter/third_party/skia/gm/runtimeshader.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug_9319.cpp -FILE: ../../../flutter/third_party/skia/include/effects/SkImageFilters.h -FILE: ../../../flutter/third_party/skia/include/effects/SkRuntimeEffect.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLAssembleHelpers.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkThreadAnnotations.h -FILE: ../../../flutter/third_party/skia/modules/canvaskit/WasmCommon.h -FILE: ../../../flutter/third_party/skia/modules/canvaskit/debugger_bindings.cpp -FILE: ../../../flutter/third_party/skia/modules/canvaskit/paragraph_bindings.cpp -FILE: ../../../flutter/third_party/skia/modules/canvaskit/skottie_bindings.cpp -FILE: ../../../flutter/third_party/skia/modules/skresources/include/SkResources.h -FILE: ../../../flutter/third_party/skia/modules/skresources/src/SkResources.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkImageFilterTypes.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkImageFilterTypes.h -FILE: ../../../flutter/third_party/skia/src/core/SkImageFilter_Base.h -FILE: ../../../flutter/third_party/skia/src/core/SkRuntimeBlender.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRuntimeEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/AsyncReadTypes.h -FILE: ../../../flutter/third_party/skia/src/gpu/Swizzle.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrClientMappedBufferManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrClientMappedBufferManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCopyRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCopyRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrImageInfo.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPersistentCacheUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProgramInfo.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrProgramInfo.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxyView.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureResolveManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureResolveRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTextureResolveRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTransferFromRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrTransferFromRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUtil.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWaitRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWaitRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuadBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuadUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrQuadUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleGLESInterfaceAutogen.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleGLInterfaceAutogen.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleHelpers.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLAssembleWebGLInterfaceAutogen.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTypesPriv.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLTypesPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkSpecialImage_Ganesh.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockCaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockTypes.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkShaderUtils.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkShaderUtils.h ----------------------------------------------------------------------------------------------------- -Copyright 2019 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/DartTypes.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/FontArguments.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/FontCollection.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/Metrics.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/Paragraph.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/ParagraphBuilder.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/ParagraphCache.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/ParagraphPainter.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/ParagraphStyle.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/TextShadow.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/TextStyle.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/include/TypefaceFontProvider.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/slides/ParagraphSlide.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/FontArguments.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/FontCollection.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/Iterators.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/OneLineShaper.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/OneLineShaper.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphBuilderImpl.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphBuilderImpl.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphCache.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphImpl.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphImpl.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphPainterImpl.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphPainterImpl.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphStyle.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/Run.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/Run.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/TextLine.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/TextLine.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/TextShadow.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/TextStyle.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/TextWrapper.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/TextWrapper.h -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/TypefaceFontProvider.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/utils/TestFontCollection.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/utils/TestFontCollection.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/DartTypes.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/FontArguments.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/FontCollection.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/Metrics.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/Paragraph.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/ParagraphBuilder.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/ParagraphCache.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/ParagraphPainter.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/ParagraphStyle.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/TextShadow.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/TextStyle.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/include/TypefaceFontProvider.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/slides/ParagraphSlide.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/FontArguments.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/FontCollection.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/Iterators.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/OneLineShaper.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/OneLineShaper.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphBuilderImpl.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphBuilderImpl.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphCache.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphImpl.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphImpl.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphPainterImpl.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphPainterImpl.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/ParagraphStyle.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/Run.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/Run.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/TextLine.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/TextLine.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/TextShadow.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/TextStyle.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/TextWrapper.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/TextWrapper.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/TypefaceFontProvider.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/utils/TestFontCollection.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/utils/TestFontCollection.h ----------------------------------------------------------------------------------------------------- -Copyright 2019 Google LLC. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_918512.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fp_sample_chaining.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fpcoordinateoverride.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/inverseclip.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/labyrinth.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/manypathatlases.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/preservefillrule.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/swizzle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/tilemodes_alpha.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPathTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/bench/ParagraphBench.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/app/editor_application.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/include/editor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/include/stringslice.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/include/stringview.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/editor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/shape.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/shape.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/stringslice.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/word_boundaries.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/word_boundaries.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkContainers.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkMalloc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPixelRefPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasPathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasPathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathInnerTriangulateOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathInnerTriangulateOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TessellationPathRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TessellationPathRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrPathTessellationShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrPathTessellationShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFGraphicStackState.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFGraphicStackState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFType1Font.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/pdf/SkPDFType1Font.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/crbug_918512.cpp -FILE: ../../../flutter/third_party/skia/gm/fp_sample_chaining.cpp -FILE: ../../../flutter/third_party/skia/gm/fpcoordinateoverride.cpp -FILE: ../../../flutter/third_party/skia/gm/inverseclip.cpp -FILE: ../../../flutter/third_party/skia/gm/labyrinth.cpp -FILE: ../../../flutter/third_party/skia/gm/manypathatlases.cpp -FILE: ../../../flutter/third_party/skia/gm/preservefillrule.cpp -FILE: ../../../flutter/third_party/skia/gm/swizzle.cpp -FILE: ../../../flutter/third_party/skia/gm/tilemodes_alpha.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkPathTypes.h -FILE: ../../../flutter/third_party/skia/modules/skparagraph/bench/ParagraphBench.cpp -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/app/editor_application.cpp -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/include/editor.h -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/include/stringslice.h -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/include/stringview.h -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/editor.cpp -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/shape.cpp -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/shape.h -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/stringslice.cpp -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/word_boundaries.cpp -FILE: ../../../flutter/third_party/skia/modules/skplaintexteditor/src/word_boundaries.h -FILE: ../../../flutter/third_party/skia/src/base/SkContainers.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkMalloc.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPixelRefPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasPathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasPathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathInnerTriangulateOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathInnerTriangulateOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TessellationPathRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/TessellationPathRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrPathTessellationShader.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrPathTessellationShader.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFGraphicStackState.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFGraphicStackState.h -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFType1Font.cpp -FILE: ../../../flutter/third_party/skia/src/pdf/SkPDFType1Font.h ----------------------------------------------------------------------------------------------------- -Copyright 2019 Google LLC. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2GLSL.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2Metal.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2Pipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2SPIRV.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkDescriptorDeserialize.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2GLSL.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2Metal.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2Pipeline.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2SPIRV.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkDescriptorDeserialize.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2019 Google, LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkStrikeSpec.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkStrikeSpec.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2019 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzSkParagraph.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/3d.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bc1_transparency.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/bicubic.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/compressed_textures.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1073670.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1086705.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1113794.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/exoticformats.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/rsxtext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug_9819.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/strokerect_anisotropic.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/widebuttcaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkM44.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkSamplingOptions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrDirectContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkTPin.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer_mac.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer_none.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer_oboe.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer_sfml.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/include/ExternalLayer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Adapter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Camera.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Camera.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Path.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Transform.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/Transform.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/Animator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/Animator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/KeyframeAnimator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/KeyframeAnimator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/ScalarKeyframeAnimator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/ShapeKeyframeAnimator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/TextKeyframeAnimator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/Vec2KeyframeAnimator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/VectorKeyframeAnimator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/animator/VectorKeyframeAnimator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/BlackAndWhiteEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/BrightnessContrastEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/CornerPinEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/DisplacementMapEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/GlowStyles.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/ShadowStyles.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/AudioLayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Ellipse.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/FillStroke.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Gradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/MergePaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/OffsetPaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Polystar.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/PuckerBloat.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Rectangle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Repeater.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/RoundCorners.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/ShapeLayer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/TrimPaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/gm/simple_gm.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/include/SkSGGeometryEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/sksg/src/SkSGGeometryEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_coretext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFe.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeBlend.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeColorMatrix.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeComposite.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeDisplacementMap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeFlood.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeGaussianBlur.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeLighting.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeMorphology.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeOffset.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeTurbulence.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFilterContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFe.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeBlend.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeColorMatrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeComposite.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeDisplacementMap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeFlood.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeGaussianBlur.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeLighting.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeMorphology.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeOffset.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeTurbulence.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFilterContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGTextPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/utils/SvgTool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorFilterPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCompressedDataUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCompressedDataUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkM44.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMemset_opts_erms.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMipmapBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSamplingPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkVerticesPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDynamicAtlas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDynamicAtlas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrEagerVertexAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrHashMapWithCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRecordingContextPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrThreadSafeCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrThreadSafeCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrAATriangulator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrAATriangulator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockOpTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawAtlasPathOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawAtlasPathOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelperWithStencil.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelperWithStencil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathAtlasMgr.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathAtlasMgr.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathShapeData.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathShapeData.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/MiddleOutPolygonTriangulator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/StrokeIterator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/WangsFormula.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkScalerContext_mac_ct.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_mac_ct.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SubRunControl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SubRunControl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/mac/SkCGBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/mac/SkCGGeometry.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/mac/SkCTFont.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/mac/SkCTFont.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzSkParagraph.cpp -FILE: ../../../flutter/third_party/skia/gm/3d.cpp -FILE: ../../../flutter/third_party/skia/gm/bc1_transparency.cpp -FILE: ../../../flutter/third_party/skia/gm/bicubic.cpp -FILE: ../../../flutter/third_party/skia/gm/compressed_textures.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1073670.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1086705.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1113794.cpp -FILE: ../../../flutter/third_party/skia/gm/exoticformats.cpp -FILE: ../../../flutter/third_party/skia/gm/rsxtext.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug_9819.cpp -FILE: ../../../flutter/third_party/skia/gm/strokerect_anisotropic.cpp -FILE: ../../../flutter/third_party/skia/gm/widebuttcaps.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkM44.h -FILE: ../../../flutter/third_party/skia/include/core/SkSamplingOptions.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrDirectContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlBackendContext.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkTPin.h -FILE: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer.cpp -FILE: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer.h -FILE: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer_mac.mm -FILE: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer_none.cpp -FILE: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer_oboe.cpp -FILE: ../../../flutter/third_party/skia/modules/audioplayer/SkAudioPlayer_sfml.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/include/ExternalLayer.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Adapter.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Camera.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Camera.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Path.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Transform.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/Transform.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/Animator.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/Animator.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/KeyframeAnimator.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/KeyframeAnimator.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/ScalarKeyframeAnimator.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/ShapeKeyframeAnimator.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/TextKeyframeAnimator.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/Vec2KeyframeAnimator.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/VectorKeyframeAnimator.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/animator/VectorKeyframeAnimator.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/BlackAndWhiteEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/BrightnessContrastEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/CornerPinEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/DisplacementMapEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/GlowStyles.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/ShadowStyles.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/AudioLayer.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Ellipse.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/FillStroke.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Gradient.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/MergePaths.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/OffsetPaths.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Polystar.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/PuckerBloat.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Rectangle.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/Repeater.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/RoundCorners.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/ShapeLayer.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/layers/shapelayer/TrimPaths.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/gm/simple_gm.cpp -FILE: ../../../flutter/third_party/skia/modules/sksg/include/SkSGGeometryEffect.h -FILE: ../../../flutter/third_party/skia/modules/sksg/src/SkSGGeometryEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_coretext.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFe.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeBlend.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeColorMatrix.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeComposite.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeDisplacementMap.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeFlood.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeGaussianBlur.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeLighting.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeMorphology.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeOffset.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeTurbulence.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFilter.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFilterContext.h -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFe.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeBlend.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeColorMatrix.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeComposite.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeDisplacementMap.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeFlood.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeGaussianBlur.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeLighting.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeMorphology.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeOffset.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeTurbulence.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFilter.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFilterContext.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGTextPriv.h -FILE: ../../../flutter/third_party/skia/modules/svg/utils/SvgTool.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkColorFilterPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkCompressedDataUtils.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCompressedDataUtils.h -FILE: ../../../flutter/third_party/skia/src/core/SkM44.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMemset_opts_erms.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMipmapBuilder.h -FILE: ../../../flutter/third_party/skia/src/core/SkSamplingPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkVerticesPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDynamicAtlas.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDynamicAtlas.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrEagerVertexAllocator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrHashMapWithCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRecordingContextPriv.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrThreadSafeCache.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrThreadSafeCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrAATriangulator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrAATriangulator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockOpTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawAtlasPathOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawAtlasPathOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelperWithStencil.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelperWithStencil.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathAtlasMgr.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathAtlasMgr.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathShapeData.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/SmallPathShapeData.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/MiddleOutPolygonTriangulator.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/StrokeIterator.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/WangsFormula.h -FILE: ../../../flutter/third_party/skia/src/ports/SkScalerContext_mac_ct.h -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_mac_ct.h -FILE: ../../../flutter/third_party/skia/src/text/gpu/SubRunControl.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SubRunControl.h -FILE: ../../../flutter/third_party/skia/src/utils/mac/SkCGBase.h -FILE: ../../../flutter/third_party/skia/src/utils/mac/SkCGGeometry.h -FILE: ../../../flutter/third_party/skia/src/utils/mac/SkCTFont.cpp -FILE: ../../../flutter/third_party/skia/src/utils/mac/SkCTFont.h ----------------------------------------------------------------------------------------------------- -Copyright 2020 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/animated_image_orientation.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1041204.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1139750.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1156804.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1162942.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_224618.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/encode_color_types.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/kawase_blur_rt.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/userfont.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/ycbcrimage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkYUVAInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkYUVAPixmaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrYUVABackendTextures.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/d3d/GrD3DTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkImageGeneratorNDK.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkIDChangeListener.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkSLSampleUsage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkASAN.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkCustomTypeface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/gm_bindings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/viewer_bindings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/wasm_tools/SIMD/simd_float_capabilities.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/wasm_tools/SIMD/simd_int_capabilities.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBlockAllocator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBlockAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkIDChangeListener.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRuntimeEffectPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkYUVAInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkYUVAPixmaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/GpuRefCnt.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ClipStack.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ClipStack.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendSemaphore.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDDLTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDDLTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrManagedResource.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPixmap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRingBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRingBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStagingBufferManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStagingBufferManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUniformDataManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUniformDataManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUtil.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrYUVABackendTextures.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/StencilMaskHelper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/StencilMaskHelper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DAMDMemoryAllocator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DAMDMemoryAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DAttachment.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DAttachment.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCommandList.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCommandList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCommandSignature.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCommandSignature.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCpuDescriptorManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCpuDescriptorManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DDescriptorHeap.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DDescriptorHeap.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DDescriptorTableManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DDescriptorTableManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DGpu.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DGpu.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DOpsRenderPass.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DOpsRenderPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineState.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineStateBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineStateBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineStateDataManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DRenderTarget.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DResourceProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DResourceState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DRootSignature.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DRootSignature.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DSemaphore.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTextureRenderTarget.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTextureRenderTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTextureResource.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTextureResource.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTypesMinimal.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTypesPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DUtil.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DUtil.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrMatrixEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrMatrixEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrShape.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrShape.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/webgl/GrGLMakeNativeInterface_webgl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLUniformHandler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasInstancedHelper.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkMSAALoadManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkMSAALoadManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkManagedResource.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkRescaleAndReadPixels.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkRescaleAndReadPixels.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkImageEncoder_NDK.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkImageGeneratorNDK.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkNDKConversions.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkNDKConversions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLAnalysis.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLConstantFolder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLConstantFolder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLInliner.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLInliner.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLMemoryPool.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLPool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLPool.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLSampleUsage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLHLSLCodeGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLHLSLCodeGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVtoHLSL.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVtoHLSL.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionPrototype.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifiers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPrefixExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLStructDefinition.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkCustomTypeface.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/animated_image_orientation.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1041204.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1139750.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1156804.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1162942.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_224618.cpp -FILE: ../../../flutter/third_party/skia/gm/encode_color_types.cpp -FILE: ../../../flutter/third_party/skia/gm/kawase_blur_rt.cpp -FILE: ../../../flutter/third_party/skia/gm/userfont.cpp -FILE: ../../../flutter/third_party/skia/gm/ycbcrimage.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkYUVAInfo.h -FILE: ../../../flutter/third_party/skia/include/core/SkYUVAPixmaps.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrYUVABackendTextures.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/d3d/GrD3DBackendContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/d3d/GrD3DTypes.h -FILE: ../../../flutter/third_party/skia/include/ports/SkImageGeneratorNDK.h -FILE: ../../../flutter/third_party/skia/include/private/SkIDChangeListener.h -FILE: ../../../flutter/third_party/skia/include/private/SkSLSampleUsage.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkASAN.h -FILE: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h -FILE: ../../../flutter/third_party/skia/include/utils/SkCustomTypeface.h -FILE: ../../../flutter/third_party/skia/modules/canvaskit/gm_bindings.cpp -FILE: ../../../flutter/third_party/skia/modules/canvaskit/viewer_bindings.cpp -FILE: ../../../flutter/third_party/skia/modules/canvaskit/wasm_tools/SIMD/simd_float_capabilities.cpp -FILE: ../../../flutter/third_party/skia/modules/canvaskit/wasm_tools/SIMD/simd_int_capabilities.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode.h -FILE: ../../../flutter/third_party/skia/src/base/SkBlockAllocator.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkBlockAllocator.h -FILE: ../../../flutter/third_party/skia/src/core/SkIDChangeListener.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRuntimeEffectPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkYUVAInfo.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkYUVAPixmaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/GpuRefCnt.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ClipStack.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ClipStack.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendSemaphore.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDDLTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDDLTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrManagedResource.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPixmap.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRingBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRingBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStagingBufferManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrStagingBufferManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUniformDataManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUniformDataManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrUtil.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrYUVABackendTextures.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/StencilMaskHelper.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/StencilMaskHelper.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DAMDMemoryAllocator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DAMDMemoryAllocator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DAttachment.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DAttachment.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCommandList.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCommandList.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCommandSignature.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCommandSignature.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCpuDescriptorManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DCpuDescriptorManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DDescriptorHeap.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DDescriptorHeap.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DDescriptorTableManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DDescriptorTableManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DGpu.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DGpu.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DOpsRenderPass.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DOpsRenderPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineState.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineState.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineStateBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineStateBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DPipelineStateDataManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DRenderTarget.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DResourceProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DResourceState.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DRootSignature.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DRootSignature.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DSemaphore.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DSemaphore.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTextureRenderTarget.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTextureRenderTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTextureResource.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTextureResource.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTypesMinimal.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTypesPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DUtil.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DUtil.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrMatrixEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrMatrixEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrShape.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrShape.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/webgl/GrGLMakeNativeInterface_webgl.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/glsl/GrGLSLUniformHandler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasInstancedHelper.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkMSAALoadManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkMSAALoadManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkManagedResource.h -FILE: ../../../flutter/third_party/skia/src/image/SkRescaleAndReadPixels.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkRescaleAndReadPixels.h -FILE: ../../../flutter/third_party/skia/src/ports/SkImageEncoder_NDK.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkImageGeneratorNDK.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkNDKConversions.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkNDKConversions.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLAnalysis.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLConstantFolder.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLConstantFolder.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLInliner.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLInliner.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLMemoryPool.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLPool.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLPool.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLSampleUsage.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLHLSLCodeGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLHLSLCodeGenerator.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVtoHLSL.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVtoHLSL.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionPrototype.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifiers.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPrefixExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLStructDefinition.h -FILE: ../../../flutter/third_party/skia/src/utils/SkCustomTypeface.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2020 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/Decorations.cpp -ORIGIN: ../../../flutter/third_party/skia/modules/skparagraph/src/Decorations.h -TYPE: LicenseType.unknown -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/Decorations.cpp -FILE: ../../../flutter/third_party/skia/modules/skparagraph/src/Decorations.h ----------------------------------------------------------------------------------------------------- -Copyright 2020 Google LLC. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/clear_swizzle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/gpu_blur_utils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLFinishCallbacks.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLFinishCallbacks.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/StrokeTessellateOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/StrokeTessellateOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrStrokeTessellationShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrStrokeTessellationShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrTessellationShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLAnalysis.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructor.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/clear_swizzle.cpp -FILE: ../../../flutter/third_party/skia/gm/gpu_blur_utils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLFinishCallbacks.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLFinishCallbacks.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/StrokeTessellateOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/StrokeTessellateOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrStrokeTessellationShader.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrStrokeTessellationShader.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrTessellationShader.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLAnalysis.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructor.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2020 Google LLC. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzCreateDDL.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzPath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzRRect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAPICreateDDL.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAPISVGCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKP.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSVG.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkRuntimeEffect.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzCreateDDL.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzPath.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzRRect.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAPICreateDDL.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzAPISVGCanvas.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKP.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSVG.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkRuntimeEffect.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2020 Google, LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzDDLThreading.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/aarecteffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/colorspace.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/colrv1.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/drawglyphs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/largeclippedpath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/skbug_12212.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/slug.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/utils/SkOrderedFontMgr.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Canvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/ColorFilters.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Gradients.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Image.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/ImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/JetSki.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Matrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Paint.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Path.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/PathBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/RuntimeShaderBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Shader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/SkottieAnimation.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Surface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Surface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/SurfaceThread.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/SurfaceThread.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Utils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jetski/src/Utils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/BulgeEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/CCTonerEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/DirectionalBlur.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/FractalNoiseEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/SharpenEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/SkSLEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/SphereEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/effects/ThresholdEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu_builtin.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu_runtime.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icupriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeImage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeLightSource.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGImage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGMask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeLightSource.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGImage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGMask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegxlCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegxlCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawIndirectCommand.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTaskCluster.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTaskCluster.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrThreadSafePipelineBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrThreadSafePipelineBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockSurfaceProxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlFramebuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlFramebuffer.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlRenderCommandEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTypesPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Buffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Buffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/BufferManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/BufferManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBlitCommandEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBuffer.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlGraphiteUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlRenderCommandEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/mtl/MtlUtils.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/CullTest.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/Tessellation.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkTransformShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkTransformShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLGLSL.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/TransitionTable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/lex/TransitionTable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkOrderedFontMgr.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzDDLThreading.cpp -FILE: ../../../flutter/third_party/skia/gm/aarecteffect.cpp -FILE: ../../../flutter/third_party/skia/gm/colorspace.cpp -FILE: ../../../flutter/third_party/skia/gm/colrv1.cpp -FILE: ../../../flutter/third_party/skia/gm/drawglyphs.cpp -FILE: ../../../flutter/third_party/skia/gm/largeclippedpath.cpp -FILE: ../../../flutter/third_party/skia/gm/skbug_12212.cpp -FILE: ../../../flutter/third_party/skia/gm/slug.cpp -FILE: ../../../flutter/third_party/skia/include/utils/SkOrderedFontMgr.h -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Canvas.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/ColorFilters.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Gradients.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Image.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/ImageFilter.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/JetSki.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Matrix.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Paint.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Path.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/PathBuilder.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/RuntimeShaderBuilder.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Shader.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/SkottieAnimation.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Surface.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Surface.h -FILE: ../../../flutter/third_party/skia/modules/jetski/src/SurfaceThread.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/SurfaceThread.h -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Utils.cpp -FILE: ../../../flutter/third_party/skia/modules/jetski/src/Utils.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/BulgeEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/CCTonerEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/DirectionalBlur.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/FractalNoiseEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/SharpenEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/SkSLEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/SphereEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/effects/ThresholdEffect.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu_builtin.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu_runtime.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icupriv.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeImage.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeLightSource.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGImage.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGMask.h -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeImage.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeLightSource.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGImage.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGMask.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegxlCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegxlCodec.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDrawIndirectCommand.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTaskCluster.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrRenderTaskCluster.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrThreadSafePipelineBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrThreadSafePipelineBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockSurfaceProxy.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlFramebuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlFramebuffer.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlPipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlRenderCommandEncoder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTypesPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Buffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Buffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/BufferManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/BufferManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBlitCommandEncoder.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBuffer.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlGraphiteUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlRenderCommandEncoder.h -FILE: ../../../flutter/third_party/skia/src/gpu/mtl/MtlUtils.mm -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/CullTest.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/Tessellation.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkTransformShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkTransformShader.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLGLSL.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/lex/TransitionTable.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/lex/TransitionTable.h -FILE: ../../../flutter/third_party/skia/src/utils/SkOrderedFontMgr.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2021 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/attributes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/composecolorfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1167277.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1174186.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1174354.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1177833.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1257515.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crop_imagefilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fillrect_gradient.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/graphitestart.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/hardstop_gradients_many.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/lazytiling.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/mesh.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkBlender.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkMesh.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/effects/SkBlenders.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ShaderErrorHandler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/BackendTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/Context.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/GraphiteTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/Recorder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/Recording.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/TextureInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlBackendContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/Slug.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/paragraph_bindings_gen.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkEnumBitMask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlendModeBlender.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlendModeBlender.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlenderBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMatrixInvert.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMatrixInvert.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMesh.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMeshPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkYUVAInfoLocation.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkBlenders.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkCropImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkRuntimeImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/KeyBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ResourceKey.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ShaderErrorHandler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/SkRenderEngineAbortf.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDstProxyView.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrEagerVertexAllocator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMeshDrawTarget.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMeshDrawTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpsTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPersistentCacheUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWritePixelsRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWritePixelsRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrYUVATextureProxies.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrYUVATextureProxies.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceFillContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceFillContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTypesPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrInnerFanTriangulator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/egl/GrGLMakeNativeInterface_egl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/glx/GrGLMakeNativeInterface_glx.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockTypesPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTypesPriv.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawMeshOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawMeshOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillPathFlags.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Attribute.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/BackendTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Caps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Caps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/CommandBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/CommandBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Context.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ContextPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ContextUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ContextUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Device.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Device.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawList.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawOrder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawPass.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawWriter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawWriter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GpuWorkSubmission.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GraphicsPipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GraphicsPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GraphicsPipelineDesc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Image_Graphite.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Image_Graphite.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Recorder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Recording.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Renderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/SharedContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/SharedContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Surface_Graphite.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Surface_Graphite.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Texture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Texture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureProxy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureProxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Uniform.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/UniformManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/UniformManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/BoundsManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/IntersectionTree.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/IntersectionTree.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Rect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Shape.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Shape.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Transform.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Transform.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlCaps.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlCommandBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlCommandBuffer.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlGraphicsPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlGraphicsPipeline.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlGraphiteUtils.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlResourceProvider.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlSharedContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlSharedContext.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlTexture.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/CopyTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/CopyTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/RenderPassTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/RenderPassTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/Task.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/TaskList.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/TaskList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/mtl/MtlMemoryAllocatorImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/mtl/MtlMemoryAllocatorImpl.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/mtl/MtlUtilsPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLBuiltinTypes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLBuiltinTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLIntrinsicList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLMangler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLOperator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLOperator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLCanExitWithoutReturningValue.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLCheckProgramStructure.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLGetLoopUnrollInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLIsConstantExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLProgramUsage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLProgramVisitor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLSwitchCaseContainsExit.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLSymbolTableStackBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBinaryExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBlock.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLChildCall.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLChildCall.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorArray.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorArray.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorArrayCast.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorArrayCast.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorCompound.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorCompound.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorCompoundCast.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorCompoundCast.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorDiagonalMatrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorDiagonalMatrix.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorMatrixResize.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorMatrixResize.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorScalarCast.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorScalarCast.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorSplat.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorSplat.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorStruct.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorStruct.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLDoStatement.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExpressionStatement.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFieldAccess.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLForStatement.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionCall.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionDefinition.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIfStatement.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIndexExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLMethodReference.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPostfixExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwitchStatement.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwizzle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLTernaryExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLTypeReference.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVarDeclarations.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLDebugTracePlayer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLDebugTracePlayer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLDebugTracePriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLDebugTracePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateDeadFunctions.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateDeadGlobalVariables.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateDeadLocalVariables.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateUnreachableCode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLProgramWriter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLReplaceConstVarsWithLiterals.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/Slug.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SubRunAllocator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SubRunAllocator.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/attributes.cpp -FILE: ../../../flutter/third_party/skia/gm/composecolorfilter.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1167277.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1174186.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1174354.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1177833.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1257515.cpp -FILE: ../../../flutter/third_party/skia/gm/crop_imagefilter.cpp -FILE: ../../../flutter/third_party/skia/gm/fillrect_gradient.cpp -FILE: ../../../flutter/third_party/skia/gm/graphitestart.cpp -FILE: ../../../flutter/third_party/skia/gm/hardstop_gradients_many.cpp -FILE: ../../../flutter/third_party/skia/gm/lazytiling.cpp -FILE: ../../../flutter/third_party/skia/gm/mesh.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkBlender.h -FILE: ../../../flutter/third_party/skia/include/core/SkMesh.h -FILE: ../../../flutter/third_party/skia/include/effects/SkBlenders.h -FILE: ../../../flutter/third_party/skia/include/gpu/ShaderErrorHandler.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/egl/GrGLMakeEGLInterface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/glx/GrGLMakeGLXInterface.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/BackendTexture.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/Context.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/GraphiteTypes.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/Recorder.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/Recording.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/TextureInfo.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlBackendContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/Slug.h -FILE: ../../../flutter/third_party/skia/modules/canvaskit/paragraph_bindings_gen.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkEnumBitMask.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlendModeBlender.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlendModeBlender.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlenderBase.h -FILE: ../../../flutter/third_party/skia/src/core/SkMatrixInvert.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMatrixInvert.h -FILE: ../../../flutter/third_party/skia/src/core/SkMesh.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMeshPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkYUVAInfoLocation.h -FILE: ../../../flutter/third_party/skia/src/effects/SkBlenders.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkCropImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkRuntimeImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/KeyBuilder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ResourceKey.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ShaderErrorHandler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/SkRenderEngineAbortf.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDstProxyView.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrEagerVertexAllocator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMeshDrawTarget.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMeshDrawTarget.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrOpsTypes.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPersistentCacheUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWritePixelsRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrWritePixelsRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrYUVATextureProxies.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrYUVATextureProxies.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceFillContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SurfaceFillContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/d3d/GrD3DTypesPriv.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/geometry/GrInnerFanTriangulator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/egl/GrGLMakeNativeInterface_egl.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/glx/GrGLMakeNativeInterface_glx.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mock/GrMockTypesPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlTypesPriv.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawMeshOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/DrawMeshOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/FillPathFlags.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Attribute.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/BackendTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Caps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Caps.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/CommandBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/CommandBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Context.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ContextPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ContextUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ContextUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Device.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Device.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawList.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawList.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawOrder.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawPass.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawTypes.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawWriter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawWriter.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GpuWorkSubmission.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GraphicsPipeline.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GraphicsPipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GraphicsPipelineDesc.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Image_Graphite.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Image_Graphite.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Recorder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Recording.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Renderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceTypes.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/SharedContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/SharedContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Surface_Graphite.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Surface_Graphite.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Texture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Texture.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureInfo.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureProxy.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureProxy.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Uniform.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/UniformManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/UniformManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/BoundsManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/IntersectionTree.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/IntersectionTree.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Rect.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Shape.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Shape.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Transform.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Transform.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlCaps.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlCommandBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlCommandBuffer.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlGraphicsPipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlGraphicsPipeline.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlGraphiteUtils.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlResourceProvider.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlSharedContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlSharedContext.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlTexture.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/CopyTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/CopyTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/RenderPassTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/RenderPassTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/Task.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/TaskList.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/TaskList.h -FILE: ../../../flutter/third_party/skia/src/gpu/mtl/MtlMemoryAllocatorImpl.h -FILE: ../../../flutter/third_party/skia/src/gpu/mtl/MtlMemoryAllocatorImpl.mm -FILE: ../../../flutter/third_party/skia/src/gpu/mtl/MtlUtilsPriv.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLBuiltinTypes.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLBuiltinTypes.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLContext.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLIntrinsicList.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLMangler.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLOperator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLOperator.h -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLCanExitWithoutReturningValue.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLCheckProgramStructure.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLGetLoopUnrollInfo.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLIsConstantExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLProgramUsage.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLProgramVisitor.h -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLSwitchCaseContainsExit.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLSymbolTableStackBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBinaryExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLBlock.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLChildCall.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLChildCall.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorArray.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorArray.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorArrayCast.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorArrayCast.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorCompound.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorCompound.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorCompoundCast.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorCompoundCast.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorDiagonalMatrix.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorDiagonalMatrix.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorMatrixResize.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorMatrixResize.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorScalarCast.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorScalarCast.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorSplat.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorSplat.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorStruct.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLConstructorStruct.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLDoStatement.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExpressionStatement.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFieldAccess.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLForStatement.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionCall.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionDefinition.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIfStatement.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIndexExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLMethodReference.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPostfixExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwitchStatement.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwizzle.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLTernaryExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLTypeReference.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVarDeclarations.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLDebugTracePlayer.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLDebugTracePlayer.h -FILE: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLDebugTracePriv.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLDebugTracePriv.h -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateDeadFunctions.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateDeadGlobalVariables.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateDeadLocalVariables.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateUnreachableCode.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLProgramWriter.h -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLReplaceConstVarsWithLiterals.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/Slug.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SubRunAllocator.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SubRunAllocator.h ----------------------------------------------------------------------------------------------------- -Copyright 2021 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/batchedconvexpaths.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/destcolor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/SkChromeRemoteGlyphCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/sksl/SkSLDebugTrace.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkStringView.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrVertexChunkArray.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrVertexChunkArray.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasInstancedHelper.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathStencilCoverOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathStencilCoverOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathTessellateOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathTessellateOp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrTessellationShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/AffineMatrix.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/PatchWriter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/Tessellation.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLErrorReporter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLErrorReporter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLIntrinsicList.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLMangler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLParser.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLParser.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLPosition.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLProgramKind.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionDeclaration.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifierFlags.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPoison.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVariable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinVariables.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLTransform.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/batchedconvexpaths.cpp -FILE: ../../../flutter/third_party/skia/gm/destcolor.cpp -FILE: ../../../flutter/third_party/skia/include/private/chromium/SkChromeRemoteGlyphCache.h -FILE: ../../../flutter/third_party/skia/include/sksl/SkSLDebugTrace.h -FILE: ../../../flutter/third_party/skia/src/base/SkStringView.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrVertexChunkArray.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrVertexChunkArray.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/AtlasInstancedHelper.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathStencilCoverOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathStencilCoverOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathTessellateOp.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/ops/PathTessellateOp.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/GrTessellationShader.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/AffineMatrix.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/PatchWriter.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/Tessellation.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLErrorReporter.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLErrorReporter.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLIntrinsicList.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLMangler.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLParser.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLParser.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLPosition.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLProgramKind.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLFunctionDeclaration.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifierFlags.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLPoison.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLVariable.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinVariables.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLTransform.h ----------------------------------------------------------------------------------------------------- -Copyright 2021 Google LLC. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzTriangulation.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzDDLThreading.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzRegionOp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkParagraph.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzTriangulation.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzTriangulation.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzDDLThreading.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzRegionOp.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkParagraph.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzTriangulation.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2021 Google, LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: libjxl -ORIGIN: ../../../flutter/third_party/skia/third_party/libjxl/jxl/jxl_export.h + ../../../LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/third_party/libjxl/jxl/jxl_export.h ----------------------------------------------------------------------------------------------------- -Copyright 2021 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/drawlines_with_local_matrix.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/mirrortile.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/nearesthalfpixelimage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/palette.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkOpenTypeSVGDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/mtl/MtlMemoryAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/BlendModes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/Font.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/text/Font.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/utils/TextEditor.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/utils/TextEditor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_client.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_libgrapheme.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGOpenTypeSVGDecoder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkAvifCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkAvifCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlComputeCommandEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_hmtx.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLRasterPipelineBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLRasterPipelineBuilder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLWGSLCodeGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLWGSLCodeGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLDiscardStatement.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLInterfaceBlock.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLLayout.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLLiteral.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SDFMaskFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkGetExecutablePath.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkGetExecutablePath_linux.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkGetExecutablePath_mac.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/SkGetExecutablePath_win.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/drawlines_with_local_matrix.cpp -FILE: ../../../flutter/third_party/skia/gm/mirrortile.cpp -FILE: ../../../flutter/third_party/skia/gm/nearesthalfpixelimage.cpp -FILE: ../../../flutter/third_party/skia/gm/palette.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkOpenTypeSVGDecoder.h -FILE: ../../../flutter/third_party/skia/include/gpu/mtl/MtlMemoryAllocator.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/BlendModes.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/Font.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/src/text/Font.h -FILE: ../../../flutter/third_party/skia/modules/skottie/utils/TextEditor.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/utils/TextEditor.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_client.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_libgrapheme.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGOpenTypeSVGDecoder.h -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGOpenTypeSVGDecoder.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkAvifCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkAvifCodec.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlComputeCommandEncoder.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_hmtx.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLRasterPipelineBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLRasterPipelineBuilder.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLWGSLCodeGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLWGSLCodeGenerator.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLDiscardStatement.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLInterfaceBlock.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLLayout.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLLiteral.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SDFMaskFilter.h -FILE: ../../../flutter/third_party/skia/src/utils/SkGetExecutablePath.h -FILE: ../../../flutter/third_party/skia/src/utils/SkGetExecutablePath_linux.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkGetExecutablePath_mac.cpp -FILE: ../../../flutter/third_party/skia/src/utils/SkGetExecutablePath_win.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2022 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/bug12866.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/crbug_1313579.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkAlphaType.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkCapabilities.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkColorType.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPathUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/GpuTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/ContextOptions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/ImageProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/dawn/DawnBackendContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/dawn/DawnTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/dawn/DawnUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlGraphiteTypesUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/vk/VulkanBackendContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkAPI.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkAlign.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkAlignedStorage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkAssert.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkAttributes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkDebug.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkFeatures.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkLoadUserConfig.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkTypeTraits.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/sksl/SkSLVersion.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu_bidi.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/android/SkAndroidFrameworkPerfettoStaticStorage.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCapabilities.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDebugUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathEnums.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSLTypeShared.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSLTypeShared.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkGaussianColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/AtlasTypes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/AtlasTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/RefCntedCallback.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/SkBackingFit.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferTransferRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferTransferRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferUpdateRenderTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferUpdateRenderTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrImageInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxyView.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/TestFormatColorTypeCombination.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/PathTessellator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/PathTessellator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/StrokeTessellator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/StrokeTessellator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/VertexChunkPatchAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/BuiltInCodeSnippetID.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ClientMappedBufferManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ClientMappedBufferManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ClipStack.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ClipStack.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/CommandTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePipelineDesc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ComputeTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawAtlas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawAtlas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawCommands.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DrawParams.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GlobalCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GlobalCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GpuWorkSubmission.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GraphiteResourceKey.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/GraphiteResourceKey.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/KeyContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/KeyContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/KeyHelpers.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/KeyHelpers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Log.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PaintParams.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PaintParams.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PaintParamsKey.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PaintParamsKey.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PipelineData.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PrecompileInternal.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PublicPrecompile.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/QueueManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/QueueManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RecorderPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RecordingPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Renderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RendererProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RendererProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Resource.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Resource.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RuntimeEffectDictionary.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RuntimeEffectDictionary.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Sampler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Sampler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ShaderCodeDictionary.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ShaderCodeDictionary.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/SpecialImage_Graphite.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/SpecialImage_Graphite.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureProxyView.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/UniquePaintParamsID.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/UploadBufferManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/UploadBufferManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnAsyncWait.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnAsyncWait.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnCaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnCommandBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnCommandBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnGraphicsPipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnGraphicsPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnGraphiteUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnQueueManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnQueueManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnResourceProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnSampler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnSampler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnSharedContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnSharedContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Geometry.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/SubRunData.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlComputePipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlComputePipeline.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlQueueManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlQueueManager.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlSampler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlSampler.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PaintOptionsPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileBasePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/AnalyticRRectRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/AnalyticRRectRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/BitmapTextRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/BitmapTextRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/CommonDepthStencilSettings.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/CoverBoundsRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/CoverBoundsRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/DynamicInstancesPatchAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/MiddleOutFanRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/MiddleOutFanRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/SDFTextRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/SDFTextRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateCurvesRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateCurvesRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateStrokesRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateStrokesRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateWedgesRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateWedgesRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/VerticesRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/VerticesRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/ClearBuffersTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/ClearBuffersTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/ComputeTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/ComputeTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/SynchronizeToCpuTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/SynchronizeToCpuTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/UploadTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/UploadTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/text/TextAtlasManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/text/TextAtlasManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanCaps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanCaps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanCommandBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanCommandBuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanGraphiteUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanGraphiteUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanQueueManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanQueueManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanResourceProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanResourceProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanSharedContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanSharedContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/FixedCountBufferUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/FixedCountBufferUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/LinearTolerances.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanUtilsPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkEmptyShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkGradientBaseShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLModuleLoader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLModuleLoader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLFinalizationChecks.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLHasSideEffects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLIsSameExpressionTree.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLIsTrivialExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLNoOpErrorReporter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLProgramUsage.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLProgram.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLAddConstToVarModifiers.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateEmptyStatements.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinFunctions.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLRenamePrivateSymbols.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/StrikeForGPU.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/GlyphVector.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/GlyphVector.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SubRunContainer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SubRunContainer.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/bug12866.cpp -FILE: ../../../flutter/third_party/skia/gm/crbug_1313579.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkAlphaType.h -FILE: ../../../flutter/third_party/skia/include/core/SkCapabilities.h -FILE: ../../../flutter/third_party/skia/include/core/SkColorType.h -FILE: ../../../flutter/third_party/skia/include/core/SkPathUtils.h -FILE: ../../../flutter/third_party/skia/include/gpu/GpuTypes.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/ContextOptions.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/ImageProvider.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/dawn/DawnBackendContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/dawn/DawnTypes.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/dawn/DawnUtils.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlGraphiteTypesUtils.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlGraphiteUtils.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/vk/VulkanGraphiteContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/vk/VulkanGraphiteUtils.h -FILE: ../../../flutter/third_party/skia/include/gpu/vk/VulkanBackendContext.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkAPI.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkAlign.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkAlignedStorage.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkAssert.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkAttributes.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkDebug.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkFeatures.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkLoadUserConfig.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkTypeTraits.h -FILE: ../../../flutter/third_party/skia/include/sksl/SkSLVersion.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu_bidi.cpp -FILE: ../../../flutter/third_party/skia/src/android/SkAndroidFrameworkPerfettoStaticStorage.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCapabilities.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDebugUtils.h -FILE: ../../../flutter/third_party/skia/src/core/SkPathEnums.h -FILE: ../../../flutter/third_party/skia/src/core/SkPathUtils.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSLTypeShared.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSLTypeShared.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkGaussianColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/AtlasTypes.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/AtlasTypes.h -FILE: ../../../flutter/third_party/skia/src/gpu/RefCntedCallback.h -FILE: ../../../flutter/third_party/skia/src/gpu/SkBackingFit.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferTransferRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferTransferRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferUpdateRenderTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBufferUpdateRenderTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrImageInfo.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrSurfaceProxyView.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/TestFormatColorTypeCombination.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/PathTessellator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/PathTessellator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/StrokeTessellator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/StrokeTessellator.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/tessellate/VertexChunkPatchAllocator.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/BuiltInCodeSnippetID.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ClientMappedBufferManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ClientMappedBufferManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ClipStack.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ClipStack.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/CommandTypes.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePipeline.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePipelineDesc.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ComputeTypes.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawAtlas.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawAtlas.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawCommands.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DrawParams.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GlobalCache.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GlobalCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GpuWorkSubmission.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GraphiteResourceKey.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/GraphiteResourceKey.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/KeyContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/KeyContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/KeyHelpers.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/KeyHelpers.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Log.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PaintParams.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PaintParams.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PaintParamsKey.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PaintParamsKey.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PipelineData.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PrecompileInternal.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PublicPrecompile.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/QueueManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/QueueManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RecorderPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RecordingPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Renderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RendererProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RendererProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Resource.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Resource.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceCache.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ResourceCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RuntimeEffectDictionary.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RuntimeEffectDictionary.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Sampler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Sampler.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ShaderCodeDictionary.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ShaderCodeDictionary.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/SpecialImage_Graphite.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/SpecialImage_Graphite.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureProxyView.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/UniquePaintParamsID.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/UploadBufferManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/UploadBufferManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnAsyncWait.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnAsyncWait.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnCaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnCommandBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnCommandBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnGraphicsPipeline.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnGraphicsPipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnGraphiteUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnQueueManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnQueueManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnResourceProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnSampler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnSampler.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnSharedContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnSharedContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/Geometry.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/SubRunData.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlComputePipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlComputePipeline.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlQueueManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlQueueManager.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlSampler.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlSampler.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PaintOptionsPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileBasePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/AnalyticRRectRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/AnalyticRRectRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/BitmapTextRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/BitmapTextRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/CommonDepthStencilSettings.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/CoverBoundsRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/CoverBoundsRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/DynamicInstancesPatchAllocator.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/MiddleOutFanRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/MiddleOutFanRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/SDFTextRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/SDFTextRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateCurvesRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateCurvesRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateStrokesRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateStrokesRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateWedgesRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/TessellateWedgesRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/VerticesRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/VerticesRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/ClearBuffersTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/ClearBuffersTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/ComputeTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/ComputeTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/SynchronizeToCpuTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/SynchronizeToCpuTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/UploadTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/UploadTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/text/TextAtlasManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/text/TextAtlasManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanCaps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanCaps.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanCommandBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanCommandBuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanGraphiteUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanGraphiteUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanQueueManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanQueueManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanResourceProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanResourceProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanSharedContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanSharedContext.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/FixedCountBufferUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/FixedCountBufferUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/LinearTolerances.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanUtilsPriv.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkEmptyShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkGradientBaseShader.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLModuleLoader.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLModuleLoader.h -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLFinalizationChecks.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLHasSideEffects.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLIsSameExpressionTree.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLIsTrivialExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLNoOpErrorReporter.h -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLProgramUsage.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLRasterPipelineCodeGenerator.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLProgram.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLAddConstToVarModifiers.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateEmptyStatements.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinFunctions.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLRenamePrivateSymbols.cpp -FILE: ../../../flutter/third_party/skia/src/text/StrikeForGPU.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/GlyphVector.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/GlyphVector.h -FILE: ../../../flutter/third_party/skia/src/text/gpu/SubRunContainer.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SubRunContainer.h ----------------------------------------------------------------------------------------------------- -Copyright 2022 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/gpu/MutableTextureState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/vk/VulkanExtensions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/vk/VulkanMemoryAllocator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/vk/VulkanTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkContainers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnGraphiteUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/tessellate/MidpointContourParser.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLPosition.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/gpu/MutableTextureState.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/vk/VulkanGraphiteTypes.h -FILE: ../../../flutter/third_party/skia/include/gpu/vk/VulkanExtensions.h -FILE: ../../../flutter/third_party/skia/include/gpu/vk/VulkanMemoryAllocator.h -FILE: ../../../flutter/third_party/skia/include/gpu/vk/VulkanTypes.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkContainers.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnGraphiteUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/tessellate/MidpointContourParser.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLPosition.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2022 Google LLC. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzCOLRv1.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkMeshSpecification.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzCOLRv1.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkMeshSpecification.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2022 Google, LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/coordclampshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fontations.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagefiltersunpremul.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_data.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkTypeface_fontations.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkExif.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkGainmapInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkGainmapShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkJpegGainmapEncoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/SkXmp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skcms/skcms.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/include/SlotManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/src/SlotManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_skunicode.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_hardcoded.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_hardcoded.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu4x.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkExif.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegMultiPicture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegMultiPicture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegSegmentScan.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegSegmentScan.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegSourceMgr.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegSourceMgr.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegXmp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegXmp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkTiffUtility.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkTiffUtility.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkXmp.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMipmapDrawDownSampler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMipmapHQDownSampler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterPipelineContextUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterPipelineOpContexts.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterPipelineOpList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkJpegGainmapEncoder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanImageView.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanImageView.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanYcbcrConversion.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanYcbcrConversion.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_fontations.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_fontations_priv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkGainmapShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExtension.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIRHelpers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifiersDeclaration.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwitchCase.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/coordclampshader.cpp -FILE: ../../../flutter/third_party/skia/gm/fontations.cpp -FILE: ../../../flutter/third_party/skia/gm/imagefiltersunpremul.cpp -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_data.h -FILE: ../../../flutter/third_party/skia/include/ports/SkTypeface_fontations.h -FILE: ../../../flutter/third_party/skia/include/private/SkExif.h -FILE: ../../../flutter/third_party/skia/include/private/SkGainmapInfo.h -FILE: ../../../flutter/third_party/skia/include/private/SkGainmapShader.h -FILE: ../../../flutter/third_party/skia/include/private/SkJpegGainmapEncoder.h -FILE: ../../../flutter/third_party/skia/include/private/SkXmp.h -FILE: ../../../flutter/third_party/skia/modules/skcms/skcms.h -FILE: ../../../flutter/third_party/skia/modules/skottie/include/SlotManager.h -FILE: ../../../flutter/third_party/skia/modules/skottie/src/SlotManager.cpp -FILE: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_skunicode.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_hardcoded.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_hardcoded.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu4x.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkExif.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegMultiPicture.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegMultiPicture.h -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegSegmentScan.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegSegmentScan.h -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegSourceMgr.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegSourceMgr.h -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegXmp.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegXmp.h -FILE: ../../../flutter/third_party/skia/src/codec/SkTiffUtility.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkTiffUtility.h -FILE: ../../../flutter/third_party/skia/src/codec/SkXmp.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMipmapDrawDownSampler.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMipmapHQDownSampler.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRasterPipelineContextUtils.h -FILE: ../../../flutter/third_party/skia/src/core/SkRasterPipelineOpContexts.h -FILE: ../../../flutter/third_party/skia/src/core/SkRasterPipelineOpList.h -FILE: ../../../flutter/third_party/skia/src/encode/SkJpegGainmapEncoder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanImageView.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanImageView.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanYcbcrConversion.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanYcbcrConversion.h -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_fontations.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_fontations_priv.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkGainmapShader.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLExtension.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLIRHelpers.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLModifiersDeclaration.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSwitchCase.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2023 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzCubicRoots.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzPrecompile.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/FuzzQuadRoots.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzColorspace.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzCubicRoots.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPrecompile.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzQuadRoots.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/fontations_ft_compare.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/graphite_replay.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/hello_bazel_world.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/png_codec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/rippleshadergm.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/scaledrects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/workingspace.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/AHardwareBufferUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/SkCanvasAndroid.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/SkHeifDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/SkImageAndroid.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/SkSurfaceAndroid.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/android/graphite/SurfaceAndroid.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkAvifDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkBmpDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkGifDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkIcoDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkJpegDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkJpegxlDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkPixmapUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkPngDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkRawDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkWbmpDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/codec/SkWebpDecoder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkColorTable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkPoint.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkTextureCompressionType.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkTiledImageUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/docs/SkMultiPictureDocument.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/GrExternalTextureGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/SkImageGanesh.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/SkMeshGanesh.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/SkSurfaceGanesh.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLDirectContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrVkDirectContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/BackendSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/Image.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/Surface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/YUVABackendTextures.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/vk/VulkanMutableTextureState.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkAnySubclass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/base/SkCPUTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/GrDeferredDisplayList.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/GrDeferredDisplayListRecorder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/GrPromiseImageTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/GrSurfaceCharacterization.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/SkImageChromium.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrTextureGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/BentleyOttmann1.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/BruteForceCrossings.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Contour.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/EventQueue.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/EventQueueInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Int96.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Myers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Point.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Segment.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/include/SweepLine.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/BentleyOttmann1.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/BruteForceCrossings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Contour.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/EventQueue.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Int96.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Myers.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Point.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Segment.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/bentleyottmann/src/SweepLine.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu_bidi.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkBezierCurves.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkCubics.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkCubics.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkFloatingPoint.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkQuads.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkQuads.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkRectMemcpy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkSafeMath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTime.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkTime.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkImageGenerator_FromEncoded.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegConstants.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapProcState_opts.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapProcState_opts_lasx.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitMask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitMask_opts.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitRow_opts.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitRow_opts_hsw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitRow_opts_lasx.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlitter_A8.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlurEngine.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlurMaskFilterImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCanvas_Raster.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkChecksum.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkColorTable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDrawBase.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDrawBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFontMetricsPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkFontMetricsPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMemset.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMemset_opts.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMemset_opts_avx.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMipmapBuilder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkOptsTargets.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPixmapDraw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRSXform.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkReadPixelsRec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRuntimeBlender.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSwizzler_opts.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSwizzler_opts_hsw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSwizzler_opts_lasx.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkWritePixelsRec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/SkShaderMaskFilterImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkBlendModeColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkColorSpaceXformColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkColorSpaceXformColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkComposeColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkComposeColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkGaussianColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkMatrixColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkRuntimeColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkRuntimeColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkWorkingFormatColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/colorfilters/SkWorkingFormatColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkEncoder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkJpegEncoder_none.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkPngEncoderImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkPngEncoder_none.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkWebpEncoder_none.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/BlendFormula.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/BlendFormula.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/BlurUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/BlurUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/DitherUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/DitherUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/GpuTypesPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/MutableTextureStatePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/SkBackingFit.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/SkSLToBackend.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/SkSLToBackend.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/TiledTextureUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/TiledTextureUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/android/AHardwareBufferUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendSemaphorePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendSurfacePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredDisplayList.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredDisplayListPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredDisplayListRecorder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFragmentProcessors.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFragmentProcessors.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMeshBuffers.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMeshBuffers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPromiseImageTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrColorTableEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrColorTableEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrPerlinNoise2Effect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrPerlinNoise2Effect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/AHardwareBufferGL.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLBackendSurface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLBackendSurfacePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLDirectContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/GrImageUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/GrImageUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/GrTextureGenerator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshFactories.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_LazyTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_LazyTexture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_RasterPinnable.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_RasterPinnable.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkSpecialImage_Ganesh.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/surface/SkSurface_AndroidFactories.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/AHardwareBufferVk.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBackendSemaphore.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBackendSurface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBackendSurfacePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkContextThreadSafeProxy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkContextThreadSafeProxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDirectContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/AtlasProvider.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/AtlasProvider.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/BackendSemaphore.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ContextOptionsPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/DescriptorData.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ImageFactories.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Image_Base_Graphite.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Image_Base_Graphite.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Image_YUVA_Graphite.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/Image_YUVA_Graphite.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PathAtlas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PathAtlas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ProxyCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ProxyCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RasterPathAtlas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RasterPathAtlas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ReadSwizzle.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/YUVABackendTextures.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/compute/ComputeStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/compute/ComputeStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/compute/DispatchGroup.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/compute/DispatchGroup.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/compute/VelloComputeSteps.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/compute/VelloComputeSteps.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/compute/VelloRenderer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/compute/VelloRenderer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnComputePipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnComputePipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnErrorChecker.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnErrorChecker.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/CoverageMaskShape.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/EdgeAAQuad.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/CoverageMaskRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/CoverageMaskRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/GraphiteVertexFiller.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/PerEdgeAAQuadRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/PerEdgeAAQuadRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/surface/Surface_AndroidFactories.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanDescriptorPool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanDescriptorPool.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanDescriptorSet.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanDescriptorSet.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanFramebuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanFramebuffer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanGraphicsPipeline.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanGraphicsPipeline.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanRenderPass.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanRenderPass.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanSampler.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanSampler.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanMutableTextureState.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanMutableTextureStatePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanUtilsPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImageGeneratorPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_AndroidFactories.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_Base.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_LazyFactories.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_Picture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_Picture.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_Raster.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkImage_RasterFactories.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkPictureImageGenerator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkSurface_Base.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkSurface_Null.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/image/SkTiledImageUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkOpts_RestoreTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/opts/SkOpts_SetTarget.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/fontations/src/base.rs + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/fontations/src/bitmap.rs + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/fontations/src/colr.rs + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/fontations/src/ffi.rs + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/fontations/src/hinting.rs + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/fontations/src/names.rs + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/fontations/src/skpath_bridge.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/fontations/src/verbs_points_pen.rs + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkBlendShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkColorShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkCoordClampShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkEmptyShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkRuntimeShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkRuntimeShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkShaderBase.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkTriColorShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkTriColorShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkWorkingColorSpaceShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkWorkingColorSpaceShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkRadialGradient.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/shaders/gradients/SkSweepGradient.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLGetLoopControlFlowInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLGetReturnComplexity.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLIsDynamicallyUniformExpression.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLReturnsInputAlpha.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLStructDefinition.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLTraceHook.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLTraceHook.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLHoistSwitchVarDeclarationsAtTopLevel.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLRewriteIndexedSwizzle.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/SlugFromBuffer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SlugImpl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/SlugImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/VertexFiller.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/text/gpu/VertexFiller.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/utils/win/SkWGL_win.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/toolchain/android_trampolines/gen_trampolines/gen_trampolines.go + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/FuzzCubicRoots.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzPrecompile.cpp -FILE: ../../../flutter/third_party/skia/fuzz/FuzzQuadRoots.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzColorspace.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzCubicRoots.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzPrecompile.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzQuadRoots.cpp -FILE: ../../../flutter/third_party/skia/gm/fontations_ft_compare.cpp -FILE: ../../../flutter/third_party/skia/gm/graphite_replay.cpp -FILE: ../../../flutter/third_party/skia/gm/hello_bazel_world.cpp -FILE: ../../../flutter/third_party/skia/gm/png_codec.cpp -FILE: ../../../flutter/third_party/skia/gm/rippleshadergm.cpp -FILE: ../../../flutter/third_party/skia/gm/scaledrects.cpp -FILE: ../../../flutter/third_party/skia/gm/workingspace.cpp -FILE: ../../../flutter/third_party/skia/include/android/AHardwareBufferUtils.h -FILE: ../../../flutter/third_party/skia/include/android/SkCanvasAndroid.h -FILE: ../../../flutter/third_party/skia/include/android/SkHeifDecoder.h -FILE: ../../../flutter/third_party/skia/include/android/SkImageAndroid.h -FILE: ../../../flutter/third_party/skia/include/android/SkSurfaceAndroid.h -FILE: ../../../flutter/third_party/skia/include/android/graphite/SurfaceAndroid.h -FILE: ../../../flutter/third_party/skia/include/codec/SkAvifDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkBmpDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkGifDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkIcoDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkJpegDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkJpegxlDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkPixmapUtils.h -FILE: ../../../flutter/third_party/skia/include/codec/SkPngDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkRawDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkWbmpDecoder.h -FILE: ../../../flutter/third_party/skia/include/codec/SkWebpDecoder.h -FILE: ../../../flutter/third_party/skia/include/core/SkColorTable.h -FILE: ../../../flutter/third_party/skia/include/core/SkPoint.h -FILE: ../../../flutter/third_party/skia/include/core/SkTextureCompressionType.h -FILE: ../../../flutter/third_party/skia/include/core/SkTiledImageUtils.h -FILE: ../../../flutter/third_party/skia/include/docs/SkMultiPictureDocument.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/GrExternalTextureGenerator.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/SkImageGanesh.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/SkMeshGanesh.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/SkSurfaceGanesh.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLDirectContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrVkBackendSemaphore.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/vk/GrVkDirectContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/BackendSemaphore.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/Image.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/Surface.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/YUVABackendTextures.h -FILE: ../../../flutter/third_party/skia/include/gpu/vk/VulkanMutableTextureState.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkAnySubclass.h -FILE: ../../../flutter/third_party/skia/include/private/base/SkCPUTypes.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/GrDeferredDisplayList.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/GrDeferredDisplayListRecorder.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/GrPromiseImageTexture.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/GrSurfaceCharacterization.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/SkImageChromium.h -FILE: ../../../flutter/third_party/skia/include/private/gpu/ganesh/GrTextureGenerator.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/BentleyOttmann1.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/BruteForceCrossings.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Contour.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/EventQueue.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/EventQueueInterface.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Int96.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Myers.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Point.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/Segment.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/include/SweepLine.h -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/BentleyOttmann1.cpp -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/BruteForceCrossings.cpp -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Contour.cpp -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/EventQueue.cpp -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Int96.cpp -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Myers.cpp -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Point.cpp -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/Segment.cpp -FILE: ../../../flutter/third_party/skia/modules/bentleyottmann/src/SweepLine.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_icu_bidi.h -FILE: ../../../flutter/third_party/skia/src/base/SkBezierCurves.h -FILE: ../../../flutter/third_party/skia/src/base/SkCubics.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkCubics.h -FILE: ../../../flutter/third_party/skia/src/base/SkFloatingPoint.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkQuads.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkQuads.h -FILE: ../../../flutter/third_party/skia/src/base/SkRectMemcpy.h -FILE: ../../../flutter/third_party/skia/src/base/SkSafeMath.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkTime.cpp -FILE: ../../../flutter/third_party/skia/src/base/SkTime.h -FILE: ../../../flutter/third_party/skia/src/codec/SkImageGenerator_FromEncoded.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegConstants.h -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapProcState_opts.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapProcState_opts_lasx.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitMask.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlitMask_opts.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitRow_opts.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitRow_opts_hsw.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitRow_opts_lasx.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlitter_A8.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlurEngine.h -FILE: ../../../flutter/third_party/skia/src/core/SkBlurMaskFilterImpl.h -FILE: ../../../flutter/third_party/skia/src/core/SkCanvas_Raster.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkChecksum.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkColorTable.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDrawBase.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkDrawBase.h -FILE: ../../../flutter/third_party/skia/src/core/SkFontMetricsPriv.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkFontMetricsPriv.h -FILE: ../../../flutter/third_party/skia/src/core/SkMemset.h -FILE: ../../../flutter/third_party/skia/src/core/SkMemset_opts.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMemset_opts_avx.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkMipmapBuilder.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkOptsTargets.h -FILE: ../../../flutter/third_party/skia/src/core/SkPixmapDraw.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRSXform.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkReadPixelsRec.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRuntimeBlender.h -FILE: ../../../flutter/third_party/skia/src/core/SkSwizzler_opts.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSwizzler_opts_hsw.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSwizzler_opts_lasx.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkWritePixelsRec.cpp -FILE: ../../../flutter/third_party/skia/src/effects/SkShaderMaskFilterImpl.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkBlendModeColorFilter.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkColorSpaceXformColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkColorSpaceXformColorFilter.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkComposeColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkComposeColorFilter.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkGaussianColorFilter.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkMatrixColorFilter.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkRuntimeColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkRuntimeColorFilter.h -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkWorkingFormatColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/effects/colorfilters/SkWorkingFormatColorFilter.h -FILE: ../../../flutter/third_party/skia/src/encode/SkEncoder.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkJpegEncoder_none.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkPngEncoderImpl.h -FILE: ../../../flutter/third_party/skia/src/encode/SkPngEncoder_none.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkWebpEncoder_none.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/BlendFormula.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/BlendFormula.h -FILE: ../../../flutter/third_party/skia/src/gpu/BlurUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/BlurUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/DitherUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/DitherUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/GpuTypesPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/MutableTextureStatePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/SkBackingFit.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/SkSLToBackend.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/SkSLToBackend.h -FILE: ../../../flutter/third_party/skia/src/gpu/TiledTextureUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/TiledTextureUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/android/AHardwareBufferUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendSemaphorePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrBackendSurfacePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrCanvas.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredDisplayList.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredDisplayListPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrDeferredDisplayListRecorder.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFragmentProcessors.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrFragmentProcessors.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMeshBuffers.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrMeshBuffers.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/GrPromiseImageTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrColorTableEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrColorTableEffect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrPerlinNoise2Effect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/effects/GrPerlinNoise2Effect.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/AHardwareBufferGL.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLBackendSurface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLBackendSurfacePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLDirectContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/GrImageUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/GrImageUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/GrTextureGenerator.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_GaneshFactories.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_LazyTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_LazyTexture.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_RasterPinnable.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkImage_RasterPinnable.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/image/SkSpecialImage_Ganesh.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/surface/SkSurface_AndroidFactories.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/AHardwareBufferVk.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBackendSemaphore.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBackendSurface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkBackendSurfacePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkContextThreadSafeProxy.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkContextThreadSafeProxy.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/vk/GrVkDirectContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/AtlasProvider.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/AtlasProvider.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/BackendSemaphore.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ContextOptionsPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/DescriptorData.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ImageFactories.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Image_Base_Graphite.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Image_Base_Graphite.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Image_YUVA_Graphite.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/Image_YUVA_Graphite.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PathAtlas.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PathAtlas.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ProxyCache.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ProxyCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RasterPathAtlas.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RasterPathAtlas.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ReadSwizzle.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/YUVABackendTextures.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/compute/ComputeStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/compute/ComputeStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/compute/DispatchGroup.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/compute/DispatchGroup.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/compute/VelloComputeSteps.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/compute/VelloComputeSteps.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/compute/VelloRenderer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/compute/VelloRenderer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnComputePipeline.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnComputePipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnErrorChecker.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnErrorChecker.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/CoverageMaskShape.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/EdgeAAQuad.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/CoverageMaskRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/CoverageMaskRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/GraphiteVertexFiller.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/PerEdgeAAQuadRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/PerEdgeAAQuadRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/surface/Surface_AndroidFactories.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanDescriptorPool.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanDescriptorPool.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanDescriptorSet.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanDescriptorSet.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanFramebuffer.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanFramebuffer.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanGraphicsPipeline.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanGraphicsPipeline.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanRenderPass.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanRenderPass.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanSampler.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanSampler.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanMutableTextureState.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanMutableTextureStatePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanUtilsPriv.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkImageGeneratorPriv.h -FILE: ../../../flutter/third_party/skia/src/image/SkImage_AndroidFactories.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkImage_Base.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkImage_LazyFactories.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkImage_Picture.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkImage_Picture.h -FILE: ../../../flutter/third_party/skia/src/image/SkImage_Raster.h -FILE: ../../../flutter/third_party/skia/src/image/SkImage_RasterFactories.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkPictureImageGenerator.h -FILE: ../../../flutter/third_party/skia/src/image/SkSurface_Base.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkSurface_Null.cpp -FILE: ../../../flutter/third_party/skia/src/image/SkTiledImageUtils.cpp -FILE: ../../../flutter/third_party/skia/src/opts/SkOpts_RestoreTarget.h -FILE: ../../../flutter/third_party/skia/src/opts/SkOpts_SetTarget.h -FILE: ../../../flutter/third_party/skia/src/ports/fontations/src/base.rs -FILE: ../../../flutter/third_party/skia/src/ports/fontations/src/bitmap.rs -FILE: ../../../flutter/third_party/skia/src/ports/fontations/src/colr.rs -FILE: ../../../flutter/third_party/skia/src/ports/fontations/src/ffi.rs -FILE: ../../../flutter/third_party/skia/src/ports/fontations/src/hinting.rs -FILE: ../../../flutter/third_party/skia/src/ports/fontations/src/names.rs -FILE: ../../../flutter/third_party/skia/src/ports/fontations/src/skpath_bridge.h -FILE: ../../../flutter/third_party/skia/src/ports/fontations/src/verbs_points_pen.rs -FILE: ../../../flutter/third_party/skia/src/shaders/SkBlendShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkColorShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkCoordClampShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkEmptyShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkRuntimeShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkRuntimeShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkShaderBase.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkTriColorShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkTriColorShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/SkWorkingColorSpaceShader.cpp -FILE: ../../../flutter/third_party/skia/src/shaders/SkWorkingColorSpaceShader.h -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkRadialGradient.h -FILE: ../../../flutter/third_party/skia/src/shaders/gradients/SkSweepGradient.h -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLGetLoopControlFlowInfo.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLGetReturnComplexity.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLIsDynamicallyUniformExpression.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLReturnsInputAlpha.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLStructDefinition.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLTraceHook.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/tracing/SkSLTraceHook.h -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLHoistSwitchVarDeclarationsAtTopLevel.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLRewriteIndexedSwizzle.cpp -FILE: ../../../flutter/third_party/skia/src/text/SlugFromBuffer.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SlugImpl.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/SlugImpl.h -FILE: ../../../flutter/third_party/skia/src/text/gpu/VertexFiller.cpp -FILE: ../../../flutter/third_party/skia/src/text/gpu/VertexFiller.h -FILE: ../../../flutter/third_party/skia/src/utils/win/SkWGL_win.cpp -FILE: ../../../flutter/third_party/skia/toolchain/android_trampolines/gen_trampolines/gen_trampolines.go ----------------------------------------------------------------------------------------------------- -Copyright 2023 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLEmptyExpression.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLEmptyExpression.h ----------------------------------------------------------------------------------------------------- -Copyright 2023 Google LLC. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2WGSL.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkRuntimeBlender.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkRuntimeColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/MutableTextureState.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSKSL2WGSL.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkRuntimeBlender.cpp -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzSkRuntimeColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/MutableTextureState.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2023 Google, LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/shaders/SkCoordClampShader.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/shaders/SkCoordClampShader.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2023 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFontScanner.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_Fontations.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontScanner_Fontations.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontScanner_FreeType.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/utils/PreshapeTool.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/utils/TextPreshape.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skottie/utils/TextPreshape.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeComponentTransfer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeMerge.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeComponentTransfer.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeMerge.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/svg/src/SkSVGRectPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkCrabbyAvifCodec.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkCrabbyAvifCodec.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegMetadataDecoderImpl.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkJpegMetadataDecoderImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPngCompositeChunkReader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPngCompositeChunkReader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/win/GrGLMakeWinInterface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_android_ndk.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontMgr_fontations_empty.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontScanner_FreeType_priv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_sbix.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/include/core/SkFontScanner.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_Fontations.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontScanner_Fontations.h -FILE: ../../../flutter/third_party/skia/include/ports/SkFontScanner_FreeType.h -FILE: ../../../flutter/third_party/skia/modules/skottie/utils/PreshapeTool.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/utils/TextPreshape.cpp -FILE: ../../../flutter/third_party/skia/modules/skottie/utils/TextPreshape.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeComponentTransfer.h -FILE: ../../../flutter/third_party/skia/modules/svg/include/SkSVGFeMerge.h -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeComponentTransfer.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGFeMerge.cpp -FILE: ../../../flutter/third_party/skia/modules/svg/src/SkSVGRectPriv.h -FILE: ../../../flutter/third_party/skia/src/codec/SkCrabbyAvifCodec.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkCrabbyAvifCodec.h -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegMetadataDecoderImpl.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkJpegMetadataDecoderImpl.h -FILE: ../../../flutter/third_party/skia/src/codec/SkPngCompositeChunkReader.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkPngCompositeChunkReader.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/win/GrGLMakeWinInterface.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_android_ndk.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontMgr_fontations_empty.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontScanner_FreeType_priv.h -FILE: ../../../flutter/third_party/skia/src/sfnt/SkOTTable_sbix.h ----------------------------------------------------------------------------------------------------- -Copyright 2024 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzParsePath.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/emptyshader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/imagedither.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/luminosity.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/pathopsblend.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/gm/rendertomipmappedyuvimageplanes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkArc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkFourByteTag.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/docs/SkPDFJpegHelpers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/LogPriority.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/PrecompileContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PaintOptions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/Precompile.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileBlender.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/jsonreader/SkJSONReader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper_coretext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper_factory.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper_harfbuzz.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper_skunicode.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_factory.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skshaper/utils/FactoryHelpers.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_client.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_icu.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_icu4x.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_libgrapheme.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkBidiFactory_icu_full.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkBidiFactory_icu_full.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkBidiFactory_icu_subset.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkBidiFactory_icu_subset.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/base/SkFixedArray.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkGainmapInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkBlurEngine.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkKnownRuntimeEffects.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkKnownRuntimeEffects.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMatrixConvolutionImageFilter.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/DataUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/DataUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/SwizzlePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLCoreFunctions.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlBackendSemaphore.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlBackendSurface.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlDirectContext.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/BackendSemaphorePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/BackendTexturePriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ClipAtlasManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ClipAtlasManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePathAtlas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePathAtlas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/InternalDrawTypeFlags.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PrecompileContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/PrecompileContextPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RasterPathUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RasterPathUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RenderPassDesc.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RenderPassDesc.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ScratchResourceManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ScratchResourceManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ShaderInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/ShaderInfo.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureInfoPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnBackendTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnTextureInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/AnalyticBlurMask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/AnalyticBlurMask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/geom/NonMSAAClip.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBackendSemaphore.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBackendTexture.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlTextureInfo.mm + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PaintOption.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PaintOption.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PaintOptions.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileBaseComplete.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileBlender.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileBlenderPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileColorFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileColorFiltersPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileImageFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileImageFilterPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileImageFiltersPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileMaskFilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileRuntimeEffect.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileShaderPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileShadersPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/AnalyticBlurRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/AnalyticBlurRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/CircularArcRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/CircularArcRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/SDFTextLCDRenderStep.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/render/SDFTextLCDRenderStep.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/DrawTask.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/task/DrawTask.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanBackendSemaphore.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanBackendTexture.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanTextureInfo.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_proxy.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkTypeface_proxy.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLGraphiteModules.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLGraphiteModules.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLModule.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLModule.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLModuleDataDefault.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/SkSLModuleDataFile.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLCheckSymbolTableCorrectness.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLSpecialization.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLSpecialization.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLCodeGenTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVValidator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVValidator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLWGSLValidator.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLWGSLValidator.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSymbol.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateUnnecessaryBraces.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinStructs.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLReplaceSplatCastsWithSwizzles.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/fuzz/oss_fuzz/FuzzParsePath.cpp -FILE: ../../../flutter/third_party/skia/gm/emptyshader.cpp -FILE: ../../../flutter/third_party/skia/gm/imagedither.cpp -FILE: ../../../flutter/third_party/skia/gm/luminosity.cpp -FILE: ../../../flutter/third_party/skia/gm/pathopsblend.cpp -FILE: ../../../flutter/third_party/skia/gm/rendertomipmappedyuvimageplanes.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkArc.h -FILE: ../../../flutter/third_party/skia/include/core/SkFourByteTag.h -FILE: ../../../flutter/third_party/skia/include/docs/SkPDFJpegHelpers.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/ios/GrGLMakeIOSInterface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/mac/GrGLMakeMacInterface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/gl/win/GrGLMakeWinInterface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlBackendSemaphore.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlBackendSurface.h -FILE: ../../../flutter/third_party/skia/include/gpu/ganesh/mtl/GrMtlDirectContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/LogPriority.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/PrecompileContext.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/mtl/MtlGraphiteTypes_cpp.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PaintOptions.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/Precompile.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileBase.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileBlender.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileColorFilter.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileImageFilter.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileMaskFilter.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileRuntimeEffect.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/precompile/PrecompileShader.h -FILE: ../../../flutter/third_party/skia/modules/jsonreader/SkJSONReader.h -FILE: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper_coretext.h -FILE: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper_factory.h -FILE: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper_harfbuzz.h -FILE: ../../../flutter/third_party/skia/modules/skshaper/include/SkShaper_skunicode.h -FILE: ../../../flutter/third_party/skia/modules/skshaper/src/SkShaper_factory.cpp -FILE: ../../../flutter/third_party/skia/modules/skshaper/utils/FactoryHelpers.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_client.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_icu.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_icu4x.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_libgrapheme.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkBidiFactory_icu_full.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkBidiFactory_icu_full.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkBidiFactory_icu_subset.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkBidiFactory_icu_subset.h -FILE: ../../../flutter/third_party/skia/src/base/SkFixedArray.h -FILE: ../../../flutter/third_party/skia/src/codec/SkGainmapInfo.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkBlurEngine.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkKnownRuntimeEffects.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkKnownRuntimeEffects.h -FILE: ../../../flutter/third_party/skia/src/effects/imagefilters/SkMatrixConvolutionImageFilter.h -FILE: ../../../flutter/third_party/skia/src/gpu/DataUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/DataUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/SwizzlePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/GrGLCoreFunctions.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/gl/epoxy/GrGLMakeEpoxyEGLInterface.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlBackendSemaphore.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlBackendSurface.mm -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/mtl/GrMtlDirectContext.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/BackendSemaphorePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/BackendTexturePriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ClipAtlasManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ClipAtlasManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePathAtlas.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ComputePathAtlas.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/InternalDrawTypeFlags.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PrecompileContext.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/PrecompileContextPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RasterPathUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RasterPathUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RenderPassDesc.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RenderPassDesc.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ScratchResourceManager.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ScratchResourceManager.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ShaderInfo.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/ShaderInfo.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureInfoPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnBackendTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/dawn/DawnTextureInfo.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/AnalyticBlurMask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/AnalyticBlurMask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/geom/NonMSAAClip.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBackendSemaphore.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlBackendTexture.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/mtl/MtlTextureInfo.mm -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PaintOption.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PaintOption.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PaintOptions.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileBaseComplete.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileBlender.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileBlenderPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileColorFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileColorFiltersPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileImageFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileImageFilterPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileImageFiltersPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileMaskFilter.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileRuntimeEffect.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileShader.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileShaderPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileShadersPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/AnalyticBlurRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/AnalyticBlurRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/CircularArcRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/CircularArcRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/SDFTextLCDRenderStep.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/render/SDFTextLCDRenderStep.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/DrawTask.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/task/DrawTask.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanBackendSemaphore.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanBackendTexture.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/VulkanTextureInfo.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_proxy.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkTypeface_proxy.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLGraphiteModules.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLGraphiteModules.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLModule.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLModule.h -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLModuleDataDefault.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/SkSLModuleDataFile.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLCheckSymbolTableCorrectness.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLSpecialization.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/analysis/SkSLSpecialization.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLCodeGenTypes.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVValidator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLSPIRVValidator.h -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLWGSLValidator.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLWGSLValidator.h -FILE: ../../../flutter/third_party/skia/src/sksl/ir/SkSLSymbol.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLEliminateUnnecessaryBraces.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinStructs.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLReplaceSplatCastsWithSwizzles.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2024 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/smallcircles.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/ports/SkFontMgr_android_ndk.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPngCodecBase.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/codec/SkPngCodecBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkPngEncoderBase.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/encode/SkPngEncoderBase.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/transform/SkSLTransform.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/smallcircles.cpp -FILE: ../../../flutter/third_party/skia/include/ports/SkFontMgr_android_ndk.h -FILE: ../../../flutter/third_party/skia/src/codec/SkPngCodecBase.cpp -FILE: ../../../flutter/third_party/skia/src/codec/SkPngCodecBase.h -FILE: ../../../flutter/third_party/skia/src/encode/SkPngEncoderBase.cpp -FILE: ../../../flutter/third_party/skia/src/encode/SkPngEncoderBase.h -FILE: ../../../flutter/third_party/skia/src/gpu/vk/vulkanmemoryallocator/VulkanMemoryAllocatorPriv.h -FILE: ../../../flutter/third_party/skia/src/sksl/transform/SkSLTransform.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2024 Google LLC. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontScanner_fontations.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/ports/SkFontScanner_fontations_priv.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/ports/SkFontScanner_fontations.cpp -FILE: ../../../flutter/third_party/skia/src/ports/SkFontScanner_fontations_priv.h ----------------------------------------------------------------------------------------------------- -Copyright 2024 The Android Open Source Project - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathPriv.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/vk/VulkanPreferredFeatures.cpp + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/src/core/SkPathPriv.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/vk/VulkanPreferredFeatures.cpp ----------------------------------------------------------------------------------------------------- -Copyright 2025 Google Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/hdr_pip_blur.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkCPUContext.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkCPURecorder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/core/SkRecorder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/graphite/vk/precompile/VulkanPrecompileShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/gpu/vk/VulkanPreferredFeatures.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/include/private/chromium/SkPMColor.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/bidi_bindings.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/canvaskit/bidi_bindings_gen.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_bidi.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_bidi.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/capture/SkCaptureCanvas.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/capture/SkCaptureCanvas.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/capture/SkCaptureManager.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/capture/SkCaptureManager.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCPUContext.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCPUContextImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCPURecorder.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkCPURecorderImpl.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkDrawTypes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkMaskFilterBase.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkRasterPipelineVizualizer.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSynchronizedResourceCache.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkSynchronizedResourceCache.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/SkGaneshRecorder.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/ganesh/text/GaneshVertexFiller.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/RecorderOptionsPriv.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureFormat.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/TextureFormat.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileImageShader.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/SerializationUtils.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/SerializationUtils.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/gpu/graphite/vk/precompile/VulkanPrecompileShader.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLNativeShader.h + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/hdr_pip_blur.cpp -FILE: ../../../flutter/third_party/skia/include/core/SkCPUContext.h -FILE: ../../../flutter/third_party/skia/include/core/SkCPURecorder.h -FILE: ../../../flutter/third_party/skia/include/core/SkRecorder.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/dawn/DawnGraphiteTypes.h -FILE: ../../../flutter/third_party/skia/include/gpu/graphite/vk/precompile/VulkanPrecompileShader.h -FILE: ../../../flutter/third_party/skia/include/gpu/vk/VulkanPreferredFeatures.h -FILE: ../../../flutter/third_party/skia/include/private/chromium/SkPMColor.h -FILE: ../../../flutter/third_party/skia/modules/canvaskit/bidi_bindings.cpp -FILE: ../../../flutter/third_party/skia/modules/canvaskit/bidi_bindings_gen.cpp -FILE: ../../../flutter/third_party/skia/modules/skunicode/include/SkUnicode_bidi.h -FILE: ../../../flutter/third_party/skia/modules/skunicode/src/SkUnicode_bidi.cpp -FILE: ../../../flutter/third_party/skia/src/capture/SkCaptureCanvas.cpp -FILE: ../../../flutter/third_party/skia/src/capture/SkCaptureCanvas.h -FILE: ../../../flutter/third_party/skia/src/capture/SkCaptureManager.cpp -FILE: ../../../flutter/third_party/skia/src/capture/SkCaptureManager.h -FILE: ../../../flutter/third_party/skia/src/core/SkCPUContext.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCPUContextImpl.h -FILE: ../../../flutter/third_party/skia/src/core/SkCPURecorder.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkCPURecorderImpl.h -FILE: ../../../flutter/third_party/skia/src/core/SkDrawTypes.h -FILE: ../../../flutter/third_party/skia/src/core/SkMaskFilterBase.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkRasterPipelineVizualizer.h -FILE: ../../../flutter/third_party/skia/src/core/SkSynchronizedResourceCache.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkSynchronizedResourceCache.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/SkGaneshRecorder.h -FILE: ../../../flutter/third_party/skia/src/gpu/ganesh/text/GaneshVertexFiller.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/RecorderOptionsPriv.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureFormat.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/TextureFormat.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/PrecompileImageShader.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/SerializationUtils.cpp -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/precompile/SerializationUtils.h -FILE: ../../../flutter/third_party/skia/src/gpu/graphite/vk/precompile/VulkanPrecompileShader.cpp -FILE: ../../../flutter/third_party/skia/src/sksl/codegen/SkSLNativeShader.h ----------------------------------------------------------------------------------------------------- -Copyright 2025 Google LLC - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -==================================================================================================== -LIBRARY: skia -ORIGIN: ../../../flutter/third_party/skia/gm/tablemaskfilter.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathRaw.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathRaw.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathRawShapes.cpp + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/src/core/SkPathRawShapes.h + ../../../flutter/third_party/skia/LICENSE -ORIGIN: ../../../flutter/third_party/skia/tools.go + ../../../flutter/third_party/skia/LICENSE -TYPE: LicenseType.bsd -FILE: ../../../flutter/third_party/skia/gm/tablemaskfilter.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPathRaw.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPathRaw.h -FILE: ../../../flutter/third_party/skia/src/core/SkPathRawShapes.cpp -FILE: ../../../flutter/third_party/skia/src/core/SkPathRawShapes.h -FILE: ../../../flutter/third_party/skia/tools.go ----------------------------------------------------------------------------------------------------- -Copyright 2025 Google LLC. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -==================================================================================================== - -Total license count: 74 diff --git a/engine/src/flutter/ci/licenses_golden/third_party/fuchsia_sdk/NOTICES b/engine/src/flutter/ci/licenses_golden/third_party/fuchsia_sdk/NOTICES new file mode 100644 index 0000000000000..78d23b7ba6214 --- /dev/null +++ b/engine/src/flutter/ci/licenses_golden/third_party/fuchsia_sdk/NOTICES @@ -0,0 +1,880 @@ +fuchsia_sdk + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +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 + + http://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. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +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 + + http://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. + + +--- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2014 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2016 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2017 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2018 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2019 The Fuchsia Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2019 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2020 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2021 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2022 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2023 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2024 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2025 The Fuchsia Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +fuchsia_sdk + +musl as a whole is licensed under the following standard MIT license: + + +Copyright © 2005-2014 Rich Felker, et al. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +Authors/contributors include: + +Alex Dowad +Alexander Monakov +Anthony G. Basile +Arvid Picciani +Bobby Bingham +Boris Brezillon +Brent Cook +Chris Spiegel +Clément Vasseur +Daniel Micay +Denys Vlasenko +Emil Renner Berthing +Felix Fietkau +Felix Janda +Gianluca Anzolin +Hauke Mehrtens +Hiltjo Posthuma +Isaac Dunham +Jaydeep Patil +Jens Gustedt +Jeremy Huntwork +Jo-Philipp Wich +Joakim Sindholt +John Spencer +Josiah Worcester +Justin Cormack +Khem Raj +Kylie McClain +Luca Barbato +Luka Perkov +M Farkas-Dyck (Strake) +Mahesh Bodapati +Michael Forney +Natanael Copa +Nicholas J. Kain +orc +Pascal Cuoq +Petr Hosek +Pierre Carrier +Rich Felker +Richard Pennington +Shiz +sin +Solar Designer +Stefan Kristiansson +Szabolcs Nagy +Timo Teräs +Trutz Behn +Valentin Ochs +William Haddon + +Portions of this software are derived from third-party works licensed +under terms compatible with the above MIT license: + +Much of the math library code (third_party/math/* and +third_party/complex/*, and third_party/include/libm.h) is +Copyright © 1993,2004 Sun Microsystems or +Copyright © 2003-2011 David Schultz or +Copyright © 2003-2009 Steven G. Kargl or +Copyright © 2003-2009 Bruce D. Evans or +Copyright © 2008 Stephen L. Moshier +and labelled as such in comments in the individual source files. All +have been licensed under extremely permissive terms. + +The smoothsort implementation (third_party/smoothsort/qsort.c) is +Copyright © 2011 Valentin Ochs and is licensed under an MIT-style +license. + +The x86_64 files in third_party/arch were written by Nicholas J. Kain +and is licensed under the standard MIT terms. + +All other files which have no copyright comments are original works +produced specifically for use as part of this library, written either +by Rich Felker, the main author of the library, or by one or more +contibutors listed above. Details on authorship of individual files +can be found in the git version control history of the project. The +omission of copyright and license comments in each file is in the +interest of source tree size. + +In addition, permission is hereby granted for all public header files +(include/* and arch/*/bits/*) and crt files intended to be linked into +applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit +the copyright notice and permission notice otherwise required by the +license, and to use these files without any requirement of +attribution. These files include substantial contributions from: + +Bobby Bingham +John Spencer +Nicholas J. Kain +Rich Felker +Richard Pennington +Stefan Kristiansson +Szabolcs Nagy + +all of whom have explicitly granted such permission. + +This file previously contained text expressing a belief that most of +the files covered by the above exception were sufficiently trivial not +to be subject to copyright, resulting in confusion over whether it +negated the permissions granted in the license. In the spirit of +permissive licensing, and of not having licensing issues being an +obstacle to adoption, that text has been removed. diff --git a/engine/src/flutter/ci/licenses_golden/third_party/fuchsia_sdk/README.md b/engine/src/flutter/ci/licenses_golden/third_party/fuchsia_sdk/README.md new file mode 100644 index 0000000000000..7e15d719b702e --- /dev/null +++ b/engine/src/flutter/ci/licenses_golden/third_party/fuchsia_sdk/README.md @@ -0,0 +1,18 @@ +# Fuchsia SDK NOTICES + +This is a snapshot of the licenses brought in from the Fuschia SDK. It was +generated with the tool at +`//engine/src/flutter/tools/licenes_cpp/tools/convert.dart` with the old value +of +[`licenses_fuchsia`](https://raw.githubusercontent.com/flutter/flutter/87d5b753196cd8eaec15bf4080f4dffbe0c36617/engine/src/flutter/ci/licenses_golden/licenses_fuchsia). + +This is brought into the codebase since it's a requirement that the license +checker has the same output when run on macOS and Linux, but on macOS the +Fuchsia SDK source code isn't brought in. + +Previously, the old license checker would generate this file on CI on a Linux +machine. In theory someone running the license checker on macOS would patch in +the partial license checker output. That doesn't happen anymore. + +TODO(TBD): Bring in the source code for fuchsia on macOS to generate the +licenses fully without this NOTICES. diff --git a/engine/src/flutter/ci/licenses_golden/tool_signature b/engine/src/flutter/ci/licenses_golden/tool_signature deleted file mode 100644 index 8693114420713..0000000000000 --- a/engine/src/flutter/ci/licenses_golden/tool_signature +++ /dev/null @@ -1,2 +0,0 @@ -Signature: 063857dc0c0ecb6a7fd1fcfc319bcd4e - diff --git a/engine/src/flutter/common/settings.h b/engine/src/flutter/common/settings.h index 212d96e9551fb..5918e68fa1b32 100644 --- a/engine/src/flutter/common/settings.h +++ b/engine/src/flutter/common/settings.h @@ -131,7 +131,7 @@ struct Settings { // Path to a library containing the application's compiled Dart code. // This is a vector so that the embedder can provide fallback paths in // case the primary path to the library can not be loaded. - std::vector application_library_path; + std::vector application_library_paths; // Path to a library containing compiled Dart code usable for launching // the VM service isolate. diff --git a/engine/src/flutter/display_list/BUILD.gn b/engine/src/flutter/display_list/BUILD.gn index 1326d488fe791..19b4d63a353f6 100644 --- a/engine/src/flutter/display_list/BUILD.gn +++ b/engine/src/flutter/display_list/BUILD.gn @@ -62,6 +62,10 @@ source_set("display_list") { "dl_sampling_options.h", "dl_storage.cc", "dl_storage.h", + "dl_text.cc", + "dl_text.h", + "dl_text_skia.cc", + "dl_text_skia.h", "dl_tile_mode.h", "dl_types.cc", "dl_types.h", @@ -100,6 +104,8 @@ source_set("display_list") { "effects/dl_mask_filter.h", "effects/dl_runtime_effect.cc", "effects/dl_runtime_effect.h", + "effects/dl_runtime_effect_skia.cc", + "effects/dl_runtime_effect_skia.h", "effects/image_filters/dl_blur_image_filter.cc", "effects/image_filters/dl_blur_image_filter.h", "effects/image_filters/dl_color_filter_image_filter.cc", @@ -146,8 +152,6 @@ source_set("display_list") { public_deps = [ ":dl_path", "//flutter/fml", - "//flutter/impeller/runtime_stage", - "//flutter/impeller/typographer", "//flutter/skia", ] @@ -294,7 +298,6 @@ if (enable_unittests) { deps = [ ":display_list", ":display_list_fixtures", - "$dart_src/runtime:libdart_jit", # for tracing "//flutter/benchmarking", "//flutter/common/graphics", "//flutter/display_list/testing:display_list_surface_provider", @@ -304,6 +307,12 @@ if (enable_unittests) { "//flutter/testing:skia", "//flutter/testing:testing_lib", ] + + if (!is_wasm) { + deps += [ + "$dart_src/runtime:libdart_jit", # for tracing + ] + } } executable("display_list_benchmarks") { diff --git a/engine/src/flutter/display_list/benchmarking/dl_benchmarks.cc b/engine/src/flutter/display_list/benchmarking/dl_benchmarks.cc index 8a8b27627389a..d39c6416548df 100644 --- a/engine/src/flutter/display_list/benchmarking/dl_benchmarks.cc +++ b/engine/src/flutter/display_list/benchmarking/dl_benchmarks.cc @@ -5,6 +5,7 @@ #include "flutter/display_list/benchmarking/dl_benchmarks.h" #include "flutter/display_list/dl_builder.h" #include "flutter/display_list/dl_op_flags.h" +#include "flutter/display_list/dl_text_skia.h" #include "flutter/display_list/geometry/dl_path_builder.h" #include "flutter/display_list/skia/dl_sk_canvas.h" #include "flutter/display_list/testing/dl_test_snippets.h" @@ -1224,7 +1225,7 @@ void BM_DrawTextBlob(benchmark::State& state, DisplayListBuilder builder; DlPaint paint = GetPaintForRun(attributes); - AnnotateAttributes(attributes, state, DisplayListOpFlags::kDrawTextBlobFlags); + AnnotateAttributes(attributes, state, DisplayListOpFlags::kDrawTextFlags); size_t draw_calls = state.range(0); size_t canvas_size = kFixedCanvasSize; @@ -1240,7 +1241,7 @@ void BM_DrawTextBlob(benchmark::State& state, for (size_t i = 0; i < draw_calls; i++) { character[0] = 'A' + (i % 26); auto blob = SkTextBlob::MakeFromString(character, CreateTestFontOfSize(20)); - builder.DrawTextBlob(blob, 50.0f, 50.0f, paint); + builder.DrawText(DlTextSkia::Make(blob), 50.0f, 50.0f, paint); } auto display_list = builder.Build(); diff --git a/engine/src/flutter/display_list/benchmarking/dl_complexity_gl.cc b/engine/src/flutter/display_list/benchmarking/dl_complexity_gl.cc index 1729f5c74f02f..bb03935aa8146 100644 --- a/engine/src/flutter/display_list/benchmarking/dl_complexity_gl.cc +++ b/engine/src/flutter/display_list/benchmarking/dl_complexity_gl.cc @@ -37,12 +37,12 @@ unsigned int DisplayListGLComplexityCalculator::GLHelper::BatchedComplexity() { } unsigned int draw_text_blob_complexity; - if (draw_text_blob_count_ == 0) { + if (draw_text_count_ == 0) { draw_text_blob_complexity = 0; } else { // m = 1/240 // c = 0.25 - draw_text_blob_complexity = (draw_text_blob_count_ + 60) * 2500 / 3; + draw_text_blob_complexity = (draw_text_count_ + 60) * 2500 / 3; } return save_layer_complexity + draw_text_blob_complexity; @@ -643,8 +643,8 @@ void DisplayListGLComplexityCalculator::GLHelper::drawDisplayList( AccumulateComplexity(helper.ComplexityScore()); } -void DisplayListGLComplexityCalculator::GLHelper::drawTextBlob( - const sk_sp blob, +void DisplayListGLComplexityCalculator::GLHelper::drawText( + const std::shared_ptr& text, DlScalar x, DlScalar y) { if (IsComplex()) { @@ -655,15 +655,10 @@ void DisplayListGLComplexityCalculator::GLHelper::drawTextBlob( // per frame, that fixed cost is greatly reduced per subsequent call. This // is likely because there is batching being done in SkCanvas. - // Increment draw_text_blob_count_ and calculate the cost at the end. - draw_text_blob_count_++; + // Increment draw_text_count_ and calculate the cost at the end. + draw_text_count_++; } -void DisplayListGLComplexityCalculator::GLHelper::drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) {} - void DisplayListGLComplexityCalculator::GLHelper::drawShadow( const DlPath& path, const DlColor color, diff --git a/engine/src/flutter/display_list/benchmarking/dl_complexity_gl.h b/engine/src/flutter/display_list/benchmarking/dl_complexity_gl.h index 516503e10d91b..2b9aa62ea79f9 100644 --- a/engine/src/flutter/display_list/benchmarking/dl_complexity_gl.h +++ b/engine/src/flutter/display_list/benchmarking/dl_complexity_gl.h @@ -73,12 +73,9 @@ class DisplayListGLComplexityCalculator bool render_with_attributes) override; void drawDisplayList(const sk_sp display_list, DlScalar opacity) override; - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override; - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override; + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override; void drawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, @@ -95,7 +92,7 @@ class DisplayListGLComplexityCalculator private: unsigned int save_layer_count_ = 0; - unsigned int draw_text_blob_count_ = 0; + unsigned int draw_text_count_ = 0; }; DisplayListGLComplexityCalculator() diff --git a/engine/src/flutter/display_list/benchmarking/dl_complexity_metal.cc b/engine/src/flutter/display_list/benchmarking/dl_complexity_metal.cc index 75223c87bc9a9..a1390c198dae9 100644 --- a/engine/src/flutter/display_list/benchmarking/dl_complexity_metal.cc +++ b/engine/src/flutter/display_list/benchmarking/dl_complexity_metal.cc @@ -51,12 +51,12 @@ DisplayListMetalComplexityCalculator::MetalHelper::BatchedComplexity() { } unsigned int draw_text_blob_complexity; - if (draw_text_blob_count_ == 0) { + if (draw_text_count_ == 0) { draw_text_blob_complexity = 0; } else { // m = 1/240 // c = 0.75 - draw_text_blob_complexity = (draw_text_blob_count_ + 180) * 2500 / 3; + draw_text_blob_complexity = (draw_text_count_ + 180) * 2500 / 3; } return save_layer_complexity + draw_text_blob_complexity; @@ -585,8 +585,8 @@ void DisplayListMetalComplexityCalculator::MetalHelper::drawDisplayList( AccumulateComplexity(helper.ComplexityScore()); } -void DisplayListMetalComplexityCalculator::MetalHelper::drawTextBlob( - const sk_sp blob, +void DisplayListMetalComplexityCalculator::MetalHelper::drawText( + const std::shared_ptr& text, DlScalar x, DlScalar y) { if (IsComplex()) { @@ -597,15 +597,10 @@ void DisplayListMetalComplexityCalculator::MetalHelper::drawTextBlob( // per frame, that fixed cost is greatly reduced per subsequent call. This // is likely because there is batching being done in SkCanvas. - // Increment draw_text_blob_count_ and calculate the cost at the end. - draw_text_blob_count_++; + // Increment draw_text_count_ and calculate the cost at the end. + draw_text_count_++; } -void DisplayListMetalComplexityCalculator::MetalHelper::drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) {} - void DisplayListMetalComplexityCalculator::MetalHelper::drawShadow( const DlPath& path, const DlColor color, diff --git a/engine/src/flutter/display_list/benchmarking/dl_complexity_metal.h b/engine/src/flutter/display_list/benchmarking/dl_complexity_metal.h index 02c965b8cb8d2..80b7b7bdd2ed8 100644 --- a/engine/src/flutter/display_list/benchmarking/dl_complexity_metal.h +++ b/engine/src/flutter/display_list/benchmarking/dl_complexity_metal.h @@ -73,12 +73,9 @@ class DisplayListMetalComplexityCalculator bool render_with_attributes) override; void drawDisplayList(const sk_sp display_list, DlScalar opacity) override; - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override; - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override; + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override; void drawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, @@ -95,7 +92,7 @@ class DisplayListMetalComplexityCalculator private: unsigned int save_layer_count_ = 0; - unsigned int draw_text_blob_count_ = 0; + unsigned int draw_text_count_ = 0; }; DisplayListMetalComplexityCalculator() diff --git a/engine/src/flutter/display_list/benchmarking/dl_complexity_unittests.cc b/engine/src/flutter/display_list/benchmarking/dl_complexity_unittests.cc index de2fc54febc51..71fd76b53a223 100644 --- a/engine/src/flutter/display_list/benchmarking/dl_complexity_unittests.cc +++ b/engine/src/flutter/display_list/benchmarking/dl_complexity_unittests.cc @@ -8,6 +8,7 @@ #include "flutter/display_list/display_list.h" #include "flutter/display_list/dl_builder.h" #include "flutter/display_list/dl_sampling_options.h" +#include "flutter/display_list/dl_text_skia.h" #include "flutter/display_list/geometry/dl_path_builder.h" #include "flutter/display_list/testing/dl_test_snippets.h" #include "flutter/testing/testing.h" @@ -305,14 +306,14 @@ TEST(DisplayListComplexity, DrawVertices) { TEST(DisplayListComplexity, DrawTextBlob) { auto text_blob = GetTestTextBlob("The quick brown fox jumps over the lazy dog.", 20.0f); - + auto text = DlTextSkia::Make(text_blob); DisplayListBuilder builder; - builder.DrawTextBlob(text_blob, 0.0f, 0.0f, DlPaint()); + builder.DrawText(text, 0.0f, 0.0f, DlPaint()); auto display_list = builder.Build(); DisplayListBuilder builder_multiple; - builder_multiple.DrawTextBlob(text_blob, 0.0f, 0.0f, DlPaint()); - builder_multiple.DrawTextBlob(text_blob, 0.0f, 0.0f, DlPaint()); + builder_multiple.DrawText(text, 0.0f, 0.0f, DlPaint()); + builder_multiple.DrawText(text, 0.0f, 0.0f, DlPaint()); auto display_list_multiple = builder_multiple.Build(); auto calculators = AccumulatorCalculators(); diff --git a/engine/src/flutter/display_list/display_list.cc b/engine/src/flutter/display_list/display_list.cc index 0f032aa07edd7..be55350aeaf4a 100644 --- a/engine/src/flutter/display_list/display_list.cc +++ b/engine/src/flutter/display_list/display_list.cc @@ -333,8 +333,7 @@ DisplayListOpCategory DisplayList::GetOpCategory(DisplayListOpType type) { case DisplayListOpType::kDrawImageNineWithAttr: case DisplayListOpType::kDrawAtlas: case DisplayListOpType::kDrawAtlasCulled: - case DisplayListOpType::kDrawTextBlob: - case DisplayListOpType::kDrawTextFrame: + case DisplayListOpType::kDrawText: case DisplayListOpType::kDrawShadow: case DisplayListOpType::kDrawShadowTransparentOccluder: return DisplayListOpCategory::kRendering; diff --git a/engine/src/flutter/display_list/display_list.h b/engine/src/flutter/display_list/display_list.h index bbf1af9db37b1..19dbb83d950db 100644 --- a/engine/src/flutter/display_list/display_list.h +++ b/engine/src/flutter/display_list/display_list.h @@ -133,8 +133,7 @@ namespace flutter { V(DrawAtlasCulled) \ \ V(DrawDisplayList) \ - V(DrawTextBlob) \ - V(DrawTextFrame) \ + V(DrawText) \ \ V(DrawShadow) \ V(DrawShadowTransparentOccluder) @@ -244,9 +243,6 @@ class SaveLayerOptions { bool operator==(const SaveLayerOptions& other) const { return flags_ == other.flags_; } - bool operator!=(const SaveLayerOptions& other) const { - return flags_ != other.flags_; - } private: union { diff --git a/engine/src/flutter/display_list/display_list_unittests.cc b/engine/src/flutter/display_list/display_list_unittests.cc index 1ac80498ebf63..b234b049f5343 100644 --- a/engine/src/flutter/display_list/display_list_unittests.cc +++ b/engine/src/flutter/display_list/display_list_unittests.cc @@ -12,6 +12,7 @@ #include "flutter/display_list/dl_blend_mode.h" #include "flutter/display_list/dl_builder.h" #include "flutter/display_list/dl_paint.h" +#include "flutter/display_list/dl_text_skia.h" #include "flutter/display_list/effects/dl_image_filters.h" #include "flutter/display_list/geometry/dl_path_builder.h" #include "flutter/display_list/geometry/dl_rtree.h" @@ -20,7 +21,12 @@ #include "flutter/display_list/utils/dl_receiver_utils.h" #include "flutter/fml/logging.h" #include "flutter/fml/math.h" -#include "flutter/impeller/typographer/backends/skia/text_frame_skia.h" + +#if IMPELLER_SUPPORTS_RENDERING +#include "flutter/impeller/display_list/dl_text_impeller.h" // nogncheck +#include "flutter/impeller/typographer/backends/skia/text_frame_skia.h" //nogncheck +#endif + #include "flutter/testing/assertions_skia.h" #include "flutter/testing/display_list_testing.h" #include "flutter/testing/testing.h" @@ -1224,7 +1230,13 @@ TEST_F(DisplayListTest, SingleOpsMightSupportGroupOpacityBlendMode) { static auto display_list = builder.Build(); RUN_TESTS2(canvas.DrawDisplayList(display_list);, false); } - RUN_TESTS2(canvas.DrawTextBlob(GetTestTextBlob(1), 0, 0, paint);, false); + RUN_TESTS2(canvas.DrawText(DlTextSkia::Make(GetTestTextBlob(1)), 0, 0, paint); + , false); +#if IMPELLER_SUPPORTS_RENDERING + RUN_TESTS2( + canvas.DrawText(DlTextImpeller::Make(GetTestTextFrame(1)), 0, 0, paint); + , false); +#endif RUN_TESTS2(canvas.DrawShadow(kTestPath1, DlColor::kBlack(), 1.0, false, 1.0); , false); @@ -3516,7 +3528,11 @@ TEST_F(DisplayListTest, NopOperationsOmittedFromRecords) { builder.DrawAtlas(kTestImage1, xforms, rects, nullptr, 2, DlBlendMode::kSrcOver, DlImageSampling::kLinear, nullptr, &paint); - builder.DrawTextBlob(GetTestTextBlob(1), 10, 10, paint); + builder.DrawText(DlTextSkia::Make(GetTestTextBlob(1)), 10, 10, paint); +#if IMPELLER_SUPPORTS_RENDERING + builder.DrawText(DlTextImpeller::Make(GetTestTextFrame(1)), 10, 10, + paint); +#endif // Dst mode eliminates most rendering ops except for // the following two, so we'll prune those manually... @@ -5489,29 +5505,33 @@ TEST_F(DisplayListTest, BoundedRenderOpsDoNotReportUnbounded) { ASSERT_LT(blob->bounds().width(), draw_rect.GetWidth()); ASSERT_LT(blob->bounds().height(), draw_rect.GetHeight()); + auto text = DlTextSkia::Make(blob); // Draw once at upper left and again at lower right to fill the bounds. - builder.DrawTextBlob(blob, draw_rect.GetLeft() - blob->bounds().left(), - draw_rect.GetTop() - blob->bounds().top(), DlPaint()); - builder.DrawTextBlob(blob, draw_rect.GetRight() - blob->bounds().right(), - draw_rect.GetBottom() - blob->bounds().bottom(), - DlPaint()); + builder.DrawText(text, draw_rect.GetLeft() - blob->bounds().left(), + draw_rect.GetTop() - blob->bounds().top(), DlPaint()); + builder.DrawText(text, draw_rect.GetRight() - blob->bounds().right(), + draw_rect.GetBottom() - blob->bounds().bottom(), + DlPaint()); }); +#if IMPELLER_SUPPORTS_RENDERING test_bounded("DrawTextFrame", [](DlCanvas& builder) { auto blob = GetTestTextBlob("Hello"); - auto frame = impeller::MakeTextFrameFromTextBlobSkia(blob); // Make sure the blob fits within the draw_rect bounds. ASSERT_LT(blob->bounds().width(), draw_rect.GetWidth()); ASSERT_LT(blob->bounds().height(), draw_rect.GetHeight()); + auto text = DlTextImpeller::MakeFromBlob(blob); + // Draw once at upper left and again at lower right to fill the bounds. - builder.DrawTextFrame(frame, draw_rect.GetLeft() - blob->bounds().left(), - draw_rect.GetTop() - blob->bounds().top(), DlPaint()); - builder.DrawTextFrame(frame, draw_rect.GetRight() - blob->bounds().right(), - draw_rect.GetBottom() - blob->bounds().bottom(), - DlPaint()); + builder.DrawText(text, draw_rect.GetLeft() - blob->bounds().left(), + draw_rect.GetTop() - blob->bounds().top(), DlPaint()); + builder.DrawText(text, draw_rect.GetRight() - blob->bounds().right(), + draw_rect.GetBottom() - blob->bounds().bottom(), + DlPaint()); }); +#endif test_bounded("DrawBoundedDisplayList", [](DlCanvas& builder) { DisplayListBuilder nested_builder(root_cull); diff --git a/engine/src/flutter/display_list/dl_builder.cc b/engine/src/flutter/display_list/dl_builder.cc index bd9bccbb5d1d4..a5a70aea621ff 100644 --- a/engine/src/flutter/display_list/dl_builder.cc +++ b/engine/src/flutter/display_list/dl_builder.cc @@ -1698,52 +1698,16 @@ void DisplayListBuilder::DrawDisplayList(const sk_sp display_list, current_layer().contains_backdrop_filter = true; } } -void DisplayListBuilder::drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) { - DisplayListAttributeFlags flags = kDrawTextBlobFlags; - OpResult result = PaintResult(current_, flags); - if (result == OpResult::kNoEffect) { - return; - } - DlRect bounds = ToDlRect(blob->bounds().makeOffset(x, y)); - bool unclipped = AccumulateOpBounds(bounds, flags); - // TODO(https://github.com/flutter/flutter/issues/82202): Remove once the - // unit tests can use Fuchsia's font manager instead of the empty default. - // Until then we might encounter empty bounds for otherwise valid text and - // thus we ignore the results from AccumulateOpBounds. -#if defined(OS_FUCHSIA) - unclipped = true; -#endif // OS_FUCHSIA - if (unclipped) { - Push(0, blob, x, y); - // There is no way to query if the glyphs of a text blob overlap and - // there are no current guarantees from either Skia or Impeller that - // they will protect overlapping glyphs from the effects of overdraw - // so we must make the conservative assessment that this DL layer is - // not compatible with group opacity inheritance. - UpdateLayerOpacityCompatibility(false); - UpdateLayerResult(result); - } -} -void DisplayListBuilder::DrawTextBlob(const sk_sp& blob, - DlScalar x, - DlScalar y, - const DlPaint& paint) { - SetAttributesFromPaint(paint, DisplayListOpFlags::kDrawTextBlobFlags); - drawTextBlob(blob, x, y); -} -void DisplayListBuilder::drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) { - DisplayListAttributeFlags flags = kDrawTextBlobFlags; +void DisplayListBuilder::drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) { + DisplayListAttributeFlags flags = kDrawTextFlags; OpResult result = PaintResult(current_, flags); if (result == OpResult::kNoEffect) { return; } - DlRect bounds = text_frame->GetBounds().Shift(x, y); + DlRect bounds = text->GetBounds().Shift(x, y); bool unclipped = AccumulateOpBounds(bounds, flags); // TODO(https://github.com/flutter/flutter/issues/82202): Remove once the // unit tests can use Fuchsia's font manager instead of the empty default. @@ -1753,7 +1717,7 @@ void DisplayListBuilder::drawTextFrame( unclipped = true; #endif // OS_FUCHSIA if (unclipped) { - Push(0, text_frame, x, y); + Push(0, text, x, y); // There is no way to query if the glyphs of a text blob overlap and // there are no current guarantees from either Skia or Impeller that // they will protect overlapping glyphs from the effects of overdraw @@ -1764,13 +1728,12 @@ void DisplayListBuilder::drawTextFrame( } } -void DisplayListBuilder::DrawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y, - const DlPaint& paint) { - SetAttributesFromPaint(paint, DisplayListOpFlags::kDrawTextBlobFlags); - drawTextFrame(text_frame, x, y); +void DisplayListBuilder::DrawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y, + const DlPaint& paint) { + SetAttributesFromPaint(paint, DisplayListOpFlags::kDrawTextFlags); + drawText(text, x, y); } void DisplayListBuilder::DrawShadow(const DlPath& path, diff --git a/engine/src/flutter/display_list/dl_builder.h b/engine/src/flutter/display_list/dl_builder.h index d94401eef0d69..0b8ac5700c587 100644 --- a/engine/src/flutter/display_list/dl_builder.h +++ b/engine/src/flutter/display_list/dl_builder.h @@ -227,19 +227,10 @@ class DisplayListBuilder final : public virtual DlCanvas, void DrawDisplayList(const sk_sp display_list, DlScalar opacity = SK_Scalar1) override; // |DlCanvas| - void DrawTextBlob(const sk_sp& blob, - DlScalar x, - DlScalar y, - const DlPaint& paint) override; - - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override; - - void DrawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y, - const DlPaint& paint) override; + void DrawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y, + const DlPaint& paint) override; // |DlCanvas| void DrawShadow(const DlPath& path, @@ -497,10 +488,12 @@ class DisplayListBuilder final : public virtual DlCanvas, DlScalar opacity) override { DrawDisplayList(display_list, opacity); } + // |DlOpReceiver| - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override; + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override; + // |DlOpReceiver| void drawShadow(const DlPath& path, const DlColor color, diff --git a/engine/src/flutter/display_list/dl_canvas.h b/engine/src/flutter/display_list/dl_canvas.h index d4d8acffd39fa..2707b2e0e43f4 100644 --- a/engine/src/flutter/display_list/dl_canvas.h +++ b/engine/src/flutter/display_list/dl_canvas.h @@ -8,16 +8,13 @@ #include "flutter/display_list/display_list.h" #include "flutter/display_list/dl_blend_mode.h" #include "flutter/display_list/dl_paint.h" +#include "flutter/display_list/dl_text.h" #include "flutter/display_list/dl_types.h" #include "flutter/display_list/dl_vertices.h" #include "flutter/display_list/geometry/dl_geometry_types.h" #include "flutter/display_list/geometry/dl_path.h" #include "flutter/display_list/image/dl_image.h" -#include "third_party/skia/include/core/SkTextBlob.h" - -#include "impeller/typographer/text_frame.h" - namespace flutter { //------------------------------------------------------------------------------ @@ -185,16 +182,11 @@ class DlCanvas { virtual void DrawDisplayList(const sk_sp display_list, DlScalar opacity = SK_Scalar1) = 0; - virtual void DrawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y, - const DlPaint& paint) = 0; + virtual void DrawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y, + const DlPaint& paint) = 0; - virtual void DrawTextBlob(const sk_sp& blob, - DlScalar x, - DlScalar y, - const DlPaint& paint) = 0; /// @brief Draws the shadow of the given |path| rendered in the provided /// |color| (which is only consulted for its opacity) as would be /// produced by a directional light source uniformly shining in diff --git a/engine/src/flutter/display_list/dl_color.h b/engine/src/flutter/display_list/dl_color.h index 602644a80ca03..149db546926dd 100644 --- a/engine/src/flutter/display_list/dl_color.h +++ b/engine/src/flutter/display_list/dl_color.h @@ -181,9 +181,6 @@ struct DlColor { green_ == other.green_ && blue_ == other.blue_ && color_space_ == other.color_space_; } - bool operator!=(DlColor const& other) const { - return !this->operator==(other); - } private: DlScalar alpha_; diff --git a/engine/src/flutter/display_list/dl_op_flags.h b/engine/src/flutter/display_list/dl_op_flags.h index c34c077d32cff..30a5e999064d1 100644 --- a/engine/src/flutter/display_list/dl_op_flags.h +++ b/engine/src/flutter/display_list/dl_op_flags.h @@ -405,7 +405,7 @@ class DisplayListOpFlags : DisplayListFlags { static constexpr DisplayListAttributeFlags kDrawDisplayListFlags{ kIgnoresPaint // }; - static constexpr DisplayListAttributeFlags kDrawTextBlobFlags{ + static constexpr DisplayListAttributeFlags kDrawTextFlags{ DisplayListAttributeFlags(kBasePaintFlags | // kBaseStrokeOrFillFlags | // kMayHaveJoins) // diff --git a/engine/src/flutter/display_list/dl_op_receiver.h b/engine/src/flutter/display_list/dl_op_receiver.h index 674e9816f2b41..efab99ed3eda8 100644 --- a/engine/src/flutter/display_list/dl_op_receiver.h +++ b/engine/src/flutter/display_list/dl_op_receiver.h @@ -17,12 +17,12 @@ #include "flutter/display_list/effects/dl_mask_filter.h" #include "flutter/display_list/geometry/dl_path.h" #include "flutter/display_list/image/dl_image.h" -#include "flutter/impeller/typographer/text_frame.h" #include "flutter/third_party/skia/include/core/SkTextBlob.h" namespace flutter { class DisplayList; +class DlText; //------------------------------------------------------------------------------ /// @brief Internal API for rendering recorded display lists to backends. @@ -357,13 +357,9 @@ class DlOpReceiver { bool render_with_attributes) = 0; virtual void drawDisplayList(const sk_sp display_list, DlScalar opacity = SK_Scalar1) = 0; - virtual void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) = 0; - virtual void drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) = 0; + virtual void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) = 0; virtual void drawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, diff --git a/engine/src/flutter/display_list/dl_op_records.h b/engine/src/flutter/display_list/dl_op_records.h index 013dcbb1f9ec9..28a61350e3674 100644 --- a/engine/src/flutter/display_list/dl_op_records.h +++ b/engine/src/flutter/display_list/dl_op_records.h @@ -9,12 +9,11 @@ #include "flutter/display_list/dl_blend_mode.h" #include "flutter/display_list/dl_op_receiver.h" #include "flutter/display_list/dl_sampling_options.h" +#include "flutter/display_list/dl_text.h" #include "flutter/display_list/effects/dl_color_sources.h" #include "flutter/display_list/utils/dl_comparable.h" #include "flutter/fml/macros.h" -#include "flutter/impeller/typographer/text_frame.h" - // NOLINTBEGIN(clang-analyzer-core.CallAndMessage) namespace flutter { @@ -1001,35 +1000,22 @@ struct DrawDisplayListOp final : DrawOpBase { // 4 byte header + 8 payload bytes + an aligned pointer take 24 bytes // (4 unused to align the pointer) -struct DrawTextBlobOp final : DrawOpBase { - static constexpr auto kType = DisplayListOpType::kDrawTextBlob; +struct DrawTextOp final : DrawOpBase { + static constexpr auto kType = DisplayListOpType::kDrawText; - DrawTextBlobOp(const sk_sp& blob, DlScalar x, DlScalar y) - : DrawOpBase(kType), x(x), y(y), blob(blob) {} + DrawTextOp(const std::shared_ptr& text, DlScalar x, DlScalar y) + : DrawOpBase(kType), x(x), y(y), text(text) {} const DlScalar x; const DlScalar y; - const sk_sp blob; - - void dispatch(DlOpReceiver& receiver) const { - receiver.drawTextBlob(blob, x, y); - } -}; - -struct DrawTextFrameOp final : DrawOpBase { - static constexpr auto kType = DisplayListOpType::kDrawTextFrame; + const std::shared_ptr text; - DrawTextFrameOp(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) - : DrawOpBase(kType), x(x), y(y), text_frame(text_frame) {} + void dispatch(DlOpReceiver& receiver) const { receiver.drawText(text, x, y); } - const DlScalar x; - const DlScalar y; - const std::shared_ptr text_frame; - - void dispatch(DlOpReceiver& receiver) const { - receiver.drawTextFrame(text_frame, x, y); + DisplayListCompare equals(const DrawTextOp* other) const { + return Equals(text, other->text) && x == other->x && y == other->y + ? DisplayListCompare::kEqual + : DisplayListCompare::kNotEqual; } }; diff --git a/engine/src/flutter/display_list/dl_paint.cc b/engine/src/flutter/display_list/dl_paint.cc index 76a682eab9967..ccec201f86950 100644 --- a/engine/src/flutter/display_list/dl_paint.cc +++ b/engine/src/flutter/display_list/dl_paint.cc @@ -13,8 +13,6 @@ DlPaint::DlPaint(DlColor color) draw_style_(static_cast(DlDrawStyle::kDefaultStyle)), stroke_cap_(static_cast(DlStrokeCap::kDefaultCap)), stroke_join_(static_cast(DlStrokeJoin::kDefaultJoin)), - is_anti_alias_(false), - is_invert_colors_(false), color_(color), stroke_width_(kDefaultWidth), stroke_miter_(kDefaultMiter) {} diff --git a/engine/src/flutter/display_list/dl_paint.h b/engine/src/flutter/display_list/dl_paint.h index 843900df2c37c..9e79fea58b834 100644 --- a/engine/src/flutter/display_list/dl_paint.h +++ b/engine/src/flutter/display_list/dl_paint.h @@ -203,7 +203,6 @@ class DlPaint { } bool operator==(DlPaint const& other) const; - bool operator!=(DlPaint const& other) const { return !(*this == other); } private: #define ASSERT_ENUM_FITS(last_enum, num_bits) \ @@ -221,12 +220,12 @@ class DlPaint { union { struct { - unsigned blend_mode_ : kBlendModeBits; - unsigned draw_style_ : kDrawStyleBits; - unsigned stroke_cap_ : kStrokeCapBits; - unsigned stroke_join_ : kStrokeJoinBits; - unsigned is_anti_alias_ : 1; - unsigned is_invert_colors_ : 1; + unsigned blend_mode_ : kBlendModeBits = {}; + unsigned draw_style_ : kDrawStyleBits = {}; + unsigned stroke_cap_ : kStrokeCapBits = {}; + unsigned stroke_join_ : kStrokeJoinBits = {}; + unsigned is_anti_alias_ : 1 = {}; + unsigned is_invert_colors_ : 1 = {}; }; }; diff --git a/engine/src/flutter/display_list/dl_text.cc b/engine/src/flutter/display_list/dl_text.cc new file mode 100644 index 0000000000000..18066fa44789a --- /dev/null +++ b/engine/src/flutter/display_list/dl_text.cc @@ -0,0 +1,16 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/display_list/dl_text.h" + +#include + +namespace flutter { + +bool DlText::operator==(const DlText& other) const { + return GetTextBlob() == other.GetTextBlob() && + GetTextFrame() == other.GetTextFrame(); +} + +} // namespace flutter diff --git a/engine/src/flutter/display_list/dl_text.h b/engine/src/flutter/display_list/dl_text.h new file mode 100644 index 0000000000000..ae1dbabdd5e47 --- /dev/null +++ b/engine/src/flutter/display_list/dl_text.h @@ -0,0 +1,34 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_DISPLAY_LIST_DL_TEXT_H_ +#define FLUTTER_DISPLAY_LIST_DL_TEXT_H_ + +#include "flutter/display_list/geometry/dl_geometry_types.h" + +namespace impeller { +class TextFrame; +} + +class SkTextBlob; + +namespace flutter { +class DlText { + public: + virtual DlRect GetBounds() const = 0; + virtual std::shared_ptr GetTextFrame() const = 0; + virtual const SkTextBlob* GetTextBlob() const = 0; + + bool operator==(const DlText& other) const; + + protected: + DlText() = default; + virtual ~DlText() = default; + + private: + FML_DISALLOW_COPY_AND_ASSIGN(DlText); +}; +} // namespace flutter + +#endif // FLUTTER_DISPLAY_LIST_DL_TEXT_H_ diff --git a/engine/src/flutter/display_list/dl_text_skia.cc b/engine/src/flutter/display_list/dl_text_skia.cc new file mode 100644 index 0000000000000..62bb923243df5 --- /dev/null +++ b/engine/src/flutter/display_list/dl_text_skia.cc @@ -0,0 +1,14 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/display_list/dl_text_skia.h" + +namespace flutter { +std::shared_ptr DlTextSkia::Make(const sk_sp& blob) { + return std::make_shared(blob); +} + +DlTextSkia::DlTextSkia(const sk_sp& blob) : blob_(blob) {} + +} // namespace flutter diff --git a/engine/src/flutter/display_list/dl_text_skia.h b/engine/src/flutter/display_list/dl_text_skia.h new file mode 100644 index 0000000000000..132230c5c3c84 --- /dev/null +++ b/engine/src/flutter/display_list/dl_text_skia.h @@ -0,0 +1,34 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_DISPLAY_LIST_DL_TEXT_SKIA_H_ +#define FLUTTER_DISPLAY_LIST_DL_TEXT_SKIA_H_ + +#include "flutter/display_list/dl_text.h" +#include "flutter/display_list/geometry/dl_geometry_conversions.h" +#include "third_party/skia/include/core/SkTextBlob.h" + +namespace flutter { +class DlTextSkia : public DlText { + public: + static std::shared_ptr Make(const sk_sp& blob); + + ~DlTextSkia() = default; + + explicit DlTextSkia(const sk_sp& blob); + + DlRect GetBounds() const { return ToDlRect(blob_->bounds()); } + + std::shared_ptr GetTextFrame() const { return nullptr; } + + const SkTextBlob* GetTextBlob() const { return blob_.get(); } + + private: + sk_sp blob_; + + FML_DISALLOW_COPY_AND_ASSIGN(DlTextSkia); +}; +} // namespace flutter + +#endif // FLUTTER_DISPLAY_LIST_DL_TEXT_SKIA_H_ diff --git a/engine/src/flutter/display_list/dl_vertices.h b/engine/src/flutter/display_list/dl_vertices.h index a4cffa391af66..23ac01af9a718 100644 --- a/engine/src/flutter/display_list/dl_vertices.h +++ b/engine/src/flutter/display_list/dl_vertices.h @@ -231,8 +231,6 @@ class DlVertices { bool operator==(DlVertices const& other) const; - bool operator!=(DlVertices const& other) const { return !(*this == other); } - private: // Constructors are designed to encapsulate arrays sequentially in memory // which means they can only be called by intantiations that use the diff --git a/engine/src/flutter/display_list/effects/dl_runtime_effect.cc b/engine/src/flutter/display_list/effects/dl_runtime_effect.cc index fa4f221094203..b67f4363b2de2 100644 --- a/engine/src/flutter/display_list/effects/dl_runtime_effect.cc +++ b/engine/src/flutter/display_list/effects/dl_runtime_effect.cc @@ -4,8 +4,6 @@ #include "flutter/display_list/effects/dl_runtime_effect.h" -#include "third_party/skia/include/core/SkRefCnt.h" - namespace flutter { //------------------------------------------------------------------------------ @@ -15,52 +13,4 @@ namespace flutter { DlRuntimeEffect::DlRuntimeEffect() = default; DlRuntimeEffect::~DlRuntimeEffect() = default; -sk_sp DlRuntimeEffect::MakeSkia( - const sk_sp& runtime_effect) { - return sk_make_sp(runtime_effect); -} - -sk_sp DlRuntimeEffect::MakeImpeller( - std::shared_ptr runtime_stage) { - return sk_make_sp(std::move(runtime_stage)); -} - -//------------------------------------------------------------------------------ -/// DlRuntimeEffectSkia -/// - -DlRuntimeEffectSkia::~DlRuntimeEffectSkia() = default; - -DlRuntimeEffectSkia::DlRuntimeEffectSkia( - const sk_sp& runtime_effect) - : skia_runtime_effect_(runtime_effect) {} - -sk_sp DlRuntimeEffectSkia::skia_runtime_effect() const { - return skia_runtime_effect_; -} - -std::shared_ptr DlRuntimeEffectSkia::runtime_stage() - const { - return nullptr; -} - -//------------------------------------------------------------------------------ -/// DlRuntimeEffectImpeller -/// - -DlRuntimeEffectImpeller::~DlRuntimeEffectImpeller() = default; - -DlRuntimeEffectImpeller::DlRuntimeEffectImpeller( - std::shared_ptr runtime_stage) - : runtime_stage_(std::move(runtime_stage)) {}; - -sk_sp DlRuntimeEffectImpeller::skia_runtime_effect() const { - return nullptr; -} - -std::shared_ptr DlRuntimeEffectImpeller::runtime_stage() - const { - return runtime_stage_; -} - } // namespace flutter diff --git a/engine/src/flutter/display_list/effects/dl_runtime_effect.h b/engine/src/flutter/display_list/effects/dl_runtime_effect.h index cfdf172eefec3..06f126afe80f7 100644 --- a/engine/src/flutter/display_list/effects/dl_runtime_effect.h +++ b/engine/src/flutter/display_list/effects/dl_runtime_effect.h @@ -8,21 +8,17 @@ #include #include "flutter/fml/macros.h" -#include "flutter/impeller/runtime_stage/runtime_stage.h" - #include "third_party/skia/include/core/SkRefCnt.h" -#include "third_party/skia/include/effects/SkRuntimeEffect.h" + +class SkRuntimeEffect; +namespace impeller { +class RuntimeStage; +} namespace flutter { class DlRuntimeEffect : public SkRefCnt { public: - static sk_sp MakeSkia( - const sk_sp& runtime_effect); - - static sk_sp MakeImpeller( - std::shared_ptr runtime_stage); - virtual sk_sp skia_runtime_effect() const = 0; virtual std::shared_ptr runtime_stage() const = 0; @@ -35,51 +31,6 @@ class DlRuntimeEffect : public SkRefCnt { FML_DISALLOW_COPY_AND_ASSIGN(DlRuntimeEffect); }; -class DlRuntimeEffectSkia final : public DlRuntimeEffect { - public: - explicit DlRuntimeEffectSkia(const sk_sp& runtime_effect); - - // |DlRuntimeEffect| - sk_sp skia_runtime_effect() const override; - - // |DlRuntimeEffect| - std::shared_ptr runtime_stage() const override; - - private: - DlRuntimeEffectSkia() = delete; - // |DlRuntimeEffect| - ~DlRuntimeEffectSkia() override; - - sk_sp skia_runtime_effect_; - - FML_DISALLOW_COPY_AND_ASSIGN(DlRuntimeEffectSkia); - - friend DlRuntimeEffect; -}; - -class DlRuntimeEffectImpeller final : public DlRuntimeEffect { - public: - explicit DlRuntimeEffectImpeller( - std::shared_ptr runtime_stage); - - // |DlRuntimeEffect| - sk_sp skia_runtime_effect() const override; - - // |DlRuntimeEffect| - std::shared_ptr runtime_stage() const override; - - private: - DlRuntimeEffectImpeller() = delete; - // |DlRuntimeEffect| - ~DlRuntimeEffectImpeller() override; - - std::shared_ptr runtime_stage_; - - FML_DISALLOW_COPY_AND_ASSIGN(DlRuntimeEffectImpeller); - - friend DlRuntimeEffect; -}; - } // namespace flutter #endif // FLUTTER_DISPLAY_LIST_EFFECTS_DL_RUNTIME_EFFECT_H_ diff --git a/engine/src/flutter/display_list/effects/dl_runtime_effect_skia.cc b/engine/src/flutter/display_list/effects/dl_runtime_effect_skia.cc new file mode 100644 index 0000000000000..0ab51ead49433 --- /dev/null +++ b/engine/src/flutter/display_list/effects/dl_runtime_effect_skia.cc @@ -0,0 +1,33 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/display_list/effects/dl_runtime_effect_skia.h" +#include "third_party/skia/include/effects/SkRuntimeEffect.h" + +namespace flutter { +//------------------------------------------------------------------------------ +/// DlRuntimeEffectSkia +/// + +sk_sp DlRuntimeEffectSkia::Make( + const sk_sp& runtime_effect) { + return sk_make_sp(runtime_effect); +} + +DlRuntimeEffectSkia::~DlRuntimeEffectSkia() = default; + +DlRuntimeEffectSkia::DlRuntimeEffectSkia( + const sk_sp& runtime_effect) + : skia_runtime_effect_(runtime_effect) {} + +sk_sp DlRuntimeEffectSkia::skia_runtime_effect() const { + return skia_runtime_effect_; +} + +std::shared_ptr DlRuntimeEffectSkia::runtime_stage() + const { + return nullptr; +} + +} // namespace flutter diff --git a/engine/src/flutter/display_list/effects/dl_runtime_effect_skia.h b/engine/src/flutter/display_list/effects/dl_runtime_effect_skia.h new file mode 100644 index 0000000000000..c44ee2bfbe4c9 --- /dev/null +++ b/engine/src/flutter/display_list/effects/dl_runtime_effect_skia.h @@ -0,0 +1,40 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_DISPLAY_LIST_EFFECTS_DL_RUNTIME_EFFECT_SKIA_H_ +#define FLUTTER_DISPLAY_LIST_EFFECTS_DL_RUNTIME_EFFECT_SKIA_H_ + +#include "flutter/display_list/effects/dl_runtime_effect.h" + +namespace flutter { + +class DlRuntimeEffectSkia final : public DlRuntimeEffect { + public: + // |DlRuntimeEffect| + ~DlRuntimeEffectSkia() override; + + static sk_sp Make( + const sk_sp& runtime_effect); + + explicit DlRuntimeEffectSkia(const sk_sp& runtime_effect); + + // |DlRuntimeEffect| + sk_sp skia_runtime_effect() const override; + + // |DlRuntimeEffect| + std::shared_ptr runtime_stage() const override; + + private: + DlRuntimeEffectSkia() = delete; + + sk_sp skia_runtime_effect_; + + FML_DISALLOW_COPY_AND_ASSIGN(DlRuntimeEffectSkia); + + friend DlRuntimeEffect; +}; + +} // namespace flutter + +#endif // FLUTTER_DISPLAY_LIST_EFFECTS_DL_RUNTIME_EFFECT_SKIA_H_ diff --git a/engine/src/flutter/display_list/geometry/dl_path.h b/engine/src/flutter/display_list/geometry/dl_path.h index b0f57766eb01c..9731d8bb285c0 100644 --- a/engine/src/flutter/display_list/geometry/dl_path.h +++ b/engine/src/flutter/display_list/geometry/dl_path.h @@ -92,7 +92,6 @@ class DlPath : public impeller::PathSource { DlPathFillType GetFillType() const override; bool operator==(const DlPath& other) const; - bool operator!=(const DlPath& other) const { return !(*this == other); } bool IsVolatile() const; bool IsConvex() const override; diff --git a/engine/src/flutter/display_list/skia/dl_sk_canvas.cc b/engine/src/flutter/display_list/skia/dl_sk_canvas.cc index 0d3bf68573748..127aa7aee0513 100644 --- a/engine/src/flutter/display_list/skia/dl_sk_canvas.cc +++ b/engine/src/flutter/display_list/skia/dl_sk_canvas.cc @@ -355,21 +355,15 @@ void DlSkCanvasAdapter::DrawDisplayList(const sk_sp display_list, delegate_->restoreToCount(restore_count); } -void DlSkCanvasAdapter::DrawTextBlob(const sk_sp& blob, - SkScalar x, - SkScalar y, - const DlPaint& paint) { +void DlSkCanvasAdapter::DrawText(const std::shared_ptr& text, + SkScalar x, + SkScalar y, + const DlPaint& paint) { + auto blob = text->GetTextBlob(); + FML_CHECK(blob) << "Impeller DlText cannot be drawn to a Skia canvas."; delegate_->drawTextBlob(blob, x, y, ToSk(paint)); } -void DlSkCanvasAdapter::DrawTextFrame( - const std::shared_ptr& text_frame, - SkScalar x, - SkScalar y, - const DlPaint& paint) { - FML_CHECK(false); -} - void DlSkCanvasAdapter::DrawShadow(const DlPath& path, const DlColor color, const SkScalar elevation, diff --git a/engine/src/flutter/display_list/skia/dl_sk_canvas.h b/engine/src/flutter/display_list/skia/dl_sk_canvas.h index 9c03d10fa9452..dbb6582db3d66 100644 --- a/engine/src/flutter/display_list/skia/dl_sk_canvas.h +++ b/engine/src/flutter/display_list/skia/dl_sk_canvas.h @@ -9,7 +9,10 @@ #include "flutter/display_list/dl_canvas.h" #include "flutter/display_list/skia/dl_sk_types.h" -#include "impeller/typographer/text_frame.h" + +namespace impeller { +class TextFrame; +} namespace flutter { @@ -149,14 +152,10 @@ class DlSkCanvasAdapter final : public virtual DlCanvas { const DlPaint* paint = nullptr) override; void DrawDisplayList(const sk_sp display_list, DlScalar opacity = SK_Scalar1) override; - void DrawTextBlob(const sk_sp& blob, - DlScalar x, - DlScalar y, - const DlPaint& paint) override; - void DrawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y, - const DlPaint& paint) override; + void DrawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y, + const DlPaint& paint) override; void DrawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, diff --git a/engine/src/flutter/display_list/skia/dl_sk_conversions.cc b/engine/src/flutter/display_list/skia/dl_sk_conversions.cc index 6c3be433ea4ab..6c99868f0e374 100644 --- a/engine/src/flutter/display_list/skia/dl_sk_conversions.cc +++ b/engine/src/flutter/display_list/skia/dl_sk_conversions.cc @@ -11,6 +11,7 @@ #include "third_party/skia/include/core/SkColorFilter.h" #include "third_party/skia/include/effects/SkGradientShader.h" #include "third_party/skia/include/effects/SkImageFilters.h" +#include "third_party/skia/include/effects/SkRuntimeEffect.h" namespace flutter { diff --git a/engine/src/flutter/display_list/skia/dl_sk_conversions_unittests.cc b/engine/src/flutter/display_list/skia/dl_sk_conversions_unittests.cc index bf52be3afd2af..d12b4c0847324 100644 --- a/engine/src/flutter/display_list/skia/dl_sk_conversions_unittests.cc +++ b/engine/src/flutter/display_list/skia/dl_sk_conversions_unittests.cc @@ -10,10 +10,12 @@ #include "flutter/display_list/effects/dl_color_filters.h" #include "flutter/display_list/effects/dl_color_sources.h" #include "flutter/display_list/effects/dl_image_filters.h" +#include "flutter/display_list/effects/dl_runtime_effect_skia.h" #include "flutter/display_list/skia/dl_sk_conversions.h" #include "flutter/third_party/skia/include/core/SkColorSpace.h" #include "flutter/third_party/skia/include/core/SkSamplingOptions.h" #include "flutter/third_party/skia/include/core/SkTileMode.h" +#include "flutter/third_party/skia/include/effects/SkRuntimeEffect.h" #include "gtest/gtest.h" @@ -292,11 +294,11 @@ TEST(DisplayListVertices, ConvertWithZeroAndNegativeVerticesAndIndices) { } TEST(DisplayListColorSource, ConvertRuntimeEffect) { - const sk_sp kTestRuntimeEffect1 = DlRuntimeEffect::MakeSkia( + const sk_sp kTestRuntimeEffect1 = DlRuntimeEffectSkia::Make( SkRuntimeEffect::MakeForShader( SkString("vec4 main(vec2 p) { return vec4(0); }")) .effect); - const sk_sp kTestRuntimeEffect2 = DlRuntimeEffect::MakeSkia( + const sk_sp kTestRuntimeEffect2 = DlRuntimeEffectSkia::Make( SkRuntimeEffect::MakeForShader( SkString("vec4 main(vec2 p) { return vec4(1); }")) .effect); @@ -313,7 +315,7 @@ TEST(DisplayListColorSource, ConvertRuntimeEffect) { } TEST(DisplayListColorSource, ConvertRuntimeEffectWithNullSampler) { - const sk_sp kTestRuntimeEffect1 = DlRuntimeEffect::MakeSkia( + const sk_sp kTestRuntimeEffect1 = DlRuntimeEffectSkia::Make( SkRuntimeEffect::MakeForShader( SkString("vec4 main(vec2 p) { return vec4(0); }")) .effect); diff --git a/engine/src/flutter/display_list/skia/dl_sk_dispatcher.cc b/engine/src/flutter/display_list/skia/dl_sk_dispatcher.cc index a9a43e0882456..30323143c331f 100644 --- a/engine/src/flutter/display_list/skia/dl_sk_dispatcher.cc +++ b/engine/src/flutter/display_list/skia/dl_sk_dispatcher.cc @@ -315,19 +315,14 @@ void DlSkCanvasDispatcher::drawDisplayList( // Restore canvas state to what it was before dispatching. canvas_->restoreToCount(restore_count); } -void DlSkCanvasDispatcher::drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) { +void DlSkCanvasDispatcher::drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) { + auto blob = text->GetTextBlob(); + FML_CHECK(blob) << "Impeller DlText cannot be drawn to a Skia canvas."; canvas_->drawTextBlob(blob, x, y, paint()); } -void DlSkCanvasDispatcher::drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) { - FML_CHECK(false); -} - void DlSkCanvasDispatcher::DrawShadow(SkCanvas* canvas, const SkPath& path, DlColor color, diff --git a/engine/src/flutter/display_list/skia/dl_sk_dispatcher.h b/engine/src/flutter/display_list/skia/dl_sk_dispatcher.h index e06a75b175cdb..d37c6c6b880ec 100644 --- a/engine/src/flutter/display_list/skia/dl_sk_dispatcher.h +++ b/engine/src/flutter/display_list/skia/dl_sk_dispatcher.h @@ -111,12 +111,9 @@ class DlSkCanvasDispatcher : public virtual DlOpReceiver, bool render_with_attributes) override; void drawDisplayList(const sk_sp display_list, DlScalar opacity) override; - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override; - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override; + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override; void drawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, diff --git a/engine/src/flutter/display_list/testing/BUILD.gn b/engine/src/flutter/display_list/testing/BUILD.gn index 8e1a0536126fd..17dd25c8a9d89 100644 --- a/engine/src/flutter/display_list/testing/BUILD.gn +++ b/engine/src/flutter/display_list/testing/BUILD.gn @@ -22,6 +22,10 @@ source_set("display_list_testing") { ] public_deps = [ "//flutter/display_list:display_list" ] + + if (impeller_supports_rendering) { + public_deps += [ "//flutter/impeller/display_list" ] + } } surface_provider_include_software = !is_android && !is_ios diff --git a/engine/src/flutter/display_list/testing/dl_rendering_unittests.cc b/engine/src/flutter/display_list/testing/dl_rendering_unittests.cc index 0c1248cec0988..f1e0958c15edc 100644 --- a/engine/src/flutter/display_list/testing/dl_rendering_unittests.cc +++ b/engine/src/flutter/display_list/testing/dl_rendering_unittests.cc @@ -8,6 +8,7 @@ #include "flutter/display_list/dl_builder.h" #include "flutter/display_list/dl_op_flags.h" #include "flutter/display_list/dl_sampling_options.h" +#include "flutter/display_list/dl_text_skia.h" #include "flutter/display_list/effects/color_filters/dl_matrix_color_filter.h" #include "flutter/display_list/effects/dl_image_filter.h" #include "flutter/display_list/geometry/dl_geometry_conversions.h" @@ -23,7 +24,8 @@ #include "flutter/testing/display_list_testing.h" #include "flutter/testing/testing.h" #ifdef IMPELLER_SUPPORTS_RENDERING -#include "flutter/impeller/typographer/backends/skia/text_frame_skia.h" +#include "flutter/impeller/display_list/dl_text_impeller.h" // nogncheck +#include "flutter/impeller/typographer/backends/skia/text_frame_skia.h" // nogncheck #endif // IMPELLER_SUPPORTS_RENDERING #include "third_party/skia/include/core/SkBBHFactory.h" @@ -3869,8 +3871,10 @@ TEST_F(DisplayListRendering, DrawTextBlob) { #else sk_sp blob = CanvasCompareTester::MakeTextBlob("Testing", kRenderHeight * 0.33f); + std::shared_ptr skiaText = DlTextSkia::Make(blob); #ifdef IMPELLER_SUPPORTS_RENDERING auto frame = impeller::MakeTextFrameFromTextBlobSkia(blob); + std::shared_ptr impellerText = DlTextImpeller::Make(frame); #endif // IMPELLER_SUPPORTS_RENDERING DlScalar render_y_1_3 = kRenderTop + kRenderHeight * 0.3; DlScalar render_y_2_3 = kRenderTop + kRenderHeight * 0.6; @@ -3884,19 +3888,22 @@ TEST_F(DisplayListRendering, DrawTextBlob) { }, [=](const DlRenderContext& ctx) { auto paint = ctx.paint; - ctx.canvas->DrawTextBlob(blob, kRenderLeft, render_y_1_3, paint); - ctx.canvas->DrawTextBlob(blob, kRenderLeft, render_y_2_3, paint); - ctx.canvas->DrawTextBlob(blob, kRenderLeft, kRenderBottom, paint); + ctx.canvas->DrawText(skiaText, kRenderLeft, render_y_1_3, paint); + ctx.canvas->DrawText(skiaText, kRenderLeft, render_y_2_3, paint); + ctx.canvas->DrawText(skiaText, kRenderLeft, kRenderBottom, paint); }, #ifdef IMPELLER_SUPPORTS_RENDERING [=](const DlRenderContext& ctx) { auto paint = ctx.paint; - ctx.canvas->DrawTextFrame(frame, kRenderLeft, render_y_1_3, paint); - ctx.canvas->DrawTextFrame(frame, kRenderLeft, render_y_2_3, paint); - ctx.canvas->DrawTextFrame(frame, kRenderLeft, kRenderBottom, paint); + ctx.canvas->DrawText(impellerText, kRenderLeft, render_y_1_3, + paint); + ctx.canvas->DrawText(impellerText, kRenderLeft, render_y_2_3, + paint); + ctx.canvas->DrawText(impellerText, kRenderLeft, kRenderBottom, + paint); }, #endif // IMPELLER_SUPPORTS_RENDERING - kDrawTextBlobFlags) + kDrawTextFlags) .set_draw_text_blob(), // From examining the bounds differential for the "Default" case, the // SkTextBlob adds a padding of ~32 on the left, ~30 on the right, diff --git a/engine/src/flutter/display_list/testing/dl_test_snippets.cc b/engine/src/flutter/display_list/testing/dl_test_snippets.cc index a82501f35f8de..e59f12daa53fe 100644 --- a/engine/src/flutter/display_list/testing/dl_test_snippets.cc +++ b/engine/src/flutter/display_list/testing/dl_test_snippets.cc @@ -5,7 +5,12 @@ #include "flutter/display_list/testing/dl_test_snippets.h" #include "flutter/display_list/dl_builder.h" #include "flutter/display_list/dl_op_receiver.h" +#include "flutter/display_list/dl_text_skia.h" #include "flutter/display_list/skia/dl_sk_canvas.h" +#if IMPELLER_SUPPORTS_RENDERING +#include "flutter/impeller/display_list/dl_text_impeller.h" // nogncheck +#include "flutter/impeller/typographer/backends/skia/text_frame_skia.h" // nogncheck +#endif #include "third_party/skia/include/core/SkFontMgr.h" #include "third_party/skia/include/core/SkTypeface.h" #include "txt/platform.h" @@ -1084,24 +1089,42 @@ std::vector CreateAllRenderingOps() { }, 1u}, }}, - {"DrawTextBlob", + {"DrawText", { - {1, 24, 1, + {1, 32, 1, [](DlOpReceiver& r) { - r.drawTextBlob(GetTestTextBlob(1), 10, 10); + r.drawText(DlTextSkia::Make(GetTestTextBlob(1)), 10, 10); }}, - {1, 24, 1, + {1, 32, 1, [](DlOpReceiver& r) { - r.drawTextBlob(GetTestTextBlob(1), 20, 10); + r.drawText(DlTextSkia::Make(GetTestTextBlob(1)), 20, 10); }}, - {1, 24, 1, + {1, 32, 1, [](DlOpReceiver& r) { - r.drawTextBlob(GetTestTextBlob(1), 10, 20); + r.drawText(DlTextSkia::Make(GetTestTextBlob(1)), 10, 20); }}, - {1, 24, 1, + {1, 32, 1, + [](DlOpReceiver& r) { + r.drawText(DlTextSkia::Make(GetTestTextBlob(2)), 10, 10); + }}, +#if IMPELLER_SUPPORTS_RENDERING + {1, 32, 1, + [](DlOpReceiver& r) { + r.drawText(DlTextImpeller::Make(GetTestTextFrame(1)), 10, 10); + }}, + {1, 32, 1, + [](DlOpReceiver& r) { + r.drawText(DlTextImpeller::Make(GetTestTextFrame(1)), 20, 10); + }}, + {1, 32, 1, + [](DlOpReceiver& r) { + r.drawText(DlTextImpeller::Make(GetTestTextFrame(1)), 10, 20); + }}, + {1, 32, 1, [](DlOpReceiver& r) { - r.drawTextBlob(GetTestTextBlob(2), 10, 10); + r.drawText(DlTextImpeller::Make(GetTestTextFrame(2)), 10, 10); }}, +#endif }}, {"DrawShadow", { @@ -1172,6 +1195,20 @@ sk_sp GetTestTextBlob(int index) { return blob; } +#if IMPELLER_SUPPORTS_RENDERING +std::shared_ptr GetTestTextFrame(int index) { + static std::map> text_frames; + auto it = text_frames.find(index); + if (it != text_frames.end()) { + return it->second; + } + auto blob = GetTestTextBlob(index); + auto frame = impeller::MakeTextFrameFromTextBlobSkia(blob); + text_frames.insert(std::make_pair(index, frame)); + return frame; +} +#endif + sk_sp GetTestTextBlob(const std::string& text, DlScalar font_size) { return SkTextBlob::MakeFromText(text.c_str(), text.size(), CreateTestFontOfSize(font_size), diff --git a/engine/src/flutter/display_list/testing/dl_test_snippets.h b/engine/src/flutter/display_list/testing/dl_test_snippets.h index aa2d22609e649..b0afca7d40e3a 100644 --- a/engine/src/flutter/display_list/testing/dl_test_snippets.h +++ b/engine/src/flutter/display_list/testing/dl_test_snippets.h @@ -10,6 +10,7 @@ #include "flutter/display_list/effects/color_filters/dl_blend_color_filter.h" #include "flutter/display_list/effects/dl_color_sources.h" #include "flutter/display_list/effects/dl_image_filters.h" +#include "flutter/display_list/effects/dl_runtime_effect_skia.h" #include "flutter/testing/testing.h" #include "third_party/skia/include/core/SkPath.h" @@ -17,6 +18,7 @@ #include "third_party/skia/include/core/SkSurface.h" #include "third_party/skia/include/effects/SkGradientShader.h" #include "third_party/skia/include/effects/SkImageFilters.h" +#include "third_party/skia/include/effects/SkRuntimeEffect.h" namespace flutter { namespace testing { @@ -213,12 +215,12 @@ static sk_sp TestDisplayList2 = MakeTestDisplayList(25, 25, SK_ColorBLUE); static const sk_sp kTestRuntimeEffect1 = - DlRuntimeEffect::MakeSkia( + DlRuntimeEffectSkia::Make( SkRuntimeEffect::MakeForShader( SkString("vec4 main(vec2 p) { return vec4(0); }")) .effect); static const sk_sp kTestRuntimeEffect2 = - DlRuntimeEffect::MakeSkia( + DlRuntimeEffectSkia::Make( SkRuntimeEffect::MakeForShader( SkString("vec4 main(vec2 p) { return vec4(1); }")) .effect); @@ -228,6 +230,9 @@ SkFont CreateTestFontOfSize(DlScalar scalar); sk_sp GetTestTextBlob(const std::string& str, DlScalar font_size = 20.0f); sk_sp GetTestTextBlob(int index); +#if IMPELLER_SUPPORTS_RENDERING +std::shared_ptr GetTestTextFrame(int index); +#endif struct DisplayListInvocation { // ---------------------------------- diff --git a/engine/src/flutter/display_list/utils/dl_receiver_utils.h b/engine/src/flutter/display_list/utils/dl_receiver_utils.h index a518f1ef6bd1f..208cfe55a7a7a 100644 --- a/engine/src/flutter/display_list/utils/dl_receiver_utils.h +++ b/engine/src/flutter/display_list/utils/dl_receiver_utils.h @@ -132,12 +132,9 @@ class IgnoreDrawDispatchHelper : public virtual DlOpReceiver { bool render_with_attributes) override {} void drawDisplayList(const sk_sp display_list, DlScalar opacity) override {} - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override {} - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override {} + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override {} void drawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, diff --git a/engine/src/flutter/examples/glfw/main.dart b/engine/src/flutter/examples/glfw/main.dart index 1edbdc8013c29..d7d825fb46106 100644 --- a/engine/src/flutter/examples/glfw/main.dart +++ b/engine/src/flutter/examples/glfw/main.dart @@ -122,7 +122,7 @@ class _MyHomePageState extends State { onPressed: _incrementCounter, tooltip: 'Increment', child: Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. + ), ); } } diff --git a/engine/src/flutter/flow/BUILD.gn b/engine/src/flutter/flow/BUILD.gn index 0f15ba2f356f9..89abc7244af28 100644 --- a/engine/src/flutter/flow/BUILD.gn +++ b/engine/src/flutter/flow/BUILD.gn @@ -107,6 +107,7 @@ source_set("flow") { if (impeller_supports_rendering) { deps += [ "//flutter/impeller", + "//flutter/impeller/display_list", "//flutter/impeller/typographer/backends/skia:typographer_skia_backend", ] } diff --git a/engine/src/flutter/flow/embedded_views.h b/engine/src/flutter/flow/embedded_views.h index 477a1969026be..b9ddd9f3ab3b3 100644 --- a/engine/src/flutter/flow/embedded_views.h +++ b/engine/src/flutter/flow/embedded_views.h @@ -56,10 +56,6 @@ class ImageFilterMutation { return *filter_ == *other.filter_ && filter_rect_ == other.filter_rect_; } - bool operator!=(const ImageFilterMutation& other) const { - return !operator==(other); - } - private: std::shared_ptr filter_; const DlRect filter_rect_; @@ -107,8 +103,6 @@ class Mutator { bool operator==(const Mutator& other) const { return data_ == other.data_; } - bool operator!=(const Mutator& other) const { return !operator==(other); } - bool IsClipType() { switch (GetType()) { case MutatorType::kClipRect: diff --git a/engine/src/flutter/flow/frame_timings_recorder_unittests.cc b/engine/src/flutter/flow/frame_timings_recorder_unittests.cc index c7fa7390a4c6e..37a3db1d766af 100644 --- a/engine/src/flutter/flow/frame_timings_recorder_unittests.cc +++ b/engine/src/flutter/flow/frame_timings_recorder_unittests.cc @@ -2,7 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include #include + #include "flutter/flow/frame_timings.h" #include "flutter/flow/testing/layer_test.h" #include "flutter/flow/testing/mock_layer.h" @@ -288,9 +290,8 @@ TEST(FrameTimingsRecorderTest, ClonedHasSameRasterEndWithCache) { TEST(FrameTimingsRecorderTest, FrameNumberTraceArgIsValid) { auto recorder = std::make_unique(); - char buff[50]; - sprintf(buff, "%d", static_cast(recorder->GetFrameNumber())); - std::string actual_arg = buff; + std::string actual_arg = + std::format("{}", static_cast(recorder->GetFrameNumber())); std::string expected_arg = recorder->GetFrameNumberTraceArg(); ASSERT_EQ(actual_arg, expected_arg); diff --git a/engine/src/flutter/flow/layers/performance_overlay_layer.cc b/engine/src/flutter/flow/layers/performance_overlay_layer.cc index f8b67aee206e1..505f6081c61be 100644 --- a/engine/src/flutter/flow/layers/performance_overlay_layer.cc +++ b/engine/src/flutter/flow/layers/performance_overlay_layer.cc @@ -9,6 +9,7 @@ #include #include +#include "display_list/dl_text_skia.h" #include "flow/stopwatch.h" #include "flow/stopwatch_dl.h" #include "flow/stopwatch_sk.h" @@ -18,6 +19,7 @@ #include "third_party/skia/include/core/SkTypeface.h" #include "txt/platform.h" #ifdef IMPELLER_SUPPORTS_RENDERING +#include "impeller/display_list/dl_text_impeller.h" // nogncheck #include "impeller/typographer/backends/skia/text_frame_skia.h" // nogncheck #endif // IMPELLER_SUPPORTS_RENDERING @@ -57,12 +59,14 @@ void VisualizeStopWatch(DlCanvas* canvas, DlPaint paint(DlColor(0xFF888888)); #ifdef IMPELLER_SUPPORTS_RENDERING if (impeller_enabled) { - canvas->DrawTextFrame(impeller::MakeTextFrameFromTextBlobSkia(text), - x + label_x, y + height + label_y, paint); + canvas->DrawText( + DlTextImpeller::Make(impeller::MakeTextFrameFromTextBlobSkia(text)), + x + label_x, y + height + label_y, paint); return; } #endif // IMPELLER_SUPPORTS_RENDERING - canvas->DrawTextBlob(text, x + label_x, y + height + label_y, paint); + canvas->DrawText(DlTextSkia::Make(text), x + label_x, y + height + label_y, + paint); } } diff --git a/engine/src/flutter/flow/layers/performance_overlay_layer_unittests.cc b/engine/src/flutter/flow/layers/performance_overlay_layer_unittests.cc index 2cb56a05f34f8..e787e9162ac66 100644 --- a/engine/src/flutter/flow/layers/performance_overlay_layer_unittests.cc +++ b/engine/src/flutter/flow/layers/performance_overlay_layer_unittests.cc @@ -144,20 +144,20 @@ class ImageSizeTextBlobInspector : public virtual DlOpReceiver, sizes_.push_back(image->GetBounds().GetSize()); } - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override { - text_blobs_.push_back(blob); + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override { + texts_.push_back(text); text_positions_.push_back(DlPoint(x, y)); } const std::vector& sizes() { return sizes_; } - const std::vector> text_blobs() { return text_blobs_; } + const std::vector> texts() { return texts_; } const std::vector text_positions() { return text_positions_; } private: std::vector sizes_; - std::vector> text_blobs_; + std::vector> texts_; std::vector text_positions_; }; @@ -220,9 +220,10 @@ TEST_F(PerformanceOverlayLayerTest, SimpleRasterizerStatistics) { display_list()->Dispatch(inspector); ASSERT_EQ(inspector.sizes().size(), 0u); - ASSERT_EQ(inspector.text_blobs().size(), 1u); + ASSERT_EQ(inspector.texts().size(), 1u); ASSERT_EQ(inspector.text_positions().size(), 1u); - auto text_data = inspector.text_blobs().front()->serialize(SkSerialProcs{}); + auto text_data = + inspector.texts().front()->GetTextBlob()->serialize(SkSerialProcs{}); EXPECT_TRUE(text_data->equals(overlay_text_data.get())); EXPECT_EQ(inspector.text_positions().front(), text_position); } @@ -241,7 +242,7 @@ TEST_F(PerformanceOverlayLayerTest, MarkAsDirtyWhenResized) { ImageSizeTextBlobInspector inspector; display_list()->Dispatch(inspector); ASSERT_EQ(inspector.sizes().size(), 1u); - ASSERT_EQ(inspector.text_blobs().size(), 0u); + ASSERT_EQ(inspector.texts().size(), 0u); ASSERT_EQ(inspector.text_positions().size(), 0u); first_draw_size = inspector.sizes().front(); } @@ -256,7 +257,7 @@ TEST_F(PerformanceOverlayLayerTest, MarkAsDirtyWhenResized) { ImageSizeTextBlobInspector inspector; display_list()->Dispatch(inspector); ASSERT_EQ(inspector.sizes().size(), 1u); - ASSERT_EQ(inspector.text_blobs().size(), 0u); + ASSERT_EQ(inspector.texts().size(), 0u); ASSERT_EQ(inspector.text_positions().size(), 0u); EXPECT_NE(first_draw_size, inspector.sizes().front()); } diff --git a/engine/src/flutter/flow/raster_cache_key.h b/engine/src/flutter/flow/raster_cache_key.h index a5ae755defd35..93afd1db35b27 100644 --- a/engine/src/flutter/flow/raster_cache_key.h +++ b/engine/src/flutter/flow/raster_cache_key.h @@ -64,10 +64,6 @@ class RasterCacheKeyID { GetHash() == other.GetHash() && child_ids_ == other.child_ids_; } - bool operator!=(const RasterCacheKeyID& other) const { - return !operator==(other); - } - private: const uint64_t unique_id_; const RasterCacheKeyType type_; diff --git a/engine/src/flutter/flow/surface.h b/engine/src/flutter/flow/surface.h index 581f79f9a3da2..c97b66390b810 100644 --- a/engine/src/flutter/flow/surface.h +++ b/engine/src/flutter/flow/surface.h @@ -12,6 +12,8 @@ #include "flutter/flow/surface_frame.h" #include "flutter/fml/macros.h" +#include "third_party/skia/include/core/SkData.h" + class GrDirectContext; namespace impeller { diff --git a/engine/src/flutter/fml/BUILD.gn b/engine/src/flutter/fml/BUILD.gn index 6069cd53a5a86..1cf7f2cb8b5f9 100644 --- a/engine/src/flutter/fml/BUILD.gn +++ b/engine/src/flutter/fml/BUILD.gn @@ -33,8 +33,6 @@ source_set("fml") { "hash_combine.h", "hex_codec.cc", "hex_codec.h", - "icu_util.cc", - "icu_util.h", "log_level.h", "log_settings.cc", "log_settings.h", @@ -101,7 +99,7 @@ source_set("fml") { "wakeable.h", ] - if (enable_backtrace) { + if (enable_backtrace && !is_wasm) { sources += [ "backtrace.cc" ] } else { sources += [ "backtrace_stub.cc" ] @@ -113,15 +111,24 @@ source_set("fml") { ":string_conversion", ] - deps = [ "//flutter/third_party/icu" ] + deps = [] + if (target_os != "wasm") { + deps += [ "//flutter/third_party/icu" ] + + sources += [ + "icu_util.cc", + "icu_util.h", + ] + } if (enable_backtrace) { # This abseil dependency is only used by backtrace.cc. deps += [ "//flutter/third_party/abseil-cpp/absl/debugging:symbolize" ] } - configs += [ "//flutter/third_party/icu:icu_config" ] - + if (target_os != "wasm") { + configs += [ "//flutter/third_party/icu:icu_config" ] + } public_configs = [ "//flutter:config", "//flutter/common:flutter_config", @@ -207,7 +214,7 @@ source_set("fml") { ] public_deps += [ - "${fuchsia_sdk}/fidl/fuchsia.diagnostics:fuchsia.diagnostics_cpp", + "${fuchsia_sdk}/fidl/fuchsia.diagnostics.types:fuchsia.diagnostics.types_cpp", "${fuchsia_sdk}/fidl/fuchsia.logger:fuchsia.logger_cpp", "${fuchsia_sdk}/pkg/async-cpp", "${fuchsia_sdk}/pkg/async-loop-cpp", diff --git a/engine/src/flutter/fml/backtrace.cc b/engine/src/flutter/fml/backtrace.cc index aa87c36bcc7bf..9f71ba720b1b4 100644 --- a/engine/src/flutter/fml/backtrace.cc +++ b/engine/src/flutter/fml/backtrace.cc @@ -13,9 +13,9 @@ #include "flutter/third_party/abseil-cpp/absl/debugging/symbolize.h" #ifdef FML_OS_WIN -#include #include #include +#include "flutter/fml/platform/win/windows_shim.h" #else // FML_OS_WIN #include #endif // FML_OS_WIN diff --git a/engine/src/flutter/fml/build_config.h b/engine/src/flutter/fml/build_config.h index d42a88e5bbce0..aa2f0d7bdf9f9 100644 --- a/engine/src/flutter/fml/build_config.h +++ b/engine/src/flutter/fml/build_config.h @@ -50,6 +50,8 @@ #define FML_OS_SOLARIS 1 #elif defined(__QNXNTO__) #define FML_OS_QNX 1 +#elif defined(__EMSCRIPTEN__) +#define FML_OS_EMSCRIPTEN #else #error Please add support for your platform in flutter/fml/build_config.h #endif @@ -93,9 +95,22 @@ #define FML_ARCH_CPU_ARM64 1 #define FML_ARCH_CPU_64_BITS 1 #define FML_ARCH_CPU_LITTLE_ENDIAN 1 +#elif defined(__riscv) && __SIZEOF_POINTER__ == 4 +#define FML_ARCH_CPU_RISCV_FAMILY 1 +#define FML_ARCH_CPU_RISCV32 1 +#define FML_ARCH_CPU_32_BITS 1 +#define FML_ARCH_CPU_LITTLE_ENDIAN 1 +#elif defined(__riscv) && __SIZEOF_POINTER__ == 8 +#define FML_ARCH_CPU_RISCV_FAMILY 1 +#define FML_ARCH_CPU_RISCV64 1 +#define FML_ARCH_CPU_64_BITS 1 +#define FML_ARCH_CPU_LITTLE_ENDIAN 1 #elif defined(__pnacl__) #define FML_ARCH_CPU_32_BITS 1 #define FML_ARCH_CPU_LITTLE_ENDIAN 1 +#elif defined(__EMSCRIPTEN__) +#define FML_ARGH_CPU_32_BITS 1 +#define FML_ARCH_CPU_LITTLE_ENDIAN 1 #else #error Please add support for your architecture in flutter/fml/build_config.h #endif diff --git a/engine/src/flutter/fml/command_line.h b/engine/src/flutter/fml/command_line.h index 67bb7a6129183..6918ff6f2482c 100644 --- a/engine/src/flutter/fml/command_line.h +++ b/engine/src/flutter/fml/command_line.h @@ -66,7 +66,6 @@ class CommandLine final { bool operator==(const Option& other) const { return name == other.name && value == other.value; } - bool operator!=(const Option& other) const { return !operator==(other); } std::string name; std::string value; @@ -103,7 +102,6 @@ class CommandLine final { options_ == other.options_ && positional_args_ == other.positional_args_; } - bool operator!=(const CommandLine& other) const { return !operator==(other); } // Returns true if this command line has the option |name| (and if |index| is // non-null, sets |*index| to the index of the *last* occurrence of the given diff --git a/engine/src/flutter/fml/file_unittest.cc b/engine/src/flutter/fml/file_unittest.cc index 647f82b7f5a2d..6e55d1c976245 100644 --- a/engine/src/flutter/fml/file_unittest.cc +++ b/engine/src/flutter/fml/file_unittest.cc @@ -343,7 +343,7 @@ TEST(FileTest, FileTestsWork) { TEST(FileTest, FileTestsSupportsUnicode) { fml::ScopedTemporaryDirectory dir; ASSERT_TRUE(dir.fd().is_valid()); - const char* filename = u8"äëïöüテスト☃"; + const auto* filename = reinterpret_cast(u8"äëïöüテスト☃"); auto fd = fml::OpenFile(dir.fd(), filename, true, fml::FilePermission::kWrite); ASSERT_TRUE(fd.is_valid()); diff --git a/engine/src/flutter/fml/memory/thread_checker.h b/engine/src/flutter/fml/memory/thread_checker.h index 220ea6fb67782..d859d3aaa4ed4 100644 --- a/engine/src/flutter/fml/memory/thread_checker.h +++ b/engine/src/flutter/fml/memory/thread_checker.h @@ -13,7 +13,7 @@ #include "flutter/fml/macros.h" #if defined(FML_OS_WIN) -#include +#include "flutter/fml/platform/win/windows_shim.h" #else #include #endif diff --git a/engine/src/flutter/fml/native_library.h b/engine/src/flutter/fml/native_library.h index c85b0b4b681f8..cac6758c9e381 100644 --- a/engine/src/flutter/fml/native_library.h +++ b/engine/src/flutter/fml/native_library.h @@ -13,7 +13,7 @@ #include "flutter/fml/memory/ref_ptr.h" #if defined(FML_OS_WIN) -#include +#include "flutter/fml/platform/win/windows_shim.h" #endif // defined(FML_OS_WIN) namespace fml { diff --git a/engine/src/flutter/fml/platform/fuchsia/log_interest_listener.cc b/engine/src/flutter/fml/platform/fuchsia/log_interest_listener.cc index fe123c5a37a1e..f3c2c2da77ad8 100644 --- a/engine/src/flutter/fml/platform/fuchsia/log_interest_listener.cc +++ b/engine/src/flutter/fml/platform/fuchsia/log_interest_listener.cc @@ -4,7 +4,7 @@ #include "flutter/fml/platform/fuchsia/log_interest_listener.h" -#include +#include #include #include @@ -31,16 +31,16 @@ void LogInterestListener::AsyncWaitForInterestChanged() { } void LogInterestListener::HandleInterestChange( - const fuchsia_diagnostics::Interest& interest) { - auto severity = - interest.min_severity().value_or(fuchsia_diagnostics::Severity::kInfo); - if (severity <= fuchsia_diagnostics::Severity::kDebug) { + const fuchsia_diagnostics_types::Interest& interest) { + using fuchsia_diagnostics_types::Severity; + auto severity = interest.min_severity().value_or(Severity::kInfo); + if (severity <= Severity::kDebug) { fml::SetLogSettings({.min_log_level = -1}); // Verbose - } else if (severity <= fuchsia_diagnostics::Severity::kInfo) { + } else if (severity <= Severity::kInfo) { fml::SetLogSettings({.min_log_level = kLogInfo}); - } else if (severity <= fuchsia_diagnostics::Severity::kWarn) { + } else if (severity <= Severity::kWarn) { fml::SetLogSettings({.min_log_level = kLogWarning}); - } else if (severity <= fuchsia_diagnostics::Severity::kError) { + } else if (severity <= Severity::kError) { fml::SetLogSettings({.min_log_level = kLogError}); } else { fml::SetLogSettings({.min_log_level = kLogFatal}); diff --git a/engine/src/flutter/fml/platform/fuchsia/log_interest_listener.h b/engine/src/flutter/fml/platform/fuchsia/log_interest_listener.h index 1cdee950ec5f6..8d04fe337d693 100644 --- a/engine/src/flutter/fml/platform/fuchsia/log_interest_listener.h +++ b/engine/src/flutter/fml/platform/fuchsia/log_interest_listener.h @@ -5,7 +5,7 @@ #ifndef FLUTTER_FML_PLATFORM_FUCHSIA_LOG_INTEREST_LISTENER_H_ #define FLUTTER_FML_PLATFORM_FUCHSIA_LOG_INTEREST_LISTENER_H_ -#include +#include #include #include @@ -26,7 +26,7 @@ class LogInterestListener { // Updates the global log settings in response to a log interest change. static void HandleInterestChange( - const fuchsia_diagnostics::Interest& interest); + const fuchsia_diagnostics_types::Interest& interest); private: fidl::Client<::fuchsia_logger::LogSink> log_sink_; diff --git a/engine/src/flutter/fml/platform/fuchsia/log_interest_listener_unittests.cc b/engine/src/flutter/fml/platform/fuchsia/log_interest_listener_unittests.cc index f2f695eb06383..a33dea8b39a71 100644 --- a/engine/src/flutter/fml/platform/fuchsia/log_interest_listener_unittests.cc +++ b/engine/src/flutter/fml/platform/fuchsia/log_interest_listener_unittests.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include +#include #include #include #include @@ -27,28 +27,33 @@ namespace testing { constexpr static char kLogSink[] = "log_sink"; +using fuchsia_diagnostics_types::Interest; +using fuchsia_diagnostics_types::Severity; + class LogInterestListenerFuchsia : public ::loop_fixture::RealLoop, public ::testing::Test {}; TEST_F(LogInterestListenerFuchsia, SeverityChanges) { ScopedSetLogSettings backup({.min_log_level = kLogInfo}); - { - ::fuchsia_diagnostics::Interest interest; - interest.min_severity(::fuchsia_diagnostics::Severity::kTrace); - LogInterestListener::HandleInterestChange(interest); - EXPECT_EQ(GetMinLogLevel(), -1); // VERBOSE - } - { - ::fuchsia_diagnostics::Interest interest; - interest.min_severity(::fuchsia_diagnostics::Severity::kInfo); - LogInterestListener::HandleInterestChange(interest); - EXPECT_EQ(GetMinLogLevel(), kLogInfo); - } - { - ::fuchsia_diagnostics::Interest interest; - interest.min_severity(::fuchsia_diagnostics::Severity::kError); + + const struct { + Severity severity; + int expected_log_level; + const char* name; + } kTestCases[] = { + {Severity::kTrace, -1, "VERBOSE"}, + {Severity::kInfo, kLogInfo, "INFO"}, + {Severity::kWarn, kLogWarning, "WARNING"}, + {Severity::kError, kLogError, "ERROR"}, + {Severity::kFatal, kLogFatal, "FATAL"}, + }; + + for (const auto& test_case : kTestCases) { + SCOPED_TRACE(test_case.name); + Interest interest; + interest.min_severity(test_case.severity); LogInterestListener::HandleInterestChange(interest); - EXPECT_EQ(GetMinLogLevel(), kLogError); + EXPECT_EQ(GetMinLogLevel(), test_case.expected_log_level); } } @@ -64,7 +69,7 @@ class MockLogSink : public component_testing::LocalComponentImpl, if (first_call_) { // If it has not been called before, then return a result right away. fuchsia_logger::LogSinkWaitForInterestChangeResponse response = { - {.data = {{.min_severity = fuchsia_diagnostics::Severity::kWarn}}}}; + {.data = {{.min_severity = Severity::kWarn}}}}; completer.Reply(fit::ok(response)); first_call_ = false; } else { diff --git a/engine/src/flutter/fml/platform/win/message_loop_win.h b/engine/src/flutter/fml/platform/win/message_loop_win.h index 2210bb1d85a73..34e3d0de3a88f 100644 --- a/engine/src/flutter/fml/platform/win/message_loop_win.h +++ b/engine/src/flutter/fml/platform/win/message_loop_win.h @@ -5,7 +5,7 @@ #ifndef FLUTTER_FML_PLATFORM_WIN_MESSAGE_LOOP_WIN_H_ #define FLUTTER_FML_PLATFORM_WIN_MESSAGE_LOOP_WIN_H_ -#include +#include "flutter/fml/platform/win/windows_shim.h" #include diff --git a/engine/src/flutter/fml/platform/win/windows_shim.h b/engine/src/flutter/fml/platform/win/windows_shim.h new file mode 100644 index 0000000000000..767dd9015b168 --- /dev/null +++ b/engine/src/flutter/fml/platform/win/windows_shim.h @@ -0,0 +1,13 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_FML_PLATFORM_WIN_WINDOWS_SHIM_H_ +#define FLUTTER_FML_PLATFORM_WIN_WINDOWS_SHIM_H_ + +#include + +// Windows includes a macro for `DrawText` which conflicts with our own APIs. +#undef DrawText + +#endif // FLUTTER_FML_PLATFORM_WIN_WINDOWS_SHIM_H_ diff --git a/engine/src/flutter/fml/thread_unittests.cc b/engine/src/flutter/fml/thread_unittests.cc index 8e596edee4618..37381048233a0 100644 --- a/engine/src/flutter/fml/thread_unittests.cc +++ b/engine/src/flutter/fml/thread_unittests.cc @@ -17,7 +17,7 @@ #endif #if defined(FML_OS_WIN) -#include +#include "flutter/fml/platform/win/windows_shim.h" #endif #include diff --git a/engine/src/flutter/fml/time/time_delta.h b/engine/src/flutter/fml/time/time_delta.h index 0ebfa02d0eb2e..1bc8fb54414ca 100644 --- a/engine/src/flutter/fml/time/time_delta.h +++ b/engine/src/flutter/fml/time/time_delta.h @@ -96,12 +96,7 @@ class TimeDelta { return TimeDelta::FromNanoseconds(delta_ % other.delta_); } - bool operator==(TimeDelta other) const { return delta_ == other.delta_; } - bool operator!=(TimeDelta other) const { return delta_ != other.delta_; } - bool operator<(TimeDelta other) const { return delta_ < other.delta_; } - bool operator<=(TimeDelta other) const { return delta_ <= other.delta_; } - bool operator>(TimeDelta other) const { return delta_ > other.delta_; } - bool operator>=(TimeDelta other) const { return delta_ >= other.delta_; } + constexpr auto operator<=>(const TimeDelta& other) const = default; static constexpr TimeDelta FromTimespec(struct timespec ts) { return TimeDelta::FromSeconds(ts.tv_sec) + diff --git a/engine/src/flutter/fml/time/time_point.h b/engine/src/flutter/fml/time/time_point.h index 812fcdfa4c401..9a68593c015c8 100644 --- a/engine/src/flutter/fml/time/time_point.h +++ b/engine/src/flutter/fml/time/time_point.h @@ -49,26 +49,23 @@ class TimePoint { return TimePoint(ticks); } - TimeDelta ToEpochDelta() const { return TimeDelta::FromNanoseconds(ticks_); } + constexpr TimeDelta ToEpochDelta() const { + return TimeDelta::FromNanoseconds(ticks_); + } // Compute the difference between two time points. - TimeDelta operator-(TimePoint other) const { + constexpr TimeDelta operator-(TimePoint other) const { return TimeDelta::FromNanoseconds(ticks_ - other.ticks_); } - TimePoint operator+(TimeDelta duration) const { + constexpr TimePoint operator+(TimeDelta duration) const { return TimePoint(ticks_ + duration.ToNanoseconds()); } - TimePoint operator-(TimeDelta duration) const { + constexpr TimePoint operator-(TimeDelta duration) const { return TimePoint(ticks_ - duration.ToNanoseconds()); } - bool operator==(TimePoint other) const { return ticks_ == other.ticks_; } - bool operator!=(TimePoint other) const { return ticks_ != other.ticks_; } - bool operator<(TimePoint other) const { return ticks_ < other.ticks_; } - bool operator<=(TimePoint other) const { return ticks_ <= other.ticks_; } - bool operator>(TimePoint other) const { return ticks_ > other.ticks_; } - bool operator>=(TimePoint other) const { return ticks_ >= other.ticks_; } + constexpr auto operator<=>(const TimePoint& other) const = default; private: explicit constexpr TimePoint(int64_t ticks) : ticks_(ticks) {} diff --git a/engine/src/flutter/fml/unique_fd.h b/engine/src/flutter/fml/unique_fd.h index 573deb194d3b9..8562a6d176b17 100644 --- a/engine/src/flutter/fml/unique_fd.h +++ b/engine/src/flutter/fml/unique_fd.h @@ -9,10 +9,10 @@ #include "flutter/fml/unique_object.h" #if FML_OS_WIN -#include #include #include #include +#include "flutter/fml/platform/win/windows_shim.h" #else // FML_OS_WIN #include #include diff --git a/engine/src/flutter/fml/unique_object.h b/engine/src/flutter/fml/unique_object.h index 2f3d39571c4e5..6705c42413b9b 100644 --- a/engine/src/flutter/fml/unique_object.h +++ b/engine/src/flutter/fml/unique_object.h @@ -5,6 +5,7 @@ #ifndef FLUTTER_FML_UNIQUE_OBJECT_H_ #define FLUTTER_FML_UNIQUE_OBJECT_H_ +#include #include #include "flutter/fml/logging.h" @@ -12,18 +13,20 @@ namespace fml { -// struct UniqueFooTraits { -// // This function should be fast and inline. -// static int InvalidValue() { return 0; } -// -// // This function should be fast and inline. -// static bool IsValid(const T& value) { return value != InvalidValue(); } -// -// // This free function will not be called if f == InvalidValue()! -// static void Free(int f) { ::FreeFoo(f); } -// }; +template +concept UniqueObjectTraits = requires { + // |InvalidValue| should be fast and inline. + { Traits::InvalidValue() } -> std::same_as; + + // |IsValid| function should be fast and inline. + { Traits::IsValid(std::declval()) } -> std::same_as; + + // |Free| function will not be called if value == InvalidValue()! + { Traits::Free(std::declval()) }; +}; template + requires UniqueObjectTraits class UniqueObject { private: // This must be first since it's used inline below. @@ -92,8 +95,6 @@ class UniqueObject { bool operator==(const T& value) const { return data_.generic == value; } - bool operator!=(const T& value) const { return data_.generic != value; } - Traits& get_traits() { return data_; } const Traits& get_traits() const { return data_; } diff --git a/engine/src/flutter/impeller/.clang-format b/engine/src/flutter/impeller/.clang-format index 1b8a1bdd7dc31..e74b1b4919923 100644 --- a/engine/src/flutter/impeller/.clang-format +++ b/engine/src/flutter/impeller/.clang-format @@ -1,5 +1,5 @@ # Defines the Chromium style for automatic reformatting. # http://clang.llvm.org/docs/ClangFormatStyleOptions.html BasedOnStyle: Chromium -Standard: c++17 +Standard: c++20 EmptyLineBeforeAccessModifier: Always diff --git a/engine/src/flutter/impeller/base/allocation_size.h b/engine/src/flutter/impeller/base/allocation_size.h index 809160c753dae..a5bcc79a35d62 100644 --- a/engine/src/flutter/impeller/base/allocation_size.h +++ b/engine/src/flutter/impeller/base/allocation_size.h @@ -6,6 +6,7 @@ #define FLUTTER_IMPELLER_BASE_ALLOCATION_SIZE_H_ #include +#include #include #include #include @@ -91,32 +92,9 @@ class AllocationSize { return AllocationSize{GetByteSize(), FromBytesTag::kFromBytes}; } - // The following relational operators can be replaced with a defaulted - // spaceship operator post C++20. + // Comparison operators. - constexpr bool operator<(const AllocationSize& other) const { - return bytes_ < other.bytes_; - } - - constexpr bool operator>(const AllocationSize& other) const { - return bytes_ > other.bytes_; - } - - constexpr bool operator>=(const AllocationSize& other) const { - return bytes_ >= other.bytes_; - } - - constexpr bool operator<=(const AllocationSize& other) const { - return bytes_ <= other.bytes_; - } - - constexpr bool operator==(const AllocationSize& other) const { - return bytes_ == other.bytes_; - } - - constexpr bool operator!=(const AllocationSize& other) const { - return bytes_ != other.bytes_; - } + constexpr auto operator<=>(const AllocationSize& other) const = default; // Explicit casts. diff --git a/engine/src/flutter/impeller/base/base_unittests.cc b/engine/src/flutter/impeller/base/base_unittests.cc index 9b0eaab7a0747..a1a6e9dcd563b 100644 --- a/engine/src/flutter/impeller/base/base_unittests.cc +++ b/engine/src/flutter/impeller/base/base_unittests.cc @@ -81,13 +81,6 @@ TEST(ThreadTest, CanCreateRWMutexLock) { // f.mtx.UnlockReader(); <--- Static analysis error. } -TEST(StringsTest, CanSPrintF) { - ASSERT_EQ(SPrintF("%sx%d", "Hello", 12), "Hellox12"); - ASSERT_EQ(SPrintF(""), ""); - ASSERT_EQ(SPrintF("Hello"), "Hello"); - ASSERT_EQ(SPrintF("%sx%.2f", "Hello", 12.122222), "Hellox12.12"); -} - struct CVTest { Mutex mutex; ConditionVariable cv; diff --git a/engine/src/flutter/impeller/base/mask.h b/engine/src/flutter/impeller/base/mask.h index 97f30d7a7418e..1de2dbcfdaf4a 100644 --- a/engine/src/flutter/impeller/base/mask.h +++ b/engine/src/flutter/impeller/base/mask.h @@ -51,32 +51,9 @@ struct Mask { explicit constexpr operator bool() const { return !!mask_; } - // The following relational operators can be replaced with a defaulted - // spaceship operator post C++20. + // Comparison operators. - constexpr bool operator<(const Mask& other) const { - return mask_ < other.mask_; - } - - constexpr bool operator>(const Mask& other) const { - return mask_ > other.mask_; - } - - constexpr bool operator>=(const Mask& other) const { - return mask_ >= other.mask_; - } - - constexpr bool operator<=(const Mask& other) const { - return mask_ <= other.mask_; - } - - constexpr bool operator==(const Mask& other) const { - return mask_ == other.mask_; - } - - constexpr bool operator!=(const Mask& other) const { - return mask_ != other.mask_; - } + constexpr auto operator<=>(const Mask& other) const = default; // Logical operators. @@ -180,49 +157,13 @@ inline constexpr Mask operator^(const EnumType& lhs, return Mask{lhs} ^ rhs; } -// Relational operators with EnumType promotion. These can be replaced by a -// defaulted spaceship operator post C++20. - -template ::kIsMask, bool> = true> -inline constexpr bool operator<(const EnumType& lhs, - const Mask& rhs) { - return Mask{lhs} < rhs; -} - -template ::kIsMask, bool> = true> -inline constexpr bool operator>(const EnumType& lhs, - const Mask& rhs) { - return Mask{lhs} > rhs; -} - -template ::kIsMask, bool> = true> -inline constexpr bool operator<=(const EnumType& lhs, - const Mask& rhs) { - return Mask{lhs} <= rhs; -} - -template ::kIsMask, bool> = true> -inline constexpr bool operator>=(const EnumType& lhs, - const Mask& rhs) { - return Mask{lhs} >= rhs; -} - -template ::kIsMask, bool> = true> -inline constexpr bool operator==(const EnumType& lhs, - const Mask& rhs) { - return Mask{lhs} == rhs; -} +// Relational operators with EnumType promotion. template ::kIsMask, bool> = true> -inline constexpr bool operator!=(const EnumType& lhs, - const Mask& rhs) { - return Mask{lhs} != rhs; +inline constexpr auto operator<=>(const EnumType& lhs, + const Mask& rhs) { + return Mask{lhs} <=> rhs; } } // namespace impeller diff --git a/engine/src/flutter/impeller/base/strings.cc b/engine/src/flutter/impeller/base/strings.cc index 9623a11827966..5759cb6a0ad5d 100644 --- a/engine/src/flutter/impeller/base/strings.cc +++ b/engine/src/flutter/impeller/base/strings.cc @@ -4,29 +4,8 @@ #include "impeller/base/strings.h" -#include - namespace impeller { -IMPELLER_PRINTF_FORMAT(1, 2) -std::string SPrintF(const char* format, ...) { - std::string ret_val; - va_list list; - va_list list2; - va_start(list, format); - va_copy(list2, list); - if (auto string_length = ::vsnprintf(nullptr, 0, format, list); - string_length >= 0) { - auto buffer = reinterpret_cast(::malloc(string_length + 1)); - ::vsnprintf(buffer, string_length + 1, format, list2); - ret_val = std::string{buffer, static_cast(string_length)}; - ::free(buffer); - } - va_end(list2); - va_end(list); - return ret_val; -} - bool HasPrefix(const std::string& string, const std::string& prefix) { return string.find(prefix) == 0u; } diff --git a/engine/src/flutter/impeller/base/strings.h b/engine/src/flutter/impeller/base/strings.h index cefe10343eb0e..de2b44b5ccc6b 100644 --- a/engine/src/flutter/impeller/base/strings.h +++ b/engine/src/flutter/impeller/base/strings.h @@ -7,13 +7,8 @@ #include -#include "impeller/base/config.h" - namespace impeller { -IMPELLER_PRINTF_FORMAT(1, 2) -std::string SPrintF(const char* format, ...); - bool HasPrefix(const std::string& string, const std::string& prefix); bool HasSuffix(const std::string& string, const std::string& suffix); diff --git a/engine/src/flutter/impeller/base/version.h b/engine/src/flutter/impeller/base/version.h index d2c67575bff30..41250dd8509ea 100644 --- a/engine/src/flutter/impeller/base/version.h +++ b/engine/src/flutter/impeller/base/version.h @@ -29,11 +29,11 @@ struct Version { static std::optional FromVector(const std::vector& version); constexpr bool IsAtLeast(const Version& other) const { - return std::tie(major_version, minor_version, patch_version) >= - std::tie(other.major_version, other.minor_version, - other.patch_version); + return *this >= other; } + constexpr auto operator<=>(const Version&) const = default; + std::string ToString() const; }; diff --git a/engine/src/flutter/impeller/compiler/reflector.cc b/engine/src/flutter/impeller/compiler/reflector.cc index ba8ecb356940f..d741d82770a5a 100644 --- a/engine/src/flutter/impeller/compiler/reflector.cc +++ b/engine/src/flutter/impeller/compiler/reflector.cc @@ -7,6 +7,7 @@ #include "impeller/compiler/reflector.h" #include +#include #include #include #include @@ -827,13 +828,13 @@ std::vector Reflector::ReadStructMembers( result.emplace_back(StructMember{ TypeNameWithPaddingOfSize(alignment_pad), // type spirv_cross::SPIRType::BaseType::Void, // basetype - SPrintF("_PADDING_%s_", - GetMemberNameAtIndex(struct_type, i).c_str()), // name - current_byte_offset, // offset - alignment_pad, // size - alignment_pad, // byte_length - std::nullopt, // array_elements - 0, // element_padding + std::format("_PADDING_{}_", + GetMemberNameAtIndex(struct_type, i)), // name + current_byte_offset, // offset + alignment_pad, // size + alignment_pad, // byte_length + std::nullopt, // array_elements + 0, // element_padding }); current_byte_offset += alignment_pad; } diff --git a/engine/src/flutter/impeller/core/formats.cc b/engine/src/flutter/impeller/core/formats.cc index 77cbef96ceb0b..f73a39af67a0d 100644 --- a/engine/src/flutter/impeller/core/formats.cc +++ b/engine/src/flutter/impeller/core/formats.cc @@ -4,9 +4,9 @@ #include "impeller/core/formats.h" +#include #include -#include "impeller/base/strings.h" #include "impeller/base/validation.h" #include "impeller/core/texture.h" @@ -130,14 +130,14 @@ std::string ColorAttachmentToString(const ColorAttachment& color) { std::string DepthAttachmentToString(const DepthAttachment& depth) { std::stringstream stream; stream << AttachmentToString(depth) << ","; - stream << "ClearDepth=" << SPrintF("%.2f", depth.clear_depth); + stream << std::format("ClearDepth={:.2f}", depth.clear_depth); return stream.str(); } std::string StencilAttachmentToString(const StencilAttachment& stencil) { std::stringstream stream; stream << AttachmentToString(stencil) << ","; - stream << "ClearStencil=" << stencil.clear_stencil; + stream << std::format("ClearStencil={}", stencil.clear_stencil); return stream.str(); } diff --git a/engine/src/flutter/impeller/core/texture_descriptor.h b/engine/src/flutter/impeller/core/texture_descriptor.h index 851ffde902e25..45bfdcf90000e 100644 --- a/engine/src/flutter/impeller/core/texture_descriptor.h +++ b/engine/src/flutter/impeller/core/texture_descriptor.h @@ -80,20 +80,7 @@ struct TextureDescriptor { return IsMultisampleCapable(type) ? count > 1 : count == 1; } - constexpr bool operator==(const TextureDescriptor& other) const { - return size == other.size && // - storage_mode == other.storage_mode && // - format == other.format && // - usage == other.usage && // - sample_count == other.sample_count && // - type == other.type && // - compression_type == other.compression_type && // - mip_count == other.mip_count; - } - - constexpr bool operator!=(const TextureDescriptor& other) const { - return !(*this == other); - } + constexpr bool operator==(const TextureDescriptor& other) const = default; constexpr bool IsValid() const { return format != PixelFormat::kUnknown && // diff --git a/engine/src/flutter/impeller/display_list/BUILD.gn b/engine/src/flutter/impeller/display_list/BUILD.gn index c9d0003256da5..a47ccd7dd3469 100644 --- a/engine/src/flutter/impeller/display_list/BUILD.gn +++ b/engine/src/flutter/impeller/display_list/BUILD.gn @@ -34,6 +34,10 @@ impeller_component("display_list") { "dl_dispatcher.h", "dl_image_impeller.cc", "dl_image_impeller.h", + "dl_runtime_effect_impeller.cc", + "dl_runtime_effect_impeller.h", + "dl_text_impeller.cc", + "dl_text_impeller.h", "dl_vertices_geometry.cc", "dl_vertices_geometry.h", "image_filter.cc", @@ -53,6 +57,10 @@ impeller_component("display_list") { "//flutter/skia", ] + if (impeller_supports_rendering) { + public_deps += [ "//flutter/impeller/runtime_stage" ] + } + if (!defined(defines)) { defines = [] } diff --git a/engine/src/flutter/impeller/display_list/aiks_context.h b/engine/src/flutter/impeller/display_list/aiks_context.h index 17cd85b995b50..43151798d36c9 100644 --- a/engine/src/flutter/impeller/display_list/aiks_context.h +++ b/engine/src/flutter/impeller/display_list/aiks_context.h @@ -9,6 +9,7 @@ #include "impeller/entity/contents/content_context.h" #include "impeller/renderer/context.h" + #include "impeller/renderer/render_target.h" #include "impeller/typographer/typographer_context.h" diff --git a/engine/src/flutter/impeller/display_list/aiks_dl_atlas_unittests.cc b/engine/src/flutter/impeller/display_list/aiks_dl_atlas_unittests.cc index 5146e3e6ea8c2..07c28d9f78811 100644 --- a/engine/src/flutter/impeller/display_list/aiks_dl_atlas_unittests.cc +++ b/engine/src/flutter/impeller/display_list/aiks_dl_atlas_unittests.cc @@ -191,7 +191,7 @@ TEST_P(AiksTest, DlAtlasGeometryNoBlendRenamed) { ContentContext context(GetContext(), nullptr); auto vertex_buffer = - geom.CreateSimpleVertexBuffer(context.GetTransientsBuffer()); + geom.CreateSimpleVertexBuffer(context.GetTransientsDataBuffer()); EXPECT_EQ(vertex_buffer.index_type, IndexType::kNone); EXPECT_EQ(vertex_buffer.vertex_count, texture_coordinates.size() * 6); @@ -214,7 +214,7 @@ TEST_P(AiksTest, DlAtlasGeometryBlend) { ContentContext context(GetContext(), nullptr); auto vertex_buffer = - geom.CreateBlendVertexBuffer(context.GetTransientsBuffer()); + geom.CreateBlendVertexBuffer(context.GetTransientsDataBuffer()); EXPECT_EQ(vertex_buffer.index_type, IndexType::kNone); EXPECT_EQ(vertex_buffer.vertex_count, texture_coordinates.size() * 6); diff --git a/engine/src/flutter/impeller/display_list/aiks_dl_basic_unittests.cc b/engine/src/flutter/impeller/display_list/aiks_dl_basic_unittests.cc index 31328e984d789..176efef663724 100644 --- a/engine/src/flutter/impeller/display_list/aiks_dl_basic_unittests.cc +++ b/engine/src/flutter/impeller/display_list/aiks_dl_basic_unittests.cc @@ -35,6 +35,75 @@ TEST_P(AiksTest, CanRenderColoredRect) { ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } +namespace { +using DrawRectProc = + std::function; + +sk_sp MakeWideStrokedRects(Point scale, + const DrawRectProc& draw_rect) { + DisplayListBuilder builder; + builder.Scale(scale.x, scale.y); + builder.DrawColor(DlColor::kWhite(), DlBlendMode::kSrc); + + DlPaint paint; + paint.setColor(DlColor::kBlue().withAlphaF(0.5)); + paint.setDrawStyle(DlDrawStyle::kStroke); + paint.setStrokeWidth(30.0f); + + // Each of these 3 sets of rects includes (with different join types): + // - One rectangle with a gap in the middle + // - One rectangle with no gap because it is too narrow + // - One rectangle with no gap because it is too short + paint.setStrokeJoin(DlStrokeJoin::kBevel); + draw_rect(builder, DlRect::MakeXYWH(100.0f, 100.0f, 100.0f, 100.0f), paint); + draw_rect(builder, DlRect::MakeXYWH(250.0f, 100.0f, 10.0f, 100.0f), paint); + draw_rect(builder, DlRect::MakeXYWH(100.0f, 250.0f, 100.0f, 10.0f), paint); + + paint.setStrokeJoin(DlStrokeJoin::kRound); + draw_rect(builder, DlRect::MakeXYWH(350.0f, 100.0f, 100.0f, 100.0f), paint); + draw_rect(builder, DlRect::MakeXYWH(500.0f, 100.0f, 10.0f, 100.0f), paint); + draw_rect(builder, DlRect::MakeXYWH(350.0f, 250.0f, 100.0f, 10.0f), paint); + + paint.setStrokeJoin(DlStrokeJoin::kMiter); + draw_rect(builder, DlRect::MakeXYWH(600.0f, 100.0f, 100.0f, 100.0f), paint); + draw_rect(builder, DlRect::MakeXYWH(750.0f, 100.0f, 10.0f, 100.0f), paint); + draw_rect(builder, DlRect::MakeXYWH(600.0f, 250.0f, 100.0f, 10.0f), paint); + + // And now draw 3 rectangles with a stroke width so large that that it + // overlaps in the middle in both directions (horizontal/vertical). + paint.setStrokeWidth(110.0f); + + paint.setStrokeJoin(DlStrokeJoin::kBevel); + draw_rect(builder, DlRect::MakeXYWH(100.0f, 400.0f, 100.0f, 100.0f), paint); + + paint.setStrokeJoin(DlStrokeJoin::kRound); + draw_rect(builder, DlRect::MakeXYWH(350.0f, 400.0f, 100.0f, 100.0f), paint); + + paint.setStrokeJoin(DlStrokeJoin::kMiter); + draw_rect(builder, DlRect::MakeXYWH(600.0f, 400.0f, 100.0f, 100.0f), paint); + + return builder.Build(); +} +} // namespace + +TEST_P(AiksTest, CanRenderWideStrokedRectWithoutOverlap) { + ASSERT_TRUE(OpenPlaygroundHere(MakeWideStrokedRects( + GetContentScale(), [](DisplayListBuilder& builder, const DlRect& rect, + const DlPaint& paint) { + // Draw the rect directly + builder.DrawRect(rect, paint); + }))); +} + +TEST_P(AiksTest, CanRenderWideStrokedRectPathWithoutOverlap) { + ASSERT_TRUE(OpenPlaygroundHere(MakeWideStrokedRects( + GetContentScale(), [](DisplayListBuilder& builder, const DlRect& rect, + const DlPaint& paint) { + // Draw the rect as a Path + builder.DrawPath(DlPath::MakeRect(rect), paint); + }))); +} + TEST_P(AiksTest, CanRenderImage) { DisplayListBuilder builder; DlPaint paint; diff --git a/engine/src/flutter/impeller/display_list/aiks_dl_blur_unittests.cc b/engine/src/flutter/impeller/display_list/aiks_dl_blur_unittests.cc index 1c6ed55dabf11..eb88eed0aec44 100644 --- a/engine/src/flutter/impeller/display_list/aiks_dl_blur_unittests.cc +++ b/engine/src/flutter/impeller/display_list/aiks_dl_blur_unittests.cc @@ -624,8 +624,7 @@ static const std::map kPaintVariations = { {"OuterOpaqueWithBlurImageFilter", {.style = DlBlurStyle::kOuter, .sigma = 8.0f, - .image_filter = DlImageFilter::MakeBlur(3, 3, DlTileMode::kClamp)}}, -}; + .image_filter = DlImageFilter::MakeBlur(3, 3, DlTileMode::kClamp)}}}; #define MASK_BLUR_VARIANT_TEST(config) \ TEST_P(AiksTest, MaskBlurVariantTest##config) { \ @@ -1365,5 +1364,57 @@ TEST_P(AiksTest, BlurGradientWithOpacity) { ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } +// The artifacts this test attempts to reproduce don't reproduce on playgrounds. +// The test is animated as an attempt to catch any ghosting that may happen +// when DontCare is used instead of Clear. +// https://github.com/flutter/flutter/issues/171772 +TEST_P(AiksTest, CanRenderNestedBackdropBlur) { + int64_t count = 0; + auto callback = [&]() -> sk_sp { + DisplayListBuilder builder; + + Scalar freq = 1.0; + Scalar amp = 50.0; + Scalar offset = amp * sin(freq * 2.0 * M_PI * count / 60.0); + + // Draw some background content to be blurred. + DlPaint paint; + paint.setColor(DlColor::kCornflowerBlue()); + builder.DrawCircle(DlPoint(100 + offset, 100), 50, paint); + paint.setColor(DlColor::kGreenYellow()); + builder.DrawCircle(DlPoint(300, 200 + offset), 100, paint); + paint.setColor(DlColor::kDarkMagenta()); + builder.DrawCircle(DlPoint(140, 170), 75, paint); + paint.setColor(DlColor::kOrangeRed()); + builder.DrawCircle(DlPoint(180 + offset, 120 + offset), 100, paint); + + // This is the first backdrop blur, simulating the navigation transition. + auto backdrop_filter1 = DlImageFilter::MakeBlur(15, 15, DlTileMode::kClamp); + builder.SaveLayer(std::nullopt, nullptr, backdrop_filter1.get()); + + // Draw the semi-transparent container from the second screen. + DlPaint transparent_paint; + transparent_paint.setColor(DlColor::kWhite().withAlpha(0.1 * 255)); + builder.DrawPaint(transparent_paint); + + { + // This is the second, nested backdrop blur. + auto backdrop_filter2 = + DlImageFilter::MakeBlur(10, 10, DlTileMode::kClamp); + builder.Save(); + builder.ClipRect(DlRect::MakeXYWH(150, 150, 300, 300)); + builder.SaveLayer(std::nullopt, nullptr, backdrop_filter2.get()); + builder.Restore(); // Restore from SaveLayer + builder.Restore(); // Restore from ClipRect + } + + builder.Restore(); // Restore from the first SaveLayer + + count++; + return builder.Build(); + }; + ASSERT_TRUE(OpenPlaygroundHere(callback)); +} + } // namespace testing } // namespace impeller diff --git a/engine/src/flutter/impeller/display_list/aiks_dl_runtime_effect_unittests.cc b/engine/src/flutter/impeller/display_list/aiks_dl_runtime_effect_unittests.cc index 0012ce54d06de..c84c0681ad88e 100644 --- a/engine/src/flutter/impeller/display_list/aiks_dl_runtime_effect_unittests.cc +++ b/engine/src/flutter/impeller/display_list/aiks_dl_runtime_effect_unittests.cc @@ -10,6 +10,7 @@ #include "flutter/display_list/effects/dl_image_filter.h" #include "flutter/display_list/effects/dl_runtime_effect.h" #include "flutter/impeller/display_list/aiks_unittests.h" +#include "flutter/impeller/display_list/dl_runtime_effect_impeller.h" namespace impeller { namespace testing { @@ -28,7 +29,7 @@ std::shared_ptr MakeRuntimeEffect( FML_CHECK(runtime_stage); FML_CHECK(runtime_stage->IsDirty()); - auto dl_runtime_effect = DlRuntimeEffect::MakeImpeller(runtime_stage); + auto dl_runtime_effect = DlRuntimeEffectImpeller::Make(runtime_stage); return DlColorSource::MakeRuntimeEffect(dl_runtime_effect, samplers, uniform_data); @@ -99,7 +100,7 @@ TEST_P(AiksTest, CanRenderRuntimeEffectFilter) { DlPaint paint; paint.setColor(DlColor::kAqua()); paint.setImageFilter(DlImageFilter::MakeRuntimeEffect( - DlRuntimeEffect::MakeImpeller(runtime_stage), sampler_inputs, + DlRuntimeEffectImpeller::Make(runtime_stage), sampler_inputs, uniform_data)); DisplayListBuilder builder; diff --git a/engine/src/flutter/impeller/display_list/aiks_dl_text_unittests.cc b/engine/src/flutter/impeller/display_list/aiks_dl_text_unittests.cc index f15a79bb5d370..5bfc8cfabc771 100644 --- a/engine/src/flutter/impeller/display_list/aiks_dl_text_unittests.cc +++ b/engine/src/flutter/impeller/display_list/aiks_dl_text_unittests.cc @@ -16,6 +16,7 @@ #include "flutter/testing/testing.h" #include "impeller/display_list/aiks_context.h" #include "impeller/display_list/dl_dispatcher.h" +#include "impeller/display_list/dl_text_impeller.h" #include "impeller/entity/contents/content_context.h" #include "impeller/entity/contents/text_contents.h" #include "impeller/entity/entity.h" @@ -89,8 +90,8 @@ bool RenderTextInCanvasSkia(const std::shared_ptr& context, text_paint.setStrokeWidth(options.stroke_width); text_paint.setDrawStyle(options.stroke ? DlDrawStyle::kStroke : DlDrawStyle::kFill); - canvas.DrawTextFrame(frame, options.position.x, options.position.y, - text_paint); + canvas.DrawText(DlTextImpeller::Make(frame), options.position.x, + options.position.y, text_paint); return true; } @@ -477,7 +478,7 @@ TEST_P(AiksTest, CanRenderTextOutsideBoundaries) { auto blob = SkTextBlob::MakeFromString(t.text, sk_font); ASSERT_NE(blob, nullptr); auto frame = MakeTextFrameFromTextBlobSkia(blob); - builder.DrawTextFrame(frame, 0, 0, text_paint); + builder.DrawText(DlTextImpeller::Make(frame), 0, 0, text_paint); } builder.Restore(); } @@ -622,7 +623,7 @@ TEST_P(AiksTest, TextForegroundShaderWithTransform) { auto blob = SkTextBlob::MakeFromString("Hello", sk_font); ASSERT_NE(blob, nullptr); auto frame = MakeTextFrameFromTextBlobSkia(blob); - builder.DrawTextFrame(frame, 0, 0, text_paint); + builder.DrawText(DlTextImpeller::Make(frame), 0, 0, text_paint); ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } diff --git a/engine/src/flutter/impeller/display_list/aiks_dl_vertices_unittests.cc b/engine/src/flutter/impeller/display_list/aiks_dl_vertices_unittests.cc index c62f3a8ffc828..fe8ccc221203d 100644 --- a/engine/src/flutter/impeller/display_list/aiks_dl_vertices_unittests.cc +++ b/engine/src/flutter/impeller/display_list/aiks_dl_vertices_unittests.cc @@ -15,6 +15,7 @@ #include "flutter/testing/testing.h" #include "impeller/display_list/dl_dispatcher.h" #include "impeller/display_list/dl_image_impeller.h" +#include "impeller/display_list/dl_runtime_effect_impeller.h" namespace impeller { namespace testing { @@ -483,7 +484,7 @@ TEST_P(AiksTest, DrawVerticesTextureCoordinatesWithFragmentShader) { runtime_stages[PlaygroundBackendToRuntimeStageBackend(GetBackend())]; ASSERT_TRUE(runtime_stage); - auto runtime_effect = DlRuntimeEffect::MakeImpeller(runtime_stage); + auto runtime_effect = DlRuntimeEffectImpeller::Make(runtime_stage); auto uniform_data = std::make_shared>(); auto color_source = flutter::DlColorSource::MakeRuntimeEffect( runtime_effect, {}, uniform_data); @@ -532,7 +533,7 @@ TEST_P(AiksTest, runtime_stages[PlaygroundBackendToRuntimeStageBackend(GetBackend())]; ASSERT_TRUE(runtime_stage); - auto runtime_effect = DlRuntimeEffect::MakeImpeller(runtime_stage); + auto runtime_effect = DlRuntimeEffectImpeller::Make(runtime_stage); auto rect_data = std::vector{Rect::MakeLTRB(200, 200, 250, 250)}; auto uniform_data = std::make_shared>(); diff --git a/engine/src/flutter/impeller/display_list/canvas.cc b/engine/src/flutter/impeller/display_list/canvas.cc index 2fb492d6cacf6..43cd1ec97965a 100644 --- a/engine/src/flutter/impeller/display_list/canvas.cc +++ b/engine/src/flutter/impeller/display_list/canvas.cc @@ -871,9 +871,10 @@ void Canvas::ClipGeometry(const Geometry& geometry, if (clip_state_result.clip_did_change) { // We only need to update the pass scissor if the clip state has changed. - SetClipScissor(clip_coverage_stack_.CurrentClipCoverage(), - *render_passes_.back().inline_pass_context->GetRenderPass(), - GetGlobalPassPosition()); + SetClipScissor( + clip_coverage_stack_.CurrentClipCoverage(), + *render_passes_.back().GetInlinePassContext()->GetRenderPass(), + GetGlobalPassPosition()); } ++transform_stack_.back().clip_height; @@ -892,16 +893,16 @@ void Canvas::ClipGeometry(const Geometry& geometry, entity.SetClipDepth(clip_depth); GeometryResult geometry_result = geometry.GetPositionBuffer( - renderer_, // - entity, // - *render_passes_.back().inline_pass_context->GetRenderPass() // + renderer_, // + entity, // + *render_passes_.back().GetInlinePassContext()->GetRenderPass() // ); clip_contents.SetGeometry(geometry_result); clip_coverage_stack_.GetLastReplayResult().clip_contents.SetGeometry( geometry_result); clip_contents.Render( - renderer_, *render_passes_.back().inline_pass_context->GetRenderPass(), + renderer_, *render_passes_.back().GetInlinePassContext()->GetRenderPass(), clip_depth); } @@ -1217,9 +1218,9 @@ std::optional Canvas::GetLocalCoverageLimit() const { FML_CHECK(!render_passes_.empty()); const LazyRenderingConfig& back_render_pass = render_passes_.back(); std::shared_ptr back_texture = - back_render_pass.inline_pass_context->GetTexture(); + back_render_pass.GetInlinePassContext()->GetTexture(); FML_CHECK(back_texture) << "Context is valid:" - << back_render_pass.inline_pass_context->IsValid(); + << back_render_pass.GetInlinePassContext()->IsValid(); // The maximum coverage of the subpass. Subpasses textures should never // extend outside the parent pass texture or the current clip coverage. @@ -1509,7 +1510,7 @@ bool Canvas::Restore() { auto lazy_render_pass = std::move(render_passes_.back()); render_passes_.pop_back(); // Force the render pass to be constructed if it never was. - lazy_render_pass.inline_pass_context->GetRenderPass(); + lazy_render_pass.GetInlinePassContext()->GetRenderPass(); SaveLayerState save_layer_state = save_layer_state_.back(); save_layer_state_.pop_back(); @@ -1517,12 +1518,12 @@ bool Canvas::Restore() { std::shared_ptr contents = CreateContentsForSubpassTarget( save_layer_state.paint, // - lazy_render_pass.inline_pass_context->GetTexture(), // + lazy_render_pass.GetInlinePassContext()->GetTexture(), // Matrix::MakeTranslation(Vector3{-global_pass_position}) * // transform_stack_.back().transform // ); - lazy_render_pass.inline_pass_context->EndPass(); + lazy_render_pass.GetInlinePassContext()->EndPass(); // Round the subpass texture position for pixel alignment with the parent // pass render target. By default, we draw subpass textures with nearest @@ -1581,8 +1582,8 @@ bool Canvas::Restore() { } element_entity.Render( - renderer_, // - *render_passes_.back().inline_pass_context->GetRenderPass() // + renderer_, // + *render_passes_.back().GetInlinePassContext()->GetRenderPass() // ); clip_coverage_stack_.PopSubpass(); transform_stack_.pop_back(); @@ -1606,9 +1607,9 @@ bool Canvas::Restore() { if (clip_state_result.clip_did_change) { // We only need to update the pass scissor if the clip state has changed. SetClipScissor( - clip_coverage_stack_.CurrentClipCoverage(), // - *render_passes_.back().inline_pass_context->GetRenderPass(), // - GetGlobalPassPosition() // + clip_coverage_stack_.CurrentClipCoverage(), // + *render_passes_.back().GetInlinePassContext()->GetRenderPass(), // + GetGlobalPassPosition() // ); } } @@ -1805,11 +1806,12 @@ void Canvas::AddRenderEntityToCurrentPass(Entity& entity, bool reuse_depth) { // with the current backdrop. if (render_passes_.back().IsApplyingClearColor()) { std::optional maybe_color = entity.AsBackgroundColor( - render_passes_.back().inline_pass_context->GetTexture()->GetSize()); + render_passes_.back().GetInlinePassContext()->GetTexture()->GetSize()); if (maybe_color.has_value()) { Color color = maybe_color.value(); RenderTarget& render_target = render_passes_.back() - .inline_pass_context->GetPassTarget() + .GetInlinePassContext() + ->GetPassTarget() .GetRenderTarget(); ColorAttachment attachment = render_target.GetColorAttachment(0); // Attachment.clear color needs to be premultiplied at all times, but the @@ -1872,7 +1874,7 @@ void Canvas::AddRenderEntityToCurrentPass(Entity& entity, bool reuse_depth) { } const std::shared_ptr& result = - render_passes_.back().inline_pass_context->GetRenderPass(); + render_passes_.back().GetInlinePassContext()->GetRenderPass(); if (!result) { // Failure to produce a render pass should be explained by specific errors // in `InlinePassContext::GetRenderPass()`, so avoid log spam and don't @@ -1884,7 +1886,7 @@ void Canvas::AddRenderEntityToCurrentPass(Entity& entity, bool reuse_depth) { } RenderPass& Canvas::GetCurrentRenderPass() const { - return *render_passes_.back().inline_pass_context->GetRenderPass(); + return *render_passes_.back().GetInlinePassContext()->GetRenderPass(); } void Canvas::SetBackdropData( @@ -1912,8 +1914,8 @@ std::shared_ptr Canvas::FlipBackdrop(Point global_pass_position, // In cases where there are no contents, we // could instead check the clear color and initialize a 1x2 CPU texture // instead of ending the pass. - rendering_config.inline_pass_context->GetRenderPass(); - if (!rendering_config.inline_pass_context->EndPass()) { + rendering_config.GetInlinePassContext()->GetRenderPass(); + if (!rendering_config.GetInlinePassContext()->EndPass()) { VALIDATION_LOG << "Failed to end the current render pass in order to read from " "the backdrop texture and apply an advanced blend or backdrop " @@ -1921,23 +1923,19 @@ std::shared_ptr Canvas::FlipBackdrop(Point global_pass_position, // Note: adding this render pass ensures there are no later crashes from // unbalanced save layers. Ideally, this method would return false and the // renderer could handle that by terminating dispatch. - render_passes_.push_back(LazyRenderingConfig( - renderer_, std::move(rendering_config.entity_pass_target), - std::move(rendering_config.inline_pass_context))); + render_passes_.emplace_back(std::move(rendering_config)); return nullptr; } const std::shared_ptr& input_texture = - rendering_config.inline_pass_context->GetTexture(); + rendering_config.GetInlinePassContext()->GetTexture(); if (!input_texture) { VALIDATION_LOG << "Failed to fetch the color texture in order to " "apply an advanced blend or backdrop filter."; // Note: see above. - render_passes_.push_back(LazyRenderingConfig( - renderer_, std::move(rendering_config.entity_pass_target), - std::move(rendering_config.inline_pass_context))); + render_passes_.emplace_back(std::move(rendering_config)); return nullptr; } @@ -1960,17 +1958,15 @@ std::shared_ptr Canvas::FlipBackdrop(Point global_pass_position, LazyRenderingConfig(renderer_, std::move(entity_pass_target))); requires_readback_ = false; } else { - render_passes_.push_back(LazyRenderingConfig( - renderer_, std::move(rendering_config.entity_pass_target), - std::move(rendering_config.inline_pass_context))); + render_passes_.emplace_back(std::move(rendering_config)); // If the current texture is being cached for a BDF we need to ensure we // don't recycle it during recording; remove it from the entity pass target. if (should_remove_texture) { - render_passes_.back().entity_pass_target->RemoveSecondary(); + render_passes_.back().GetEntityPassTarget()->RemoveSecondary(); } } RenderPass& current_render_pass = - *render_passes_.back().inline_pass_context->GetRenderPass(); + *render_passes_.back().GetInlinePassContext()->GetRenderPass(); // Eagerly restore the BDF contents. @@ -2028,7 +2024,8 @@ bool Canvas::BlitToOnscreen(bool is_onscreen) { auto command_buffer = renderer_.GetContext()->CreateCommandBuffer(); command_buffer->SetLabel("EntityPass Root Command Buffer"); auto offscreen_target = render_passes_.back() - .inline_pass_context->GetPassTarget() + .GetInlinePassContext() + ->GetPassTarget() .GetRenderTarget(); if (SupportsBlitToOnscreen()) { auto blit_pass = command_buffer->CreateBlitPass(); @@ -2093,8 +2090,8 @@ bool Canvas::EnsureFinalMipmapGeneration() const { void Canvas::EndReplay() { FML_DCHECK(render_passes_.size() == 1u); - render_passes_.back().inline_pass_context->GetRenderPass(); - render_passes_.back().inline_pass_context->EndPass( + render_passes_.back().GetInlinePassContext()->GetRenderPass(); + render_passes_.back().GetInlinePassContext()->EndPass( /*is_onscreen=*/!requires_readback_ && is_onscreen_); backdrop_data_.clear(); @@ -2119,4 +2116,24 @@ void Canvas::EndReplay() { Initialize(initial_cull_rect_); } +LazyRenderingConfig::LazyRenderingConfig( + ContentContext& renderer, + std::unique_ptr p_entity_pass_target) + : entity_pass_target_(std::move(p_entity_pass_target)) { + inline_pass_context_ = + std::make_unique(renderer, *entity_pass_target_); +} + +bool LazyRenderingConfig::IsApplyingClearColor() const { + return !inline_pass_context_->IsActive(); +} + +EntityPassTarget* LazyRenderingConfig::GetEntityPassTarget() const { + return entity_pass_target_.get(); +} + +InlinePassContext* LazyRenderingConfig::GetInlinePassContext() const { + return inline_pass_context_.get(); +} + } // namespace impeller diff --git a/engine/src/flutter/impeller/display_list/canvas.h b/engine/src/flutter/impeller/display_list/canvas.h index 8fd8b51b28ca6..c7e2fb6f95f4a 100644 --- a/engine/src/flutter/impeller/display_list/canvas.h +++ b/engine/src/flutter/impeller/display_list/canvas.h @@ -96,25 +96,23 @@ enum class ContentBoundsPromise { kMayClipContents, }; -struct LazyRenderingConfig { - std::unique_ptr entity_pass_target; - std::unique_ptr inline_pass_context; +class LazyRenderingConfig { + public: + LazyRenderingConfig(ContentContext& renderer, + std::unique_ptr p_entity_pass_target); + + LazyRenderingConfig(LazyRenderingConfig&&) = default; /// Whether or not the clear color texture can still be updated. - bool IsApplyingClearColor() const { return !inline_pass_context->IsActive(); } + bool IsApplyingClearColor() const; - LazyRenderingConfig(ContentContext& renderer, - std::unique_ptr p_entity_pass_target) - : entity_pass_target(std::move(p_entity_pass_target)) { - inline_pass_context = - std::make_unique(renderer, *entity_pass_target); - } + EntityPassTarget* GetEntityPassTarget() const; - LazyRenderingConfig(ContentContext& renderer, - std::unique_ptr entity_pass_target, - std::unique_ptr inline_pass_context) - : entity_pass_target(std::move(entity_pass_target)), - inline_pass_context(std::move(inline_pass_context)) {} + InlinePassContext* GetInlinePassContext() const; + + private: + std::unique_ptr entity_pass_target_; + std::unique_ptr inline_pass_context_; }; class Canvas { diff --git a/engine/src/flutter/impeller/display_list/canvas_unittests.cc b/engine/src/flutter/impeller/display_list/canvas_unittests.cc index 3750b6838ab17..b6526736d2a0d 100644 --- a/engine/src/flutter/impeller/display_list/canvas_unittests.cc +++ b/engine/src/flutter/impeller/display_list/canvas_unittests.cc @@ -13,6 +13,7 @@ #include "impeller/core/texture_descriptor.h" #include "impeller/display_list/aiks_unittests.h" #include "impeller/display_list/canvas.h" +#include "impeller/display_list/dl_runtime_effect_impeller.h" #include "impeller/display_list/dl_vertices_geometry.h" #include "impeller/geometry/geometry_asserts.h" #include "impeller/playground/playground.h" @@ -333,7 +334,7 @@ TEST_P(AiksTest, DrawVerticesWithEmptyTextureCoordinates) { runtime_stages[PlaygroundBackendToRuntimeStageBackend(GetBackend())]; ASSERT_TRUE(runtime_stage); - auto runtime_effect = flutter::DlRuntimeEffect::MakeImpeller(runtime_stage); + auto runtime_effect = flutter::DlRuntimeEffectImpeller::Make(runtime_stage); auto uniform_data = std::make_shared>(); auto color_source = flutter::DlColorSource::MakeRuntimeEffect( runtime_effect, {}, uniform_data); diff --git a/engine/src/flutter/impeller/display_list/dl_atlas_geometry.cc b/engine/src/flutter/impeller/display_list/dl_atlas_geometry.cc index bcd473ab6f8b1..22bbbeb196285 100644 --- a/engine/src/flutter/impeller/display_list/dl_atlas_geometry.cc +++ b/engine/src/flutter/impeller/display_list/dl_atlas_geometry.cc @@ -67,11 +67,11 @@ BlendMode DlAtlasGeometry::GetBlendMode() const { } VertexBuffer DlAtlasGeometry::CreateSimpleVertexBuffer( - HostBuffer& host_buffer) const { + HostBuffer& data_host_buffer) const { using VS = TextureFillVertexShader; constexpr size_t indices[6] = {0, 1, 2, 1, 2, 3}; - BufferView buffer_view = host_buffer.Emplace( + BufferView buffer_view = data_host_buffer.Emplace( sizeof(VS::PerVertexData) * count_ * 6, alignof(VS::PerVertexData), [&](uint8_t* raw_data) { VS::PerVertexData* data = @@ -99,11 +99,11 @@ VertexBuffer DlAtlasGeometry::CreateSimpleVertexBuffer( } VertexBuffer DlAtlasGeometry::CreateBlendVertexBuffer( - HostBuffer& host_buffer) const { + HostBuffer& data_host_buffer) const { using VS = PorterDuffBlendVertexShader; constexpr size_t indices[6] = {0, 1, 2, 1, 2, 3}; - BufferView buffer_view = host_buffer.Emplace( + BufferView buffer_view = data_host_buffer.Emplace( sizeof(VS::PerVertexData) * count_ * 6, alignof(VS::PerVertexData), [&](uint8_t* raw_data) { VS::PerVertexData* data = diff --git a/engine/src/flutter/impeller/display_list/dl_dispatcher.cc b/engine/src/flutter/impeller/display_list/dl_dispatcher.cc index 682ed85c9fcf4..9d41aacde4a2a 100644 --- a/engine/src/flutter/impeller/display_list/dl_dispatcher.cc +++ b/engine/src/flutter/impeller/display_list/dl_dispatcher.cc @@ -18,6 +18,7 @@ #include "impeller/display_list/aiks_context.h" #include "impeller/display_list/canvas.h" #include "impeller/display_list/dl_atlas_geometry.h" +#include "impeller/display_list/dl_text_impeller.h" #include "impeller/display_list/dl_vertices_geometry.h" #include "impeller/display_list/nine_patch_converter.h" #include "impeller/display_list/skia_conversions.h" @@ -365,56 +366,42 @@ void DlDispatcherBase::skew(DlScalar sx, DlScalar sy) { GetCanvas().Skew(sx, sy); } +// clang-format off // |flutter::DlOpReceiver| -void DlDispatcherBase::transform2DAffine(DlScalar mxx, - DlScalar mxy, - DlScalar mxt, - DlScalar myx, - DlScalar myy, - DlScalar myt) { +void DlDispatcherBase::transform2DAffine( + DlScalar mxx, DlScalar mxy, DlScalar mxt, + DlScalar myx, DlScalar myy, DlScalar myt) { AUTO_DEPTH_WATCHER(0u); - // clang-format off transformFullPerspective( - mxx, mxy, 0, mxt, - myx, myy, 0, myt, - 0 , 0, 1, 0, - 0 , 0, 0, 1 + mxx, mxy, 0, mxt, + myx, myy, 0, myt, + 0 , 0, 1, 0, + 0 , 0, 0, 1 ); - // clang-format on } +// clang-format on +// clang-format off // |flutter::DlOpReceiver| -void DlDispatcherBase::transformFullPerspective(DlScalar mxx, - DlScalar mxy, - DlScalar mxz, - DlScalar mxt, - DlScalar myx, - DlScalar myy, - DlScalar myz, - DlScalar myt, - DlScalar mzx, - DlScalar mzy, - DlScalar mzz, - DlScalar mzt, - DlScalar mwx, - DlScalar mwy, - DlScalar mwz, - DlScalar mwt) { +void DlDispatcherBase::transformFullPerspective( + DlScalar mxx, DlScalar mxy, DlScalar mxz, DlScalar mxt, + DlScalar myx, DlScalar myy, DlScalar myz, DlScalar myt, + DlScalar mzx, DlScalar mzy, DlScalar mzz, DlScalar mzt, + DlScalar mwx, DlScalar mwy, DlScalar mwz, DlScalar mwt) { AUTO_DEPTH_WATCHER(0u); // The order of arguments is row-major but Impeller matrices are // column-major. - // clang-format off auto transform = Matrix{ - mxx, myx, mzx, mwx, - mxy, myy, mzy, mwy, - mxz, myz, mzz, mwz, - mxt, myt, mzt, mwt + mxx, myx, mzx, mwx, + mxy, myy, mzy, mwy, + mxz, myz, mzz, mwz, + mxt, myt, mzt, mwt }; - // clang-format on GetCanvas().Transform(transform); } +// clang-format on // |flutter::DlOpReceiver| void DlDispatcherBase::transformReset() { @@ -853,21 +840,16 @@ void DlDispatcherBase::drawDisplayList( } // |flutter::DlOpReceiver| -void DlDispatcherBase::drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) { - // When running with Impeller enabled Skia text blobs are converted to - // Impeller text frames in paragraph_skia.cc - UNIMPLEMENTED; -} - -// |flutter::DlOpReceiver| -void DlDispatcherBase::drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) { +void DlDispatcherBase::drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) { AUTO_DEPTH_WATCHER(1u); + auto text_frame = text->GetTextFrame(); + + // When running with Impeller enabled Skia text blobs are converted to + // Impeller text frames in paragraph_skia.cc + FML_CHECK(text_frame != nullptr); GetCanvas().DrawTextFrame(text_frame, // impeller::Point{x, y}, // paint_ // @@ -1061,44 +1043,52 @@ void FirstPassDispatcher::skew(DlScalar sx, DlScalar sy) { } // clang-format off - // 2x3 2D affine subset of a 4x4 transform in row major order - void FirstPassDispatcher::transform2DAffine(DlScalar mxx, DlScalar mxy, DlScalar mxt, - DlScalar myx, DlScalar myy, DlScalar myt) { - matrix_ = matrix_ * Matrix::MakeColumn( - mxx, myx, 0.0f, 0.0f, - mxy, myy, 0.0f, 0.0f, - 0.0f, 0.0f, 1.0f, 0.0f, - mxt, myt, 0.0f, 1.0f - ); - } +// 2x3 2D affine subset of a 4x4 transform in row major order +void FirstPassDispatcher::transform2DAffine( + DlScalar mxx, DlScalar mxy, DlScalar mxt, + DlScalar myx, DlScalar myy, DlScalar myt) { + matrix_ = matrix_ * Matrix::MakeColumn( + mxx, myx, 0.0f, 0.0f, + mxy, myy, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + mxt, myt, 0.0f, 1.0f + ); +} +// clang-format on - // full 4x4 transform in row major order - void FirstPassDispatcher::transformFullPerspective( - DlScalar mxx, DlScalar mxy, DlScalar mxz, DlScalar mxt, - DlScalar myx, DlScalar myy, DlScalar myz, DlScalar myt, - DlScalar mzx, DlScalar mzy, DlScalar mzz, DlScalar mzt, - DlScalar mwx, DlScalar mwy, DlScalar mwz, DlScalar mwt) { - matrix_ = matrix_ * Matrix::MakeColumn( - mxx, myx, mzx, mwx, - mxy, myy, mzy, mwy, - mxz, myz, mzz, mwz, - mxt, myt, mzt, mwt - ); - } +// clang-format off +// full 4x4 transform in row major order +void FirstPassDispatcher::transformFullPerspective( + DlScalar mxx, DlScalar mxy, DlScalar mxz, DlScalar mxt, + DlScalar myx, DlScalar myy, DlScalar myz, DlScalar myt, + DlScalar mzx, DlScalar mzy, DlScalar mzz, DlScalar mzt, + DlScalar mwx, DlScalar mwy, DlScalar mwz, DlScalar mwt) { + matrix_ = matrix_ * Matrix::MakeColumn( + mxx, myx, mzx, mwx, + mxy, myy, mzy, mwy, + mxz, myz, mzz, mwz, + mxt, myt, mzt, mwt + ); +} // clang-format on void FirstPassDispatcher::transformReset() { matrix_ = Matrix(); } -void FirstPassDispatcher::drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) { +void FirstPassDispatcher::drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) { GlyphProperties properties; + auto text_frame = text->GetTextFrame(); + if (text_frame == nullptr) { + return; + } + if (paint_.style == Paint::Style::kStroke) { properties.stroke = paint_.stroke; } + if (text_frame->HasColor()) { // Alpha is always applied when rendering, remove it here so // we do not double-apply the alpha. @@ -1277,7 +1267,8 @@ std::shared_ptr DisplayListToTexture( context.GetContentContext().GetTextShadowCache().MarkFrameStart(); fml::ScopedCleanupClosure cleanup([&] { if (reset_host_buffer) { - context.GetContentContext().GetTransientsBuffer().Reset(); + context.GetContentContext().GetTransientsDataBuffer().Reset(); + context.GetContentContext().GetTransientsIndexesBuffer().Reset(); } context.GetContentContext().GetTextShadowCache().MarkFrameEnd(); context.GetContentContext().GetLazyGlyphAtlas()->ResetTextFrames(); @@ -1312,7 +1303,7 @@ bool RenderToTarget(ContentContext& context, context.GetTextShadowCache().MarkFrameStart(); fml::ScopedCleanupClosure cleanup([&] { if (reset_host_buffer) { - context.GetTransientsBuffer().Reset(); + context.ResetTransientsBuffers(); } context.GetTextShadowCache().MarkFrameEnd(); }); diff --git a/engine/src/flutter/impeller/display_list/dl_dispatcher.h b/engine/src/flutter/impeller/display_list/dl_dispatcher.h index 46ebfd7500d46..d67dd045d38f1 100644 --- a/engine/src/flutter/impeller/display_list/dl_dispatcher.h +++ b/engine/src/flutter/impeller/display_list/dl_dispatcher.h @@ -238,14 +238,9 @@ class DlDispatcherBase : public flutter::DlOpReceiver { DlScalar opacity) override; // |flutter::DlOpReceiver| - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override; - - // |flutter::DlOpReceiver| - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override; + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override; // |flutter::DlOpReceiver| void drawShadow(const DlPath& path, @@ -344,19 +339,22 @@ class FirstPassDispatcher : public flutter::IgnoreAttributeDispatchHelper, // 2x3 2D affine subset of a 4x4 transform in row major order void transform2DAffine(DlScalar mxx, DlScalar mxy, DlScalar mxt, DlScalar myx, DlScalar myy, DlScalar myt) override; + // clang-format on + // clang-format off // full 4x4 transform in row major order void transformFullPerspective( DlScalar mxx, DlScalar mxy, DlScalar mxz, DlScalar mxt, DlScalar myx, DlScalar myy, DlScalar myz, DlScalar myt, DlScalar mzx, DlScalar mzy, DlScalar mzz, DlScalar mzt, DlScalar mwx, DlScalar mwy, DlScalar mwz, DlScalar mwt) override; + // clang-format on void transformReset() override; - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override; + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override; void drawDisplayList(const sk_sp display_list, DlScalar opacity) override; @@ -382,7 +380,8 @@ class FirstPassDispatcher : public flutter::IgnoreAttributeDispatchHelper, // |flutter::DlOpReceiver| void setImageFilter(const flutter::DlImageFilter* filter) override; - std::pair, size_t> TakeBackdropData(); + std::pair, size_t> + TakeBackdropData(); private: const Rect GetCurrentLocalCullingBounds() const; @@ -410,11 +409,12 @@ std::shared_ptr DisplayListToTexture( /// /// If [is_onscreen] is true, then the onscreen command buffer will be /// submitted via Context::SubmitOnscreen. -bool RenderToTarget(ContentContext& context, RenderTarget render_target, - const sk_sp& display_list, - Rect cull_rect, - bool reset_host_buffer, - bool is_onscreen = true); +bool RenderToTarget(ContentContext& context, + RenderTarget render_target, + const sk_sp& display_list, + Rect cull_rect, + bool reset_host_buffer, + bool is_onscreen = true); } // namespace impeller diff --git a/engine/src/flutter/impeller/display_list/dl_image_impeller.cc b/engine/src/flutter/impeller/display_list/dl_image_impeller.cc index b0bf62d5a89ee..fd03ab16f6fb9 100644 --- a/engine/src/flutter/impeller/display_list/dl_image_impeller.cc +++ b/engine/src/flutter/impeller/display_list/dl_image_impeller.cc @@ -42,13 +42,21 @@ sk_sp DlImageImpeller::MakeFromYUVTextures( std::move(y_texture), std::move(uv_texture), yuv_color_space); impeller::Entity entity; entity.SetBlendMode(impeller::BlendMode::kSrc); + + // Disable the render target cache so that this snapshot's texture will not + // be reused later by other operations. + const auto& renderer = aiks_context->GetContentContext(); + renderer.GetRenderTargetCache()->DisableCache(); + fml::ScopedCleanupClosure restore_cache( + [&] { renderer.GetRenderTargetCache()->EnableCache(); }); + std::optional snapshot = yuv_to_rgb_filter_contents->RenderToSnapshot( - aiks_context->GetContentContext(), // renderer - entity, // entity - std::nullopt, // coverage_limit - std::nullopt, // sampler_descriptor - true, // msaa_enabled + renderer, // renderer + entity, // entity + std::nullopt, // coverage_limit + std::nullopt, // sampler_descriptor + true, // msaa_enabled /*mip_count=*/1, "MakeYUVToRGBFilter Snapshot"); // label if (!snapshot.has_value()) { diff --git a/engine/src/flutter/impeller/display_list/dl_runtime_effect_impeller.cc b/engine/src/flutter/impeller/display_list/dl_runtime_effect_impeller.cc new file mode 100644 index 0000000000000..837a70e4397df --- /dev/null +++ b/engine/src/flutter/impeller/display_list/dl_runtime_effect_impeller.cc @@ -0,0 +1,34 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/impeller/display_list/dl_runtime_effect_impeller.h" +#include "flutter/impeller/runtime_stage/runtime_stage.h" + +namespace flutter { + +//------------------------------------------------------------------------------ +/// DlRuntimeEffectImpeller +/// + +sk_sp DlRuntimeEffectImpeller::Make( + std::shared_ptr runtime_stage) { + return sk_make_sp(std::move(runtime_stage)); +} + +DlRuntimeEffectImpeller::~DlRuntimeEffectImpeller() = default; + +DlRuntimeEffectImpeller::DlRuntimeEffectImpeller( + std::shared_ptr runtime_stage) + : runtime_stage_(std::move(runtime_stage)) {}; + +sk_sp DlRuntimeEffectImpeller::skia_runtime_effect() const { + return nullptr; +} + +std::shared_ptr DlRuntimeEffectImpeller::runtime_stage() + const { + return runtime_stage_; +} + +} // namespace flutter diff --git a/engine/src/flutter/impeller/display_list/dl_runtime_effect_impeller.h b/engine/src/flutter/impeller/display_list/dl_runtime_effect_impeller.h new file mode 100644 index 0000000000000..fa952b25a4234 --- /dev/null +++ b/engine/src/flutter/impeller/display_list/dl_runtime_effect_impeller.h @@ -0,0 +1,41 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_IMPELLER_DISPLAY_LIST_DL_RUNTIME_EFFECT_IMPELLER_H_ +#define FLUTTER_IMPELLER_DISPLAY_LIST_DL_RUNTIME_EFFECT_IMPELLER_H_ + +#include "flutter/display_list/effects/dl_runtime_effect.h" + +namespace flutter { + +class DlRuntimeEffectImpeller final : public DlRuntimeEffect { + public: + // |DlRuntimeEffect| + ~DlRuntimeEffectImpeller() override; + + static sk_sp Make( + std::shared_ptr runtime_stage); + + explicit DlRuntimeEffectImpeller( + std::shared_ptr runtime_stage); + + // |DlRuntimeEffect| + sk_sp skia_runtime_effect() const override; + + // |DlRuntimeEffect| + std::shared_ptr runtime_stage() const override; + + private: + DlRuntimeEffectImpeller() = delete; + + std::shared_ptr runtime_stage_; + + FML_DISALLOW_COPY_AND_ASSIGN(DlRuntimeEffectImpeller); + + friend DlRuntimeEffect; +}; + +} // namespace flutter + +#endif // FLUTTER_IMPELLER_DISPLAY_LIST_DL_RUNTIME_EFFECT_IMPELLER_H_ diff --git a/engine/src/flutter/impeller/display_list/dl_text_impeller.cc b/engine/src/flutter/impeller/display_list/dl_text_impeller.cc new file mode 100644 index 0000000000000..0f52bb93954f2 --- /dev/null +++ b/engine/src/flutter/impeller/display_list/dl_text_impeller.cc @@ -0,0 +1,25 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/impeller/display_list/dl_text_impeller.h" + +#include "flutter/impeller/typographer/backends/skia/text_frame_skia.h" + +namespace flutter { + +std::shared_ptr DlTextImpeller::Make( + const std::shared_ptr& frame) { + return std::make_shared(frame); +} + +std::shared_ptr DlTextImpeller::MakeFromBlob( + const sk_sp& blob) { + return DlTextImpeller::Make(impeller::MakeTextFrameFromTextBlobSkia(blob)); +} + +DlTextImpeller::DlTextImpeller( + const std::shared_ptr& frame) + : frame_(frame) {} + +} // namespace flutter diff --git a/engine/src/flutter/impeller/display_list/dl_text_impeller.h b/engine/src/flutter/impeller/display_list/dl_text_impeller.h new file mode 100644 index 0000000000000..5f436f5dacbe7 --- /dev/null +++ b/engine/src/flutter/impeller/display_list/dl_text_impeller.h @@ -0,0 +1,38 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_IMPELLER_DISPLAY_LIST_DL_TEXT_IMPELLER_H_ +#define FLUTTER_IMPELLER_DISPLAY_LIST_DL_TEXT_IMPELLER_H_ + +#include "flutter/display_list/dl_text.h" +#include "flutter/impeller/typographer/text_frame.h" + +class SkTextBlob; + +namespace flutter { +class DlTextImpeller : public DlText { + public: + static std::shared_ptr Make( + const std::shared_ptr& frame); + static std::shared_ptr MakeFromBlob( + const sk_sp& blob); + + ~DlTextImpeller() = default; + + explicit DlTextImpeller(const std::shared_ptr& frame); + + DlRect GetBounds() const { return frame_->GetBounds(); } + + std::shared_ptr GetTextFrame() const { return frame_; } + + const SkTextBlob* GetTextBlob() const { return nullptr; } + + private: + std::shared_ptr frame_; + + FML_DISALLOW_COPY_AND_ASSIGN(DlTextImpeller); +}; +} // namespace flutter + +#endif // FLUTTER_IMPELLER_DISPLAY_LIST_DL_TEXT_IMPELLER_H_ diff --git a/engine/src/flutter/impeller/display_list/dl_unittests.cc b/engine/src/flutter/impeller/display_list/dl_unittests.cc index 1f5ea4a21d6e2..f1550cfea74dc 100644 --- a/engine/src/flutter/impeller/display_list/dl_unittests.cc +++ b/engine/src/flutter/impeller/display_list/dl_unittests.cc @@ -11,6 +11,7 @@ #include "flutter/display_list/dl_builder.h" #include "flutter/display_list/dl_color.h" #include "flutter/display_list/dl_paint.h" +#include "flutter/display_list/dl_text_skia.h" #include "flutter/display_list/dl_tile_mode.h" #include "flutter/display_list/effects/dl_color_filter.h" #include "flutter/display_list/effects/dl_color_source.h" @@ -52,8 +53,9 @@ TEST_P(DisplayListTest, CanDrawRect) { TEST_P(DisplayListTest, CanDrawTextBlob) { flutter::DisplayListBuilder builder; - builder.DrawTextBlob(SkTextBlob::MakeFromString("Hello", CreateTestFont()), - 100, 100, flutter::DlPaint(flutter::DlColor::kBlue())); + builder.DrawText(flutter::DlTextSkia::Make( + SkTextBlob::MakeFromString("Hello", CreateTestFont())), + 100, 100, flutter::DlPaint(flutter::DlColor::kBlue())); ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } @@ -70,24 +72,25 @@ TEST_P(DisplayListTest, CanDrawTextBlobWithGradient) { flutter::DlPaint paint; paint.setColorSource(linear); - builder.DrawTextBlob( - SkTextBlob::MakeFromString("Hello World", CreateTestFont()), 100, 100, - paint); + builder.DrawText(flutter::DlTextSkia::Make(SkTextBlob::MakeFromString( + "Hello World", CreateTestFont())), + 100, 100, paint); ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } TEST_P(DisplayListTest, CanDrawTextWithSaveLayer) { flutter::DisplayListBuilder builder; - builder.DrawTextBlob(SkTextBlob::MakeFromString("Hello", CreateTestFont()), - 100, 100, flutter::DlPaint(flutter::DlColor::kRed())); + builder.DrawText(flutter::DlTextSkia::Make( + SkTextBlob::MakeFromString("Hello", CreateTestFont())), + 100, 100, flutter::DlPaint(flutter::DlColor::kRed())); flutter::DlPaint save_paint; float alpha = 0.5; save_paint.setAlpha(static_cast(255 * alpha)); builder.SaveLayer(std::nullopt, &save_paint); - builder.DrawTextBlob(SkTextBlob::MakeFromString("Hello with half alpha", - CreateTestFontOfSize(100)), - 100, 300, flutter::DlPaint(flutter::DlColor::kRed())); + builder.DrawText(flutter::DlTextSkia::Make(SkTextBlob::MakeFromString( + "Hello with half alpha", CreateTestFontOfSize(100))), + 100, 300, flutter::DlPaint(flutter::DlColor::kRed())); builder.Restore(); ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } @@ -463,9 +466,9 @@ TEST_P(DisplayListTest, CanDrawWithMaskBlur) { auto filter = flutter::DlBlurMaskFilter(flutter::DlBlurStyle::kSolid, 10.0f); paint.setMaskFilter(&filter); - builder.DrawTextBlob( - SkTextBlob::MakeFromString("Testing", CreateTestFont()), 220, 170, - paint); + builder.DrawText(flutter::DlTextSkia::Make(SkTextBlob::MakeFromString( + "Testing", CreateTestFont())), + 220, 170, paint); } ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); @@ -477,9 +480,9 @@ TEST_P(DisplayListTest, CanDrawStrokedText) { paint.setDrawStyle(flutter::DlDrawStyle::kStroke); paint.setColor(flutter::DlColor::kRed()); - builder.DrawTextBlob( - SkTextBlob::MakeFromString("stoked about stroked text", CreateTestFont()), - 250, 250, paint); + builder.DrawText(flutter::DlTextSkia::Make(SkTextBlob::MakeFromString( + "stoked about stroked text", CreateTestFont())), + 250, 250, paint); ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } @@ -489,6 +492,7 @@ TEST_P(DisplayListTest, StrokedTextNotOffsetFromNormalText) { flutter::DisplayListBuilder builder; flutter::DlPaint paint; auto const& text_blob = SkTextBlob::MakeFromString("00000", CreateTestFont()); + auto text = flutter::DlTextSkia::Make(text_blob); // https://api.flutter.dev/flutter/material/Colors/blue-constant.html. auto const& mat_blue = flutter::DlColor(0xFF2196f3); @@ -501,11 +505,11 @@ TEST_P(DisplayListTest, StrokedTextNotOffsetFromNormalText) { // Draw stacked text, with stroked text on top. paint.setDrawStyle(flutter::DlDrawStyle::kFill); paint.setColor(flutter::DlColor::kWhite()); - builder.DrawTextBlob(text_blob, 250, 250, paint); + builder.DrawText(text, 250, 250, paint); paint.setDrawStyle(flutter::DlDrawStyle::kStroke); paint.setColor(flutter::DlColor::kBlack()); - builder.DrawTextBlob(text_blob, 250, 250, paint); + builder.DrawText(text, 250, 250, paint); ASSERT_TRUE(OpenPlaygroundHere(builder.Build())); } diff --git a/engine/src/flutter/impeller/display_list/dl_vertices_geometry.cc b/engine/src/flutter/impeller/display_list/dl_vertices_geometry.cc index b0dcada524829..3876171c68e32 100644 --- a/engine/src/flutter/impeller/display_list/dl_vertices_geometry.cc +++ b/engine/src/flutter/impeller/display_list/dl_vertices_geometry.cc @@ -117,7 +117,7 @@ GeometryResult DlVerticesGeometry::GetPositionBuffer( const Entity& entity, RenderPass& pass) const { int vertex_count = vertices_->vertex_count(); - BufferView vertex_buffer = renderer.GetTransientsBuffer().Emplace( + BufferView vertex_buffer = renderer.GetTransientsDataBuffer().Emplace( vertices_->vertex_data(), vertex_count * sizeof(Point), alignof(Point)); BufferView index_buffer = {}; @@ -126,7 +126,7 @@ GeometryResult DlVerticesGeometry::GetPositionBuffer( const uint16_t* indices_data = performed_normalization_ ? indices_.data() : vertices_->indices(); if (index_count) { - index_buffer = renderer.GetTransientsBuffer().Emplace( + index_buffer = renderer.GetTransientsIndexesBuffer().Emplace( indices_data, index_count * sizeof(uint16_t), alignof(uint16_t)); } @@ -161,7 +161,7 @@ GeometryResult DlVerticesGeometry::GetPositionUVColorBuffer( const Point* coordinates = has_texture_coordinates ? vertices_->texture_coordinate_data() : vertices_->vertex_data(); - BufferView vertex_buffer = renderer.GetTransientsBuffer().Emplace( + BufferView vertex_buffer = renderer.GetTransientsDataBuffer().Emplace( vertex_count * sizeof(VS::PerVertexData), alignof(VS::PerVertexData), [&](uint8_t* data) { VS::PerVertexData* vtx_contents = @@ -187,7 +187,7 @@ GeometryResult DlVerticesGeometry::GetPositionUVColorBuffer( const uint16_t* indices_data = performed_normalization_ ? indices_.data() : vertices_->indices(); if (index_count) { - index_buffer = renderer.GetTransientsBuffer().Emplace( + index_buffer = renderer.GetTransientsIndexesBuffer().Emplace( indices_data, index_count * sizeof(uint16_t), alignof(uint16_t)); } diff --git a/engine/src/flutter/impeller/display_list/testing/render_text_in_canvas.cc b/engine/src/flutter/impeller/display_list/testing/render_text_in_canvas.cc index d6b38635500ed..a3aaebfd1849f 100644 --- a/engine/src/flutter/impeller/display_list/testing/render_text_in_canvas.cc +++ b/engine/src/flutter/impeller/display_list/testing/render_text_in_canvas.cc @@ -5,6 +5,7 @@ #include "impeller/display_list/testing/render_text_in_canvas.h" #include "flutter/testing/testing.h" +#include "impeller/display_list/dl_text_impeller.h" #include "txt/platform.h" namespace flutter { @@ -39,7 +40,8 @@ bool RenderTextInCanvasSkia(DlCanvas* canvas, // text_paint.stroke_width = 1; // text_paint.style = // options.stroke ? Paint::Style::kStroke : Paint::Style::kFill; - canvas->DrawTextFrame(frame, position.x, position.y, text_paint); + canvas->DrawText(DlTextImpeller::Make(frame), position.x, position.y, + text_paint); return true; } } // namespace testing diff --git a/engine/src/flutter/impeller/entity/BUILD.gn b/engine/src/flutter/impeller/entity/BUILD.gn index 3f0e9aeabe489..bd2ed0f1b1497 100644 --- a/engine/src/flutter/impeller/entity/BUILD.gn +++ b/engine/src/flutter/impeller/entity/BUILD.gn @@ -243,6 +243,7 @@ impeller_component("entity") { "../renderer", "../typographer", "//flutter/display_list", + "//flutter/third_party/abseil-cpp/absl/container:flat_hash_map", ] deps = [ "//flutter/fml" ] diff --git a/engine/src/flutter/impeller/entity/contents/atlas_contents.cc b/engine/src/flutter/impeller/entity/contents/atlas_contents.cc index 129a50897f558..aa025f8645dea 100644 --- a/engine/src/flutter/impeller/entity/contents/atlas_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/atlas_contents.cc @@ -44,11 +44,11 @@ bool DrawImageRectAtlasGeometry::ShouldSkip() const { } VertexBuffer DrawImageRectAtlasGeometry::CreateSimpleVertexBuffer( - HostBuffer& host_buffer) const { + HostBuffer& data_host_buffer) const { using VS = TextureFillVertexShader; constexpr size_t indices[6] = {0, 1, 2, 1, 2, 3}; - BufferView buffer_view = host_buffer.Emplace( + BufferView buffer_view = data_host_buffer.Emplace( sizeof(VS::PerVertexData) * 6, alignof(VS::PerVertexData), [&](uint8_t* raw_data) { VS::PerVertexData* data = @@ -74,11 +74,11 @@ VertexBuffer DrawImageRectAtlasGeometry::CreateSimpleVertexBuffer( } VertexBuffer DrawImageRectAtlasGeometry::CreateBlendVertexBuffer( - HostBuffer& host_buffer) const { + HostBuffer& data_host_buffer) const { using VS = PorterDuffBlendVertexShader; constexpr size_t indices[6] = {0, 1, 2, 1, 2, 3}; - BufferView buffer_view = host_buffer.Emplace( + BufferView buffer_view = data_host_buffer.Emplace( sizeof(VS::PerVertexData) * 6, alignof(VS::PerVertexData), [&](uint8_t* raw_data) { VS::PerVertexData* data = @@ -166,7 +166,7 @@ bool AtlasContents::Render(const ContentContext& renderer, renderer.GetContext()->GetSamplerLibrary()->GetSampler( dst_sampler_descriptor); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); if (!geometry_->ShouldUseBlend()) { using VS = TextureFillVertexShader; using FS = TextureFillFragmentShader; @@ -181,7 +181,7 @@ bool AtlasContents::Render(const ContentContext& renderer, pipeline_options.blend_mode == BlendMode::kSrc; pass.SetPipeline(renderer.GetTexturePipeline(pipeline_options)); - pass.SetVertexBuffer(geometry_->CreateSimpleVertexBuffer(host_buffer)); + pass.SetVertexBuffer(geometry_->CreateSimpleVertexBuffer(data_host_buffer)); #ifdef IMPELLER_DEBUG pass.SetCommandLabel("DrawAtlas"); #endif // IMPELLER_DEBUG @@ -191,11 +191,11 @@ bool AtlasContents::Render(const ContentContext& renderer, frame_info.texture_sampler_y_coord_scale = geometry_->GetAtlas()->GetYCoordScale(); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); FS::FragInfo frag_info; frag_info.alpha = alpha_; - FS::BindFragInfo(pass, host_buffer.EmplaceUniform((frag_info))); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform((frag_info))); FS::BindTextureSampler(pass, geometry_->GetAtlas(), dst_sampler); return pass.Draw().ok(); } @@ -209,7 +209,7 @@ bool AtlasContents::Render(const ContentContext& renderer, #ifdef IMPELLER_DEBUG pass.SetCommandLabel("DrawAtlas Blend"); #endif // IMPELLER_DEBUG - pass.SetVertexBuffer(geometry_->CreateBlendVertexBuffer(host_buffer)); + pass.SetVertexBuffer(geometry_->CreateBlendVertexBuffer(data_host_buffer)); BlendMode inverted_blend_mode = geometry_->ShouldInvertBlendMode() ? (InvertPorterDuffBlend(blend_mode).value_or(BlendMode::kSrc)) @@ -237,11 +237,11 @@ bool AtlasContents::Render(const ContentContext& renderer, frag_info.use_strict_source_rect = 0.0; } - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); frame_info.mvp = entity.GetShaderTransform(pass); - auto uniform_view = host_buffer.EmplaceUniform(frame_info); + auto uniform_view = data_host_buffer.EmplaceUniform(frame_info); VS::BindFrameInfo(pass, uniform_view); return pass.Draw().ok(); @@ -253,7 +253,7 @@ bool AtlasContents::Render(const ContentContext& renderer, #ifdef IMPELLER_DEBUG pass.SetCommandLabel("DrawAtlas Advanced Blend"); #endif // IMPELLER_DEBUG - pass.SetVertexBuffer(geometry_->CreateBlendVertexBuffer(host_buffer)); + pass.SetVertexBuffer(geometry_->CreateBlendVertexBuffer(data_host_buffer)); pass.SetPipeline(renderer.GetDrawVerticesUberPipeline( blend_mode, OptionsFromPassAndEntity(pass, entity))); @@ -273,8 +273,8 @@ bool AtlasContents::Render(const ContentContext& renderer, frag_info.tmx = static_cast(Entity::TileMode::kDecal); frag_info.tmy = static_cast(Entity::TileMode::kDecal); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); - VUS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); + VUS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); return pass.Draw().ok(); } @@ -319,7 +319,7 @@ bool ColorFilterAtlasContents::Render(const ContentContext& renderer, renderer.GetContext()->GetSamplerLibrary()->GetSampler( dst_sampler_descriptor); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); using VS = ColorMatrixColorFilterPipeline::VertexShader; using FS = ColorMatrixColorFilterPipeline::FragmentShader; @@ -327,7 +327,7 @@ bool ColorFilterAtlasContents::Render(const ContentContext& renderer, #ifdef IMPELLER_DEBUG pass.SetCommandLabel("Atlas ColorFilter"); #endif // IMPELLER_DEBUG - pass.SetVertexBuffer(geometry_->CreateSimpleVertexBuffer(host_buffer)); + pass.SetVertexBuffer(geometry_->CreateSimpleVertexBuffer(data_host_buffer)); pass.SetPipeline( renderer.GetColorMatrixColorFilterPipeline(OptionsFromPass(pass))); @@ -348,11 +348,11 @@ bool ColorFilterAtlasContents::Render(const ContentContext& renderer, matrix[3], matrix[8], matrix[13], matrix[18] // ); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); frame_info.mvp = entity.GetShaderTransform(pass); - auto uniform_view = host_buffer.EmplaceUniform(frame_info); + auto uniform_view = data_host_buffer.EmplaceUniform(frame_info); VS::BindFrameInfo(pass, uniform_view); return pass.Draw().ok(); diff --git a/engine/src/flutter/impeller/entity/contents/clip_contents.cc b/engine/src/flutter/impeller/entity/contents/clip_contents.cc index b01b0efcf582c..2dbbfa30db447 100644 --- a/engine/src/flutter/impeller/entity/contents/clip_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/clip_contents.cc @@ -110,7 +110,8 @@ bool ClipContents::Render(const ContentContext& renderer, pass.SetPipeline(renderer.GetClipPipeline(options)); info.mvp = clip_geometry_.transform; - VS::BindFrameInfo(pass, renderer.GetTransientsBuffer().EmplaceUniform(info)); + VS::BindFrameInfo(pass, + renderer.GetTransientsDataBuffer().EmplaceUniform(info)); if (!pass.Draw().ok()) { return false; @@ -136,12 +137,13 @@ bool ClipContents::Render(const ContentContext& renderer, } auto points = cover_area.GetPoints(); pass.SetVertexBuffer( - CreateVertexBuffer(points, renderer.GetTransientsBuffer())); + CreateVertexBuffer(points, renderer.GetTransientsDataBuffer())); pass.SetPipeline(renderer.GetClipPipeline(options)); info.mvp = pass.GetOrthographicTransform(); - VS::BindFrameInfo(pass, renderer.GetTransientsBuffer().EmplaceUniform(info)); + VS::BindFrameInfo(pass, + renderer.GetTransientsDataBuffer().EmplaceUniform(info)); return pass.Draw().ok(); } @@ -178,12 +180,13 @@ bool RenderClipRestore(const ContentContext& renderer, VS::PerVertexData{Point(ltrb[2], ltrb[3])}, }; pass.SetVertexBuffer( - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer())); + CreateVertexBuffer(vertices, renderer.GetTransientsDataBuffer())); VS::FrameInfo info; info.depth = GetShaderClipDepth(clip_depth); info.mvp = pass.GetOrthographicTransform(); - VS::BindFrameInfo(pass, renderer.GetTransientsBuffer().EmplaceUniform(info)); + VS::BindFrameInfo(pass, + renderer.GetTransientsDataBuffer().EmplaceUniform(info)); return pass.Draw().ok(); } diff --git a/engine/src/flutter/impeller/entity/contents/color_source_contents.h b/engine/src/flutter/impeller/entity/contents/color_source_contents.h index fd80863ceeed7..51c9fc3ca29d1 100644 --- a/engine/src/flutter/impeller/entity/contents/color_source_contents.h +++ b/engine/src/flutter/impeller/entity/contents/color_source_contents.h @@ -174,7 +174,8 @@ class ColorSourceContents : public Contents { clip_frame_info.depth = entity.GetShaderClipDepth(); clip_frame_info.mvp = stencil_geometry_result.transform; ClipPipeline::VertexShader::BindFrameInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(clip_frame_info)); + pass, + renderer.GetTransientsDataBuffer().EmplaceUniform(clip_frame_info)); if (!pass.Draw().ok()) { return false; @@ -228,7 +229,7 @@ class ColorSourceContents : public Contents { pass.SetStencilReference(0); VertexShaderT::BindFrameInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frame_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frame_info)); // The reason we need to have a callback mechanism here is that this routine // may insert draw calls before the main draw call below. For example, for diff --git a/engine/src/flutter/impeller/entity/contents/conical_gradient_contents.cc b/engine/src/flutter/impeller/entity/contents/conical_gradient_contents.cc index 33a0edc9fdd7a..9ab21851b4e50 100644 --- a/engine/src/flutter/impeller/entity/contents/conical_gradient_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/conical_gradient_contents.cc @@ -125,16 +125,15 @@ bool ConicalGradientContents::RenderSSBO(const ContentContext& renderer, frag_info.focus_radius = 0.0; } - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto colors = CreateGradientColors(colors_, stops_); frag_info.colors_length = colors.size(); - auto color_buffer = - host_buffer.Emplace(colors.data(), colors.size() * sizeof(StopData), - host_buffer.GetMinimumUniformAlignment()); + auto color_buffer = data_host_buffer.Emplace( + colors.data(), colors.size() * sizeof(StopData), + data_host_buffer.GetMinimumUniformAlignment()); - FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); FS::BindColorData(pass, color_buffer); pass.SetCommandLabel("ConicalGradientSSBOFill"); @@ -180,7 +179,7 @@ bool ConicalGradientContents::RenderUniform(const ContentContext& renderer, pass.SetCommandLabel("ConicalGradientUniformFill"); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); return true; }); @@ -234,7 +233,7 @@ bool ConicalGradientContents::RenderTexture(const ContentContext& renderer, pass.SetCommandLabel("ConicalGradientFill"); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); SamplerDescriptor sampler_desc; sampler_desc.min_filter = MinMagFilter::kLinear; sampler_desc.mag_filter = MinMagFilter::kLinear; diff --git a/engine/src/flutter/impeller/entity/contents/content_context.cc b/engine/src/flutter/impeller/entity/contents/content_context.cc index 66513d3537a4d..a7619ecc7fe96 100644 --- a/engine/src/flutter/impeller/entity/contents/content_context.cc +++ b/engine/src/flutter/impeller/entity/contents/content_context.cc @@ -4,6 +4,7 @@ #include "impeller/entity/contents/content_context.h" +#include #include #include @@ -189,8 +190,7 @@ RenderPipelineHandleT* CreateIfNeeded( /*async=*/false, [&opts, variants_count = container.GetPipelineCount()]( PipelineDescriptor& desc) { opts.ApplyToPipelineDescriptor(desc); - desc.SetLabel( - SPrintF("%s V#%zu", desc.GetLabel().data(), variants_count)); + desc.SetLabel(std::format("{} V#{}", desc.GetLabel(), variants_count)); }); std::unique_ptr variant = std::make_unique(std::move(variant_future)); @@ -555,7 +555,7 @@ ContentContext::ContentContext( ? std::make_shared( context_->GetResourceAllocator()) : std::move(render_target_allocator)), - host_buffer_(HostBuffer::Create( + data_host_buffer_(HostBuffer::Create( context_->GetResourceAllocator(), context_->GetIdleWaiter(), context_->GetCapabilities()->GetMinimumUniformAlignment())), @@ -564,6 +564,16 @@ ContentContext::ContentContext( return; } + // On most backends, indexes and other data can be allocated into the same + // buffers. However, some backends (namely WebGL) require indexes used in + // indexed draws to be allocated separately from other data. For those + // backends, we allocate a separate host buffer just for indexes. + indexes_host_buffer_ = + context_->GetCapabilities()->NeedsPartitionedHostBuffer() + ? HostBuffer::Create( + context_->GetResourceAllocator(), context_->GetIdleWaiter(), + context_->GetCapabilities()->GetMinimumUniformAlignment()) + : data_host_buffer_; { TextureDescriptor desc; desc.storage_mode = StorageMode::kDevicePrivate; @@ -575,8 +585,8 @@ ContentContext::ContentContext( std::shared_ptr cmd_buffer = GetContext()->CreateCommandBuffer(); std::shared_ptr blit_pass = cmd_buffer->CreateBlitPass(); - HostBuffer& host_buffer = GetTransientsBuffer(); - BufferView buffer_view = host_buffer.Emplace(data); + HostBuffer& data_host_buffer = GetTransientsDataBuffer(); + BufferView buffer_view = data_host_buffer.Emplace(data); blit_pass->AddCopy(buffer_view, empty_texture_); if (!blit_pass->EncodeCommands() || !GetContext() @@ -977,6 +987,17 @@ void ContentContext::ClearCachedRuntimeEffectPipeline( } } +void ContentContext::ResetTransientsBuffers() { + data_host_buffer_->Reset(); + + // We should only reset the indexes host buffer if it is actually different + // from the data host buffer. Otherwise we'll end up resetting the same host + // buffer twice. + if (data_host_buffer_ != indexes_host_buffer_) { + indexes_host_buffer_->Reset(); + } +} + void ContentContext::InitializeCommonlyUsedShadersIfNeeded() const { if (GetContext()->GetFlags().lazy_shader_mode) { return; diff --git a/engine/src/flutter/impeller/entity/contents/content_context.h b/engine/src/flutter/impeller/entity/contents/content_context.h index 73a39a453587a..47ec7752a5432 100644 --- a/engine/src/flutter/impeller/entity/contents/content_context.h +++ b/engine/src/flutter/impeller/entity/contents/content_context.h @@ -290,14 +290,41 @@ class ContentContext { void ClearCachedRuntimeEffectPipeline( const std::string& unique_entrypoint_name) const; - /// @brief Retrieve the currnent host buffer for transient storage. + /// @brief Retrieve the current host buffer for transient storage of indexes + /// used for indexed draws. + /// + /// This may or may not return the same value as `GetTransientsDataBuffer` + /// depending on the backend. + /// + /// This is only safe to use from the raster threads. Other threads should + /// allocate their own device buffers. + HostBuffer& GetTransientsIndexesBuffer() const { + return *indexes_host_buffer_; + } + + /// @brief Retrieve the current host buffer for transient storage of other + /// non-index data. /// /// This is only safe to use from the raster threads. Other threads should /// allocate their own device buffers. - HostBuffer& GetTransientsBuffer() const { return *host_buffer_; } + HostBuffer& GetTransientsDataBuffer() const { return *data_host_buffer_; } + + /// @brief Resets the transients buffers held onto by the content context. + void ResetTransientsBuffers(); TextShadowCache& GetTextShadowCache() const { return *text_shadow_cache_; } + protected: + // Visible for testing. + void SetTransientsIndexesBuffer(std::shared_ptr host_buffer) { + indexes_host_buffer_ = std::move(host_buffer); + } + + // Visible for testing. + void SetTransientsDataBuffer(std::shared_ptr host_buffer) { + data_host_buffer_ = std::move(host_buffer); + } + private: std::shared_ptr context_; std::shared_ptr lazy_glyph_atlas_; @@ -342,7 +369,8 @@ class ContentContext { bool is_valid_ = false; std::shared_ptr tessellator_; std::shared_ptr render_target_cache_; - std::shared_ptr host_buffer_; + std::shared_ptr data_host_buffer_; + std::shared_ptr indexes_host_buffer_; std::shared_ptr empty_texture_; std::unique_ptr text_shadow_cache_; diff --git a/engine/src/flutter/impeller/entity/contents/filters/blend_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/blend_filter_contents.cc index 05298e679ef41..9c9f773ae051a 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/blend_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/blend_filter_contents.cc @@ -169,7 +169,7 @@ static std::optional AdvancedBlend( ContentContext::SubpassCallback callback = [&](const ContentContext& renderer, RenderPass& pass) { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto size = pass.GetRenderTargetSize(); @@ -183,7 +183,7 @@ static std::optional AdvancedBlend( src_uvs[3]}, }; auto vtx_buffer = - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer()); + CreateVertexBuffer(vertices, renderer.GetTransientsDataBuffer()); auto options = OptionsFromPass(pass); options.primitive_type = PrimitiveType::kTriangleStrip; @@ -225,14 +225,14 @@ static std::optional AdvancedBlend( FS::BindTextureSamplerSrc(pass, src_snapshot->texture, src_sampler); frame_info.src_y_coord_scale = src_snapshot->texture->GetYCoordScale(); } - auto blend_uniform = host_buffer.EmplaceUniform(blend_info); + auto blend_uniform = data_host_buffer.EmplaceUniform(blend_info); FS::BindBlendInfo(pass, blend_uniform); frame_info.mvp = pass.GetOrthographicTransform() * Matrix::MakeTranslation(coverage.GetOrigin() - subpass_coverage.GetOrigin()); - auto uniform_view = host_buffer.EmplaceUniform(frame_info); + auto uniform_view = data_host_buffer.EmplaceUniform(frame_info); VS::BindFrameInfo(pass, uniform_view); return pass.Draw().ok(); @@ -295,7 +295,7 @@ std::optional BlendFilterContents::CreateForegroundAdvancedBlend( using VS = BlendScreenPipeline::VertexShader; using FS = BlendScreenPipeline::FragmentShader; - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto size = dst_snapshot->texture->GetSize(); std::array vertices = { @@ -304,8 +304,7 @@ std::optional BlendFilterContents::CreateForegroundAdvancedBlend( VS::PerVertexData{Point(0, size.height), {0, 1}, {0, 1}}, VS::PerVertexData{Point(size.width, size.height), {1, 1}, {1, 1}}, }; - auto vtx_buffer = - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer()); + auto vtx_buffer = CreateVertexBuffer(vertices, data_host_buffer); #ifdef IMPELLER_DEBUG pass.SetCommandLabel(BlendModeToFilterString(blend_mode)); @@ -389,10 +388,10 @@ std::optional BlendFilterContents::CreateForegroundAdvancedBlend( // binding. FS::BindTextureSamplerSrc(pass, dst_snapshot->texture, dst_sampler); - auto blend_uniform = host_buffer.EmplaceUniform(blend_info); + auto blend_uniform = data_host_buffer.EmplaceUniform(blend_info); FS::BindBlendInfo(pass, blend_uniform); - auto uniform_view = host_buffer.EmplaceUniform(frame_info); + auto uniform_view = data_host_buffer.EmplaceUniform(frame_info); VS::BindFrameInfo(pass, uniform_view); return pass.Draw().ok(); @@ -441,7 +440,7 @@ std::optional BlendFilterContents::CreateForegroundPorterDuffBlend( using VS = PorterDuffBlendPipeline::VertexShader; using FS = PorterDuffBlendPipeline::FragmentShader; - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto size = dst_snapshot->texture->GetSize(); auto color = foreground_color.Premultiply(); @@ -452,7 +451,7 @@ std::optional BlendFilterContents::CreateForegroundPorterDuffBlend( VS::PerVertexData{Point(size.width, size.height), {1, 1}, color}, }; auto vtx_buffer = - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer()); + CreateVertexBuffer(vertices, renderer.GetTransientsDataBuffer()); #ifdef IMPELLER_DEBUG pass.SetCommandLabel(BlendModeToFilterString(blend_mode)); @@ -483,8 +482,8 @@ std::optional BlendFilterContents::CreateForegroundPorterDuffBlend( 1, 0, 0); frag_info.use_strict_source_rect = 0.0; - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); return pass.Draw().ok(); }; @@ -538,7 +537,7 @@ static std::optional PipelineBlend( ContentContext::SubpassCallback callback = [&](const ContentContext& renderer, RenderPass& pass) { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); #ifdef IMPELLER_DEBUG pass.SetCommandLabel(BlendModeToFilterString(blend_mode)); @@ -568,7 +567,7 @@ static std::optional PipelineBlend( VS::PerVertexData{Point(size.width, size.height), Point(1, 1)}, }; pass.SetVertexBuffer( - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer())); + CreateVertexBuffer(vertices, renderer.GetTransientsDataBuffer())); VS::FrameInfo frame_info; frame_info.mvp = pass.GetOrthographicTransform() * @@ -582,8 +581,8 @@ static std::optional PipelineBlend( absorb_opacity == ColorFilterContents::AbsorbOpacity::kYes ? input->opacity : 1.0; - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); return pass.Draw().ok(); }; @@ -693,7 +692,7 @@ std::optional BlendFilterContents::CreateFramebufferAdvancedBlend( RenderPass& pass) { // First, we create a new render pass and populate it with the contents // of the first (dst) input. - HostBuffer& host_buffer = renderer.GetTransientsBuffer(); + HostBuffer& data_host_buffer = renderer.GetTransientsDataBuffer(); { using FS = TextureFillFragmentShader; @@ -719,10 +718,10 @@ std::optional BlendFilterContents::CreateFramebufferAdvancedBlend( VS::PerVertexData{Point(1, 1), {1, 1}}, }; pass.SetVertexBuffer( - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer())); + CreateVertexBuffer(vertices, renderer.GetTransientsDataBuffer())); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); FS::BindTextureSampler( pass, dst_snapshot->texture, renderer.GetContext()->GetSamplerLibrary()->GetSampler({})); @@ -768,7 +767,7 @@ std::optional BlendFilterContents::CreateFramebufferAdvancedBlend( pass.SetCommandLabel("Framebuffer Advanced Blend Filter"); pass.SetVertexBuffer( - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer())); + CreateVertexBuffer(vertices, renderer.GetTransientsDataBuffer())); switch (blend_mode) { case BlendMode::kScreen: @@ -841,14 +840,14 @@ std::optional BlendFilterContents::CreateFramebufferAdvancedBlend( frame_info.mvp = Matrix::MakeOrthographic(ISize(1, 1)); frame_info.src_y_coord_scale = src_texture->GetYCoordScale(); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); frag_info.src_input_alpha = 1.0; frag_info.dst_input_alpha = absorb_opacity == ColorFilterContents::AbsorbOpacity::kYes ? dst_snapshot->opacity : 1.0; - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); return pass.Draw().ok(); } @@ -869,7 +868,7 @@ std::optional BlendFilterContents::CreateFramebufferAdvancedBlend( return std::nullopt; } std::shared_ptr blit_pass = cmd_buffer->CreateBlitPass(); - auto buffer_view = renderer.GetTransientsBuffer().Emplace( + auto buffer_view = renderer.GetTransientsDataBuffer().Emplace( foreground_color->Premultiply().ToR8G8B8A8(), /*alignment=*/4); blit_pass->AddCopy(std::move(buffer_view), foreground_texture); diff --git a/engine/src/flutter/impeller/entity/contents/filters/blend_filter_contents_unittests.cc b/engine/src/flutter/impeller/entity/contents/filters/blend_filter_contents_unittests.cc index cc8176679e404..55e59c3327d89 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/blend_filter_contents_unittests.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/blend_filter_contents_unittests.cc @@ -52,8 +52,8 @@ TEST_P(BlendFilterContentsTest, AdvancedBlendColorAlignsColorTo4) { std::shared_ptr renderer = GetContentContext(); // Add random byte to get the HostBuffer in a bad alignment. uint8_t byte = 0xff; - BufferView buffer_view = - renderer->GetTransientsBuffer().Emplace(&byte, /*length=*/1, /*align=*/1); + BufferView buffer_view = renderer->GetTransientsDataBuffer().Emplace( + &byte, /*length=*/1, /*align=*/1); EXPECT_EQ(buffer_view.GetRange().offset, 4u); EXPECT_EQ(buffer_view.GetRange().length, 1u); Entity entity; diff --git a/engine/src/flutter/impeller/entity/contents/filters/border_mask_blur_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/border_mask_blur_filter_contents.cc index 2e89685e19e46..8b57a3e1a2ccc 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/border_mask_blur_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/border_mask_blur_filter_contents.cc @@ -89,7 +89,7 @@ std::optional BorderMaskBlurFilterContents::RenderFilter( outer_blur_factor = outer_blur_factor_, sigma]( const ContentContext& renderer, const Entity& entity, RenderPass& pass) -> bool { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto origin = coverage.GetOrigin(); auto size = coverage.GetSize(); @@ -117,10 +117,10 @@ std::optional BorderMaskBlurFilterContents::RenderFilter( pass.SetCommandLabel("Border Mask Blur Filter"); pass.SetPipeline(renderer.GetBorderMaskBlurPipeline(options)); - pass.SetVertexBuffer(CreateVertexBuffer(vertices, host_buffer)); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); raw_ptr sampler = renderer.GetContext()->GetSamplerLibrary()->GetSampler({}); diff --git a/engine/src/flutter/impeller/entity/contents/filters/color_matrix_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/color_matrix_filter_contents.cc index 337512f9a4ff5..5ff06abde3c0b 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/color_matrix_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/color_matrix_filter_contents.cc @@ -69,9 +69,8 @@ std::optional ColorMatrixFilterContents::RenderFilter( VS::PerVertexData{Point(0, 1), Point(0, 1)}, VS::PerVertexData{Point(1, 1), Point(1, 1)}, }; - auto& host_buffer = renderer.GetTransientsBuffer(); - pass.SetVertexBuffer( - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer())); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); VS::FrameInfo frame_info; frame_info.mvp = Entity::GetShaderTransform( @@ -98,8 +97,8 @@ std::optional ColorMatrixFilterContents::RenderFilter( raw_ptr sampler = renderer.GetContext()->GetSamplerLibrary()->GetSampler({}); FS::BindInputTexture(pass, input_snapshot->texture, sampler); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); return pass.Draw().ok(); }; diff --git a/engine/src/flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc index c1177434c1865..6fa1eb113c67b 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/gaussian_blur_filter_contents.cc @@ -337,7 +337,7 @@ fml::StatusOr MakeDownsampleSubpass( input_texture->GetTextureDescriptor().mip_count > 1)) { ContentContext::SubpassCallback subpass_callback = [&](const ContentContext& renderer, RenderPass& pass) { - HostBuffer& host_buffer = renderer.GetTransientsBuffer(); + HostBuffer& data_host_buffer = renderer.GetTransientsDataBuffer(); pass.SetCommandLabel("Gaussian blur downsample"); auto pipeline_options = OptionsFromPass(pass); @@ -359,16 +359,16 @@ fml::StatusOr MakeDownsampleSubpass( VS::PerVertexData{Point(0, 1), uvs[2]}, VS::PerVertexData{Point(1, 1), uvs[3]}, }; - pass.SetVertexBuffer(CreateVertexBuffer(vertices, host_buffer)); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); SamplerDescriptor linear_sampler_descriptor = sampler_descriptor; SetTileMode(&linear_sampler_descriptor, renderer, tile_mode); linear_sampler_descriptor.mag_filter = MinMagFilter::kLinear; linear_sampler_descriptor.min_filter = MinMagFilter::kLinear; TextureFillVertexShader::BindFrameInfo( - pass, host_buffer.EmplaceUniform(frame_info)); + pass, data_host_buffer.EmplaceUniform(frame_info)); TextureFillFragmentShader::BindFragInfo( - pass, host_buffer.EmplaceUniform(frag_info)); + pass, data_host_buffer.EmplaceUniform(frag_info)); TextureFillFragmentShader::BindTextureSampler( pass, input_texture, renderer.GetContext()->GetSamplerLibrary()->GetSampler( @@ -393,7 +393,7 @@ fml::StatusOr MakeDownsampleSubpass( } ContentContext::SubpassCallback subpass_callback = [&](const ContentContext& renderer, RenderPass& pass) { - HostBuffer& host_buffer = renderer.GetTransientsBuffer(); + HostBuffer& data_host_buffer = renderer.GetTransientsDataBuffer(); pass.SetCommandLabel("Gaussian blur downsample"); auto pipeline_options = OptionsFromPass(pass); @@ -430,16 +430,16 @@ fml::StatusOr MakeDownsampleSubpass( VS::PerVertexData{Point(0, 1), uvs[2]}, VS::PerVertexData{Point(1, 1), uvs[3]}, }; - pass.SetVertexBuffer(CreateVertexBuffer(vertices, host_buffer)); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); SamplerDescriptor linear_sampler_descriptor = sampler_descriptor; SetTileMode(&linear_sampler_descriptor, renderer, tile_mode); linear_sampler_descriptor.mag_filter = MinMagFilter::kLinear; linear_sampler_descriptor.min_filter = MinMagFilter::kLinear; TextureFillVertexShader::BindFrameInfo( - pass, host_buffer.EmplaceUniform(frame_info)); + pass, data_host_buffer.EmplaceUniform(frame_info)); TextureDownsampleFragmentShader::BindFragInfo( - pass, host_buffer.EmplaceUniform(frag_info)); + pass, data_host_buffer.EmplaceUniform(frag_info)); TextureDownsampleFragmentShader::BindTextureSampler( pass, input_texture, renderer.GetContext()->GetSamplerLibrary()->GetSampler( @@ -482,7 +482,7 @@ fml::StatusOr MakeBlurSubpass( frame_info.texture_sampler_y_coord_scale = input_texture->GetYCoordScale(); - HostBuffer& host_buffer = renderer.GetTransientsBuffer(); + HostBuffer& data_host_buffer = renderer.GetTransientsDataBuffer(); ContentContextOptions options = OptionsFromPass(pass); options.primitive_type = PrimitiveType::kTriangleStrip; @@ -494,7 +494,7 @@ fml::StatusOr MakeBlurSubpass( VS::PerVertexData{blur_uvs[2], blur_uvs[2]}, VS::PerVertexData{blur_uvs[3], blur_uvs[3]}, }; - pass.SetVertexBuffer(CreateVertexBuffer(vertices, host_buffer)); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); SamplerDescriptor linear_sampler_descriptor = sampler_descriptor; linear_sampler_descriptor.mag_filter = MinMagFilter::kLinear; @@ -504,9 +504,9 @@ fml::StatusOr MakeBlurSubpass( renderer.GetContext()->GetSamplerLibrary()->GetSampler( linear_sampler_descriptor)); GaussianBlurVertexShader::BindFrameInfo( - pass, host_buffer.EmplaceUniform(frame_info)); + pass, data_host_buffer.EmplaceUniform(frame_info)); GaussianBlurFragmentShader::BindKernelSamples( - pass, host_buffer.EmplaceUniform( + pass, data_host_buffer.EmplaceUniform( LerpHackKernelSamples(GenerateBlurInfo(blur_info)))); return pass.Draw().ok(); }; diff --git a/engine/src/flutter/impeller/entity/contents/filters/linear_to_srgb_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/linear_to_srgb_filter_contents.cc index ac8debca592d6..c0966251cb2c5 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/linear_to_srgb_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/linear_to_srgb_filter_contents.cc @@ -58,8 +58,8 @@ std::optional LinearToSrgbFilterContents::RenderFilter( VS::PerVertexData{Point(1, 1)}, }; - auto& host_buffer = renderer.GetTransientsBuffer(); - pass.SetVertexBuffer(CreateVertexBuffer(vertices, host_buffer)); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); VS::FrameInfo frame_info; frame_info.mvp = Entity::GetShaderTransform( @@ -78,8 +78,8 @@ std::optional LinearToSrgbFilterContents::RenderFilter( FS::BindInputTexture( pass, input_snapshot->texture, renderer.GetContext()->GetSamplerLibrary()->GetSampler({})); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); return pass.Draw().ok(); }; diff --git a/engine/src/flutter/impeller/entity/contents/filters/morphology_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/morphology_filter_contents.cc index 2ba53c132459c..4c56c51416fdc 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/morphology_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/morphology_filter_contents.cc @@ -74,7 +74,7 @@ std::optional DirectionalMorphologyFilterContents::RenderFilter( ContentContext::SubpassCallback callback = [&](const ContentContext& renderer, RenderPass& pass) { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); std::array vertices = { VS::PerVertexData{Point(0, 0), input_uvs[0]}, @@ -115,7 +115,7 @@ std::optional DirectionalMorphologyFilterContents::RenderFilter( options.primitive_type = PrimitiveType::kTriangleStrip; options.blend_mode = BlendMode::kSrc; pass.SetPipeline(renderer.GetMorphologyFilterPipeline(options)); - pass.SetVertexBuffer(CreateVertexBuffer(vertices, host_buffer)); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); auto sampler_descriptor = input_snapshot->sampler_descriptor; if (renderer.GetDeviceCapabilities().SupportsDecalSamplerAddressMode()) { @@ -127,8 +127,8 @@ std::optional DirectionalMorphologyFilterContents::RenderFilter( pass, input_snapshot->texture, renderer.GetContext()->GetSamplerLibrary()->GetSampler( sampler_descriptor)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); return pass.Draw().ok(); }; diff --git a/engine/src/flutter/impeller/entity/contents/filters/srgb_to_linear_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/srgb_to_linear_filter_contents.cc index 43989e1473cce..47efcf4ff0d77 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/srgb_to_linear_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/srgb_to_linear_filter_contents.cc @@ -59,9 +59,8 @@ std::optional SrgbToLinearFilterContents::RenderFilter( VS::PerVertexData{Point(1, 1)}, }; - auto& host_buffer = renderer.GetTransientsBuffer(); - pass.SetVertexBuffer( - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer())); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); VS::FrameInfo frame_info; frame_info.mvp = Entity::GetShaderTransform( @@ -80,8 +79,8 @@ std::optional SrgbToLinearFilterContents::RenderFilter( raw_ptr sampler = renderer.GetContext()->GetSamplerLibrary()->GetSampler({}); FS::BindInputTexture(pass, input_snapshot->texture, sampler); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); return pass.Draw().ok(); }; diff --git a/engine/src/flutter/impeller/entity/contents/filters/yuv_to_rgb_filter_contents.cc b/engine/src/flutter/impeller/entity/contents/filters/yuv_to_rgb_filter_contents.cc index 4f7b35d149832..0847922452c50 100644 --- a/engine/src/flutter/impeller/entity/contents/filters/yuv_to_rgb_filter_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/filters/yuv_to_rgb_filter_contents.cc @@ -88,9 +88,8 @@ std::optional YUVToRGBFilterContents::RenderFilter( VS::PerVertexData{Point(1, 1)}, }; - auto& host_buffer = renderer.GetTransientsBuffer(); - pass.SetVertexBuffer( - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer())); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); VS::FrameInfo frame_info; frame_info.mvp = Entity::GetShaderTransform( @@ -116,8 +115,8 @@ std::optional YUVToRGBFilterContents::RenderFilter( FS::BindYTexture(pass, y_input_snapshot->texture, sampler); FS::BindUvTexture(pass, uv_input_snapshot->texture, sampler); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); return pass.Draw().ok(); }; diff --git a/engine/src/flutter/impeller/entity/contents/framebuffer_blend_contents.cc b/engine/src/flutter/impeller/entity/contents/framebuffer_blend_contents.cc index 3d8e4cca85d35..0af9870790013 100644 --- a/engine/src/flutter/impeller/entity/contents/framebuffer_blend_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/framebuffer_blend_contents.cc @@ -38,7 +38,7 @@ bool FramebufferBlendContents::Render(const ContentContext& renderer, using VS = FramebufferBlendScreenPipeline::VertexShader; using FS = FramebufferBlendScreenPipeline::FragmentShader; - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto src_snapshot = child_contents_->RenderToSnapshot( renderer, // renderer @@ -68,7 +68,7 @@ bool FramebufferBlendContents::Render(const ContentContext& renderer, pass.SetCommandLabel("Framebuffer Advanced Blend Filter"); pass.SetVertexBuffer( - CreateVertexBuffer(vertices, renderer.GetTransientsBuffer())); + CreateVertexBuffer(vertices, renderer.GetTransientsDataBuffer())); switch (blend_mode_) { case BlendMode::kScreen: @@ -136,11 +136,11 @@ bool FramebufferBlendContents::Render(const ContentContext& renderer, frame_info.mvp = Entity::GetShaderTransform(entity.GetShaderClipDepth(), pass, src_snapshot->transform); frame_info.src_y_coord_scale = src_snapshot->texture->GetYCoordScale(); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); frag_info.src_input_alpha = src_snapshot->opacity; frag_info.dst_input_alpha = 1.0; - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); return pass.Draw().ok(); } diff --git a/engine/src/flutter/impeller/entity/contents/line_contents.cc b/engine/src/flutter/impeller/entity/contents/line_contents.cc index 949ad1eed39db..b9f0492529777 100644 --- a/engine/src/flutter/impeller/entity/contents/line_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/line_contents.cc @@ -57,12 +57,12 @@ std::pair CreateGeometry( static_cast(geometry); auto& transform = entity.GetTransform(); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); size_t count = 4; fml::StatusOr calculate_status = LineContents::EffectiveLineParameters{.width = 0, .radius = 0}; - BufferView vertex_buffer = host_buffer.Emplace( + BufferView vertex_buffer = data_host_buffer.Emplace( count * sizeof(PerVertexData), alignof(PerVertexData), [line_geometry, &transform, &calculate_status](uint8_t* buffer) { auto vertices = reinterpret_cast(buffer); @@ -147,7 +147,7 @@ LineContents::LineContents(std::unique_ptr geometry, Color color) bool LineContents::Render(const ContentContext& renderer, const Entity& entity, RenderPass& pass) const { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); VS::FrameInfo frame_info; FS::FragInfo frag_info; @@ -178,8 +178,8 @@ bool LineContents::Render(const ContentContext& renderer, this, geometry_.get(), renderer, entity, pass, pipeline_callback, frame_info, /*bind_fragment_callback=*/ - [&frag_info, &host_buffer](RenderPass& pass) { - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + [&frag_info, &data_host_buffer](RenderPass& pass) { + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); pass.SetCommandLabel("Line"); return true; }, diff --git a/engine/src/flutter/impeller/entity/contents/linear_gradient_contents.cc b/engine/src/flutter/impeller/entity/contents/linear_gradient_contents.cc index 7bad3effed69d..e3667abcf74aa 100644 --- a/engine/src/flutter/impeller/entity/contents/linear_gradient_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/linear_gradient_contents.cc @@ -155,8 +155,9 @@ bool LinearGradientContents::FastLinearGradient(const ContentContext& renderer, } return GeometryResult{ .type = PrimitiveType::kTriangle, - .vertex_buffer = - vtx_builder.CreateVertexBuffer(renderer.GetTransientsBuffer()), + .vertex_buffer = vtx_builder.CreateVertexBuffer( + renderer.GetTransientsDataBuffer(), + renderer.GetTransientsIndexesBuffer()), .transform = entity.GetShaderTransform(pass), }; }; @@ -172,14 +173,14 @@ bool LinearGradientContents::FastLinearGradient(const ContentContext& renderer, return ColorSourceContents::DrawGeometry( renderer, entity, pass, pipeline_callback, frame_info, [this, &renderer, &entity](RenderPass& pass) { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); FS::FragInfo frag_info; frag_info.alpha = GetOpacityFactor() * GetGeometry()->ComputeAlphaCoverage(entity.GetTransform()); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); return true; }, @@ -262,7 +263,7 @@ bool LinearGradientContents::RenderTexture(const ContentContext& renderer, renderer.GetContext()->GetSamplerLibrary()->GetSampler( sampler_desc)); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); return true; }); } @@ -304,18 +305,17 @@ bool LinearGradientContents::RenderSSBO(const ContentContext& renderer, frag_info.inverse_dot_start_to_end = CalculateInverseDotStartToEnd(start_point_, end_point_); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto colors = CreateGradientColors(colors_, stops_); frag_info.colors_length = colors.size(); - auto color_buffer = - host_buffer.Emplace(colors.data(), colors.size() * sizeof(StopData), - host_buffer.GetMinimumUniformAlignment()); + auto color_buffer = data_host_buffer.Emplace( + colors.data(), colors.size() * sizeof(StopData), + data_host_buffer.GetMinimumUniformAlignment()); pass.SetCommandLabel("LinearGradientSSBOFill"); - FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); FS::BindColorData(pass, color_buffer); return true; @@ -354,7 +354,7 @@ bool LinearGradientContents::RenderUniform(const ContentContext& renderer, pass.SetCommandLabel("LinearGradientUniformFill"); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); return true; }); diff --git a/engine/src/flutter/impeller/entity/contents/radial_gradient_contents.cc b/engine/src/flutter/impeller/entity/contents/radial_gradient_contents.cc index 8586d4080b401..1e2044f2f891e 100644 --- a/engine/src/flutter/impeller/entity/contents/radial_gradient_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/radial_gradient_contents.cc @@ -101,17 +101,16 @@ bool RadialGradientContents::RenderSSBO(const ContentContext& renderer, GetOpacityFactor() * GetGeometry()->ComputeAlphaCoverage(entity.GetTransform()); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto colors = CreateGradientColors(colors_, stops_); frag_info.colors_length = colors.size(); - auto color_buffer = - host_buffer.Emplace(colors.data(), colors.size() * sizeof(StopData), - host_buffer.GetMinimumUniformAlignment()); + auto color_buffer = data_host_buffer.Emplace( + colors.data(), colors.size() * sizeof(StopData), + data_host_buffer.GetMinimumUniformAlignment()); pass.SetCommandLabel("RadialGradientSSBOFill"); - FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); FS::BindColorData(pass, color_buffer); return true; @@ -148,7 +147,7 @@ bool RadialGradientContents::RenderUniform(const ContentContext& renderer, pass.SetCommandLabel("RadialGradientUniformFill"); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); return true; }); @@ -198,7 +197,7 @@ bool RadialGradientContents::RenderTexture(const ContentContext& renderer, pass.SetCommandLabel("RadialGradientFill"); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); FS::BindTextureSampler( pass, gradient_texture, renderer.GetContext()->GetSamplerLibrary()->GetSampler( diff --git a/engine/src/flutter/impeller/entity/contents/runtime_effect_contents.cc b/engine/src/flutter/impeller/entity/contents/runtime_effect_contents.cc index 31e13399766b6..7ea27af2ed400 100644 --- a/engine/src/flutter/impeller/entity/contents/runtime_effect_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/runtime_effect_contents.cc @@ -32,7 +32,7 @@ constexpr char kFloatType = 1; // static BufferView RuntimeEffectContents::EmplaceVulkanUniform( const std::shared_ptr>& input_data, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, const RuntimeUniformDescription& uniform, size_t minimum_uniform_alignment) { // TODO(jonahwilliams): rewrite this to emplace directly into @@ -52,7 +52,7 @@ BufferView RuntimeEffectContents::EmplaceVulkanUniform( size_t alignment = std::max(sizeof(float) * uniform_buffer.size(), minimum_uniform_alignment); - return host_buffer.Emplace( + return data_host_buffer.Emplace( reinterpret_cast(uniform_buffer.data()), sizeof(float) * uniform_buffer.size(), alignment); } @@ -250,7 +250,7 @@ bool RuntimeEffectContents::Render(const ContentContext& renderer, // after 4 float uniforms may have a location of 4. Since we know that // the declarations are already ordered, we can track the uniform location // ourselves. - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); for (const auto& uniform : runtime_stage_->GetUniforms()) { std::unique_ptr metadata = MakeShaderMetadata(uniform); switch (uniform.type) { @@ -278,11 +278,12 @@ bool RuntimeEffectContents::Render(const ContentContext& renderer, << "Uniform " << uniform.name << " had unexpected type kFloat for Vulkan backend."; - size_t alignment = std::max(uniform.bit_width / 8, - host_buffer.GetMinimumUniformAlignment()); + size_t alignment = + std::max(uniform.bit_width / 8, + data_host_buffer.GetMinimumUniformAlignment()); BufferView buffer_view = - host_buffer.Emplace(uniform_data_->data() + buffer_offset, - uniform.GetSize(), alignment); + data_host_buffer.Emplace(uniform_data_->data() + buffer_offset, + uniform.GetSize(), alignment); ShaderUniformSlot uniform_slot; uniform_slot.name = uniform.name.c_str(); @@ -302,11 +303,12 @@ bool RuntimeEffectContents::Render(const ContentContext& renderer, uniform_slot.binding = uniform.location; uniform_slot.name = uniform.name.c_str(); - pass.BindResource( - ShaderStage::kFragment, DescriptorType::kUniformBuffer, - uniform_slot, nullptr, - EmplaceVulkanUniform(uniform_data_, host_buffer, uniform, - host_buffer.GetMinimumUniformAlignment())); + pass.BindResource(ShaderStage::kFragment, + DescriptorType::kUniformBuffer, uniform_slot, + nullptr, + EmplaceVulkanUniform( + uniform_data_, data_host_buffer, uniform, + data_host_buffer.GetMinimumUniformAlignment())); } } } diff --git a/engine/src/flutter/impeller/entity/contents/solid_color_contents.cc b/engine/src/flutter/impeller/entity/contents/solid_color_contents.cc index 9284f01cd604d..812ac9cbe9e9e 100644 --- a/engine/src/flutter/impeller/entity/contents/solid_color_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/solid_color_contents.cc @@ -49,7 +49,7 @@ bool SolidColorContents::Render(const ContentContext& renderer, RenderPass& pass) const { using VS = SolidFillPipeline::VertexShader; using FS = SolidFillPipeline::FragmentShader; - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); VS::FrameInfo frame_info; FS::FragInfo frag_info; @@ -62,8 +62,8 @@ bool SolidColorContents::Render(const ContentContext& renderer, }; return ColorSourceContents::DrawGeometry( renderer, entity, pass, pipeline_callback, frame_info, - [&frag_info, &host_buffer](RenderPass& pass) { - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + [&frag_info, &data_host_buffer](RenderPass& pass) { + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); pass.SetCommandLabel("Solid Fill"); return true; }); diff --git a/engine/src/flutter/impeller/entity/contents/solid_rrect_blur_contents.cc b/engine/src/flutter/impeller/entity/contents/solid_rrect_blur_contents.cc index 2f1d8cd8817b0..c518a715469bb 100644 --- a/engine/src/flutter/impeller/entity/contents/solid_rrect_blur_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/solid_rrect_blur_contents.cc @@ -27,11 +27,11 @@ bool SolidRRectBlurContents::SetPassInfo(RenderPass& pass, frag_info.sInv_minEdge_scale = Vector3(pass_context.sInv, pass_context.minEdge, pass_context.scale); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); pass.SetCommandLabel("RRect Shadow"); pass.SetPipeline(renderer.GetRRectBlurPipeline(pass_context.opts)); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); return true; } diff --git a/engine/src/flutter/impeller/entity/contents/solid_rrect_like_blur_contents.cc b/engine/src/flutter/impeller/entity/contents/solid_rrect_like_blur_contents.cc index 12f7b7549511c..193a9a5199bb3 100644 --- a/engine/src/flutter/impeller/entity/contents/solid_rrect_like_blur_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/solid_rrect_like_blur_contents.cc @@ -173,9 +173,9 @@ bool SolidRRectLikeBlurContents::Render(const ContentContext& renderer, entity.GetTransform() * Matrix::MakeTranslation(positive_rect.GetOrigin())); - auto& host_buffer = renderer.GetTransientsBuffer(); - pass.SetVertexBuffer(CreateVertexBuffer(vertices, host_buffer)); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); + pass.SetVertexBuffer(CreateVertexBuffer(vertices, data_host_buffer)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); if (!pass.Draw().ok()) { return false; diff --git a/engine/src/flutter/impeller/entity/contents/solid_rsuperellipse_blur_contents.cc b/engine/src/flutter/impeller/entity/contents/solid_rsuperellipse_blur_contents.cc index f9fbe4b022282..664e7b2e25537 100644 --- a/engine/src/flutter/impeller/entity/contents/solid_rsuperellipse_blur_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/solid_rsuperellipse_blur_contents.cc @@ -80,11 +80,11 @@ bool SolidRSuperellipseBlurContents::SetPassInfo( frag_info.polyRight = compute_poly(param.top_right.right); // Back to pass setup. - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); pass.SetCommandLabel("RSuperellipse Shadow"); pass.SetPipeline(renderer.GetRSuperellipseBlurPipeline(pass_context.opts)); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); return true; } diff --git a/engine/src/flutter/impeller/entity/contents/sweep_gradient_contents.cc b/engine/src/flutter/impeller/entity/contents/sweep_gradient_contents.cc index 6cb44ccc53fb5..666dbd5e23a83 100644 --- a/engine/src/flutter/impeller/entity/contents/sweep_gradient_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/sweep_gradient_contents.cc @@ -90,8 +90,8 @@ bool SweepGradientContents::RenderSSBO(const ContentContext& renderer, VS::FrameInfo frame_info; frame_info.matrix = GetInverseEffectTransform(); - VS::BindFrameInfo(pass, - renderer.GetTransientsBuffer().EmplaceUniform(frame_info)); + VS::BindFrameInfo( + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frame_info)); PipelineBuilderCallback pipeline_callback = [&renderer](ContentContextOptions options) { @@ -110,18 +110,18 @@ bool SweepGradientContents::RenderSSBO(const ContentContext& renderer, GetOpacityFactor() * GetGeometry()->ComputeAlphaCoverage(entity.GetTransform()); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto colors = CreateGradientColors(colors_, stops_); frag_info.colors_length = colors.size(); - auto color_buffer = - host_buffer.Emplace(colors.data(), colors.size() * sizeof(StopData), - host_buffer.GetMinimumUniformAlignment()); + auto color_buffer = data_host_buffer.Emplace( + colors.data(), colors.size() * sizeof(StopData), + data_host_buffer.GetMinimumUniformAlignment()); pass.SetCommandLabel("SweepGradientSSBOFill"); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); FS::BindColorData(pass, color_buffer); return true; @@ -136,8 +136,8 @@ bool SweepGradientContents::RenderUniform(const ContentContext& renderer, VS::FrameInfo frame_info; frame_info.matrix = GetInverseEffectTransform(); - VS::BindFrameInfo(pass, - renderer.GetTransientsBuffer().EmplaceUniform(frame_info)); + VS::BindFrameInfo( + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frame_info)); PipelineBuilderCallback pipeline_callback = [&renderer](ContentContextOptions options) { @@ -162,7 +162,7 @@ bool SweepGradientContents::RenderUniform(const ContentContext& renderer, pass.SetCommandLabel("SweepGradientUniformFill"); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); return true; }); @@ -213,7 +213,7 @@ bool SweepGradientContents::RenderTexture(const ContentContext& renderer, pass.SetCommandLabel("SweepGradientFill"); FS::BindFragInfo( - pass, renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); FS::BindTextureSampler( pass, gradient_texture, renderer.GetContext()->GetSamplerLibrary()->GetSampler( diff --git a/engine/src/flutter/impeller/entity/contents/text_contents.cc b/engine/src/flutter/impeller/entity/contents/text_contents.cc index 752355cc90819..9c961823b9b42 100644 --- a/engine/src/flutter/impeller/entity/contents/text_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/text_contents.cc @@ -228,7 +228,7 @@ bool TextContents::Render(const ContentContext& renderer, GlyphAtlas::Type type = frame_->GetAtlasType(); const std::shared_ptr& atlas = renderer.GetLazyGlyphAtlas()->CreateOrGetGlyphAtlas( - *renderer.GetContext(), renderer.GetTransientsBuffer(), type); + *renderer.GetContext(), renderer.GetTransientsDataBuffer(), type); if (!atlas || !atlas->IsValid()) { VALIDATION_LOG << "Cannot render glyphs without prepared atlas."; @@ -252,16 +252,16 @@ bool TextContents::Render(const ContentContext& renderer, bool is_translation_scale = entity.GetTransform().IsTranslationScaleOnly(); Matrix entity_transform = entity.GetTransform(); - VS::BindFrameInfo(pass, - renderer.GetTransientsBuffer().EmplaceUniform(frame_info)); + VS::BindFrameInfo( + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frame_info)); FS::FragInfo frag_info; frag_info.use_text_color = force_text_color_ ? 1.0 : 0.0; frag_info.text_color = ToVector(color.Premultiply()); frag_info.is_color_glyph = type == GlyphAtlas::Type::kColorBitmap; - FS::BindFragInfo(pass, - renderer.GetTransientsBuffer().EmplaceUniform(frag_info)); + FS::BindFragInfo( + pass, renderer.GetTransientsDataBuffer().EmplaceUniform(frag_info)); SamplerDescriptor sampler_desc; if (is_translation_scale) { @@ -287,7 +287,8 @@ bool TextContents::Render(const ContentContext& renderer, sampler_desc) // sampler ); - HostBuffer& host_buffer = renderer.GetTransientsBuffer(); + HostBuffer& data_host_buffer = renderer.GetTransientsDataBuffer(); + HostBuffer& indexes_host_buffer = renderer.GetTransientsIndexesBuffer(); size_t glyph_count = 0; for (const auto& run : frame_->GetRuns()) { glyph_count += run.GetGlyphPositions().size(); @@ -295,7 +296,7 @@ bool TextContents::Render(const ContentContext& renderer, size_t vertex_count = glyph_count * 4; size_t index_count = glyph_count * 6; - BufferView buffer_view = host_buffer.Emplace( + BufferView buffer_view = data_host_buffer.Emplace( vertex_count * sizeof(VS::PerVertexData), alignof(VS::PerVertexData), [&](uint8_t* data) { VS::PerVertexData* vtx_contents = @@ -308,7 +309,7 @@ bool TextContents::Render(const ContentContext& renderer, /*glyph_properties=*/GetGlyphProperties(), /*atlas=*/atlas); }); - BufferView index_buffer_view = host_buffer.Emplace( + BufferView index_buffer_view = indexes_host_buffer.Emplace( index_count * sizeof(uint16_t), alignof(uint16_t), [&](uint8_t* data) { uint16_t* indices = reinterpret_cast(data); size_t j = 0; diff --git a/engine/src/flutter/impeller/entity/contents/text_contents_unittests.cc b/engine/src/flutter/impeller/entity/contents/text_contents_unittests.cc index 58a0dbe84e781..a129dbf66731d 100644 --- a/engine/src/flutter/impeller/entity/contents/text_contents_unittests.cc +++ b/engine/src/flutter/impeller/entity/contents/text_contents_unittests.cc @@ -52,7 +52,7 @@ std::shared_ptr MakeTextFrame(const std::string& text, std::shared_ptr CreateGlyphAtlas( Context& context, const TypographerContext* typographer_context, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, GlyphAtlas::Type type, Rational scale, const std::shared_ptr& atlas_context, @@ -64,7 +64,7 @@ std::shared_ptr CreateGlyphAtlas( Matrix::MakeScale( Vector3{static_cast(scale), static_cast(scale), 1}), /*properties=*/std::nullopt); - return typographer_context->CreateGlyphAtlas(context, type, host_buffer, + return typographer_context->CreateGlyphAtlas(context, type, data_host_buffer, atlas_context, {frame}); } @@ -120,12 +120,12 @@ TEST_P(TextContentsTest, SimpleComputeVertexData) { std::shared_ptr context = TypographerContextSkia::Make(); std::shared_ptr atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - std::shared_ptr host_buffer = HostBuffer::Create( + std::shared_ptr data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); std::shared_ptr atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1, 1), atlas_context, text_frame, /*offset=*/{0, 0}); @@ -156,13 +156,13 @@ TEST_P(TextContentsTest, SimpleComputeVertexData2x) { std::shared_ptr context = TypographerContextSkia::Make(); std::shared_ptr atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - std::shared_ptr host_buffer = HostBuffer::Create( + std::shared_ptr data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); Rational font_scale(2, 1); std::shared_ptr atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, font_scale, atlas_context, text_frame, /*offset=*/{0, 0}); @@ -188,7 +188,7 @@ TEST_P(TextContentsTest, MaintainsShape) { std::shared_ptr context = TypographerContextSkia::Make(); std::shared_ptr atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - std::shared_ptr host_buffer = HostBuffer::Create( + std::shared_ptr data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); @@ -202,7 +202,7 @@ TEST_P(TextContentsTest, MaintainsShape) { std::vector data(12); std::shared_ptr atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, font_scale, atlas_context, text_frame, /*offset=*/{0, 0}); ISize texture_size = atlas->GetTexture()->GetSize(); @@ -238,13 +238,13 @@ TEST_P(TextContentsTest, SimpleSubpixel) { std::shared_ptr context = TypographerContextSkia::Make(); std::shared_ptr atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - std::shared_ptr host_buffer = HostBuffer::Create( + std::shared_ptr data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); Point offset = Point(0.5, 0); std::shared_ptr atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, text_frame, offset); @@ -276,14 +276,14 @@ TEST_P(TextContentsTest, SimpleSubpixel3x) { std::shared_ptr context = TypographerContextSkia::Make(); std::shared_ptr atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - std::shared_ptr host_buffer = HostBuffer::Create( + std::shared_ptr data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); Rational font_scale(3, 1); Point offset = {0.16667, 0}; std::shared_ptr atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, font_scale, atlas_context, text_frame, offset); @@ -321,13 +321,13 @@ TEST_P(TextContentsTest, SimpleSubpixel26) { std::shared_ptr context = TypographerContextSkia::Make(); std::shared_ptr atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - std::shared_ptr host_buffer = HostBuffer::Create( + std::shared_ptr data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); Point offset = Point(0.26, 0); std::shared_ptr atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, text_frame, offset); @@ -359,13 +359,13 @@ TEST_P(TextContentsTest, SimpleSubpixel80) { std::shared_ptr context = TypographerContextSkia::Make(); std::shared_ptr atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - std::shared_ptr host_buffer = HostBuffer::Create( + std::shared_ptr data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); Point offset = Point(0.80, 0); std::shared_ptr atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, text_frame, offset); diff --git a/engine/src/flutter/impeller/entity/contents/texture_contents.cc b/engine/src/flutter/impeller/entity/contents/texture_contents.cc index 62c0aef8052b3..97301e09e8fbc 100644 --- a/engine/src/flutter/impeller/entity/contents/texture_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/texture_contents.cc @@ -123,7 +123,7 @@ bool TextureContents::Render(const ContentContext& renderer, auto texture_coords = Rect::MakeSize(texture_->GetSize()).Project(source_rect_); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); std::array vertices = { VS::PerVertexData{destination_rect_.GetLeftTop(), @@ -135,7 +135,7 @@ bool TextureContents::Render(const ContentContext& renderer, VS::PerVertexData{destination_rect_.GetRightBottom(), texture_coords.GetRightBottom()}, }; - auto vertex_buffer = CreateVertexBuffer(vertices, host_buffer); + auto vertex_buffer = CreateVertexBuffer(vertices, data_host_buffer); VS::FrameInfo frame_info; frame_info.mvp = entity.GetShaderTransform(pass); @@ -175,7 +175,7 @@ bool TextureContents::Render(const ContentContext& renderer, #endif // IMPELLER_ENABLE_OPENGLES pass.SetVertexBuffer(vertex_buffer); - VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); + VS::BindFrameInfo(pass, data_host_buffer.EmplaceUniform(frame_info)); if (strict_source_rect_enabled_) { // For a strict source rect, shrink the texture coordinate range by half a @@ -187,7 +187,7 @@ bool TextureContents::Render(const ContentContext& renderer, FSStrict::FragInfo frag_info; frag_info.source_rect = Vector4(strict_texture_coords.GetLTRB()); frag_info.alpha = GetOpacity(); - FSStrict::BindFragInfo(pass, host_buffer.EmplaceUniform((frag_info))); + FSStrict::BindFragInfo(pass, data_host_buffer.EmplaceUniform((frag_info))); FSStrict::BindTextureSampler( pass, texture_, renderer.GetContext()->GetSamplerLibrary()->GetSampler( @@ -200,7 +200,7 @@ bool TextureContents::Render(const ContentContext& renderer, frag_info.y_tile_mode = static_cast(sampler_descriptor_.height_address_mode); frag_info.alpha = GetOpacity(); - FSExternal::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FSExternal::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); SamplerDescriptor sampler_desc; // OES_EGL_image_external states that only CLAMP_TO_EDGE is valid, so @@ -219,7 +219,7 @@ bool TextureContents::Render(const ContentContext& renderer, } else { FS::FragInfo frag_info; frag_info.alpha = GetOpacity(); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform((frag_info))); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform((frag_info))); FS::BindTextureSampler( pass, texture_, renderer.GetContext()->GetSamplerLibrary()->GetSampler( diff --git a/engine/src/flutter/impeller/entity/contents/tiled_texture_contents.cc b/engine/src/flutter/impeller/entity/contents/tiled_texture_contents.cc index 75263102adab7..f18efbe047afa 100644 --- a/engine/src/flutter/impeller/entity/contents/tiled_texture_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/tiled_texture_contents.cc @@ -140,7 +140,7 @@ bool TiledTextureContents::Render(const ContentContext& renderer, }, frame_info, [this, &renderer](RenderPass& pass) { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); #ifdef IMPELLER_DEBUG pass.SetCommandLabel("TextureFill External"); #endif // IMPELLER_DEBUG @@ -152,7 +152,8 @@ bool TiledTextureContents::Render(const ContentContext& renderer, frag_info.y_tile_mode = static_cast(sampler_descriptor_.height_address_mode); frag_info.alpha = GetOpacityFactor(); - FSExternal::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FSExternal::BindFragInfo(pass, + data_host_buffer.EmplaceUniform(frag_info)); SamplerDescriptor sampler_desc; // OES_EGL_image_external states that only CLAMP_TO_EDGE is valid, @@ -180,7 +181,7 @@ bool TiledTextureContents::Render(const ContentContext& renderer, return ColorSourceContents::DrawGeometry( renderer, entity, pass, pipeline_callback, frame_info, [this, &renderer, &entity](RenderPass& pass) { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); #ifdef IMPELLER_DEBUG pass.SetCommandLabel("TextureFill"); #endif // IMPELLER_DEBUG @@ -191,7 +192,7 @@ bool TiledTextureContents::Render(const ContentContext& renderer, frag_info.alpha = GetOpacityFactor() * GetGeometry()->ComputeAlphaCoverage(entity.GetTransform()); - FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); + FS::BindFragInfo(pass, data_host_buffer.EmplaceUniform(frag_info)); if (color_filter_) { auto filtered_texture = CreateFilterTexture(renderer); diff --git a/engine/src/flutter/impeller/entity/contents/vertices_contents.cc b/engine/src/flutter/impeller/entity/contents/vertices_contents.cc index 13e98ce0f6b0c..06e0ba866fd00 100644 --- a/engine/src/flutter/impeller/entity/contents/vertices_contents.cc +++ b/engine/src/flutter/impeller/entity/contents/vertices_contents.cc @@ -4,6 +4,8 @@ #include "vertices_contents.h" +#include + #include "fml/logging.h" #include "impeller/base/validation.h" #include "impeller/core/formats.h" @@ -144,8 +146,8 @@ bool VerticesSimpleBlendContents::Render(const ContentContext& renderer, using FS = PorterDuffBlendPipeline::FragmentShader; #ifdef IMPELLER_DEBUG - pass.SetCommandLabel(SPrintF("DrawVertices Porterduff Blend (%s)", - BlendModeToString(blend_mode))); + pass.SetCommandLabel(std::format("DrawVertices Porterduff Blend ({})", + BlendModeToString(blend_mode))); #endif // IMPELLER_DEBUG pass.SetVertexBuffer(std::move(geometry_result.vertex_buffer)); @@ -169,7 +171,7 @@ bool VerticesSimpleBlendContents::Render(const ContentContext& renderer, static_cast(tile_mode_y_)); frag_info.use_strict_source_rect = 0.0; - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& host_buffer = renderer.GetTransientsDataBuffer(); FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); @@ -180,8 +182,8 @@ bool VerticesSimpleBlendContents::Render(const ContentContext& renderer, using FS = VerticesUber1Shader::FragmentShader; #ifdef IMPELLER_DEBUG - pass.SetCommandLabel(SPrintF("DrawVertices Advanced Blend (%s)", - BlendModeToString(blend_mode))); + pass.SetCommandLabel(std::format("DrawVertices Advanced Blend ({})", + BlendModeToString(blend_mode))); #endif // IMPELLER_DEBUG pass.SetVertexBuffer(std::move(geometry_result.vertex_buffer)); @@ -203,7 +205,7 @@ bool VerticesSimpleBlendContents::Render(const ContentContext& renderer, frag_info.tmx = static_cast(tile_mode_x_); frag_info.tmy = static_cast(tile_mode_y_); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& host_buffer = renderer.GetTransientsDataBuffer(); FS::BindFragInfo(pass, host_buffer.EmplaceUniform(frag_info)); VS::BindFrameInfo(pass, host_buffer.EmplaceUniform(frame_info)); diff --git a/engine/src/flutter/impeller/entity/entity_playground.cc b/engine/src/flutter/impeller/entity/entity_playground.cc index b8ce2122a0b77..1ba0ac84b48b6 100644 --- a/engine/src/flutter/impeller/entity/entity_playground.cc +++ b/engine/src/flutter/impeller/entity/entity_playground.cc @@ -20,6 +20,11 @@ void EntityPlayground::SetTypographerContext( typographer_context_ = std::move(typographer_context); } +std::shared_ptr EntityPlayground::GetTypographerContext() + const { + return typographer_context_; +} + std::shared_ptr EntityPlayground::GetContentContext() const { return std::make_shared(GetContext(), typographer_context_); } @@ -37,7 +42,8 @@ bool EntityPlayground::OpenPlaygroundHere(Entity entity) { content_context->GetRenderTargetCache()->Start(); bool result = entity.Render(*content_context, pass); content_context->GetRenderTargetCache()->End(); - content_context->GetTransientsBuffer().Reset(); + content_context->GetTransientsDataBuffer().Reset(); + content_context->GetTransientsIndexesBuffer().Reset(); return result; }; return Playground::OpenPlaygroundHere(callback); @@ -56,7 +62,8 @@ bool EntityPlayground::OpenPlaygroundHere(EntityPlaygroundCallback callback) { content_context.GetRenderTargetCache()->Start(); bool result = callback(content_context, pass); content_context.GetRenderTargetCache()->End(); - content_context.GetTransientsBuffer().Reset(); + content_context.GetTransientsDataBuffer().Reset(); + content_context.GetTransientsIndexesBuffer().Reset(); return result; }; return Playground::OpenPlaygroundHere(pass_callback); diff --git a/engine/src/flutter/impeller/entity/entity_playground.h b/engine/src/flutter/impeller/entity/entity_playground.h index 6e23102de5642..a96f217b4be44 100644 --- a/engine/src/flutter/impeller/entity/entity_playground.h +++ b/engine/src/flutter/impeller/entity/entity_playground.h @@ -25,6 +25,8 @@ class EntityPlayground : public PlaygroundTest { void SetTypographerContext( std::shared_ptr typographer_context); + std::shared_ptr GetTypographerContext() const; + bool OpenPlaygroundHere(Entity entity); bool OpenPlaygroundHere(EntityPlaygroundCallback callback); diff --git a/engine/src/flutter/impeller/entity/entity_unittests.cc b/engine/src/flutter/impeller/entity/entity_unittests.cc index b0967198d45da..278dc16cfa075 100644 --- a/engine/src/flutter/impeller/entity/entity_unittests.cc +++ b/engine/src/flutter/impeller/entity/entity_unittests.cc @@ -829,16 +829,17 @@ TEST_P(EntityTest, BlendingModeOptions) { options.primitive_type = PrimitiveType::kTriangle; pass.SetPipeline(context.GetSolidFillPipeline(options)); pass.SetVertexBuffer( - vtx_builder.CreateVertexBuffer(context.GetTransientsBuffer())); + vtx_builder.CreateVertexBuffer(context.GetTransientsDataBuffer(), + context.GetTransientsIndexesBuffer())); VS::FrameInfo frame_info; frame_info.mvp = pass.GetOrthographicTransform() * world_matrix; VS::BindFrameInfo( - pass, context.GetTransientsBuffer().EmplaceUniform(frame_info)); + pass, context.GetTransientsDataBuffer().EmplaceUniform(frame_info)); FS::FragInfo frag_info; frag_info.color = color.Premultiply(); FS::BindFragInfo( - pass, context.GetTransientsBuffer().EmplaceUniform(frame_info)); + pass, context.GetTransientsDataBuffer().EmplaceUniform(frag_info)); return pass.Draw().ok(); }; @@ -1907,9 +1908,11 @@ TEST_P(EntityTest, RuntimeEffectSetsRightSizeWhenUniformIsStruct) { memcpy(uniform_data->data(), &frag_uniforms, sizeof(FragUniforms)); auto buffer_view = RuntimeEffectContents::EmplaceVulkanUniform( - uniform_data, GetContentContext()->GetTransientsBuffer(), + uniform_data, GetContentContext()->GetTransientsDataBuffer(), runtime_stage->GetUniforms()[0], - GetContentContext()->GetTransientsBuffer().GetMinimumUniformAlignment()); + GetContentContext() + ->GetTransientsDataBuffer() + .GetMinimumUniformAlignment()); // 16 bytes: // 8 bytes for iResolution @@ -2583,6 +2586,83 @@ TEST_P(EntityTest, GiantStrokePathAllocation) { EXPECT_NEAR(point.y, expected[4].y, 0.1); } +class FlushTestDeviceBuffer : public DeviceBuffer { + public: + explicit FlushTestDeviceBuffer(const DeviceBufferDescriptor& desc) + : DeviceBuffer(desc), storage_(desc.size) {} + + bool SetLabel(std::string_view label) override { return true; } + bool SetLabel(std::string_view label, Range range) override { return true; } + bool OnCopyHostBuffer(const uint8_t* source, + Range source_range, + size_t offset) { + return true; + } + + uint8_t* OnGetContents() const override { + return const_cast(storage_.data()); + } + + void Flush(std::optional range) const override { + flush_called_ = true; + } + + bool flush_called() const { return flush_called_; } + + private: + std::vector storage_; + mutable bool flush_called_ = false; +}; + +class FlushTestAllocator : public Allocator { + public: + ISize GetMaxTextureSizeSupported() const override { + return ISize(1024, 1024); + }; + + std::shared_ptr OnCreateBuffer( + const DeviceBufferDescriptor& desc) override { + return std::make_shared(desc); + }; + + std::shared_ptr OnCreateTexture(const TextureDescriptor& desc, + bool threadsafe) override { + return nullptr; + } +}; + +class FlushTestContentContext : public ContentContext { + public: + FlushTestContentContext( + const std::shared_ptr& context, + const std::shared_ptr& typographer_context, + const std::shared_ptr& allocator) + : ContentContext(context, typographer_context) { + SetTransientsDataBuffer(HostBuffer::Create( + allocator, context->GetIdleWaiter(), + context->GetCapabilities()->GetMinimumUniformAlignment())); + SetTransientsIndexesBuffer(HostBuffer::Create( + allocator, context->GetIdleWaiter(), + context->GetCapabilities()->GetMinimumUniformAlignment())); + } +}; + +TEST_P(EntityTest, RoundSuperellipseGetPositionBufferFlushes) { + RenderTarget target; + testing::MockRenderPass mock_pass(GetContext(), target); + + auto content_context = std::make_shared( + GetContext(), GetTypographerContext(), + std::make_shared()); + auto geometry = + Geometry::MakeRoundSuperellipse(Rect::MakeLTRB(0, 0, 100, 100), 5); + auto result = geometry->GetPositionBuffer(*content_context, {}, mock_pass); + + auto device_buffer = reinterpret_cast( + result.vertex_buffer.vertex_buffer.GetBuffer()); + EXPECT_TRUE(device_buffer->flush_called()); +} + } // namespace testing } // namespace impeller diff --git a/engine/src/flutter/impeller/entity/geometry/cover_geometry.cc b/engine/src/flutter/impeller/entity/geometry/cover_geometry.cc index 6c38d28d494ff..a31f459f56e59 100644 --- a/engine/src/flutter/impeller/entity/geometry/cover_geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/cover_geometry.cc @@ -15,16 +15,17 @@ GeometryResult CoverGeometry::GetPositionBuffer(const ContentContext& renderer, RenderPass& pass) const { auto rect = Rect::MakeSize(pass.GetRenderTargetSize()); constexpr uint16_t kRectIndicies[4] = {0, 1, 2, 3}; - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); + auto& indexes_host_buffer = renderer.GetTransientsIndexesBuffer(); return GeometryResult{ .type = PrimitiveType::kTriangleStrip, .vertex_buffer = { - .vertex_buffer = host_buffer.Emplace( + .vertex_buffer = data_host_buffer.Emplace( rect.GetTransformedPoints(entity.GetTransform().Invert()) .data(), 8 * sizeof(float), alignof(float)), - .index_buffer = host_buffer.Emplace( + .index_buffer = indexes_host_buffer.Emplace( kRectIndicies, 4 * sizeof(uint16_t), alignof(uint16_t)), .vertex_count = 4, .index_type = IndexType::k16bit, diff --git a/engine/src/flutter/impeller/entity/geometry/fill_path_geometry.cc b/engine/src/flutter/impeller/entity/geometry/fill_path_geometry.cc index 058129ac59537..4c0434fccd6ff 100644 --- a/engine/src/flutter/impeller/entity/geometry/fill_path_geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/fill_path_geometry.cc @@ -21,7 +21,8 @@ GeometryResult FillPathSourceGeometry::GetPositionBuffer( const ContentContext& renderer, const Entity& entity, RenderPass& pass) const { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); + auto& indexes_host_buffer = renderer.GetTransientsIndexesBuffer(); const auto& bounding_box = GetSource().GetBounds(); if (bounding_box.IsEmpty()) { @@ -43,7 +44,8 @@ GeometryResult FillPathSourceGeometry::GetPositionBuffer( renderer.GetDeviceCapabilities().SupportsTriangleFan() && supports_primitive_restart; VertexBuffer vertex_buffer = renderer.GetTessellator().TessellateConvex( - GetSource(), host_buffer, entity.GetTransform().GetMaxBasisLengthXY(), + GetSource(), data_host_buffer, indexes_host_buffer, + entity.GetTransform().GetMaxBasisLengthXY(), /*supports_primitive_restart=*/supports_primitive_restart, /*supports_triangle_fan=*/supports_triangle_fan); diff --git a/engine/src/flutter/impeller/entity/geometry/geometry.cc b/engine/src/flutter/impeller/entity/geometry/geometry.cc index 655d71e75e0ff..eb43edd90e4b8 100644 --- a/engine/src/flutter/impeller/entity/geometry/geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/geometry.cc @@ -36,7 +36,7 @@ GeometryResult Geometry::ComputePositionGeometry( .type = generator.GetTriangleType(), .vertex_buffer = { - .vertex_buffer = renderer.GetTransientsBuffer().Emplace( + .vertex_buffer = renderer.GetTransientsDataBuffer().Emplace( count * sizeof(VT), alignof(VT), [&generator](uint8_t* buffer) { auto vertices = reinterpret_cast(buffer); diff --git a/engine/src/flutter/impeller/entity/geometry/line_geometry.cc b/engine/src/flutter/impeller/entity/geometry/line_geometry.cc index e29b76232fe95..da07996fcaadb 100644 --- a/engine/src/flutter/impeller/entity/geometry/line_geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/line_geometry.cc @@ -128,10 +128,10 @@ GeometryResult LineGeometry::GetPositionBuffer(const ContentContext& renderer, return kEmptyResult; } - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); size_t count = 4; - BufferView vertex_buffer = host_buffer.Emplace( + BufferView vertex_buffer = data_host_buffer.Emplace( count * sizeof(VT), alignof(VT), [&corners](uint8_t* buffer) { auto vertices = reinterpret_cast(buffer); for (auto& corner : corners) { diff --git a/engine/src/flutter/impeller/entity/geometry/point_field_geometry.cc b/engine/src/flutter/impeller/entity/geometry/point_field_geometry.cc index 35c1f416fe92a..f248d336cbd99 100644 --- a/engine/src/flutter/impeller/entity/geometry/point_field_geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/point_field_geometry.cc @@ -38,7 +38,7 @@ GeometryResult PointFieldGeometry::GetPositionBuffer( Scalar min_size = 0.5f / max_basis; Scalar radius = std::max(radius_, min_size); - HostBuffer& host_buffer = renderer.GetTransientsBuffer(); + HostBuffer& data_host_buffer = renderer.GetTransientsDataBuffer(); BufferView buffer_view; size_t vertex_count = 0; @@ -57,7 +57,7 @@ GeometryResult PointFieldGeometry::GetPositionBuffer( FML_DCHECK(circle_vertices.size() == generator.GetVertexCount()); vertex_count = (circle_vertices.size() + 2) * point_count_ - 2; - buffer_view = host_buffer.Emplace( + buffer_view = data_host_buffer.Emplace( vertex_count * sizeof(Point), alignof(Point), [&](uint8_t* data) { Point* output = reinterpret_cast(data); size_t offset = 0; @@ -82,7 +82,7 @@ GeometryResult PointFieldGeometry::GetPositionBuffer( }); } else { vertex_count = 6 * point_count_ - 2; - buffer_view = host_buffer.Emplace( + buffer_view = data_host_buffer.Emplace( vertex_count * sizeof(Point), alignof(Point), [&](uint8_t* data) { Point* output = reinterpret_cast(data); size_t offset = 0; diff --git a/engine/src/flutter/impeller/entity/geometry/rect_geometry.cc b/engine/src/flutter/impeller/entity/geometry/rect_geometry.cc index 831fcf555085f..5dc78f7a823e2 100644 --- a/engine/src/flutter/impeller/entity/geometry/rect_geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/rect_geometry.cc @@ -14,17 +14,18 @@ GeometryResult FillRectGeometry::GetPositionBuffer( const ContentContext& renderer, const Entity& entity, RenderPass& pass) const { - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); return GeometryResult{ .type = PrimitiveType::kTriangleStrip, .vertex_buffer = { - .vertex_buffer = host_buffer.Emplace( + .vertex_buffer = data_host_buffer.Emplace( rect_.GetPoints().data(), 8 * sizeof(float), alignof(float)), .vertex_count = 4, .index_type = IndexType::kNone, }, .transform = entity.GetShaderTransform(pass), + .mode = GeometryResult::Mode::kNormal, }; } @@ -67,10 +68,12 @@ GeometryResult StrokeRectGeometry::GetPositionBuffer( } Scalar min_size = kMinStrokeSize / max_basis; - Scalar half_stroke_width = std::max(stroke_width_, min_size) * 0.5f; + Scalar stroke_width = std::max(stroke_width_, min_size); + Scalar half_stroke_width = stroke_width * 0.5f; - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); const Rect& rect = rect_; + bool interior_filled = (stroke_width >= rect.GetSize().MinDimension()); switch (stroke_join_) { case Join::kRound: { @@ -80,46 +83,117 @@ GeometryResult StrokeRectGeometry::GetPositionBuffer( FML_DCHECK(trigs.size() >= 2u); - // We use all but the first entry in trigs for each corner. - auto vertex_count = trigs.size() - 1; - // Every other point has a center vertex added. - vertex_count = vertex_count + (vertex_count >> 1); - // The loop also adds 3 points of its own. - vertex_count += 3; - // We do that for each of the 4 corners. - vertex_count = vertex_count * 4; - // We then add 2 more points at the end to close the last edge. - vertex_count += 2; + auto vertex_count = trigs.size() * 4; + if (!interior_filled) { + // If there is a hole in the interior (as with most stroked rects + // unless the stroke width is really really wide) then we need + // to perform some surgery to generate the hollowed-out interior. + vertex_count += 12; + } return GeometryResult{ .type = PrimitiveType::kTriangleStrip, .vertex_buffer = { - .vertex_buffer = host_buffer.Emplace( + .vertex_buffer = data_host_buffer.Emplace( vertex_count * sizeof(Point), alignof(Point), - [hsw = half_stroke_width, &rect, vertex_count, - &trigs](uint8_t* buffer) { + [hsw = half_stroke_width, &rect, vertex_count, &trigs, + interior_filled](uint8_t* buffer) { + Scalar left = rect.GetLeft(); + Scalar top = rect.GetTop(); + Scalar right = rect.GetRight(); + Scalar bottom = rect.GetBottom(); + auto vertices = reinterpret_cast(buffer); [[maybe_unused]] auto vertices_end = vertices + vertex_count; - vertices = - AppendRoundCornerJoin(vertices, rect.GetLeftTop(), - Vector2(-hsw, 0), trigs); - vertices = - AppendRoundCornerJoin(vertices, rect.GetRightTop(), - Vector2(0, -hsw), trigs); - vertices = AppendRoundCornerJoin( - vertices, rect.GetRightBottom(), Vector2(hsw, 0), - trigs); - vertices = AppendRoundCornerJoin( - vertices, rect.GetLeftBottom(), Vector2(0, hsw), - trigs); - - // Repeat the first 2 points from the first corner to - // close the last edge. - *vertices++ = rect.GetLeftTop() - Vector2(hsw, 0); - *vertices++ = rect.GetLeftTop() + Vector2(hsw, 0); + // Traverse top down, left to right across slices. + + // Slice 1: Draw across between top pair of round joins. + for (auto trig : trigs) { + // trig.sin goes from 0 to 1 + // trig.cos goes from 1 to 0 + *vertices++ = Point(left - trig.sin * hsw, + top - trig.cos * hsw); + *vertices++ = Point(right + trig.sin * hsw, + top - trig.cos * hsw); + } + // Ends up with vertices that draw across the bottom + // of the top curved section (left - hsw, top) to + // (right + hsw, top). This is the starting pair of + // vertices for the following square section. + + if (interior_filled) { + // If interior is filled, we can just let the bottom + // pair of vertices of the top edge connect to the + // top pair of vertices of the bottom edge generated + // in slice 5 below. They both go left-right so they + // will create a proper zig-zag box to connect the + // 2 sections. + } else { + // Slice 2: Draw the inner part of the top stroke. + // Simply extend down from the last horizontal pair + // of vertices to (top + hsw). + *vertices++ = Point(left - hsw, top + hsw); + *vertices++ = Point(right + hsw, top + hsw); + + // Slice 3: Draw the left and right edges. + + // Slice 3a: Draw the right edge first. + // Since we are already at the right edge from the + // previous slice, we just have to add 2 vertices + // to get to the bottom of that right edge, but we + // have to start with an additional vertex that + // connects to (right - hsw) instead of the left + // side of the rectangle to avoid a big triangle + // through the hollow interior section. + *vertices++ = Point(right - hsw, top + hsw); + *vertices++ = Point(right + hsw, bottom - hsw); + *vertices++ = Point(right - hsw, bottom - hsw); + + // Now we need to jump up for the left edge, but we + // need to dupliate the last point and the next point + // to avoid drawing anything connecting them. These + // 2 vertices end up generating 2 empty triangles. + *vertices++ = Point(right - hsw, bottom - hsw); + *vertices++ = Point(left + hsw, top + hsw); + + // Slice 3b: Now draw the left edge. + // We draw this in a specific zig zag order so that + // we end up at (left - hsw, bottom - hsw) to connect + // properly to the next section. + *vertices++ = Point(left + hsw, top + hsw); + *vertices++ = Point(left - hsw, top + hsw); + *vertices++ = Point(left + hsw, bottom - hsw); + *vertices++ = Point(left - hsw, bottom - hsw); + + // Slice 4: Draw the inner part of the bottom stroke. + // Since the next section starts by drawing across + // the width of the rect at Y=bottom, we simple have + // to make sure that we presently have a pair of + // vertices that span the top of that section. The + // last point was (left - hsw, bottom - hsw), so we + // just have to add its right side partner which + // is not the same as the vertex before that. This + // extra vertex ends up defining an empty triangle, + // but sets us up for the final slice to complete + // this interior part of the bottom stroke. + *vertices++ = Point(right + hsw, bottom - hsw); + // Now the first pair of vertices below will + // "complete the zig-zag box" for the inner part + // of the bottom stroke. + } + + // Slice 5: Draw between bottom pair of round joins. + for (auto trig : trigs) { + // trig.sin goes from 0 to 1 + // trig.cos goes from 1 to 0 + *vertices++ = Point(left - trig.cos * hsw, + bottom + trig.sin * hsw); + *vertices++ = Point(right + trig.cos * hsw, + bottom + trig.sin * hsw); + } // Make sure our estimate is always up to date. FML_DCHECK(vertices == vertices_end); @@ -128,15 +202,45 @@ GeometryResult StrokeRectGeometry::GetPositionBuffer( .index_type = IndexType::kNone, }, .transform = entity.GetShaderTransform(pass), + .mode = GeometryResult::Mode::kNormal, }; } case Join::kBevel: { + if (interior_filled) { + return GeometryResult{ + .type = PrimitiveType::kTriangleStrip, + .vertex_buffer = + { + .vertex_buffer = data_host_buffer.Emplace( + 8 * sizeof(Point), alignof(Point), + [hsw = half_stroke_width, &rect](uint8_t* buffer) { + Scalar left = rect.GetLeft(); + Scalar top = rect.GetTop(); + Scalar right = rect.GetRight(); + Scalar bottom = rect.GetBottom(); + auto vertices = reinterpret_cast(buffer); + vertices[0] = Point(left, top - hsw); + vertices[1] = Point(right, top - hsw); + vertices[2] = Point(left - hsw, top); + vertices[3] = Point(right + hsw, top); + vertices[4] = Point(left - hsw, bottom); + vertices[5] = Point(right + hsw, bottom); + vertices[6] = Point(left, bottom + hsw); + vertices[7] = Point(right, bottom + hsw); + }), + .vertex_count = 8u, + .index_type = IndexType::kNone, + }, + .transform = entity.GetShaderTransform(pass), + .mode = GeometryResult::Mode::kNormal, + }; + } return GeometryResult{ .type = PrimitiveType::kTriangleStrip, .vertex_buffer = { - .vertex_buffer = host_buffer.Emplace( + .vertex_buffer = data_host_buffer.Emplace( 17 * sizeof(Point), alignof(Point), [hsw = half_stroke_width, &rect](uint8_t* buffer) { Scalar left = rect.GetLeft(); @@ -144,37 +248,64 @@ GeometryResult StrokeRectGeometry::GetPositionBuffer( Scalar right = rect.GetRight(); Scalar bottom = rect.GetBottom(); auto vertices = reinterpret_cast(buffer); - vertices[0] = Point(left, top - hsw); - vertices[1] = Point(left, top + hsw); - vertices[2] = Point(right, top - hsw); - vertices[3] = Point(right, top + hsw); - vertices[4] = Point(right + hsw, top); - vertices[5] = Point(right - hsw, top); - vertices[6] = Point(right + hsw, bottom); - vertices[7] = Point(right - hsw, bottom); - vertices[8] = Point(right, bottom + hsw); - vertices[9] = Point(right, bottom - hsw); - vertices[10] = Point(left, bottom + hsw); - vertices[11] = Point(left, bottom - hsw); - vertices[12] = Point(left - hsw, bottom); - vertices[13] = Point(left + hsw, bottom); - vertices[14] = Point(left - hsw, top); - vertices[15] = Point(left + hsw, top); - vertices[16] = Point(left, top - hsw); + vertices[0] = Point(left - hsw, top); + vertices[1] = Point(left + hsw, top + hsw); + vertices[2] = Point(left, top - hsw); + vertices[3] = Point(right - hsw, top + hsw); + vertices[4] = Point(right, top - hsw); + vertices[5] = Point(right - hsw, top + hsw); + vertices[6] = Point(right + hsw, top); + vertices[7] = Point(right - hsw, bottom - hsw); + vertices[8] = Point(right + hsw, bottom); + vertices[9] = Point(right - hsw, bottom - hsw); + vertices[10] = Point(right, bottom + hsw); + vertices[11] = Point(left + hsw, bottom - hsw); + vertices[12] = Point(left, bottom + hsw); + vertices[13] = Point(left + hsw, bottom - hsw); + vertices[14] = Point(left - hsw, bottom); + vertices[15] = Point(left + hsw, top + hsw); + vertices[16] = Point(left - hsw, top); }), .vertex_count = 17u, .index_type = IndexType::kNone, }, .transform = entity.GetShaderTransform(pass), + .mode = GeometryResult::Mode::kNormal, }; } case Join::kMiter: { + if (interior_filled) { + return GeometryResult{ + .type = PrimitiveType::kTriangleStrip, + .vertex_buffer = + { + .vertex_buffer = data_host_buffer.Emplace( + 4 * sizeof(Point), alignof(Point), + [hsw = half_stroke_width, &rect](uint8_t* buffer) { + Scalar left = rect.GetLeft(); + Scalar top = rect.GetTop(); + Scalar right = rect.GetRight(); + Scalar bottom = rect.GetBottom(); + auto vertices = reinterpret_cast(buffer); + + vertices[0] = Point(left - hsw, top - hsw); + vertices[1] = Point(right + hsw, top - hsw); + vertices[2] = Point(left - hsw, bottom + hsw); + vertices[3] = Point(right + hsw, bottom + hsw); + }), + .vertex_count = 4u, + .index_type = IndexType::kNone, + }, + .transform = entity.GetShaderTransform(pass), + .mode = GeometryResult::Mode::kNormal, + }; + } return GeometryResult{ .type = PrimitiveType::kTriangleStrip, .vertex_buffer = { - .vertex_buffer = host_buffer.Emplace( + .vertex_buffer = data_host_buffer.Emplace( 10 * sizeof(Point), alignof(Point), [hsw = half_stroke_width, &rect](uint8_t* buffer) { Scalar left = rect.GetLeft(); @@ -197,6 +328,7 @@ GeometryResult StrokeRectGeometry::GetPositionBuffer( .index_type = IndexType::kNone, }, .transform = entity.GetShaderTransform(pass), + .mode = GeometryResult::Mode::kNormal, }; } } @@ -213,29 +345,4 @@ Join StrokeRectGeometry::AdjustStrokeJoin(const StrokeParameters& stroke) { : stroke.join; } -Point* StrokeRectGeometry::AppendRoundCornerJoin( - Point* buffer, - Point corner, - Vector2 offset, - const Tessellator::Trigs& trigs) { - // Close the edge box set up by the end of the last corner and - // set up the first wedge of this corner. - *buffer++ = corner + offset; - *buffer++ = corner - offset; - bool do_center = false; - auto trig = trigs.begin(); - auto end = trigs.end(); - while (++trig < end) { - if (do_center) { - *buffer++ = corner; - } - do_center = !do_center; - *buffer++ = corner + *trig * offset; - } - // Together with the last point pushed by the loop we set up to - // initiate the edge box connecting to the next corner. - *buffer++ = corner - end[-1] * offset; - return buffer; -} - } // namespace impeller diff --git a/engine/src/flutter/impeller/entity/geometry/rect_geometry.h b/engine/src/flutter/impeller/entity/geometry/rect_geometry.h index 14427d90c78b3..d73ed3b5ac5bb 100644 --- a/engine/src/flutter/impeller/entity/geometry/rect_geometry.h +++ b/engine/src/flutter/impeller/entity/geometry/rect_geometry.h @@ -54,11 +54,6 @@ class StrokeRectGeometry final : public Geometry { const Join stroke_join_; static Join AdjustStrokeJoin(const StrokeParameters& stroke); - - static Point* AppendRoundCornerJoin(Point* buffer, - Point corner, - Vector2 offset, - const Tessellator::Trigs& trigs); }; } // namespace impeller diff --git a/engine/src/flutter/impeller/entity/geometry/round_superellipse_geometry.cc b/engine/src/flutter/impeller/entity/geometry/round_superellipse_geometry.cc index 5a6b72668f8d1..72dea467d2fa3 100644 --- a/engine/src/flutter/impeller/entity/geometry/round_superellipse_geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/round_superellipse_geometry.cc @@ -415,12 +415,13 @@ GeometryResult RoundSuperellipseGeometry::GetPositionBuffer( } size_t contour_length = rearranger->ContourLength(); - BufferView vertex_buffer = renderer.GetTransientsBuffer().Emplace( + BufferView vertex_buffer = renderer.GetTransientsDataBuffer().Emplace( nullptr, sizeof(Point) * contour_length, alignof(Point)); Point* vertex_data = reinterpret_cast(vertex_buffer.GetBuffer()->OnGetContents() + vertex_buffer.GetRange().offset); rearranger->RearrangeIntoTriangleStrip(vertex_data); + vertex_buffer.GetBuffer()->Flush(vertex_buffer.GetRange()); return GeometryResult{ .type = PrimitiveType::kTriangleStrip, diff --git a/engine/src/flutter/impeller/entity/geometry/stroke_path_geometry.cc b/engine/src/flutter/impeller/entity/geometry/stroke_path_geometry.cc index 25b6f7aac2c4e..99f650458e5f8 100644 --- a/engine/src/flutter/impeller/entity/geometry/stroke_path_geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/stroke_path_geometry.cc @@ -753,7 +753,7 @@ GeometryResult StrokeSegmentsGeometry::GetPositionBuffer( StrokeParameters adjusted_stroke = stroke_; adjusted_stroke.width = std::max(stroke_.width, min_size); - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); auto scale = entity.GetTransform().GetMaxBasisLengthXY(); auto& tessellator = renderer.GetTessellator(); @@ -765,8 +765,8 @@ GeometryResult StrokeSegmentsGeometry::GetPositionBuffer( const auto [arena_length, oversized_length] = position_writer.GetUsedSize(); if (!position_writer.HasOversizedBuffer()) { BufferView buffer_view = - host_buffer.Emplace(tessellator.GetStrokePointCache().data(), - arena_length * sizeof(Point), alignof(Point)); + data_host_buffer.Emplace(tessellator.GetStrokePointCache().data(), + arena_length * sizeof(Point), alignof(Point)); return GeometryResult{.type = PrimitiveType::kTriangleStrip, .vertex_buffer = @@ -780,7 +780,7 @@ GeometryResult StrokeSegmentsGeometry::GetPositionBuffer( } const std::vector& oversized_data = position_writer.GetOversizedBuffer(); - BufferView buffer_view = host_buffer.Emplace( + BufferView buffer_view = data_host_buffer.Emplace( /*buffer=*/nullptr, // (arena_length + oversized_length) * sizeof(Point), // alignof(Point) // diff --git a/engine/src/flutter/impeller/entity/geometry/superellipse_geometry.cc b/engine/src/flutter/impeller/entity/geometry/superellipse_geometry.cc index 5fe5fd660afe9..3e9d1aff1b7bd 100644 --- a/engine/src/flutter/impeller/entity/geometry/superellipse_geometry.cc +++ b/engine/src/flutter/impeller/entity/geometry/superellipse_geometry.cc @@ -77,15 +77,16 @@ GeometryResult SuperellipseGeometry::GetPositionBuffer( indices.push_back(i); } - auto& host_buffer = renderer.GetTransientsBuffer(); + auto& data_host_buffer = renderer.GetTransientsDataBuffer(); + auto& indexes_host_buffer = renderer.GetTransientsIndexesBuffer(); return GeometryResult{ .type = PrimitiveType::kTriangle, .vertex_buffer = { - .vertex_buffer = host_buffer.Emplace( + .vertex_buffer = data_host_buffer.Emplace( geometry.data(), geometry.size() * sizeof(Point), alignof(Point)), - .index_buffer = host_buffer.Emplace( + .index_buffer = indexes_host_buffer.Emplace( indices.data(), indices.size() * sizeof(uint16_t), alignof(uint16_t)), .vertex_count = indices.size(), diff --git a/engine/src/flutter/impeller/entity/inline_pass_context.cc b/engine/src/flutter/impeller/entity/inline_pass_context.cc index 31bb6b360c79e..3bb9e39c888b8 100644 --- a/engine/src/flutter/impeller/entity/inline_pass_context.cc +++ b/engine/src/flutter/impeller/entity/inline_pass_context.cc @@ -108,10 +108,7 @@ const std::shared_ptr& InlinePassContext::GetRenderPass() { bool is_msaa = color0.resolve_texture != nullptr; if (pass_count_ > 0) { - // When MSAA is being used, we end up overriding the entire backdrop by - // drawing the previous pass texture, and so we don't have to clear it and - // can use kDontCare. - color0.load_action = is_msaa ? LoadAction::kDontCare : LoadAction::kLoad; + color0.load_action = is_msaa ? LoadAction::kClear : LoadAction::kLoad; } else { color0.load_action = LoadAction::kClear; } diff --git a/engine/src/flutter/impeller/entity/render_target_cache.cc b/engine/src/flutter/impeller/entity/render_target_cache.cc index 5846843ed5a2e..2cd463d133729 100644 --- a/engine/src/flutter/impeller/entity/render_target_cache.cc +++ b/engine/src/flutter/impeller/entity/render_target_cache.cc @@ -96,12 +96,14 @@ RenderTarget RenderTargetCache::CreateOffscreen( if (!created_target.IsValid()) { return created_target; } - render_target_data_.push_back(RenderTargetData{ - .used_this_frame = true, // - .keep_alive_frame_count = keep_alive_frame_count_, // - .config = config, // - .render_target = created_target // - }); + if (CacheEnabled()) { + render_target_data_.push_back(RenderTargetData{ + .used_this_frame = true, // + .keep_alive_frame_count = keep_alive_frame_count_, // + .config = config, // + .render_target = created_target // + }); + } return created_target; } @@ -152,12 +154,14 @@ RenderTarget RenderTargetCache::CreateOffscreenMSAA( if (!created_target.IsValid()) { return created_target; } - render_target_data_.push_back(RenderTargetData{ - .used_this_frame = true, // - .keep_alive_frame_count = keep_alive_frame_count_, // - .config = config, // - .render_target = created_target // - }); + if (CacheEnabled()) { + render_target_data_.push_back(RenderTargetData{ + .used_this_frame = true, // + .keep_alive_frame_count = keep_alive_frame_count_, // + .config = config, // + .render_target = created_target // + }); + } return created_target; } diff --git a/engine/src/flutter/impeller/geometry/color.cc b/engine/src/flutter/impeller/geometry/color.cc index b7963b04b5b5e..a86be0b87c5ac 100644 --- a/engine/src/flutter/impeller/geometry/color.cc +++ b/engine/src/flutter/impeller/geometry/color.cc @@ -6,11 +6,11 @@ #include #include +#include #include #include #include -#include "impeller/base/strings.h" #include "impeller/geometry/constants.h" #include "impeller/geometry/scalar.h" #include "impeller/geometry/vector.h" @@ -331,12 +331,8 @@ Color Color::SRGBToLinear() const { } std::string ColorToString(const Color& color) { - return SPrintF("R=%.1f,G=%.1f,B=%.1f,A=%.1f", // - color.red, // - color.green, // - color.blue, // - color.alpha // - ); + return std::format("R={:.1f},G={:.1f},B={:.1f},A={:.1f}", color.red, + color.green, color.blue, color.alpha); } } // namespace impeller diff --git a/engine/src/flutter/impeller/geometry/half.h b/engine/src/flutter/impeller/geometry/half.h index 6d966b44f594f..59ddf3c8acef8 100644 --- a/engine/src/flutter/impeller/geometry/half.h +++ b/engine/src/flutter/impeller/geometry/half.h @@ -52,8 +52,6 @@ struct Half { constexpr Half(InternalHalf x) : x(x) {} constexpr bool operator==(const Half& v) const { return v.x == x; } - - constexpr bool operator!=(const Half& v) const { return v.x != x; } }; /// @brief A storage only class for half precision floating point vector 4. diff --git a/engine/src/flutter/impeller/geometry/rational.cc b/engine/src/flutter/impeller/geometry/rational.cc index 57dc3705f378c..947462455a751 100644 --- a/engine/src/flutter/impeller/geometry/rational.cc +++ b/engine/src/flutter/impeller/geometry/rational.cc @@ -25,10 +25,6 @@ bool Rational::operator==(const Rational& that) const { } } -bool Rational::operator!=(const Rational& that) const { - return !(*this == that); -} - bool Rational::operator<(const Rational& that) const { if (den_ == that.den_) { return num_ < that.num_; diff --git a/engine/src/flutter/impeller/geometry/rational.h b/engine/src/flutter/impeller/geometry/rational.h index 84f2914c32993..bc537f5cdfc38 100644 --- a/engine/src/flutter/impeller/geometry/rational.h +++ b/engine/src/flutter/impeller/geometry/rational.h @@ -22,8 +22,6 @@ class Rational { bool operator==(const Rational& that) const; - bool operator!=(const Rational& that) const; - bool operator<(const Rational& that) const; uint64_t GetHash() const; diff --git a/engine/src/flutter/impeller/geometry/rect.h b/engine/src/flutter/impeller/geometry/rect.h index 703cd833b856f..9789d2103d2e7 100644 --- a/engine/src/flutter/impeller/geometry/rect.h +++ b/engine/src/flutter/impeller/geometry/rect.h @@ -199,10 +199,6 @@ struct TRect { bottom_ == r.bottom_; } - [[nodiscard]] constexpr bool operator!=(const TRect& r) const { - return !(*this == r); - } - [[nodiscard]] constexpr TRect Scale(Type scale) const { return TRect(left_ * scale, // top_ * scale, // diff --git a/engine/src/flutter/impeller/geometry/round_rect.h b/engine/src/flutter/impeller/geometry/round_rect.h index 8c2ecfa6ca90b..2254e17fb9d10 100644 --- a/engine/src/flutter/impeller/geometry/round_rect.h +++ b/engine/src/flutter/impeller/geometry/round_rect.h @@ -128,10 +128,6 @@ struct RoundRect { return bounds_ == rr.bounds_ && radii_ == rr.radii_; } - [[nodiscard]] constexpr bool operator!=(const RoundRect& r) const { - return !(*this == r); - } - private: constexpr RoundRect(const Rect& bounds, const RoundingRadii& radii) : bounds_(bounds), radii_(radii) {} diff --git a/engine/src/flutter/impeller/geometry/round_superellipse.h b/engine/src/flutter/impeller/geometry/round_superellipse.h index 83c4c3e914b72..40ac86727bd8b 100644 --- a/engine/src/flutter/impeller/geometry/round_superellipse.h +++ b/engine/src/flutter/impeller/geometry/round_superellipse.h @@ -123,10 +123,6 @@ struct RoundSuperellipse { return bounds_ == rr.bounds_ && radii_ == rr.radii_; } - [[nodiscard]] constexpr bool operator!=(const RoundSuperellipse& r) const { - return !(*this == r); - } - // Approximates a rounded superellipse with a round rectangle to the // best practical accuracy. // diff --git a/engine/src/flutter/impeller/geometry/rounding_radii.h b/engine/src/flutter/impeller/geometry/rounding_radii.h index 97de2a7b65852..09c9134b2ad77 100644 --- a/engine/src/flutter/impeller/geometry/rounding_radii.h +++ b/engine/src/flutter/impeller/geometry/rounding_radii.h @@ -84,10 +84,6 @@ struct RoundingRadii { bottom_left == rr.bottom_left && // bottom_right == rr.bottom_right; } - - [[nodiscard]] constexpr bool operator!=(const RoundingRadii& rr) const { - return !(*this == rr); - } }; } // namespace impeller diff --git a/engine/src/flutter/impeller/geometry/scalar.h b/engine/src/flutter/impeller/geometry/scalar.h index 10e8e66ea6455..e153985112cb8 100644 --- a/engine/src/flutter/impeller/geometry/scalar.h +++ b/engine/src/flutter/impeller/geometry/scalar.h @@ -60,17 +60,7 @@ struct Radians { return Radians{radians - r.radians}; } - constexpr bool operator>(Radians r) { return radians > r.radians; } - - constexpr bool operator>=(Radians r) { return radians >= r.radians; } - - constexpr bool operator==(Radians r) { return radians == r.radians; } - - constexpr bool operator!=(Radians r) { return radians != r.radians; } - - constexpr bool operator<=(Radians r) { return radians <= r.radians; } - - constexpr bool operator<(Radians r) { return radians < r.radians; } + constexpr auto operator<=>(const Radians& r) const = default; }; struct Degrees { @@ -96,17 +86,7 @@ struct Degrees { return Degrees{degrees - d.degrees}; } - constexpr bool operator>(Degrees d) { return degrees > d.degrees; } - - constexpr bool operator>=(Degrees d) { return degrees >= d.degrees; } - - constexpr bool operator==(Degrees d) { return degrees == d.degrees; } - - constexpr bool operator!=(Degrees d) { return degrees != d.degrees; } - - constexpr bool operator<=(Degrees d) { return degrees <= d.degrees; } - - constexpr bool operator<(Degrees d) { return degrees < d.degrees; } + constexpr auto operator<=>(const Degrees& d) const = default; constexpr Degrees GetPositive() const { Scalar deg = std::fmod(degrees, 360.0f); diff --git a/engine/src/flutter/impeller/geometry/shear.h b/engine/src/flutter/impeller/geometry/shear.h index c94e26e5f0cb5..689b3c7b0a683 100644 --- a/engine/src/flutter/impeller/geometry/shear.h +++ b/engine/src/flutter/impeller/geometry/shear.h @@ -26,8 +26,6 @@ struct Shear { bool operator==(const Shear& o) const { return xy == o.xy && xz == o.xz && yz == o.yz; } - - bool operator!=(const Shear& o) const { return !(*this == o); } }; } // namespace impeller diff --git a/engine/src/flutter/impeller/geometry/stroke_parameters.h b/engine/src/flutter/impeller/geometry/stroke_parameters.h index dcd65b985a1b5..3801479c7d0b9 100644 --- a/engine/src/flutter/impeller/geometry/stroke_parameters.h +++ b/engine/src/flutter/impeller/geometry/stroke_parameters.h @@ -31,14 +31,7 @@ struct StrokeParameters { Join join = Join::kMiter; Scalar miter_limit = 4.0f; - constexpr bool operator==(const StrokeParameters& parameters) const { - return parameters.width == width && parameters.cap == cap && - parameters.join == join && parameters.miter_limit == miter_limit; - } - - constexpr bool operator!=(const StrokeParameters& parameters) const { - return !(*this == parameters); - } + constexpr bool operator==(const StrokeParameters& parameters) const = default; }; } // namespace impeller diff --git a/engine/src/flutter/impeller/golden_tests/vulkan_screenshotter.mm b/engine/src/flutter/impeller/golden_tests/vulkan_screenshotter.mm index 0315fdfd7b941..6f6702d182321 100644 --- a/engine/src/flutter/impeller/golden_tests/vulkan_screenshotter.mm +++ b/engine/src/flutter/impeller/golden_tests/vulkan_screenshotter.mm @@ -62,7 +62,8 @@ CGColorSpacePtr color_space(CGColorSpaceCreateDeviceRGB(), &CGColorSpaceRelease); CGBitmapInfo bitmap_info = texture->GetTextureDescriptor().format == PixelFormat::kB8G8R8A8UNormInt - ? kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little + ? static_cast(kCGImageAlphaPremultipliedFirst) | + static_cast(kCGBitmapByteOrder32Little) : kCGImageAlphaPremultipliedLast; CGContextPtr context( CGBitmapContextCreate( diff --git a/engine/src/flutter/impeller/playground/imgui/imgui_impl_impeller.cc b/engine/src/flutter/impeller/playground/imgui/imgui_impl_impeller.cc index 285c4a92aa3fc..6e7d670833560 100644 --- a/engine/src/flutter/impeller/playground/imgui/imgui_impl_impeller.cc +++ b/engine/src/flutter/impeller/playground/imgui/imgui_impl_impeller.cc @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -160,7 +161,7 @@ void ImGui_ImplImpeller_RenderDrawData(ImDrawData* draw_data, buffer_desc.storage_mode = impeller::StorageMode::kHostVisible; auto buffer = bd->context->GetResourceAllocator()->CreateBuffer(buffer_desc); - buffer->SetLabel(impeller::SPrintF("ImGui vertex+index buffer")); + buffer->SetLabel("ImGui vertex+index buffer"); auto display_rect = impeller::Rect::MakeXYWH( draw_data->DisplayPos.x, draw_data->DisplayPos.y, @@ -250,8 +251,8 @@ void ImGui_ImplImpeller_RenderDrawData(ImDrawData* draw_data, clip_rect = visible_clip.value(); } - render_pass.SetCommandLabel(impeller::SPrintF( - "ImGui draw list %d (command %d)", draw_list_i, cmd_i)); + render_pass.SetCommandLabel( + std::format("ImGui draw list {} (command {})", draw_list_i, cmd_i)); render_pass.SetViewport(viewport); render_pass.SetScissor(impeller::IRect32::RoundOut(clip_rect)); render_pass.SetPipeline(bd->pipeline); diff --git a/engine/src/flutter/impeller/playground/widgets.cc b/engine/src/flutter/impeller/playground/widgets.cc index 62122996c6b9e..b04f2761efc19 100644 --- a/engine/src/flutter/impeller/playground/widgets.cc +++ b/engine/src/flutter/impeller/playground/widgets.cc @@ -4,6 +4,8 @@ #include "impeller/playground/widgets.h" +#include + namespace impeller { Point DrawPlaygroundPoint(PlaygroundPoint& point) { @@ -38,8 +40,7 @@ Point DrawPlaygroundPoint(PlaygroundPoint& point) { {point.position.x - point.radius, point.position.y + point.radius + 10}, ImColor(point.color.red, point.color.green, point.color.blue, 1.0f), - impeller::SPrintF("x:%0.3f y:%0.3f", point.position.x, - point.position.y) + std::format("x:{:.3f} y:{:.3f}", point.position.x, point.position.y) .c_str()); } point.prev_mouse_pos = mouse_pos; diff --git a/engine/src/flutter/impeller/renderer/backend/gles/BUILD.gn b/engine/src/flutter/impeller/renderer/backend/gles/BUILD.gn index a28309f5fa828..6045c5ea36c32 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/BUILD.gn +++ b/engine/src/flutter/impeller/renderer/backend/gles/BUILD.gn @@ -14,6 +14,7 @@ config("gles_config") { impeller_component("gles_unittests") { testonly = true sources = [ + "blit_command_gles_unittests.cc", "buffer_bindings_gles_unittests.cc", "device_buffer_gles_unittests.cc", "test/capabilities_unittests.cc", diff --git a/engine/src/flutter/impeller/renderer/backend/gles/blit_command_gles.cc b/engine/src/flutter/impeller/renderer/backend/gles/blit_command_gles.cc index af18cb0e4874c..046a13949143e 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/blit_command_gles.cc +++ b/engine/src/flutter/impeller/renderer/backend/gles/blit_command_gles.cc @@ -344,10 +344,10 @@ bool BlitCopyTextureToBufferCommandGLES::Encode( GLuint read_fbo = GL_NONE; fml::ScopedCleanupClosure delete_fbos( - [&gl, &read_fbo]() { DeleteFBO(gl, read_fbo, GL_READ_FRAMEBUFFER); }); + [&gl, &read_fbo]() { DeleteFBO(gl, read_fbo, GL_FRAMEBUFFER); }); { - auto read = ConfigureFBO(gl, source, GL_READ_FRAMEBUFFER); + auto read = ConfigureFBO(gl, source, GL_FRAMEBUFFER); if (!read.has_value()) { return false; } diff --git a/engine/src/flutter/impeller/renderer/backend/gles/blit_command_gles_unittests.cc b/engine/src/flutter/impeller/renderer/backend/gles/blit_command_gles_unittests.cc new file mode 100644 index 0000000000000..d0998150a8c11 --- /dev/null +++ b/engine/src/flutter/impeller/renderer/backend/gles/blit_command_gles_unittests.cc @@ -0,0 +1,95 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/testing/testing.h" // IWYU pragma: keep +#include "gtest/gtest.h" +#include "impeller/renderer/backend/gles/blit_command_gles.h" +#include "impeller/renderer/backend/gles/device_buffer_gles.h" +#include "impeller/renderer/backend/gles/test/mock_gles.h" +#include "impeller/renderer/backend/gles/texture_gles.h" + +namespace impeller { +namespace testing { + +using ::testing::_; +using ::testing::Return; + +class TestReactorGLES : public ReactorGLES { + public: + TestReactorGLES() + : ReactorGLES(std::make_unique(kMockResolverGLES)) {} + + ~TestReactorGLES() = default; +}; + +class MockWorker final : public ReactorGLES::Worker { + public: + MockWorker() = default; + + // |ReactorGLES::Worker| + bool CanReactorReactOnCurrentThreadNow( + const ReactorGLES& reactor) const override { + return true; + } +}; + +// This test makes sure we bind to GL_FRAMEBUFFER so that it's compatible for +// OpenGLES 2 and OpenGLES 3. +TEST(BlitCommandGLESTest, BlitCopyTextureToBufferCommandGLESBindsFramebuffer) { + auto mock_gles_impl = std::make_unique(); + auto& mock_gles_impl_ref = *mock_gles_impl; + + EXPECT_CALL(mock_gles_impl_ref, GenFramebuffers(1, _)) + .WillOnce(::testing::SetArgPointee<1>(3)); + EXPECT_CALL(mock_gles_impl_ref, GenTextures(1, _)) + .WillOnce(::testing::SetArgPointee<1>(1)); + EXPECT_CALL(mock_gles_impl_ref, BindFramebuffer(GL_FRAMEBUFFER, 3)).Times(1); + EXPECT_CALL(mock_gles_impl_ref, CheckFramebufferStatus(GL_FRAMEBUFFER)) + .WillOnce(Return(GL_FRAMEBUFFER_COMPLETE)); + EXPECT_CALL(mock_gles_impl_ref, ReadPixels(_, _, _, _, _, _, _)).Times(1); + EXPECT_CALL(mock_gles_impl_ref, BindFramebuffer(GL_FRAMEBUFFER, 0)).Times(1); + + std::shared_ptr mock_gl = MockGLES::Init(std::move(mock_gles_impl)); + auto reactor = std::make_shared(); + auto worker = std::make_shared(); + reactor->AddWorker(worker); + + // Create source texture. + TextureDescriptor src_tex_desc; + src_tex_desc.format = PixelFormat::kR8G8B8A8UNormInt; + src_tex_desc.size = {10, 10}; + src_tex_desc.usage = + static_cast(TextureUsage::kRenderTarget); + auto source_texture = std::make_shared(reactor, src_tex_desc); + // Avoids the flip which would crash. + source_texture->SetCoordinateSystem(TextureCoordinateSystem::kUploadFromHost); + + // Create destination buffer. + DeviceBufferDescriptor dest_buffer_desc; + dest_buffer_desc.size = 10 * 10 * 4; + dest_buffer_desc.storage_mode = StorageMode::kHostVisible; + auto allocation = std::make_shared(); + ASSERT_TRUE(allocation->Truncate(Bytes(dest_buffer_desc.size))); + auto dest_buffer = + std::make_shared(dest_buffer_desc, reactor, allocation); + + ASSERT_TRUE(reactor->React()); + + BlitCopyTextureToBufferCommandGLES command; + command.source = source_texture; + command.destination = dest_buffer; + command.source_region = + IRect::MakeSize(source_texture->GetTextureDescriptor().size); + command.label = "TestBlit"; + + EXPECT_TRUE(command.Encode(*reactor)); + + source_texture.reset(); + dest_buffer.reset(); + + ASSERT_TRUE(reactor->React()); +} + +} // namespace testing +} // namespace impeller diff --git a/engine/src/flutter/impeller/renderer/backend/gles/capabilities_gles.cc b/engine/src/flutter/impeller/renderer/backend/gles/capabilities_gles.cc index 0aa7cefde5ab8..724cebb0296b9 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/capabilities_gles.cc +++ b/engine/src/flutter/impeller/renderer/backend/gles/capabilities_gles.cc @@ -239,4 +239,8 @@ size_t CapabilitiesGLES::GetMinimumUniformAlignment() const { return 256; } +bool CapabilitiesGLES::NeedsPartitionedHostBuffer() const { + return false; +} + } // namespace impeller diff --git a/engine/src/flutter/impeller/renderer/backend/gles/capabilities_gles.h b/engine/src/flutter/impeller/renderer/backend/gles/capabilities_gles.h index e038f4a6f1c64..d93fd6a753ad5 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/capabilities_gles.h +++ b/engine/src/flutter/impeller/renderer/backend/gles/capabilities_gles.h @@ -137,6 +137,9 @@ class CapabilitiesGLES final // |Capabilities| size_t GetMinimumUniformAlignment() const override; + // |Capabilities| + bool NeedsPartitionedHostBuffer() const override; + private: bool supports_texture_to_texture_blits_ = false; bool supports_framebuffer_fetch_ = false; diff --git a/engine/src/flutter/impeller/renderer/backend/gles/pipeline_library_gles.cc b/engine/src/flutter/impeller/renderer/backend/gles/pipeline_library_gles.cc index 765345cac3824..240891dfc4b60 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/pipeline_library_gles.cc +++ b/engine/src/flutter/impeller/renderer/backend/gles/pipeline_library_gles.cc @@ -99,9 +99,9 @@ static bool LinkProgram( } gl.SetDebugLabel(DebugResourceType::kShader, vert_shader, - SPrintF("%s Vertex Shader", descriptor.GetLabel().data())); + std::format("{} Vertex Shader", descriptor.GetLabel())); gl.SetDebugLabel(DebugResourceType::kShader, frag_shader, - SPrintF("%s Fragment Shader", descriptor.GetLabel().data())); + std::format("{} Fragment Shader", descriptor.GetLabel())); fml::ScopedCleanupClosure delete_vert_shader( [&gl, vert_shader]() { gl.DeleteShader(vert_shader); }); diff --git a/engine/src/flutter/impeller/renderer/backend/gles/proc_table_gles.cc b/engine/src/flutter/impeller/renderer/backend/gles/proc_table_gles.cc index 399b88c94fc5c..70597fb631f84 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/proc_table_gles.cc +++ b/engine/src/flutter/impeller/renderer/backend/gles/proc_table_gles.cc @@ -4,18 +4,18 @@ #include "impeller/renderer/backend/gles/proc_table_gles.h" +#include #include #include "impeller/base/allocation.h" #include "impeller/base/comparable.h" -#include "impeller/base/strings.h" #include "impeller/base/validation.h" #include "impeller/renderer/backend/gles/capabilities_gles.h" #include "impeller/renderer/capabilities.h" namespace impeller { -const char* GLErrorToString(GLenum value) { +std::string_view GLErrorToString(GLenum value) { switch (value) { case GL_NO_ERROR: return "GL_NO_ERROR"; @@ -89,7 +89,7 @@ ProcTableGLES::ProcTableGLES( // NOLINT(google-readability-function-size) } #define IMPELLER_PROC(proc_ivar) \ - if (auto fn_ptr = resolver(proc_ivar.name)) { \ + if (auto fn_ptr = resolver(proc_ivar.name.data())) { \ proc_ivar.function = \ reinterpret_cast(fn_ptr); \ proc_ivar.error_fn = error_fn; \ @@ -115,7 +115,7 @@ ProcTableGLES::ProcTableGLES( // NOLINT(google-readability-function-size) #undef IMPELLER_PROC #define IMPELLER_PROC(proc_ivar) \ - if (auto fn_ptr = resolver(proc_ivar.name)) { \ + if (auto fn_ptr = resolver(proc_ivar.name.data())) { \ proc_ivar.function = \ reinterpret_cast(fn_ptr); \ proc_ivar.error_fn = error_fn; \ @@ -280,8 +280,9 @@ std::string ProcTableGLES::DescribeCurrentFramebuffer() const { return "The default framebuffer (FBO0) was bound."; } if (IsFramebuffer(framebuffer) == GL_FALSE) { - return SPrintF("The framebuffer binding (%d) was not a valid framebuffer.", - framebuffer); + return std::format( + "The framebuffer binding ({}) was not a valid framebuffer.", + framebuffer); } GLenum status = CheckFramebufferStatus(GL_FRAMEBUFFER); diff --git a/engine/src/flutter/impeller/renderer/backend/gles/proc_table_gles.h b/engine/src/flutter/impeller/renderer/backend/gles/proc_table_gles.h index 0881085cbd46d..f11afe56ac00c 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/proc_table_gles.h +++ b/engine/src/flutter/impeller/renderer/backend/gles/proc_table_gles.h @@ -7,6 +7,7 @@ #include #include +#include #include "flutter/fml/logging.h" #include "flutter/fml/mapping.h" @@ -19,16 +20,17 @@ namespace impeller { -const char* GLErrorToString(GLenum value); +std::string_view GLErrorToString(GLenum value); bool GLErrorIsFatal(GLenum value); struct AutoErrorCheck { const PFNGLGETERRORPROC error_fn; - // TODO(135922) Change to string_view. - const char* name; + /// Name of the GL call being wrapped. + /// should not be stored beyond the caller's lifetime. + std::string_view name; - AutoErrorCheck(PFNGLGETERRORPROC error, const char* name) + AutoErrorCheck(PFNGLGETERRORPROC error, std::string_view name) : error_fn(error), name(name) {} ~AutoErrorCheck() { @@ -80,8 +82,7 @@ struct GLProc { //---------------------------------------------------------------------------- /// The name of the GL function. /// - // TODO(135922) Change to string_view. - const char* name = nullptr; + std::string_view name = {}; //---------------------------------------------------------------------------- /// The pointer to the GL function. diff --git a/engine/src/flutter/impeller/renderer/backend/gles/test/mock_gles.cc b/engine/src/flutter/impeller/renderer/backend/gles/test/mock_gles.cc index 71133e6f2f378..25c75bf067f4d 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/test/mock_gles.cc +++ b/engine/src/flutter/impeller/renderer/backend/gles/test/mock_gles.cc @@ -99,6 +99,9 @@ void mockGetIntegerv(GLenum name, int* value) { case GL_MAX_LABEL_LENGTH_KHR: *value = 64; break; + case GL_MAX_TEXTURE_SIZE: + *value = 4096; + break; default: *value = 0; break; @@ -208,8 +211,43 @@ GLboolean mockIsTexture(GLuint texture) { return CallMockMethod(&IMockGLESImpl::IsTexture, texture); } -static_assert(CheckSameSignature::value); +static_assert(CheckSameSignature::value); + +GLenum mockCheckFramebufferStatus(GLenum target) { + return CallMockMethod(&IMockGLESImpl::CheckFramebufferStatus, target); +} + +static_assert(CheckSameSignature::value); + +void mockGenFramebuffers(GLsizei n, GLuint* ids) { + return CallMockMethod(&IMockGLESImpl::GenFramebuffers, n, ids); +} + +static_assert(CheckSameSignature::value); + +void mockBindFramebuffer(GLenum target, GLuint framebuffer) { + return CallMockMethod(&IMockGLESImpl::BindFramebuffer, target, framebuffer); +} + +static_assert(CheckSameSignature::value); + +void mockReadPixels(GLint x, + GLint y, + GLsizei width, + GLsizei height, + GLenum format, + GLenum type, + void* data) { + return CallMockMethod(&IMockGLESImpl::ReadPixels, x, y, width, height, format, + type, data); +} + +static_assert(CheckSameSignature::value); // static std::shared_ptr MockGLES::Init( @@ -276,6 +314,14 @@ const ProcTableGLES::Resolver kMockResolverGLES = [](const char* name) { return reinterpret_cast(mockGenBuffers); } else if (strcmp(name, "glIsTexture") == 0) { return reinterpret_cast(mockIsTexture); + } else if (strcmp(name, "glCheckFramebufferStatus") == 0) { + return reinterpret_cast(mockCheckFramebufferStatus); + } else if (strcmp(name, "glReadPixels") == 0) { + return reinterpret_cast(mockReadPixels); + } else if (strcmp(name, "glGenFramebuffers") == 0) { + return reinterpret_cast(mockGenFramebuffers); + } else if (strcmp(name, "glBindFramebuffer") == 0) { + return reinterpret_cast(mockBindFramebuffer); } else { return reinterpret_cast(&doNothing); } diff --git a/engine/src/flutter/impeller/renderer/backend/gles/test/mock_gles.h b/engine/src/flutter/impeller/renderer/backend/gles/test/mock_gles.h index d7d424e6e7faa..23294624fee57 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/test/mock_gles.h +++ b/engine/src/flutter/impeller/renderer/backend/gles/test/mock_gles.h @@ -21,6 +21,34 @@ class IMockGLESImpl { virtual ~IMockGLESImpl() = default; virtual void DeleteTextures(GLsizei size, const GLuint* queries) {} virtual void GenTextures(GLsizei n, GLuint* textures) {} + virtual void BindTexture(GLenum target, GLuint texture) {} + virtual void TexImage2D(GLenum target, + GLint level, + GLint internalformat, + GLsizei width, + GLsizei height, + GLint border, + GLenum format, + GLenum type, + const void* pixels) {} + virtual void GenFramebuffers(GLsizei n, GLuint* framebuffers) {} + virtual void BindFramebuffer(GLenum target, GLuint framebuffer) {} + virtual void FramebufferTexture2D(GLenum target, + GLenum attachment, + GLenum textarget, + GLuint texture, + GLint level) {} + virtual GLenum CheckFramebufferStatus(GLenum target) { + return GL_FRAMEBUFFER_COMPLETE; + } + virtual void ReadPixels(GLint x, + GLint y, + GLsizei width, + GLsizei height, + GLenum format, + GLenum type, + void* pixels) {} + virtual void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers) {} virtual void ObjectLabelKHR(GLenum identifier, GLuint name, GLsizei length, @@ -36,6 +64,7 @@ class IMockGLESImpl { GLuint64* result) {} virtual void DeleteQueriesEXT(GLsizei size, const GLuint* queries) {} virtual void GenBuffers(GLsizei n, GLuint* buffers) {} + virtual void DeleteBuffers(GLsizei n, const GLuint* buffers) {} virtual GLboolean IsTexture(GLuint texture) { return true; } }; @@ -46,6 +75,50 @@ class MockGLESImpl : public IMockGLESImpl { (GLsizei size, const GLuint* queries), (override)); MOCK_METHOD(void, GenTextures, (GLsizei n, GLuint* textures), (override)); + MOCK_METHOD(void, BindTexture, (GLenum target, GLuint texture), (override)); + MOCK_METHOD(void, + TexImage2D, + (GLenum target, + GLint level, + GLint internalformat, + GLsizei width, + GLsizei height, + GLint border, + GLenum format, + GLenum type, + const void* pixels), + (override)); + MOCK_METHOD(void, + GenFramebuffers, + (GLsizei n, GLuint* framebuffers), + (override)); + MOCK_METHOD(void, + BindFramebuffer, + (GLenum target, GLuint framebuffer), + (override)); + MOCK_METHOD(void, + FramebufferTexture2D, + (GLenum target, + GLenum attachment, + GLenum textarget, + GLuint texture, + GLint level), + (override)); + MOCK_METHOD(GLenum, CheckFramebufferStatus, (GLenum target), (override)); + MOCK_METHOD(void, + ReadPixels, + (GLint x, + GLint y, + GLsizei width, + GLsizei height, + GLenum format, + GLenum type, + void* pixels), + (override)); + MOCK_METHOD(void, + DeleteFramebuffers, + (GLsizei n, const GLuint* framebuffers), + (override)); MOCK_METHOD( void, ObjectLabelKHR, @@ -71,6 +144,10 @@ class MockGLESImpl : public IMockGLESImpl { (GLsizei size, const GLuint* queries), (override)); MOCK_METHOD(void, GenBuffers, (GLsizei n, GLuint* buffers), (override)); + MOCK_METHOD(void, + DeleteBuffers, + (GLsizei n, const GLuint* buffers), + (override)); MOCK_METHOD(GLboolean, IsTexture, (GLuint texture), (override)); }; diff --git a/engine/src/flutter/impeller/renderer/backend/gles/test/proc_table_gles_unittests.cc b/engine/src/flutter/impeller/renderer/backend/gles/test/proc_table_gles_unittests.cc index b7f188f950299..a237f685dd451 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/test/proc_table_gles_unittests.cc +++ b/engine/src/flutter/impeller/renderer/backend/gles/test/proc_table_gles_unittests.cc @@ -33,5 +33,47 @@ TEST(ProcTableGLES, ResolvesCorrectClearDepthProcOnDesktopGL) { FOR_EACH_IMPELLER_ES_ONLY_PROC(EXPECT_UNAVAILABLE); } +TEST(GLErrorToString, ReturnsCorrectStringForKnownErrors) { + EXPECT_EQ(GLErrorToString(GL_NO_ERROR), "GL_NO_ERROR"); + EXPECT_EQ(GLErrorToString(GL_INVALID_ENUM), "GL_INVALID_ENUM"); + EXPECT_EQ(GLErrorToString(GL_INVALID_VALUE), "GL_INVALID_VALUE"); + EXPECT_EQ(GLErrorToString(GL_INVALID_OPERATION), "GL_INVALID_OPERATION"); + EXPECT_EQ(GLErrorToString(GL_INVALID_FRAMEBUFFER_OPERATION), + "GL_INVALID_FRAMEBUFFER_OPERATION"); + EXPECT_EQ(GLErrorToString(GL_FRAMEBUFFER_COMPLETE), + "GL_FRAMEBUFFER_COMPLETE"); + EXPECT_EQ(GLErrorToString(GL_OUT_OF_MEMORY), "GL_OUT_OF_MEMORY"); +} + +TEST(GLErrorToString, ReturnsUnknownForInvalidError) { + // Test with an invalid error code + GLenum invalid_error = 0x9999; + EXPECT_EQ(GLErrorToString(invalid_error), "Unknown."); +} + +TEST(GLErrorToString, ReturnValueIsValidStringView) { + // Test that the returned string_view is valid and non-empty + auto result = GLErrorToString(GL_NO_ERROR); + EXPECT_FALSE(result.empty()); + EXPECT_NE(result.data(), nullptr); + + // Test that we can compare with string literals + EXPECT_TRUE(result == "GL_NO_ERROR"); +} + +TEST(GLProc, NameFieldWorksWithStringView) { + GLProc proc; + + // Test setting name with string literal + const char* literal = "glTestFunction"; + proc.name = literal; + + EXPECT_EQ(proc.name, "glTestFunction"); + EXPECT_FALSE(proc.name.empty()); + + // Test that the string_view properly references the original data + EXPECT_EQ(proc.name.data(), literal); +} + } // namespace testing } // namespace impeller diff --git a/engine/src/flutter/impeller/renderer/backend/gles/texture_gles.cc b/engine/src/flutter/impeller/renderer/backend/gles/texture_gles.cc index 2f4008bfbdf88..4fdad4743aad3 100644 --- a/engine/src/flutter/impeller/renderer/backend/gles/texture_gles.cc +++ b/engine/src/flutter/impeller/renderer/backend/gles/texture_gles.cc @@ -4,6 +4,7 @@ #include "impeller/renderer/backend/gles/texture_gles.h" +#include #include #include @@ -11,7 +12,6 @@ #include "flutter/fml/mapping.h" #include "flutter/fml/trace_event.h" #include "impeller/base/allocation.h" -#include "impeller/base/strings.h" #include "impeller/base/validation.h" #include "impeller/core/formats.h" #include "impeller/core/texture_descriptor.h" @@ -255,8 +255,7 @@ void TextureGLES::SetLabel(std::string_view label) { void TextureGLES::SetLabel(std::string_view label, std::string_view trailing) { #ifdef IMPELLER_DEBUG if (reactor_->CanSetDebugLabels()) { - reactor_->SetDebugLabel(handle_, - SPrintF("%s %s", label.data(), trailing.data())); + reactor_->SetDebugLabel(handle_, std::format("{} {}", label, trailing)); } #endif // IMPELLER_DEBUG } diff --git a/engine/src/flutter/impeller/renderer/backend/metal/texture_mtl.mm b/engine/src/flutter/impeller/renderer/backend/metal/texture_mtl.mm index 4aebc3190c78b..3ee3fbca27d9c 100644 --- a/engine/src/flutter/impeller/renderer/backend/metal/texture_mtl.mm +++ b/engine/src/flutter/impeller/renderer/backend/metal/texture_mtl.mm @@ -3,6 +3,8 @@ // found in the LICENSE file. #include "impeller/renderer/backend/metal/texture_mtl.h" + +#include #include #include "impeller/base/strings.h" @@ -87,7 +89,7 @@ new TextureMTL( if (is_drawable_) { return; } - std::string combined = SPrintF("%s %s", label.data(), trailing.data()); + std::string combined = std::format("{} {}", label, trailing); [aquire_proc_() setLabel:@(combined.data())]; #endif // IMPELLER_DEBUG } diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/BUILD.gn b/engine/src/flutter/impeller/renderer/backend/vulkan/BUILD.gn index 2f31d4f80ed43..12fbcd6aea5ef 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/BUILD.gn +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/BUILD.gn @@ -10,6 +10,7 @@ impeller_component("vulkan_unittests") { testonly = true sources = [ "allocator_vk_unittests.cc", + "blit_pass_vk_unittests.cc", "command_encoder_vk_unittests.cc", "command_pool_vk_unittests.cc", "context_vk_unittests.cc", diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk.cc index 8dbae970e149c..a7b991f198280 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk.cc @@ -479,7 +479,8 @@ bool BlitPassVK::OnGenerateMipmapCommand(std::shared_ptr texture, width = width / 2; height = height / 2; if (width <= 1 || height <= 1) { - break; + // Continue to make sure everything is placed into eTransferSrcOptimal. + continue; } // offsets[0] is origin. @@ -495,24 +496,27 @@ bool BlitPassVK::OnGenerateMipmapCommand(std::shared_ptr texture, &blit, // regions vk::Filter::eLinear // filter ); - - barrier.oldLayout = vk::ImageLayout::eTransferSrcOptimal; - barrier.newLayout = vk::ImageLayout::eShaderReadOnlyOptimal; - barrier.srcAccessMask = vk::AccessFlagBits::eTransferRead; - barrier.dstAccessMask = vk::AccessFlagBits::eShaderRead; - - // Now that the blit is done, the image at the previous level (N-1) - // is done reading from (TransferSrc)/ Now we must prepare it to be read - // from a shader (ShaderReadOnly). - cmd.pipelineBarrier(vk::PipelineStageFlagBits::eTransfer, - vk::PipelineStageFlagBits::eFragmentShader, {}, {}, {}, - {barrier}); } + // Switch the last one to eTransferSrcOptimal. barrier.subresourceRange.baseMipLevel = mip_count - 1; + barrier.subresourceRange.levelCount = 1; barrier.oldLayout = vk::ImageLayout::eTransferDstOptimal; - barrier.newLayout = vk::ImageLayout::eShaderReadOnlyOptimal; + barrier.newLayout = vk::ImageLayout::eTransferSrcOptimal; barrier.srcAccessMask = vk::AccessFlagBits::eTransferWrite; + barrier.dstAccessMask = vk::AccessFlagBits::eTransferRead; + + cmd.pipelineBarrier(vk::PipelineStageFlagBits::eTransfer, + vk::PipelineStageFlagBits::eTransfer, {}, {}, {}, + {barrier}); + + // Now everything is in eTransferSrcOptimal, switch everything to + // eShaderReadOnlyOptimal. + barrier.subresourceRange.baseMipLevel = 0; + barrier.subresourceRange.levelCount = mip_count; + barrier.oldLayout = vk::ImageLayout::eTransferSrcOptimal; + barrier.newLayout = vk::ImageLayout::eShaderReadOnlyOptimal; + barrier.srcAccessMask = vk::AccessFlagBits::eTransferRead; barrier.dstAccessMask = vk::AccessFlagBits::eShaderRead; cmd.pipelineBarrier(vk::PipelineStageFlagBits::eTransfer, diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk.h b/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk.h index 44896f6f55d4e..a9604e7021697 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk.h +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk.h @@ -5,7 +5,8 @@ #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_BLIT_PASS_VK_H_ #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_BLIT_PASS_VK_H_ -#include "flutter/impeller/base/config.h" +#include "flutter/fml/macros.h" +#include "impeller/base/config.h" #include "impeller/geometry/rect.h" #include "impeller/renderer/backend/vulkan/workarounds_vk.h" #include "impeller/renderer/blit_pass.h" @@ -22,6 +23,8 @@ class BlitPassVK final : public BlitPass { private: friend class CommandBufferVK; + FML_FRIEND_TEST(BlitPassVKTest, + MipmapGenerationTransitionsAllLevelsCorrectly); std::shared_ptr command_buffer_; const WorkaroundsVK workarounds_; diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk_unittests.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk_unittests.cc new file mode 100644 index 0000000000000..17864d06219da --- /dev/null +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/blit_pass_vk_unittests.cc @@ -0,0 +1,57 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/testing/testing.h" +#include "fml/macros.h" +#include "impeller/renderer/backend/vulkan/blit_pass_vk.h" +#include "impeller/renderer/backend/vulkan/command_buffer_vk.h" +#include "impeller/renderer/backend/vulkan/test/mock_vulkan.h" + +namespace impeller { + +TEST(BlitPassVKTest, MipmapGenerationTransitionsAllLevelsCorrectly) { + auto context = testing::MockVulkanContextBuilder().Build(); + ASSERT_TRUE(context->IsValid()); + + auto cmd_buffer = context->CreateCommandBuffer(); + ASSERT_TRUE(cmd_buffer); + auto blit_pass = cmd_buffer->CreateBlitPass(); + ASSERT_TRUE(blit_pass); + + auto vk_blit_pass = reinterpret_cast(blit_pass.get()); + auto vk_cmd_buffer = reinterpret_cast(cmd_buffer.get()); + + TextureDescriptor desc; + desc.size = ISize(100, 65); + desc.format = PixelFormat::kR8G8B8A8UNormInt; + desc.mip_count = 6; + auto texture = context->GetResourceAllocator()->CreateTexture(desc); + ASSERT_TRUE(texture); + + ASSERT_TRUE(vk_blit_pass->OnGenerateMipmapCommand(texture, "TestMipmap")); + + auto& barriers = + testing::GetImageMemoryBarriers(vk_cmd_buffer->GetCommandBuffer()); + + ASSERT_EQ(barriers.size(), 8u); + + EXPECT_EQ(barriers[0].oldLayout, VK_IMAGE_LAYOUT_UNDEFINED); + EXPECT_EQ(barriers[0].newLayout, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL); + EXPECT_EQ(barriers[0].subresourceRange.baseMipLevel, 0u); + EXPECT_EQ(barriers[0].subresourceRange.levelCount, 6u); + + for (uint32_t i = 1; i < 7; ++i) { + EXPECT_EQ(barriers[i].oldLayout, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL) << i; + EXPECT_EQ(barriers[i].newLayout, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL) << i; + EXPECT_EQ(barriers[i].subresourceRange.baseMipLevel, i - 1) << i; + EXPECT_EQ(barriers[i].subresourceRange.levelCount, 1u) << i; + } + + EXPECT_EQ(barriers[7].oldLayout, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL); + EXPECT_EQ(barriers[7].newLayout, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL); + EXPECT_EQ(barriers[7].subresourceRange.baseMipLevel, 0u); + EXPECT_EQ(barriers[7].subresourceRange.levelCount, 6u); +} + +} // namespace impeller diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/capabilities_vk.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/capabilities_vk.cc index f2e649db96d5a..478fc2364eaf4 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/capabilities_vk.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/capabilities_vk.cc @@ -730,6 +730,10 @@ size_t CapabilitiesVK::GetMinimumUniformAlignment() const { return minimum_uniform_alignment_; } +bool CapabilitiesVK::NeedsPartitionedHostBuffer() const { + return false; +} + bool CapabilitiesVK::HasExtension(RequiredCommonDeviceExtensionVK ext) const { return required_common_device_extensions_.find(ext) != required_common_device_extensions_.end(); diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/capabilities_vk.h b/engine/src/flutter/impeller/renderer/backend/vulkan/capabilities_vk.h index 80eac878da998..b7740f0a33d6f 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/capabilities_vk.h +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/capabilities_vk.h @@ -281,6 +281,9 @@ class CapabilitiesVK final : public Capabilities, // |Capabilities| size_t GetMinimumUniformAlignment() const override; + // |Capabilities| + bool NeedsPartitionedHostBuffer() const override; + //---------------------------------------------------------------------------- /// @return If fixed-rate compression for non-onscreen surfaces is /// supported. diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/context_vk.h b/engine/src/flutter/impeller/renderer/backend/vulkan/context_vk.h index 39dae91aea4cf..1486a93a676fd 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/context_vk.h +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/context_vk.h @@ -5,13 +5,13 @@ #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_CONTEXT_VK_H_ #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_CONTEXT_VK_H_ +#include #include #include "flutter/fml/concurrent_message_loop.h" #include "flutter/fml/mapping.h" #include "flutter/fml/unique_fd.h" #include "impeller/base/backend_cast.h" -#include "impeller/base/strings.h" #include "impeller/core/formats.h" #include "impeller/core/runtime_types.h" #include "impeller/renderer/backend/vulkan/command_pool_vk.h" @@ -160,7 +160,7 @@ class ContextVK final : public Context, // No-op if validation layers are not enabled. return true; } - std::string combined = SPrintF("%s %s", label.data(), trailing.data()); + std::string combined = std::format("{} {}", label, trailing); return SetDebugName(GetDevice(), handle, combined); } diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/pipeline_vk.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/pipeline_vk.cc index 72ba5b99be8cd..d2a5bf46be353 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/pipeline_vk.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/pipeline_vk.cc @@ -4,10 +4,11 @@ #include "impeller/renderer/backend/vulkan/pipeline_vk.h" +#include + #include "flutter/fml/make_copyable.h" #include "flutter/fml/status_or.h" #include "flutter/fml/trace_event.h" -#include "impeller/base/strings.h" #include "impeller/base/timing.h" #include "impeller/renderer/backend/vulkan/capabilities_vk.h" #include "impeller/renderer/backend/vulkan/context_vk.h" @@ -163,7 +164,7 @@ static vk::UniqueRenderPass CreateCompatRenderPassForPipeline( #ifdef IMPELLER_DEBUG ContextVK::SetDebugName( device, pass.get(), - SPrintF("Compat Render Pass: %s", desc.GetLabel().data())); + std::format("Compat Render Pass: {}", desc.GetLabel())); #endif // IMPELLER_DEBUG return pass; @@ -214,7 +215,7 @@ fml::StatusOr MakeDescriptorSetLayout( #ifdef IMPELLER_DEBUG ContextVK::SetDebugName( device_holder->GetDevice(), descs_layout.get(), - SPrintF("Descriptor Set Layout: %s", desc.GetLabel().data())); + std::format("Descriptor Set Layout: {}", desc.GetLabel())); #endif // IMPELLER_DEBUG return fml::StatusOr(std::move(descs_layout)); @@ -237,9 +238,8 @@ fml::StatusOr MakePipelineLayout( } #ifdef IMPELLER_DEBUG - ContextVK::SetDebugName( - device_holder->GetDevice(), *pipeline_layout.value, - SPrintF("Pipeline Layout %s", desc.GetLabel().data())); + ContextVK::SetDebugName(device_holder->GetDevice(), *pipeline_layout.value, + std::format("Pipeline Layout {}", desc.GetLabel())); #endif // IMPELLER_DEBUG return std::move(pipeline_layout.value); @@ -454,7 +454,7 @@ fml::StatusOr MakePipeline( #ifdef IMPELLER_DEBUG ContextVK::SetDebugName(device_holder->GetDevice(), *pipeline, - SPrintF("Pipeline %s", desc.GetLabel().data())); + std::format("Pipeline {}", desc.GetLabel())); #endif // IMPELLER_DEBUG return std::move(pipeline); diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/test/mock_vulkan.cc b/engine/src/flutter/impeller/renderer/backend/vulkan/test/mock_vulkan.cc index abf9507774d93..4f2215287fabc 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/test/mock_vulkan.cc +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/test/mock_vulkan.cc @@ -25,6 +25,7 @@ struct MockCommandBuffer { std::shared_ptr> called_functions) : called_functions_(std::move(called_functions)) {} std::shared_ptr> called_functions_; + std::vector image_memory_barriers_; }; struct MockQueryPool {}; @@ -448,6 +449,27 @@ void vkCmdBindPipeline(VkCommandBuffer commandBuffer, mock_command_buffer->called_functions_->push_back("vkCmdBindPipeline"); } +void vkCmdPipelineBarrier(VkCommandBuffer commandBuffer, + VkPipelineStageFlags srcStageMask, + VkPipelineStageFlags dstStageMask, + VkDependencyFlags dependencyFlags, + uint32_t memoryBarrierCount, + const VkMemoryBarrier* pMemoryBarriers, + uint32_t bufferMemoryBarrierCount, + const VkBufferMemoryBarrier* pBufferMemoryBarriers, + uint32_t imageMemoryBarrierCount, + const VkImageMemoryBarrier* pImageMemoryBarriers) { + MockCommandBuffer* mock_command_buffer = + reinterpret_cast(commandBuffer); + mock_command_buffer->called_functions_->push_back("vkCmdPipelineBarrier"); + if (pImageMemoryBarriers) { + for (uint32_t i = 0; i < imageMemoryBarrierCount; ++i) { + mock_command_buffer->image_memory_barriers_.push_back( + pImageMemoryBarriers[i]); + } + } +} + void vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference) { @@ -863,6 +885,8 @@ PFN_vkVoidFunction GetMockVulkanProcAddress(VkInstance instance, return reinterpret_cast(vkDestroyPipelineCache); } else if (strcmp("vkCmdBindPipeline", pName) == 0) { return reinterpret_cast(vkCmdBindPipeline); + } else if (strcmp("vkCmdPipelineBarrier", pName) == 0) { + return reinterpret_cast(vkCmdPipelineBarrier); } else if (strcmp("vkCmdSetStencilReference", pName) == 0) { return reinterpret_cast(vkCmdSetStencilReference); } else if (strcmp("vkCmdSetScissor", pName) == 0) { @@ -988,5 +1012,12 @@ void SetSwapchainImageSize(ISize size) { currentImageSize = size; } +std::vector& GetImageMemoryBarriers( + VkCommandBuffer buffer) { + MockCommandBuffer* mock_command_buffer = + reinterpret_cast(buffer); + return mock_command_buffer->image_memory_barriers_; +} + } // namespace testing } // namespace impeller diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/test/mock_vulkan.h b/engine/src/flutter/impeller/renderer/backend/vulkan/test/mock_vulkan.h index 25da5720c3b5a..ff28213cf2310 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/test/mock_vulkan.h +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/test/mock_vulkan.h @@ -131,6 +131,9 @@ class MockVulkanContextBuilder { /// @brief Override the image size returned by all swapchain images. void SetSwapchainImageSize(ISize size); +std::vector& GetImageMemoryBarriers( + VkCommandBuffer buffer); + } // namespace testing } // namespace impeller diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/vk.h b/engine/src/flutter/impeller/renderer/backend/vulkan/vk.h index f1c129d7fc736..a688985c60b3f 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/vk.h +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/vk.h @@ -69,6 +69,9 @@ } #define VULKAN_HPP_NO_EXCEPTIONS +// The spaceship operator behaves differently on 32-bit platforms. +#define VULKAN_HPP_NO_SPACESHIP_OPERATOR + #include "vulkan/vulkan.hpp" // IWYU pragma: keep. static_assert(VK_HEADER_VERSION >= 215, "Vulkan headers must not be too old."); diff --git a/engine/src/flutter/impeller/renderer/backend/vulkan/vma.h b/engine/src/flutter/impeller/renderer/backend/vulkan/vma.h index 6787bee93c576..0d245e68bd875 100644 --- a/engine/src/flutter/impeller/renderer/backend/vulkan/vma.h +++ b/engine/src/flutter/impeller/renderer/backend/vulkan/vma.h @@ -38,13 +38,7 @@ struct PoolVMA { VmaAllocator allocator = {}; VmaPool pool = {}; - constexpr bool operator==(const PoolVMA& other) const { - return allocator == other.allocator && pool == other.pool; - } - - constexpr bool operator!=(const PoolVMA& other) const { - return !(*this == other); - } + constexpr bool operator==(const PoolVMA& other) const = default; }; struct PoolVMATraits { diff --git a/engine/src/flutter/impeller/renderer/blit_pass.cc b/engine/src/flutter/impeller/renderer/blit_pass.cc index c7c225dce5c1a..7dab1a7bfa39d 100644 --- a/engine/src/flutter/impeller/renderer/blit_pass.cc +++ b/engine/src/flutter/impeller/renderer/blit_pass.cc @@ -3,10 +3,11 @@ // found in the LICENSE file. #include "impeller/renderer/blit_pass.h" + +#include #include #include -#include "impeller/base/strings.h" #include "impeller/base/validation.h" #include "impeller/core/formats.h" @@ -39,18 +40,18 @@ bool BlitPass::AddCopy(std::shared_ptr source, if (source->GetTextureDescriptor().sample_count != destination->GetTextureDescriptor().sample_count) { - VALIDATION_LOG << SPrintF( - "The source sample count (%d) must match the destination sample count " - "(%d) for blits.", + VALIDATION_LOG << std::format( + "The source sample count ({}) must match the destination sample count " + "({}) for blits.", static_cast(source->GetTextureDescriptor().sample_count), static_cast(destination->GetTextureDescriptor().sample_count)); return false; } if (source->GetTextureDescriptor().format != destination->GetTextureDescriptor().format) { - VALIDATION_LOG << SPrintF( - "The source pixel format (%s) must match the destination pixel format " - "(%s) " + VALIDATION_LOG << std::format( + "The source pixel format ({}) must match the destination pixel format " + "({}) " "for blits.", PixelFormatToString(source->GetTextureDescriptor().format), PixelFormatToString(destination->GetTextureDescriptor().format)); diff --git a/engine/src/flutter/impeller/renderer/capabilities.cc b/engine/src/flutter/impeller/renderer/capabilities.cc index f928d9662bca5..c4dc33e74a389 100644 --- a/engine/src/flutter/impeller/renderer/capabilities.cc +++ b/engine/src/flutter/impeller/renderer/capabilities.cc @@ -101,6 +101,11 @@ class StandardCapabilities final : public Capabilities { return minimum_uniform_alignment_; } + // |Capabilities| + bool NeedsPartitionedHostBuffer() const override { + return needs_partitioned_host_buffer_; + } + private: StandardCapabilities(bool supports_offscreen_msaa, bool supports_ssbo, @@ -118,7 +123,8 @@ class StandardCapabilities final : public Capabilities { PixelFormat default_depth_stencil_format, PixelFormat default_glyph_atlas_format, ISize default_maximum_render_pass_attachment_size, - size_t minimum_uniform_alignment) + size_t minimum_uniform_alignment, + bool needs_partitioned_host_buffer) : supports_offscreen_msaa_(supports_offscreen_msaa), supports_ssbo_(supports_ssbo), supports_texture_to_texture_blits_(supports_texture_to_texture_blits), @@ -131,6 +137,7 @@ class StandardCapabilities final : public Capabilities { supports_device_transient_textures_(supports_device_transient_textures), supports_triangle_fan_(supports_triangle_fan), supports_extended_range_formats_(supports_extended_range_formats), + needs_partitioned_host_buffer_(needs_partitioned_host_buffer), default_color_format_(default_color_format), default_stencil_format_(default_stencil_format), default_depth_stencil_format_(default_depth_stencil_format), @@ -152,6 +159,7 @@ class StandardCapabilities final : public Capabilities { bool supports_device_transient_textures_ = false; bool supports_triangle_fan_ = false; bool supports_extended_range_formats_ = false; + bool needs_partitioned_host_buffer_ = false; PixelFormat default_color_format_ = PixelFormat::kUnknown; PixelFormat default_stencil_format_ = PixelFormat::kUnknown; PixelFormat default_depth_stencil_format_ = PixelFormat::kUnknown; @@ -266,6 +274,12 @@ CapabilitiesBuilder& CapabilitiesBuilder::SetMinimumUniformAlignment( return *this; } +CapabilitiesBuilder& CapabilitiesBuilder::SetNeedsPartitionedHostBuffer( + bool value) { + needs_partitioned_host_buffer_ = value; + return *this; +} + std::unique_ptr CapabilitiesBuilder::Build() { // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) return std::unique_ptr(new StandardCapabilities( // @@ -285,7 +299,8 @@ std::unique_ptr CapabilitiesBuilder::Build() { default_depth_stencil_format_.value_or(PixelFormat::kUnknown), // default_glyph_atlas_format_.value_or(PixelFormat::kUnknown), // default_maximum_render_pass_attachment_size_.value_or(ISize{1, 1}), // - minimum_uniform_alignment_ // + minimum_uniform_alignment_, // + needs_partitioned_host_buffer_ // )); } diff --git a/engine/src/flutter/impeller/renderer/capabilities.h b/engine/src/flutter/impeller/renderer/capabilities.h index d1630479c49df..f74e81e05eba1 100644 --- a/engine/src/flutter/impeller/renderer/capabilities.h +++ b/engine/src/flutter/impeller/renderer/capabilities.h @@ -126,6 +126,10 @@ class Capabilities { /// @brief The minimum alignment of uniform value offsets in bytes. virtual size_t GetMinimumUniformAlignment() const = 0; + /// @brief Whether the host buffer should use separate device buffers + /// for indexes from other data. + virtual bool NeedsPartitionedHostBuffer() const = 0; + protected: Capabilities(); @@ -174,6 +178,8 @@ class CapabilitiesBuilder { CapabilitiesBuilder& SetMinimumUniformAlignment(size_t value); + CapabilitiesBuilder& SetNeedsPartitionedHostBuffer(bool value); + std::unique_ptr Build(); private: @@ -188,6 +194,7 @@ class CapabilitiesBuilder { bool supports_device_transient_textures_ = false; bool supports_triangle_fan_ = false; bool supports_extended_range_formats_ = false; + bool needs_partitioned_host_buffer_ = false; std::optional default_color_format_ = std::nullopt; std::optional default_stencil_format_ = std::nullopt; std::optional default_depth_stencil_format_ = std::nullopt; diff --git a/engine/src/flutter/impeller/renderer/capabilities_unittests.cc b/engine/src/flutter/impeller/renderer/capabilities_unittests.cc index c47ec0c86ea5a..658fc73473892 100644 --- a/engine/src/flutter/impeller/renderer/capabilities_unittests.cc +++ b/engine/src/flutter/impeller/renderer/capabilities_unittests.cc @@ -29,6 +29,7 @@ CAPABILITY_TEST(SupportsDecalSamplerAddressMode, false); CAPABILITY_TEST(SupportsDeviceTransientTextures, false); CAPABILITY_TEST(SupportsTriangleFan, false); CAPABILITY_TEST(SupportsExtendedRangeFormats, false); +CAPABILITY_TEST(NeedsPartitionedHostBuffer, false); TEST(CapabilitiesTest, DefaultColorFormat) { auto defaults = CapabilitiesBuilder().Build(); diff --git a/engine/src/flutter/impeller/renderer/compute_pipeline_builder.h b/engine/src/flutter/impeller/renderer/compute_pipeline_builder.h index 1e9938ea406ac..d30d9a7aa82e5 100644 --- a/engine/src/flutter/impeller/renderer/compute_pipeline_builder.h +++ b/engine/src/flutter/impeller/renderer/compute_pipeline_builder.h @@ -5,7 +5,8 @@ #ifndef FLUTTER_IMPELLER_RENDERER_COMPUTE_PIPELINE_BUILDER_H_ #define FLUTTER_IMPELLER_RENDERER_COMPUTE_PIPELINE_BUILDER_H_ -#include "impeller/base/strings.h" +#include + #include "impeller/base/validation.h" #include "impeller/renderer/compute_pipeline_descriptor.h" #include "impeller/renderer/context.h" @@ -50,7 +51,7 @@ struct ComputePipelineBuilder { const Context& context, ComputePipelineDescriptor& desc) { // Setup debug instrumentation. - desc.SetLabel(SPrintF("%s Pipeline", ComputeShader::kLabel.data())); + desc.SetLabel(std::format("{} Pipeline", ComputeShader::kLabel)); // Resolve pipeline entrypoints. { diff --git a/engine/src/flutter/impeller/renderer/pipeline_builder.h b/engine/src/flutter/impeller/renderer/pipeline_builder.h index 8882d44fe2d55..d025c1fc2e72b 100644 --- a/engine/src/flutter/impeller/renderer/pipeline_builder.h +++ b/engine/src/flutter/impeller/renderer/pipeline_builder.h @@ -5,7 +5,8 @@ #ifndef FLUTTER_IMPELLER_RENDERER_PIPELINE_BUILDER_H_ #define FLUTTER_IMPELLER_RENDERER_PIPELINE_BUILDER_H_ -#include "impeller/base/strings.h" +#include + #include "impeller/base/validation.h" #include "impeller/core/formats.h" #include "impeller/renderer/context.h" @@ -61,7 +62,7 @@ struct PipelineBuilder { const Context& context, PipelineDescriptor& desc) { // Setup debug instrumentation. - desc.SetLabel(SPrintF("%s Pipeline", FragmentShader::kLabel.data())); + desc.SetLabel(std::format("{} Pipeline", FragmentShader::kLabel)); // Resolve pipeline entrypoints. { diff --git a/engine/src/flutter/impeller/renderer/render_target.cc b/engine/src/flutter/impeller/renderer/render_target.cc index b3621e706b659..6208fc08443b1 100644 --- a/engine/src/flutter/impeller/renderer/render_target.cc +++ b/engine/src/flutter/impeller/renderer/render_target.cc @@ -4,9 +4,9 @@ #include "impeller/renderer/render_target.h" +#include #include -#include "impeller/base/strings.h" #include "impeller/base/validation.h" #include "impeller/core/allocator.h" #include "impeller/core/formats.h" @@ -279,22 +279,22 @@ std::string RenderTarget::ToString() const { std::stringstream stream; if (color0_.has_value()) { - stream << SPrintF("Color[%d]=(%s)", 0, - ColorAttachmentToString(color0_.value()).c_str()); + stream << std::format("Color[{}]=({})", 0, + ColorAttachmentToString(color0_.value())); } for (const auto& [index, color] : colors_) { - stream << SPrintF("Color[%zu]=(%s)", index, - ColorAttachmentToString(color).c_str()); + stream << std::format("Color[{}]=({})", index, + ColorAttachmentToString(color)); } if (depth_) { stream << ","; - stream << SPrintF("Depth=(%s)", - DepthAttachmentToString(depth_.value()).c_str()); + stream << std::format("Depth=({})", + DepthAttachmentToString(depth_.value())); } if (stencil_) { stream << ","; - stream << SPrintF("Stencil=(%s)", - StencilAttachmentToString(stencil_.value()).c_str()); + stream << std::format("Stencil=({})", + StencilAttachmentToString(stencil_.value())); } return stream.str(); } diff --git a/engine/src/flutter/impeller/renderer/renderer_unittests.cc b/engine/src/flutter/impeller/renderer/renderer_unittests.cc index c3d7966086916..87b1b323d4a28 100644 --- a/engine/src/flutter/impeller/renderer/renderer_unittests.cc +++ b/engine/src/flutter/impeller/renderer/renderer_unittests.cc @@ -44,6 +44,23 @@ // TODO(zanderso): https://github.com/flutter/flutter/issues/127701 // NOLINTBEGIN(bugprone-unchecked-optional-access) +namespace { +std::pair, + std::shared_ptr> +createHostBuffers(const std::shared_ptr& context) { + auto data_host_buffer = impeller::HostBuffer::Create( + context->GetResourceAllocator(), context->GetIdleWaiter(), + context->GetCapabilities()->GetMinimumUniformAlignment()); + auto indexes_host_buffer = + context->GetCapabilities()->NeedsPartitionedHostBuffer() + ? impeller::HostBuffer::Create( + context->GetResourceAllocator(), context->GetIdleWaiter(), + context->GetCapabilities()->GetMinimumUniformAlignment()) + : data_host_buffer; + return {data_host_buffer, indexes_host_buffer}; +} +} // namespace + namespace impeller { namespace testing { @@ -78,10 +95,8 @@ TEST_P(RendererTest, CanCreateBoxPrimitive) { raw_ptr sampler = context->GetSamplerLibrary()->GetSampler({}); ASSERT_TRUE(sampler); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); SinglePassCallback callback = [&](RenderPass& pass) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); ImGui::Begin("Controls", nullptr, ImGuiWindowFlags_AlwaysAutoResize); static bool wireframe; ImGui::Checkbox("Wireframe", &wireframe); @@ -102,7 +117,7 @@ TEST_P(RendererTest, CanCreateBoxPrimitive) { Matrix::MakeOrthographic(pass.GetRenderTargetSize())); uniforms.mvp = pass.GetOrthographicTransform() * Matrix::MakeScale(GetContentScale()); - VS::BindUniformBuffer(pass, host_buffer->EmplaceUniform(uniforms)); + VS::BindUniformBuffer(pass, data_host_buffer->EmplaceUniform(uniforms)); FS::FrameInfo frame_info; frame_info.current_time = GetSecondsElapsed(); @@ -110,11 +125,11 @@ TEST_P(RendererTest, CanCreateBoxPrimitive) { frame_info.window_size.x = GetWindowSize().width; frame_info.window_size.y = GetWindowSize().height; - FS::BindFrameInfo(pass, host_buffer->EmplaceUniform(frame_info)); + FS::BindFrameInfo(pass, data_host_buffer->EmplaceUniform(frame_info)); FS::BindContents1(pass, boston, sampler); FS::BindContents2(pass, bridge, sampler); - host_buffer->Reset(); + data_host_buffer->Reset(); return pass.Draw().ok(); }; OpenPlaygroundHere(callback); @@ -144,11 +159,6 @@ TEST_P(RendererTest, BabysFirstTriangle) { // it once. auto pipeline = context->GetPipelineLibrary()->GetPipeline(desc).Get(); - // Create a host side buffer to build the vertex and uniform information. - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); - // Specify the vertex buffer information. VertexBufferBuilder vertex_buffer_builder; vertex_buffer_builder.AddVertices({ @@ -167,10 +177,8 @@ TEST_P(RendererTest, BabysFirstTriangle) { FS::FragInfo frag_info; frag_info.time = fml::TimePoint::Now().ToEpochDelta().ToSecondsF(); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); - FS::BindFragInfo(pass, host_buffer->EmplaceUniform(frag_info)); + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); + FS::BindFragInfo(pass, data_host_buffer->EmplaceUniform(frag_info)); return pass.Draw().ok(); }; @@ -244,10 +252,8 @@ TEST_P(RendererTest, CanRenderPerspectiveCube) { ASSERT_TRUE(sampler); Vector3 euler_angles; - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); SinglePassCallback callback = [&](RenderPass& pass) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); static Degrees fov_y(60); static Scalar distance = 10; @@ -282,9 +288,9 @@ TEST_P(RendererTest, CanRenderPerspectiveCube) { Matrix::MakeRotationX(Radians(euler_angles.x)) * Matrix::MakeRotationY(Radians(euler_angles.y)) * Matrix::MakeRotationZ(Radians(euler_angles.z)); - VS::BindUniformBuffer(pass, host_buffer->EmplaceUniform(uniforms)); + VS::BindUniformBuffer(pass, data_host_buffer->EmplaceUniform(uniforms)); - host_buffer->Reset(); + data_host_buffer->Reset(); return pass.Draw().ok(); }; OpenPlaygroundHere(callback); @@ -325,10 +331,8 @@ TEST_P(RendererTest, CanRenderMultiplePrimitives) { raw_ptr sampler = context->GetSamplerLibrary()->GetSampler({}); ASSERT_TRUE(sampler); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); SinglePassCallback callback = [&](RenderPass& pass) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); for (size_t i = 0; i < 1; i++) { for (size_t j = 0; j < 1; j++) { pass.SetCommandLabel("Box"); @@ -341,7 +345,7 @@ TEST_P(RendererTest, CanRenderMultiplePrimitives) { frame_info.window_size.x = GetWindowSize().width; frame_info.window_size.y = GetWindowSize().height; - FS::BindFrameInfo(pass, host_buffer->EmplaceUniform(frame_info)); + FS::BindFrameInfo(pass, data_host_buffer->EmplaceUniform(frame_info)); FS::BindContents1(pass, boston, sampler); FS::BindContents2(pass, bridge, sampler); @@ -351,14 +355,14 @@ TEST_P(RendererTest, CanRenderMultiplePrimitives) { uniforms.mvp = pass.GetOrthographicTransform() * Matrix::MakeScale(GetContentScale()) * Matrix::MakeTranslation({i * 50.0f, j * 50.0f, 0.0f}); - VS::BindUniformBuffer(pass, host_buffer->EmplaceUniform(uniforms)); + VS::BindUniformBuffer(pass, data_host_buffer->EmplaceUniform(uniforms)); if (!pass.Draw().ok()) { return false; } } } - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -380,9 +384,7 @@ TEST_P(RendererTest, CanRenderToTexture) { auto box_pipeline = context->GetPipelineLibrary()->GetPipeline(pipeline_desc).Get(); ASSERT_TRUE(box_pipeline); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); VertexBufferBuilder vertex_builder; vertex_builder.SetLabel("Box"); @@ -456,14 +458,14 @@ TEST_P(RendererTest, CanRenderToTexture) { frame_info.window_size.x = GetWindowSize().width; frame_info.window_size.y = GetWindowSize().height; - FS::BindFrameInfo(*r2t_pass, host_buffer->EmplaceUniform(frame_info)); + FS::BindFrameInfo(*r2t_pass, data_host_buffer->EmplaceUniform(frame_info)); FS::BindContents1(*r2t_pass, boston, sampler); FS::BindContents2(*r2t_pass, bridge, sampler); VS::UniformBuffer uniforms; uniforms.mvp = Matrix::MakeOrthographic(ISize{1024, 768}) * Matrix::MakeTranslation({50.0f, 50.0f, 0.0f}); - VS::BindUniformBuffer(*r2t_pass, host_buffer->EmplaceUniform(uniforms)); + VS::BindUniformBuffer(*r2t_pass, data_host_buffer->EmplaceUniform(uniforms)); ASSERT_TRUE(r2t_pass->Draw().ok()); ASSERT_TRUE(r2t_pass->EncodeCommands()); } @@ -503,10 +505,9 @@ TEST_P(RendererTest, CanRenderInstanced) { instances.colors[i] = Color::Random(); } - auto host_buffer = HostBuffer::Create( - GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), - GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(OpenPlaygroundHere([&](RenderPass& pass) -> bool { + auto [data_host_buffer, indexes_host_buffer] = + createHostBuffers(GetContext()); pass.SetPipeline(pipeline); pass.SetCommandLabel("InstancedDraw"); @@ -515,14 +516,16 @@ TEST_P(RendererTest, CanRenderInstanced) { Matrix::MakeOrthographic(pass.GetRenderTargetSize())); frame_info.mvp = pass.GetOrthographicTransform() * Matrix::MakeScale(GetContentScale()); - VS::BindFrameInfo(pass, host_buffer->EmplaceUniform(frame_info)); - VS::BindInstanceInfo(pass, host_buffer->EmplaceStorageBuffer(instances)); - pass.SetVertexBuffer(builder.CreateVertexBuffer(*host_buffer)); + VS::BindFrameInfo(pass, data_host_buffer->EmplaceUniform(frame_info)); + VS::BindInstanceInfo(pass, + data_host_buffer->EmplaceStorageBuffer(instances)); + pass.SetVertexBuffer( + builder.CreateVertexBuffer(*data_host_buffer, *indexes_host_buffer)); pass.SetInstanceCount(kInstancesCount); pass.Draw(); - host_buffer->Reset(); + data_host_buffer->Reset(); return true; })); } @@ -575,10 +578,8 @@ TEST_P(RendererTest, CanBlitTextureToTexture) { vertex_builder.CreateVertexBuffer(*context->GetResourceAllocator()); ASSERT_TRUE(vertex_buffer); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); Playground::RenderCallback callback = [&](RenderTarget& render_target) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); auto buffer = context->CreateCommandBuffer(); if (!buffer) { return false; @@ -616,11 +617,11 @@ TEST_P(RendererTest, CanBlitTextureToTexture) { Matrix::MakeOrthographic(pass->GetRenderTargetSize())); frame_info.mvp = pass->GetOrthographicTransform() * Matrix::MakeScale(GetContentScale()); - VS::BindFrameInfo(*pass, host_buffer->EmplaceUniform(frame_info)); + VS::BindFrameInfo(*pass, data_host_buffer->EmplaceUniform(frame_info)); FS::FragInfo frag_info; frag_info.lod = 0; - FS::BindFragInfo(*pass, host_buffer->EmplaceUniform(frag_info)); + FS::BindFragInfo(*pass, data_host_buffer->EmplaceUniform(frag_info)); auto sampler = context->GetSamplerLibrary()->GetSampler({}); FS::BindTex(*pass, texture, sampler); @@ -633,7 +634,7 @@ TEST_P(RendererTest, CanBlitTextureToTexture) { if (!context->GetCommandQueue()->Submit({buffer}).ok()) { return false; } - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -692,10 +693,8 @@ TEST_P(RendererTest, CanBlitTextureToBuffer) { vertex_builder.CreateVertexBuffer(*context->GetResourceAllocator()); ASSERT_TRUE(vertex_buffer); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); Playground::RenderCallback callback = [&](RenderTarget& render_target) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); { auto buffer = context->CreateCommandBuffer(); if (!buffer) { @@ -739,11 +738,11 @@ TEST_P(RendererTest, CanBlitTextureToBuffer) { Matrix::MakeOrthographic(pass->GetRenderTargetSize())); frame_info.mvp = pass->GetOrthographicTransform() * Matrix::MakeScale(GetContentScale()); - VS::BindFrameInfo(*pass, host_buffer->EmplaceUniform(frame_info)); + VS::BindFrameInfo(*pass, data_host_buffer->EmplaceUniform(frame_info)); FS::FragInfo frag_info; frag_info.lod = 0; - FS::BindFragInfo(*pass, host_buffer->EmplaceUniform(frag_info)); + FS::BindFragInfo(*pass, data_host_buffer->EmplaceUniform(frag_info)); raw_ptr sampler = context->GetSamplerLibrary()->GetSampler({}); @@ -764,7 +763,7 @@ TEST_P(RendererTest, CanBlitTextureToBuffer) { return false; } } - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -807,10 +806,8 @@ TEST_P(RendererTest, CanGenerateMipmaps) { ASSERT_TRUE(vertex_buffer); bool first_frame = true; - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); Playground::RenderCallback callback = [&](RenderTarget& render_target) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); const char* mip_filter_names[] = {"Base", "Nearest", "Linear"}; const MipFilter mip_filters[] = {MipFilter::kBase, MipFilter::kNearest, MipFilter::kLinear}; @@ -867,11 +864,11 @@ TEST_P(RendererTest, CanGenerateMipmaps) { Matrix::MakeOrthographic(pass->GetRenderTargetSize())); frame_info.mvp = pass->GetOrthographicTransform() * Matrix::MakeScale(GetContentScale()); - VS::BindFrameInfo(*pass, host_buffer->EmplaceUniform(frame_info)); + VS::BindFrameInfo(*pass, data_host_buffer->EmplaceUniform(frame_info)); FS::FragInfo frag_info; frag_info.lod = lod; - FS::BindFragInfo(*pass, host_buffer->EmplaceUniform(frag_info)); + FS::BindFragInfo(*pass, data_host_buffer->EmplaceUniform(frag_info)); SamplerDescriptor sampler_desc; sampler_desc.mip_filter = mip_filters[selected_mip_filter]; @@ -888,7 +885,7 @@ TEST_P(RendererTest, CanGenerateMipmaps) { if (!context->GetCommandQueue()->Submit({buffer}).ok()) { return false; } - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -921,11 +918,9 @@ TEST_P(RendererTest, TheImpeller) { "table_mountain_pz.png", "table_mountain_nz.png"}); raw_ptr cube_map_sampler = context->GetSamplerLibrary()->GetSampler({}); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); SinglePassCallback callback = [&](RenderPass& pass) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); auto size = pass.GetRenderTargetSize(); pass.SetPipeline(pipeline); @@ -937,22 +932,23 @@ TEST_P(RendererTest, TheImpeller) { {Point(size.width, 0)}, {Point(0, size.height)}, {Point(size.width, size.height)}}); - pass.SetVertexBuffer(builder.CreateVertexBuffer(*host_buffer)); + pass.SetVertexBuffer( + builder.CreateVertexBuffer(*data_host_buffer, *indexes_host_buffer)); VS::FrameInfo frame_info; EXPECT_EQ(pass.GetOrthographicTransform(), Matrix::MakeOrthographic(size)); frame_info.mvp = pass.GetOrthographicTransform(); - VS::BindFrameInfo(pass, host_buffer->EmplaceUniform(frame_info)); + VS::BindFrameInfo(pass, data_host_buffer->EmplaceUniform(frame_info)); FS::FragInfo fs_uniform; fs_uniform.texture_size = Point(size); fs_uniform.time = GetSecondsElapsed(); - FS::BindFragInfo(pass, host_buffer->EmplaceUniform(fs_uniform)); + FS::BindFragInfo(pass, data_host_buffer->EmplaceUniform(fs_uniform)); FS::BindBlueNoise(pass, blue_noise, noise_sampler); FS::BindCubeMap(pass, cube_map, cube_map_sampler); pass.Draw().ok(); - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -972,11 +968,8 @@ TEST_P(RendererTest, Planet) { context->GetPipelineLibrary()->GetPipeline(pipeline_descriptor).Get(); ASSERT_TRUE(pipeline && pipeline->IsValid()); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); - SinglePassCallback callback = [&](RenderPass& pass) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); static Scalar speed = 0.1; static Scalar planet_size = 550.0; static bool show_normals = false; @@ -1002,12 +995,13 @@ TEST_P(RendererTest, Planet) { {Point(size.width, 0)}, {Point(0, size.height)}, {Point(size.width, size.height)}}); - pass.SetVertexBuffer(builder.CreateVertexBuffer(*host_buffer)); + pass.SetVertexBuffer( + builder.CreateVertexBuffer(*data_host_buffer, *indexes_host_buffer)); VS::FrameInfo frame_info; EXPECT_EQ(pass.GetOrthographicTransform(), Matrix::MakeOrthographic(size)); frame_info.mvp = pass.GetOrthographicTransform(); - VS::BindFrameInfo(pass, host_buffer->EmplaceUniform(frame_info)); + VS::BindFrameInfo(pass, data_host_buffer->EmplaceUniform(frame_info)); FS::FragInfo fs_uniform; fs_uniform.resolution = Point(size); @@ -1017,10 +1011,10 @@ TEST_P(RendererTest, Planet) { fs_uniform.show_normals = show_normals ? 1.0 : 0.0; fs_uniform.show_noise = show_noise ? 1.0 : 0.0; fs_uniform.seed_value = seed_value; - FS::BindFragInfo(pass, host_buffer->EmplaceUniform(fs_uniform)); + FS::BindFragInfo(pass, data_host_buffer->EmplaceUniform(fs_uniform)); pass.Draw().ok(); - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -1040,10 +1034,8 @@ TEST_P(RendererTest, ArrayUniforms) { context->GetPipelineLibrary()->GetPipeline(pipeline_descriptor).Get(); ASSERT_TRUE(pipeline && pipeline->IsValid()); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); SinglePassCallback callback = [&](RenderPass& pass) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); auto size = pass.GetRenderTargetSize(); pass.SetPipeline(pipeline); @@ -1055,13 +1047,14 @@ TEST_P(RendererTest, ArrayUniforms) { {Point(size.width, 0)}, {Point(0, size.height)}, {Point(size.width, size.height)}}); - pass.SetVertexBuffer(builder.CreateVertexBuffer(*host_buffer)); + pass.SetVertexBuffer( + builder.CreateVertexBuffer(*data_host_buffer, *indexes_host_buffer)); VS::FrameInfo frame_info; EXPECT_EQ(pass.GetOrthographicTransform(), Matrix::MakeOrthographic(size)); frame_info.mvp = pass.GetOrthographicTransform() * Matrix::MakeScale(GetContentScale()); - VS::BindFrameInfo(pass, host_buffer->EmplaceUniform(frame_info)); + VS::BindFrameInfo(pass, data_host_buffer->EmplaceUniform(frame_info)); auto time = GetSecondsElapsed(); auto y_pos = [&time](float x) { @@ -1076,10 +1069,10 @@ TEST_P(RendererTest, ArrayUniforms) { Color::MakeRGBA8(244, 180, 0, 255), Color::MakeRGBA8(15, 157, 88, 255)}, }; - FS::BindFragInfo(pass, host_buffer->EmplaceUniform(fs_uniform)); + FS::BindFragInfo(pass, data_host_buffer->EmplaceUniform(fs_uniform)); pass.Draw(); - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -1099,10 +1092,8 @@ TEST_P(RendererTest, InactiveUniforms) { context->GetPipelineLibrary()->GetPipeline(pipeline_descriptor).Get(); ASSERT_TRUE(pipeline && pipeline->IsValid()); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); SinglePassCallback callback = [&](RenderPass& pass) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); auto size = pass.GetRenderTargetSize(); pass.SetPipeline(pipeline); @@ -1115,20 +1106,21 @@ TEST_P(RendererTest, InactiveUniforms) { {Point(size.width, 0)}, {Point(0, size.height)}, {Point(size.width, size.height)}}); - pass.SetVertexBuffer(builder.CreateVertexBuffer(*host_buffer)); + pass.SetVertexBuffer( + builder.CreateVertexBuffer(*data_host_buffer, *indexes_host_buffer)); VS::FrameInfo frame_info; EXPECT_EQ(pass.GetOrthographicTransform(), Matrix::MakeOrthographic(size)); frame_info.mvp = pass.GetOrthographicTransform() * Matrix::MakeScale(GetContentScale()); - VS::BindFrameInfo(pass, host_buffer->EmplaceUniform(frame_info)); + VS::BindFrameInfo(pass, data_host_buffer->EmplaceUniform(frame_info)); FS::FragInfo fs_uniform = {.unused_color = Color::Red(), .color = Color::Green()}; - FS::BindFragInfo(pass, host_buffer->EmplaceUniform(fs_uniform)); + FS::BindFragInfo(pass, data_host_buffer->EmplaceUniform(fs_uniform)); pass.Draw().ok(); - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -1265,10 +1257,8 @@ TEST_P(RendererTest, StencilMask) { static int current_back_compare = CompareFunctionUI().IndexOf(CompareFunction::kLessEqual); - auto host_buffer = HostBuffer::Create( - context->GetResourceAllocator(), context->GetIdleWaiter(), - context->GetCapabilities()->GetMinimumUniformAlignment()); Playground::RenderCallback callback = [&](RenderTarget& render_target) { + auto [data_host_buffer, indexes_host_buffer] = createHostBuffers(context); auto buffer = context->CreateCommandBuffer(); if (!buffer) { return false; @@ -1349,7 +1339,7 @@ TEST_P(RendererTest, StencilMask) { if (mirror) { uniforms.mvp = Matrix::MakeScale(Vector2(-1, 1)) * uniforms.mvp; } - VS::BindUniformBuffer(*pass, host_buffer->EmplaceUniform(uniforms)); + VS::BindUniformBuffer(*pass, data_host_buffer->EmplaceUniform(uniforms)); FS::FrameInfo frame_info; frame_info.current_time = GetSecondsElapsed(); @@ -1357,7 +1347,7 @@ TEST_P(RendererTest, StencilMask) { frame_info.window_size.x = GetWindowSize().width; frame_info.window_size.y = GetWindowSize().height; - FS::BindFrameInfo(*pass, host_buffer->EmplaceUniform(frame_info)); + FS::BindFrameInfo(*pass, data_host_buffer->EmplaceUniform(frame_info)); FS::BindContents1(*pass, boston, sampler); FS::BindContents2(*pass, bridge, sampler); if (!pass->Draw().ok()) { @@ -1369,7 +1359,7 @@ TEST_P(RendererTest, StencilMask) { if (!context->GetCommandQueue()->Submit({buffer}).ok()) { return false; } - host_buffer->Reset(); + data_host_buffer->Reset(); return true; }; OpenPlaygroundHere(callback); @@ -1575,7 +1565,7 @@ TEST_P(RendererTest, CanSepiaToneThenSwizzleWithSubpasses) { ASSERT_TRUE(sampler); SinglePassCallback callback = [&](RenderPass& pass) { - auto buffer = HostBuffer::Create( + auto data_buffer = HostBuffer::Create( context->GetResourceAllocator(), context->GetIdleWaiter(), context->GetCapabilities()->GetMinimumUniformAlignment()); @@ -1587,7 +1577,7 @@ TEST_P(RendererTest, CanSepiaToneThenSwizzleWithSubpasses) { TextureVS::UniformBuffer uniforms; uniforms.mvp = Matrix::MakeOrthographic(pass.GetRenderTargetSize()) * Matrix::MakeScale(GetContentScale()); - TextureVS::BindUniformBuffer(pass, buffer->EmplaceUniform(uniforms)); + TextureVS::BindUniformBuffer(pass, data_buffer->EmplaceUniform(uniforms)); TextureFS::BindTextureContents(pass, boston, sampler); if (!pass.Draw().ok()) { return false; @@ -1602,7 +1592,7 @@ TEST_P(RendererTest, CanSepiaToneThenSwizzleWithSubpasses) { SepiaVS::UniformBuffer uniforms; uniforms.mvp = Matrix::MakeOrthographic(pass.GetRenderTargetSize()) * Matrix::MakeScale(GetContentScale()); - SepiaVS::BindUniformBuffer(pass, buffer->EmplaceUniform(uniforms)); + SepiaVS::BindUniformBuffer(pass, data_buffer->EmplaceUniform(uniforms)); if (!pass.Draw().ok()) { return false; } @@ -1616,7 +1606,7 @@ TEST_P(RendererTest, CanSepiaToneThenSwizzleWithSubpasses) { SwizzleVS::UniformBuffer uniforms; uniforms.mvp = Matrix::MakeOrthographic(pass.GetRenderTargetSize()) * Matrix::MakeScale(GetContentScale()); - SwizzleVS::BindUniformBuffer(pass, buffer->EmplaceUniform(uniforms)); + SwizzleVS::BindUniformBuffer(pass, data_buffer->EmplaceUniform(uniforms)); if (!pass.Draw().ok()) { return false; } diff --git a/engine/src/flutter/impeller/renderer/testing/mocks.h b/engine/src/flutter/impeller/renderer/testing/mocks.h index 82d9f8a8ad1aa..1c8d94b782bf8 100644 --- a/engine/src/flutter/impeller/renderer/testing/mocks.h +++ b/engine/src/flutter/impeller/renderer/testing/mocks.h @@ -232,6 +232,7 @@ class MockCapabilities : public Capabilities { MOCK_METHOD(PixelFormat, GetDefaultGlyphAtlasFormat, (), (const, override)); MOCK_METHOD(ISize, GetMaximumRenderPassAttachmentSize, (), (const override)); MOCK_METHOD(size_t, GetMinimumUniformAlignment, (), (const override)); + MOCK_METHOD(bool, NeedsPartitionedHostBuffer, (), (const, override)); }; class MockCommandQueue : public CommandQueue { diff --git a/engine/src/flutter/impeller/renderer/vertex_buffer_builder.h b/engine/src/flutter/impeller/renderer/vertex_buffer_builder.h index 974268caab983..ef71cbd9275c9 100644 --- a/engine/src/flutter/impeller/renderer/vertex_buffer_builder.h +++ b/engine/src/flutter/impeller/renderer/vertex_buffer_builder.h @@ -5,12 +5,12 @@ #ifndef FLUTTER_IMPELLER_RENDERER_VERTEX_BUFFER_BUILDER_H_ #define FLUTTER_IMPELLER_RENDERER_VERTEX_BUFFER_BUILDER_H_ +#include #include #include #include #include -#include "impeller/base/strings.h" #include "impeller/core/allocator.h" #include "impeller/core/device_buffer.h" #include "impeller/core/formats.h" @@ -22,12 +22,12 @@ namespace impeller { /// @brief Create an index-less vertex buffer from a fixed size array. template VertexBuffer CreateVertexBuffer(std::array input, - HostBuffer& host_buffer) { + HostBuffer& data_host_buffer) { return VertexBuffer{ - .vertex_buffer = host_buffer.Emplace( - input.data(), sizeof(VertexType) * size, alignof(VertexType)), // - .vertex_count = size, // - .index_type = IndexType::kNone, // + .vertex_buffer = data_host_buffer.Emplace( + input.data(), sizeof(VertexType) * size, alignof(VertexType)), + .vertex_count = size, + .index_type = IndexType::kNone, }; } @@ -92,10 +92,11 @@ class VertexBufferBuilder { return *this; } - VertexBuffer CreateVertexBuffer(HostBuffer& host_buffer) const { + VertexBuffer CreateVertexBuffer(HostBuffer& data_host_buffer, + HostBuffer& indexes_host_buffer) const { VertexBuffer buffer; - buffer.vertex_buffer = CreateVertexBufferView(host_buffer); - buffer.index_buffer = CreateIndexBufferView(host_buffer); + buffer.vertex_buffer = CreateVertexBufferView(data_host_buffer); + buffer.index_buffer = CreateIndexBufferView(indexes_host_buffer); buffer.vertex_count = GetIndexCount(); buffer.index_type = GetIndexType(); return buffer; @@ -122,10 +123,10 @@ class VertexBufferBuilder { std::vector indices_; std::string label_; - BufferView CreateVertexBufferView(HostBuffer& buffer) const { - return buffer.Emplace(vertices_.data(), - vertices_.size() * sizeof(VertexType), - alignof(VertexType)); + BufferView CreateVertexBufferView(HostBuffer& data_host_buffer) const { + return data_host_buffer.Emplace(vertices_.data(), + vertices_.size() * sizeof(VertexType), + alignof(VertexType)); } BufferView CreateVertexBufferView(Allocator& allocator) const { @@ -136,21 +137,21 @@ class VertexBufferBuilder { return {}; } if (!label_.empty()) { - buffer->SetLabel(SPrintF("%s Vertices", label_.c_str())); + buffer->SetLabel(std::format("{} Vertices", label_)); } return DeviceBuffer::AsBufferView(std::move(buffer)); } std::vector CreateIndexBuffer() const { return indices_; } - BufferView CreateIndexBufferView(HostBuffer& buffer) const { + BufferView CreateIndexBufferView(HostBuffer& indexes_host_buffer) const { const auto index_buffer = CreateIndexBuffer(); if (index_buffer.size() == 0) { return {}; } - return buffer.Emplace(index_buffer.data(), - index_buffer.size() * sizeof(IndexType), - alignof(IndexType)); + return indexes_host_buffer.Emplace(index_buffer.data(), + index_buffer.size() * sizeof(IndexType), + alignof(IndexType)); } BufferView CreateIndexBufferView(Allocator& allocator) const { @@ -165,7 +166,7 @@ class VertexBufferBuilder { return {}; } if (!label_.empty()) { - buffer->SetLabel(SPrintF("%s Indices", label_.c_str())); + buffer->SetLabel(std::format("{} Indices", label_)); } return DeviceBuffer::AsBufferView(std::move(buffer)); } diff --git a/engine/src/flutter/impeller/tessellator/tessellator.cc b/engine/src/flutter/impeller/tessellator/tessellator.cc index 1ed8c25501af9..084e98ac1965f 100644 --- a/engine/src/flutter/impeller/tessellator/tessellator.cc +++ b/engine/src/flutter/impeller/tessellator/tessellator.cc @@ -312,7 +312,8 @@ Tessellator::Trigs Tessellator::GetTrigsForDeviceRadius(Scalar pixel_radius) { } VertexBuffer Tessellator::TessellateConvex(const PathSource& path, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, + HostBuffer& indexes_host_buffer, Scalar tolerance, bool supports_primitive_restart, bool supports_triangle_fan) { @@ -320,9 +321,9 @@ VertexBuffer Tessellator::TessellateConvex(const PathSource& path, // Primitive Restart. const auto [point_count, contour_count] = PathTessellator::CountFillStorage(path, tolerance); - BufferView point_buffer = host_buffer.Emplace( + BufferView point_buffer = data_host_buffer.Emplace( nullptr, sizeof(Point) * point_count, alignof(Point)); - BufferView index_buffer = host_buffer.Emplace( + BufferView index_buffer = indexes_host_buffer.Emplace( nullptr, sizeof(uint16_t) * (point_count + contour_count), alignof(uint16_t)); @@ -380,11 +381,11 @@ VertexBuffer Tessellator::TessellateConvex(const PathSource& path, }; } - BufferView vertex_buffer = host_buffer.Emplace( + BufferView vertex_buffer = data_host_buffer.Emplace( point_buffer_->data(), sizeof(Point) * point_buffer_->size(), alignof(Point)); - BufferView index_buffer = host_buffer.Emplace( + BufferView index_buffer = indexes_host_buffer.Emplace( index_buffer_->data(), sizeof(uint16_t) * index_buffer_->size(), alignof(uint16_t)); diff --git a/engine/src/flutter/impeller/tessellator/tessellator.h b/engine/src/flutter/impeller/tessellator/tessellator.h index 02a5f8b80e504..53e08d29ff090 100644 --- a/engine/src/flutter/impeller/tessellator/tessellator.h +++ b/engine/src/flutter/impeller/tessellator/tessellator.h @@ -240,7 +240,8 @@ class Tessellator { /// /// @return A vertex buffer containing all data from the provided curve. VertexBuffer TessellateConvex(const PathSource& path, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, + HostBuffer& indexes_host_buffer, Scalar tolerance, bool supports_primitive_restart = false, bool supports_triangle_fan = false); diff --git a/engine/src/flutter/impeller/toolkit/android/hardware_buffer.h b/engine/src/flutter/impeller/toolkit/android/hardware_buffer.h index bce356da7604b..136ee65ea2d3b 100644 --- a/engine/src/flutter/impeller/toolkit/android/hardware_buffer.h +++ b/engine/src/flutter/impeller/toolkit/android/hardware_buffer.h @@ -73,13 +73,7 @@ struct HardwareBufferDescriptor { /// bool IsAllocatable() const; - constexpr bool operator==(const HardwareBufferDescriptor& o) const { - return format == o.format && size == o.size && usage == o.usage; - } - - constexpr bool operator!=(const HardwareBufferDescriptor& o) const { - return !(*this == o); - } + constexpr bool operator==(const HardwareBufferDescriptor& o) const = default; }; //------------------------------------------------------------------------------ diff --git a/engine/src/flutter/impeller/toolkit/android/surface_transaction.h b/engine/src/flutter/impeller/toolkit/android/surface_transaction.h index 85fcdcfacdabc..e2b037a64207d 100644 --- a/engine/src/flutter/impeller/toolkit/android/surface_transaction.h +++ b/engine/src/flutter/impeller/toolkit/android/surface_transaction.h @@ -31,10 +31,6 @@ struct WrappedSurfaceTransaction { constexpr bool operator==(const WrappedSurfaceTransaction& other) const { return other.tx == tx; } - - constexpr bool operator!=(const WrappedSurfaceTransaction& other) const { - return !(*this == other); - } }; //------------------------------------------------------------------------------ diff --git a/engine/src/flutter/impeller/toolkit/egl/image.h b/engine/src/flutter/impeller/toolkit/egl/image.h index 51e3330065c40..a32493ab7c3a8 100644 --- a/engine/src/flutter/impeller/toolkit/egl/image.h +++ b/engine/src/flutter/impeller/toolkit/egl/image.h @@ -15,13 +15,7 @@ struct EGLImageWithDisplay { EGLImage image = EGL_NO_IMAGE; EGLDisplay display = EGL_NO_DISPLAY; - constexpr bool operator==(const EGLImageWithDisplay& other) const { - return image == other.image && display == other.display; - } - - constexpr bool operator!=(const EGLImageWithDisplay& other) const { - return !(*this == other); - } + constexpr bool operator==(const EGLImageWithDisplay& other) const = default; }; struct EGLImageWithDisplayTraits { @@ -46,13 +40,8 @@ struct EGLImageKHRWithDisplay { EGLImageKHR image = EGL_NO_IMAGE_KHR; EGLDisplay display = EGL_NO_DISPLAY; - constexpr bool operator==(const EGLImageKHRWithDisplay& other) const { - return image == other.image && display == other.display; - } - - constexpr bool operator!=(const EGLImageKHRWithDisplay& other) const { - return !(*this == other); - } + constexpr bool operator==(const EGLImageKHRWithDisplay& other) const = + default; }; struct EGLImageKHRWithDisplayTraits { diff --git a/engine/src/flutter/impeller/toolkit/gles/texture.h b/engine/src/flutter/impeller/toolkit/gles/texture.h index cebef02e61a25..e960730041650 100644 --- a/engine/src/flutter/impeller/toolkit/gles/texture.h +++ b/engine/src/flutter/impeller/toolkit/gles/texture.h @@ -14,13 +14,7 @@ namespace impeller { struct GLTexture { GLuint texture_name; - constexpr bool operator==(const GLTexture& other) const { - return texture_name == other.texture_name; - } - - constexpr bool operator!=(const GLTexture& other) const { - return !(*this == other); - } + constexpr bool operator==(const GLTexture& other) const = default; }; struct GLTextureTraits { diff --git a/engine/src/flutter/impeller/toolkit/glvk/proc_table.cc b/engine/src/flutter/impeller/toolkit/glvk/proc_table.cc index d7d6c8252083a..74305bf7243d4 100644 --- a/engine/src/flutter/impeller/toolkit/glvk/proc_table.cc +++ b/engine/src/flutter/impeller/toolkit/glvk/proc_table.cc @@ -20,7 +20,7 @@ ProcTable::ProcTable(const Resolver& resolver) { } #define GLVK_PROC(proc_ivar) \ - if (auto fn_ptr = resolver(proc_ivar.name)) { \ + if (auto fn_ptr = resolver(proc_ivar.name.data())) { \ proc_ivar.function = \ reinterpret_cast(fn_ptr); \ proc_ivar.error_fn = error_fn; \ diff --git a/engine/src/flutter/impeller/toolkit/glvk/trampoline.cc b/engine/src/flutter/impeller/toolkit/glvk/trampoline.cc index eda8595a0c5e1..257bd1f48e924 100644 --- a/engine/src/flutter/impeller/toolkit/glvk/trampoline.cc +++ b/engine/src/flutter/impeller/toolkit/glvk/trampoline.cc @@ -256,7 +256,7 @@ bool Trampoline::BlitTextureOpenGLToVulkan( // // See the following help link for an overview of the different coordinate // systems: - // https://github.com/flutter/engine/blob/5810b3fc791f4bb82b9a454014310990eddc1181/impeller/docs/coordinate_system.md + // https://github.com/flutter/flutter/blob/master/docs/engine/impeller/docs/coordinate_system.md static constexpr const VertexData kVertData[] = { {{-1, -1}, {0, 1}}, // bottom left {{-1, +1}, {0, 0}}, // top left diff --git a/engine/src/flutter/impeller/toolkit/interop/color_source.cc b/engine/src/flutter/impeller/toolkit/interop/color_source.cc index f8c9ecf06034d..8f5992b81f060 100644 --- a/engine/src/flutter/impeller/toolkit/interop/color_source.cc +++ b/engine/src/flutter/impeller/toolkit/interop/color_source.cc @@ -4,6 +4,8 @@ #include "impeller/toolkit/interop/color_source.h" +#include "flutter/impeller/display_list/dl_runtime_effect_impeller.h" + namespace impeller::interop { ScopedObject ColorSource::MakeLinearGradient( @@ -123,7 +125,7 @@ ScopedObject ColorSource::MakeFragmentProgram( return nullptr; } auto runtime_effect = - flutter::DlRuntimeEffect::MakeImpeller(std::move(runtime_stage)); + flutter::DlRuntimeEffectImpeller::Make(std::move(runtime_stage)); if (!runtime_effect) { VALIDATION_LOG << "Could not make runtime effect."; return nullptr; diff --git a/engine/src/flutter/impeller/toolkit/interop/image_filter.cc b/engine/src/flutter/impeller/toolkit/interop/image_filter.cc index 63bc5acc8a6aa..9ad75d8aa9903 100644 --- a/engine/src/flutter/impeller/toolkit/interop/image_filter.cc +++ b/engine/src/flutter/impeller/toolkit/interop/image_filter.cc @@ -6,6 +6,7 @@ #include "flutter/display_list/effects/dl_image_filters.h" #include "flutter/display_list/effects/dl_runtime_effect.h" +#include "flutter/impeller/display_list/dl_runtime_effect_impeller.h" #include "impeller/base/validation.h" namespace impeller::interop { @@ -65,7 +66,7 @@ ScopedObject ImageFilter::MakeFragmentProgram( return nullptr; } auto runtime_effect = - flutter::DlRuntimeEffect::MakeImpeller(std::move(runtime_stage)); + flutter::DlRuntimeEffectImpeller::Make(std::move(runtime_stage)); if (!runtime_effect) { VALIDATION_LOG << "Could not make runtime effect."; return nullptr; diff --git a/engine/src/flutter/impeller/toolkit/interop/typography_context.h b/engine/src/flutter/impeller/toolkit/interop/typography_context.h index d4f505df75242..20470421ff874 100644 --- a/engine/src/flutter/impeller/toolkit/interop/typography_context.h +++ b/engine/src/flutter/impeller/toolkit/interop/typography_context.h @@ -7,6 +7,7 @@ #include +#include "flutter/fml/mapping.h" #include "flutter/third_party/skia/modules/skparagraph/include/TypefaceFontProvider.h" #include "flutter/txt/src/txt/font_collection.h" #include "impeller/toolkit/interop/impeller.h" diff --git a/engine/src/flutter/impeller/typographer/backends/skia/typographer_context_skia.cc b/engine/src/flutter/impeller/typographer/backends/skia/typographer_context_skia.cc index 66ef122f269c4..80b8bfd0a8e6b 100644 --- a/engine/src/flutter/impeller/typographer/backends/skia/typographer_context_skia.cc +++ b/engine/src/flutter/impeller/typographer/backends/skia/typographer_context_skia.cc @@ -264,7 +264,7 @@ static void DrawGlyph(SkCanvas* canvas, /// This is only safe for use when updating a fresh texture. static bool BulkUpdateAtlasBitmap(const GlyphAtlas& atlas, std::shared_ptr& blit_pass, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, const std::shared_ptr& texture, const std::vector& new_pairs, size_t start_index, @@ -308,12 +308,12 @@ static bool BulkUpdateAtlasBitmap(const GlyphAtlas& atlas, // Writing to a malloc'd buffer and then copying to the staging buffers // benchmarks as substantially faster on a number of Android devices. - BufferView buffer_view = host_buffer.Emplace( + BufferView buffer_view = data_host_buffer.Emplace( bitmap.getAddr(0, 0), texture->GetSize().Area() * BytesPerPixelForPixelFormat( atlas.GetTexture()->GetTextureDescriptor().format), - host_buffer.GetMinimumUniformAlignment()); + data_host_buffer.GetMinimumUniformAlignment()); return blit_pass->AddCopy(std::move(buffer_view), // texture, // @@ -323,7 +323,7 @@ static bool BulkUpdateAtlasBitmap(const GlyphAtlas& atlas, static bool UpdateAtlasBitmap(const GlyphAtlas& atlas, std::shared_ptr& blit_pass, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, const std::shared_ptr& texture, const std::vector& new_pairs, size_t start_index, @@ -370,11 +370,11 @@ static bool UpdateAtlasBitmap(const GlyphAtlas& atlas, // Writing to a malloc'd buffer and then copying to the staging buffers // benchmarks as substantially faster on a number of Android devices. - BufferView buffer_view = host_buffer.Emplace( + BufferView buffer_view = data_host_buffer.Emplace( bitmap.getAddr(0, 0), size.Area() * BytesPerPixelForPixelFormat( atlas.GetTexture()->GetTextureDescriptor().format), - host_buffer.GetMinimumUniformAlignment()); + data_host_buffer.GetMinimumUniformAlignment()); // convert_to_read is set to false so that the texture remains in a transfer // dst layout until we finish writing to it below. This only has an impact @@ -502,7 +502,7 @@ TypographerContextSkia::CollectNewGlyphs( std::shared_ptr TypographerContextSkia::CreateGlyphAtlas( Context& context, GlyphAtlas::Type type, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, const std::shared_ptr& atlas_context, const std::vector>& text_frames) const { TRACE_EVENT0("impeller", __FUNCTION__); @@ -564,7 +564,7 @@ std::shared_ptr TypographerContextSkia::CreateGlyphAtlas( // Step 4a: Draw new font-glyph pairs into the a host buffer and encode // the uploads into the blit pass. // --------------------------------------------------------------------------- - if (!UpdateAtlasBitmap(*last_atlas, blit_pass, host_buffer, + if (!UpdateAtlasBitmap(*last_atlas, blit_pass, data_host_buffer, last_atlas->GetTexture(), new_glyphs, 0, first_missing_index)) { return nullptr; @@ -670,7 +670,7 @@ std::shared_ptr TypographerContextSkia::CreateGlyphAtlas( // Step 4a: Draw new font-glyph pairs into the a host buffer and encode // the uploads into the blit pass. // --------------------------------------------------------------------------- - if (!BulkUpdateAtlasBitmap(*new_atlas, blit_pass, host_buffer, + if (!BulkUpdateAtlasBitmap(*new_atlas, blit_pass, data_host_buffer, new_atlas->GetTexture(), new_glyphs, first_missing_index, new_glyphs.size())) { return nullptr; diff --git a/engine/src/flutter/impeller/typographer/lazy_glyph_atlas.cc b/engine/src/flutter/impeller/typographer/lazy_glyph_atlas.cc index 6575db7a75bba..2ec93a4e2ef23 100644 --- a/engine/src/flutter/impeller/typographer/lazy_glyph_atlas.cc +++ b/engine/src/flutter/impeller/typographer/lazy_glyph_atlas.cc @@ -54,7 +54,7 @@ void LazyGlyphAtlas::ResetTextFrames() { const std::shared_ptr& LazyGlyphAtlas::CreateOrGetGlyphAtlas( Context& context, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, GlyphAtlas::Type type) const { { if (type == GlyphAtlas::Type::kAlphaBitmap && alpha_atlas_) { @@ -81,7 +81,7 @@ const std::shared_ptr& LazyGlyphAtlas::CreateOrGetGlyphAtlas( const std::shared_ptr& atlas_context = type == GlyphAtlas::Type::kAlphaBitmap ? alpha_context_ : color_context_; std::shared_ptr atlas = typographer_context_->CreateGlyphAtlas( - context, type, host_buffer, atlas_context, glyph_map); + context, type, data_host_buffer, atlas_context, glyph_map); if (!atlas || !atlas->IsValid()) { VALIDATION_LOG << "Could not create valid atlas."; return kNullGlyphAtlas; diff --git a/engine/src/flutter/impeller/typographer/typographer_unittests.cc b/engine/src/flutter/impeller/typographer/typographer_unittests.cc index c8e630ea1bb9e..673f01c6f5b97 100644 --- a/engine/src/flutter/impeller/typographer/typographer_unittests.cc +++ b/engine/src/flutter/impeller/typographer/typographer_unittests.cc @@ -32,20 +32,20 @@ INSTANTIATE_PLAYGROUND_SUITE(TypographerTest); static std::shared_ptr CreateGlyphAtlas( Context& context, const TypographerContext* typographer_context, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, GlyphAtlas::Type type, Rational scale, const std::shared_ptr& atlas_context, const std::shared_ptr& frame) { frame->SetPerFrameData(scale, {0, 0}, Matrix(), std::nullopt); - return typographer_context->CreateGlyphAtlas(context, type, host_buffer, + return typographer_context->CreateGlyphAtlas(context, type, data_host_buffer, atlas_context, {frame}); } static std::shared_ptr CreateGlyphAtlas( Context& context, const TypographerContext* typographer_context, - HostBuffer& host_buffer, + HostBuffer& data_host_buffer, GlyphAtlas::Type type, Rational scale, const std::shared_ptr& atlas_context, @@ -55,7 +55,7 @@ static std::shared_ptr CreateGlyphAtlas( for (auto& frame : frames) { frame->SetPerFrameData(scale, {0, 0}, Matrix(), properties[offset++]); } - return typographer_context->CreateGlyphAtlas(context, type, host_buffer, + return typographer_context->CreateGlyphAtlas(context, type, data_host_buffer, atlas_context, frames); } @@ -81,7 +81,7 @@ TEST_P(TypographerTest, CanCreateGlyphAtlas) { auto context = TypographerContextSkia::Make(); auto atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); @@ -89,7 +89,7 @@ TEST_P(TypographerTest, CanCreateGlyphAtlas) { auto blob = SkTextBlob::MakeFromString("hello", sk_font); ASSERT_TRUE(blob); auto atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, Rational(1), atlas_context, MakeTextFrameFromTextBlobSkia(blob)); @@ -118,7 +118,7 @@ TEST_P(TypographerTest, CanCreateGlyphAtlas) { } TEST_P(TypographerTest, LazyAtlasTracksColor) { - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); #if FML_OS_MACOSX @@ -150,10 +150,10 @@ TEST_P(TypographerTest, LazyAtlasTracksColor) { // Creates different atlases for color and red bitmap. auto color_atlas = lazy_atlas.CreateOrGetGlyphAtlas( - *GetContext(), *host_buffer, GlyphAtlas::Type::kColorBitmap); + *GetContext(), *data_host_buffer, GlyphAtlas::Type::kColorBitmap); auto bitmap_atlas = lazy_atlas.CreateOrGetGlyphAtlas( - *GetContext(), *host_buffer, GlyphAtlas::Type::kAlphaBitmap); + *GetContext(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap); ASSERT_FALSE(color_atlas == bitmap_atlas); } @@ -162,7 +162,7 @@ TEST_P(TypographerTest, GlyphAtlasWithOddUniqueGlyphSize) { auto context = TypographerContextSkia::Make(); auto atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); @@ -170,7 +170,7 @@ TEST_P(TypographerTest, GlyphAtlasWithOddUniqueGlyphSize) { auto blob = SkTextBlob::MakeFromString("AGH", sk_font); ASSERT_TRUE(blob); auto atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, Rational(1), atlas_context, MakeTextFrameFromTextBlobSkia(blob)); ASSERT_NE(atlas, nullptr); @@ -184,7 +184,7 @@ TEST_P(TypographerTest, GlyphAtlasIsRecycledIfUnchanged) { auto context = TypographerContextSkia::Make(); auto atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); ASSERT_TRUE(context && context->IsValid()); @@ -192,7 +192,7 @@ TEST_P(TypographerTest, GlyphAtlasIsRecycledIfUnchanged) { auto blob = SkTextBlob::MakeFromString("spooky skellingtons", sk_font); ASSERT_TRUE(blob); auto atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, Rational(1), atlas_context, MakeTextFrameFromTextBlobSkia(blob)); ASSERT_NE(atlas, nullptr); @@ -202,7 +202,7 @@ TEST_P(TypographerTest, GlyphAtlasIsRecycledIfUnchanged) { // now attempt to re-create an atlas with the same text blob. auto next_atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, Rational(1), atlas_context, MakeTextFrameFromTextBlobSkia(blob)); ASSERT_EQ(atlas, next_atlas); @@ -210,7 +210,7 @@ TEST_P(TypographerTest, GlyphAtlasIsRecycledIfUnchanged) { } TEST_P(TypographerTest, GlyphAtlasWithLotsOfdUniqueGlyphSize) { - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); auto context = TypographerContextSkia::Make(); @@ -237,7 +237,7 @@ TEST_P(TypographerTest, GlyphAtlasWithLotsOfdUniqueGlyphSize) { }; auto atlas = context->CreateGlyphAtlas(*GetContext(), GlyphAtlas::Type::kAlphaBitmap, - *host_buffer, atlas_context, frames); + *data_host_buffer, atlas_context, frames); ASSERT_NE(atlas, nullptr); ASSERT_NE(atlas->GetTexture(), nullptr); @@ -260,7 +260,7 @@ TEST_P(TypographerTest, GlyphAtlasWithLotsOfdUniqueGlyphSize) { } TEST_P(TypographerTest, GlyphAtlasTextureIsRecycledIfUnchanged) { - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); auto context = TypographerContextSkia::Make(); @@ -271,7 +271,7 @@ TEST_P(TypographerTest, GlyphAtlasTextureIsRecycledIfUnchanged) { auto blob = SkTextBlob::MakeFromString("spooky 1", sk_font); ASSERT_TRUE(blob); auto atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, Rational(1), atlas_context, MakeTextFrameFromTextBlobSkia(blob)); auto old_packer = atlas_context->GetRectPacker(); @@ -286,7 +286,7 @@ TEST_P(TypographerTest, GlyphAtlasTextureIsRecycledIfUnchanged) { auto blob2 = SkTextBlob::MakeFromString("spooky 2", sk_font); auto next_atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, Rational(1), atlas_context, MakeTextFrameFromTextBlobSkia(blob2)); ASSERT_EQ(atlas, next_atlas); @@ -299,7 +299,7 @@ TEST_P(TypographerTest, GlyphAtlasTextureIsRecycledIfUnchanged) { } TEST_P(TypographerTest, GlyphColorIsPartOfCacheKey) { - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); #if FML_OS_MACOSX @@ -327,7 +327,7 @@ TEST_P(TypographerTest, GlyphColorIsPartOfCacheKey) { }; auto next_atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kColorBitmap, Rational(1), atlas_context, {frame, frame_2}, properties); @@ -335,7 +335,7 @@ TEST_P(TypographerTest, GlyphColorIsPartOfCacheKey) { } TEST_P(TypographerTest, GlyphColorIsIgnoredForNonEmojiFonts) { - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); sk_sp font_mgr = txt::GetDefaultFontManager(); @@ -359,7 +359,7 @@ TEST_P(TypographerTest, GlyphColorIsIgnoredForNonEmojiFonts) { }; auto next_atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kColorBitmap, Rational(1), atlas_context, {frame, frame_2}, properties); @@ -436,7 +436,7 @@ TEST_P(TypographerTest, GlyphAtlasTextureWillGrowTilMaxTextureSize) { GTEST_SKIP() << "Atlas growth isn't supported for OpenGLES currently."; } - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); auto context = TypographerContextSkia::Make(); @@ -447,7 +447,7 @@ TEST_P(TypographerTest, GlyphAtlasTextureWillGrowTilMaxTextureSize) { auto blob = SkTextBlob::MakeFromString("A", sk_font); ASSERT_TRUE(blob); auto atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, Rational(1), atlas_context, MakeTextFrameFromTextBlobSkia(blob)); // Continually append new glyphs until the glyph size grows to the maximum. @@ -488,7 +488,7 @@ TEST_P(TypographerTest, GlyphAtlasTextureWillGrowTilMaxTextureSize) { auto blob = builder.make(); atlas = - CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, Rational(50 + i, 1), atlas_context, MakeTextFrameFromTextBlobSkia(blob)); ASSERT_TRUE(!!atlas); @@ -514,11 +514,11 @@ TEST_P(TypographerTest, TextFrameInitialBoundsArePlaceholder) { auto context = TypographerContextSkia::Make(); auto atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); - auto atlas = CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + auto atlas = CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, frame); @@ -527,7 +527,7 @@ TEST_P(TypographerTest, TextFrameInitialBoundsArePlaceholder) { EXPECT_TRUE(frame->IsFrameComplete()); EXPECT_TRUE(frame->GetFrameBounds(0).is_placeholder); - atlas = CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + atlas = CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, frame); @@ -548,11 +548,11 @@ TEST_P(TypographerTest, TextFrameInvalidationWithScale) { auto context = TypographerContextSkia::Make(); auto atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); - auto atlas = CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + auto atlas = CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, frame); @@ -563,7 +563,7 @@ TEST_P(TypographerTest, TextFrameInvalidationWithScale) { // Change the scale and the glyph data will still be a placeholder, as the // old data is no longer valid. - atlas = CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + atlas = CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(2), atlas_context, frame); @@ -584,11 +584,11 @@ TEST_P(TypographerTest, TextFrameAtlasGenerationTracksState) { auto context = TypographerContextSkia::Make(); auto atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); - auto atlas = CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + auto atlas = CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, frame); @@ -603,7 +603,7 @@ TEST_P(TypographerTest, TextFrameAtlasGenerationTracksState) { EXPECT_EQ(frame->GetAtlasGenerationAndID().first, 0u); } - atlas = CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + atlas = CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, frame); @@ -618,7 +618,7 @@ TEST_P(TypographerTest, TextFrameAtlasGenerationTracksState) { // Force increase the generation. atlas_context->GetGlyphAtlas()->SetAtlasGeneration(2u); - atlas = CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + atlas = CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, frame); @@ -637,11 +637,11 @@ TEST_P(TypographerTest, InvalidAtlasForcesRepopulation) { auto context = TypographerContextSkia::Make(); auto atlas_context = context->CreateGlyphAtlasContext(GlyphAtlas::Type::kAlphaBitmap); - auto host_buffer = HostBuffer::Create( + auto data_host_buffer = HostBuffer::Create( GetContext()->GetResourceAllocator(), GetContext()->GetIdleWaiter(), GetContext()->GetCapabilities()->GetMinimumUniformAlignment()); - auto atlas = CreateGlyphAtlas(*GetContext(), context.get(), *host_buffer, + auto atlas = CreateGlyphAtlas(*GetContext(), context.get(), *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), atlas_context, frame); @@ -662,8 +662,8 @@ TEST_P(TypographerTest, InvalidAtlasForcesRepopulation) { EXPECT_FALSE(second_atlas_context->GetGlyphAtlas()->IsValid()); - atlas = CreateGlyphAtlas(*GetContext(), second_context.get(), *host_buffer, - GlyphAtlas::Type::kAlphaBitmap, + atlas = CreateGlyphAtlas(*GetContext(), second_context.get(), + *data_host_buffer, GlyphAtlas::Type::kAlphaBitmap, /*scale=*/Rational(1), second_atlas_context, frame); EXPECT_TRUE(second_atlas_context->GetGlyphAtlas()->IsValid()); diff --git a/engine/src/flutter/lib/gpu/BUILD.gn b/engine/src/flutter/lib/gpu/BUILD.gn index 86105cbb756d6..d094d8ef28772 100644 --- a/engine/src/flutter/lib/gpu/BUILD.gn +++ b/engine/src/flutter/lib/gpu/BUILD.gn @@ -63,6 +63,10 @@ source_set("gpu") { "//flutter/third_party/tonic", ] + if (impeller_supports_rendering) { + deps += [ "//flutter/impeller/display_list" ] + } + if (is_win) { # Required for M_PI and others. defines += [ "_USE_MATH_DEFINES" ] diff --git a/engine/src/flutter/lib/gpu/command_buffer.cc b/engine/src/flutter/lib/gpu/command_buffer.cc index 2fc212f33ba25..0569b27a0cd10 100644 --- a/engine/src/flutter/lib/gpu/command_buffer.cc +++ b/engine/src/flutter/lib/gpu/command_buffer.cc @@ -53,9 +53,9 @@ bool CommandBuffer::Submit( encodable->EncodeCommands(); } - context->GetCommandQueue() - ->Submit({command_buffer}, completion_callback) - .ok(); + context->GetCommandQueue()->Submit({command_buffer}, + completion_callback); + context->DisposeThreadLocalCachedResources(); })); return true; } @@ -64,9 +64,10 @@ bool CommandBuffer::Submit( encodable->EncodeCommands(); } - return context_->GetCommandQueue() - ->Submit({command_buffer_}, completion_callback) - .ok(); + auto status = context_->GetCommandQueue()->Submit({command_buffer_}, + completion_callback); + context_->DisposeThreadLocalCachedResources(); + return status.ok(); } } // namespace gpu diff --git a/engine/src/flutter/lib/gpu/lib/gpu.dart b/engine/src/flutter/lib/gpu/lib/gpu.dart index 22533ee9c1a7d..1c57d9f466fb5 100644 --- a/engine/src/flutter/lib/gpu/lib/gpu.dart +++ b/engine/src/flutter/lib/gpu/lib/gpu.dart @@ -17,7 +17,7 @@ /// /// See also: /// -/// * [Flutter GPU documentation](https://github.com/flutter/flutter/blob/main/engine/src/flutter/docs/impeller/Flutter-GPU.md). +/// * [Flutter GPU documentation](https://github.com/flutter/flutter/blob/main/docs/engine/impeller/Flutter-GPU.md). library flutter_gpu; import 'dart:ffi'; diff --git a/engine/src/flutter/lib/gpu/texture.cc b/engine/src/flutter/lib/gpu/texture.cc index 421aa55f20510..3fe618cb8c0f1 100644 --- a/engine/src/flutter/lib/gpu/texture.cc +++ b/engine/src/flutter/lib/gpu/texture.cc @@ -11,7 +11,9 @@ #include "impeller/core/allocator.h" #include "impeller/core/formats.h" #include "impeller/core/texture.h" -#include "impeller/display_list/dl_image_impeller.h" +#if IMPELLER_SUPPORTS_RENDERING +#include "impeller/display_list/dl_image_impeller.h" // nogncheck +#endif #include "third_party/tonic/typed_data/dart_byte_data.h" namespace flutter { diff --git a/engine/src/flutter/lib/snapshot/BUILD.gn b/engine/src/flutter/lib/snapshot/BUILD.gn index 5a6d65480195e..e4b52cac21985 100644 --- a/engine/src/flutter/lib/snapshot/BUILD.gn +++ b/engine/src/flutter/lib/snapshot/BUILD.gn @@ -41,13 +41,14 @@ group("generate_snapshot_bins") { # For iOS, Android target builds: all AOT target CPUs are arm/arm64. public_deps += [ ":create_arm_gen_snapshot" ] } else if (target_cpu == "arm" || target_cpu == "arm64" || - target_cpu == "x64") { + target_cpu == "x64" || target_cpu == "riscv64") { # For other host OSes, build gen_snapshot directly. public_deps = [ "$dart_src/runtime/bin:gen_snapshot($host_toolchain)" ] } # Build analyze_snapshot for 64-bit target CPUs. - if (host_os == "linux" && (target_cpu == "x64" || target_cpu == "arm64")) { + if (host_os == "linux" && (target_cpu == "x64" || target_cpu == "arm64" || + target_cpu == "riscv64")) { public_deps += [ "$dart_src/runtime/bin:analyze_snapshot($host_toolchain)" ] } } diff --git a/engine/src/flutter/lib/ui/BUILD.gn b/engine/src/flutter/lib/ui/BUILD.gn index 69b3925997220..d8bbfca148771 100644 --- a/engine/src/flutter/lib/ui/BUILD.gn +++ b/engine/src/flutter/lib/ui/BUILD.gn @@ -201,6 +201,7 @@ source_set("ui") { deps += [ "//flutter/impeller", + "//flutter/impeller/display_list", "//flutter/impeller/display_list:skia_conversions", ] } diff --git a/engine/src/flutter/lib/ui/dart_ui.cc b/engine/src/flutter/lib/ui/dart_ui.cc index 76ec47adcc26f..44c21df990104 100644 --- a/engine/src/flutter/lib/ui/dart_ui.cc +++ b/engine/src/flutter/lib/ui/dart_ui.cc @@ -103,6 +103,7 @@ typedef CanvasPath Path; V(PlatformConfigurationNativeApi::UpdateSemantics) \ V(PlatformConfigurationNativeApi::SetNeedsReportTimings) \ V(PlatformConfigurationNativeApi::SetIsolateDebugName) \ + V(PlatformConfigurationNativeApi::SetSemanticsTreeEnabled) \ V(PlatformConfigurationNativeApi::RequestDartPerformanceMode) \ V(PlatformConfigurationNativeApi::GetPersistentIsolateData) \ V(PlatformConfigurationNativeApi::ComputePlatformResolvedLocale) \ diff --git a/engine/src/flutter/lib/ui/fixtures/ui_test.dart b/engine/src/flutter/lib/ui/fixtures/ui_test.dart index 075128636d365..7fd112c440004 100644 --- a/engine/src/flutter/lib/ui/fixtures/ui_test.dart +++ b/engine/src/flutter/lib/ui/fixtures/ui_test.dart @@ -293,6 +293,114 @@ void sendSemanticsUpdateWithRole() { _semanticsUpdate(builder.build()); } +@pragma('vm:entry-point') +void sendSemanticsUpdateWithLocale() { + final SemanticsUpdateBuilder builder = SemanticsUpdateBuilder(); + + final Float64List transform = Float64List(16); + final Int32List childrenInTraversalOrder = Int32List(0); + final Int32List childrenInHitTestOrder = Int32List(0); + final Int32List additionalActions = Int32List(0); + // Identity matrix 4x4. + transform[0] = 1; + transform[5] = 1; + transform[10] = 1; + builder.updateNode( + id: 0, + flags: SemanticsFlags.none, + actions: 0, + maxValueLength: 0, + currentValueLength: 0, + textSelectionBase: -1, + textSelectionExtent: -1, + platformViewId: -1, + scrollChildren: 0, + scrollIndex: 0, + scrollPosition: 0, + scrollExtentMax: 0, + scrollExtentMin: 0, + rect: Rect.fromLTRB(0, 0, 10, 10), + identifier: "identifier", + label: "label", + labelAttributes: const [], + value: "value", + valueAttributes: const [], + increasedValue: "increasedValue", + increasedValueAttributes: const [], + decreasedValue: "decreasedValue", + decreasedValueAttributes: const [], + hint: "hint", + hintAttributes: const [], + tooltip: "tooltip", + textDirection: TextDirection.ltr, + transform: transform, + childrenInTraversalOrder: childrenInTraversalOrder, + childrenInHitTestOrder: childrenInHitTestOrder, + additionalActions: additionalActions, + headingLevel: 0, + linkUrl: '', + role: SemanticsRole.none, + controlsNodes: null, + inputType: SemanticsInputType.none, + locale: Locale('es', 'MX'), + ); + _semanticsUpdate(builder.build()); +} + +@pragma('vm:entry-point') +void sendSemanticsUpdateWithIsLink() { + final SemanticsUpdateBuilder builder = SemanticsUpdateBuilder(); + + final Float64List transform = Float64List(16); + final Int32List childrenInTraversalOrder = Int32List(0); + final Int32List childrenInHitTestOrder = Int32List(0); + final Int32List additionalActions = Int32List(0); + // Identity matrix 4x4. + transform[0] = 1; + transform[5] = 1; + transform[10] = 1; + builder.updateNode( + id: 0, + flags: SemanticsFlags.none.copyWith(isLink: true), + actions: 0, + maxValueLength: 0, + currentValueLength: 0, + textSelectionBase: -1, + textSelectionExtent: -1, + platformViewId: -1, + scrollChildren: 0, + scrollIndex: 0, + scrollPosition: 0, + scrollExtentMax: 0, + scrollExtentMin: 0, + rect: Rect.fromLTRB(0, 0, 10, 10), + identifier: "identifier", + label: "label", + labelAttributes: const [], + value: "value", + valueAttributes: const [], + increasedValue: "increasedValue", + increasedValueAttributes: const [], + decreasedValue: "decreasedValue", + decreasedValueAttributes: const [], + hint: "hint", + hintAttributes: const [], + tooltip: "tooltip", + textDirection: TextDirection.ltr, + transform: transform, + childrenInTraversalOrder: childrenInTraversalOrder, + childrenInHitTestOrder: childrenInHitTestOrder, + additionalActions: additionalActions, + headingLevel: 0, + linkUrl: '', + role: SemanticsRole.none, + controlsNodes: null, + inputType: SemanticsInputType.none, + locale: Locale('es', 'MX'), + ); + _semanticsUpdate(builder.build()); +} + @pragma('vm:external-name', 'SemanticsUpdate') external void _semanticsUpdate(SemanticsUpdate update); @@ -676,7 +784,7 @@ void hooksTests() async { window.onMetricsChanged!(); _callHook( '_updateWindowMetrics', - 21, + 25, 0, // window Id 0.1234, // device pixel ratio 0.0, // width @@ -698,6 +806,10 @@ void hooksTests() async { [], // display features types [], // display features states 0, // Display ID + 0.0, // minWidth + 0.0, // maxWidth + 0.0, // minHeight + 0.0, // maxHeight ); expectIdentical(originalZone, callbackZone); @@ -790,7 +902,7 @@ void hooksTests() async { await test('View padding/insets/viewPadding/systemGestureInsets', () { _callHook( '_updateWindowMetrics', - 21, + 25, 0, // window Id 1.0, // devicePixelRatio 800.0, // width @@ -812,6 +924,10 @@ void hooksTests() async { [], // display features types [], // display features states 0, // Display ID + 0.0, // minWidth + 1000.0, // maxWidth + 0.0, // minHeight + 1000.0, // maxHeight ); expectEquals(window.viewInsets.bottom, 0.0); @@ -821,7 +937,7 @@ void hooksTests() async { _callHook( '_updateWindowMetrics', - 21, + 25, 0, // window Id 1.0, // devicePixelRatio 800.0, // width @@ -843,6 +959,10 @@ void hooksTests() async { [], // display features types [], // display features states 0, // Display ID + 0.0, // minWidth + 0.0, // maxWidth + 0.0, // minHeight + 0.0, // maxHeight ); expectEquals(window.viewInsets.bottom, 400.0); @@ -854,7 +974,7 @@ void hooksTests() async { await test('Window physical touch slop', () { _callHook( '_updateWindowMetrics', - 21, + 25, 0, // window Id 1.0, // devicePixelRatio 800.0, // width @@ -876,13 +996,17 @@ void hooksTests() async { [], // display features types [], // display features states 0, // Display ID + 0.0, // minWidth + 0.0, // maxWidth + 0.0, // minHeight + 0.0, // maxHeight ); expectEquals(window.gestureSettings, GestureSettings(physicalTouchSlop: 11.0)); _callHook( '_updateWindowMetrics', - 21, + 25, 0, // window Id 1.0, // devicePixelRatio 800.0, // width @@ -904,13 +1028,17 @@ void hooksTests() async { [], // display features types [], // display features states 0, // Display ID + 0.0, // minWidth + 0.0, // maxWidth + 0.0, // minHeight + 0.0, // maxHeight ); expectEquals(window.gestureSettings, GestureSettings(physicalTouchSlop: null)); _callHook( '_updateWindowMetrics', - 21, + 25, 0, // window Id 1.0, // devicePixelRatio 800.0, // width @@ -932,6 +1060,10 @@ void hooksTests() async { [], // display features types [], // display features states 0, // Display ID + 0.0, // minWidth + 0.0, // maxWidth + 0.0, // minHeight + 0.0, // maxHeight ); expectEquals(window.gestureSettings, GestureSettings(physicalTouchSlop: 22.0)); @@ -1328,4 +1460,8 @@ external void _callHook( Object? arg19, Object? arg20, Object? arg21, + Object? arg22, + Object? arg23, + Object? arg24, + Object? arg25, ]); diff --git a/engine/src/flutter/lib/ui/hooks.dart b/engine/src/flutter/lib/ui/hooks.dart index d9965953940bd..602f520b1e289 100644 --- a/engine/src/flutter/lib/ui/hooks.dart +++ b/engine/src/flutter/lib/ui/hooks.dart @@ -27,6 +27,10 @@ void _addView( List displayFeaturesType, List displayFeaturesState, int displayId, + double minWidth, + double maxWidth, + double minHeight, + double maxHeight, ) { final _ViewConfiguration viewConfiguration = _buildViewConfiguration( devicePixelRatio, @@ -49,6 +53,10 @@ void _addView( displayFeaturesType, displayFeaturesState, displayId, + minWidth, + maxWidth, + minHeight, + maxHeight, ); PlatformDispatcher.instance._addView(viewId, viewConfiguration); } @@ -151,6 +159,10 @@ _ViewConfiguration _buildViewConfiguration( List displayFeaturesType, List displayFeaturesState, int displayId, + double minWidth, + double maxWidth, + double minHeight, + double maxHeight, ) { return _ViewConfiguration( devicePixelRatio: devicePixelRatio, @@ -189,6 +201,12 @@ _ViewConfiguration _buildViewConfiguration( devicePixelRatio: devicePixelRatio, ), displayId: displayId, + viewConstraints: ViewConstraints( + minWidth: minWidth, + maxWidth: maxWidth, + minHeight: minHeight, + maxHeight: maxHeight, + ), ); } @@ -215,6 +233,10 @@ void _updateWindowMetrics( List displayFeaturesType, List displayFeaturesState, int displayId, + double minWidth, + double maxWidth, + double minHeight, + double maxHeight, ) { final _ViewConfiguration viewConfiguration = _buildViewConfiguration( devicePixelRatio, @@ -237,6 +259,10 @@ void _updateWindowMetrics( displayFeaturesType, displayFeaturesState, displayId, + minWidth, + maxWidth, + minHeight, + maxHeight, ); PlatformDispatcher.instance._updateWindowMetrics(viewId, viewConfiguration); } diff --git a/engine/src/flutter/lib/ui/painting.dart b/engine/src/flutter/lib/ui/painting.dart index 8df3cf912d722..fd49ce1625ac3 100644 --- a/engine/src/flutter/lib/ui/painting.dart +++ b/engine/src/flutter/lib/ui/painting.dart @@ -4646,23 +4646,32 @@ base class Shader extends NativeFieldWrapperClass1 { } } -/// Defines what happens at the edge of a gradient or the sampling of a source image -/// in an [ImageFilter]. +/// Defines how to handle areas outside the defined bounds of a gradient or image filter. /// -/// A gradient is defined along a finite inner area. In the case of a linear -/// gradient, it's between the parallel lines that are orthogonal to the line -/// drawn between two points. In the case of radial gradients, it's the disc -/// that covers the circle centered on a particular point up to a given radius. +/// ## For Gradients /// -/// An image filter reads source samples from a source image and performs operations -/// on those samples to produce a result image. An image defines color samples only -/// for pixels within the bounds of the image but some filter operations, such as a blur -/// filter, read samples over a wide area to compute the output for a given pixel. Such -/// a filter would need to combine samples from inside the image with hypothetical -/// color values from outside the image. +/// Gradients are defined with some specific bounds creating an inner area and an outer area, and `TileMode` controls how colors +/// are determined for areas outside these bounds: /// -/// This enum is used to define how the gradient or image filter should treat the regions -/// outside that defined inner area. +/// - **Linear gradients**: The inner area is the area between two points +/// (typically referred to as `start` and `end` in the gradient API), or more precisely, +/// it's the area between the parallel lines that are orthogonal to the line drawn between the two points. +/// Colors outside this area are determined by the `TileMode`. +/// +/// - **Radial gradients**: The inner area is the disc defined by a center and radius. +/// Colors outside this disc are determined by the `TileMode`. +/// +/// - **Sweep gradients**: The inner area is the angular sector between `startAngle` +/// and `endAngle`. Colors outside this sector are determined by the `TileMode`. +/// +/// ## For Image Filters +/// +/// When applying filters (like blur) that sample colors from outside an image's bounds, +/// `TileMode` defines how those out-of-bounds samples are determined: +/// +/// - It controls what color values are used when the filter needs to sample +/// from areas outside the original image. +/// - This is particularly important for effects like blurring near image edges. /// /// See also: /// @@ -4680,8 +4689,12 @@ base class Shader extends NativeFieldWrapperClass1 { enum TileMode { /// Samples beyond the edge are clamped to the nearest color in the defined inner area. /// - /// A gradient will paint all the regions outside the inner area with the - /// color at the end of the color stop list closest to that region. + /// For gradients, this means the region outside the inner area is painted with + /// the color at the end of the color stop list closest to that region. + /// + /// For sweep gradients specifically, the entire area outside the angular sector + /// defined by [startAngle] and [endAngle] will be painted with the color at the + /// end of the color stop list closest to that region. /// /// An image filter will substitute the nearest edge pixel for any samples taken from /// outside its source image. @@ -4697,6 +4710,9 @@ enum TileMode { /// repeated from 1.0 to 2.0, 2.0 to 3.0, and so forth (and for linear gradients, similarly /// from -1.0 to 0.0, -2.0 to -1.0, etc). /// + /// For sweep gradients, the gradient pattern is repeated in the same direction + /// (clockwise) for angles beyond [endAngle] and before [startAngle]. + /// /// An image filter will treat its source image as if it were tiled across the enlarged /// sample space from which it reads, each tile in the same orientation as the base image. /// @@ -4712,6 +4728,9 @@ enum TileMode { /// again from 4.0 to 3.0, and so forth (and for linear gradients, similarly in the /// negative direction). /// + /// For sweep gradients, the gradient pattern is mirrored back and forth as the angle + /// increases beyond [endAngle] or decreases below [startAngle]. + /// /// An image filter will treat its source image as tiled in an alternating forwards and /// backwards or upwards and downwards direction across the sample space from which /// it is reading. @@ -4724,8 +4743,11 @@ enum TileMode { /// Samples beyond the edge are treated as transparent black. /// /// A gradient will render transparency over any region that is outside the circle of a - /// radial gradient or outside the parallel lines that define the inner area of a linear - /// gradient. + /// radial gradient, outside the parallel lines that define the inner area of a linear + /// gradient, or outside the angular sector of a sweep gradient. + /// + /// For sweep gradients, only the sector between [startAngle] and [endAngle] will be + /// painted; all other areas will be transparent. /// /// An image filter will substitute transparent black for any sample it must read from /// outside its source image. @@ -4933,17 +4955,39 @@ base class Gradient extends Shader { /// positive angles going clockwise around the `center`. /// /// If `colorStops` is provided, `colorStops[i]` is a number from 0.0 to 1.0 - /// that specifies where `color[i]` begins in the gradient. If `colorStops` is - /// not provided, then only two stops, at 0.0 and 1.0, are implied (and - /// `color` must therefore only have two entries). Stop values less than 0.0 - /// will be rounded up to 0.0 and stop values greater than 1.0 will be rounded - /// down to 1.0. Each stop value must be greater than or equal to the previous - /// stop value. Stop values that do not meet this criteria will be rounded up - /// to the previous stop value. + /// that specifies where `colors[i]` begins in the gradient. If `colorStops` is + /// not provided, then only two stops, at 0.0 and 1.0, are implied + /// (and `colors` must therefore only have two entries). Stop values less than + /// 0.0 will be rounded up to 0.0 and stop values greater than 1.0 will be + /// rounded down to 1.0. Each stop value must be greater than or equal to the + /// previous stop value. Stop values that do not meet this criteria will be + /// rounded up to the previous stop value. + /// + /// The `startAngle` and `endAngle` parameters define the angular sector to be + /// painted. Angles are measured in radians clockwise from the positive x-axis. + /// Values outside the range `[0, 2π]` are normalized to this range using modulo + /// arithmetic. The gradient is only painted in the sector between `startAngle` + /// and `endAngle`. The `tileMode` determines how the gradient behaves outside + /// this sector. + /// + /// The `tileMode` argument specifies how the gradient should handle areas + /// outside the angular sector defined by `startAngle` and `endAngle`: /// /// The behavior before `startAngle` and after `endAngle` is described by the /// `tileMode` argument. For details, see the [TileMode] enum. /// + /// * [TileMode.clamp]: The edge colors are extended to infinity. + /// * [TileMode.mirror]: The gradient is repeated, alternating direction each time. + /// * [TileMode.repeated]: The gradient is repeated in the same direction. + /// * [TileMode.decal]: Only the colors within the gradient's angular sector are + /// drawn, with transparent black elsewhere. + /// + /// The [colorStops] argument must have the same number of values as [colors], + /// if specified. It specifies the position of each color stop between 0.0 and + /// 1.0. If it is null, a uniform distribution is assumed. The stop values must + /// be in ascending order. A stop value of 0.0 corresponds to [startAngle], and + /// a stop value of 1.0 corresponds to [endAngle]. + /// /// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/tile_mode_clamp_sweep.png) /// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/tile_mode_decal_sweep.png) /// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/tile_mode_mirror_sweep.png) diff --git a/engine/src/flutter/lib/ui/painting/fragment_program.cc b/engine/src/flutter/lib/ui/painting/fragment_program.cc index 54b321609c08e..fde0a47eb9a03 100644 --- a/engine/src/flutter/lib/ui/painting/fragment_program.cc +++ b/engine/src/flutter/lib/ui/painting/fragment_program.cc @@ -6,16 +6,21 @@ #include #include "display_list/effects/dl_runtime_effect.h" +#include "display_list/effects/dl_runtime_effect_skia.h" #include "flutter/lib/ui/painting/fragment_program.h" #include "flutter/assets/asset_manager.h" #include "flutter/fml/trace_event.h" +#if IMPELLER_SUPPORTS_RENDERING +#include "flutter/impeller/display_list/dl_runtime_effect_impeller.h" // nogncheck +#endif #include "flutter/impeller/runtime_stage/runtime_stage.h" #include "flutter/lib/ui/ui_dart_state.h" #include "flutter/lib/ui/window/platform_configuration.h" #include "impeller/core/runtime_types.h" #include "third_party/skia/include/core/SkString.h" +#include "third_party/skia/include/effects/SkRuntimeEffect.h" #include "third_party/tonic/converter/dart_converter.h" namespace flutter { @@ -99,7 +104,9 @@ std::string FragmentProgram::initFromAsset(const std::string& asset_name) { } snapshot_controller->CacheRuntimeStage(runtime_stage); }); - runtime_effect_ = DlRuntimeEffect::MakeImpeller(std::move(runtime_stage)); +#if IMPELLER_SUPPORTS_RENDERING + runtime_effect_ = DlRuntimeEffectImpeller::Make(std::move(runtime_stage)); +#endif } else { const auto& code_mapping = runtime_stage->GetCodeMapping(); auto code_size = code_mapping->GetSize(); @@ -112,7 +119,7 @@ std::string FragmentProgram::initFromAsset(const std::string& asset_name) { return std::string("Invalid SkSL:\n") + sksl + std::string("\nSkSL Error:\n") + result.errorText.c_str(); } - runtime_effect_ = DlRuntimeEffect::MakeSkia(result.effect); + runtime_effect_ = DlRuntimeEffectSkia::Make(result.effect); } Dart_Handle ths = Dart_HandleFromWeakPersistent(dart_wrapper()); diff --git a/engine/src/flutter/lib/ui/painting/image_decoder_impeller.cc b/engine/src/flutter/lib/ui/painting/image_decoder_impeller.cc index 63f69fc2c9b97..ac5f5e42086fb 100644 --- a/engine/src/flutter/lib/ui/painting/image_decoder_impeller.cc +++ b/engine/src/flutter/lib/ui/painting/image_decoder_impeller.cc @@ -4,6 +4,7 @@ #include "flutter/lib/ui/painting/image_decoder_impeller.h" +#include #include #include "flutter/fml/closure.h" @@ -13,7 +14,6 @@ #include "flutter/impeller/display_list/dl_image_impeller.h" #include "flutter/impeller/renderer/command_buffer.h" #include "flutter/impeller/renderer/context.h" -#include "impeller/base/strings.h" #include "impeller/core/device_buffer.h" #include "impeller/core/formats.h" #include "impeller/core/texture_descriptor.h" @@ -185,9 +185,9 @@ DecompressResult ImageDecoderImpeller::DecompressTexture( const auto pixel_format = ToPixelFormat(image_info.colorType()); if (!pixel_format.has_value()) { - std::string decode_error(impeller::SPrintF( - "Codec pixel format is not supported (SkColorType=%d)", - image_info.colorType())); + std::string decode_error( + std::format("Codec pixel format is not supported (SkColorType={})", + static_cast(image_info.colorType()))); FML_DLOG(ERROR) << decode_error; return DecompressResult{.decode_error = decode_error}; } @@ -310,8 +310,9 @@ ImageDecoderImpeller::UnsafeUploadTextureToPrivate( const std::optional& resize_info) { const auto pixel_format = ToPixelFormat(image_info.colorType()); if (!pixel_format) { - std::string decode_error(impeller::SPrintF( - "Unsupported pixel format (SkColorType=%d)", image_info.colorType())); + std::string decode_error( + std::format("Unsupported pixel format (SkColorType={})", + static_cast(image_info.colorType()))); FML_DLOG(ERROR) << decode_error; return std::make_pair(nullptr, decode_error); } @@ -337,7 +338,8 @@ ImageDecoderImpeller::UnsafeUploadTextureToPrivate( } dest_texture->SetLabel( - impeller::SPrintF("ui.Image(%p)", dest_texture.get()).c_str()); + std::format("ui.Image({})", static_cast(dest_texture.get())) + .c_str()); auto command_buffer = context->CreateCommandBuffer(); if (!command_buffer) { @@ -483,8 +485,9 @@ ImageDecoderImpeller::UploadTextureToStorage( const auto image_info = bitmap->info(); const auto pixel_format = ToPixelFormat(image_info.colorType()); if (!pixel_format) { - std::string decode_error(impeller::SPrintF( - "Unsupported pixel format (SkColorType=%d)", image_info.colorType())); + std::string decode_error( + std::format("Unsupported pixel format (SkColorType={})", + static_cast(image_info.colorType()))); FML_DLOG(ERROR) << decode_error; return std::make_pair(nullptr, decode_error); } @@ -515,7 +518,9 @@ ImageDecoderImpeller::UploadTextureToStorage( return std::make_pair(nullptr, decode_error); } - texture->SetLabel(impeller::SPrintF("ui.Image(%p)", texture.get()).c_str()); + texture->SetLabel( + std::format("ui.Image({})", static_cast(texture.get())) + .c_str()); context->DisposeThreadLocalCachedResources(); diff --git a/engine/src/flutter/lib/ui/painting/image_encoding.cc b/engine/src/flutter/lib/ui/painting/image_encoding.cc index da88fe41b8315..cb0e04b1e90a0 100644 --- a/engine/src/flutter/lib/ui/painting/image_encoding.cc +++ b/engine/src/flutter/lib/ui/painting/image_encoding.cc @@ -146,7 +146,7 @@ void EncodeImageAndInvokeDataCallback( if (is_impeller_enabled) { ImageEncodingImpeller::ConvertImageToRaster( image, encode_task, raster_task_runner, io_task_runner, - is_gpu_disabled_sync_switch, impeller_context); + snapshot_delegate, is_gpu_disabled_sync_switch, impeller_context); return; } #endif // IMPELLER_SUPPORTS_RENDERING diff --git a/engine/src/flutter/lib/ui/painting/image_encoding_impeller.cc b/engine/src/flutter/lib/ui/painting/image_encoding_impeller.cc index 2281b98d3464c..06c7d990c914e 100644 --- a/engine/src/flutter/lib/ui/painting/image_encoding_impeller.cc +++ b/engine/src/flutter/lib/ui/painting/image_encoding_impeller.cc @@ -60,6 +60,7 @@ sk_sp ConvertBufferToSkImage( [[nodiscard]] fml::Status DoConvertImageToRasterImpeller( const sk_sp& dl_image, const std::function>)>& encode_task, + const fml::TaskRunnerAffineWeakPtr& snapshot_delegate, const std::shared_ptr& is_gpu_disabled_sync_switch, const std::shared_ptr& impeller_context) { fml::Status result; @@ -69,10 +70,11 @@ sk_sp ConvertBufferToSkImage( result = fml::Status(fml::StatusCode::kUnavailable, "GPU unavailable."); }) - .SetIfFalse([&dl_image, &encode_task, &impeller_context] { - ImageEncodingImpeller::ConvertDlImageToSkImage( - dl_image, encode_task, impeller_context); - })); + .SetIfFalse( + [&dl_image, &encode_task, &snapshot_delegate, &impeller_context] { + ImageEncodingImpeller::ConvertDlImageToSkImage( + dl_image, encode_task, snapshot_delegate, impeller_context); + })); return result; } @@ -82,23 +84,27 @@ sk_sp ConvertBufferToSkImage( void DoConvertImageToRasterImpellerWithRetry( const sk_sp& dl_image, std::function>)>&& encode_task, + const fml::TaskRunnerAffineWeakPtr& snapshot_delegate, const std::shared_ptr& is_gpu_disabled_sync_switch, const std::shared_ptr& impeller_context, const fml::RefPtr& retry_runner) { fml::Status status = DoConvertImageToRasterImpeller( - dl_image, encode_task, is_gpu_disabled_sync_switch, impeller_context); + dl_image, encode_task, snapshot_delegate, is_gpu_disabled_sync_switch, + impeller_context); if (!status.ok()) { // If the conversion failed because of the GPU is unavailable, store the // task on the Context so it can be executed when the GPU becomes available. if (status.code() == fml::StatusCode::kUnavailable) { impeller_context->StoreTaskForGPU( - [dl_image, encode_task, is_gpu_disabled_sync_switch, impeller_context, + [dl_image, encode_task, snapshot_delegate, + is_gpu_disabled_sync_switch, impeller_context, retry_runner]() mutable { auto retry_task = [dl_image, encode_task = std::move(encode_task), - is_gpu_disabled_sync_switch, impeller_context] { + snapshot_delegate, is_gpu_disabled_sync_switch, + impeller_context] { fml::Status retry_status = DoConvertImageToRasterImpeller( - dl_image, encode_task, is_gpu_disabled_sync_switch, - impeller_context); + dl_image, encode_task, snapshot_delegate, + is_gpu_disabled_sync_switch, impeller_context); if (!retry_status.ok()) { // The retry failed for some reason, maybe the GPU became // unavailable again. Don't retry again, just fail in this case. @@ -129,6 +135,7 @@ void DoConvertImageToRasterImpellerWithRetry( void ImageEncodingImpeller::ConvertDlImageToSkImage( const sk_sp& dl_image, std::function>)> encode_task, + const fml::TaskRunnerAffineWeakPtr& snapshot_delegate, const std::shared_ptr& impeller_context) { auto texture = dl_image->impeller_texture(); @@ -159,6 +166,18 @@ void ImageEncodingImpeller::ConvertDlImageToSkImage( return; } + // Ensure that this thread has a context that can execute rendering + // commands. The thread may not already have a context if the raster + // task runner was assigned to a new thread and no previous rendering + // task has run on that thread. + if (snapshot_delegate) { + if (!snapshot_delegate->MakeRenderContextCurrent()) { + encode_task(fml::Status(fml::StatusCode::kFailedPrecondition, + "Failed to bind the render context.")); + return; + } + } + impeller::DeviceBufferDescriptor buffer_desc; buffer_desc.storage_mode = impeller::StorageMode::kHostVisible; buffer_desc.readback = true; // set to false for testing. @@ -205,6 +224,7 @@ void ImageEncodingImpeller::ConvertImageToRaster( std::function>)> encode_task, const fml::RefPtr& raster_task_runner, const fml::RefPtr& io_task_runner, + const fml::TaskRunnerAffineWeakPtr& snapshot_delegate, const std::shared_ptr& is_gpu_disabled_sync_switch, const std::shared_ptr& impeller_context) { auto original_encode_task = std::move(encode_task); @@ -217,20 +237,20 @@ void ImageEncodingImpeller::ConvertImageToRaster( }; if (dl_image->owning_context() != DlImage::OwningContext::kRaster) { - DoConvertImageToRasterImpellerWithRetry(dl_image, std::move(encode_task), - is_gpu_disabled_sync_switch, - impeller_context, - /*retry_runner=*/nullptr); + DoConvertImageToRasterImpellerWithRetry( + dl_image, std::move(encode_task), + /*snapshot_delegate=*/{}, is_gpu_disabled_sync_switch, impeller_context, + /*retry_runner=*/nullptr); return; } raster_task_runner->PostTask([dl_image, encode_task = std::move(encode_task), - io_task_runner, is_gpu_disabled_sync_switch, - impeller_context, + io_task_runner, snapshot_delegate, + is_gpu_disabled_sync_switch, impeller_context, raster_task_runner]() mutable { DoConvertImageToRasterImpellerWithRetry( - dl_image, std::move(encode_task), is_gpu_disabled_sync_switch, - impeller_context, raster_task_runner); + dl_image, std::move(encode_task), snapshot_delegate, + is_gpu_disabled_sync_switch, impeller_context, raster_task_runner); }); } diff --git a/engine/src/flutter/lib/ui/painting/image_encoding_impeller.h b/engine/src/flutter/lib/ui/painting/image_encoding_impeller.h index 84894407854a3..ede28129f4172 100644 --- a/engine/src/flutter/lib/ui/painting/image_encoding_impeller.h +++ b/engine/src/flutter/lib/ui/painting/image_encoding_impeller.h @@ -7,8 +7,10 @@ #include "flutter/common/task_runners.h" #include "flutter/display_list/image/dl_image.h" +#include "flutter/fml/memory/weak_ptr.h" #include "flutter/fml/status_or.h" #include "flutter/fml/synchronization/sync_switch.h" +#include "flutter/lib/ui/snapshot_delegate.h" namespace impeller { class Context; @@ -28,6 +30,7 @@ class ImageEncodingImpeller { static void ConvertDlImageToSkImage( const sk_sp& dl_image, std::function>)> encode_task, + const fml::TaskRunnerAffineWeakPtr& snapshot_delegate, const std::shared_ptr& impeller_context); /// Converts a DlImage to a SkImage. @@ -37,6 +40,7 @@ class ImageEncodingImpeller { std::function>)> encode_task, const fml::RefPtr& raster_task_runner, const fml::RefPtr& io_task_runner, + const fml::TaskRunnerAffineWeakPtr& snapshot_delegate, const std::shared_ptr& is_gpu_disabled_sync_switch, const std::shared_ptr& impeller_context); }; diff --git a/engine/src/flutter/lib/ui/painting/image_encoding_unittests.cc b/engine/src/flutter/lib/ui/painting/image_encoding_unittests.cc index bb65878e6f9be..fdfef491de16c 100644 --- a/engine/src/flutter/lib/ui/painting/image_encoding_unittests.cc +++ b/engine/src/flutter/lib/ui/painting/image_encoding_unittests.cc @@ -10,6 +10,7 @@ #include "flutter/common/task_runners.h" #include "flutter/fml/synchronization/waitable_event.h" #include "flutter/lib/ui/painting/image.h" +#include "flutter/lib/ui/snapshot_delegate.h" #include "flutter/runtime/dart_vm.h" #include "flutter/shell/common/shell_test.h" #include "flutter/shell/common/thread_host.h" @@ -68,6 +69,47 @@ class MockSyncSwitch { MOCK_METHOD(void, SetSwitch, (bool value)); }; +class MockSnapshotDelegate : public SnapshotDelegate { + public: + MockSnapshotDelegate() : weak_factory_(this) {} + + MOCK_METHOD(std::unique_ptr, + MakeSkiaGpuImage, + (sk_sp, const SkImageInfo&), + (override)); + MOCK_METHOD(std::shared_ptr, + GetTextureRegistry, + (), + (override)); + MOCK_METHOD(GrDirectContext*, GetGrContext, (), (override)); + MOCK_METHOD(void, + MakeRasterSnapshot, + (sk_sp, + DlISize, + std::function)>), + (override)); + MOCK_METHOD(sk_sp, + MakeRasterSnapshotSync, + (sk_sp, DlISize), + (override)); + MOCK_METHOD(sk_sp, + ConvertToRasterImage, + (sk_sp), + (override)); + MOCK_METHOD(void, + CacheRuntimeStage, + (const std::shared_ptr&), + (override)); + MOCK_METHOD(bool, MakeRenderContextCurrent, (), (override)); + + fml::TaskRunnerAffineWeakPtr GetWeakPtr() { + return weak_factory_.GetWeakPtr(); + } + + private: + fml::TaskRunnerAffineWeakPtrFactory weak_factory_; +}; + TEST_F(ShellTest, EncodeImageGivesExternalTypedData) { auto native_encode_image = [&](Dart_NativeArguments args) { auto image_handle = Dart_GetNativeArgument(args, 0); @@ -269,6 +311,7 @@ TEST_F(ShellTest, EncodeImageRetries) { AddNativeCallback("ValidateNotNull", CREATE_NATIVE_ENTRY(validate_not_null)); ASSERT_TRUE(shell->IsSetup()); + auto configuration = RunConfiguration::InferFromSettings(settings); configuration.SetEntrypoint("toByteDataRetries"); @@ -317,6 +360,7 @@ TEST_F(ShellTest, EncodeImageRetryOverflows) { AddNativeCallback("ValidateNotNull", CREATE_NATIVE_ENTRY(validate_not_null)); ASSERT_TRUE(shell->IsSetup()); + auto configuration = RunConfiguration::InferFromSettings(settings); configuration.SetEntrypoint("toByteDataRetryOverflows"); @@ -505,6 +549,9 @@ TEST(ImageEncodingImpellerTest, ConvertDlImageToSkImage16Float) { buffer.reserve(100 * 100 * 8); auto context = MakeConvertDlImageToSkImageContext(buffer); bool did_call = false; + MockSnapshotDelegate snapshot_delegate; + EXPECT_CALL(snapshot_delegate, MakeRenderContextCurrent) + .WillRepeatedly(Return(true)); ImageEncodingImpeller::ConvertDlImageToSkImage( image, [&did_call](const fml::StatusOr>& image) { @@ -516,7 +563,7 @@ TEST(ImageEncodingImpellerTest, ConvertDlImageToSkImage16Float) { EXPECT_EQ(kRGBA_F16_SkColorType, image.value()->colorType()); EXPECT_EQ(nullptr, image.value()->colorSpace()); }, - context); + snapshot_delegate.GetWeakPtr(), context); EXPECT_TRUE(did_call); } @@ -532,6 +579,9 @@ TEST(ImageEncodingImpellerTest, ConvertDlImageToSkImage10XR) { buffer.reserve(100 * 100 * 4); auto context = MakeConvertDlImageToSkImageContext(buffer); bool did_call = false; + MockSnapshotDelegate snapshot_delegate; + EXPECT_CALL(snapshot_delegate, MakeRenderContextCurrent) + .WillRepeatedly(Return(true)); ImageEncodingImpeller::ConvertDlImageToSkImage( image, [&did_call](const fml::StatusOr>& image) { @@ -543,7 +593,7 @@ TEST(ImageEncodingImpellerTest, ConvertDlImageToSkImage10XR) { EXPECT_EQ(kBGR_101010x_XR_SkColorType, image.value()->colorType()); EXPECT_EQ(nullptr, image.value()->colorSpace()); }, - context); + snapshot_delegate.GetWeakPtr(), context); EXPECT_TRUE(did_call); } diff --git a/engine/src/flutter/lib/ui/platform_dispatcher.dart b/engine/src/flutter/lib/ui/platform_dispatcher.dart index 770835c0bb45e..ff5a56e0b4e92 100644 --- a/engine/src/flutter/lib/ui/platform_dispatcher.dart +++ b/engine/src/flutter/lib/ui/platform_dispatcher.dart @@ -716,6 +716,26 @@ class PlatformDispatcher { @Native(symbol: 'PlatformConfigurationNativeApi::RegisterBackgroundIsolate') external static void __registerBackgroundIsolate(int rootIsolateId); + /// Informs the engine whether the framework is generating a semantics tree. + /// + /// Only framework knows when semantics tree should be generated. It uses this + /// method to notify the engine whether the framework will generate a semantics tree. + /// + /// In the case where platforms want to enable semantics, e.g. when + /// assistive technologies are enabled, it notifies framework through + /// [onSemanticsEnabledChanged]. + /// + /// After this has been set to true, platforms are expected to prepare for accepting + /// semantics update sent via [FlutterView.updateSemantics]. When this is set to false, platforms + /// may dispose any resources associated with processing semantics as no further + /// semantics updates will be sent via [FlutterView.updateSemantics]. + /// + /// One must call this method with true before sending update through [updateSemantics]. + void setSemanticsTreeEnabled(bool enabled) => _setSemanticsTreeEnabled(enabled); + + @Native(symbol: 'PlatformConfigurationNativeApi::SetSemanticsTreeEnabled') + external static void _setSemanticsTreeEnabled(bool update); + /// Deprecated. Migrate to [ChannelBuffers.setListener] instead. /// /// Called whenever this platform dispatcher receives a message from a @@ -1866,12 +1886,16 @@ class _ViewConfiguration { this.gestureSettings = const GestureSettings(), this.displayFeatures = const [], this.displayId = 0, + this.viewConstraints = const ViewConstraints(maxWidth: 0, maxHeight: 0), }); /// The identifier for a display for this view, in /// [PlatformDispatcher._displays]. final int displayId; + /// The sizing constraints for this view in physical pixels. + final ViewConstraints viewConstraints; + /// The pixel density of the output surface. final double devicePixelRatio; diff --git a/engine/src/flutter/lib/ui/semantics.dart b/engine/src/flutter/lib/ui/semantics.dart index 17d1ed5bbc00d..e02bcf72477ff 100644 --- a/engine/src/flutter/lib/ui/semantics.dart +++ b/engine/src/flutter/lib/ui/semantics.dart @@ -1060,6 +1060,88 @@ class SemanticsFlag { String toString() => 'SemanticsFlag.$name'; } +/// Checked state of a semantics node. +enum CheckedState { + /// The semantics node does not have a check state. + none(0), + + /// The semantics node is checked. + isTrue(1), + + /// The semantics node is not checked. + isFalse(2), + + /// The semantics node represents a tristate checkbox in a mixed state. + mixed(3); + + /// The Constructor of the flag. + const CheckedState(this.value); + + /// The value of the flag. + final int value; + + /// If two semantics nodes both have check state, they have conflict and can't be merged. + bool hasConflict(CheckedState other) => this != CheckedState.none && other != CheckedState.none; + + /// Semanitcs nodes will only be merged when they are not in conflict. + CheckedState merge(CheckedState other) { + if (this == CheckedState.mixed || other == CheckedState.mixed) { + return CheckedState.mixed; + } + if (this == CheckedState.isTrue || other == CheckedState.isTrue) { + return CheckedState.isTrue; + } + if (this == CheckedState.isFalse || other == CheckedState.isFalse) { + return CheckedState.isFalse; + } + return CheckedState.none; + } +} + +/// Tristate flags for a semantics not +enum Tristate { + /// The property is not applicable to this semantics node. + none(0), + + /// The property is applicable and its state is "true" or "on". + isTrue(1), + + /// The property is applicable and its state is "false" or "off". + isFalse(2); + + /// The Constructor of the flag. + const Tristate(this.value); + + /// The value of the flag. + final int value; + + /// If two semantics nodes both have this property, they have conflict and can't be merged. + bool hasConflict(Tristate other) => this != Tristate.none && other != Tristate.none; + + /// Semanitcs nodes will only be merged when they are not in conflict. + Tristate merge(Tristate other) { + if (this == Tristate.isTrue || other == Tristate.isTrue) { + return Tristate.isTrue; + } + if (this == Tristate.isFalse || other == Tristate.isFalse) { + return Tristate.isFalse; + } + return Tristate.none; + } + + /// Convert a Tristate flag to bool or null. + bool? toBoolOrNull() { + switch (this) { + case Tristate.none: + return null; + case Tristate.isTrue: + return true; + case Tristate.isFalse: + return false; + } + } +} + /// Represents a collection of boolean flags that convey semantic information /// about a widget's accessibility state and properties. /// @@ -1069,14 +1151,15 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { /// Creates a set of semantics flags that describe various states of a widget. /// All flags default to `false` unless specified. SemanticsFlags({ - this.hasCheckedState = false, - this.isChecked = false, - this.isSelected = false, + this.isChecked = CheckedState.none, + this.isSelected = Tristate.none, + this.isEnabled = Tristate.none, + this.isToggled = Tristate.none, + this.isExpanded = Tristate.none, + this.isRequired = Tristate.none, + this.isFocused = Tristate.none, this.isButton = false, this.isTextField = false, - this.isFocused = false, - this.hasEnabledState = false, - this.isEnabled = false, this.isInMutuallyExclusiveGroup = false, this.isHeader = false, this.isObscured = false, @@ -1085,32 +1168,24 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { this.isHidden = false, this.isImage = false, this.isLiveRegion = false, - this.hasToggledState = false, - this.isToggled = false, this.hasImplicitScrolling = false, this.isMultiline = false, this.isReadOnly = false, - this.isFocusable = false, this.isLink = false, this.isSlider = false, this.isKeyboardKey = false, - this.isCheckStateMixed = false, - this.hasExpandedState = false, - this.isExpanded = false, - this.hasSelectedState = false, - this.hasRequiredState = false, - this.isRequired = false, }) { _initSemanticsFlags( this, - hasCheckedState, - isChecked, - isSelected, + isChecked.value, + isSelected.value, + isEnabled.value, + isToggled.value, + isExpanded.value, + isRequired.value, + isFocused.value, isButton, isTextField, - isFocused, - hasEnabledState, - isEnabled, isInMutuallyExclusiveGroup, isHeader, isObscured, @@ -1119,42 +1194,25 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { isHidden, isImage, isLiveRegion, - hasToggledState, - isToggled, hasImplicitScrolling, isMultiline, isReadOnly, - isFocusable, isLink, isSlider, isKeyboardKey, - isCheckStateMixed, - hasExpandedState, - isExpanded, - hasSelectedState, - hasRequiredState, - isRequired, ); } @Native< Void Function( Handle, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, - Bool, + Int, + Int, + Int, + Int, + Int, + Int, + Int, Bool, Bool, Bool, @@ -1175,14 +1233,15 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { >(symbol: 'NativeSemanticsFlags::initSemanticsFlags') external static void _initSemanticsFlags( SemanticsFlags instance, - bool hasCheckedState, - bool isChecked, - bool isSelected, + int isChecked, + int isSelected, + int isEnabled, + int isToggled, + int isExpanded, + int isRequired, + int isFocused, bool isButton, bool isTextField, - bool isFocused, - bool hasEnabledState, - bool isEnabled, bool isInMutuallyExclusiveGroup, bool isHeader, bool isObscured, @@ -1191,49 +1250,43 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { bool isHidden, bool isImage, bool isLiveRegion, - bool hasToggledState, - bool isToggled, bool hasImplicitScrolling, bool isMultiline, bool isReadOnly, - bool isFocusable, bool isLink, bool isSlider, bool isKeyboardKey, - bool isCheckStateMixed, - bool hasExpandedState, - bool isExpanded, - bool hasSelectedState, - bool hasRequiredState, - bool isRequired, ); /// The set of semantics flags with every flag set to false. static SemanticsFlags none = SemanticsFlags(); /// {@macro dart.ui.semantics.hasCheckedState} - final bool hasCheckedState; - - /// {@macro dart.ui.semantics.isChecked} - final bool isChecked; + final CheckedState isChecked; /// {@macro dart.ui.semantics.isSelected} - final bool isSelected; + final Tristate isSelected; - /// {@macro dart.ui.semantics.isButton} - final bool isButton; + /// {@macro dart.ui.semantics.isEnabled} + final Tristate isEnabled; - /// {@macro dart.ui.semantics.isTextField} - final bool isTextField; + /// {@macro dart.ui.semantics.isToggled} + final Tristate isToggled; + + /// {@macro dart.ui.semantics.isExpanded} + final Tristate isExpanded; + + /// {@macro dart.ui.semantics.isRequired} + final Tristate isRequired; /// {@macro dart.ui.semantics.isFocused} - final bool isFocused; + final Tristate isFocused; - /// {@macro dart.ui.semantics.hasEnabledState} - final bool hasEnabledState; + /// {@macro dart.ui.semantics.isButton} + final bool isButton; - /// {@macro dart.ui.semantics.isEnabled} - final bool isEnabled; + /// {@macro dart.ui.semantics.isTextField} + final bool isTextField; /// {@macro dart.ui.semantics.isInMutuallyExclusiveGroup} final bool isInMutuallyExclusiveGroup; @@ -1259,12 +1312,6 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { /// {@macro dart.ui.semantics.isLiveRegion} final bool isLiveRegion; - /// {@macro dart.ui.semantics.hasToggledState} - final bool hasToggledState; - - /// {@macro dart.ui.semantics.isToggled} - final bool isToggled; - /// {@macro dart.ui.semantics.hasImplicitScrolling} final bool hasImplicitScrolling; @@ -1274,9 +1321,6 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { /// {@macro dart.ui.semantics.isReadOnly} final bool isReadOnly; - /// {@macro dart.ui.semantics.isFocusable} - final bool isFocusable; - /// {@macro dart.ui.semantics.isLink} final bool isLink; @@ -1286,35 +1330,18 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { /// {@macro dart.ui.semantics.isKeyboardKey} final bool isKeyboardKey; - /// {@macro dart.ui.semantics.isCheckStateMixed} - final bool isCheckStateMixed; - - /// {@macro dart.ui.semantics.hasExpandedState} - final bool hasExpandedState; - - /// {@macro dart.ui.semantics.isExpanded} - final bool isExpanded; - - /// {@macro dart.ui.semantics.hasSelectedState} - final bool hasSelectedState; - - /// {@macro dart.ui.semantics.hasRequiredState} - final bool hasRequiredState; - - /// {@macro dart.ui.semantics.isRequired} - final bool isRequired; - /// Combines two sets of flags, such that if a flag it set to true in any of the two sets, the resulting set contains that flag set to true. SemanticsFlags merge(SemanticsFlags other) { return SemanticsFlags( - hasCheckedState: hasCheckedState || other.hasCheckedState, - isChecked: isChecked || other.isChecked, - isSelected: isSelected || other.isSelected, + isChecked: isChecked.merge(other.isChecked), + isSelected: isSelected.merge(other.isSelected), + isEnabled: isEnabled.merge(other.isEnabled), + isToggled: isToggled.merge(other.isToggled), + isExpanded: isExpanded.merge(other.isExpanded), + isRequired: isRequired.merge(other.isRequired), + isFocused: isFocused.merge(other.isFocused), isButton: isButton || other.isButton, isTextField: isTextField || other.isTextField, - isFocused: isFocused || other.isFocused, - hasEnabledState: hasEnabledState || other.hasEnabledState, - isEnabled: isEnabled || other.isEnabled, isInMutuallyExclusiveGroup: isInMutuallyExclusiveGroup || other.isInMutuallyExclusiveGroup, isHeader: isHeader || other.isHeader, isObscured: isObscured || other.isObscured, @@ -1323,34 +1350,26 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { isHidden: isHidden || other.isHidden, isImage: isImage || other.isImage, isLiveRegion: isLiveRegion || other.isLiveRegion, - hasToggledState: hasToggledState || other.hasToggledState, - isToggled: isToggled || other.isToggled, hasImplicitScrolling: hasImplicitScrolling || other.hasImplicitScrolling, isMultiline: isMultiline || other.isMultiline, isReadOnly: isReadOnly || other.isReadOnly, - isFocusable: isFocusable || other.isFocusable, isLink: isLink || other.isLink, isSlider: isSlider || other.isSlider, isKeyboardKey: isKeyboardKey || other.isKeyboardKey, - isCheckStateMixed: isCheckStateMixed || other.isCheckStateMixed, - hasExpandedState: hasExpandedState || other.hasExpandedState, - isExpanded: isExpanded || other.isExpanded, - hasSelectedState: hasSelectedState || other.hasSelectedState, - hasRequiredState: hasRequiredState || other.hasRequiredState, - isRequired: isRequired || other.isRequired, ); } /// Copy the semantics flags, with some of them optionally replaced. SemanticsFlags copyWith({ - bool? hasCheckedState, - bool? isChecked, - bool? isSelected, + CheckedState? isChecked, + Tristate? isSelected, + Tristate? isEnabled, + Tristate? isToggled, + Tristate? isExpanded, + Tristate? isRequired, + Tristate? isFocused, bool? isButton, bool? isTextField, - bool? isFocused, - bool? hasEnabledState, - bool? isEnabled, bool? isInMutuallyExclusiveGroup, bool? isHeader, bool? isObscured, @@ -1359,30 +1378,19 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { bool? isHidden, bool? isImage, bool? isLiveRegion, - bool? hasToggledState, - bool? isToggled, bool? hasImplicitScrolling, bool? isMultiline, bool? isReadOnly, - bool? isFocusable, bool? isLink, bool? isSlider, bool? isKeyboardKey, - bool? isCheckStateMixed, - bool? hasExpandedState, - bool? isExpanded, - bool? hasSelectedState, - bool? hasRequiredState, - bool? isRequired, }) { return SemanticsFlags( - hasCheckedState: hasCheckedState ?? this.hasCheckedState, isChecked: isChecked ?? this.isChecked, isSelected: isSelected ?? this.isSelected, isButton: isButton ?? this.isButton, isTextField: isTextField ?? this.isTextField, isFocused: isFocused ?? this.isFocused, - hasEnabledState: hasEnabledState ?? this.hasEnabledState, isEnabled: isEnabled ?? this.isEnabled, isInMutuallyExclusiveGroup: isInMutuallyExclusiveGroup ?? this.isInMutuallyExclusiveGroup, isHeader: isHeader ?? this.isHeader, @@ -1392,20 +1400,14 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { isHidden: isHidden ?? this.isHidden, isImage: isImage ?? this.isImage, isLiveRegion: isLiveRegion ?? this.isLiveRegion, - hasToggledState: hasToggledState ?? this.hasToggledState, isToggled: isToggled ?? this.isToggled, hasImplicitScrolling: hasImplicitScrolling ?? this.hasImplicitScrolling, isMultiline: isMultiline ?? this.isMultiline, isReadOnly: isReadOnly ?? this.isReadOnly, - isFocusable: isFocusable ?? this.isFocusable, isLink: isLink ?? this.isLink, isSlider: isSlider ?? this.isSlider, isKeyboardKey: isKeyboardKey ?? this.isKeyboardKey, - isCheckStateMixed: isCheckStateMixed ?? this.isCheckStateMixed, - hasExpandedState: hasExpandedState ?? this.hasExpandedState, isExpanded: isExpanded ?? this.isExpanded, - hasSelectedState: hasSelectedState ?? this.hasSelectedState, - hasRequiredState: hasRequiredState ?? this.hasRequiredState, isRequired: isRequired ?? this.isRequired, ); } @@ -1415,14 +1417,15 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { identical(this, other) || other is SemanticsFlags && runtimeType == other.runtimeType && - hasCheckedState == other.hasCheckedState && isChecked == other.isChecked && isSelected == other.isSelected && + isEnabled == other.isEnabled && + isToggled == other.isToggled && + isExpanded == other.isExpanded && + isRequired == other.isRequired && + isFocused == other.isFocused && isButton == other.isButton && isTextField == other.isTextField && - isFocused == other.isFocused && - hasEnabledState == other.hasEnabledState && - isEnabled == other.isEnabled && isInMutuallyExclusiveGroup == other.isInMutuallyExclusiveGroup && isHeader == other.isHeader && isObscured == other.isObscured && @@ -1431,32 +1434,24 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { isHidden == other.isHidden && isImage == other.isImage && isLiveRegion == other.isLiveRegion && - hasToggledState == other.hasToggledState && - isToggled == other.isToggled && hasImplicitScrolling == other.hasImplicitScrolling && isMultiline == other.isMultiline && isReadOnly == other.isReadOnly && - isFocusable == other.isFocusable && isLink == other.isLink && isSlider == other.isSlider && - isKeyboardKey == other.isKeyboardKey && - isCheckStateMixed == other.isCheckStateMixed && - hasExpandedState == other.hasExpandedState && - isExpanded == other.isExpanded && - hasSelectedState == other.hasSelectedState && - hasRequiredState == other.hasRequiredState && - isRequired == other.isRequired; + isKeyboardKey == other.isKeyboardKey; @override - int get hashCode => Object.hashAll([ - hasCheckedState, + int get hashCode => Object.hashAll([ isChecked, isSelected, + isEnabled, + isToggled, + isExpanded, + isRequired, + isFocused, isButton, isTextField, - isFocused, - hasEnabledState, - isEnabled, isInMutuallyExclusiveGroup, isHeader, isObscured, @@ -1465,34 +1460,25 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { isHidden, isImage, isLiveRegion, - hasToggledState, - isToggled, hasImplicitScrolling, isMultiline, isReadOnly, - isFocusable, isLink, isSlider, isKeyboardKey, - isCheckStateMixed, - hasExpandedState, - isExpanded, - hasSelectedState, - hasRequiredState, - isRequired, ]); /// Convert flags to a list of string. List toStrings() { return [ - if (hasCheckedState) 'hasCheckedState', - if (isChecked) 'isChecked', - if (isSelected) 'isSelected', + if (isChecked != CheckedState.none) 'hasCheckedState', + if (isChecked == CheckedState.isTrue) 'isChecked', + if (isSelected == Tristate.isTrue) 'isSelected', if (isButton) 'isButton', if (isTextField) 'isTextField', - if (isFocused) 'isFocused', - if (hasEnabledState) 'hasEnabledState', - if (isEnabled) 'isEnabled', + if (isFocused == Tristate.isTrue) 'isFocused', + if (isEnabled != Tristate.none) 'hasEnabledState', + if (isEnabled == Tristate.isTrue) 'isEnabled', if (isInMutuallyExclusiveGroup) 'isInMutuallyExclusiveGroup', if (isHeader) 'isHeader', if (isObscured) 'isObscured', @@ -1501,35 +1487,37 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { if (isHidden) 'isHidden', if (isImage) 'isImage', if (isLiveRegion) 'isLiveRegion', - if (hasToggledState) 'hasToggledState', - if (isToggled) 'isToggled', + if (isToggled != Tristate.none) 'hasToggledState', + if (isToggled == Tristate.isTrue) 'isToggled', if (hasImplicitScrolling) 'hasImplicitScrolling', if (isMultiline) 'isMultiline', if (isReadOnly) 'isReadOnly', - if (isFocusable) 'isFocusable', + if (isFocused != Tristate.none) 'isFocusable', if (isLink) 'isLink', if (isSlider) 'isSlider', if (isKeyboardKey) 'isKeyboardKey', - if (isCheckStateMixed) 'isCheckStateMixed', - if (hasExpandedState) 'hasExpandedState', - if (isExpanded) 'isExpanded', - if (hasSelectedState) 'hasSelectedState', - if (hasRequiredState) 'hasRequiredState', - if (isRequired) 'isRequired', + if (isChecked == CheckedState.mixed) 'isCheckStateMixed', + if (isExpanded != Tristate.none) 'hasExpandedState', + if (isExpanded == Tristate.isTrue) 'isExpanded', + if (isSelected != Tristate.none) 'hasSelectedState', + if (isRequired != Tristate.none) 'hasRequiredState', + if (isRequired == Tristate.isTrue) 'isRequired', ]; } /// Checks if any of the boolean semantic flags are set to true /// in both this instance and the [other] instance. bool hasRepeatedFlags(SemanticsFlags other) { - return (hasCheckedState && other.hasCheckedState) || - (isChecked && other.isChecked) || - (isSelected && other.isSelected) || + return isChecked.hasConflict(other.isChecked) || + isSelected.hasConflict(other.isSelected) || + isEnabled.hasConflict(other.isEnabled) || + isToggled.hasConflict(other.isToggled) || + isEnabled.hasConflict(other.isEnabled) || + isExpanded.hasConflict(other.isExpanded) || + isRequired.hasConflict(other.isRequired) || + isFocused.hasConflict(other.isFocused) || (isButton && other.isButton) || (isTextField && other.isTextField) || - (isFocused && other.isFocused) || - (hasEnabledState && other.hasEnabledState) || - (isEnabled && other.isEnabled) || (isInMutuallyExclusiveGroup && other.isInMutuallyExclusiveGroup) || (isHeader && other.isHeader) || (isObscured && other.isObscured) || @@ -1538,21 +1526,12 @@ class SemanticsFlags extends NativeFieldWrapperClass1 { (isHidden && other.isHidden) || (isImage && other.isImage) || (isLiveRegion && other.isLiveRegion) || - (hasToggledState && other.hasToggledState) || - (isToggled && other.isToggled) || (hasImplicitScrolling && other.hasImplicitScrolling) || (isMultiline && other.isMultiline) || (isReadOnly && other.isReadOnly) || - (isFocusable && other.isFocusable) || (isLink && other.isLink) || (isSlider && other.isSlider) || - (isKeyboardKey && other.isKeyboardKey) || - (isCheckStateMixed && other.isCheckStateMixed) || - (hasExpandedState && other.hasExpandedState) || - (isExpanded && other.isExpanded) || - (hasSelectedState && other.hasSelectedState) || - (hasRequiredState && other.hasRequiredState) || - (isRequired && other.isRequired); + (isKeyboardKey && other.isKeyboardKey); } } @@ -1969,7 +1948,7 @@ base class _NativeSemanticsUpdateBuilder extends NativeFieldWrapperClass1 controlsNodes, validationResult.index, inputType.index, - locale?.toString() ?? '', + locale?.toLanguageTag() ?? '', ); } diff --git a/engine/src/flutter/lib/ui/semantics/semantics_flags.cc b/engine/src/flutter/lib/ui/semantics/semantics_flags.cc index 5b57322fdee5e..0ddc9b100b897 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_flags.cc +++ b/engine/src/flutter/lib/ui/semantics/semantics_flags.cc @@ -18,14 +18,15 @@ NativeSemanticsFlags::~NativeSemanticsFlags() {} void NativeSemanticsFlags::initSemanticsFlags( Dart_Handle semantics_flags_handle, - bool hasCheckedState, - bool isChecked, - bool isSelected, + int isChecked, + int isSelected, + int isEnabled, + int isToggled, + int isExpanded, + int isRequired, + int isFocused, bool isButton, bool isTextField, - bool isFocused, - bool hasEnabledState, - bool isEnabled, bool isInMutuallyExclusiveGroup, bool isHeader, bool isObscured, @@ -34,34 +35,26 @@ void NativeSemanticsFlags::initSemanticsFlags( bool isHidden, bool isImage, bool isLiveRegion, - bool hasToggledState, - bool isToggled, bool hasImplicitScrolling, bool isMultiline, bool isReadOnly, - bool isFocusable, bool isLink, bool isSlider, - bool isKeyboardKey, - bool isCheckStateMixed, - bool hasExpandedState, - bool isExpanded, - bool hasSelectedState, - bool hasRequiredState, - bool isRequired) { + bool isKeyboardKey) { UIDartState::ThrowIfUIOperationsProhibited(); auto native_semantics_flags = fml::MakeRefCounted(); native_semantics_flags->AssociateWithDartWrapper(semantics_flags_handle); native_semantics_flags->flags_ = SemanticsFlags{ - .hasCheckedState = hasCheckedState, - .isChecked = isChecked, - .isSelected = isSelected, + .isChecked = static_cast(isChecked), + .isSelected = static_cast(isSelected), + .isEnabled = static_cast(isEnabled), + .isToggled = static_cast(isToggled), + .isExpanded = static_cast(isExpanded), + .isRequired = static_cast(isRequired), + .isFocused = static_cast(isFocused), .isButton = isButton, .isTextField = isTextField, - .isFocused = isFocused, - .hasEnabledState = hasEnabledState, - .isEnabled = isEnabled, .isInMutuallyExclusiveGroup = isInMutuallyExclusiveGroup, .isHeader = isHeader, .isObscured = isObscured, @@ -70,21 +63,12 @@ void NativeSemanticsFlags::initSemanticsFlags( .isHidden = isHidden, .isImage = isImage, .isLiveRegion = isLiveRegion, - .hasToggledState = hasToggledState, - .isToggled = isToggled, .hasImplicitScrolling = hasImplicitScrolling, .isMultiline = isMultiline, .isReadOnly = isReadOnly, - .isFocusable = isFocusable, .isLink = isLink, .isSlider = isSlider, .isKeyboardKey = isKeyboardKey, - .isCheckStateMixed = isCheckStateMixed, - .hasExpandedState = hasExpandedState, - .isExpanded = isExpanded, - .hasSelectedState = hasSelectedState, - .hasRequiredState = hasRequiredState, - .isRequired = isRequired, }; } diff --git a/engine/src/flutter/lib/ui/semantics/semantics_flags.h b/engine/src/flutter/lib/ui/semantics/semantics_flags.h index 23504686fb5d4..8f4d983ef17ad 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_flags.h +++ b/engine/src/flutter/lib/ui/semantics/semantics_flags.h @@ -10,15 +10,28 @@ namespace flutter { +enum class SemanticsTristate : int32_t { + kNone = 0, + kTrue = 1, + kFalse = 2, +}; +enum class SemanticsCheckState : int32_t { + kNone = 0, + kTrue = 1, + kFalse = 2, + kMixed = 3, +}; + struct SemanticsFlags { - bool hasCheckedState = false; - bool isChecked = false; - bool isSelected = false; + SemanticsCheckState isChecked = SemanticsCheckState::kNone; + SemanticsTristate isSelected = SemanticsTristate::kNone; + SemanticsTristate isEnabled = SemanticsTristate::kNone; + SemanticsTristate isToggled = SemanticsTristate::kNone; + SemanticsTristate isExpanded = SemanticsTristate::kNone; + SemanticsTristate isRequired = SemanticsTristate::kNone; + SemanticsTristate isFocused = SemanticsTristate::kNone; bool isButton = false; bool isTextField = false; - bool isFocused = false; - bool hasEnabledState = false; - bool isEnabled = false; bool isInMutuallyExclusiveGroup = false; bool isHeader = false; bool isObscured = false; @@ -27,21 +40,12 @@ struct SemanticsFlags { bool isHidden = false; bool isImage = false; bool isLiveRegion = false; - bool hasToggledState = false; - bool isToggled = false; bool hasImplicitScrolling = false; bool isMultiline = false; bool isReadOnly = false; - bool isFocusable = false; bool isLink = false; bool isSlider = false; bool isKeyboardKey = false; - bool isCheckStateMixed = false; - bool hasExpandedState = false; - bool isExpanded = false; - bool hasSelectedState = false; - bool hasRequiredState = false; - bool isRequired = false; }; //------------------------------------------------------------------------------ @@ -57,14 +61,15 @@ class NativeSemanticsFlags //---------------------------------------------------------------------------- /// The init method static void initSemanticsFlags(Dart_Handle semantics_flags_handle, - bool hasCheckedState, - bool isChecked, - bool isSelected, + int isChecked, + int isSelected, + int isEnabled, + int isToggled, + int isExpanded, + int isRequired, + int isFocused, bool isButton, bool isTextField, - bool isFocused, - bool hasEnabledState, - bool isEnabled, bool isInMutuallyExclusiveGroup, bool isHeader, bool isObscured, @@ -73,21 +78,12 @@ class NativeSemanticsFlags bool isHidden, bool isImage, bool isLiveRegion, - bool hasToggledState, - bool isToggled, bool hasImplicitScrolling, bool isMultiline, bool isReadOnly, - bool isFocusable, bool isLink, bool isSlider, - bool isKeyboardKey, - bool isCheckStateMixed, - bool hasExpandedState, - bool isExpanded, - bool hasSelectedState, - bool hasRequiredState, - bool isRequired); + bool isKeyboardKey); //---------------------------------------------------------------------------- /// Returns the c++ representataion of SemanticsFlags. diff --git a/engine/src/flutter/lib/ui/semantics/semantics_node.h b/engine/src/flutter/lib/ui/semantics/semantics_node.h index 7e1ff49fede79..602739ac433de 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_node.h +++ b/engine/src/flutter/lib/ui/semantics/semantics_node.h @@ -166,6 +166,7 @@ struct SemanticsNode { std::string linkUrl; SemanticsRole role; SemanticsValidationResult validationResult = SemanticsValidationResult::kNone; + std::string locale; }; // Contains semantic nodes that need to be updated. diff --git a/engine/src/flutter/lib/ui/semantics/semantics_update_builder.cc b/engine/src/flutter/lib/ui/semantics/semantics_update_builder.cc index b461dbe15e2be..e349d905bfeb0 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_update_builder.cc +++ b/engine/src/flutter/lib/ui/semantics/semantics_update_builder.cc @@ -69,7 +69,9 @@ void SemanticsUpdateBuilder::updateNode( std::string linkUrl, int role, const std::vector& controlsNodes, - int validationResult) { + int validationResult, + int inputType, + std::string locale) { FML_CHECK(scrollChildren == 0 || (scrollChildren > 0 && childrenInHitTestOrder.data())) << "Semantics update contained scrollChildren but did not have " @@ -125,6 +127,7 @@ void SemanticsUpdateBuilder::updateNode( node.role = static_cast(role); node.validationResult = static_cast(validationResult); + node.locale = std::move(locale); nodes_[id] = node; } diff --git a/engine/src/flutter/lib/ui/semantics/semantics_update_builder.h b/engine/src/flutter/lib/ui/semantics/semantics_update_builder.h index f70ef355c0cb7..40a64c1b12d2c 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_update_builder.h +++ b/engine/src/flutter/lib/ui/semantics/semantics_update_builder.h @@ -68,7 +68,9 @@ class SemanticsUpdateBuilder std::string linkUrl, int role, const std::vector& controlsNodes, - int validationResult); + int validationResult, + int inputType, + std::string locale); void updateCustomAction(int id, std::string label, diff --git a/engine/src/flutter/lib/ui/semantics/semantics_update_builder_unittests.cc b/engine/src/flutter/lib/ui/semantics/semantics_update_builder_unittests.cc index 20390c0038b45..23827f65bbf18 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_update_builder_unittests.cc +++ b/engine/src/flutter/lib/ui/semantics/semantics_update_builder_unittests.cc @@ -23,23 +23,25 @@ TEST_F(SemanticsUpdateBuilderTest, CanHandleAttributedStrings) { ASSERT_FALSE(Dart_IsError(result)); SemanticsUpdate* update = reinterpret_cast(peer); SemanticsNodeUpdates nodes = update->takeNodes(); - ASSERT_EQ(nodes.size(), (size_t)1); - auto node = nodes.find(0)->second; + ASSERT_EQ(nodes.size(), static_cast(1)); + auto found = nodes.find(0); + ASSERT_NE(found, nodes.end()); + SemanticsNode node = found->second; // Should match the updateNode in ui_test.dart. ASSERT_EQ(node.label, "label"); - ASSERT_EQ(node.labelAttributes.size(), (size_t)1); + ASSERT_EQ(node.labelAttributes.size(), static_cast(1)); ASSERT_EQ(node.labelAttributes[0]->start, 1); ASSERT_EQ(node.labelAttributes[0]->end, 2); ASSERT_EQ(node.labelAttributes[0]->type, StringAttributeType::kSpellOut); ASSERT_EQ(node.value, "value"); - ASSERT_EQ(node.valueAttributes.size(), (size_t)1); + ASSERT_EQ(node.valueAttributes.size(), static_cast(1)); ASSERT_EQ(node.valueAttributes[0]->start, 2); ASSERT_EQ(node.valueAttributes[0]->end, 3); ASSERT_EQ(node.valueAttributes[0]->type, StringAttributeType::kSpellOut); ASSERT_EQ(node.hint, "hint"); - ASSERT_EQ(node.hintAttributes.size(), (size_t)1); + ASSERT_EQ(node.hintAttributes.size(), static_cast(1)); ASSERT_EQ(node.hintAttributes[0]->start, 0); ASSERT_EQ(node.hintAttributes[0]->end, 1); ASSERT_EQ(node.hintAttributes[0]->type, StringAttributeType::kLocale); @@ -48,14 +50,14 @@ TEST_F(SemanticsUpdateBuilderTest, CanHandleAttributedStrings) { ASSERT_EQ(local_attribute->locale, "en-MX"); ASSERT_EQ(node.increasedValue, "increasedValue"); - ASSERT_EQ(node.increasedValueAttributes.size(), (size_t)1); + ASSERT_EQ(node.increasedValueAttributes.size(), static_cast(1)); ASSERT_EQ(node.increasedValueAttributes[0]->start, 4); ASSERT_EQ(node.increasedValueAttributes[0]->end, 5); ASSERT_EQ(node.increasedValueAttributes[0]->type, StringAttributeType::kSpellOut); ASSERT_EQ(node.decreasedValue, "decreasedValue"); - ASSERT_EQ(node.decreasedValueAttributes.size(), (size_t)1); + ASSERT_EQ(node.decreasedValueAttributes.size(), static_cast(1)); ASSERT_EQ(node.decreasedValueAttributes[0]->start, 5); ASSERT_EQ(node.decreasedValueAttributes[0]->end, 6); ASSERT_EQ(node.decreasedValueAttributes[0]->type, @@ -99,8 +101,9 @@ TEST_F(SemanticsUpdateBuilderTest, CanHandleSemanticsRole) { ASSERT_FALSE(Dart_IsError(result)); SemanticsUpdate* update = reinterpret_cast(peer); SemanticsNodeUpdates nodes = update->takeNodes(); - ASSERT_EQ(nodes.size(), (size_t)1); - auto node = nodes.find(0)->second; + auto found = nodes.find(0); + ASSERT_NE(found, nodes.end()); + SemanticsNode node = found->second; // Should match the updateNode in ui_test.dart. ASSERT_EQ(node.role, SemanticsRole::kTab); message_latch->Signal(); @@ -123,7 +126,97 @@ TEST_F(SemanticsUpdateBuilderTest, CanHandleSemanticsRole) { auto configuration = RunConfiguration::InferFromSettings(settings); configuration.SetEntrypoint("sendSemanticsUpdateWithRole"); - shell->RunEngine(std::move(configuration), [](auto result) { + shell->RunEngine(std::move(configuration), [](Engine::RunStatus result) { + ASSERT_EQ(result, Engine::RunStatus::Success); + }); + + message_latch->Wait(); + DestroyShell(std::move(shell), task_runners); +} + +TEST_F(SemanticsUpdateBuilderTest, CanHandleSemanticsLocale) { + auto message_latch = std::make_shared(); + + auto nativeSemanticsUpdate = [message_latch](Dart_NativeArguments args) { + auto handle = Dart_GetNativeArgument(args, 0); + intptr_t peer = 0; + Dart_Handle result = Dart_GetNativeInstanceField( + handle, tonic::DartWrappable::kPeerIndex, &peer); + ASSERT_FALSE(Dart_IsError(result)); + SemanticsUpdate* update = reinterpret_cast(peer); + SemanticsNodeUpdates nodes = update->takeNodes(); + ASSERT_EQ(nodes.size(), static_cast(1)); + auto found = nodes.find(0); + ASSERT_NE(found, nodes.end()); + SemanticsNode node = found->second; + // Should match the updateNode in ui_test.dart. + ASSERT_EQ(node.locale, "es-MX"); + message_latch->Signal(); + }; + + Settings settings = CreateSettingsForFixture(); + TaskRunners task_runners("test", // label + GetCurrentTaskRunner(), // platform + CreateNewThread(), // raster + CreateNewThread(), // ui + CreateNewThread() // io + ); + + AddNativeCallback("SemanticsUpdate", + CREATE_NATIVE_ENTRY(nativeSemanticsUpdate)); + + std::unique_ptr shell = CreateShell(settings, task_runners); + + ASSERT_TRUE(shell->IsSetup()); + auto configuration = RunConfiguration::InferFromSettings(settings); + configuration.SetEntrypoint("sendSemanticsUpdateWithLocale"); + + shell->RunEngine(std::move(configuration), [](Engine::RunStatus result) { + ASSERT_EQ(result, Engine::RunStatus::Success); + }); + + message_latch->Wait(); + DestroyShell(std::move(shell), task_runners); +} + +TEST_F(SemanticsUpdateBuilderTest, CanSetIsLink) { + auto message_latch = std::make_shared(); + + auto nativeSemanticsUpdate = [message_latch](Dart_NativeArguments args) { + auto handle = Dart_GetNativeArgument(args, 0); + intptr_t peer = 0; + Dart_Handle result = Dart_GetNativeInstanceField( + handle, tonic::DartWrappable::kPeerIndex, &peer); + ASSERT_FALSE(Dart_IsError(result)); + SemanticsUpdate* update = reinterpret_cast(peer); + SemanticsNodeUpdates nodes = update->takeNodes(); + ASSERT_EQ(nodes.size(), static_cast(1)); + auto found = nodes.find(0); + ASSERT_NE(found, nodes.end()); + SemanticsNode node = found->second; + // Should match the updateNode in ui_test.dart. + ASSERT_TRUE(node.flags.isLink); + message_latch->Signal(); + }; + + Settings settings = CreateSettingsForFixture(); + TaskRunners task_runners("test", // label + GetCurrentTaskRunner(), // platform + CreateNewThread(), // raster + CreateNewThread(), // ui + CreateNewThread() // io + ); + + AddNativeCallback("SemanticsUpdate", + CREATE_NATIVE_ENTRY(nativeSemanticsUpdate)); + + std::unique_ptr shell = CreateShell(settings, task_runners); + + ASSERT_TRUE(shell->IsSetup()); + auto configuration = RunConfiguration::InferFromSettings(settings); + configuration.SetEntrypoint("sendSemanticsUpdateWithIsLink"); + + shell->RunEngine(std::move(configuration), [](Engine::RunStatus result) { ASSERT_EQ(result, Engine::RunStatus::Success); }); diff --git a/engine/src/flutter/lib/ui/snapshot_delegate.h b/engine/src/flutter/lib/ui/snapshot_delegate.h index 7b39e22a1c186..7d61c54a0e90e 100644 --- a/engine/src/flutter/lib/ui/snapshot_delegate.h +++ b/engine/src/flutter/lib/ui/snapshot_delegate.h @@ -91,6 +91,11 @@ class SnapshotDelegate { /// Impeller only. virtual void CacheRuntimeStage( const std::shared_ptr& runtime_stage) = 0; + + /// Bind a context to the current thread that can execute rendering commands. + /// + /// Impeller only. + virtual bool MakeRenderContextCurrent() = 0; }; } // namespace flutter diff --git a/engine/src/flutter/lib/ui/window.dart b/engine/src/flutter/lib/ui/window.dart index a27906ace275e..3af4bb9af8183 100644 --- a/engine/src/flutter/lib/ui/window.dart +++ b/engine/src/flutter/lib/ui/window.dart @@ -145,7 +145,7 @@ class FlutterView { /// /// The view can take on any [Size] that fulfills these constraints. These /// constraints are typically used by an UI framework as the input for its - /// layout algorithm to determine an approrpiate size for the view. To size + /// layout algorithm to determine an appropriate size for the view. To size /// the view, the selected size must be provided to the [render] method and it /// must satisfy the constraints. /// @@ -164,10 +164,7 @@ class FlutterView { /// See also: /// /// * [physicalSize], which returns the current size of the view. - // TODO(goderbauer): Wire this up so embedders can configure it. This will - // also require to message the size provided to the render call back to the - // embedder. - ViewConstraints get physicalConstraints => ViewConstraints.tight(physicalSize); + ViewConstraints get physicalConstraints => _viewConfiguration.viewConstraints; /// The current dimensions of the rectangle as last reported by the platform /// into which scenes rendered in this view are drawn. @@ -390,9 +387,8 @@ class FlutterView { /// Change the retained semantics data about this [FlutterView]. /// - /// If [PlatformDispatcher.semanticsEnabled] is true, the user has requested that this function - /// be called whenever the semantic content of this [FlutterView] - /// changes. + /// [PlatformDispatcher.setSemanticsTreeEnabled] must be called with true + /// before sending update through this method. /// /// This function disposes the given update, which means the semantics update /// cannot be used further. diff --git a/engine/src/flutter/lib/ui/window/platform_configuration.cc b/engine/src/flutter/lib/ui/window/platform_configuration.cc index c47a45ea0af24..2edeb2cf59850 100644 --- a/engine/src/flutter/lib/ui/window/platform_configuration.cc +++ b/engine/src/flutter/lib/ui/window/platform_configuration.cc @@ -126,6 +126,10 @@ bool PlatformConfiguration::AddView(int64_t view_id, tonic::ToDart(view_metrics.physical_display_features_type), tonic::ToDart(view_metrics.physical_display_features_state), tonic::ToDart(view_metrics.display_id), + tonic::ToDart(view_metrics.physical_min_width_constraint), + tonic::ToDart(view_metrics.physical_max_width_constraint), + tonic::ToDart(view_metrics.physical_min_height_constraint), + tonic::ToDart(view_metrics.physical_max_height_constraint), })); return true; } @@ -224,6 +228,10 @@ bool PlatformConfiguration::UpdateViewMetrics( tonic::ToDart(view_metrics.physical_display_features_type), tonic::ToDart(view_metrics.physical_display_features_state), tonic::ToDart(view_metrics.display_id), + tonic::ToDart(view_metrics.physical_min_width_constraint), + tonic::ToDart(view_metrics.physical_max_width_constraint), + tonic::ToDart(view_metrics.physical_min_height_constraint), + tonic::ToDart(view_metrics.physical_max_height_constraint), })); return true; } @@ -669,6 +677,14 @@ void PlatformConfigurationNativeApi::UpdateSemantics(int64_t view_id, view_id, update); } +void PlatformConfigurationNativeApi::SetSemanticsTreeEnabled(bool enabled) { + UIDartState::ThrowIfUIOperationsProhibited(); + UIDartState::Current() + ->platform_configuration() + ->client() + ->SetSemanticsTreeEnabled(enabled); +} + Dart_Handle PlatformConfigurationNativeApi::ComputePlatformResolvedLocale( Dart_Handle supportedLocalesHandle) { UIDartState::ThrowIfUIOperationsProhibited(); diff --git a/engine/src/flutter/lib/ui/window/platform_configuration.h b/engine/src/flutter/lib/ui/window/platform_configuration.h index 36e5ddac1ffca..0f30732923464 100644 --- a/engine/src/flutter/lib/ui/window/platform_configuration.h +++ b/engine/src/flutter/lib/ui/window/platform_configuration.h @@ -98,6 +98,13 @@ class PlatformConfigurationClient { /// virtual void UpdateSemantics(int64_t viewId, SemanticsUpdate* update) = 0; + //-------------------------------------------------------------------------- + /// @brief Notifies whether Framework starts generating semantics tree. + /// + /// @param[in] enabled True if Framework starts generating semantics tree. + /// + virtual void SetSemanticsTreeEnabled(bool enabled) = 0; + //-------------------------------------------------------------------------- /// @brief When the Flutter application has a message to send to the /// underlying platform, the message needs to be forwarded to @@ -626,6 +633,8 @@ class PlatformConfigurationNativeApi { static void UpdateSemantics(int64_t viewId, SemanticsUpdate* update); + static void SetSemanticsTreeEnabled(bool enabled); + static void SetNeedsReportTimings(bool value); static Dart_Handle GetPersistentIsolateData(); diff --git a/engine/src/flutter/lib/ui/window/viewport_metrics.cc b/engine/src/flutter/lib/ui/window/viewport_metrics.cc index 05d01c47c8e34..14919d9436756 100644 --- a/engine/src/flutter/lib/ui/window/viewport_metrics.cc +++ b/engine/src/flutter/lib/ui/window/viewport_metrics.cc @@ -18,13 +18,20 @@ ViewportMetrics::ViewportMetrics(double p_device_pixel_ratio, : device_pixel_ratio(p_device_pixel_ratio), physical_width(p_physical_width), physical_height(p_physical_height), + physical_min_width_constraint(p_physical_width), + physical_max_width_constraint(p_physical_width), + physical_min_height_constraint(p_physical_height), + physical_max_height_constraint(p_physical_height), physical_touch_slop(p_physical_touch_slop), display_id(p_display_id) {} - ViewportMetrics::ViewportMetrics( double p_device_pixel_ratio, double p_physical_width, double p_physical_height, + double p_physical_min_width_constraint, + double p_physical_max_width_constraint, + double p_physical_min_height_constraint, + double p_physical_max_height_constraint, double p_physical_padding_top, double p_physical_padding_right, double p_physical_padding_bottom, @@ -45,6 +52,10 @@ ViewportMetrics::ViewportMetrics( : device_pixel_ratio(p_device_pixel_ratio), physical_width(p_physical_width), physical_height(p_physical_height), + physical_min_width_constraint(p_physical_min_width_constraint), + physical_max_width_constraint(p_physical_max_width_constraint), + physical_min_height_constraint(p_physical_min_height_constraint), + physical_max_height_constraint(p_physical_max_height_constraint), physical_padding_top(p_physical_padding_top), physical_padding_right(p_physical_padding_right), physical_padding_bottom(p_physical_padding_bottom), @@ -69,6 +80,10 @@ bool operator==(const ViewportMetrics& a, const ViewportMetrics& b) { return a.device_pixel_ratio == b.device_pixel_ratio && a.physical_width == b.physical_width && a.physical_height == b.physical_height && + a.physical_min_width_constraint == b.physical_min_width_constraint && + a.physical_max_width_constraint == b.physical_max_width_constraint && + a.physical_min_height_constraint == b.physical_min_height_constraint && + a.physical_max_height_constraint == b.physical_max_height_constraint && a.physical_padding_top == b.physical_padding_top && a.physical_padding_right == b.physical_padding_right && a.physical_padding_bottom == b.physical_padding_bottom && @@ -99,6 +114,10 @@ std::ostream& operator<<(std::ostream& os, const ViewportMetrics& a) { << "W " << a.physical_height << "H] " << "Padding: [" << a.physical_padding_top << "T " << a.physical_padding_right << "R " << a.physical_padding_bottom << "B " << a.physical_padding_left << "L] " + << "View Constraints: [" << a.physical_min_width_constraint << "-" + << a.physical_max_width_constraint << "W " + << a.physical_min_height_constraint << "-" + << a.physical_max_height_constraint << "H] " << "Insets: [" << a.physical_view_inset_top << "T " << a.physical_view_inset_right << "R " << a.physical_view_inset_bottom << "B " << a.physical_view_inset_left << "L] " << "Gesture Insets: [" diff --git a/engine/src/flutter/lib/ui/window/viewport_metrics.h b/engine/src/flutter/lib/ui/window/viewport_metrics.h index 13a0dee9439ea..2ec2aaeff610b 100644 --- a/engine/src/flutter/lib/ui/window/viewport_metrics.h +++ b/engine/src/flutter/lib/ui/window/viewport_metrics.h @@ -20,6 +20,10 @@ struct ViewportMetrics { ViewportMetrics(double p_device_pixel_ratio, double p_physical_width, double p_physical_height, + double p_physical_min_width_constraint, + double p_physical_max_width_constraint, + double p_physical_min_height_constraint, + double p_physical_max_height_constraint, double p_physical_padding_top, double p_physical_padding_right, double p_physical_padding_bottom, @@ -37,10 +41,13 @@ struct ViewportMetrics { const std::vector& p_physical_display_features_type, const std::vector& p_physical_display_features_state, size_t p_display_id); - double device_pixel_ratio = 1.0; double physical_width = 0; double physical_height = 0; + double physical_min_width_constraint = 0; + double physical_max_width_constraint = 0; + double physical_min_height_constraint = 0; + double physical_max_height_constraint = 0; double physical_padding_top = 0; double physical_padding_right = 0; double physical_padding_bottom = 0; diff --git a/engine/src/flutter/lib/web_ui/README.md b/engine/src/flutter/lib/web_ui/README.md index 5739b5300ebfb..5707f2cec7e9f 100644 --- a/engine/src/flutter/lib/web_ui/README.md +++ b/engine/src/flutter/lib/web_ui/README.md @@ -270,7 +270,7 @@ Run a Flutter app in debug mode using your locally built Web Engine artifacts: flutter run --local-web-sdk=wasm_release --debug -d web-server --web-port 8080 ``` To see your Flutter app, navigate your browser to http://localhost:8080. - + This option is useful if you want to keep your browser window when you you restart `flutter run`, or, if you need to debug using browsers that aren't supported by `flutter run`, such as Firefox and Safari. @@ -335,7 +335,7 @@ Once you know the version for the Emscripten SDK, change the line in -[1]: https://github.com/flutter/flutter/blob/main/engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md +[1]: https://github.com/flutter/flutter/blob/main/docs/engine/contributing/Setting-up-the-Engine-development-environment.md [2]: https://github.com/flutter/flutter/blob/main/engine/src/flutter/lib/web_ui/test/README.md [3]: https://github.com/flutter/flutter/blob/main/engine/src/flutter/lib/web_ui/dev/package_lock.yaml [4]: https://chrome-infra-packages.appspot.com/p/flutter_internal @@ -343,7 +343,3 @@ Once you know the version for the Emscripten SDK, change the line in [6]: https://chromium.googlesource.com/chromium/src.git/+/main/docs/cipd_and_3pp.md#What-is-CIPD [7]: https://developer.chrome.com/docs/devtools [8]: https://developer.chrome.com/docs/devtools/sources - -## Unicode properties - -We pull the unicode properties we need from `third_party/web_unicode`. See `third_party/web_unicode/README.md` for more details on how we generate Dart code from unicode properties. diff --git a/engine/src/flutter/lib/web_ui/dev/common.dart b/engine/src/flutter/lib/web_ui/dev/common.dart index 6c9ecfab227ac..4a4af8f414bc7 100644 --- a/engine/src/flutter/lib/web_ui/dev/common.dart +++ b/engine/src/flutter/lib/web_ui/dev/common.dart @@ -258,6 +258,31 @@ final String gitRevision = () { return (result.stdout as String).trim(); }(); +final String contentHash = () { + final String executable; + final List args; + if (io.Platform.isWindows) { + executable = 'powershell'; + args = [path.join('bin', 'internal', 'content_aware_hash.ps1')]; + } else { + executable = path.join('bin', 'internal', 'content_aware_hash.sh'); + args = []; + } + final result = io.Process.runSync( + executable, + args, + workingDirectory: environment.flutterRootDir.path, + stderrEncoding: utf8, + stdoutEncoding: utf8, + ); + if (result.exitCode != 0) { + throw ToolExit( + 'Failed to get content hash. Exit code: ${result.exitCode} Error: ${result.stderr}', + ); + } + return (result.stdout as String).trim(); +}(); + const String kChrome = 'chrome'; const String kEdge = 'edge'; const String kFirefox = 'firefox'; diff --git a/engine/src/flutter/lib/web_ui/dev/environment.dart b/engine/src/flutter/lib/web_ui/dev/environment.dart index 47a7255f8af34..19b6629cd3bfc 100644 --- a/engine/src/flutter/lib/web_ui/dev/environment.dart +++ b/engine/src/flutter/lib/web_ui/dev/environment.dart @@ -24,6 +24,7 @@ class Environment { final io.File self = io.File.fromUri(io.Platform.script); final io.Directory engineSrcDir = self.parent.parent.parent.parent.parent; + final io.Directory flutterRootDir = engineSrcDir.parent.parent; final io.Directory engineToolsDir = io.Directory( pathlib.join(engineSrcDir.path, 'flutter', 'tools'), ); @@ -52,6 +53,7 @@ class Environment { isMacosArm: isMacosArm, webUiRootDir: webUiRootDir, engineSrcDir: engineSrcDir, + flutterRootDir: flutterRootDir, engineToolsDir: engineToolsDir, outDir: outDir, wasmReleaseOutDir: wasmReleaseOutDir, @@ -67,6 +69,7 @@ class Environment { required this.isMacosArm, required this.webUiRootDir, required this.engineSrcDir, + required this.flutterRootDir, required this.engineToolsDir, required this.outDir, required this.wasmReleaseOutDir, @@ -137,6 +140,9 @@ class Environment { 'dart2wasm.dart', ); + /// Path to the root flutter directory (which itself contains `engine/src/flutter`). + final io.Directory flutterRootDir; + /// Path to where github.com/flutter/engine is checked out inside the engine workspace. io.Directory get flutterDirectory => io.Directory(pathlib.join(engineSrcDir.path, 'flutter')); io.Directory get webSdkRootDir => io.Directory(pathlib.join(flutterDirectory.path, 'web_sdk')); diff --git a/engine/src/flutter/lib/web_ui/dev/steps/copy_artifacts_step.dart b/engine/src/flutter/lib/web_ui/dev/steps/copy_artifacts_step.dart index 56918bec5dd6e..d0629b34a67a2 100644 --- a/engine/src/flutter/lib/web_ui/dev/steps/copy_artifacts_step.dart +++ b/engine/src/flutter/lib/web_ui/dev/steps/copy_artifacts_step.dart @@ -57,7 +57,7 @@ class CopyArtifactsStep implements PipelineStep { }; final Uri url = Uri.https( 'storage.googleapis.com', - '${realmComponent}flutter_infra_release/flutter/$gitRevision/flutter-web-sdk.zip', + '${realmComponent}flutter_infra_release/flutter/${realm == LuciRealm.Try ? gitRevision : contentHash}/flutter-web-sdk.zip', ); final http.Response response = await http.Client().get(url); if (response.statusCode != 200) { diff --git a/engine/src/flutter/lib/web_ui/flutter_js/src/loader.js b/engine/src/flutter/lib/web_ui/flutter_js/src/loader.js index 2de53401aac63..a94bbd2d1cf33 100644 --- a/engine/src/flutter/lib/web_ui/flutter_js/src/loader.js +++ b/engine/src/flutter/lib/web_ui/flutter_js/src/loader.js @@ -89,19 +89,11 @@ export class FlutterLoader { } } - /** - * @param {import("./types").ApplicationBuild} build - * @param {import("./types").WebRenderer} renderer - **/ - const buildContainsRenderer = (build, renderer) => { - return build.renderer == renderer; - } - const buildIsCompatible = (build) => { if (build.compileTarget === "dart2wasm" && !supportsDart2Wasm) { return false; } - if (config.renderer && !buildContainsRenderer(build, config.renderer)) { + if (config.renderer && config.renderer != build.renderer) { return false; } return rendererIsCompatible(build.renderer); diff --git a/engine/src/flutter/lib/web_ui/lib/platform_dispatcher.dart b/engine/src/flutter/lib/web_ui/lib/platform_dispatcher.dart index b4dd689d5a908..36b74594828ef 100644 --- a/engine/src/flutter/lib/web_ui/lib/platform_dispatcher.dart +++ b/engine/src/flutter/lib/web_ui/lib/platform_dispatcher.dart @@ -85,6 +85,8 @@ abstract class PlatformDispatcher { void scheduleWarmUpFrame({required VoidCallback beginFrame, required VoidCallback drawFrame}); + void setSemanticsTreeEnabled(bool enabled) {} + AccessibilityFeatures get accessibilityFeatures; VoidCallback? get onAccessibilityFeaturesChanged; diff --git a/engine/src/flutter/lib/web_ui/lib/semantics.dart b/engine/src/flutter/lib/web_ui/lib/semantics.dart index be506502a0092..b313a1a1703a2 100644 --- a/engine/src/flutter/lib/web_ui/lib/semantics.dart +++ b/engine/src/flutter/lib/web_ui/lib/semantics.dart @@ -265,17 +265,76 @@ class SemanticsFlag { String toString() => 'SemanticsFlag.$name'; } +// Mirrors engine/src/flutter/lib/ui/semantics.dart +enum CheckedState { + none(0), + isTrue(1), + isFalse(2), + mixed(3); + + const CheckedState(this.value); + final int value; + + bool hasConflict(CheckedState other) => this != CheckedState.none && other != CheckedState.none; + + CheckedState merge(CheckedState other) { + if (this == CheckedState.mixed || other == CheckedState.mixed) { + return CheckedState.mixed; + } + if (this == CheckedState.isTrue || other == CheckedState.isTrue) { + return CheckedState.isTrue; + } + if (this == CheckedState.isFalse || other == CheckedState.isFalse) { + return CheckedState.isFalse; + } + return CheckedState.none; + } +} + +enum Tristate { + none(0), + isTrue(1), + isFalse(2); + + const Tristate(this.value); + final int value; + + bool hasConflict(Tristate other) => this != Tristate.none && other != Tristate.none; + + Tristate merge(Tristate other) { + if (this == Tristate.isTrue || other == Tristate.isTrue) { + return Tristate.isTrue; + } + if (this == Tristate.isFalse || other == Tristate.isFalse) { + return Tristate.isFalse; + } + return Tristate.none; + } + + bool? toBoolOrNull() { + switch (this) { + case Tristate.none: + return null; + case Tristate.isTrue: + return true; + case Tristate.isFalse: + return false; + } + } +} + // Mirrors engine/src/flutter/lib/ui/semantics.dart class SemanticsFlags { const SemanticsFlags({ - this.hasCheckedState = false, - this.isChecked = false, - this.isSelected = false, + this.isChecked = CheckedState.none, + this.isSelected = Tristate.none, + this.isEnabled = Tristate.none, + this.isToggled = Tristate.none, + this.isExpanded = Tristate.none, + this.isRequired = Tristate.none, + this.isFocused = Tristate.none, this.isButton = false, this.isTextField = false, - this.isFocused = false, - this.hasEnabledState = false, - this.isEnabled = false, this.isInMutuallyExclusiveGroup = false, this.isHeader = false, this.isObscured = false, @@ -284,31 +343,23 @@ class SemanticsFlags { this.isHidden = false, this.isImage = false, this.isLiveRegion = false, - this.hasToggledState = false, - this.isToggled = false, this.hasImplicitScrolling = false, this.isMultiline = false, this.isReadOnly = false, - this.isFocusable = false, this.isLink = false, this.isSlider = false, this.isKeyboardKey = false, - this.isCheckStateMixed = false, - this.hasExpandedState = false, - this.isExpanded = false, - this.hasSelectedState = false, - this.hasRequiredState = false, - this.isRequired = false, }); static const SemanticsFlags none = SemanticsFlags(); - final bool hasCheckedState; - final bool isChecked; - final bool isSelected; + final CheckedState isChecked; + final Tristate isSelected; + final Tristate isEnabled; + final Tristate isToggled; + final Tristate isExpanded; + final Tristate isRequired; + final Tristate isFocused; final bool isButton; final bool isTextField; - final bool isFocused; - final bool hasEnabledState; - final bool isEnabled; final bool isInMutuallyExclusiveGroup; final bool isHeader; final bool isObscured; @@ -317,32 +368,24 @@ class SemanticsFlags { final bool isHidden; final bool isImage; final bool isLiveRegion; - final bool hasToggledState; - final bool isToggled; final bool hasImplicitScrolling; final bool isMultiline; final bool isReadOnly; - final bool isFocusable; final bool isLink; final bool isSlider; final bool isKeyboardKey; - final bool isCheckStateMixed; - final bool hasExpandedState; - final bool isExpanded; - final bool hasSelectedState; - final bool hasRequiredState; - final bool isRequired; SemanticsFlags merge(SemanticsFlags other) { return SemanticsFlags( - hasCheckedState: hasCheckedState || other.hasCheckedState, - isChecked: isChecked || other.isChecked, - isSelected: isSelected || other.isSelected, + isChecked: isChecked.merge(other.isChecked), + isSelected: isSelected.merge(other.isSelected), + isEnabled: isEnabled.merge(other.isEnabled), + isToggled: isToggled.merge(other.isToggled), + isExpanded: isExpanded.merge(other.isExpanded), + isRequired: isRequired.merge(other.isRequired), + isFocused: isFocused.merge(other.isFocused), isButton: isButton || other.isButton, isTextField: isTextField || other.isTextField, - isFocused: isFocused || other.isFocused, - hasEnabledState: hasEnabledState || other.hasEnabledState, - isEnabled: isEnabled || other.isEnabled, isInMutuallyExclusiveGroup: isInMutuallyExclusiveGroup || other.isInMutuallyExclusiveGroup, isHeader: isHeader || other.isHeader, isObscured: isObscured || other.isObscured, @@ -351,33 +394,25 @@ class SemanticsFlags { isHidden: isHidden || other.isHidden, isImage: isImage || other.isImage, isLiveRegion: isLiveRegion || other.isLiveRegion, - hasToggledState: hasToggledState || other.hasToggledState, - isToggled: isToggled || other.isToggled, hasImplicitScrolling: hasImplicitScrolling || other.hasImplicitScrolling, isMultiline: isMultiline || other.isMultiline, isReadOnly: isReadOnly || other.isReadOnly, - isFocusable: isFocusable || other.isFocusable, isLink: isLink || other.isLink, isSlider: isSlider || other.isSlider, isKeyboardKey: isKeyboardKey || other.isKeyboardKey, - isCheckStateMixed: isCheckStateMixed || other.isCheckStateMixed, - hasExpandedState: hasExpandedState || other.hasExpandedState, - isExpanded: isExpanded || other.isExpanded, - hasSelectedState: hasSelectedState || other.hasSelectedState, - hasRequiredState: hasRequiredState || other.hasRequiredState, - isRequired: isRequired || other.isRequired, ); } SemanticsFlags copyWith({ - bool? hasCheckedState, - bool? isChecked, - bool? isSelected, + CheckedState? isChecked, + Tristate? isSelected, + Tristate? isEnabled, + Tristate? isToggled, + Tristate? isExpanded, + Tristate? isRequired, + Tristate? isFocused, bool? isButton, bool? isTextField, - bool? isFocused, - bool? hasEnabledState, - bool? isEnabled, bool? isInMutuallyExclusiveGroup, bool? isHeader, bool? isObscured, @@ -386,30 +421,19 @@ class SemanticsFlags { bool? isHidden, bool? isImage, bool? isLiveRegion, - bool? hasToggledState, - bool? isToggled, bool? hasImplicitScrolling, bool? isMultiline, bool? isReadOnly, - bool? isFocusable, bool? isLink, bool? isSlider, bool? isKeyboardKey, - bool? isCheckStateMixed, - bool? hasExpandedState, - bool? isExpanded, - bool? hasSelectedState, - bool? hasRequiredState, - bool? isRequired, }) { return SemanticsFlags( - hasCheckedState: hasCheckedState ?? this.hasCheckedState, isChecked: isChecked ?? this.isChecked, isSelected: isSelected ?? this.isSelected, isButton: isButton ?? this.isButton, isTextField: isTextField ?? this.isTextField, isFocused: isFocused ?? this.isFocused, - hasEnabledState: hasEnabledState ?? this.hasEnabledState, isEnabled: isEnabled ?? this.isEnabled, isInMutuallyExclusiveGroup: isInMutuallyExclusiveGroup ?? this.isInMutuallyExclusiveGroup, isHeader: isHeader ?? this.isHeader, @@ -419,20 +443,14 @@ class SemanticsFlags { isHidden: isHidden ?? this.isHidden, isImage: isImage ?? this.isImage, isLiveRegion: isLiveRegion ?? this.isLiveRegion, - hasToggledState: hasToggledState ?? this.hasToggledState, isToggled: isToggled ?? this.isToggled, hasImplicitScrolling: hasImplicitScrolling ?? this.hasImplicitScrolling, isMultiline: isMultiline ?? this.isMultiline, isReadOnly: isReadOnly ?? this.isReadOnly, - isFocusable: isFocusable ?? this.isFocusable, isLink: isLink ?? this.isLink, isSlider: isSlider ?? this.isSlider, isKeyboardKey: isKeyboardKey ?? this.isKeyboardKey, - isCheckStateMixed: isCheckStateMixed ?? this.isCheckStateMixed, - hasExpandedState: hasExpandedState ?? this.hasExpandedState, isExpanded: isExpanded ?? this.isExpanded, - hasSelectedState: hasSelectedState ?? this.hasSelectedState, - hasRequiredState: hasRequiredState ?? this.hasRequiredState, isRequired: isRequired ?? this.isRequired, ); } @@ -442,14 +460,15 @@ class SemanticsFlags { identical(this, other) || other is SemanticsFlags && runtimeType == other.runtimeType && - hasCheckedState == other.hasCheckedState && isChecked == other.isChecked && isSelected == other.isSelected && + isEnabled == other.isEnabled && + isToggled == other.isToggled && + isExpanded == other.isExpanded && + isRequired == other.isRequired && + isFocused == other.isFocused && isButton == other.isButton && isTextField == other.isTextField && - isFocused == other.isFocused && - hasEnabledState == other.hasEnabledState && - isEnabled == other.isEnabled && isInMutuallyExclusiveGroup == other.isInMutuallyExclusiveGroup && isHeader == other.isHeader && isObscured == other.isObscured && @@ -458,32 +477,24 @@ class SemanticsFlags { isHidden == other.isHidden && isImage == other.isImage && isLiveRegion == other.isLiveRegion && - hasToggledState == other.hasToggledState && - isToggled == other.isToggled && hasImplicitScrolling == other.hasImplicitScrolling && isMultiline == other.isMultiline && isReadOnly == other.isReadOnly && - isFocusable == other.isFocusable && isLink == other.isLink && isSlider == other.isSlider && - isKeyboardKey == other.isKeyboardKey && - isCheckStateMixed == other.isCheckStateMixed && - hasExpandedState == other.hasExpandedState && - isExpanded == other.isExpanded && - hasSelectedState == other.hasSelectedState && - hasRequiredState == other.hasRequiredState && - isRequired == other.isRequired; + isKeyboardKey == other.isKeyboardKey; @override - int get hashCode => Object.hashAll([ - hasCheckedState, + int get hashCode => Object.hashAll([ isChecked, isSelected, + isEnabled, + isToggled, + isExpanded, + isRequired, + isFocused, isButton, isTextField, - isFocused, - hasEnabledState, - isEnabled, isInMutuallyExclusiveGroup, isHeader, isObscured, @@ -492,33 +503,24 @@ class SemanticsFlags { isHidden, isImage, isLiveRegion, - hasToggledState, - isToggled, hasImplicitScrolling, isMultiline, isReadOnly, - isFocusable, isLink, isSlider, isKeyboardKey, - isCheckStateMixed, - hasExpandedState, - isExpanded, - hasSelectedState, - hasRequiredState, - isRequired, ]); List toStrings() { return [ - if (hasCheckedState) 'hasCheckedState', - if (isChecked) 'isChecked', - if (isSelected) 'isSelected', + if (isChecked != CheckedState.none) 'hasCheckedState', + if (isChecked == CheckedState.isTrue) 'isChecked', + if (isSelected == Tristate.isTrue) 'isSelected', if (isButton) 'isButton', if (isTextField) 'isTextField', - if (isFocused) 'isFocused', - if (hasEnabledState) 'hasEnabledState', - if (isEnabled) 'isEnabled', + if (isFocused == Tristate.isTrue) 'isFocused', + if (isEnabled != Tristate.none) 'hasEnabledState', + if (isEnabled == Tristate.isTrue) 'isEnabled', if (isInMutuallyExclusiveGroup) 'isInMutuallyExclusiveGroup', if (isHeader) 'isHeader', if (isObscured) 'isObscured', @@ -527,33 +529,35 @@ class SemanticsFlags { if (isHidden) 'isHidden', if (isImage) 'isImage', if (isLiveRegion) 'isLiveRegion', - if (hasToggledState) 'hasToggledState', - if (isToggled) 'isToggled', + if (isToggled != Tristate.none) 'hasToggledState', + if (isToggled == Tristate.isTrue) 'isToggled', if (hasImplicitScrolling) 'hasImplicitScrolling', if (isMultiline) 'isMultiline', if (isReadOnly) 'isReadOnly', - if (isFocusable) 'isFocusable', + if (isFocused != Tristate.none) 'isFocusable', if (isLink) 'isLink', if (isSlider) 'isSlider', if (isKeyboardKey) 'isKeyboardKey', - if (isCheckStateMixed) 'isCheckStateMixed', - if (hasExpandedState) 'hasExpandedState', - if (isExpanded) 'isExpanded', - if (hasSelectedState) 'hasSelectedState', - if (hasRequiredState) 'hasRequiredState', - if (isRequired) 'isRequired', + if (isChecked == CheckedState.mixed) 'isCheckStateMixed', + if (isExpanded != Tristate.none) 'hasExpandedState', + if (isExpanded == Tristate.isTrue) 'isExpanded', + if (isSelected != Tristate.none) 'hasSelectedState', + if (isRequired != Tristate.none) 'hasRequiredState', + if (isRequired == Tristate.isTrue) 'isRequired', ]; } bool hasRepeatedFlags(SemanticsFlags other) { - return (hasCheckedState && other.hasCheckedState) || - (isChecked && other.isChecked) || - (isSelected && other.isSelected) || + return isChecked.hasConflict(other.isChecked) || + isSelected.hasConflict(other.isSelected) || + isEnabled.hasConflict(other.isEnabled) || + isToggled.hasConflict(other.isToggled) || + isEnabled.hasConflict(other.isEnabled) || + isExpanded.hasConflict(other.isExpanded) || + isRequired.hasConflict(other.isRequired) || + isFocused.hasConflict(other.isFocused) || (isButton && other.isButton) || (isTextField && other.isTextField) || - (isFocused && other.isFocused) || - (hasEnabledState && other.hasEnabledState) || - (isEnabled && other.isEnabled) || (isInMutuallyExclusiveGroup && other.isInMutuallyExclusiveGroup) || (isHeader && other.isHeader) || (isObscured && other.isObscured) || @@ -562,21 +566,12 @@ class SemanticsFlags { (isHidden && other.isHidden) || (isImage && other.isImage) || (isLiveRegion && other.isLiveRegion) || - (hasToggledState && other.hasToggledState) || - (isToggled && other.isToggled) || (hasImplicitScrolling && other.hasImplicitScrolling) || (isMultiline && other.isMultiline) || (isReadOnly && other.isReadOnly) || - (isFocusable && other.isFocusable) || (isLink && other.isLink) || (isSlider && other.isSlider) || - (isKeyboardKey && other.isKeyboardKey) || - (isCheckStateMixed && other.isCheckStateMixed) || - (hasExpandedState && other.hasExpandedState) || - (isExpanded && other.isExpanded) || - (hasSelectedState && other.hasSelectedState) || - (hasRequiredState && other.hasRequiredState) || - (isRequired && other.isRequired); + (isKeyboardKey && other.isKeyboardKey); } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine.dart b/engine/src/flutter/lib/web_ui/lib/src/engine.dart index 5ce997cd31c5a..aa67157e9c891 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine.dart @@ -21,42 +21,33 @@ export 'engine/arena.dart'; export 'engine/browser_detection.dart'; export 'engine/canvaskit/canvas.dart'; export 'engine/canvaskit/canvaskit_api.dart'; -export 'engine/canvaskit/canvaskit_canvas.dart'; export 'engine/canvaskit/color_filter.dart'; -export 'engine/canvaskit/display_canvas_factory.dart'; -export 'engine/canvaskit/embedded_views.dart'; export 'engine/canvaskit/fonts.dart'; export 'engine/canvaskit/image.dart'; export 'engine/canvaskit/image_filter.dart'; export 'engine/canvaskit/image_wasm_codecs.dart'; export 'engine/canvaskit/image_web_codecs.dart'; -export 'engine/canvaskit/layer.dart'; -export 'engine/canvaskit/layer_scene_builder.dart'; -export 'engine/canvaskit/layer_tree.dart'; -export 'engine/canvaskit/layer_visitor.dart'; export 'engine/canvaskit/mask_filter.dart'; export 'engine/canvaskit/multi_surface_rasterizer.dart'; -export 'engine/canvaskit/n_way_canvas.dart'; export 'engine/canvaskit/native_memory.dart'; export 'engine/canvaskit/offscreen_canvas_rasterizer.dart'; -export 'engine/canvaskit/overlay_scene_optimizer.dart'; export 'engine/canvaskit/painting.dart'; export 'engine/canvaskit/path.dart'; export 'engine/canvaskit/path_metrics.dart'; export 'engine/canvaskit/picture.dart'; export 'engine/canvaskit/picture_recorder.dart'; -export 'engine/canvaskit/raster_cache.dart'; -export 'engine/canvaskit/rasterizer.dart'; -export 'engine/canvaskit/render_canvas.dart'; export 'engine/canvaskit/renderer.dart'; export 'engine/canvaskit/shader.dart'; export 'engine/canvaskit/surface.dart'; export 'engine/canvaskit/text.dart'; -export 'engine/canvaskit/text_fragmenter.dart'; export 'engine/canvaskit/util.dart'; export 'engine/canvaskit/vertices.dart'; export 'engine/clipboard.dart'; export 'engine/color_filter.dart'; +export 'engine/compositing/composition.dart'; +export 'engine/compositing/display_canvas_factory.dart'; +export 'engine/compositing/rasterizer.dart'; +export 'engine/compositing/render_canvas.dart'; export 'engine/configuration.dart'; export 'engine/display.dart'; export 'engine/dom.dart'; @@ -77,7 +68,12 @@ export 'engine/js_interop/js_promise.dart'; export 'engine/js_interop/js_typed_data.dart'; export 'engine/key_map.g.dart'; export 'engine/keyboard_binding.dart'; -export 'engine/layers.dart'; +export 'engine/layer/layer.dart'; +export 'engine/layer/layer_painting.dart'; +export 'engine/layer/layer_scene_builder.dart'; +export 'engine/layer/layer_tree.dart'; +export 'engine/layer/layer_visitor.dart'; +export 'engine/layer/n_way_canvas.dart'; export 'engine/lazy_path.dart'; export 'engine/mouse/context_menu.dart'; export 'engine/mouse/cursor.dart'; @@ -85,12 +81,13 @@ export 'engine/mouse/prevent_default.dart'; export 'engine/navigation/history.dart'; export 'engine/noto_font.dart'; export 'engine/noto_font_encoding.dart'; +export 'engine/occlusion_map.dart'; export 'engine/onscreen_logging.dart'; export 'engine/platform_dispatcher.dart'; export 'engine/platform_dispatcher/app_lifecycle_state.dart'; export 'engine/platform_dispatcher/view_focus_binding.dart'; -export 'engine/platform_views.dart'; export 'engine/platform_views/content_manager.dart'; +export 'engine/platform_views/embedder.dart'; export 'engine/platform_views/message_handler.dart'; export 'engine/platform_views/slots.dart'; export 'engine/plugins.dart'; @@ -101,9 +98,6 @@ export 'engine/profiler.dart'; export 'engine/raw_keyboard.dart'; export 'engine/renderer.dart'; export 'engine/safe_browser_api.dart'; -export 'engine/scene_builder.dart'; -export 'engine/scene_painting.dart'; -export 'engine/scene_view.dart'; export 'engine/semantics/accessibility.dart'; export 'engine/semantics/alert.dart'; export 'engine/semantics/checkable.dart'; @@ -147,6 +141,7 @@ export 'engine/text_editing/input_action.dart'; export 'engine/text_editing/input_type.dart'; export 'engine/text_editing/text_capitalization.dart'; export 'engine/text_editing/text_editing.dart'; +export 'engine/text_fragmenter.dart'; export 'engine/util.dart'; export 'engine/validators.dart'; export 'engine/vector_math.dart'; @@ -164,6 +159,7 @@ export 'engine/view_embedder/hot_restart_cache_handler.dart'; export 'engine/view_embedder/style_manager.dart'; export 'engine/web_paragraph/code_unit_flags.dart'; export 'engine/web_paragraph/debug.dart'; +export 'engine/web_paragraph/font_collection.dart'; export 'engine/web_paragraph/layout.dart'; export 'engine/web_paragraph/paint.dart'; export 'engine/web_paragraph/paragraph.dart'; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart index b52283e2ed8be..4809fe5994668 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart @@ -5,22 +5,9 @@ import 'dart:math' as math; import 'dart:typed_data'; -import 'package:ui/src/engine.dart' show LazyPath; +import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -import '../color_filter.dart'; -import '../display.dart'; -import 'canvaskit_api.dart'; -import 'color_filter.dart'; -import 'image.dart'; -import 'image_filter.dart'; -import 'painting.dart'; -import 'path.dart'; -import 'picture.dart'; -import 'text.dart'; -import 'util.dart'; -import 'vertices.dart'; - /// Memoized value for ClipOp.Intersect, so we don't have to hit JS-interop /// every time we need it. final SkClipOp _clipOpIntersect = canvasKit.ClipOp.Intersect; @@ -29,8 +16,17 @@ final SkClipOp _clipOpIntersect = canvasKit.ClipOp.Intersect; /// /// This is intentionally not memory-managing the underlying [SkCanvas]. See /// the docs on [SkCanvas], which explain the reason. -class CkCanvas { - CkCanvas(this.skCanvas); +class CkCanvas implements LayerCanvas { + factory CkCanvas(ui.PictureRecorder recorder, [ui.Rect? cullRect]) { + if (recorder.isRecording) { + throw ArgumentError('"recorder" must not already be associated with another Canvas.'); + } + cullRect ??= ui.Rect.largest; + final CkPictureRecorder ckRecorder = recorder as CkPictureRecorder; + return ckRecorder.beginRecording(cullRect); + } + + CkCanvas.fromSkCanvas(this.skCanvas); // Cubic equation coefficients recommended by Mitchell & Netravali // in their paper on cubic interpolation. @@ -41,19 +37,28 @@ class CkCanvas { int? get saveCount => skCanvas.getSaveCount().toInt(); + @override void clear(ui.Color color) { skCanvas.clear(toSharedSkColor1(color)); } - void clipPath(CkPath path, bool doAntiAlias) { - skCanvas.clipPath(path.skiaObject, _clipOpIntersect, doAntiAlias); + @override + void clipPath(ui.Path path, {bool doAntiAlias = true}) { + skCanvas.clipPath( + ((path as LazyPath).builtPath as CkPath).skiaObject, + _clipOpIntersect, + doAntiAlias, + ); } - void clipRRect(ui.RRect rrect, bool doAntiAlias) { + @override + void clipRRect(ui.RRect rrect, {bool doAntiAlias = true}) { + assert(rrectIsValid(rrect)); skCanvas.clipRRect(toSkRRect(rrect), _clipOpIntersect, doAntiAlias); } - void clipRSuperellipse(ui.RSuperellipse rsuperellipse, bool doAntiAlias) { + @override + void clipRSuperellipse(ui.RSuperellipse rsuperellipse, {bool doAntiAlias = true}) { final (ui.Path path, ui.Offset offset) = rsuperellipse.toPathOffset(); translate(offset.dx, offset.dy); skCanvas.clipPath( @@ -64,7 +69,9 @@ class CkCanvas { translate(-offset.dx, -offset.dy); } - void clipRect(ui.Rect rect, ui.ClipOp clipOp, bool doAntiAlias) { + @override + void clipRect(ui.Rect rect, {ui.ClipOp clipOp = ui.ClipOp.intersect, bool doAntiAlias = true}) { + assert(rectIsValid(rect)); skCanvas.clipRect(toSkRect(rect), toSkClipOp(clipOp), doAntiAlias); } @@ -72,10 +79,12 @@ class CkCanvas { return rectFromSkIRect(skCanvas.getDeviceClipBounds()); } - void drawArc(ui.Rect oval, double startAngle, double sweepAngle, bool useCenter, CkPaint paint) { + @override + void drawArc(ui.Rect oval, double startAngle, double sweepAngle, bool useCenter, ui.Paint paint) { + assert(rectIsValid(oval)); const double toDegrees = 180 / math.pi; - final skPaint = paint.toSkPaint(); + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawArc( toSkRect(oval), startAngle * toDegrees, @@ -86,49 +95,36 @@ class CkCanvas { skPaint.delete(); } - // TODO(flar): CanvasKit does not expose sampling options available on SkCanvas.drawAtlas - void drawAtlasRaw( - CkPaint paint, - CkImage atlas, - Float32List rstTransforms, - Float32List rects, - Uint32List? colors, - ui.BlendMode blendMode, - ) { - final skPaint = paint.toSkPaint(defaultBlurTileMode: ui.TileMode.clamp); - skCanvas.drawAtlas( - atlas.skImage, - rects, - rstTransforms, - skPaint, - toSkBlendMode(blendMode), - colors, - ); - skPaint.delete(); - } - - void drawCircle(ui.Offset c, double radius, CkPaint paint) { - final skPaint = paint.toSkPaint(); + @override + void drawCircle(ui.Offset c, double radius, ui.Paint paint) { + assert(offsetIsValid(c)); + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawCircle(c.dx, c.dy, radius, skPaint); skPaint.delete(); } + @override void drawColor(ui.Color color, ui.BlendMode blendMode) { skCanvas.drawColorInt(color.value.toDouble(), toSkBlendMode(blendMode)); } - void drawDRRect(ui.RRect outer, ui.RRect inner, CkPaint paint) { - final skPaint = paint.toSkPaint(); + @override + void drawDRRect(ui.RRect outer, ui.RRect inner, ui.Paint paint) { + assert(rrectIsValid(outer)); + assert(rrectIsValid(inner)); + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawDRRect(toSkRRect(outer), toSkRRect(inner), skPaint); skPaint.delete(); } - void drawImage(CkImage image, ui.Offset offset, CkPaint paint) { + @override + void drawImage(ui.Image image, ui.Offset offset, ui.Paint paint) { + assert(offsetIsValid(offset)); final ui.FilterQuality filterQuality = paint.filterQuality; - final skPaint = paint.toSkPaint(defaultBlurTileMode: ui.TileMode.clamp); + final skPaint = (paint as CkPaint).toSkPaint(defaultBlurTileMode: ui.TileMode.clamp); if (filterQuality == ui.FilterQuality.high) { skCanvas.drawImageCubic( - image.skImage, + (image as CkImage).skImage, offset.dx, offset.dy, _kMitchellNetravali_B, @@ -137,7 +133,7 @@ class CkCanvas { ); } else { skCanvas.drawImageOptions( - image.skImage, + (image as CkImage).skImage, offset.dx, offset.dy, toSkFilterMode(filterQuality), @@ -148,12 +144,15 @@ class CkCanvas { skPaint.delete(); } - void drawImageRect(CkImage image, ui.Rect src, ui.Rect dst, CkPaint paint) { + @override + void drawImageRect(ui.Image image, ui.Rect src, ui.Rect dst, ui.Paint paint) { + assert(rectIsValid(src)); + assert(rectIsValid(dst)); final ui.FilterQuality filterQuality = paint.filterQuality; - final skPaint = paint.toSkPaint(defaultBlurTileMode: ui.TileMode.clamp); + final skPaint = (paint as CkPaint).toSkPaint(defaultBlurTileMode: ui.TileMode.clamp); if (filterQuality == ui.FilterQuality.high) { skCanvas.drawImageRectCubic( - image.skImage, + (image as CkImage).skImage, toSkRect(src), toSkRect(dst), _kMitchellNetravali_B, @@ -162,7 +161,7 @@ class CkCanvas { ); } else { skCanvas.drawImageRectOptions( - image.skImage, + (image as CkImage).skImage, toSkRect(src), toSkRect(dst), toSkFilterMode(filterQuality), @@ -173,10 +172,13 @@ class CkCanvas { skPaint.delete(); } - void drawImageNine(CkImage image, ui.Rect center, ui.Rect dst, CkPaint paint) { - final skPaint = paint.toSkPaint(defaultBlurTileMode: ui.TileMode.clamp); + @override + void drawImageNine(ui.Image image, ui.Rect center, ui.Rect dst, ui.Paint paint) { + assert(rectIsValid(center)); + assert(rectIsValid(dst)); + final skPaint = (paint as CkPaint).toSkPaint(defaultBlurTileMode: ui.TileMode.clamp); skCanvas.drawImageNine( - image.skImage, + (image as CkImage).skImage, toSkRect(center), toSkRect(dst), toSkFilterMode(paint.filterQuality), @@ -185,53 +187,85 @@ class CkCanvas { skPaint.delete(); } - void drawLine(ui.Offset p1, ui.Offset p2, CkPaint paint) { - final skPaint = paint.toSkPaint(); + @override + void drawLine(ui.Offset p1, ui.Offset p2, ui.Paint paint) { + assert(offsetIsValid(p1)); + assert(offsetIsValid(p2)); + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawLine(p1.dx, p1.dy, p2.dx, p2.dy, skPaint); skPaint.delete(); } - void drawOval(ui.Rect rect, CkPaint paint) { - final skPaint = paint.toSkPaint(); + @override + void drawOval(ui.Rect rect, ui.Paint paint) { + assert(rectIsValid(rect)); + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawOval(toSkRect(rect), skPaint); skPaint.delete(); } - void drawPaint(CkPaint paint) { - final skPaint = paint.toSkPaint(); + @override + void drawPaint(ui.Paint paint) { + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawPaint(skPaint); skPaint.delete(); } - void drawParagraph(CkParagraph paragraph, ui.Offset offset) { - skCanvas.drawParagraph(paragraph.skiaObject, offset.dx, offset.dy); + @override + void drawParagraph(ui.Paragraph paragraph, ui.Offset offset) { + assert(offsetIsValid(offset)); + if (paragraph is CkParagraph) { + skCanvas.drawParagraph(paragraph.skiaObject, offset.dx, offset.dy); + } else if (paragraph is WebParagraph) { + paragraph.paint(this, offset); + } else { + throw UnimplementedError('Unknown paragraph type.'); + } } - void drawPath(CkPath path, CkPaint paint) { - final skPaint = paint.toSkPaint(); - skCanvas.drawPath(path.skiaObject, skPaint); + @override + void drawPath(ui.Path path, ui.Paint paint) { + final skPaint = (paint as CkPaint).toSkPaint(); + skCanvas.drawPath(((path as LazyPath).builtPath as CkPath).skiaObject, skPaint); skPaint.delete(); } - void drawPicture(CkPicture picture) { - assert(picture.debugCheckNotDisposed('Failed to draw picture.')); - skCanvas.drawPicture(picture.skiaObject); + @override + void drawPicture(ui.Picture picture) { + assert((picture as CkPicture).debugCheckNotDisposed('Failed to draw picture.')); + skCanvas.drawPicture((picture as CkPicture).skiaObject); + } + + @override + void drawPoints(ui.PointMode pointMode, List points, ui.Paint paint) { + final SkFloat32List skPoints = toMallocedSkPoints(points); + final skPaint = (paint as CkPaint).toSkPaint(); + skCanvas.drawPoints(toSkPointMode(pointMode), skPoints.toTypedArray(), skPaint); + skPaint.delete(); + free(skPoints); } - void drawPoints(CkPaint paint, ui.PointMode pointMode, Float32List points) { - final skPaint = paint.toSkPaint(); + @override + void drawRawPoints(ui.PointMode pointMode, Float32List points, ui.Paint paint) { + if (points.length % 2 != 0) { + throw ArgumentError('"points" must have an even number of values.'); + } + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawPoints(toSkPointMode(pointMode), points, skPaint); skPaint.delete(); } - void drawRRect(ui.RRect rrect, CkPaint paint) { - final skPaint = paint.toSkPaint(); + @override + void drawRRect(ui.RRect rrect, ui.Paint paint) { + assert(rrectIsValid(rrect)); + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawRRect(toSkRRect(rrect), skPaint); skPaint.delete(); } - void drawRSuperellipse(ui.RSuperellipse rsuperellipse, CkPaint paint) { - final skPaint = paint.toSkPaint(); + @override + void drawRSuperellipse(ui.RSuperellipse rsuperellipse, ui.Paint paint) { + final skPaint = (paint as CkPaint).toSkPaint(); final (ui.Path path, ui.Offset offset) = rsuperellipse.toPathOffset(); translate(offset.dx, offset.dy); skCanvas.drawPath(((path as LazyPath).builtPath as CkPath).skiaObject, skPaint); @@ -239,16 +273,19 @@ class CkCanvas { skPaint.delete(); } - void drawRect(ui.Rect rect, CkPaint paint) { - final skPaint = paint.toSkPaint(); + @override + void drawRect(ui.Rect rect, ui.Paint paint) { + assert(rectIsValid(rect)); + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.drawRect(toSkRect(rect), skPaint); skPaint.delete(); } - void drawShadow(CkPath path, ui.Color color, double elevation, bool transparentOccluder) { + @override + void drawShadow(ui.Path path, ui.Color color, double elevation, bool transparentOccluder) { drawSkShadow( skCanvas, - path, + (path as LazyPath).builtPath as CkPath, color, elevation, transparentOccluder, @@ -256,44 +293,61 @@ class CkCanvas { ); } - void drawVertices(CkVertices vertices, ui.BlendMode blendMode, CkPaint paint) { - if (vertices.hasNoPoints) { + @override + void drawVertices(ui.Vertices vertices, ui.BlendMode blendMode, ui.Paint paint) { + final CkVertices ckVertices = vertices as CkVertices; + if (ckVertices.hasNoPoints) { return; } - final skPaint = paint.toSkPaint(); - skCanvas.drawVertices(vertices.skiaObject, toSkBlendMode(blendMode), skPaint); + final skPaint = (paint as CkPaint).toSkPaint(); + skCanvas.drawVertices(ckVertices.skiaObject, toSkBlendMode(blendMode), skPaint); skPaint.delete(); } + @override void restore() { skCanvas.restore(); } + @override void restoreToCount(int count) { skCanvas.restoreToCount(count.toDouble()); } + @override void rotate(double radians) { skCanvas.rotate(radians * 180.0 / math.pi, 0.0, 0.0); } + @override int save() { return skCanvas.save().toInt(); } - void saveLayer(ui.Rect bounds, CkPaint? paint) { - final skPaint = paint?.toSkPaint(); + @override + void saveLayer(ui.Rect? bounds, ui.Paint paint) { + if (bounds == null) { + saveLayerWithoutBounds(paint); + } else { + assert(rectIsValid(bounds)); + _saveLayer(bounds, paint); + } + } + + void _saveLayer(ui.Rect bounds, ui.Paint paint) { + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.saveLayer(skPaint, toSkRect(bounds), null, null, canvasKit.TileMode.Clamp); - skPaint?.delete(); + skPaint.delete(); } - void saveLayerWithoutBounds(CkPaint? paint) { - final skPaint = paint?.toSkPaint(); + void saveLayerWithoutBounds(ui.Paint paint) { + final skPaint = (paint as CkPaint).toSkPaint(); skCanvas.saveLayer(skPaint, null, null, null, canvasKit.TileMode.Clamp); - skPaint?.delete(); + skPaint.delete(); } - void saveLayerWithFilter(ui.Rect bounds, ui.ImageFilter filter, [CkPaint? paint]) { + @override + void saveLayerWithFilter(ui.Rect? bounds, ui.Paint? paint, ui.ImageFilter filter) { final CkManagedSkImageFilterConvertible convertible; if (filter is ui.ColorFilter) { convertible = createCkColorFilter(filter as EngineColorFilter)!; @@ -310,10 +364,10 @@ class CkCanvas { // and instead needs it supplied to the saveLayer call itself as a // separate argument. convertible.withSkImageFilter((SkImageFilter filter) { - final skPaint = paint?.toSkPaint(/*ui.TileMode.decal*/); + final skPaint = (paint as CkPaint?)?.toSkPaint(/*ui.TileMode.decal*/); skCanvas.saveLayer( skPaint, - toSkRect(bounds), + bounds == null ? null : toSkRect(bounds), filter, 0, toSkTileMode(convertible.backdropTileMode ?? ui.TileMode.mirror), @@ -322,22 +376,30 @@ class CkCanvas { }, defaultBlurTileMode: ui.TileMode.mirror); } - void scale(double sx, double sy) { - skCanvas.scale(sx, sy); + @override + void scale(double sx, [double? sy]) { + skCanvas.scale(sx, sy ?? sx); } + @override void skew(double sx, double sy) { skCanvas.skew(sx, sy); } - void transform(Float32List matrix4) { - skCanvas.concat(toSkM44FromFloat32(matrix4)); + @override + void transform(Float64List matrix4) { + if (matrix4.length != 16) { + throw ArgumentError('"matrix4" must have 16 entries.'); + } + skCanvas.concat(toSkM44FromFloat32(toMatrix32(matrix4))); } + @override void translate(double dx, double dy) { skCanvas.translate(dx, dy); } + @override bool quickReject(ui.Rect rect) { return skCanvas.quickReject(toSkRect(rect)); } @@ -352,4 +414,147 @@ class CkCanvas { } return matrix4; } + + @override + void drawAtlas( + ui.Image atlas, + List transforms, + List rects, + List? colors, + ui.BlendMode? blendMode, + ui.Rect? cullRect, + ui.Paint paint, + ) { + assert(colors == null || colors.isEmpty || blendMode != null); + + final int rectCount = rects.length; + if (transforms.length != rectCount) { + throw ArgumentError('"transforms" and "rects" lengths must match.'); + } + if (colors != null && colors.isNotEmpty && colors.length != rectCount) { + throw ArgumentError( + 'If non-null, "colors" length must match that of "transforms" and "rects".', + ); + } + + final Float32List rstTransformBuffer = Float32List(rectCount * 4); + final Float32List rectBuffer = Float32List(rectCount * 4); + + for (int i = 0; i < rectCount; ++i) { + final int index0 = i * 4; + final int index1 = index0 + 1; + final int index2 = index0 + 2; + final int index3 = index0 + 3; + final ui.RSTransform rstTransform = transforms[i]; + final ui.Rect rect = rects[i]; + assert(rectIsValid(rect)); + rstTransformBuffer[index0] = rstTransform.scos; + rstTransformBuffer[index1] = rstTransform.ssin; + rstTransformBuffer[index2] = rstTransform.tx; + rstTransformBuffer[index3] = rstTransform.ty; + rectBuffer[index0] = rect.left; + rectBuffer[index1] = rect.top; + rectBuffer[index2] = rect.right; + rectBuffer[index3] = rect.bottom; + } + + final Uint32List? colorBuffer = (colors == null || colors.isEmpty) + ? null + : toFlatColors(colors); + + _drawAtlas( + paint as CkPaint, + atlas as CkImage, + rstTransformBuffer, + rectBuffer, + colorBuffer, + blendMode ?? ui.BlendMode.src, + ); + } + + @override + void drawRawAtlas( + ui.Image atlas, + Float32List rstTransforms, + Float32List rects, + Int32List? colors, + ui.BlendMode? blendMode, + ui.Rect? cullRect, + ui.Paint paint, + ) { + assert(colors == null || blendMode != null); + + final int rectCount = rects.length; + if (rstTransforms.length != rectCount) { + throw ArgumentError('"rstTransforms" and "rects" lengths must match.'); + } + if (rectCount % 4 != 0) { + throw ArgumentError('"rstTransforms" and "rects" lengths must be a multiple of four.'); + } + if (colors != null && colors.length * 4 != rectCount) { + throw ArgumentError( + 'If non-null, "colors" length must be one fourth the length of "rstTransforms" and "rects".', + ); + } + + Uint32List? unsignedColors; + if (colors != null) { + unsignedColors = colors.buffer.asUint32List(colors.offsetInBytes, colors.length); + } + + _drawAtlas( + paint as CkPaint, + atlas as CkImage, + rstTransforms, + rects, + unsignedColors, + blendMode ?? ui.BlendMode.src, + ); + } + + // TODO(flar): CanvasKit does not expose sampling options available on SkCanvas.drawAtlas + void _drawAtlas( + CkPaint paint, + CkImage atlas, + Float32List rstTransforms, + Float32List rects, + Uint32List? colors, + ui.BlendMode blendMode, + ) { + final skPaint = paint.toSkPaint(defaultBlurTileMode: ui.TileMode.clamp); + skCanvas.drawAtlas( + atlas.skImage, + rects, + rstTransforms, + skPaint, + toSkBlendMode(blendMode), + colors, + ); + skPaint.delete(); + } + + @override + ui.Rect getDestinationClipBounds() { + return rectFromSkIRect(skCanvas.getDeviceClipBounds()); + } + + @override + ui.Rect getLocalClipBounds() { + final Matrix4 transform = Matrix4.fromFloat32List(getLocalToDevice()); + if (transform.invert() == 0) { + // non-invertible transforms collapse space to a line or point + return ui.Rect.zero; + } + return transform.transformRect(getDeviceClipBounds()); + } + + @override + int getSaveCount() { + return skCanvas.getSaveCount().toInt(); + } + + @override + Float64List getTransform() { + return toMatrix64(getLocalToDevice()); + } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart index f7d94698f9835..952595bfc6f61 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart @@ -17,13 +17,9 @@ import 'dart:js_interop_unsafe'; import 'dart:typed_data'; import 'package:meta/meta.dart'; +import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -import '../browser_detection.dart'; -import '../configuration.dart'; -import '../dom.dart'; -import 'renderer.dart'; - /// Entrypoint into the CanvasKit API. late CanvasKit canvasKit; @@ -1835,6 +1831,8 @@ extension type SkParagraphBuilderNamespace(JSObject _) implements JSObject { } } +final bool _ckRequiresClientICU = canvasKit.ParagraphBuilder.RequiresClientICU(); + extension type SkParagraphBuilder(JSObject _) implements JSObject { external void addText(String text); external void pushStyle(SkTextStyle textStyle); @@ -1854,6 +1852,21 @@ extension type SkParagraphBuilder(JSObject _) implements JSObject { // into a utf16 string. String getText() => utf8.decode(getTextUtf8().codeUnits); + /// Injects required ICU data into the [SkParagraphBuilder] instance if needed. + /// + /// This only works in the CanvasKit Chromium variant that's compiled + /// without ICU data. In other variants, it's a no-op. + void injectClientICUIfNeeded() { + if (!_ckRequiresClientICU) { + return; + } + + final SegmentationResult result = segmentText(getText()); + setWordsUtf16(result.words); + setGraphemeBreaksUtf16(result.graphemes); + setLineBreaksUtf16(result.breaks); + } + @JS('setWordsUtf8') external void _setWordsUtf8(JSUint32Array words); void setWordsUtf8(Uint32List words) => _setWordsUtf8(words.toJS); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart deleted file mode 100644 index 8ca9e39c0ec61..0000000000000 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/canvaskit_canvas.dart +++ /dev/null @@ -1,430 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:typed_data'; - -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; - -/// An implementation of [ui.Canvas] that is backed by a CanvasKit canvas. -class CanvasKitCanvas implements ui.Canvas { - factory CanvasKitCanvas(ui.PictureRecorder recorder, [ui.Rect? cullRect]) { - if (recorder.isRecording) { - throw ArgumentError('"recorder" must not already be associated with another Canvas.'); - } - cullRect ??= ui.Rect.largest; - final CkPictureRecorder ckRecorder = recorder as CkPictureRecorder; - return CanvasKitCanvas._(ckRecorder.beginRecording(cullRect)); - } - - CanvasKitCanvas._(this._canvas); - - final CkCanvas _canvas; - - @override - void save() { - _canvas.save(); - } - - @override - void saveLayer(ui.Rect? bounds, ui.Paint paint) { - if (bounds == null) { - _saveLayerWithoutBounds(paint); - } else { - assert(rectIsValid(bounds)); - _saveLayer(bounds, paint); - } - } - - void _saveLayerWithoutBounds(ui.Paint paint) { - _canvas.saveLayerWithoutBounds(paint as CkPaint); - } - - void _saveLayer(ui.Rect bounds, ui.Paint paint) { - _canvas.saveLayer(bounds, paint as CkPaint); - } - - @override - void restore() { - _canvas.restore(); - } - - @override - void restoreToCount(int count) { - _canvas.restoreToCount(count); - } - - @override - int getSaveCount() { - return _canvas.saveCount!; - } - - @override - void translate(double dx, double dy) { - _canvas.translate(dx, dy); - } - - @override - void scale(double sx, [double? sy]) => _scale(sx, sy ?? sx); - - void _scale(double sx, double sy) { - _canvas.scale(sx, sy); - } - - @override - void rotate(double radians) { - _canvas.rotate(radians); - } - - @override - void skew(double sx, double sy) { - _canvas.skew(sx, sy); - } - - @override - void transform(Float64List matrix4) { - if (matrix4.length != 16) { - throw ArgumentError('"matrix4" must have 16 entries.'); - } - _transform(toMatrix32(matrix4)); - } - - void _transform(Float32List matrix4) { - _canvas.transform(matrix4); - } - - @override - Float64List getTransform() { - return toMatrix64(_canvas.getLocalToDevice()); - } - - @override - void clipRect(ui.Rect rect, {ui.ClipOp clipOp = ui.ClipOp.intersect, bool doAntiAlias = true}) { - assert(rectIsValid(rect)); - _clipRect(rect, clipOp, doAntiAlias); - } - - void _clipRect(ui.Rect rect, ui.ClipOp clipOp, bool doAntiAlias) { - _canvas.clipRect(rect, clipOp, doAntiAlias); - } - - @override - void clipRRect(ui.RRect rrect, {bool doAntiAlias = true}) { - assert(rrectIsValid(rrect)); - _clipRRect(rrect, doAntiAlias); - } - - void _clipRRect(ui.RRect rrect, bool doAntiAlias) { - _canvas.clipRRect(rrect, doAntiAlias); - } - - @override - void clipRSuperellipse(ui.RSuperellipse rsuperellipse, {bool doAntiAlias = true}) { - _canvas.clipRSuperellipse(rsuperellipse, doAntiAlias); - } - - @override - void clipPath(ui.Path path, {bool doAntiAlias = true}) { - _canvas.clipPath((path as LazyPath).builtPath as CkPath, doAntiAlias); - } - - @override - ui.Rect getLocalClipBounds() { - final Matrix4 transform = Matrix4.fromFloat32List(_canvas.getLocalToDevice()); - if (transform.invert() == 0) { - // non-invertible transforms collapse space to a line or point - return ui.Rect.zero; - } - return transform.transformRect(_canvas.getDeviceClipBounds()); - } - - @override - ui.Rect getDestinationClipBounds() { - return _canvas.getDeviceClipBounds(); - } - - @override - void drawColor(ui.Color color, ui.BlendMode blendMode) { - _drawColor(color, blendMode); - } - - void _drawColor(ui.Color color, ui.BlendMode blendMode) { - _canvas.drawColor(color, blendMode); - } - - @override - void drawLine(ui.Offset p1, ui.Offset p2, ui.Paint paint) { - assert(offsetIsValid(p1)); - assert(offsetIsValid(p2)); - _drawLine(p1, p2, paint); - } - - void _drawLine(ui.Offset p1, ui.Offset p2, ui.Paint paint) { - _canvas.drawLine(p1, p2, paint as CkPaint); - } - - @override - void drawPaint(ui.Paint paint) { - _drawPaint(paint); - } - - void _drawPaint(ui.Paint paint) { - _canvas.drawPaint(paint as CkPaint); - } - - @override - void drawRect(ui.Rect rect, ui.Paint paint) { - assert(rectIsValid(rect)); - _drawRect(rect, paint); - } - - void _drawRect(ui.Rect rect, ui.Paint paint) { - _canvas.drawRect(rect, paint as CkPaint); - } - - @override - void drawRRect(ui.RRect rrect, ui.Paint paint) { - assert(rrectIsValid(rrect)); - _drawRRect(rrect, paint); - } - - void _drawRRect(ui.RRect rrect, ui.Paint paint) { - _canvas.drawRRect(rrect, paint as CkPaint); - } - - @override - void drawRSuperellipse(ui.RSuperellipse rsuperellipse, ui.Paint paint) { - _canvas.drawRSuperellipse(rsuperellipse, paint as CkPaint); - } - - @override - void drawDRRect(ui.RRect outer, ui.RRect inner, ui.Paint paint) { - assert(rrectIsValid(outer)); - assert(rrectIsValid(inner)); - _drawDRRect(outer, inner, paint); - } - - void _drawDRRect(ui.RRect outer, ui.RRect inner, ui.Paint paint) { - _canvas.drawDRRect(outer, inner, paint as CkPaint); - } - - @override - void drawOval(ui.Rect rect, ui.Paint paint) { - assert(rectIsValid(rect)); - _drawOval(rect, paint); - } - - void _drawOval(ui.Rect rect, ui.Paint paint) { - _canvas.drawOval(rect, paint as CkPaint); - } - - @override - void drawCircle(ui.Offset c, double radius, ui.Paint paint) { - assert(offsetIsValid(c)); - _drawCircle(c, radius, paint); - } - - void _drawCircle(ui.Offset c, double radius, ui.Paint paint) { - _canvas.drawCircle(c, radius, paint as CkPaint); - } - - @override - void drawArc(ui.Rect rect, double startAngle, double sweepAngle, bool useCenter, ui.Paint paint) { - assert(rectIsValid(rect)); - _drawArc(rect, startAngle, sweepAngle, useCenter, paint); - } - - void _drawArc( - ui.Rect rect, - double startAngle, - double sweepAngle, - bool useCenter, - ui.Paint paint, - ) { - _canvas.drawArc(rect, startAngle, sweepAngle, useCenter, paint as CkPaint); - } - - @override - void drawPath(ui.Path path, ui.Paint paint) { - _canvas.drawPath((path as LazyPath).builtPath as CkPath, paint as CkPaint); - } - - @override - void drawImage(ui.Image image, ui.Offset p, ui.Paint paint) { - assert(offsetIsValid(p)); - _canvas.drawImage(image as CkImage, p, paint as CkPaint); - } - - @override - void drawImageRect(ui.Image image, ui.Rect src, ui.Rect dst, ui.Paint paint) { - assert(rectIsValid(src)); - assert(rectIsValid(dst)); - _canvas.drawImageRect(image as CkImage, src, dst, paint as CkPaint); - } - - @override - void drawImageNine(ui.Image image, ui.Rect center, ui.Rect dst, ui.Paint paint) { - assert(rectIsValid(center)); - assert(rectIsValid(dst)); - _canvas.drawImageNine(image as CkImage, center, dst, paint as CkPaint); - } - - @override - void drawPicture(ui.Picture picture) { - _canvas.drawPicture(picture as CkPicture); - } - - @override - void drawParagraph(ui.Paragraph paragraph, ui.Offset offset) { - assert(offsetIsValid(offset)); - _drawParagraph(paragraph, offset); - } - - void _drawParagraph(ui.Paragraph paragraph, ui.Offset offset) { - _canvas.drawParagraph(paragraph as CkParagraph, offset); - } - - @override - void drawPoints(ui.PointMode pointMode, List points, ui.Paint paint) { - final SkFloat32List skPoints = toMallocedSkPoints(points); - _canvas.drawPoints(paint as CkPaint, pointMode, skPoints.toTypedArray()); - free(skPoints); - } - - @override - void drawRawPoints(ui.PointMode pointMode, Float32List points, ui.Paint paint) { - if (points.length % 2 != 0) { - throw ArgumentError('"points" must have an even number of values.'); - } - _canvas.drawPoints(paint as CkPaint, pointMode, points); - } - - @override - void drawVertices(ui.Vertices vertices, ui.BlendMode blendMode, ui.Paint paint) { - _canvas.drawVertices(vertices as CkVertices, blendMode, paint as CkPaint); - } - - @override - void drawAtlas( - ui.Image atlas, - List transforms, - List rects, - List? colors, - ui.BlendMode? blendMode, - ui.Rect? cullRect, - ui.Paint paint, - ) { - assert(colors == null || colors.isEmpty || blendMode != null); - - final int rectCount = rects.length; - if (transforms.length != rectCount) { - throw ArgumentError('"transforms" and "rects" lengths must match.'); - } - if (colors != null && colors.isNotEmpty && colors.length != rectCount) { - throw ArgumentError( - 'If non-null, "colors" length must match that of "transforms" and "rects".', - ); - } - - final Float32List rstTransformBuffer = Float32List(rectCount * 4); - final Float32List rectBuffer = Float32List(rectCount * 4); - - for (int i = 0; i < rectCount; ++i) { - final int index0 = i * 4; - final int index1 = index0 + 1; - final int index2 = index0 + 2; - final int index3 = index0 + 3; - final ui.RSTransform rstTransform = transforms[i]; - final ui.Rect rect = rects[i]; - assert(rectIsValid(rect)); - rstTransformBuffer[index0] = rstTransform.scos; - rstTransformBuffer[index1] = rstTransform.ssin; - rstTransformBuffer[index2] = rstTransform.tx; - rstTransformBuffer[index3] = rstTransform.ty; - rectBuffer[index0] = rect.left; - rectBuffer[index1] = rect.top; - rectBuffer[index2] = rect.right; - rectBuffer[index3] = rect.bottom; - } - - final Uint32List? colorBuffer = (colors == null || colors.isEmpty) - ? null - : toFlatColors(colors); - - _drawAtlas( - paint, - atlas, - rstTransformBuffer, - rectBuffer, - colorBuffer, - blendMode ?? ui.BlendMode.src, - ); - } - - @override - void drawRawAtlas( - ui.Image atlas, - Float32List rstTransforms, - Float32List rects, - Int32List? colors, - ui.BlendMode? blendMode, - ui.Rect? cullRect, - ui.Paint paint, - ) { - assert(colors == null || blendMode != null); - - final int rectCount = rects.length; - if (rstTransforms.length != rectCount) { - throw ArgumentError('"rstTransforms" and "rects" lengths must match.'); - } - if (rectCount % 4 != 0) { - throw ArgumentError('"rstTransforms" and "rects" lengths must be a multiple of four.'); - } - if (colors != null && colors.length * 4 != rectCount) { - throw ArgumentError( - 'If non-null, "colors" length must be one fourth the length of "rstTransforms" and "rects".', - ); - } - - Uint32List? unsignedColors; - if (colors != null) { - unsignedColors = colors.buffer.asUint32List(colors.offsetInBytes, colors.length); - } - - _drawAtlas(paint, atlas, rstTransforms, rects, unsignedColors, blendMode ?? ui.BlendMode.src); - } - - // TODO(hterkelsen): Pass a cull_rect once CanvasKit supports that. - void _drawAtlas( - ui.Paint paint, - ui.Image atlas, - Float32List rstTransforms, - Float32List rects, - Uint32List? colors, - ui.BlendMode blendMode, - ) { - _canvas.drawAtlasRaw( - paint as CkPaint, - atlas as CkImage, - rstTransforms, - rects, - colors, - blendMode, - ); - } - - @override - void drawShadow(ui.Path path, ui.Color color, double elevation, bool transparentOccluder) { - _drawShadow(path, color, elevation, transparentOccluder); - } - - void _drawShadow(ui.Path path, ui.Color color, double elevation, bool transparentOccluder) { - _canvas.drawShadow( - (path as LazyPath).builtPath as CkPath, - color, - elevation, - transparentOccluder, - ); - } -} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/color_filter.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/color_filter.dart index 734803a5f58b2..a8891dd50de6e 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/color_filter.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/color_filter.dart @@ -4,15 +4,9 @@ import 'dart:typed_data'; -import 'package:ui/src/engine/vector_math.dart'; +import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -import '../color_filter.dart'; -import '../util.dart'; -import 'canvaskit_api.dart'; -import 'image_filter.dart'; -import 'native_memory.dart'; - /// Owns a [SkColorFilter] and manages its lifecycle. /// /// See also: @@ -46,7 +40,7 @@ class ManagedSkColorFilter { } /// CanvasKit implementation of [ui.ColorFilter]. -abstract class CkColorFilter implements CkManagedSkImageFilterConvertible { +abstract class CkColorFilter implements CkManagedSkImageFilterConvertible, LayerImageFilter { const CkColorFilter(); /// Converts this color filter into an image filter. @@ -92,6 +86,15 @@ abstract class CkColorFilter implements CkManagedSkImageFilterConvertible { @override Matrix4 get transform => Matrix4.identity(); + + @override + ui.Rect filterBounds(ui.Rect input) { + late ui.Rect result; + withSkImageFilter((SkImageFilter filter) { + result = rectFromSkIRect(filter.getOutputBounds(toSkRect(input))); + }, defaultBlurTileMode: ui.TileMode.decal); + return result; + } } /// A reusable identity transform matrix. diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart index 987271f188b7b..b1acf49d29f93 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image.dart @@ -312,17 +312,6 @@ CkImage scaleImage(SkImage image, int? targetWidth, int? targetHeight) { return ckImage; } -/// Thrown when the web engine fails to decode an image, either due to a -/// network issue, corrupted image contents, or missing codec. -class ImageCodecException implements Exception { - ImageCodecException(this._message); - - final String _message; - - @override - String toString() => 'ImageCodecException: $_message'; -} - const String _kNetworkImageMessage = 'Failed to load network image.'; /// Instantiates a [ui.Codec] backed by an `SkAnimatedImage` from Skia after diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image_filter.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image_filter.dart index 260f3f3b7dc69..a2dbba6d3d17c 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image_filter.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/image_filter.dart @@ -4,13 +4,9 @@ import 'dart:typed_data'; -import 'package:ui/src/engine/vector_math.dart'; +import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -import '../util.dart'; -import 'canvaskit_api.dart'; -import 'color_filter.dart'; - typedef SkImageFilterBorrow = void Function(SkImageFilter); /// An [ImageFilter] that can create a managed skia [SkImageFilter] object. @@ -42,7 +38,7 @@ abstract class CkManagedSkImageFilterConvertible implements ui.ImageFilter { /// The CanvasKit implementation of [ui.ImageFilter]. /// /// Currently only supports `blur`, `matrix`, and ColorFilters. -abstract class CkImageFilter implements CkManagedSkImageFilterConvertible { +abstract class CkImageFilter implements CkManagedSkImageFilterConvertible, LayerImageFilter { factory CkImageFilter.blur({ required double sigmaX, required double sigmaY, @@ -62,6 +58,16 @@ abstract class CkImageFilter implements CkManagedSkImageFilterConvertible { CkImageFilter._(); + /// Returns the identity matrix image filter. + /// This is used to replicate effect of applying no filter. + static SkImageFilter _createIdentityMatrixFilter() { + return canvasKit.ImageFilter.MakeMatrixTransform( + toSkMatrixFromFloat32(Matrix4.identity().storage), + toSkFilterOptions(ui.FilterQuality.none), + null, + ); + } + // The blur ImageFilter will override this and return the necessary // value to hand to the saveLayer call. It is the only filter type that // needs to pass along a tile mode so we just return a default value of @@ -71,6 +77,15 @@ abstract class CkImageFilter implements CkManagedSkImageFilterConvertible { @override Matrix4 get transform => Matrix4.identity(); + + @override + ui.Rect filterBounds(ui.Rect input) { + late ui.Rect result; + withSkImageFilter((SkImageFilter filter) { + result = rectFromSkIRect(filter.getOutputBounds(toSkRect(input))); + }, defaultBlurTileMode: ui.TileMode.decal); + return result; + } } class CkColorFilterImageFilter extends CkImageFilter { @@ -119,15 +134,10 @@ class _CkBlurImageFilter extends CkImageFilter { SkImageFilterBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, }) { - /// Return the identity matrix when both sigmaX and sigmaY are 0. Replicates - /// effect of applying no filter + /// Returns the identity matrix filter when both sigmaX and sigmaY are 0. final SkImageFilter skImageFilter; if (sigmaX == 0 && sigmaY == 0) { - skImageFilter = canvasKit.ImageFilter.MakeMatrixTransform( - toSkMatrixFromFloat32(Matrix4.identity().storage), - toSkFilterOptions(ui.FilterQuality.none), - null, - ); + skImageFilter = CkImageFilter._createIdentityMatrixFilter(); } else { skImageFilter = canvasKit.ImageFilter.MakeBlur( sigmaX, @@ -216,7 +226,14 @@ class _CkDilateImageFilter extends CkImageFilter { SkImageFilterBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, }) { - final skImageFilter = canvasKit.ImageFilter.MakeDilate(radiusX, radiusY, null); + // Returns the identity matrix filter when both radiusX and radiusY are 0. + final SkImageFilter skImageFilter; + if (radiusX == 0 && radiusY == 0) { + skImageFilter = CkImageFilter._createIdentityMatrixFilter(); + } else { + skImageFilter = canvasKit.ImageFilter.MakeDilate(radiusX, radiusY, null); + } + borrow(skImageFilter); skImageFilter.delete(); } @@ -249,7 +266,14 @@ class _CkErodeImageFilter extends CkImageFilter { SkImageFilterBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, }) { - final skImageFilter = canvasKit.ImageFilter.MakeErode(radiusX, radiusY, null); + // Returns the identity matrix filter when both radiusX and radiusY are 0. + final SkImageFilter skImageFilter; + if (radiusX == 0 && radiusY == 0) { + skImageFilter = CkImageFilter._createIdentityMatrixFilter(); + } else { + skImageFilter = canvasKit.ImageFilter.MakeErode(radiusX, radiusY, null); + } + borrow(skImageFilter); skImageFilter.delete(); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/multi_surface_rasterizer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/multi_surface_rasterizer.dart index ef5d37463bd18..5e91ba7d6e3e0 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/multi_surface_rasterizer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/multi_surface_rasterizer.dart @@ -53,15 +53,32 @@ class MultiSurfaceViewRasterizer extends ViewRasterizer { displayFactory.baseCanvas.createOrUpdateSurface(currentFrameSize); } - @override - Future rasterizeToCanvas(DisplayCanvas canvas, List pictures) { + Future rasterizeToCanvas(DisplayCanvas canvas, ui.Picture picture) { final Surface surface = canvas as Surface; surface.createOrUpdateSurface(currentFrameSize); surface.positionToShowFrame(currentFrameSize); final CkCanvas skCanvas = surface.getCanvas(); skCanvas.clear(const ui.Color(0x00000000)); - pictures.forEach(skCanvas.drawPicture); + skCanvas.drawPicture(picture); surface.flush(); return Future.value(); } + + @override + Future rasterize( + List displayCanvases, + List pictures, + FrameTimingRecorder? recorder, + ) async { + if (displayCanvases.length != pictures.length) { + throw ArgumentError('Called rasterize() with a different number of canvases and pictures.'); + } + final List> rasterizeFutures = >[]; + for (int i = 0; i < displayCanvases.length; i++) { + rasterizeFutures.add(rasterizeToCanvas(displayCanvases[i], pictures[i])); + } + recorder?.recordRasterStart(); + await Future.wait(rasterizeFutures); + recorder?.recordRasterFinish(); + } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/offscreen_canvas_rasterizer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/offscreen_canvas_rasterizer.dart index 57505cf6c7a83..7d320b29e8b89 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/offscreen_canvas_rasterizer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/offscreen_canvas_rasterizer.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'package:ui/src/engine.dart'; +import 'package:ui/ui.dart' as ui; /// A [Rasterizer] that uses a single GL context in an OffscreenCanvas to do /// all the rendering. It transfers bitmaps created in the OffscreenCanvas to @@ -44,13 +45,12 @@ class OffscreenCanvasViewRasterizer extends ViewRasterizer { createCanvas: () => RenderCanvas(), ); - /// Render the given [pictures] so it is displayed by the given [canvas]. - @override - Future rasterizeToCanvas(DisplayCanvas canvas, List pictures) async { + /// Render the given [picture] so it is displayed by the given [canvas]. + Future rasterizeToCanvas(DisplayCanvas canvas, ui.Picture picture) async { await rasterizer.offscreenSurface.rasterizeToCanvas( currentFrameSize, canvas as RenderCanvas, - pictures, + picture, ); } @@ -58,4 +58,22 @@ class OffscreenCanvasViewRasterizer extends ViewRasterizer { void prepareToDraw() { rasterizer.offscreenSurface.createOrUpdateSurface(currentFrameSize); } + + @override + Future rasterize( + List displayCanvases, + List pictures, + FrameTimingRecorder? recorder, + ) async { + if (displayCanvases.length != pictures.length) { + throw ArgumentError('Called rasterize() with a different number of canvases and pictures.'); + } + final List> rasterizeFutures = >[]; + for (int i = 0; i < displayCanvases.length; i++) { + rasterizeFutures.add(rasterizeToCanvas(displayCanvases[i], pictures[i])); + } + recorder?.recordRasterStart(); + await Future.wait(rasterizeFutures); + recorder?.recordRasterFinish(); + } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/picture.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/picture.dart index 5ba5cd911548f..404275159b101 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/picture.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/picture.dart @@ -6,7 +6,7 @@ import 'dart:typed_data'; import 'package:ui/ui.dart' as ui; -import '../scene_painting.dart'; +import '../layer/layer_painting.dart'; import '../util.dart'; import 'canvas.dart'; import 'canvaskit_api.dart'; @@ -16,7 +16,7 @@ import 'renderer.dart'; import 'surface.dart'; /// Implements [ui.Picture] on top of [SkPicture]. -class CkPicture implements ScenePicture { +class CkPicture implements LayerPicture { CkPicture(SkPicture skPicture) { _ref = UniqueRef(this, skPicture, 'Picture'); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/picture_recorder.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/picture_recorder.dart index b0c70ca04efe9..ee9ef98d3012b 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/picture_recorder.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/picture_recorder.dart @@ -7,7 +7,7 @@ import 'dart:typed_data'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -class CkPictureRecorder implements ScenePictureRecorder { +class CkPictureRecorder implements LayerPictureRecorder { SkPictureRecorder? _skRecorder; CkCanvas? _recordingCanvas; @@ -15,7 +15,7 @@ class CkPictureRecorder implements ScenePictureRecorder { final SkPictureRecorder recorder = _skRecorder = SkPictureRecorder(); final Float32List skRect = toSkRect(bounds); final SkCanvas skCanvas = recorder.beginRecording(skRect); - return _recordingCanvas = CkCanvas(skCanvas); + return _recordingCanvas = CkCanvas.fromSkCanvas(skCanvas); } CkCanvas? get recordingCanvas => _recordingCanvas; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/raster_cache.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/raster_cache.dart deleted file mode 100644 index 192dd42c03de8..0000000000000 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/raster_cache.dart +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:ui/ui.dart' as ui; - -import '../vector_math.dart'; -import 'canvas.dart'; - -/// A cache of [Picture]s that have already been rasterized. -/// -/// In the case of a [Picture] with a lot of complex drawing commands, it can -/// be faster to rasterize that [Picture] into it's own canvas and composite -/// that canvas into the scene rather than replay the drawing commands for that -/// picture into the overall scene. -/// -/// This class is responsible for deciding if a [Picture] should be cached and -/// for creating the cached [Picture]s that can be drawn directly into the -/// canvas. -class RasterCache { - /// Make a decision on whether to cache [picture] under transform [matrix]. - /// - /// This is based on heuristics such as how many times [picture] has been - /// drawn before and the complexity of the drawing commands in [picture]. - /// - /// We also take into account the current transform [matrix], because, for - /// example, a picture may be rasterized with the identity transform, but - /// when it is used, the transform is a 3x scale. In this case, compositing - /// the rendered picture would result in pixelation. So, we must use both - /// the picture and the transform as a cache key. - /// - /// The flag [isComplex] is a hint to the raster cache that this picture - /// contains complex drawing commands, and as such should be more strongly - /// considered for caching. - /// - /// The flag [willChange] is a hint to the raster cache that this picture - /// will change, and so should be less likely to be cached. - void prepare(ui.Picture picture, Matrix4 matrix, bool isComplex, bool willChange) {} - - /// Gets a raster cache result for the [picture] at transform [matrix]. - RasterCacheResult get(ui.Picture picture, Matrix4 matrix) => RasterCacheResult(); -} - -/// A cache entry for a given picture and matrix. -class RasterCacheResult { - /// Whether or not this result represents a rasterized picture that can be - /// drawn into the scene. - bool get isValid => false; - - /// Draws the rasterized picture into the [canvas]. - void draw(CkCanvas canvas) {} -} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/renderer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/renderer.dart index e8c9ca5d8d862..2943791860c83 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/renderer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/renderer.dart @@ -14,29 +14,7 @@ import 'package:ui/ui_web/src/ui_web.dart' as ui_web; bool get isExperimentalWebParagraph => configuration.canvasKitVariant == CanvasKitVariant.experimentalWebParagraph; -enum CanvasKitVariant { - /// The appropriate variant is chosen based on the browser. - /// - /// This is the default variant. - auto, - - /// The full variant that can be used in any browser. - full, - - /// The variant that is optimized for Chromium browsers. - /// - /// WARNING: In most cases, you should use [auto] instead of this variant. Using - /// this variant in a non-Chromium browser will result in a broken app. - chromium, - - /// The variant that contains the new WebParagraph implementation on top of Chrome's Text Clusters - /// API: https://github.com/fserb/canvas2D/blob/master/spec/enhanced-textmetrics.md - /// - /// WARNING: This is an experimental variant that's not yet ready for production use. - experimentalWebParagraph, -} - -class CanvasKitRenderer implements Renderer { +class CanvasKitRenderer extends Renderer { static CanvasKitRenderer get instance => _instance; static late CanvasKitRenderer _instance; @@ -45,16 +23,12 @@ class CanvasKitRenderer implements Renderer { @override String get rendererTag => 'canvaskit'; - late final SkiaFontCollection _fontCollection = SkiaFontCollection(); + late final FlutterFontCollection _fontCollection = isExperimentalWebParagraph + ? WebFontCollection() + : SkiaFontCollection(); @override - SkiaFontCollection get fontCollection => _fontCollection; - - /// The scene host, where the root canvas and overlay canvases are added to. - DomElement? _sceneHost; - DomElement? get sceneHost => _sceneHost; - - Rasterizer _rasterizer = _createRasterizer(); + FlutterFontCollection get fontCollection => _fontCollection; static Rasterizer _createRasterizer() { if (configuration.canvasKitForceMultiSurfaceRasterizer || isSafari || isFirefox) { @@ -63,32 +37,15 @@ class CanvasKitRenderer implements Renderer { return OffscreenCanvasRasterizer(); } - /// Resets the [Rasterizer] to the default value. Used in tests. + @override void debugResetRasterizer() { - _rasterizer = _createRasterizer(); + rasterizer = _createRasterizer(); } - /// Override the rasterizer with the given [_rasterizer]. Used in tests. - void debugOverrideRasterizer(Rasterizer testRasterizer) { - _rasterizer = testRasterizer; - } - - /// Returns the current [Rasterizer]. Used in tests. - Rasterizer debugGetRasterizer() { - return _rasterizer; - } - - set resourceCacheMaxBytes(int bytes) => _rasterizer.setResourceCacheMaxBytes(bytes); - /// A surface used specifically for `Picture.toImage` when software rendering /// is supported. final Surface pictureToImageSurface = Surface(); - // Listens for view creation events from the view manager. - StreamSubscription? _onViewCreatedListener; - // Listens for view disposal events from the view manager. - StreamSubscription? _onViewDisposedListener; - @override Future initialize() async { _initialized ??= () async { @@ -101,18 +58,9 @@ class CanvasKitRenderer implements Renderer { canvasKit = await downloadCanvasKit(); windowFlutterCanvasKit = canvasKit; } - // Views may have been registered before this renderer was initialized. - // Create rasterizers for them and then start listening for new view - // creation/disposal events. - final FlutterViewManager viewManager = EnginePlatformDispatcher.instance.viewManager; - if (_onViewCreatedListener == null) { - for (final EngineFlutterView view in viewManager.views) { - _onViewCreated(view.viewId); - } - } - _onViewCreatedListener ??= viewManager.onViewCreated.listen(_onViewCreated); - _onViewDisposedListener ??= viewManager.onViewDisposed.listen(_onViewDisposed); + rasterizer = _createRasterizer(); _instance = this; + await super.initialize(); }(); return _initialized; } @@ -152,7 +100,7 @@ class CanvasKitRenderer implements Renderer { @override ui.Canvas createCanvas(ui.PictureRecorder recorder, [ui.Rect? cullRect]) => - CanvasKitCanvas(recorder, cullRect); + CkCanvas(recorder, cullRect); @override ui.Gradient createLinearGradient( @@ -454,109 +402,6 @@ class CanvasKitRenderer implements Renderer { ui.ParagraphBuilder createParagraphBuilder(ui.ParagraphStyle style) => isExperimentalWebParagraph ? WebParagraphBuilder(style) : CkParagraphBuilder(style); - // TODO(harryterkelsen): Merge this logic with the async logic in - // [EngineScene], https://github.com/flutter/flutter/issues/142072. - @override - Future renderScene(ui.Scene scene, EngineFlutterView view) async { - assert( - _rasterizers.containsKey(view.viewId), - "Unable to render to a view which hasn't been registered", - ); - final ViewRasterizer rasterizer = _rasterizers[view.viewId]!; - final RenderQueue renderQueue = rasterizer.queue; - final FrameTimingRecorder? recorder = FrameTimingRecorder.frameTimingsEnabled - ? FrameTimingRecorder() - : null; - if (renderQueue.current != null) { - // If a scene is already queued up, drop it and queue this one up instead - // so that the scene view always displays the most recently requested scene. - renderQueue.next?.completer.complete(); - final Completer completer = Completer(); - renderQueue.next = (scene: scene, completer: completer, recorder: recorder); - return completer.future; - } - final Completer completer = Completer(); - renderQueue.current = (scene: scene, completer: completer, recorder: recorder); - unawaited(_kickRenderLoop(rasterizer)); - return completer.future; - } - - Future _kickRenderLoop(ViewRasterizer rasterizer) async { - final RenderQueue renderQueue = rasterizer.queue; - final RenderRequest current = renderQueue.current!; - try { - await _renderScene(current.scene, rasterizer, current.recorder); - current.completer.complete(); - } catch (error, stackTrace) { - current.completer.completeError(error, stackTrace); - } - renderQueue.current = renderQueue.next; - renderQueue.next = null; - if (renderQueue.current == null) { - return; - } else { - return _kickRenderLoop(rasterizer); - } - } - - Future _renderScene( - ui.Scene scene, - ViewRasterizer rasterizer, - FrameTimingRecorder? recorder, - ) async { - // "Build finish" and "raster start" happen back-to-back because we - // render on the same thread, so there's no overhead from hopping to - // another thread. - // - // CanvasKit works differently from the HTML renderer in that in HTML - // we update the DOM in SceneBuilder.build, which is these function calls - // here are CanvasKit-only. - recorder?.recordBuildFinish(); - recorder?.recordRasterStart(); - - await rasterizer.draw((scene as LayerScene).layerTree); - recorder?.recordRasterFinish(); - recorder?.submitTimings(); - } - - // Map from view id to the associated Rasterizer for that view. - final Map _rasterizers = {}; - - void _onViewCreated(int viewId) { - final EngineFlutterView view = EnginePlatformDispatcher.instance.viewManager[viewId]!; - _rasterizers[view.viewId] = _rasterizer.createViewRasterizer(view); - } - - void _onViewDisposed(int viewId) { - // The view has already been disposed. - if (!_rasterizers.containsKey(viewId)) { - return; - } - final ViewRasterizer rasterizer = _rasterizers.remove(viewId)!; - rasterizer.dispose(); - } - - ViewRasterizer? debugGetRasterizerForView(EngineFlutterView view) { - return _rasterizers[view.viewId]; - } - - /// Disposes this renderer. - void dispose() { - _onViewCreatedListener?.cancel(); - _onViewDisposedListener?.cancel(); - for (final ViewRasterizer rasterizer in _rasterizers.values) { - rasterizer.dispose(); - } - _rasterizers.clear(); - } - - @override - void debugClear() { - for (final ViewRasterizer rasterizer in _rasterizers.values) { - rasterizer.debugClear(); - } - } - @override void clearFragmentProgramCache() { _programs.clear(); @@ -599,5 +444,14 @@ class CanvasKitRenderer implements Renderer { ); @override - void dumpDebugInfo() {} + void dumpDebugInfo() { + int i = 0; + for (final viewRasterizer in rasterizers.values) { + final Map? debugJson = viewRasterizer.dumpDebugInfo(); + if (debugJson != null) { + downloadDebugInfo('flutter-scene$i', debugJson); + i++; + } + } + } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/surface.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/surface.dart index c5748697277f5..9d57ffce77f6b 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/surface.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/surface.dart @@ -7,6 +7,8 @@ import 'dart:js_interop'; import 'package:ui/ui.dart' as ui; import '../browser_detection.dart'; +import '../compositing/rasterizer.dart'; +import '../compositing/render_canvas.dart'; import '../configuration.dart'; import '../display.dart'; import '../dom.dart'; @@ -14,9 +16,6 @@ import '../platform_dispatcher.dart'; import '../util.dart'; import 'canvas.dart'; import 'canvaskit_api.dart'; -import 'picture.dart'; -import 'rasterizer.dart'; -import 'render_canvas.dart'; import 'util.dart'; // Only supported in profile/release mode. Allows Flutter to use MSAA but @@ -140,11 +139,11 @@ class Surface extends DisplayCanvas { Future rasterizeToCanvas( BitmapSize bitmapSize, RenderCanvas canvas, - List pictures, + ui.Picture picture, ) async { final CkCanvas skCanvas = getCanvas(); skCanvas.clear(const ui.Color(0x00000000)); - pictures.forEach(skCanvas.drawPicture); + skCanvas.drawPicture(picture); flush(); if (browserSupportsCreateImageBitmap) { @@ -524,7 +523,7 @@ class CkSurface { CkCanvas getCanvas() { assert(!_isDisposed, 'Attempting to use the canvas of a disposed surface'); - return CkCanvas(surface.getCanvas()); + return CkCanvas.fromSkCanvas(surface.getCanvas()); } /// The underlying CanvasKit surface object. diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart index a9df628a1f37b..24bbd5eb0b1fd 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text.dart @@ -9,8 +9,6 @@ import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; -final bool _ckRequiresClientICU = canvasKit.ParagraphBuilder.RequiresClientICU(); - final List _testFonts = ['FlutterTest', 'Ahem']; String? _computeEffectiveFontFamily(String? fontFamily) { return ui_web.TestEnvironment.instance.forceTestFonts && !_testFonts.contains(fontFamily) @@ -1053,7 +1051,7 @@ class CkParagraphBuilder implements ui.ParagraphBuilder { _styleStack = [], _paragraphBuilder = canvasKit.ParagraphBuilder.MakeFromFontCollection( style.skParagraphStyle, - CanvasKitRenderer.instance.fontCollection.skFontCollection, + (CanvasKitRenderer.instance.fontCollection as SkiaFontCollection).skFontCollection, ) { _styleStack.add(_style.getTextStyle()); } @@ -1142,9 +1140,7 @@ class CkParagraphBuilder implements ui.ParagraphBuilder { /// Builds the CkParagraph with the builder and deletes the builder. SkParagraph _buildSkParagraph() { - if (_ckRequiresClientICU) { - injectClientICU(_paragraphBuilder); - } + _paragraphBuilder.injectClientICUIfNeeded(); final SkParagraph result = _paragraphBuilder.build(); _paragraphBuilder.delete(); return result; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/color_filter.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/color_filter.dart index 93ff23a253daa..bb04a3f562251 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/color_filter.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/color_filter.dart @@ -15,7 +15,7 @@ enum ColorFilterType { mode, matrix, linearToSrgbGamma, srgbToLinearGamma } /// /// Instances of this class are used with [Paint.colorFilter] on [Paint] /// objects. -class EngineColorFilter implements SceneImageFilter, ui.ColorFilter { +class EngineColorFilter implements LayerImageFilter, ui.ColorFilter { /// Creates a color filter that applies the blend mode given as the second /// argument. The source color is the one given as the first argument, and the /// destination color is the one from the layer being composited. @@ -129,4 +129,19 @@ class EngineColorFilter implements SceneImageFilter, ui.ColorFilter { @override Matrix4? get transform => null; + + @override + bool operator ==(Object other) { + if (other is! EngineColorFilter) { + return false; + } + return other.type == type && + other.color == color && + other.blendMode == blendMode && + listEquals(other.matrix, matrix); + } + + @override + int get hashCode => + Object.hash(type, color, blendMode, Object.hashAll(matrix ?? const [])); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/overlay_scene_optimizer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/composition.dart similarity index 56% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/overlay_scene_optimizer.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/compositing/composition.dart index 313bf00e8f33b..eeb0ddffde697 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/overlay_scene_optimizer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/composition.dart @@ -6,62 +6,66 @@ import 'package:meta/meta.dart'; import 'package:ui/src/engine/util.dart'; import 'package:ui/ui.dart' as ui; -import '../../engine.dart' show PictureLayer, PlatformViewManager; +import '../../engine.dart' show OcclusionMap, PlatformViewManager; +import '../compositing/rasterizer.dart'; +import '../layer/layer.dart'; +import '../platform_views/embedder.dart'; import '../vector_math.dart'; -import 'embedded_views.dart'; -import 'rasterizer.dart'; /// If `true`, draws the computed bounds for platform views and pictures to /// help debug issues with the overlay optimization. bool debugOverlayOptimizationBounds = false; -/// A [Rendering] is a concrete description of how a Flutter scene will be +/// A [Composition] is a concrete description of how a Flutter scene will be /// rendered in a web browser. /// -/// A [Rendering] is a sequence containing two types of entities: -/// * Render canvases: which contain rasterized CkPictures, and +/// A [Composition] is a sequence containing two types of entities: +/// * Canvases: which contain rasterized Pictures, and /// * Platform views: being HTML content that is to be composited along with /// the Flutter content. -class Rendering { - final List entities = []; +class Composition { + final List entities = []; - void add(RenderingEntity entity) { + void add(CompositionEntity entity) { entities.add(entity); } - /// Returns [true] if this is equibalent to [other] for use in rendering. - bool equalsForRendering(Rendering other) { + /// Returns [true] if this is equivalent to [other] for use in a composition. + bool equalsForCompositing(Composition other) { if (other.entities.length != entities.length) { return false; } for (int i = 0; i < entities.length; i++) { - if (!entities[i].equalsForRendering(other.entities[i])) { + if (!entities[i].equalsForCompositing(other.entities[i])) { return false; } } return true; } - /// A list of just the canvases in the rendering. - List get canvases => entities.whereType().toList(); + /// A list of just the canvases in the composition. + List get canvases => entities.whereType().toList(); @override String toString() => entities.toString(); } -/// An element of a [Rendering]. Either a render canvas or a platform view. -sealed class RenderingEntity { - /// Returns [true] if this entity is equal to [other] for use in a rendering. +/// An element of a [Composition]. Either a canvas or a platform view. +sealed class CompositionEntity { + /// Returns [true] if this entity is equal to [other] for use in a + /// composition. /// - /// For example, all [RenderingRenderCanvas] objects are equal to each other - /// for purposes of rendering since any canvas in that place in the rendering - /// will be equivalent. Platform views are only equal if they are for the same - /// view id. - bool equalsForRendering(RenderingEntity other); + /// For example, all [CompositionCanvas] objects are equal to each other + /// for purposes of rendering since any canvas in that place in the + /// composition will be equivalent. Platform views are only equal if they are + /// for the same view id. + bool equalsForCompositing(CompositionEntity other); } -class RenderingRenderCanvas extends RenderingEntity { - RenderingRenderCanvas(); +class CompositionCanvas extends CompositionEntity { + CompositionCanvas(); + + final OcclusionMap _occlusionMap = OcclusionMap(); /// The [pictures] which should be rendered in this canvas. final List pictures = []; @@ -74,38 +78,43 @@ class RenderingRenderCanvas extends RenderingEntity { /// Adds the [picture] to the pictures that should be rendered in this canvas. void add(PictureLayer picture) { pictures.add(picture); + _occlusionMap.addRect(picture.sceneBounds!); + } + + bool overlaps(ui.Rect rect) { + return _occlusionMap.overlaps(rect); } @override - bool equalsForRendering(RenderingEntity other) { - return other is RenderingRenderCanvas; + bool equalsForCompositing(CompositionEntity other) { + return other is CompositionCanvas; } @override String toString() { - return '$RenderingRenderCanvas(${pictures.length} pictures)'; + return '$CompositionCanvas(${pictures.length} pictures)'; } } -/// A platform view to be rendered. -class RenderingPlatformView extends RenderingEntity { - RenderingPlatformView(this.viewId); +/// A platform view to be composited. +class CompositionPlatformView extends CompositionEntity { + CompositionPlatformView(this.viewId); /// The [viewId] of the platform view to render. final int viewId; @override - bool equalsForRendering(RenderingEntity other) { - return other is RenderingPlatformView && other.viewId == viewId; + bool equalsForCompositing(CompositionEntity other) { + return other is CompositionPlatformView && other.viewId == viewId; } @override String toString() { - return '$RenderingPlatformView($viewId)'; + return '$CompositionPlatformView($viewId)'; } /// The bounds that were computed for this platform view when creating the - /// optimized rendering. This is only set in debug mode. + /// optimized composition. This is only set in debug mode. ui.Rect? debugComputedBounds; } @@ -155,25 +164,25 @@ ui.Rect computePlatformViewBounds(EmbeddedViewParams params) { return transformedBounds.intersect(currentClipBounds); } -/// Returns the optimized [Rendering] for a sequence of [pictures] and +/// Returns the optimized [Composition] for a sequence of [pictures] and /// [platformViews]. /// /// [paramsForViews] is required to compute the bounds of the platform views. -Rendering createOptimizedRendering( - Iterable renderObjects, +Composition createOptimizedComposition( + Iterable sceneElements, Map paramsForViews, ) { final Map cachedComputedRects = {}; - final Rendering result = Rendering(); + final Composition result = Composition(); - // The first picture is added to the rendering in a new render canvas. - RenderingRenderCanvas tentativeCanvas = RenderingRenderCanvas(); + // The first picture is added to the composition in a new canvas. + CompositionCanvas tentativeCanvas = CompositionCanvas(); - for (final SceneElement renderObject in renderObjects) { - if (renderObject is PlatformViewSceneElement) { - final int viewId = renderObject.viewId; - final RenderingPlatformView platformView = RenderingPlatformView(viewId); + for (final SceneElement sceneElement in sceneElements) { + if (sceneElement is PlatformViewSceneElement) { + final int viewId = sceneElement.viewId; + final CompositionPlatformView platformView = CompositionPlatformView(viewId); if (PlatformViewManager.instance.isVisible(viewId)) { final ui.Rect platformViewBounds = cachedComputedRects[viewId] = computePlatformViewBounds( paramsForViews[viewId]!, @@ -184,75 +193,62 @@ Rendering createOptimizedRendering( } // If the platform view intersects with any pictures in the tentative canvas - // then add the tentative canvas to the rendering. - for (final PictureLayer picture in tentativeCanvas.pictures) { - if (!picture.sceneBounds!.intersect(platformViewBounds).isEmpty) { - result.add(tentativeCanvas); - tentativeCanvas = RenderingRenderCanvas(); - break; - } + // then add the tentative canvas to the composition. + if (tentativeCanvas.overlaps(platformViewBounds)) { + result.add(tentativeCanvas); + tentativeCanvas = CompositionCanvas(); } } result.add(platformView); - } else if (renderObject is PictureSceneElement) { - final PictureLayer picture = renderObject.picture; + } else if (sceneElement is PictureSceneElement) { + final PictureLayer picture = sceneElement.picture; if (picture.isCulled) { continue; } - // Find the first render canvas which comes after the last entity (picture + // Find the first canvas which comes after the last entity (picture // or platform view) that the next picture intersects with, and add the - // picture to that render canvas, or create a new render canvas. + // picture to that canvas, or create a new canvas. // First check if the picture intersects with any pictures in the - // tentative canvas, as this will be the last canvas in the rendering + // tentative canvas, as this will be the last canvas in the composition // when it is eventually added. - bool addedToTentativeCanvas = false; - for (final PictureLayer canvasPicture in tentativeCanvas.pictures) { - if (!canvasPicture.sceneBounds!.intersect(picture.sceneBounds!).isEmpty) { - tentativeCanvas.add(picture); - addedToTentativeCanvas = true; - break; - } - } - if (addedToTentativeCanvas) { + if (tentativeCanvas.overlaps(picture.sceneBounds!)) { + tentativeCanvas.add(picture); continue; } - RenderingRenderCanvas? lastCanvasSeen; - bool addedPictureToRendering = false; - for (final RenderingEntity entity in result.entities.reversed) { - if (entity is RenderingPlatformView) { + CompositionCanvas? lastCanvasSeen; + bool addedPictureToComposition = false; + for (final CompositionEntity entity in result.entities.reversed) { + if (entity is CompositionPlatformView) { if (PlatformViewManager.instance.isVisible(entity.viewId)) { final ui.Rect platformViewBounds = cachedComputedRects[entity.viewId]!; if (!platformViewBounds.intersect(picture.sceneBounds!).isEmpty) { // The next picture intersects with a platform view already in the - // result. Add this picture to the first render canvas which comes + // result. Add this picture to the first canvas which comes // after this platform view or create one if none exists. if (lastCanvasSeen != null) { lastCanvasSeen.add(picture); } else { tentativeCanvas.add(picture); } - addedPictureToRendering = true; + addedPictureToComposition = true; break; } } - } else if (entity is RenderingRenderCanvas) { + } else if (entity is CompositionCanvas) { lastCanvasSeen = entity; - // Check if we intersect with any pictures in this render canvas. - for (final PictureLayer canvasPicture in entity.pictures) { - if (!canvasPicture.sceneBounds!.intersect(picture.sceneBounds!).isEmpty) { - lastCanvasSeen.add(picture); - addedPictureToRendering = true; - break; - } + // Check if we intersect with any pictures in this canvas. + if (entity.overlaps(picture.sceneBounds!)) { + entity.add(picture); + addedPictureToComposition = true; } } } - if (!addedPictureToRendering) { + if (!addedPictureToComposition) { if (lastCanvasSeen != null) { - // Add it to the last canvas seen in the rendering, if any. + // Add it to the last canvas seen in the composition, if any. lastCanvasSeen.add(picture); } else { tentativeCanvas.add(picture); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/display_canvas_factory.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/display_canvas_factory.dart new file mode 100644 index 0000000000000..b7615da4ef3e1 --- /dev/null +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/display_canvas_factory.dart @@ -0,0 +1,130 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +import 'package:meta/meta.dart'; +import 'package:ui/src/engine.dart'; + +/// Caches canvases used to display Skia-drawn content. +class DisplayCanvasFactory { + DisplayCanvasFactory({required this.createCanvas}) { + assert(() { + registerHotRestartListener(dispose); + return true; + }()); + } + + /// A function which is passed in as a constructor parameter which is used to + /// create new display canvases. + final T Function() createCanvas; + + /// The base canvas to paint on. This is the default canvas which will be + /// painted to. If there are no platform views, then this canvas will render + /// the entire scene. + late final T baseCanvas = createCanvas()..initialize(); + + /// Canvases created by this factory which are currently in use. + final List _liveCanvases = []; + + /// Canvases created by this factory which are no longer in use. These can be + /// reused. + final List _cache = []; + + /// The number of canvases which have been created by this factory. + int get _canvasCount => _liveCanvases.length + _cache.length + 1; + + /// The number of surfaces created by this factory. Used for testing. + @visibleForTesting + int get debugSurfaceCount => _canvasCount; + + /// Returns the number of cached surfaces. + /// + /// Useful in tests. + int get debugCacheSize => _cache.length; + + /// Gets a display canvas from the cache or creates a new one if there are + /// none in the cache. + T getCanvas() { + if (_cache.isNotEmpty) { + final T canvas = _cache.removeLast(); + _liveCanvases.add(canvas); + return canvas; + } else { + final T canvas = createCanvas(); + canvas.initialize(); + _liveCanvases.add(canvas); + return canvas; + } + } + + /// Releases all surfaces so they can be reused in the next frame. + /// + /// If a released surface is in the DOM, it is not removed. This allows the + /// engine to release the surfaces at the end of the frame so they are ready + /// to be used in the next frame, but still used for painting in the current + /// frame. + void releaseCanvases() { + _cache.addAll(_liveCanvases); + _liveCanvases.clear(); + } + + /// Removes all canvases except the base canvas from the DOM. + /// + /// This is called at the beginning of the frame to prepare for painting into + /// the new canvases. + void removeCanvasesFromDom() { + _cache.forEach(_removeFromDom); + _liveCanvases.forEach(_removeFromDom); + } + + /// Calls [callback] on each canvas created by this factory. + void forEachCanvas(void Function(T canvas) callback) { + callback(baseCanvas); + _cache.forEach(callback); + _liveCanvases.forEach(callback); + } + + // Removes [canvas] from the DOM. + void _removeFromDom(T canvas) { + canvas.hostElement.remove(); + } + + /// Signals that a canvas is no longer being used. It can be reused. + void releaseCanvas(T canvas) { + assert(canvas != baseCanvas, 'Attempting to release the base canvas'); + assert( + _liveCanvases.contains(canvas), + 'Attempting to release a Canvas which ' + 'was not created by this factory', + ); + canvas.hostElement.remove(); + _liveCanvases.remove(canvas); + _cache.add(canvas); + } + + /// Returns [true] if [canvas] is currently being used to paint content. + /// + /// The base canvas always counts as live. + /// + /// If a canvas is not live, then it must be in the cache and ready to be + /// reused. + bool isLive(T canvas) { + if (canvas == baseCanvas || _liveCanvases.contains(canvas)) { + return true; + } + assert(_cache.contains(canvas)); + return false; + } + + /// Dispose all canvases created by this factory. + void dispose() { + for (final T canvas in _cache) { + canvas.dispose(); + } + for (final T canvas in _liveCanvases) { + canvas.dispose(); + } + baseCanvas.dispose(); + _liveCanvases.clear(); + _cache.clear(); + } +} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/rasterizer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/rasterizer.dart similarity index 75% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/rasterizer.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/compositing/rasterizer.dart index b0d51c6536598..3cbbd999d5b1d 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/rasterizer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/rasterizer.dart @@ -6,6 +6,8 @@ import 'dart:async'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; +/// A [Rasterizer] creates [ViewRasterizer]s which are able to draw Flutter +/// content into [FlutterView]s. abstract class Rasterizer { /// Creates a [ViewRasterizer] for a given [view]. ViewRasterizer createViewRasterizer(EngineFlutterView view); @@ -17,9 +19,11 @@ abstract class Rasterizer { void dispose(); } +/// Composites Flutter content into a [FlutterView]. Manages the creation of +/// [DisplayCanvas] objects to render the content into. abstract class ViewRasterizer { ViewRasterizer(this.view) { - view.dom.sceneHost.append(sceneElement); + view.dom.setScene(sceneElement); } /// The view this rasterizer renders into. @@ -35,7 +39,7 @@ abstract class ViewRasterizer { final CompositorContext context = CompositorContext(); /// The platform view embedder. - late final HtmlViewEmbedder viewEmbedder = HtmlViewEmbedder(sceneElement, this); + late final PlatformViewEmbedder viewEmbedder = PlatformViewEmbedder(sceneElement, this); /// A factory for creating overlays. DisplayCanvasFactory get displayFactory; @@ -43,12 +47,20 @@ abstract class ViewRasterizer { /// The DOM element which this rasterizer should raster into. final DomElement sceneElement = domDocument.createElement('flt-scene'); + /// The last layer tree that was rendered. Only non-null if in debug mode. + LayerTree? _lastRenderedLayerTree; + /// Draws the [layerTree] to the screen for the view associated with this /// rasterizer. - Future draw(LayerTree layerTree) async { + Future draw(LayerTree layerTree, FrameTimingRecorder? recorder) async { final ui.Size frameSize = view.physicalSize; if (frameSize.isEmpty) { // Available drawing area is empty. Skip drawing. + // Record all the draw steps as happening instantly so we don't crash + // when submitting frame timings. + recorder?.recordBuildFinish(); + recorder?.recordRasterStart(); + recorder?.recordRasterFinish(); return; } @@ -65,9 +77,10 @@ abstract class ViewRasterizer { viewEmbedder.frameSize = currentFrameSize; final Frame compositorFrame = context.acquireFrame(viewEmbedder); - compositorFrame.raster(layerTree, currentFrameSize, ignoreRasterCache: true); + compositorFrame.raster(layerTree, currentFrameSize, recorder); + _lastRenderedLayerTree = layerTree; - await viewEmbedder.submitFrame(); + await viewEmbedder.submitFrame(recorder); } /// Do some initialization to prepare to draw a frame. @@ -76,8 +89,15 @@ abstract class ViewRasterizer { /// [OffscreenCanvas] is the correct size to draw the frame. void prepareToDraw(); - /// Rasterize the [pictures] to the given [canvas]. - Future rasterizeToCanvas(DisplayCanvas canvas, List pictures); + /// Rasterizes the given [pictures] into the [displayCanvases]. + /// + /// Throws an [ArgumentError] if [displayCanvases] and [pictures] are not + /// the same length. + Future rasterize( + List displayCanvases, + List pictures, + FrameTimingRecorder? recorder, + ); /// Get a [DisplayCanvas] to use as an overlay. DisplayCanvas getOverlay() { @@ -109,6 +129,16 @@ abstract class ViewRasterizer { void debugClear() { viewEmbedder.debugClear(); } + + /// Returns helpful debug information. + Map? dumpDebugInfo() { + if (kDebugMode) { + if (_lastRenderedLayerTree != null) { + return _lastRenderedLayerTree!.dumpDebugInfo(); + } + } + return null; + } } /// A [DisplayCanvas] is an abstraction for a canvas element which displays @@ -116,7 +146,7 @@ abstract class ViewRasterizer { /// because they can be overlaid on top of platform views, which are HTML /// content that isn't rendered by Skia. /// -/// [DisplayCanvas]es are drawn into with [ViewRasterizer.rasterizeToCanvas]. +/// [DisplayCanvas]es are drawn into with [ViewRasterizer.rasterize]. abstract class DisplayCanvas { /// The DOM element which, when appended to the scene host, will display the /// Skia-rendered content to the screen. diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/render_canvas.dart similarity index 84% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/compositing/render_canvas.dart index 90171976d0e66..73668ad29862a 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/render_canvas.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/compositing/render_canvas.dart @@ -7,23 +7,21 @@ import '../dom.dart'; import '../util.dart'; import 'rasterizer.dart'; -/// A visible (on-screen) canvas that can display bitmaps produced by CanvasKit -/// in the (off-screen) SkSurface which is backed by an OffscreenCanvas. +/// A visible (on-screen) canvas that can display bitmaps. /// -/// In a typical frame, the content will be rendered via CanvasKit in an -/// OffscreenCanvas, and then the contents will be transferred to the -/// RenderCanvas via `transferFromImageBitmap()`. +/// In a typical frame, the content will be rendered in an OffscreenCanvas, and +/// then the contents will be transferred to the RenderCanvas via +/// `transferFromImageBitmap()`. /// /// If we need more RenderCanvases, for example in the case where there are /// platform views and we need overlays to render the frame correctly, then /// we will create multiple RenderCanvases, but crucially still only have /// one OffscreenCanvas which transfers bitmaps to all of the RenderCanvases. /// -/// To render into the OffscreenCanvas with CanvasKit we need to create a -/// WebGL context, which is not only expensive, but the browser has a limit -/// on the maximum amount of WebGL contexts which can be live at once. Using -/// a single OffscreenCanvas and multiple RenderCanvases allows us to only -/// create a single WebGL context. +/// To render into the OffscreenCanvas we need to create a WebGL context, which +/// is not only expensive, but the browser has a limit on the maximum amount of +/// WebGL contexts which can be live at once. Using a single OffscreenCanvas and +/// multiple RenderCanvases allows us to only create a single WebGL context. class RenderCanvas extends DisplayCanvas { RenderCanvas() { canvasElement.setAttribute('aria-hidden', 'true'); @@ -35,8 +33,9 @@ class RenderCanvas extends DisplayCanvas { /// The root HTML element for this canvas. /// /// This element contains the canvas used to draw the UI. Unlike the canvas, - /// this element is permanent. It is never replaced or deleted, until this - /// canvas is disposed of via [dispose]. + /// this element is permanent. It is never replaced or deleted: any users of + /// [RenderCanvas] which append the [hostElement] to the DOM are responsible + /// for removing it. /// /// Conversely, the canvas that lives inside this element can be swapped, for /// example, when the screen size changes, or when the WebGL context is lost @@ -129,6 +128,6 @@ class RenderCanvas extends DisplayCanvas { @override void dispose() { - hostElement.remove(); + // No extra cleanup needed. } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/configuration.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/configuration.dart index c7c1b8336f497..e15ec6a2a65a6 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/configuration.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/configuration.dart @@ -47,9 +47,30 @@ library configuration; import 'dart:js_interop'; import 'package:meta/meta.dart'; -import 'canvaskit/renderer.dart'; import 'dom.dart'; +enum CanvasKitVariant { + /// The appropriate variant is chosen based on the browser. + /// + /// This is the default variant. + auto, + + /// The full variant that can be used in any browser. + full, + + /// The variant that is optimized for Chromium browsers. + /// + /// WARNING: In most cases, you should use [auto] instead of this variant. Using + /// this variant in a non-Chromium browser will result in a broken app. + chromium, + + /// The variant that contains the new WebParagraph implementation on top of Chrome's Text Clusters + /// API: https://github.com/fserb/canvas2D/blob/master/spec/enhanced-textmetrics.md + /// + /// WARNING: This is an experimental variant that's not yet ready for production use. + experimentalWebParagraph, +} + /// The Web Engine configuration for the current application. FlutterConfiguration get configuration { if (_debugConfiguration != null) { diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/frame_service.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/frame_service.dart index 613e3a6b362a2..8fe9e9625e825 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/frame_service.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/frame_service.dart @@ -10,6 +10,7 @@ import 'package:ui/ui.dart' as ui; import 'dom.dart'; import 'frame_timing_recorder.dart'; +import 'initialization.dart'; import 'platform_dispatcher.dart'; /// Provides frame scheduling functionality and frame lifecycle information to @@ -18,6 +19,10 @@ import 'platform_dispatcher.dart'; /// If new frame-related functionality needs to be added to the web engine, /// prefer to add it here instead of implementing it ad hoc. class FrameService { + FrameService() { + registerHotRestartListener(_dispose); + } + /// The singleton instance of the [FrameService] used to schedule frames. /// /// This may be overridden in tests, for example, to pump fake frames, using @@ -25,6 +30,8 @@ class FrameService { static FrameService get instance => _instance ??= FrameService(); static FrameService? _instance; + bool _isDisposed = false; + /// Overrides the value returned by [instance]. /// /// If [mock] is null, resets the value of [instance] back to real @@ -98,6 +105,18 @@ class FrameService { // functionality that may throw exceptions, or produce wasm traps. _isFrameScheduled = false; + if (_isDisposed) { + // Skip this animation frame because the instance has been disposed, meaning there was a + // hot restart performed. During a hot restart, Dart automatically cancels timers and + // microtasks, but animation frames are requested directly from the browser which isn't + // aware of hot restarts, and that leads to problems. + // + // See: + // - https://github.com/flutter/flutter/issues/175260 + // - https://github.com/flutter/flutter/issues/140684#issuecomment-3251179364 + return; + } + try { _isRenderingFrame = true; _frameData = ui.FrameData(frameNumber: _frameData.frameNumber + 1); @@ -162,9 +181,8 @@ class FrameService { // In Flutter terminology "building a frame" consists of "beginning // frame" and "drawing frame". // - // We do not call `recordBuildFinish` from here because - // part of the rasterization process, particularly in the HTML - // renderer, takes place in the `SceneBuilder.build()`. + // We do not call `recordBuildFinish` from here because part of the + // rasterization process takes place in `SceneBuilder.build()`. FrameTimingRecorder.recordCurrentFrameBuildStart(); // We have to convert high-resolution time to `int` so we can construct @@ -197,4 +215,11 @@ class FrameService { EnginePlatformDispatcher.instance.invokeOnDrawFrame(); } } + + void _dispose() { + if (identical(this, _instance)) { + _instance = null; + } + _isDisposed = true; + } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/image_decoder.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/image_decoder.dart index e62646e2314c3..f67065b0092f4 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/image_decoder.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/image_decoder.dart @@ -267,3 +267,14 @@ ui.Image scaleImageIfNeeded( image.dispose(); return finalImage; } + +/// Thrown when the web engine fails to decode an image, either due to a +/// network issue, corrupted image contents, or missing codec. +class ImageCodecException implements Exception { + ImageCodecException(this._message); + + final String _message; + + @override + String toString() => 'ImageCodecException: $_message'; +} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer.dart similarity index 83% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer.dart index f5d8c5ed0aa42..30f4f40b117c9 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer.dart @@ -20,7 +20,7 @@ abstract class Layer implements ui.EngineLayer { bool get needsPainting => !paintBounds.isEmpty; /// Implement layer visitor. - void accept(LayerVisitor visitor); + R accept(LayerVisitor visitor); // TODO(dnfield): Implement ui.EngineLayer.dispose for CanvasKit. // https://github.com/flutter/flutter/issues/82878 @@ -50,8 +50,8 @@ abstract class ContainerLayer extends Layer { /// to [LayerSceneBuilder] without requiring a [ContainerLayer]. class RootLayer extends ContainerLayer { @override - void accept(LayerVisitor visitor) { - visitor.visitRoot(this); + R accept(LayerVisitor visitor) { + return visitor.visitRoot(this); } } @@ -62,8 +62,8 @@ class BackdropFilterEngineLayer extends ContainerLayer implements ui.BackdropFil final ui.BlendMode blendMode; @override - void accept(LayerVisitor visitor) { - visitor.visitBackdropFilter(this); + R accept(LayerVisitor visitor) { + return visitor.visitBackdropFilter(this); } // TODO(dnfield): dispose of the _filter @@ -79,8 +79,8 @@ class ClipPathEngineLayer extends ContainerLayer implements ui.ClipPathEngineLay final ui.Clip clipBehavior; @override - void accept(LayerVisitor visitor) { - visitor.visitClipPath(this); + R accept(LayerVisitor visitor) { + return visitor.visitClipPath(this); } } @@ -93,8 +93,8 @@ class ClipRectEngineLayer extends ContainerLayer implements ui.ClipRectEngineLay final ui.Clip clipBehavior; @override - void accept(LayerVisitor visitor) { - visitor.visitClipRect(this); + R accept(LayerVisitor visitor) { + return visitor.visitClipRect(this); } } @@ -107,8 +107,8 @@ class ClipRRectEngineLayer extends ContainerLayer implements ui.ClipRRectEngineL final ui.Clip? clipBehavior; @override - void accept(LayerVisitor visitor) { - visitor.visitClipRRect(this); + R accept(LayerVisitor visitor) { + return visitor.visitClipRRect(this); } } @@ -123,8 +123,8 @@ class ClipRSuperellipseEngineLayer extends ContainerLayer final ui.Clip? clipBehavior; @override - void accept(LayerVisitor visitor) { - visitor.visitClipRSuperellipse(this); + R accept(LayerVisitor visitor) { + return visitor.visitClipRSuperellipse(this); } } @@ -136,8 +136,8 @@ class OpacityEngineLayer extends ContainerLayer implements ui.OpacityEngineLayer final ui.Offset offset; @override - void accept(LayerVisitor visitor) { - visitor.visitOpacity(this); + R accept(LayerVisitor visitor) { + return visitor.visitOpacity(this); } } @@ -149,8 +149,8 @@ class TransformEngineLayer extends ContainerLayer implements ui.TransformEngineL final Matrix4 transform; @override - void accept(LayerVisitor visitor) { - visitor.visitTransform(this); + R accept(LayerVisitor visitor) { + return visitor.visitTransform(this); } } @@ -163,8 +163,8 @@ class OffsetEngineLayer extends TransformEngineLayer implements ui.OffsetEngineL OffsetEngineLayer(double dx, double dy) : super(Matrix4.translationValues(dx, dy, 0.0)); @override - void accept(LayerVisitor visitor) { - visitor.visitOffset(this); + R accept(LayerVisitor visitor) { + return visitor.visitOffset(this); } } @@ -173,11 +173,11 @@ class ImageFilterEngineLayer extends ContainerLayer implements ui.ImageFilterEng ImageFilterEngineLayer(this.filter, this.offset); final ui.Offset offset; - final ui.ImageFilter filter; + final LayerImageFilter filter; @override - void accept(LayerVisitor visitor) { - visitor.visitImageFilter(this); + R accept(LayerVisitor visitor) { + return visitor.visitImageFilter(this); } // TODO(dnfield): dispose of the _filter @@ -193,8 +193,8 @@ class ShaderMaskEngineLayer extends ContainerLayer implements ui.ShaderMaskEngin final ui.FilterQuality filterQuality; @override - void accept(LayerVisitor visitor) { - visitor.visitShaderMask(this); + R accept(LayerVisitor visitor) { + return visitor.visitShaderMask(this); } } @@ -203,7 +203,7 @@ class PictureLayer extends Layer { PictureLayer(this.picture, this.offset, this.isComplex, this.willChange); /// The picture to paint into the canvas. - final CkPicture picture; + final LayerPicture picture; /// The offset at which to paint the picture. final ui.Offset offset; @@ -222,8 +222,8 @@ class PictureLayer extends Layer { bool isCulled = false; @override - void accept(LayerVisitor visitor) { - visitor.visitPicture(this); + R accept(LayerVisitor visitor) { + return visitor.visitPicture(this); } @override @@ -237,8 +237,8 @@ class ColorFilterEngineLayer extends ContainerLayer implements ui.ColorFilterEng final ui.ColorFilter filter; @override - void accept(LayerVisitor visitor) { - visitor.visitColorFilter(this); + R accept(LayerVisitor visitor) { + return visitor.visitColorFilter(this); } } @@ -252,7 +252,7 @@ class PlatformViewLayer extends Layer { final double height; @override - void accept(LayerVisitor visitor) { - visitor.visitPlatformView(this); + R accept(LayerVisitor visitor) { + return visitor.visitPlatformView(this); } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_painting.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_painting.dart new file mode 100644 index 0000000000000..61d71c800bfa2 --- /dev/null +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_painting.dart @@ -0,0 +1,62 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/// These are additional APIs that are not part of the `dart:ui` interface that +/// are needed internally to properly implement a `SceneBuilder` on top of the +/// generic Canvas/Picture api. +library scene_painting; + +import 'package:ui/ui.dart' as ui; + +import '../vector_math.dart'; + +/// A [ui.Canvas] with the additional method [saveLayerWithFilter] which allows +/// the caller to pass an explicit [ui.ImageFilter] which is applied to the +/// layer when [restore] is called. +abstract class LayerCanvas implements ui.Canvas { + /// This is the same as a normal `saveLayer` call, but we can pass a backdrop image filter. + void saveLayerWithFilter(ui.Rect? bounds, ui.Paint paint, ui.ImageFilter backdropFilter); + + /// Clears the canvas and replaces it with the given [color]. + void clear(ui.Color color); + + /// Returns [true] if [rect] can quickly be determined to be clipped out of + /// canvas. May give false negatives, but never false positives. + bool quickReject(ui.Rect rect); +} + +/// A [ui.Picture] that provides approximate bounds for the drawings contained +/// within it. +abstract class LayerPicture implements ui.Picture { + // This is a conservative bounding box of all the drawing primitives in this picture. + ui.Rect get cullRect; +} + +/// A [ui.PictureRecorder] which allows callers to know if it has been disposed. +abstract class LayerPictureRecorder implements ui.PictureRecorder { + /// Whether this reference to the underlying picture recorder is [dispose]d. + /// + /// This only returns a valid value if asserts are enabled, and must not be + /// used otherwise. + bool get debugDisposed; +} + +/// A [ui.ImageFilter] with helper methods for picture measurement and layout. +abstract class LayerImageFilter implements ui.ImageFilter { + // Since some image filters affect the actual drawing bounds of a given picture, this + // gives the maximum draw boundary for a picture with the given input bounds after it + // has been processed by the filter. + ui.Rect filterBounds(ui.Rect inputBounds); + + // The matrix image filter changes the position of the content, so when positioning + // platform views and calculating occlusion we need to take its transform into account. + Matrix4? get transform; +} + +/// A [ui.Path] with a helper method to convert it to an SVG string. +abstract class LayerPath implements ui.Path { + // In order to properly clip platform views with paths, we need to be able to get a + // string representation of them. + String toSvgString(); +} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_scene_builder.dart similarity index 86% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_scene_builder.dart index 447a73cc0515e..0dfd154434596 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_scene_builder.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_scene_builder.dart @@ -4,9 +4,18 @@ import 'dart:typed_data'; -import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; +import '../lazy_path.dart'; +import '../util.dart'; +import '../vector_math.dart'; +import 'layer.dart'; +import 'layer_painting.dart'; +import 'layer_tree.dart'; + +// Warn about performance overlay on Web only once per page load. +bool _webPerfOverlayWarned = false; + class LayerScene implements ui.Scene { LayerScene(RootLayer rootLayer) : layerTree = LayerTree(rootLayer); @@ -38,8 +47,14 @@ class LayerSceneBuilder implements ui.SceneBuilder { @override void addPerformanceOverlay(int enabledOptions, ui.Rect bounds) { - // We don't plan to implement this on the web. - throw UnimplementedError(); + // Not implemented on Web. Avoid crashing; warn once to guide developers. + if (!_webPerfOverlayWarned) { + _webPerfOverlayWarned = true; + printWarning( + 'showPerformanceOverlay is not supported on Flutter Web. ' + 'See: https://docs.flutter.dev/perf/web-performance', + ); + } } @override @@ -49,7 +64,7 @@ class LayerSceneBuilder implements ui.SceneBuilder { bool isComplexHint = false, bool willChangeHint = false, }) { - currentLayer.add(PictureLayer(picture as CkPicture, offset, isComplexHint, willChangeHint)); + currentLayer.add(PictureLayer(picture as LayerPicture, offset, isComplexHint, willChangeHint)); } @override @@ -155,7 +170,9 @@ class LayerSceneBuilder implements ui.SceneBuilder { ui.ImageFilterEngineLayer? oldLayer, ui.Offset offset = ui.Offset.zero, }) { - return pushLayer(ImageFilterEngineLayer(filter, offset)); + return pushLayer( + ImageFilterEngineLayer(filter as LayerImageFilter, offset), + ); } @override diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_tree.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_tree.dart similarity index 59% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_tree.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_tree.dart index 56f7df3536ba9..e36899f09168a 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_tree.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_tree.dart @@ -2,18 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -import '../../engine.dart' show BitmapSize, kProfileApplyFrame, kProfilePrerollFrame; -import '../profiler.dart'; -import 'canvas.dart'; -import 'embedded_views.dart'; -import 'layer.dart'; -import 'layer_visitor.dart'; -import 'n_way_canvas.dart'; -import 'picture_recorder.dart'; -import 'raster_cache.dart'; - /// A tree of [Layer]s that, together with a [Size] compose a frame. class LayerTree { LayerTree(this.rootLayer); @@ -30,7 +21,7 @@ class LayerTree { /// pictures are registered with the raster cache as potential candidates /// to raster. If [ignoreRasterCache] is `true`, then there will be no /// attempt to register pictures to cache. - void preroll(Frame frame, {bool ignoreRasterCache = false}) { + void preroll(Frame frame) { final PrerollVisitor prerollVisitor = PrerollVisitor(frame.viewEmbedder); rootLayer.accept(prerollVisitor); } @@ -38,8 +29,8 @@ class LayerTree { /// Performs a paint pass with a recording canvas for each picture in the /// tree. This paint pass is just used to measure the bounds for each picture /// so we can optimize the total number of canvases required. - void measure(Frame frame, BitmapSize size, {bool ignoreRasterCache = false}) { - final MeasureVisitor measureVisitor = MeasureVisitor(size, frame.viewEmbedder!); + void measure(Frame frame, BitmapSize size) { + final MeasureVisitor measureVisitor = MeasureVisitor(size, frame.viewEmbedder); if (rootLayer.needsPainting) { rootLayer.accept(measureVisitor); } @@ -47,12 +38,9 @@ class LayerTree { } /// Paints the layer tree into the given [frame]. - /// - /// If [ignoreRasterCache] is `true`, then the raster cache will - /// not be used. - void paint(Frame frame, {bool ignoreRasterCache = false}) { - final CkNWayCanvas internalNodesCanvas = CkNWayCanvas(); - final Iterable overlayCanvases = frame.viewEmbedder!.getOptimizedCanvases(); + void paint(Frame frame) { + final NWayCanvas internalNodesCanvas = NWayCanvas(); + final Iterable overlayCanvases = frame.viewEmbedder!.getOptimizedCanvases(); overlayCanvases.forEach(internalNodesCanvas.addCanvas); final PaintVisitor paintVisitor = PaintVisitor(internalNodesCanvas, frame.viewEmbedder!); if (rootLayer.needsPainting) { @@ -60,17 +48,22 @@ class LayerTree { } } + Map dumpDebugInfo() { + final DebugInfoVisitor debugInfoVisitor = DebugInfoVisitor(); + return rootLayer.accept(debugInfoVisitor); + } + /// Flattens the tree into a single [ui.Picture]. /// /// This picture does not contain any platform views. ui.Picture flatten(ui.Size size) { - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(ui.Offset.zero & size); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, ui.Offset.zero & size); final PrerollVisitor prerollVisitor = PrerollVisitor(null); rootLayer.accept(prerollVisitor); - final CkNWayCanvas internalNodesCanvas = CkNWayCanvas(); - internalNodesCanvas.addCanvas(canvas); + final NWayCanvas internalNodesCanvas = NWayCanvas(); + internalNodesCanvas.addCanvas(canvas as LayerCanvas); final PaintVisitor paintVisitor = PaintVisitor.forToImage(internalNodesCanvas, canvas); if (rootLayer.needsPainting) { rootLayer.accept(paintVisitor); @@ -81,23 +74,21 @@ class LayerTree { /// A single frame to be rendered. class Frame { - Frame(this.rasterCache, this.viewEmbedder); - - /// A cache of pre-rastered pictures. - final RasterCache? rasterCache; + Frame(this.viewEmbedder); /// The platform view embedder. - final HtmlViewEmbedder? viewEmbedder; + final PlatformViewEmbedder? viewEmbedder; /// Rasterize the given layer tree into this frame. - bool raster(LayerTree layerTree, BitmapSize size, {bool ignoreRasterCache = false}) { + bool raster(LayerTree layerTree, BitmapSize size, FrameTimingRecorder? recorder) { timeAction(kProfilePrerollFrame, () { - layerTree.preroll(this, ignoreRasterCache: ignoreRasterCache); - layerTree.measure(this, size, ignoreRasterCache: ignoreRasterCache); - viewEmbedder?.optimizeRendering(); + layerTree.preroll(this); + layerTree.measure(this, size); + viewEmbedder?.optimizeComposition(); + recorder?.recordBuildFinish(); }); timeAction(kProfileApplyFrame, () { - layerTree.paint(this, ignoreRasterCache: ignoreRasterCache); + layerTree.paint(this); }); return true; } @@ -105,11 +96,8 @@ class Frame { /// The state of the compositor, which is persisted between frames. class CompositorContext { - /// A cache of pictures, which is shared between successive frames. - RasterCache? rasterCache; - /// Acquire a frame using this compositor's settings. - Frame acquireFrame(HtmlViewEmbedder? viewEmbedder) { - return Frame(rasterCache, viewEmbedder); + Frame acquireFrame(PlatformViewEmbedder? viewEmbedder) { + return Frame(viewEmbedder); } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_visitor.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_visitor.dart similarity index 66% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_visitor.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_visitor.dart index e12f536a3ba12..d4f45a8d28eaa 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/layer_visitor.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/layer_visitor.dart @@ -7,21 +7,21 @@ import 'dart:typed_data'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -abstract class LayerVisitor { - void visitRoot(RootLayer root); - void visitBackdropFilter(BackdropFilterEngineLayer backdropFilter); - void visitClipPath(ClipPathEngineLayer clipPath); - void visitClipRect(ClipRectEngineLayer clipRect); - void visitClipRRect(ClipRRectEngineLayer clipRRect); - void visitClipRSuperellipse(ClipRSuperellipseEngineLayer clipRSuperellipse); - void visitOpacity(OpacityEngineLayer opacity); - void visitTransform(TransformEngineLayer transform); - void visitOffset(OffsetEngineLayer offset); - void visitImageFilter(ImageFilterEngineLayer imageFilter); - void visitShaderMask(ShaderMaskEngineLayer shaderMask); - void visitPicture(PictureLayer picture); - void visitColorFilter(ColorFilterEngineLayer colorFilter); - void visitPlatformView(PlatformViewLayer platformView); +abstract class LayerVisitor { + R visitRoot(RootLayer root); + R visitBackdropFilter(BackdropFilterEngineLayer backdropFilter); + R visitClipPath(ClipPathEngineLayer clipPath); + R visitClipRect(ClipRectEngineLayer clipRect); + R visitClipRRect(ClipRRectEngineLayer clipRRect); + R visitClipRSuperellipse(ClipRSuperellipseEngineLayer clipRSuperellipse); + R visitOpacity(OpacityEngineLayer opacity); + R visitTransform(TransformEngineLayer transform); + R visitOffset(OffsetEngineLayer offset); + R visitImageFilter(ImageFilterEngineLayer imageFilter); + R visitShaderMask(ShaderMaskEngineLayer shaderMask); + R visitPicture(PictureLayer picture); + R visitColorFilter(ColorFilterEngineLayer colorFilter); + R visitPlatformView(PlatformViewLayer platformView); } /// Pre-process the layer tree before painting. @@ -29,13 +29,13 @@ abstract class LayerVisitor { /// In this step, we compute the estimated [paintBounds] as well as /// apply heuristics to prepare the render cache for pictures that /// should be cached. -class PrerollVisitor extends LayerVisitor { +class PrerollVisitor extends LayerVisitor { PrerollVisitor(this.viewEmbedder); final MutatorsStack mutatorsStack = MutatorsStack(); /// A compositor for embedded HTML views. - final HtmlViewEmbedder? viewEmbedder; + final PlatformViewEmbedder? viewEmbedder; ui.Rect get cullRect { ui.Rect cullRect = ui.Rect.largest; @@ -142,12 +142,6 @@ class PrerollVisitor extends LayerVisitor { mutatorsStack.pushTransform( Matrix4.translationValues(imageFilter.offset.dx, imageFilter.offset.dy, 0.0), ); - final CkManagedSkImageFilterConvertible convertible; - if (imageFilter.filter is ui.ColorFilter) { - convertible = createCkColorFilter(imageFilter.filter as EngineColorFilter)!; - } else { - convertible = imageFilter.filter as CkManagedSkImageFilterConvertible; - } ui.Rect childPaintBounds = prerollChildren(imageFilter); childPaintBounds = childPaintBounds.translate(imageFilter.offset.dx, imageFilter.offset.dy); if (imageFilter.filter is ui.ColorFilter) { @@ -155,11 +149,7 @@ class PrerollVisitor extends LayerVisitor { // entire screen, which is not what we want. imageFilter.paintBounds = childPaintBounds; } else { - convertible.withSkImageFilter((SkImageFilter skFilter) { - imageFilter.paintBounds = rectFromSkIRect( - skFilter.getOutputBounds(toSkRect(childPaintBounds)), - ); - }); + imageFilter.paintBounds = imageFilter.filter.filterBounds(childPaintBounds); } mutatorsStack.pop(); } @@ -226,26 +216,27 @@ class PrerollVisitor extends LayerVisitor { /// A layer visitor which measures the pictures that make up the scene and /// prepares for them to be optimized into few canvases. -class MeasureVisitor extends LayerVisitor { - MeasureVisitor(BitmapSize size, this.viewEmbedder) : measuringRecorder = CkPictureRecorder() { - measuringCanvas = measuringRecorder.beginRecording(ui.Offset.zero & size.toSize()); +class MeasureVisitor extends LayerVisitor { + MeasureVisitor(BitmapSize size, this.viewEmbedder) + : measuringRecorder = ui.PictureRecorder() as LayerPictureRecorder { + measuringCanvas = ui.Canvas(measuringRecorder, ui.Offset.zero & size.toSize()) as LayerCanvas; } /// A stack of image filters which apply their transforms to measured bounds. - List imageFilterStack = []; + List imageFilterStack = []; - final CkPictureRecorder measuringRecorder; + final LayerPictureRecorder measuringRecorder; /// A Canvas which records the scene operations. Used to measure pictures /// in the scene. - late final CkCanvas measuringCanvas; + late final LayerCanvas measuringCanvas; /// A compositor for embedded HTML views. - final HtmlViewEmbedder viewEmbedder; + final PlatformViewEmbedder? viewEmbedder; /// Clean up the measuring picture recorder and the picture it recorded. void dispose() { - final CkPicture picture = measuringRecorder.endRecording(); + final ui.Picture picture = measuringRecorder.endRecording(); picture.dispose(); } @@ -262,7 +253,11 @@ class MeasureVisitor extends LayerVisitor { @override void visitRoot(RootLayer root) { - measureChildren(root); + // If all children of the root are clipped out, then `measureChildren` will + // crash since the root doesn't need painting. + if (root.needsPainting) { + measureChildren(root); + } } @override @@ -276,12 +271,12 @@ class MeasureVisitor extends LayerVisitor { measuringCanvas.save(); measuringCanvas.clipPath( - clipPath.clipPath.builtPath as CkPath, - clipPath.clipBehavior != ui.Clip.hardEdge, + clipPath.clipPath, + doAntiAlias: clipPath.clipBehavior != ui.Clip.hardEdge, ); if (clipPath.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { - measuringCanvas.saveLayer(clipPath.paintBounds, null); + measuringCanvas.saveLayer(clipPath.paintBounds, ui.Paint()); } measureChildren(clipPath); if (clipPath.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { @@ -297,11 +292,10 @@ class MeasureVisitor extends LayerVisitor { measuringCanvas.save(); measuringCanvas.clipRect( clipRect.clipRect, - ui.ClipOp.intersect, - clipRect.clipBehavior != ui.Clip.hardEdge, + doAntiAlias: clipRect.clipBehavior != ui.Clip.hardEdge, ); if (clipRect.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { - measuringCanvas.saveLayer(clipRect.clipRect, null); + measuringCanvas.saveLayer(clipRect.clipRect, ui.Paint()); } measureChildren(clipRect); if (clipRect.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { @@ -315,9 +309,12 @@ class MeasureVisitor extends LayerVisitor { assert(clipRRect.needsPainting); measuringCanvas.save(); - measuringCanvas.clipRRect(clipRRect.clipRRect, clipRRect.clipBehavior != ui.Clip.hardEdge); + measuringCanvas.clipRRect( + clipRRect.clipRRect, + doAntiAlias: clipRRect.clipBehavior != ui.Clip.hardEdge, + ); if (clipRRect.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { - measuringCanvas.saveLayer(clipRRect.paintBounds, null); + measuringCanvas.saveLayer(clipRRect.paintBounds, ui.Paint()); } measureChildren(clipRRect); if (clipRRect.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { @@ -333,10 +330,10 @@ class MeasureVisitor extends LayerVisitor { measuringCanvas.save(); measuringCanvas.clipRSuperellipse( clipRSuperellipse.clipRSuperellipse, - clipRSuperellipse.clipBehavior != ui.Clip.hardEdge, + doAntiAlias: clipRSuperellipse.clipBehavior != ui.Clip.hardEdge, ); if (clipRSuperellipse.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { - measuringCanvas.saveLayer(clipRSuperellipse.paintBounds, null); + measuringCanvas.saveLayer(clipRSuperellipse.paintBounds, ui.Paint()); } measureChildren(clipRSuperellipse); if (clipRSuperellipse.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { @@ -349,7 +346,7 @@ class MeasureVisitor extends LayerVisitor { void visitOpacity(OpacityEngineLayer opacity) { assert(opacity.needsPainting); - final CkPaint paint = CkPaint(); + final ui.Paint paint = ui.Paint(); paint.color = ui.Color.fromARGB(opacity.alpha, 0, 0, 0); measuringCanvas.save(); @@ -367,7 +364,7 @@ class MeasureVisitor extends LayerVisitor { assert(transform.needsPainting); measuringCanvas.save(); - measuringCanvas.transform(transform.transform.storage); + measuringCanvas.transform(transform.transform.toFloat64()); measureChildren(transform); measuringCanvas.restore(); } @@ -383,12 +380,12 @@ class MeasureVisitor extends LayerVisitor { final ui.Rect offsetPaintBounds = imageFilter.paintBounds.shift(-imageFilter.offset); measuringCanvas.save(); measuringCanvas.translate(imageFilter.offset.dx, imageFilter.offset.dy); - measuringCanvas.clipRect(offsetPaintBounds, ui.ClipOp.intersect, false); - final CkPaint paint = CkPaint(); + measuringCanvas.clipRect(offsetPaintBounds, doAntiAlias: false); + final ui.Paint paint = ui.Paint(); paint.imageFilter = imageFilter.filter; measuringCanvas.saveLayer(offsetPaintBounds, paint); if (imageFilter.filter is! ui.ColorFilter) { - imageFilterStack.add(imageFilter.filter as CkManagedSkImageFilterConvertible); + imageFilterStack.add(imageFilter.filter); } measureChildren(imageFilter); if (imageFilter.filter is! ui.ColorFilter) { @@ -402,7 +399,7 @@ class MeasureVisitor extends LayerVisitor { void visitShaderMask(ShaderMaskEngineLayer shaderMask) { assert(shaderMask.needsPainting); - measuringCanvas.saveLayer(shaderMask.paintBounds, null); + measuringCanvas.saveLayer(shaderMask.paintBounds, ui.Paint()); measureChildren(shaderMask); measuringCanvas.restore(); @@ -416,15 +413,13 @@ class MeasureVisitor extends LayerVisitor { measuringCanvas.translate(picture.offset.dx, picture.offset.dy); // Get the picture bounds using the measuring canvas. - final Float32List localTransform = measuringCanvas.getLocalToDevice(); + final Float32List localTransform = Float32List.fromList(measuringCanvas.getTransform()); ui.Rect transformedBounds = Matrix4.fromFloat32List( localTransform, ).transformRect(picture.picture.cullRect); // Modify the bounds with the image filters. - for (final CkManagedSkImageFilterConvertible convertible in imageFilterStack.reversed) { - convertible.withSkImageFilter((SkImageFilter skFilter) { - transformedBounds = rectFromSkIRect(skFilter.getOutputBounds(toSkRect(transformedBounds))); - }, defaultBlurTileMode: ui.TileMode.decal); + for (final LayerImageFilter imageFilter in imageFilterStack.reversed) { + transformedBounds = imageFilter.filterBounds(transformedBounds); } picture.sceneBounds = transformedBounds; @@ -432,14 +427,14 @@ class MeasureVisitor extends LayerVisitor { measuringCanvas.restore(); - viewEmbedder.addPictureToUnoptimizedScene(picture); + viewEmbedder?.addPictureToUnoptimizedScene(picture); } @override void visitColorFilter(ColorFilterEngineLayer colorFilter) { assert(colorFilter.needsPainting); - final CkPaint paint = CkPaint(); + final ui.Paint paint = ui.Paint(); paint.colorFilter = colorFilter.filter; // We need to clip because if the ColorFilter affects transparent black, @@ -449,7 +444,7 @@ class MeasureVisitor extends LayerVisitor { measuringCanvas.save(); // TODO(hterkelsen): Only clip if the ColorFilter affects transparent black. - measuringCanvas.clipRect(colorFilter.paintBounds, ui.ClipOp.intersect, false); + measuringCanvas.clipRect(colorFilter.paintBounds, doAntiAlias: false); measuringCanvas.saveLayer(colorFilter.paintBounds, paint); measureChildren(colorFilter); @@ -461,7 +456,7 @@ class MeasureVisitor extends LayerVisitor { void visitPlatformView(PlatformViewLayer platformView) { // TODO(harryterkelsen): Warn if we are a child of a backdrop filter or // shader mask. - viewEmbedder.compositeEmbeddedView(platformView.viewId); + viewEmbedder?.compositeEmbeddedView(platformView.viewId); } } @@ -469,25 +464,25 @@ class MeasureVisitor extends LayerVisitor { /// /// The canvases are the optimized canvases that were created when the view /// embedder optimized the canvases after the measure step. -class PaintVisitor extends LayerVisitor { - PaintVisitor(this.nWayCanvas, HtmlViewEmbedder this.viewEmbedder) : toImageCanvas = null; +class PaintVisitor extends LayerVisitor { + PaintVisitor(this.nWayCanvas, PlatformViewEmbedder this.viewEmbedder) : toImageCanvas = null; PaintVisitor.forToImage(this.nWayCanvas, this.toImageCanvas) : viewEmbedder = null; /// A multi-canvas that applies clips, transforms, and opacity /// operations to all canvases (root canvas and overlay canvases for the /// platform views). - CkNWayCanvas nWayCanvas; + NWayCanvas nWayCanvas; /// A compositor for embedded HTML views. - final HtmlViewEmbedder? viewEmbedder; + final PlatformViewEmbedder? viewEmbedder; final List shaderMaskStack = []; final Map> picturesUnderShaderMask = >{}; - final CkCanvas? toImageCanvas; + final ui.Canvas? toImageCanvas; /// Calls [paint] on all child layers that need painting. void paintChildren(ContainerLayer container) { @@ -507,7 +502,7 @@ class PaintVisitor extends LayerVisitor { @override void visitBackdropFilter(BackdropFilterEngineLayer backdropFilter) { - final CkPaint paint = CkPaint()..blendMode = backdropFilter.blendMode; + final ui.Paint paint = ui.Paint()..blendMode = backdropFilter.blendMode; nWayCanvas.saveLayerWithFilter(backdropFilter.paintBounds, backdropFilter.filter, paint); paintChildren(backdropFilter); @@ -519,10 +514,7 @@ class PaintVisitor extends LayerVisitor { assert(clipPath.needsPainting); nWayCanvas.save(); - nWayCanvas.clipPath( - clipPath.clipPath.builtPath as CkPath, - clipPath.clipBehavior != ui.Clip.hardEdge, - ); + nWayCanvas.clipPath(clipPath.clipPath, clipPath.clipBehavior != ui.Clip.hardEdge); if (clipPath.clipBehavior == ui.Clip.antiAliasWithSaveLayer) { nWayCanvas.saveLayer(clipPath.paintBounds, null); @@ -592,7 +584,7 @@ class PaintVisitor extends LayerVisitor { void visitOpacity(OpacityEngineLayer opacity) { assert(opacity.needsPainting); - final CkPaint paint = CkPaint(); + final ui.Paint paint = ui.Paint(); paint.color = ui.Color.fromARGB(opacity.alpha, 0, 0, 0); nWayCanvas.save(); @@ -627,7 +619,7 @@ class PaintVisitor extends LayerVisitor { nWayCanvas.save(); nWayCanvas.translate(imageFilter.offset.dx, imageFilter.offset.dy); nWayCanvas.clipRect(offsetPaintBounds, ui.ClipOp.intersect, false); - final CkPaint paint = CkPaint(); + final ui.Paint paint = ui.Paint(); paint.imageFilter = imageFilter.filter; nWayCanvas.saveLayer(offsetPaintBounds, paint); paintChildren(imageFilter); @@ -643,14 +635,14 @@ class PaintVisitor extends LayerVisitor { nWayCanvas.saveLayer(shaderMask.paintBounds, null); paintChildren(shaderMask); - final CkPaint paint = CkPaint(); + final ui.Paint paint = ui.Paint(); paint.shader = shaderMask.shader; paint.blendMode = shaderMask.blendMode; paint.filterQuality = shaderMask.filterQuality; - late List canvasesToApplyShaderMask; + late List canvasesToApplyShaderMask; if (viewEmbedder != null) { - final Set canvases = {}; + final Set canvases = {}; final List? pictureChildren = picturesUnderShaderMask[shaderMask]; if (pictureChildren != null) { for (final PictureLayer picture in pictureChildren) { @@ -659,10 +651,10 @@ class PaintVisitor extends LayerVisitor { } canvasesToApplyShaderMask = canvases.toList(); } else { - canvasesToApplyShaderMask = [toImageCanvas!]; + canvasesToApplyShaderMask = [toImageCanvas!]; } - for (final CkCanvas canvas in canvasesToApplyShaderMask) { + for (final ui.Canvas canvas in canvasesToApplyShaderMask) { canvas.save(); canvas.translate(shaderMask.maskRect.left, shaderMask.maskRect.top); @@ -687,7 +679,7 @@ class PaintVisitor extends LayerVisitor { picturesUnderShaderMask[shaderMask]!.add(picture); } - late CkCanvas pictureRecorderCanvas; + late ui.Canvas pictureRecorderCanvas; if (viewEmbedder != null) { pictureRecorderCanvas = viewEmbedder!.getOptimizedCanvasFor(picture); } else { @@ -705,7 +697,7 @@ class PaintVisitor extends LayerVisitor { void visitColorFilter(ColorFilterEngineLayer colorFilter) { assert(colorFilter.needsPainting); - final CkPaint paint = CkPaint(); + final ui.Paint paint = ui.Paint(); paint.colorFilter = colorFilter.filter; // We need to clip because if the ColorFilter affects transparent black, @@ -729,3 +721,204 @@ class PaintVisitor extends LayerVisitor { // optimized rendering in the measure step. } } + +class DebugInfoVisitor extends LayerVisitor> { + List> debugChildren(ContainerLayer container) { + final List> children = >[]; + + for (final Layer layer in container.children) { + children.add(layer.accept(this)); + } + return children; + } + + @override + Map visitRoot(RootLayer root) { + return {'type': 'root', 'children': debugChildren(root)}; + } + + @override + Map visitBackdropFilter(BackdropFilterEngineLayer backdropFilter) { + return { + 'type': 'backdropFilter', + 'filter': backdropFilter.filter.toString(), + 'blendMode': backdropFilter.blendMode.toString(), + 'children': debugChildren(backdropFilter), + }; + } + + @override + Map visitClipPath(ClipPathEngineLayer clipPath) { + final ui.Rect bounds = clipPath.clipPath.getBounds(); + return { + 'type': 'clipPath', + 'pathBounds': { + 'left': bounds.left, + 'top': bounds.top, + 'right': bounds.right, + 'bottom': bounds.bottom, + }, + 'clip': clipPath.clipBehavior.name, + 'children': debugChildren(clipPath), + }; + } + + @override + Map visitClipRect(ClipRectEngineLayer clipRect) { + final ui.Rect rect = clipRect.clipRect; + return { + 'type': 'clipRect', + 'rect': {'left': rect.left, 'top': rect.top, 'right': rect.right, 'bottom': rect.bottom}, + 'clip': clipRect.clipBehavior.name, + 'children': debugChildren(clipRect), + }; + } + + @override + Map visitClipRRect(ClipRRectEngineLayer clipRRect) { + final ui.RRect rrect = clipRRect.clipRRect; + return { + 'type': 'clipRRect', + 'rrect': { + 'left': rrect.left, + 'top': rrect.top, + 'right': rrect.right, + 'bottom': rrect.bottom, + 'tlRadiusX': rrect.tlRadiusX, + 'tlRadiusY': rrect.tlRadiusY, + 'trRadiusX': rrect.trRadiusX, + 'trRadiusY': rrect.trRadiusY, + 'brRadiusX': rrect.brRadiusX, + 'brRadiusY': rrect.brRadiusY, + 'blRadiusX': rrect.blRadiusX, + 'blRadiusY': rrect.blRadiusY, + }, + 'clip': clipRRect.clipBehavior?.name, + 'children': debugChildren(clipRRect), + }; + } + + @override + Map visitClipRSuperellipse(ClipRSuperellipseEngineLayer clipRSuperellipse) { + final ui.RSuperellipse rsuperellipse = clipRSuperellipse.clipRSuperellipse; + return { + 'type': 'clipRSuperellipse', + 'rsuperellipse': { + 'left': rsuperellipse.left, + 'top': rsuperellipse.top, + 'right': rsuperellipse.right, + 'bottom': rsuperellipse.bottom, + 'tlRadiusX': rsuperellipse.tlRadiusX, + 'tlRadiusY': rsuperellipse.tlRadiusY, + 'trRadiusX': rsuperellipse.trRadiusX, + 'trRadiusY': rsuperellipse.trRadiusY, + 'brRadiusX': rsuperellipse.brRadiusX, + 'brRadiusY': rsuperellipse.brRadiusY, + 'blRadiusX': rsuperellipse.blRadiusX, + 'blRadiusY': rsuperellipse.blRadiusY, + }, + 'clip': clipRSuperellipse.clipBehavior?.name, + 'children': debugChildren(clipRSuperellipse), + }; + } + + @override + Map visitOpacity(OpacityEngineLayer opacity) { + return { + 'type': 'opacity', + 'alpha': opacity.alpha, + 'offset': {'x': opacity.offset.dx, 'y': opacity.offset.dy}, + 'children': debugChildren(opacity), + }; + } + + @override + Map visitTransform(TransformEngineLayer transform) { + return { + 'type': 'transform', + 'matrix': transform.transform.storage.toList(), + 'children': debugChildren(transform), + }; + } + + @override + Map visitOffset(OffsetEngineLayer offset) { + final translation = offset.transform.getTranslation(); + return { + 'type': 'offset', + 'offset': {'x': translation.x, 'y': translation.y}, + 'children': debugChildren(offset), + }; + } + + @override + Map visitImageFilter(ImageFilterEngineLayer imageFilter) { + return { + 'type': 'imageFilter', + 'filter': imageFilter.filter.toString(), + 'offset': {'x': imageFilter.offset.dx, 'y': imageFilter.offset.dy}, + 'children': debugChildren(imageFilter), + }; + } + + @override + Map visitShaderMask(ShaderMaskEngineLayer shaderMask) { + final ui.Rect maskRect = shaderMask.maskRect; + return { + 'type': 'shaderMask', + 'shader': shaderMask.shader.toString(), + 'maskRect': { + 'left': maskRect.left, + 'top': maskRect.top, + 'right': maskRect.right, + 'bottom': maskRect.bottom, + }, + 'blendMode': shaderMask.blendMode.toString(), + 'children': debugChildren(shaderMask), + }; + } + + @override + Map visitPicture(PictureLayer picture) { + final ui.Rect cullRect = picture.picture.cullRect; + return { + 'type': 'picture', + 'offset': {'x': picture.offset.dx, 'y': picture.offset.dy}, + 'localBounds': { + 'left': cullRect.left, + 'top': cullRect.top, + 'right': cullRect.right, + 'bottom': cullRect.bottom, + }, + }; + } + + @override + Map visitColorFilter(ColorFilterEngineLayer colorFilter) { + return { + 'type': 'colorFilter', + 'filter': colorFilter.filter.toString(), + 'children': debugChildren(colorFilter), + }; + } + + @override + Map visitPlatformView(PlatformViewLayer platformView) { + final ui.Rect bounds = ui.Rect.fromLTWH( + platformView.offset.dx, + platformView.offset.dy, + platformView.width, + platformView.height, + ); + return { + 'type': 'platformView', + 'localBounds': { + 'left': bounds.left, + 'top': bounds.top, + 'right': bounds.right, + 'bottom': bounds.bottom, + }, + 'viewId': platformView.viewId, + }; + } +} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/n_way_canvas.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/n_way_canvas.dart similarity index 75% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/n_way_canvas.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/layer/n_way_canvas.dart index 74886017a67d3..9ee14f0dc5aab 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/n_way_canvas.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/layer/n_way_canvas.dart @@ -6,38 +6,36 @@ import 'dart:typed_data'; import 'package:ui/ui.dart' as ui; -import 'canvas.dart'; -import 'painting.dart'; -import 'path.dart'; +import 'layer_painting.dart'; /// A virtual canvas that applies operations to multiple canvases at once. -class CkNWayCanvas { - final List _canvases = []; +class NWayCanvas { + final List _canvases = []; - void addCanvas(CkCanvas canvas) { + void addCanvas(LayerCanvas canvas) { _canvases.add(canvas); } /// Calls [save] on all canvases. - int save() { - int saveCount = 0; + void save() { for (int i = 0; i < _canvases.length; i++) { - saveCount = _canvases[i].save(); + _canvases[i].save(); } - return saveCount; } /// Calls [saveLayer] on all canvases. - void saveLayer(ui.Rect bounds, CkPaint? paint) { + void saveLayer(ui.Rect bounds, ui.Paint? paint) { + paint ??= ui.Paint(); for (int i = 0; i < _canvases.length; i++) { _canvases[i].saveLayer(bounds, paint); } } /// Calls [saveLayerWithFilter] on all canvases. - void saveLayerWithFilter(ui.Rect bounds, ui.ImageFilter filter, [CkPaint? paint]) { + void saveLayerWithFilter(ui.Rect bounds, ui.ImageFilter filter, [ui.Paint? paint]) { + paint ??= ui.Paint(); for (int i = 0; i < _canvases.length; i++) { - _canvases[i].saveLayerWithFilter(bounds, filter, paint); + _canvases[i].saveLayerWithFilter(bounds, paint, filter); } } @@ -64,8 +62,9 @@ class CkNWayCanvas { /// Calls [transform] on all canvases. void transform(Float32List matrix) { + final Float64List matrix64 = Float64List.fromList(matrix); for (int i = 0; i < _canvases.length; i++) { - _canvases[i].transform(matrix); + _canvases[i].transform(matrix64); } } @@ -77,23 +76,23 @@ class CkNWayCanvas { } /// Calls [clipPath] on all canvases. - void clipPath(CkPath path, bool doAntiAlias) { + void clipPath(ui.Path path, bool doAntiAlias) { for (int i = 0; i < _canvases.length; i++) { - _canvases[i].clipPath(path, doAntiAlias); + _canvases[i].clipPath(path, doAntiAlias: doAntiAlias); } } /// Calls [clipRect] on all canvases. void clipRect(ui.Rect rect, ui.ClipOp clipOp, bool doAntiAlias) { for (int i = 0; i < _canvases.length; i++) { - _canvases[i].clipRect(rect, clipOp, doAntiAlias); + _canvases[i].clipRect(rect, clipOp: clipOp, doAntiAlias: doAntiAlias); } } /// Calls [clipRRect] on all canvases. void clipRRect(ui.RRect rrect, bool doAntiAlias) { for (int i = 0; i < _canvases.length; i++) { - _canvases[i].clipRRect(rrect, doAntiAlias); + _canvases[i].clipRRect(rrect, doAntiAlias: doAntiAlias); } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/layers.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/layers.dart deleted file mode 100644 index d94077256ae6e..0000000000000 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/layers.dart +++ /dev/null @@ -1,1387 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:math' as math; -import 'dart:typed_data'; - -import 'package:meta/meta.dart'; -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; - -class EngineRootLayer with PictureEngineLayer { - @override - final NoopOperation operation = const NoopOperation(); - - @override - EngineRootLayer emptyClone() => EngineRootLayer(); -} - -class NoopOperation implements LayerOperation { - const NoopOperation(); - - @override - PlatformViewStyling createPlatformViewStyling() => const PlatformViewStyling(); - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect; - - @override - void pre(SceneCanvas canvas) { - canvas.save(); - } - - @override - void post(SceneCanvas canvas) { - canvas.restore(); - } - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'NoopOperation()'; - - @override - Map get debugJsonDescription { - return {'type': 'noop'}; - } -} - -class BackdropFilterLayer with PictureEngineLayer implements ui.BackdropFilterEngineLayer { - BackdropFilterLayer(this.operation); - - @override - final LayerOperation operation; - - @override - BackdropFilterLayer emptyClone() => BackdropFilterLayer(operation); -} - -class BackdropFilterOperation implements LayerOperation { - BackdropFilterOperation(this.filter, this.mode); - - final ui.ImageFilter filter; - final ui.BlendMode mode; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect; - - @override - void pre(SceneCanvas canvas) { - canvas.saveLayerWithFilter(ui.Rect.largest, ui.Paint()..blendMode = mode, filter); - } - - @override - void post(SceneCanvas canvas) { - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() => const PlatformViewStyling(); - - @override - bool get affectsBackdrop => true; - - @override - String toString() => 'BackdropFilterOperation(filter: $filter, mode: $mode)'; - - @override - Map get debugJsonDescription { - return { - 'type': 'backdropFilter', - 'filter': filter.toString(), - 'mode': mode.toString(), - }; - } -} - -class ClipPathLayer with PictureEngineLayer implements ui.ClipPathEngineLayer { - ClipPathLayer(this.operation); - - @override - final ClipPathOperation operation; - - @override - ClipPathLayer emptyClone() => ClipPathLayer(operation); -} - -class ClipPathOperation implements LayerOperation { - ClipPathOperation(this.path, this.clip); - - final ScenePath path; - final ui.Clip clip; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect.intersect(path.getBounds()); - - @override - void pre(SceneCanvas canvas) { - canvas.save(); - canvas.clipPath(path, doAntiAlias: clip != ui.Clip.hardEdge); - if (clip == ui.Clip.antiAliasWithSaveLayer) { - canvas.saveLayer(path.getBounds(), ui.Paint()); - } - } - - @override - void post(SceneCanvas canvas) { - if (clip == ui.Clip.antiAliasWithSaveLayer) { - canvas.restore(); - } - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() { - return PlatformViewStyling(clip: PlatformViewPathClip(path)); - } - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'ClipPathOperation(path: $path, clip: $clip)'; - - @override - Map get debugJsonDescription { - final ui.Rect bounds = path.getBounds(); - return { - 'type': 'clipPath', - 'pathBounds': { - 'left': bounds.left, - 'top': bounds.top, - 'right': bounds.right, - 'bottom': bounds.bottom, - }, - 'clip': clip.name, - }; - } -} - -class ClipRectLayer with PictureEngineLayer implements ui.ClipRectEngineLayer { - ClipRectLayer(this.operation); - - @override - final ClipRectOperation operation; - - @override - ClipRectLayer emptyClone() => ClipRectLayer(operation); -} - -class ClipRectOperation implements LayerOperation { - const ClipRectOperation(this.rect, this.clip); - - final ui.Rect rect; - final ui.Clip clip; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect.intersect(rect); - - @override - void pre(SceneCanvas canvas) { - canvas.save(); - canvas.clipRect(rect, doAntiAlias: clip != ui.Clip.hardEdge); - if (clip == ui.Clip.antiAliasWithSaveLayer) { - canvas.saveLayer(rect, ui.Paint()); - } - } - - @override - void post(SceneCanvas canvas) { - if (clip == ui.Clip.antiAliasWithSaveLayer) { - canvas.restore(); - } - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() { - return PlatformViewStyling(clip: PlatformViewRectClip(rect)); - } - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'ClipRectOperation(rect: $rect, clip: $clip)'; - - @override - Map get debugJsonDescription { - return { - 'type': 'clipRect', - 'rect': {'left': rect.left, 'top': rect.top, 'right': rect.right, 'bottom': rect.bottom}, - 'clip': clip.name, - }; - } -} - -class ClipRRectLayer with PictureEngineLayer implements ui.ClipRRectEngineLayer { - ClipRRectLayer(this.operation); - - @override - final ClipRRectOperation operation; - - @override - ClipRRectLayer emptyClone() => ClipRRectLayer(operation); -} - -class ClipRRectOperation implements LayerOperation { - const ClipRRectOperation(this.rrect, this.clip); - - final ui.RRect rrect; - final ui.Clip clip; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect.intersect(rrect.outerRect); - - @override - void pre(SceneCanvas canvas) { - canvas.save(); - canvas.clipRRect(rrect, doAntiAlias: clip != ui.Clip.hardEdge); - if (clip == ui.Clip.antiAliasWithSaveLayer) { - canvas.saveLayer(rrect.outerRect, ui.Paint()); - } - } - - @override - void post(SceneCanvas canvas) { - if (clip == ui.Clip.antiAliasWithSaveLayer) { - canvas.restore(); - } - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() { - return PlatformViewStyling(clip: PlatformViewRRectClip(rrect)); - } - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'ClipRRectOperation(rrect: $rrect, clip: $clip)'; - - @override - Map get debugJsonDescription { - return { - 'type': 'clipRRect', - 'rrect': { - 'left': rrect.left, - 'top': rrect.top, - 'right': rrect.right, - 'bottom': rrect.bottom, - 'tlRadiusX': rrect.tlRadiusX, - 'tlRadiusY': rrect.tlRadiusY, - 'trRadiusX': rrect.trRadiusX, - 'trRadiusY': rrect.trRadiusY, - 'brRadiusX': rrect.brRadiusX, - 'brRadiusY': rrect.brRadiusY, - 'blRadiusX': rrect.blRadiusX, - 'blRadiusY': rrect.blRadiusY, - }, - 'clip': clip.name, - }; - } -} - -class ClipRSuperellipseLayer with PictureEngineLayer implements ui.ClipRSuperellipseEngineLayer { - ClipRSuperellipseLayer(this.operation); - - @override - final ClipRSuperellipseOperation operation; - - @override - ClipRSuperellipseLayer emptyClone() => ClipRSuperellipseLayer(operation); -} - -class ClipRSuperellipseOperation implements LayerOperation { - const ClipRSuperellipseOperation(this.rsuperellipse, this.clip); - - final ui.RSuperellipse rsuperellipse; - final ui.Clip clip; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect.intersect(rsuperellipse.outerRect); - - @override - void pre(SceneCanvas canvas) { - canvas.save(); - canvas.clipRSuperellipse(rsuperellipse, doAntiAlias: clip != ui.Clip.hardEdge); - if (clip == ui.Clip.antiAliasWithSaveLayer) { - canvas.saveLayer(rsuperellipse.outerRect, ui.Paint()); - } - } - - @override - void post(SceneCanvas canvas) { - if (clip == ui.Clip.antiAliasWithSaveLayer) { - canvas.restore(); - } - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() { - // RSuperellipse ops in PlatformView are approximated by RRect because they - // are expensive. - return PlatformViewStyling(clip: PlatformViewRRectClip(rsuperellipse.toApproximateRRect())); - } - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'ClipRSuperellipseOperation(rsuperellipse: $rsuperellipse, clip: $clip)'; - - @override - Map get debugJsonDescription { - return { - 'type': 'clipRSuperellipse', - 'rsuperellipse': { - 'left': rsuperellipse.left, - 'top': rsuperellipse.top, - 'right': rsuperellipse.right, - 'bottom': rsuperellipse.bottom, - 'tlRadiusX': rsuperellipse.tlRadiusX, - 'tlRadiusY': rsuperellipse.tlRadiusY, - 'trRadiusX': rsuperellipse.trRadiusX, - 'trRadiusY': rsuperellipse.trRadiusY, - 'brRadiusX': rsuperellipse.brRadiusX, - 'brRadiusY': rsuperellipse.brRadiusY, - 'blRadiusX': rsuperellipse.blRadiusX, - 'blRadiusY': rsuperellipse.blRadiusY, - }, - 'clip': clip.name, - }; - } -} - -class ColorFilterLayer with PictureEngineLayer implements ui.ColorFilterEngineLayer { - ColorFilterLayer(this.operation); - - @override - final ColorFilterOperation operation; - - @override - ColorFilterLayer emptyClone() => ColorFilterLayer(operation); -} - -class ColorFilterOperation implements LayerOperation { - ColorFilterOperation(this.filter); - - final ui.ColorFilter filter; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect; - - @override - void pre(SceneCanvas canvas) { - canvas.saveLayer(ui.Rect.largest, ui.Paint()..colorFilter = filter); - } - - @override - void post(SceneCanvas canvas) { - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() => const PlatformViewStyling(); - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'ColorFilterOperation(filter: $filter)'; - - @override - Map get debugJsonDescription { - return {'type': 'colorFilter', 'filter': filter.toString()}; - } -} - -class ImageFilterLayer with PictureEngineLayer implements ui.ImageFilterEngineLayer { - ImageFilterLayer(this.operation); - - @override - final ImageFilterOperation operation; - - @override - ImageFilterLayer emptyClone() => ImageFilterLayer(operation); -} - -class ImageFilterOperation implements LayerOperation { - ImageFilterOperation(this.filter, this.offset); - - final SceneImageFilter filter; - final ui.Offset offset; - - @override - ui.Rect mapRect(ui.Rect contentRect) => filter.filterBounds(contentRect); - - @override - void pre(SceneCanvas canvas) { - if (offset != ui.Offset.zero) { - canvas.save(); - canvas.translate(offset.dx, offset.dy); - } - canvas.saveLayer(ui.Rect.largest, ui.Paint()..imageFilter = filter); - } - - @override - void post(SceneCanvas canvas) { - if (offset != ui.Offset.zero) { - canvas.restore(); - } - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() { - PlatformViewStyling styling = const PlatformViewStyling(); - if (offset != ui.Offset.zero) { - styling = PlatformViewStyling(position: PlatformViewPosition.offset(offset)); - } - final Matrix4? transform = filter.transform; - if (transform != null) { - styling = PlatformViewStyling.combine( - styling, - PlatformViewStyling(position: PlatformViewPosition.transform(transform)), - ); - } - return const PlatformViewStyling(); - } - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'ImageFilterOperation(filter: $filter)'; - - @override - Map get debugJsonDescription { - return { - 'type': 'imageFilter', - 'filter': filter.toString(), - 'offset': {'x': offset.dx, 'y': offset.dy}, - }; - } -} - -class OffsetLayer with PictureEngineLayer implements ui.OffsetEngineLayer { - OffsetLayer(this.operation); - - @override - final OffsetOperation operation; - - @override - OffsetLayer emptyClone() => OffsetLayer(operation); -} - -class OffsetOperation implements LayerOperation { - OffsetOperation(this.dx, this.dy); - - final double dx; - final double dy; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect.shift(ui.Offset(dx, dy)); - - @override - void pre(SceneCanvas canvas) { - canvas.save(); - canvas.translate(dx, dy); - } - - @override - void post(SceneCanvas canvas) { - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() => - PlatformViewStyling(position: PlatformViewPosition.offset(ui.Offset(dx, dy))); - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'OffsetOperation(dx: $dx, dy: $dy)'; - - @override - Map get debugJsonDescription { - return { - 'type': 'offset', - 'offset': {'x': dx, 'y': dy}, - }; - } -} - -class OpacityLayer with PictureEngineLayer implements ui.OpacityEngineLayer { - OpacityLayer(this.operation); - - @override - final OpacityOperation operation; - - @override - OpacityLayer emptyClone() => OpacityLayer(operation); -} - -class OpacityOperation implements LayerOperation { - OpacityOperation(this.alpha, this.offset); - - final int alpha; - final ui.Offset offset; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect.shift(offset); - - @override - void pre(SceneCanvas canvas) { - if (offset != ui.Offset.zero) { - canvas.save(); - canvas.translate(offset.dx, offset.dy); - } - canvas.saveLayer(ui.Rect.largest, ui.Paint()..color = ui.Color.fromARGB(alpha, 0, 0, 0)); - } - - @override - void post(SceneCanvas canvas) { - canvas.restore(); - if (offset != ui.Offset.zero) { - canvas.restore(); - } - } - - @override - PlatformViewStyling createPlatformViewStyling() => PlatformViewStyling( - position: offset != ui.Offset.zero - ? PlatformViewPosition.offset(offset) - : const PlatformViewPosition.zero(), - opacity: alpha.toDouble() / 255.0, - ); - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'OpacityOperation(offset: $offset, alpha: $alpha)'; - - @override - Map get debugJsonDescription { - return { - 'type': 'opacity', - 'alpha': alpha, - 'offset': {'x': offset.dx, 'y': offset.dy}, - }; - } -} - -class TransformLayer with PictureEngineLayer implements ui.TransformEngineLayer { - TransformLayer(this.operation); - - @override - final TransformOperation operation; - - @override - TransformLayer emptyClone() => TransformLayer(operation); -} - -class TransformOperation implements LayerOperation { - TransformOperation(this.transform); - - final Float64List transform; - - Matrix4? _memoizedMatrix; - Matrix4 get matrix => - _memoizedMatrix ?? (_memoizedMatrix = Matrix4.fromFloat32List(toMatrix32(transform))); - - @override - ui.Rect mapRect(ui.Rect contentRect) => matrix.transformRect(contentRect); - - @override - void pre(SceneCanvas canvas) { - canvas.save(); - canvas.transform(transform); - } - - @override - void post(SceneCanvas canvas) { - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() => - PlatformViewStyling(position: PlatformViewPosition.transform(matrix)); - - @override - bool get affectsBackdrop => false; - - @override - String toString() => 'TransformOperation(matrix: $matrix)'; - - @override - Map get debugJsonDescription { - return {'type': 'transform', 'matrix': transform.toList()}; - } -} - -class ShaderMaskLayer with PictureEngineLayer implements ui.ShaderMaskEngineLayer { - ShaderMaskLayer(this.operation); - - @override - final ShaderMaskOperation operation; - - @override - ShaderMaskLayer emptyClone() => ShaderMaskLayer(operation); -} - -class ShaderMaskOperation implements LayerOperation { - ShaderMaskOperation(this.shader, this.maskRect, this.blendMode); - - final ui.Shader shader; - final ui.Rect maskRect; - final ui.BlendMode blendMode; - - @override - ui.Rect mapRect(ui.Rect contentRect) => contentRect; - - @override - void pre(SceneCanvas canvas) { - canvas.saveLayer(ui.Rect.largest, ui.Paint()); - } - - @override - void post(SceneCanvas canvas) { - canvas.save(); - canvas.translate(maskRect.left, maskRect.top); - canvas.drawRect( - ui.Rect.fromLTWH(0, 0, maskRect.width, maskRect.height), - ui.Paint() - ..blendMode = blendMode - ..shader = shader, - ); - canvas.restore(); - canvas.restore(); - } - - @override - PlatformViewStyling createPlatformViewStyling() => const PlatformViewStyling(); - - @override - bool get affectsBackdrop => false; - - @override - String toString() => - 'ShaderMaskOperation(shader: $shader, maskRect: $maskRect, blendMode: $blendMode)'; - - @override - Map get debugJsonDescription { - return { - 'type': 'shaderMask', - 'shader': shader.toString(), - 'maskRect': { - 'left': maskRect.left, - 'top': maskRect.top, - 'right': maskRect.right, - 'bottom': maskRect.bottom, - }, - }; - } -} - -class PlatformView { - PlatformView(this.viewId, this.bounds, this.styling); - - final int viewId; - - // The bounds of this platform view, in the layer's local coordinate space. - final ui.Rect bounds; - - final PlatformViewStyling styling; - - @override - String toString() { - return 'PlatformView(viewId: $viewId, bounds: $bounds, styling: $styling)'; - } -} - -class LayerSlice { - LayerSlice(this.picture, this.platformViews); - - // The picture of native flutter content to be rendered - ScenePicture picture; - - // Platform views to be placed on top of the flutter content. - final List platformViews; - - void dispose() { - picture.dispose(); - } -} - -mixin PictureEngineLayer implements ui.EngineLayer { - // Each layer is represented as a series of "slices" which contain flutter content - // with platform views on top. This is ordered from bottommost to topmost. - List slices = []; - - List drawCommands = []; - PlatformViewStyling platformViewStyling = const PlatformViewStyling(); - - LayerOperation get operation; - - PictureEngineLayer emptyClone(); - - @override - void dispose() { - for (final LayerSlice? slice in slices) { - slice?.dispose(); - } - } - - @override - String toString() { - return 'PictureEngineLayer($operation)'; - } - - Map get debugJsonDescription { - return { - 'operation': operation.debugJsonDescription, - 'commands': drawCommands.map((c) => c.debugJsonDescription).toList(), - }; - } - - bool get isSimple { - if (slices.length > 1) { - return false; - } - final LayerSlice? singleSlice = slices.firstOrNull; - if (singleSlice == null || singleSlice.platformViews.isEmpty) { - return true; - } - return false; - } -} - -abstract class LayerOperation { - const LayerOperation(); - - // Given an input content rectangle, this returns a conservative estimate of - // the covering rectangle of the content after it has been processed by the - // layer operation. - ui.Rect mapRect(ui.Rect contentRect); - - void pre(SceneCanvas canvas); - void post(SceneCanvas canvas); - - PlatformViewStyling createPlatformViewStyling(); - - /// Indicates whether this operation's `pre` and `post` methods should be - /// invoked even if it contains no pictures. (Most operations don't need to - /// actually be performed at all if they don't contain any pictures.) - bool get affectsBackdrop; - - Map get debugJsonDescription; -} - -sealed class LayerDrawCommand { - Map get debugJsonDescription; -} - -class PictureDrawCommand extends LayerDrawCommand { - PictureDrawCommand(this.offset, this.picture, this.sliceIndex); - - final int sliceIndex; - final ui.Offset offset; - final ScenePicture picture; - - @override - Map get debugJsonDescription { - final bounds = picture.cullRect; - return { - 'type': 'picture', - 'sliceIndex': sliceIndex, - 'offset': {'x': offset.dx, 'y': offset.dy}, - 'localBounds': { - 'left': bounds.left, - 'top': bounds.top, - 'right': bounds.right, - 'bottom': bounds.bottom, - }, - }; - } -} - -class PlatformViewDrawCommand extends LayerDrawCommand { - PlatformViewDrawCommand(this.viewId, this.bounds, this.sliceIndex); - - final int sliceIndex; - final int viewId; - final ui.Rect bounds; - - @override - Map get debugJsonDescription { - return { - 'type': 'platformView', - 'sliceIndex': sliceIndex, - 'viewId': viewId, - 'localBounds': { - 'left': bounds.left, - 'top': bounds.top, - 'right': bounds.right, - 'bottom': bounds.bottom, - }, - }; - } -} - -class RetainedLayerDrawCommand extends LayerDrawCommand { - RetainedLayerDrawCommand(this.layer); - - final PictureEngineLayer layer; - - @override - Map get debugJsonDescription { - return {'type': 'layer', 'layer': layer.debugJsonDescription}; - } -} - -// Represents how a platform view should be positioned in the scene. -// This object is immutable, so it can be reused across different platform -// views that have the same positioning. -class PlatformViewPosition { - // No transformation at all. We leave both fields null. - const PlatformViewPosition.zero() : offset = null, transform = null; - - // A simple offset is the most common scenario. In those cases, we only - // store the offset and leave the transform as null - const PlatformViewPosition.offset(this.offset) : transform = null; - - // In more complex cases, we store the transform. In those cases, the offset - // is left as null. - const PlatformViewPosition.transform(this.transform) : offset = null; - - bool get isZero => (offset == null) && (transform == null); - - ui.Rect mapLocalToGlobal(ui.Rect rect) { - if (offset != null) { - return rect.shift(offset!); - } - if (transform != null) { - return transform!.transformRect(rect); - } - return rect; - } - - // Note that by construction only one of these can be set at any given time, not both. - final ui.Offset? offset; - final Matrix4? transform; - - static PlatformViewPosition combine(PlatformViewPosition outer, PlatformViewPosition inner) { - // We try to reuse existing objects if possible, if they are immutable. - if (outer.isZero) { - return inner; - } - if (inner.isZero) { - return outer; - } - final ui.Offset? outerOffset = outer.offset; - final ui.Offset? innerOffset = inner.offset; - if (outerOffset != null && innerOffset != null) { - // Both positions are simple offsets, so they can be combined cheaply - // into another offset. - return PlatformViewPosition.offset(outerOffset + innerOffset); - } - - // Otherwise, at least one of the positions involves a matrix transform. - final Matrix4 innerTransform; - final Matrix4 outerTransform; - if (innerOffset != null) { - innerTransform = Matrix4.translationValues(innerOffset.dx, innerOffset.dy, 0); - } else { - innerTransform = inner.transform!; - } - if (outerOffset != null) { - outerTransform = Matrix4.translationValues(outerOffset.dx, outerOffset.dy, 0); - } else { - outerTransform = outer.transform!; - } - return PlatformViewPosition.transform(outerTransform.multiplied(innerTransform)); - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - if (other is! PlatformViewPosition) { - return false; - } - return (offset == other.offset) && (transform == other.transform); - } - - @override - int get hashCode { - return Object.hash(offset, transform); - } - - @override - String toString() { - if (offset != null) { - return 'PlatformViewPosition(offset: $offset)'; - } - if (transform != null) { - return 'PlatformViewPosition(transform: $transform)'; - } - return 'PlatformViewPosition(zero)'; - } -} - -// Represents the styling to be performed on a platform view when it is -// composited. This object is immutable so that it can be reused with different -// platform views that have the same styling. -class PlatformViewStyling { - const PlatformViewStyling({ - this.position = const PlatformViewPosition.zero(), - this.clip = const PlatformViewNoClip(), - this.opacity = 1.0, - }); - - bool get isDefault => position.isZero && (opacity == 1.0) && clip is PlatformViewNoClip; - - final PlatformViewPosition position; - final double opacity; - final PlatformViewClip clip; - - ui.Rect mapLocalToGlobal(ui.Rect rect) { - return position.mapLocalToGlobal(rect).intersect(clip.outerRect); - } - - static PlatformViewStyling combine(PlatformViewStyling outer, PlatformViewStyling inner) { - // Attempt to reuse one of the existing immutable objects. - if (outer.isDefault) { - return inner; - } - if (inner.isDefault) { - return outer; - } - return PlatformViewStyling( - position: PlatformViewPosition.combine(outer.position, inner.position), - clip: PlatformViewClip.combine(outer.clip, inner.clip.positioned(outer.position)), - opacity: outer.opacity * inner.opacity, - ); - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - if (other is! PlatformViewStyling) { - return false; - } - return (position == other.position) && (opacity == other.opacity) && (clip == other.clip); - } - - @override - int get hashCode { - return Object.hash(position, opacity, clip); - } - - @override - String toString() { - return 'PlatformViewStyling(position: $position, clip: $clip, opacity: $opacity)'; - } -} - -sealed class PlatformViewClip { - PlatformViewClip positioned(PlatformViewPosition position); - - /// The largest rectangle that is entirely inside the clip region. All - /// inside of this region is unclipped. - ui.Rect get innerRect; - - /// The bounding rectangle of the clip region. All content outside of this - /// region is clipped. - ui.Rect get outerRect; - - ScenePath get toPath; - - static bool rectCovers(ui.Rect covering, ui.Rect covered) { - return covering.left <= covered.left && - covering.right >= covered.right && - covering.top <= covered.top && - covering.bottom >= covered.bottom; - } - - static PlatformViewClip combine(PlatformViewClip outer, PlatformViewClip inner) { - if (outer is PlatformViewNoClip) { - return inner; - } - if (inner is PlatformViewNoClip) { - return outer; - } - - if (rectCovers(outer.innerRect, inner.outerRect)) { - return inner; - } - - if (rectCovers(inner.innerRect, outer.outerRect)) { - return outer; - } - - return PlatformViewPathClip( - ui.Path.combine(ui.PathOperation.intersect, outer.toPath, inner.toPath) as ScenePath, - ); - } -} - -class PlatformViewNoClip implements PlatformViewClip { - const PlatformViewNoClip(); - - @override - PlatformViewClip positioned(PlatformViewPosition positioned) { - return this; - } - - @override - ScenePath get toPath => ui.Path() as ScenePath; - - @override - bool operator ==(Object other) { - return identical(this, other) || (other.runtimeType == PlatformViewNoClip); - } - - @override - int get hashCode => runtimeType.hashCode; - - @override - ui.Rect get innerRect => ui.Rect.zero; - - @override - ui.Rect get outerRect => ui.Rect.largest; - - @override - String toString() { - return 'PlatformViewClip(none)'; - } -} - -class PlatformViewRectClip implements PlatformViewClip { - const PlatformViewRectClip(this.rect); - - final ui.Rect rect; - - @override - PlatformViewClip positioned(PlatformViewPosition position) { - if (position.isZero) { - return this; - } - final ui.Offset? offset = position.offset; - if (offset != null) { - return PlatformViewRectClip(rect.shift(offset)); - } else { - return PlatformViewPathClip(toPath.transform(position.transform!.toFloat64()) as ScenePath); - } - } - - @override - ScenePath get toPath => (ui.Path() as ScenePath)..addRect(rect); - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - return other is PlatformViewRectClip && rect == other.rect; - } - - @override - int get hashCode => Object.hash(runtimeType, rect); - - @override - ui.Rect get innerRect => rect; - - @override - ui.Rect get outerRect => rect; - - @override - String toString() { - return 'PlatformViewRectClip($rect)'; - } -} - -class PlatformViewRRectClip implements PlatformViewClip { - const PlatformViewRRectClip(this.rrect); - - final ui.RRect rrect; - - @override - PlatformViewClip positioned(PlatformViewPosition position) { - if (position.isZero) { - return this; - } - final ui.Offset? offset = position.offset; - if (offset != null) { - return PlatformViewRRectClip(rrect.shift(offset)); - } else { - return PlatformViewPathClip(toPath.transform(position.transform!.toFloat64()) as ScenePath); - } - } - - @override - ScenePath get toPath => (ui.Path() as ScenePath)..addRRect(rrect); - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - return other is PlatformViewRRectClip && rrect == other.rrect; - } - - @override - int get hashCode => Object.hash(runtimeType, rrect); - - @override - ui.Rect get innerRect => rrect.safeInnerRect; - - @override - ui.Rect get outerRect => rrect.outerRect; - - @override - String toString() { - return 'PlatformViewRRectClip($rrect)'; - } -} - -class PlatformViewPathClip implements PlatformViewClip { - PlatformViewPathClip(this.path); - - final ScenePath path; - - @override - PlatformViewClip positioned(PlatformViewPosition position) { - if (position.isZero) { - return this; - } - - final ui.Offset? offset = position.offset; - if (offset != null) { - return PlatformViewPathClip(path.shift(offset) as ScenePath); - } else { - return PlatformViewPathClip(path.transform(position.transform!.toFloat64()) as ScenePath); - } - } - - @override - ScenePath get toPath => path; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - return other is PlatformViewPathClip && path == other.path; - } - - @override - int get hashCode => Object.hash(runtimeType, path); - - @override - ui.Rect get innerRect => ui.Rect.zero; - - @override - ui.Rect get outerRect => path.getBounds(); - - @override - String toString() { - return 'PlatformViewPathClip($path)'; - } -} - -class LayerSliceBuilder { - @visibleForTesting - static (ui.PictureRecorder, SceneCanvas) Function(ui.Rect)? debugRecorderFactory; - - static (ui.PictureRecorder, SceneCanvas) defaultRecorderFactory(ui.Rect rect) { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final SceneCanvas canvas = ui.Canvas(recorder, rect) as SceneCanvas; - return (recorder, canvas); - } - - void addPicture(ui.Offset offset, ScenePicture picture) { - pictures.add((picture, offset)); - final ui.Rect pictureRect = picture.cullRect.shift(offset); - cullRect = cullRect?.expandToInclude(pictureRect) ?? pictureRect; - } - - (ui.PictureRecorder, SceneCanvas) createRecorder(ui.Rect rect) => - debugRecorderFactory != null ? debugRecorderFactory!(rect) : defaultRecorderFactory(rect); - - LayerSlice buildWithOperation(LayerOperation operation, ui.Rect? backdropRect) { - final ui.Rect effectiveRect; - if (backdropRect != null && cullRect != null) { - effectiveRect = cullRect!.expandToInclude(backdropRect); - } else { - effectiveRect = backdropRect ?? cullRect ?? ui.Rect.zero; - } - final (recorder, canvas) = createRecorder(operation.mapRect(effectiveRect)); - operation.pre(canvas); - for (final (picture, offset) in pictures) { - if (offset != ui.Offset.zero) { - canvas.save(); - canvas.translate(offset.dx, offset.dy); - canvas.drawPicture(picture); - canvas.restore(); - } else { - canvas.drawPicture(picture); - } - } - operation.post(canvas); - final ui.Picture picture = recorder.endRecording(); - return LayerSlice(picture as ScenePicture, platformViews); - } - - final List<(ScenePicture, ui.Offset)> pictures = []; - ui.Rect? cullRect; - final List platformViews = []; -} - -class LayerBuilder { - factory LayerBuilder.rootLayer() { - return LayerBuilder._(null, EngineRootLayer()); - } - - factory LayerBuilder.childLayer({ - required LayerBuilder parent, - required PictureEngineLayer layer, - }) { - return LayerBuilder._(parent, layer); - } - - LayerBuilder._(this.parent, this.layer); - - final LayerBuilder? parent; - final PictureEngineLayer layer; - - final List sliceBuilders = []; - final List drawCommands = []; - - ui.Rect? getCurrentBackdropRectAtSliceIndex(int index) { - final parentRect = parent?.getCurrentBackdropRectAtSliceIndex(index); - final sliceBuilder = index < sliceBuilders.length ? sliceBuilders[index] : null; - final sliceRect = sliceBuilder?.cullRect; - final ui.Rect? combinedRect; - if (sliceRect != null && parentRect != null) { - combinedRect = parentRect.expandToInclude(sliceRect); - } else { - combinedRect = parentRect ?? sliceRect; - } - return combinedRect == null ? null : layer.operation.mapRect(combinedRect); - } - - int getCurrentSliceCount() { - final parentSliceCount = parent?.getCurrentSliceCount(); - if (parentSliceCount != null) { - return math.max(parentSliceCount, sliceBuilders.length); - } else { - return sliceBuilders.length; - } - } - - PlatformViewStyling? _memoizedPlatformViewStyling; - PlatformViewStyling get platformViewStyling { - return _memoizedPlatformViewStyling ??= layer.operation.createPlatformViewStyling(); - } - - PlatformViewStyling? _memoizedGlobalPlatformViewStyling; - PlatformViewStyling get globalPlatformViewStyling { - if (_memoizedGlobalPlatformViewStyling != null) { - return _memoizedGlobalPlatformViewStyling!; - } - if (parent != null) { - return _memoizedGlobalPlatformViewStyling ??= PlatformViewStyling.combine( - parent!.globalPlatformViewStyling, - platformViewStyling, - ); - } - return _memoizedGlobalPlatformViewStyling ??= platformViewStyling; - } - - LayerSliceBuilder getOrCreateSliceBuilderAtIndex(int index) { - while (sliceBuilders.length <= index) { - sliceBuilders.add(null); - } - final LayerSliceBuilder? existingSliceBuilder = sliceBuilders[index]; - if (existingSliceBuilder != null) { - return existingSliceBuilder; - } - final LayerSliceBuilder newSliceBuilder = LayerSliceBuilder(); - sliceBuilders[index] = newSliceBuilder; - return newSliceBuilder; - } - - void addPicture(ui.Offset offset, ui.Picture picture, {required int sliceIndex}) { - final LayerSliceBuilder sliceBuilder = getOrCreateSliceBuilderAtIndex(sliceIndex); - sliceBuilder.addPicture(offset, picture as ScenePicture); - drawCommands.add(PictureDrawCommand(offset, picture, sliceIndex)); - } - - void addPlatformView(int viewId, {required ui.Rect bounds, required int sliceIndex}) { - final LayerSliceBuilder sliceBuilder = getOrCreateSliceBuilderAtIndex(sliceIndex); - sliceBuilder.platformViews.add(PlatformView(viewId, bounds, platformViewStyling)); - drawCommands.add(PlatformViewDrawCommand(viewId, bounds, sliceIndex)); - } - - void mergeLayer(PictureEngineLayer layer) { - for (int i = 0; i < layer.slices.length; i++) { - final LayerSlice? slice = layer.slices[i]; - if (slice != null) { - final LayerSliceBuilder sliceBuilder = getOrCreateSliceBuilderAtIndex(i); - sliceBuilder.addPicture(ui.Offset.zero, slice.picture); - sliceBuilder.platformViews.addAll( - slice.platformViews.map((PlatformView view) { - return PlatformView( - view.viewId, - view.bounds, - PlatformViewStyling.combine(platformViewStyling, view.styling), - ); - }), - ); - } - } - drawCommands.add(RetainedLayerDrawCommand(layer)); - } - - PictureEngineLayer sliceUp() { - final int sliceCount = layer.operation.affectsBackdrop - ? getCurrentSliceCount() - : sliceBuilders.length; - final slices = []; - for (int i = 0; i < sliceCount; i++) { - final ui.Rect? backdropRect; - if (layer.operation.affectsBackdrop) { - backdropRect = getCurrentBackdropRectAtSliceIndex(i); - } else { - backdropRect = null; - } - final LayerSliceBuilder? builder; - if (backdropRect != null) { - builder = getOrCreateSliceBuilderAtIndex(i); - } else { - builder = i < sliceBuilders.length ? sliceBuilders[i] : null; - } - slices.add(builder?.buildWithOperation(layer.operation, backdropRect)); - } - layer.slices = slices; - return layer; - } - - PictureEngineLayer build() { - layer.drawCommands = drawCommands; - layer.platformViewStyling = platformViewStyling; - return sliceUp(); - } -} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/lazy_path.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/lazy_path.dart index f4ef312b054e3..140f9654e3b55 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/lazy_path.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/lazy_path.dart @@ -8,7 +8,7 @@ import 'dart:typed_data'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -abstract class DisposablePath implements ScenePath { +abstract class DisposablePath implements LayerPath { @override DisposablePathMetrics computeMetrics({bool forceClosed = false}); @@ -355,7 +355,7 @@ abstract class DisposablePathConstructors { ); } -class LazyPath implements ScenePath, Collectable { +class LazyPath implements LayerPath, Collectable { factory LazyPath(DisposablePathConstructors constructors) => LazyPath._(constructors, ui.PathFillType.nonZero, () => constructors.createNew()); LazyPath._(this.constructors, this._fillType, this.initializer) : _commands = []; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/navigation/history.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/navigation/history.dart index 99d44c8a2fb42..b5c8f35331285 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/navigation/history.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/navigation/history.dart @@ -6,7 +6,6 @@ import 'package:meta/meta.dart'; import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; -import '../dom.dart'; import '../platform_dispatcher.dart'; import '../services/message_codec.dart'; import '../services/message_codecs.dart'; @@ -257,20 +256,30 @@ class SingleEntryBrowserHistory extends BrowserHistory { _setupStrategy(strategy); - final String path = currentPath; - if (!_isFlutterEntry(domWindow.history.state)) { + _currentRouteName = currentPath; + if (!_isFlutterEntry(currentState)) { // An entry may not have come from Flutter, for example, when the user // refreshes the page. They land directly on the "flutter" entry, so // there's no need to set up the "origin" and "flutter" entries, we can // safely assume they are already set up. _setupOriginEntry(strategy); - _setupFlutterEntry(strategy, path: path); + _setupFlutterEntry(strategy); } } @override final ui_web.UrlStrategy? urlStrategy; + /// The route name of the current page. + /// + /// This is updated whenever the framework calls `setRouteName`. This is then + /// used when the user hits the back button to pop a nameless route, to restore + /// the route name from before the nameless route was pushed. + /// + /// This is also used to track the user-provided url when they change it + /// directly in the address bar. + String _currentRouteName = '/'; + static const MethodCall _popRouteMethodCall = MethodCall('popRoute'); static const String _kFlutterTag = 'flutter'; static const String _kOriginTag = 'origin'; @@ -303,11 +312,11 @@ class SingleEntryBrowserHistory extends BrowserHistory { @override void setRouteName(String? routeName, {Object? state, bool replace = false}) { if (urlStrategy != null) { - _setupFlutterEntry(urlStrategy!, replace: true, path: routeName); + _currentRouteName = routeName ?? currentPath; + _setupFlutterEntry(urlStrategy!, replace: true); } } - String? _userProvidedRouteName; @override void onPopState(Object? state) { if (_isOriginEntry(state)) { @@ -323,17 +332,13 @@ class SingleEntryBrowserHistory extends BrowserHistory { // We get into this scenario when the user changes the url manually. It // causes a new entry to be pushed on top of our "flutter" one. When this // happens it first goes to the "else" section below where we capture the - // path into `_userProvidedRouteName` then trigger a history back which + // path into `_currentRouteName` then trigger a history back which // brings us here. - assert(_userProvidedRouteName != null); - - final String newRouteName = _userProvidedRouteName!; - _userProvidedRouteName = null; // Send a 'pushRoute' platform message so the app handles it accordingly. EnginePlatformDispatcher.instance.invokeOnPlatformMessage( 'flutter/navigation', - const JSONMethodCodec().encodeMethodCall(MethodCall('pushRoute', newRouteName)), + const JSONMethodCodec().encodeMethodCall(MethodCall('pushRoute', _currentRouteName)), (_) {}, ); } else { @@ -342,7 +347,7 @@ class SingleEntryBrowserHistory extends BrowserHistory { // example. // 1. We first capture the user's desired path. - _userProvidedRouteName = currentPath; + _currentRouteName = currentPath; // 2. Then we remove the new entry. // This will take us back to our "flutter" entry and it causes a new @@ -360,13 +365,9 @@ class SingleEntryBrowserHistory extends BrowserHistory { /// This method is used manipulate the Flutter Entry which is always the /// active entry while the Flutter app is running. - void _setupFlutterEntry(ui_web.UrlStrategy strategy, {bool replace = false, String? path}) { - path ??= currentPath; - if (replace) { - strategy.replaceState(_flutterState, 'flutter', path); - } else { - strategy.pushState(_flutterState, 'flutter', path); - } + void _setupFlutterEntry(ui_web.UrlStrategy strategy, {bool replace = false}) { + final updateState = replace ? strategy.replaceState : strategy.pushState; + updateState(_flutterState, 'flutter', _currentRouteName); } @override diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/occlusion_map.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/occlusion_map.dart new file mode 100644 index 0000000000000..0de03b2445554 --- /dev/null +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/occlusion_map.dart @@ -0,0 +1,129 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:math' as math; + +import 'package:ui/ui.dart' as ui; + +import 'util.dart'; + +sealed class OcclusionMapNode { + bool overlaps(ui.Rect rect); + OcclusionMapNode insert(ui.Rect rect); + ui.Rect get boundingBox; +} + +class OcclusionMapEmpty implements OcclusionMapNode { + @override + ui.Rect get boundingBox => ui.Rect.zero; + + @override + OcclusionMapNode insert(ui.Rect rect) => OcclusionMapLeaf(rect); + + @override + bool overlaps(ui.Rect rect) => false; +} + +class OcclusionMapLeaf implements OcclusionMapNode { + OcclusionMapLeaf(this.rect); + + final ui.Rect rect; + + @override + ui.Rect get boundingBox => rect; + + @override + OcclusionMapNode insert(ui.Rect other) { + if (rectContainsOther(rect, other)) { + // `other` is fully contained within `rect`, so we don't need to change anything. + return this; + } + if (rectContainsOther(other, rect)) { + // `other` fully contains `rect`, so we replace `rect` with `other`. + return OcclusionMapLeaf(other); + } + return OcclusionMapBranch(this, OcclusionMapLeaf(other)); + } + + @override + bool overlaps(ui.Rect other) => rect.overlaps(other); +} + +class OcclusionMapBranch implements OcclusionMapNode { + OcclusionMapBranch(this.left, this.right) + : boundingBox = left.boundingBox.expandToInclude(right.boundingBox); + + final OcclusionMapNode left; + final OcclusionMapNode right; + + @override + final ui.Rect boundingBox; + + double _areaOfUnion(ui.Rect first, ui.Rect second) { + return (math.max(first.right, second.right) - math.min(first.left, second.left)) * + (math.max(first.bottom, second.bottom) - math.min(first.top, second.top)); + } + + @override + OcclusionMapNode insert(ui.Rect other) { + // `other` fully contains the bounding box of the left and right nodes, so the entire branch is + // replaced with a new leaf that only contains `other`. + if (rectContainsOther(other, boundingBox)) { + return OcclusionMapLeaf(other); + } + + // Try to create nodes with the smallest possible area + final double leftOtherArea = _areaOfUnion(left.boundingBox, other); + final double rightOtherArea = _areaOfUnion(right.boundingBox, other); + final double leftRightArea = boundingBox.width * boundingBox.height; + if (leftOtherArea < rightOtherArea) { + if (leftOtherArea < leftRightArea) { + final OcclusionMapNode newLeft = left.insert(other); + if (identical(newLeft, left)) { + // `other` made no difference to `left`, so there's no need to change anything. + return this; + } + return OcclusionMapBranch(newLeft, right); + } + } else { + if (rightOtherArea < leftRightArea) { + final OcclusionMapNode newRight = right.insert(other); + if (identical(newRight, right)) { + // `other` made no difference to `right`, so there's no need to change anything. + return this; + } + return OcclusionMapBranch(left, newRight); + } + } + return OcclusionMapBranch(this, OcclusionMapLeaf(other)); + } + + @override + bool overlaps(ui.Rect rect) { + if (!boundingBox.overlaps(rect)) { + return false; + } + return left.overlaps(rect) || right.overlaps(rect); + } +} + +class OcclusionMap { + OcclusionMapNode root = OcclusionMapEmpty(); + + void addRect(ui.Rect rect) { + if (rect.isEmpty) { + // Empty rects don't overlap with anything, there's no need to add them. + return; + } + root = root.insert(rect); + } + + bool overlaps(ui.Rect rect) { + if (rect.isEmpty) { + // Empty rects don't overlap with anything, there's no need to check for overlaps. + return false; + } + return root.overlaps(rect); + } +} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart index 58018a8b9d265..ffb8610b44550 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_dispatcher.dart @@ -480,17 +480,13 @@ class EnginePlatformDispatcher extends ui.PlatformDispatcher { final MethodCall decoded = jsonCodec.decodeMethodCall(data); switch (decoded.method) { case 'Skia.setResourceCacheMaxBytes': - if (renderer is CanvasKitRenderer) { - assert( - decoded.arguments is int, - 'Argument to Skia.setResourceCacheMaxBytes must be an int, but was ${(decoded.arguments as Object?).runtimeType}', - ); - final int cacheSizeInBytes = decoded.arguments as int; - CanvasKitRenderer.instance.resourceCacheMaxBytes = cacheSizeInBytes; - } + assert( + decoded.arguments is int, + 'Argument to Skia.setResourceCacheMaxBytes must be an int, but was ${(decoded.arguments as Object?).runtimeType}', + ); + final int cacheSizeInBytes = decoded.arguments as int; + renderer.resourceCacheMaxBytes = cacheSizeInBytes; - // Also respond in HTML mode. Otherwise, apps would have to detect - // CanvasKit vs HTML before invoking this method. replyToPlatformMessage(callback, jsonCodec.encodeSuccessEnvelope([true])); } return; @@ -709,6 +705,15 @@ class EnginePlatformDispatcher extends ui.PlatformDispatcher { FrameService.instance.scheduleWarmUpFrame(beginFrame: beginFrame, drawFrame: drawFrame); } + @override + void setSemanticsTreeEnabled(bool enabled) { + if (!enabled) { + for (final EngineFlutterView view in views) { + view.semantics.reset(); + } + } + } + /// Updates the application's rendering on the GPU with the newly provided /// [Scene]. This function must be called within the scope of the /// [onBeginFrame] or [onDrawFrame] callbacks being invoked. If this function diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views.dart deleted file mode 100644 index 956e19d8e04f8..0000000000000 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views.dart +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// TODO(yjbanov): The code in this file was temporarily moved to lib/web_ui/lib/ui.dart -// during the NNBD migration so that `dart:ui` does not have to export -// `dart:_engine`. NNBD does not allow exported non-migrated libraries -// from migrated libraries. diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views/embedder.dart similarity index 61% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/platform_views/embedder.dart index e8d56dd1783ff..39952900efa18 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/embedded_views.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/platform_views/embedder.dart @@ -3,21 +3,13 @@ // found in the LICENSE file. import 'dart:math' as math; +import 'package:meta/meta.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -/// Used for clipping and filter svg resources. -/// -/// Position needs to be absolute since these svgs are sandwiched between -/// canvas elements and can cause layout shifts otherwise. -final SVGSVGElement kSvgResourceHeader = createSVGSVGElement() - ..setAttribute('width', 0) - ..setAttribute('height', 0) - ..style.position = 'absolute'; - /// This composites HTML views into the [ui.Scene]. -class HtmlViewEmbedder { - HtmlViewEmbedder(this.sceneHost, this.rasterizer); +class PlatformViewEmbedder { + PlatformViewEmbedder(this.sceneHost, this.rasterizer); final DomElement sceneHost; final ViewRasterizer rasterizer; @@ -25,6 +17,10 @@ class HtmlViewEmbedder { /// The context for the current frame. EmbedderFrameContext _context = EmbedderFrameContext(); + /// The context for the current frame. Should only be used in tests. + @visibleForTesting + EmbedderFrameContext get debugContext => _context; + /// The most recent composition parameters for a given view id. /// /// If we receive a request to composite a view, but the composition @@ -40,8 +36,8 @@ class HtmlViewEmbedder { /// * The number of clipping elements used last time the view was composited. final Map _viewClipChains = {}; - /// The maximum number of render canvases to create. Too many canvases can - /// cause a performance burden. + /// The maximum number of canvases to create. Too many canvases can cause a + /// performance burden. static int get maximumCanvases => configuration.canvasKitMaximumSurfaces; /// The views that need to be recomposited into the scene on the next frame. @@ -53,11 +49,11 @@ class HtmlViewEmbedder { /// The most recent composition order. final List _activeCompositionOrder = []; - /// The most recent rendering. - Rendering _activeRendering = Rendering(); + /// The most recent composition. + Composition _activeComposition = Composition(); - /// Returns the most recent rendering. Only used in tests. - Rendering get debugActiveRendering => _activeRendering; + /// Returns the most recent composition. Only used in tests. + Composition get debugActiveComposition => _activeComposition; /// If [debugOverlayOptimizationBounds] is true, this canvas will draw /// semitransparent rectangles showing the computed bounds of the platform @@ -71,10 +67,10 @@ class HtmlViewEmbedder { _frameSize = size; } - /// Returns a list of canvases for the optimized rendering. These are used in + /// Returns a list of canvases for the optimized composition. These are used in /// the paint step. - Iterable getOptimizedCanvases() { - return _context.optimizedCanvasRecorders!.map((CkPictureRecorder r) => r.recordingCanvas!); + Iterable getOptimizedCanvases() { + return _context.optimizedCanvases!; } void prerollCompositeEmbeddedView(int viewId, EmbeddedViewParams params) { @@ -189,25 +185,6 @@ class HtmlViewEmbedder { return head; } - /// Clean up the old SVG clip definitions, as this platform view is about to - /// be recomposited. - void _cleanUpClipDefs(int viewId) { - if (_svgClipDefs.containsKey(viewId)) { - final DomElement clipDefs = _svgPathDefs!.querySelector('#sk_path_defs')!; - final List nodesToRemove = []; - final Set oldDefs = _svgClipDefs[viewId]!; - for (final DomElement child in clipDefs.children) { - if (oldDefs.contains(child.id)) { - nodesToRemove.add(child); - } - } - for (final DomElement node in nodesToRemove) { - node.remove(); - } - _svgClipDefs[viewId]!.clear(); - } - } - void _applyMutators(EmbeddedViewParams params, DomElement embeddedView, int viewId) { final MutatorsStack mutators = params.mutators; DomElement head = embeddedView; @@ -216,7 +193,6 @@ class HtmlViewEmbedder { : Matrix4.translationValues(params.offset.dx, params.offset.dy, 0); double embeddedOpacity = 1.0; _resetAnchor(head); - _cleanUpClipDefs(viewId); for (final Mutator mutator in mutators) { switch (mutator.type) { @@ -238,41 +214,27 @@ class HtmlViewEmbedder { clipView.style.height = '100%'; if (mutator.rect != null) { final ui.Rect rect = mutator.rect!; - clipView.style.clip = - 'rect(${rect.top}px, ${rect.right}px, ' - '${rect.bottom}px, ${rect.left}px)'; + clipView.style.clipPath = + 'rect(${rect.top}px ${rect.right}px ' + '${rect.bottom}px ${rect.left}px)'; } else if (mutator.rrect != null) { - final CkPath path = CkPath(); - path.addRRect(mutator.rrect!); - _ensureSvgPathDefs(); - final DomElement pathDefs = _svgPathDefs!.querySelector('#sk_path_defs')!; - _clipPathCount += 1; - final String clipId = 'svgClip$_clipPathCount'; - final SVGClipPathElement newClipPath = createSVGClipPathElement(); - newClipPath.id = clipId; - newClipPath.append(createSVGPathElement()..setAttribute('d', path.toSvgString())); - - pathDefs.append(newClipPath); - // Store the id of the node instead of [newClipPath] directly. For - // some reason, calling `newClipPath.remove()` doesn't remove it - // from the DOM. - _svgClipDefs.putIfAbsent(viewId, () => {}).add(clipId); - clipView.style.clipPath = 'url(#$clipId)'; + final ui.RRect rrect = mutator.rrect!; + if (rrect.blRadius == rrect.brRadius && + rrect.blRadius == rrect.tlRadius && + rrect.blRadius == rrect.trRadius && + rrect.blRadiusX == rrect.blRadiusY) { + clipView.style.clipPath = + 'rect(${rrect.top}px ${rrect.right}px ' + '${rrect.bottom}px ${rrect.left}px ' + 'round ${rrect.blRadiusX}px)'; + } else { + final LayerPath path = ui.Path() as LayerPath; + path.addRRect(mutator.rrect!); + clipView.style.clipPath = 'path("${path.toSvgString()}")'; + } } else if (mutator.path != null) { - final CkPath path = (mutator.path! as LazyPath).builtPath as CkPath; - _ensureSvgPathDefs(); - final DomElement pathDefs = _svgPathDefs!.querySelector('#sk_path_defs')!; - _clipPathCount += 1; - final String clipId = 'svgClip$_clipPathCount'; - final SVGClipPathElement newClipPath = createSVGClipPathElement(); - newClipPath.id = clipId; - newClipPath.append(createSVGPathElement()..setAttribute('d', path.toSvgString())); - pathDefs.append(newClipPath); - // Store the id of the node instead of [newClipPath] directly. For - // some reason, calling `newClipPath.remove()` doesn't remove it - // from the DOM. - _svgClipDefs.putIfAbsent(viewId, () => {}).add(clipId); - clipView.style.clipPath = 'url(#$clipId)'; + final LayerPath path = (mutator.path! as LazyPath).builtPath as LayerPath; + clipView.style.clipPath = 'path("${path.toSvgString()}")'; } _resetAnchor(clipView); head = clipView; @@ -303,79 +265,67 @@ class HtmlViewEmbedder { element.style.position = 'absolute'; } - int _clipPathCount = 0; - - DomElement? _svgPathDefs; - - /// The nodes containing the SVG clip definitions needed to clip this view. - final Map> _svgClipDefs = >{}; - - /// Ensures we add a container of SVG path defs to the DOM so they can - /// be referred to in clip-path: url(#blah). - void _ensureSvgPathDefs() { - if (_svgPathDefs != null) { - return; - } - _svgPathDefs = kSvgResourceHeader.cloneNode(false) as SVGElement; - _svgPathDefs!.append(createSVGDefsElement()..id = 'sk_path_defs'); - sceneHost.append(_svgPathDefs!); - } - /// Optimizes the scene to use the fewest possible canvases. This sets up /// the final paint pass to paint the pictures into the optimized canvases. - void optimizeRendering() { - Rendering rendering = createOptimizedRendering( + void optimizeComposition() { + Composition composition = createOptimizedComposition( _context.sceneElements, _currentCompositionParams, ); - rendering = _modifyRenderingForMaxCanvases(rendering); - _context.optimizedRendering = rendering; - // Create new picture recorders for the optimized render canvases and record + composition = _modifyCompositionForMaxCanvases(composition); + _context.optimizedComposition = composition; + // Create new picture recorders for the optimized canvases and record // which pictures go in which canvas. - final List optimizedCanvasRecorders = []; - final Map pictureToOptimizedCanvasMap = - {}; - for (final RenderingRenderCanvas renderCanvas in rendering.canvases) { - final CkPictureRecorder pictureRecorder = CkPictureRecorder(); - pictureRecorder.beginRecording(ui.Offset.zero & _frameSize.toSize()); + final List optimizedCanvasRecorders = []; + final List optimizedCanvases = []; + final Map pictureToOptimizedCanvasMap = + {}; + for (final CompositionCanvas canvas in composition.canvases) { + final LayerPictureRecorder pictureRecorder = ui.PictureRecorder() as LayerPictureRecorder; optimizedCanvasRecorders.add(pictureRecorder); - for (final PictureLayer picture in renderCanvas.pictures) { - pictureToOptimizedCanvasMap[picture] = pictureRecorder; + final LayerCanvas layerCanvas = + ui.Canvas(pictureRecorder, ui.Offset.zero & _frameSize.toSize()) as LayerCanvas; + optimizedCanvases.add(layerCanvas); + for (final PictureLayer picture in canvas.pictures) { + pictureToOptimizedCanvasMap[picture] = layerCanvas; } } _context.optimizedCanvasRecorders = optimizedCanvasRecorders; + _context.optimizedCanvases = optimizedCanvases; _context.pictureToOptimizedCanvasMap = pictureToOptimizedCanvasMap; } /// Returns the canvas that this picture layer should draw into in the /// optimized scene. - CkCanvas getOptimizedCanvasFor(PictureLayer picture) { - assert(_context.optimizedRendering != null); - return _context.pictureToOptimizedCanvasMap![picture]!.recordingCanvas!; - } - - Future submitFrame() async { - final Rendering rendering = _context.optimizedRendering!; - _updateDomForNewRendering(rendering); - if (rendering.equalsForRendering(_activeRendering)) { - // Copy the display canvases to the new rendering. - for (int i = 0; i < rendering.canvases.length; i++) { - rendering.canvases[i].displayCanvas = _activeRendering.canvases[i].displayCanvas; - _activeRendering.canvases[i].displayCanvas = null; + LayerCanvas getOptimizedCanvasFor(PictureLayer picture) { + assert(_context.optimizedComposition != null); + return _context.pictureToOptimizedCanvasMap![picture]!; + } + + Future submitFrame(FrameTimingRecorder? recorder) async { + final Composition composition = _context.optimizedComposition!; + _updateDomForNewComposition(composition); + if (composition.equalsForCompositing(_activeComposition)) { + // Copy the display canvases to the new composition. + for (int i = 0; i < composition.canvases.length; i++) { + composition.canvases[i].displayCanvas = _activeComposition.canvases[i].displayCanvas; + _activeComposition.canvases[i].displayCanvas = null; } } - _activeRendering = rendering; + _activeComposition = composition; - final List renderCanvases = rendering.canvases; - int renderCanvasIndex = 0; - for (final RenderingRenderCanvas renderCanvas in renderCanvases) { - final CkPicture renderPicture = _context.optimizedCanvasRecorders![renderCanvasIndex++] - .endRecording(); - await rasterizer.rasterizeToCanvas(renderCanvas.displayCanvas!, [renderPicture]); - renderPicture.dispose(); + final List displayCanvases = composition.canvases + .map((CompositionCanvas canvas) => canvas.displayCanvas!) + .toList(); + final List picturesToRasterize = _context.optimizedCanvasRecorders! + .map((ui.PictureRecorder recorder) => recorder.endRecording()) + .toList(); + await rasterizer.rasterize(displayCanvases, picturesToRasterize, recorder); + for (final picture in picturesToRasterize) { + picture.dispose(); } - for (final CkPictureRecorder recorder in _context.measuringPictureRecorders.values) { + for (final LayerPictureRecorder recorder in _context.measuringPictureRecorders.values) { if (recorder.isRecording) { recorder.endRecording(); } @@ -385,27 +335,31 @@ class HtmlViewEmbedder { // optimization debugging is enabled. if (debugOverlayOptimizationBounds) { debugBoundsCanvas ??= rasterizer.displayFactory.getCanvas(); - final CkPictureRecorder boundsRecorder = CkPictureRecorder(); - final CkCanvas boundsCanvas = boundsRecorder.beginRecording( - ui.Rect.fromLTWH(0, 0, _frameSize.width.toDouble(), _frameSize.height.toDouble()), + final ui.PictureRecorder boundsRecorder = ui.PictureRecorder(); + final ui.Canvas boundsCanvas = ui.Canvas( + boundsRecorder, + ui.Offset.zero & _frameSize.toSize(), ); - final CkPaint platformViewBoundsPaint = CkPaint() + final ui.Paint platformViewBoundsPaint = ui.Paint() ..color = const ui.Color.fromARGB(100, 0, 255, 0); - final CkPaint pictureBoundsPaint = CkPaint()..color = const ui.Color.fromARGB(100, 0, 0, 255); - for (final RenderingEntity entity in _activeRendering.entities) { - if (entity is RenderingPlatformView) { + final ui.Paint pictureBoundsPaint = ui.Paint() + ..color = const ui.Color.fromARGB(100, 0, 0, 255); + for (final CompositionEntity entity in _activeComposition.entities) { + if (entity is CompositionPlatformView) { if (entity.debugComputedBounds != null) { boundsCanvas.drawRect(entity.debugComputedBounds!, platformViewBoundsPaint); } - } else if (entity is RenderingRenderCanvas) { + } else if (entity is CompositionCanvas) { for (final PictureLayer picture in entity.pictures) { boundsCanvas.drawRect(picture.sceneBounds!, pictureBoundsPaint); } } } - await rasterizer.rasterizeToCanvas(debugBoundsCanvas!, [ - boundsRecorder.endRecording(), - ]); + await rasterizer.rasterize( + [debugBoundsCanvas!], + [boundsRecorder.endRecording()], + null, + ); sceneHost.append(debugBoundsCanvas!.hostElement); } @@ -458,25 +412,25 @@ class HtmlViewEmbedder { // More cleanup _currentCompositionParams.remove(viewId); _viewsToRecomposite.remove(viewId); - _cleanUpClipDefs(viewId); - _svgClipDefs.remove(viewId); } - /// Modify the given rendering by removing canvases until the number of + /// Modify the given composition by removing canvases until the number of /// canvases is less than or equal to the maximum number of canvases. - Rendering _modifyRenderingForMaxCanvases(Rendering rendering) { - final Rendering result = Rendering(); - final int numCanvases = rendering.canvases.length; + Composition _modifyCompositionForMaxCanvases(Composition composition) { + final Composition result = Composition(); + final int numCanvases = composition.canvases.length; if (numCanvases <= maximumCanvases) { - return rendering; + return composition; } int numCanvasesToDelete = numCanvases - maximumCanvases; final List picturesForLastCanvas = []; - final List modifiedEntities = List.from(rendering.entities); + final List modifiedEntities = List.from( + composition.entities, + ); bool sawLastCanvas = false; - for (int i = rendering.entities.length - 1; i >= 0; i--) { - final RenderingEntity entity = modifiedEntities[i]; - if (entity is RenderingRenderCanvas) { + for (int i = composition.entities.length - 1; i >= 0; i--) { + final CompositionEntity entity = modifiedEntities[i]; + if (entity is CompositionCanvas) { if (!sawLastCanvas) { sawLastCanvas = true; continue; @@ -494,8 +448,8 @@ class HtmlViewEmbedder { // canvas (or the last canvas if there is only one). sawLastCanvas = (maximumCanvases == 1); for (int i = modifiedEntities.length - 1; i > 0; i--) { - final RenderingEntity entity = modifiedEntities[i]; - if (entity is RenderingRenderCanvas) { + final CompositionEntity entity = modifiedEntities[i]; + if (entity is CompositionCanvas) { if (sawLastCanvas) { entity.pictures.addAll(picturesForLastCanvas); break; @@ -508,34 +462,34 @@ class HtmlViewEmbedder { return result; } - void _updateDomForNewRendering(Rendering rendering) { - if (rendering.equalsForRendering(_activeRendering)) { - // The rendering has not changed, so no DOM manipulation is needed. + void _updateDomForNewComposition(Composition composition) { + if (composition.equalsForCompositing(_activeComposition)) { + // The composition has not changed, so no DOM manipulation is needed. return; } - final List indexMap = _getIndexMapFromPreviousRendering(_activeRendering, rendering); + final List indexMap = _getIndexMapFromPreviousComposition(_activeComposition, composition); final List existingIndexMap = indexMap.where((int index) => index != -1).toList(); final List staticElements = longestIncreasingSubsequence(existingIndexMap); // Convert longest increasing subsequence from subsequence of indices of - // `existingIndexMap` to a subsequence of indices in previous rendering. + // `existingIndexMap` to a subsequence of indices in previous composition. for (int i = 0; i < staticElements.length; i++) { staticElements[i] = existingIndexMap[staticElements[i]]; } - // Remove elements which are in the active rendering, but not in the new - // rendering. - for (int i = 0; i < _activeRendering.entities.length; i++) { + // Remove elements which are in the active composition, but not in the new + // composition. + for (int i = 0; i < _activeComposition.entities.length; i++) { if (indexMap.contains(i)) { continue; } - final RenderingEntity entity = _activeRendering.entities[i]; - if (entity is RenderingPlatformView) { + final CompositionEntity entity = _activeComposition.entities[i]; + if (entity is CompositionPlatformView) { disposeView(entity.viewId); - } else if (entity is RenderingRenderCanvas) { + } else if (entity is CompositionCanvas) { assert( entity.displayCanvas != null, - 'RenderCanvas in previous rendering was ' + 'CompositionCanvas in previous composition was ' 'not assigned a DisplayCanvas', ); rasterizer.releaseOverlay(entity.displayCanvas!); @@ -543,98 +497,97 @@ class HtmlViewEmbedder { } } - // Updates [renderCanvas] (located in [index] in the next rendering) to have - // a display canvas, either taken from the associated render canvas in the - // previous rendering, or newly created. - void updateRenderCanvasWithDisplay(RenderingRenderCanvas renderCanvas, int index) { - // Does [nextEntity] correspond with a render canvas in the previous - // rendering? If so, then the render canvas in the previous rendering - // had an associated display canvas. Use this display canvas for - // [nextEntity]. + // Updates [canvas] (located in [index] in the next composition) to have a + // display canvas, either taken from the associated canvas in the previous + // composition, or newly created. + void updateCompositionCanvasWithDisplay(CompositionCanvas canvas, int index) { + // Does [nextEntity] correspond with a canvas in the previous composition? + // If so, then the canvas in the previous composition had an associated + //display canvas. Use this display canvas for [nextEntity]. if (indexMap[index] != -1) { - final RenderingEntity previousEntity = _activeRendering.entities[indexMap[index]]; - assert(previousEntity is RenderingRenderCanvas && previousEntity.displayCanvas != null); - renderCanvas.displayCanvas = (previousEntity as RenderingRenderCanvas).displayCanvas; + final CompositionEntity previousEntity = _activeComposition.entities[indexMap[index]]; + assert(previousEntity is CompositionCanvas && previousEntity.displayCanvas != null); + canvas.displayCanvas = (previousEntity as CompositionCanvas).displayCanvas; previousEntity.displayCanvas = null; } else { - // There is no corresponding render canvas in the previous - // rendering. So this render canvas needs a display canvas. - renderCanvas.displayCanvas = rasterizer.getOverlay(); + // There is no corresponding canvas in the previous composition. So this + // canvas needs a display canvas. + canvas.displayCanvas = rasterizer.getOverlay(); } } // At this point, the DOM contains the static elements and the elements from - // the previous rendering which need to move. We iterate over the static + // the previous composition which need to move. We iterate over the static // elements and insert the elements which come before them into the DOM. int staticElementIndex = 0; - int nextRenderingIndex = 0; + int nextCompositionIndex = 0; while (staticElementIndex < staticElements.length) { - final int staticElementIndexInActiveRendering = staticElements[staticElementIndex]; + final int staticElementIndexInActiveComposition = staticElements[staticElementIndex]; final DomElement staticDomElement = _getElement( - _activeRendering.entities[staticElementIndexInActiveRendering], + _activeComposition.entities[staticElementIndexInActiveComposition], ); - // Go through next rendering elements until we reach the static element. - while (indexMap[nextRenderingIndex] != staticElementIndexInActiveRendering) { - final RenderingEntity nextEntity = rendering.entities[nextRenderingIndex]; - if (nextEntity is RenderingRenderCanvas) { - updateRenderCanvasWithDisplay(nextEntity, nextRenderingIndex); + // Go through next composition elements until we reach the static element. + while (indexMap[nextCompositionIndex] != staticElementIndexInActiveComposition) { + final CompositionEntity nextEntity = composition.entities[nextCompositionIndex]; + if (nextEntity is CompositionCanvas) { + updateCompositionCanvasWithDisplay(nextEntity, nextCompositionIndex); } sceneHost.insertBefore(_getElement(nextEntity), staticDomElement); - nextRenderingIndex++; + nextCompositionIndex++; } - if (rendering.entities[nextRenderingIndex] is RenderingRenderCanvas) { - updateRenderCanvasWithDisplay( - rendering.entities[nextRenderingIndex] as RenderingRenderCanvas, - nextRenderingIndex, + if (composition.entities[nextCompositionIndex] is CompositionCanvas) { + updateCompositionCanvasWithDisplay( + composition.entities[nextCompositionIndex] as CompositionCanvas, + nextCompositionIndex, ); } - // Also increment the next rendering index because this is the static + // Also increment the next composition index because this is the static // element. - nextRenderingIndex++; + nextCompositionIndex++; staticElementIndex++; } // Add the leftover entities. - while (nextRenderingIndex < rendering.entities.length) { - final RenderingEntity nextEntity = rendering.entities[nextRenderingIndex]; - if (nextEntity is RenderingRenderCanvas) { - updateRenderCanvasWithDisplay(nextEntity, nextRenderingIndex); + while (nextCompositionIndex < composition.entities.length) { + final CompositionEntity nextEntity = composition.entities[nextCompositionIndex]; + if (nextEntity is CompositionCanvas) { + updateCompositionCanvasWithDisplay(nextEntity, nextCompositionIndex); } sceneHost.append(_getElement(nextEntity)); - nextRenderingIndex++; + nextCompositionIndex++; } } - DomElement _getElement(RenderingEntity entity) { + DomElement _getElement(CompositionEntity entity) { return switch (entity) { - RenderingRenderCanvas() => entity.displayCanvas!.hostElement, - RenderingPlatformView() => _viewClipChains[entity.viewId]!.root, + CompositionCanvas() => entity.displayCanvas!.hostElement, + CompositionPlatformView() => _viewClipChains[entity.viewId]!.root, }; } - /// Returns a [List] of ints mapping elements from the [next] rendering to - /// elements of the [previous] rendering. If there is no matching element in - /// the previous rendering, then the index map for that element is `-1`. - List _getIndexMapFromPreviousRendering(Rendering previous, Rendering next) { + /// Returns a [List] of ints mapping elements from the [next] composition to + /// elements of the [previous] composition. If there is no matching element in + /// the previous composition, then the index map for that element is `-1`. + List _getIndexMapFromPreviousComposition(Composition previous, Composition next) { assert( - !previous.equalsForRendering(next), - 'Should not be in this method if the Renderings are equal', + !previous.equalsForCompositing(next), + 'Should not be in this method if the Compositions are equal', ); final List result = []; int index = 0; final int maxUnchangedLength = math.min(previous.entities.length, next.entities.length); - // A canvas in the previous rendering can only be used once in the next - // rendering. So if it is matched with one in the next rendering, mark it - // here so it is only matched once. + // A canvas in the previous composition can only be used once in the next + // composition. So if it is matched with one in the next composition, mark + // it here so it is only matched once. final Set alreadyClaimedCanvases = {}; // Add the unchanged elements from the beginning of the list. while (index < maxUnchangedLength && - previous.entities[index].equalsForRendering(next.entities[index])) { + previous.entities[index].equalsForCompositing(next.entities[index])) { result.add(index); - if (previous.entities[index] is RenderingRenderCanvas) { + if (previous.entities[index] is CompositionCanvas) { alreadyClaimedCanvases.add(index); } index += 1; @@ -643,10 +596,10 @@ class HtmlViewEmbedder { while (index < next.entities.length) { bool foundForIndex = false; for (int oldIndex = 0; oldIndex < previous.entities.length; oldIndex += 1) { - if (previous.entities[oldIndex].equalsForRendering(next.entities[index]) && + if (previous.entities[oldIndex].equalsForCompositing(next.entities[index]) && !alreadyClaimedCanvases.contains(oldIndex)) { result.add(oldIndex); - if (previous.entities[oldIndex] is RenderingRenderCanvas) { + if (previous.entities[oldIndex] is CompositionCanvas) { alreadyClaimedCanvases.add(oldIndex); } foundForIndex = true; @@ -663,18 +616,6 @@ class HtmlViewEmbedder { return result; } - /// Deletes SVG clip paths, useful for tests. - void debugCleanupSvgClipPaths() { - final DomElement? parent = _svgPathDefs?.children.single; - if (parent != null) { - for (DomNode? child = parent.lastChild; child != null; child = parent.lastChild) { - parent.removeChild(child); - } - } - _svgClipDefs.clear(); - _clipPathCount = 0; - } - static void removeElement(DomElement element) { element.remove(); } @@ -684,13 +625,18 @@ class HtmlViewEmbedder { _viewClipChains.keys.toList().forEach(disposeView); _context = EmbedderFrameContext(); _currentCompositionParams.clear(); - debugCleanupSvgClipPaths(); - _currentCompositionParams.clear(); _viewClipChains.clear(); _viewsToRecomposite.clear(); _activeCompositionOrder.clear(); _compositionOrder.clear(); - _activeRendering = Rendering(); + for (final canvas in _activeComposition.canvases) { + canvas.displayCanvas?.dispose(); + canvas.displayCanvas?.hostElement.remove(); + } + _activeComposition = Composition(); + debugBoundsCanvas?.dispose(); + debugBoundsCanvas?.hostElement.remove(); + debugBoundsCanvas = null; } /// Clears the state. Used in tests. @@ -723,7 +669,7 @@ class ViewClipChain { } } -/// The parameters passed to the view embedder. +/// The parameters passed to the platform view embedder. class EmbeddedViewParams { EmbeddedViewParams(this.offset, this.size, MutatorsStack mutators) : mutators = MutatorsStack._copy(mutators); @@ -873,23 +819,27 @@ class PlatformViewSceneElement extends SceneElement { /// The state for the current frame. class EmbedderFrameContext { /// Picture recorders which were created d the final bounds of the picture in the scene. - final Map measuringPictureRecorders = - {}; + final Map measuringPictureRecorders = + {}; /// List of picture recorders and platform view ids in the order they were /// painted. final List sceneElements = []; - /// The optimized rendering for this frame. This is set by calling - /// [optimizeRendering]. - Rendering? optimizedRendering; + /// The optimized composition for this frame. This is set by calling + /// [optimizeComposition]. + Composition? optimizedComposition; + + /// The picture recorders for the optimized composition. This is set by + /// calling [optimizeComposition]. + List? optimizedCanvasRecorders; - /// The picture recorders for the optimized rendering. This is set by calling - /// [optimizeRendering]. - List? optimizedCanvasRecorders; + /// The Canvases which will be drawn into in the optimized composition. This + /// is set by calling [optimizeComposition]. + List? optimizedCanvases; - /// A map from the original PictureLayer to the picture recorder it should go - /// into in the optimized rendering. This is set by calling - /// [optimizedRendering]. - Map? pictureToOptimizedCanvasMap; + /// A map from the original PictureLayer to the Canvas it should be drawn + /// into in the optimized composition. This is set by calling + /// [optimizeComposition]. + Map? pictureToOptimizedCanvasMap; } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/pointer_binding.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/pointer_binding.dart index 51dbb19484df9..0b3d7842a4670 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/pointer_binding.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/pointer_binding.dart @@ -167,7 +167,12 @@ class PointerBinding { typedef QueuedEvent = ({DomEvent event, Duration timeStamp, List data}); @visibleForTesting -typedef DebounceState = ({DomEventTarget target, Timer timer, List queue}); +typedef DebounceState = ({ + bool started, + DomEventTarget target, + Timer timer, + List queue, +}); /// Disambiguates taps and clicks that are produced both by the framework from /// `pointerdown`/`pointerup` events and those detected as DOM "click" events by @@ -329,16 +334,27 @@ class ClickDebouncer { final DomEventTarget? target = event.target; if (target.isA() && (target! as DomElement).hasAttribute('flt-tappable')) { - // In some cases, iOS Safari tracks timers that are initiated from within a `pointerdown` - // event, and waits until those timers go off before sending the `click` event. - // - // This iOS Safari behavior breaks the `ClickDebouncer` because it creates a 200ms timer. To - // work around it, the `ClickDebouncer` should start debouncing after the end of the event - // loop. - // - // See: https://github.com/flutter/flutter/issues/172180 _isDebouncing = true; - Timer.run(() => _doStartDebouncing(event, data)); + _state = ( + started: false, + target: event.target!, + // In some cases, iOS Safari tracks timers that are initiated from within a `pointerdown` + // event, and waits until those timers go off before sending the `click` event. + // + // This iOS Safari behavior breaks the `ClickDebouncer` because it creates a 200ms timer. To + // work around it, the `ClickDebouncer` should start debouncing after the end of the event + // loop. + // + // See: https://github.com/flutter/flutter/issues/172180 + timer: Timer(Duration.zero, _doStartDebouncing), + queue: [ + ( + event: event, + timeStamp: _BaseAdapter._eventTimeStampToDuration(event.timeStamp!), + data: data, + ), + ], + ); } else { // The event landed on an non-tappable target. Assume this won't lead to // double clicks and forward the event to the framework. @@ -349,7 +365,7 @@ class ClickDebouncer { /// The core logic for starting to debounce pointer events. /// /// This method is called asynchronously from [_maybeStartDebouncing]. - void _doStartDebouncing(DomEvent event, List data) { + void _doStartDebouncing() { // It's possible that debouncing was canceled between the pointerdown event and the execution // of this method. if (!isDebouncing) { @@ -357,7 +373,9 @@ class ClickDebouncer { } _state = ( - target: event.target!, + started: true, + target: _state!.target, + queue: _state!.queue, // The 200ms duration was chosen empirically by testing tapping, mouse // clicking, trackpad tapping and clicking, as well as the following // screen readers: TalkBack on Android, VoiceOver on macOS, Narrator/ @@ -369,13 +387,6 @@ class ClickDebouncer { // * It was successful at detecting taps generated by all tested // screen readers. timer: Timer(const Duration(milliseconds: 200), _onTimerExpired), - queue: [ - ( - event: event, - timeStamp: _BaseAdapter._eventTimeStampToDuration(event.timeStamp!), - data: data, - ), - ], ); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/renderer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/renderer.dart index 7a96b767edcde..517dce010ea96 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/renderer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/renderer.dart @@ -7,6 +7,7 @@ import 'dart:js_interop'; import 'dart:math' as math; import 'dart:typed_data'; +import 'package:meta/meta.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/src/engine/skwasm/skwasm_impl.dart' if (dart.library.html) 'package:ui/src/engine/skwasm/skwasm_stub.dart'; @@ -22,6 +23,9 @@ Renderer get renderer => _renderer; /// primitives of the dart:ui library, as well as other backend-specific pieces /// of functionality needed by the rest of the generic web engine code. abstract class Renderer { + // Abstract generative constructor to allow extending this renderer. + Renderer(); + factory Renderer._internal() { if (FlutterConfiguration.flutterWebUseSkwasm) { return SkwasmRenderer(); @@ -38,7 +42,52 @@ abstract class Renderer { String get rendererTag; FlutterFontCollection get fontCollection; - FutureOr initialize(); + late Rasterizer rasterizer; + + /// Resets the [Rasterizer] to the default value. Used in tests. + @visibleForTesting + void debugResetRasterizer(); + + /// Override the rasterizer with the given [_rasterizer]. Used in tests. + @visibleForTesting + void debugOverrideRasterizer(Rasterizer testRasterizer) { + rasterizer = testRasterizer; + } + + // Listens for view creation events from the view manager. + late StreamSubscription _onViewCreatedListener; + // Listens for view disposal events from the view manager. + late StreamSubscription _onViewDisposedListener; + + /// Set the maximum number of bytes that can be held in the GPU resource cache. + set resourceCacheMaxBytes(int bytes) => rasterizer.setResourceCacheMaxBytes(bytes); + + @mustCallSuper + FutureOr initialize() { + // Views may have been registered before this renderer was initialized. + // Create rasterizers for them and then start listening for new view + // creation/disposal events. + final FlutterViewManager viewManager = EnginePlatformDispatcher.instance.viewManager; + for (final EngineFlutterView view in viewManager.views) { + _onViewCreated(view.viewId); + } + _onViewCreatedListener = viewManager.onViewCreated.listen(_onViewCreated); + _onViewDisposedListener = viewManager.onViewDisposed.listen(_onViewDisposed); + } + + void _onViewCreated(int viewId) { + final EngineFlutterView view = EnginePlatformDispatcher.instance.viewManager[viewId]!; + rasterizers[view.viewId] = rasterizer.createViewRasterizer(view); + } + + void _onViewDisposed(int viewId) { + // The view has already been disposed. + if (!rasterizers.containsKey(viewId)) { + return; + } + final ViewRasterizer rasterizer = rasterizers.remove(viewId)!; + rasterizer.dispose(); + } ui.Paint createPaint(); @@ -226,10 +275,79 @@ abstract class Renderer { ui.ParagraphBuilder createParagraphBuilder(ui.ParagraphStyle style); - Future renderScene(ui.Scene scene, EngineFlutterView view); + /// Map from view id to the associated [ViewRasterizer] for that view. + final Map rasterizers = {}; + + Future renderScene(ui.Scene scene, EngineFlutterView view) async { + assert( + rasterizers.containsKey(view.viewId), + "Unable to render to a view which hasn't been registered", + ); + final ViewRasterizer rasterizer = rasterizers[view.viewId]!; + final RenderQueue renderQueue = rasterizer.queue; + final FrameTimingRecorder? recorder = FrameTimingRecorder.frameTimingsEnabled + ? FrameTimingRecorder() + : null; + if (renderQueue.current != null) { + // If a scene is already queued up, drop it and queue this one up instead + // so that the scene view always displays the most recently requested scene. + renderQueue.next?.completer.complete(); + final Completer completer = Completer(); + renderQueue.next = (scene: scene, completer: completer, recorder: recorder); + return completer.future; + } + final Completer completer = Completer(); + renderQueue.current = (scene: scene, completer: completer, recorder: recorder); + unawaited(_kickRenderLoop(rasterizer)); + return completer.future; + } + + Future _kickRenderLoop(ViewRasterizer rasterizer) async { + final RenderQueue renderQueue = rasterizer.queue; + final RenderRequest current = renderQueue.current!; + try { + await _renderScene(current.scene, rasterizer, current.recorder); + current.completer.complete(); + } catch (error, stackTrace) { + current.completer.completeError(error, stackTrace); + } + renderQueue.current = renderQueue.next; + renderQueue.next = null; + if (renderQueue.current == null) { + return; + } else { + return _kickRenderLoop(rasterizer); + } + } + + Future _renderScene( + ui.Scene scene, + ViewRasterizer rasterizer, + FrameTimingRecorder? recorder, + ) async { + await rasterizer.draw((scene as LayerScene).layerTree, recorder); + recorder?.submitTimings(); + } void dumpDebugInfo(); + /// Disposes this renderer. + @mustCallSuper + void dispose() { + _onViewCreatedListener.cancel(); + _onViewDisposedListener.cancel(); + for (final ViewRasterizer rasterizer in rasterizers.values) { + rasterizer.dispose(); + } + rasterizers.clear(); + rasterizer.dispose(); + } + /// Clears the state of this renderer. Used in tests. - void debugClear(); + @mustCallSuper + void debugClear() { + for (final ViewRasterizer rasterizer in rasterizers.values) { + rasterizer.debugClear(); + } + } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/scene_builder.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/scene_builder.dart deleted file mode 100644 index 1031dc9c51c8d..0000000000000 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/scene_builder.dart +++ /dev/null @@ -1,489 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:math' as math; -import 'dart:typed_data'; - -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; - -// This file implements a SceneBuilder and Scene that works with any renderer -// implementation that provides: -// * A `ui.Canvas` that conforms to `SceneCanvas` -// * A `ui.Picture` that conforms to `ScenePicture` -// * A `ui.ImageFilter` that conforms to `SceneImageFilter` -// -// These contain a few augmentations to the normal `dart:ui` API that provide -// additional sizing information that the scene builder uses to determine how -// these object might occlude one another. - -class EngineScene implements ui.Scene { - EngineScene(this.rootLayer); - - final EngineRootLayer rootLayer; - - // We keep a refcount here because this can be asynchronously rendered, so we - // don't necessarily want to dispose immediately when the user calls dispose. - // Instead, we need to stay alive until we're done rendering. - int _refCount = 1; - - void beginRender() { - assert(_refCount > 0); - _refCount++; - } - - void endRender() { - _refCount--; - _disposeIfNeeded(); - } - - @override - void dispose() { - _refCount--; - _disposeIfNeeded(); - } - - void _disposeIfNeeded() { - assert(_refCount >= 0); - if (_refCount == 0) { - rootLayer.dispose(); - } - } - - @override - Future toImage(int width, int height) async { - return toImageSync(width, height); - } - - @override - ui.Image toImageSync(int width, int height) { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final ui.Rect canvasRect = ui.Rect.fromLTWH(0, 0, width.toDouble(), height.toDouble()); - final ui.Canvas canvas = ui.Canvas(recorder, canvasRect); - - // Only rasterizes the pictures. - for (final LayerSlice? slice in rootLayer.slices) { - if (slice != null) { - canvas.drawPicture(slice.picture); - } - } - return recorder.endRecording().toImageSync(width, height); - } - - Map get debugJsonDescription { - return {'rootLayer': rootLayer.debugJsonDescription}; - } -} - -sealed class OcclusionMapNode { - bool overlaps(ui.Rect rect); - OcclusionMapNode insert(ui.Rect rect); - ui.Rect get boundingBox; -} - -class OcclusionMapEmpty implements OcclusionMapNode { - @override - ui.Rect get boundingBox => ui.Rect.zero; - - @override - OcclusionMapNode insert(ui.Rect rect) => OcclusionMapLeaf(rect); - - @override - bool overlaps(ui.Rect rect) => false; -} - -class OcclusionMapLeaf implements OcclusionMapNode { - OcclusionMapLeaf(this.rect); - - final ui.Rect rect; - - @override - ui.Rect get boundingBox => rect; - - @override - OcclusionMapNode insert(ui.Rect other) => OcclusionMapBranch(this, OcclusionMapLeaf(other)); - - @override - bool overlaps(ui.Rect other) => rect.overlaps(other); -} - -class OcclusionMapBranch implements OcclusionMapNode { - OcclusionMapBranch(this.left, this.right) - : boundingBox = left.boundingBox.expandToInclude(right.boundingBox); - - final OcclusionMapNode left; - final OcclusionMapNode right; - - @override - final ui.Rect boundingBox; - - double _areaOfUnion(ui.Rect first, ui.Rect second) { - return (math.max(first.right, second.right) - math.min(first.left, second.left)) * - (math.max(first.bottom, second.bottom) - math.max(first.top, second.top)); - } - - @override - OcclusionMapNode insert(ui.Rect other) { - // Try to create nodes with the smallest possible area - final double leftOtherArea = _areaOfUnion(left.boundingBox, other); - final double rightOtherArea = _areaOfUnion(right.boundingBox, other); - final double leftRightArea = boundingBox.width * boundingBox.height; - if (leftOtherArea < rightOtherArea) { - if (leftOtherArea < leftRightArea) { - return OcclusionMapBranch(left.insert(other), right); - } - } else { - if (rightOtherArea < leftRightArea) { - return OcclusionMapBranch(left, right.insert(other)); - } - } - return OcclusionMapBranch(this, OcclusionMapLeaf(other)); - } - - @override - bool overlaps(ui.Rect rect) { - if (!boundingBox.overlaps(rect)) { - return false; - } - return left.overlaps(rect) || right.overlaps(rect); - } -} - -class OcclusionMap { - OcclusionMapNode root = OcclusionMapEmpty(); - - void addRect(ui.Rect rect) => root = root.insert(rect); - - bool overlaps(ui.Rect rect) => root.overlaps(rect); -} - -class SceneSlice { - final OcclusionMap pictureOcclusionMap = OcclusionMap(); - final OcclusionMap platformViewOcclusionMap = OcclusionMap(); -} - -class EngineSceneBuilder implements ui.SceneBuilder { - LayerBuilder currentBuilder = LayerBuilder.rootLayer(); - - final List sceneSlices = [SceneSlice()]; - - // This represents the simplest case with no platform views, which is a fast path - // that allows us to avoid work tracking the pictures themselves. - bool _isSimple = true; - - @override - void addPerformanceOverlay(int enabledOptions, ui.Rect bounds) { - // We don't plan to implement this on the web. - throw UnimplementedError(); - } - - @override - void addPicture( - ui.Offset offset, - ui.Picture picture, { - bool isComplexHint = false, - bool willChangeHint = false, - }) { - final int sliceIndex = _placePicture( - offset, - picture as ScenePicture, - currentBuilder.globalPlatformViewStyling, - ); - currentBuilder.addPicture(offset, picture, sliceIndex: sliceIndex); - } - - // This function determines the lowest scene slice that this picture can be placed - // into and adds it to that slice's occlusion map. - // - // The picture is placed in the last slice where it either intersects with a picture - // in the slice or it intersects with a platform view in the preceding slice. If the - // picture intersects with a platform view in the last slice, a new slice is added at - // the end and the picture goes in there. - int _placePicture(ui.Offset offset, ScenePicture picture, PlatformViewStyling styling) { - if (_isSimple) { - // This is the fast path where there are no platform views. The picture should - // just be placed on the bottom (and only) slice. - return 0; - } - final ui.Rect cullRect = picture.cullRect.shift(offset); - final ui.Rect mappedCullRect = styling.mapLocalToGlobal(cullRect); - int sliceIndex = sceneSlices.length; - while (sliceIndex > 0) { - final SceneSlice sliceBelow = sceneSlices[sliceIndex - 1]; - if (sliceBelow.platformViewOcclusionMap.overlaps(mappedCullRect)) { - break; - } - sliceIndex--; - if (sliceBelow.pictureOcclusionMap.overlaps(mappedCullRect)) { - break; - } - } - if (sliceIndex == 0) { - // Don't bother to populate the lowest occlusion map with pictures, since - // we never hit test against pictures in the bottom slice. - return sliceIndex; - } - if (sliceIndex == sceneSlices.length) { - // Insert a new slice. - sceneSlices.add(SceneSlice()); - } - final SceneSlice slice = sceneSlices[sliceIndex]; - slice.pictureOcclusionMap.addRect(mappedCullRect); - return sliceIndex; - } - - @override - void addPlatformView( - int viewId, { - ui.Offset offset = ui.Offset.zero, - double width = 0.0, - double height = 0.0, - }) { - final ui.Rect platformViewRect = ui.Rect.fromLTWH(offset.dx, offset.dy, width, height); - final int sliceIndex = _placePlatformView( - viewId, - platformViewRect, - currentBuilder.globalPlatformViewStyling, - ); - currentBuilder.addPlatformView(viewId, bounds: platformViewRect, sliceIndex: sliceIndex); - } - - // This function determines the lowest scene slice this platform view can be placed - // into and adds it to that slice's occlusion map. - // - // The platform view is placed into the last slice where it intersects with a picture - // or a platform view. - int _placePlatformView(int viewId, ui.Rect rect, PlatformViewStyling styling) { - // Once we add a platform view, we actually have to do proper occlusion tracking. - _isSimple = false; - - final ui.Rect globalPlatformViewRect = styling.mapLocalToGlobal(rect); - int sliceIndex = sceneSlices.length - 1; - while (sliceIndex > 0) { - final SceneSlice slice = sceneSlices[sliceIndex]; - if (slice.platformViewOcclusionMap.overlaps(globalPlatformViewRect) || - slice.pictureOcclusionMap.overlaps(globalPlatformViewRect)) { - break; - } - sliceIndex--; - } - final SceneSlice slice = sceneSlices[sliceIndex]; - slice.platformViewOcclusionMap.addRect(globalPlatformViewRect); - return sliceIndex; - } - - @override - void addRetained(ui.EngineLayer retainedLayer) { - final PictureEngineLayer placedEngineLayer = _placeRetainedLayer( - retainedLayer as PictureEngineLayer, - currentBuilder.globalPlatformViewStyling, - ); - currentBuilder.mergeLayer(placedEngineLayer); - } - - PictureEngineLayer _placeRetainedLayer( - PictureEngineLayer retainedLayer, - PlatformViewStyling styling, - ) { - if (_isSimple && retainedLayer.isSimple) { - // There are no platform views, so we don't need to do any occlusion tracking - // and can simply merge the layer. - return retainedLayer; - } - bool needsRebuild = false; - final List revisedDrawCommands = []; - final PlatformViewStyling combinedStyling = PlatformViewStyling.combine( - styling, - retainedLayer.platformViewStyling, - ); - for (final LayerDrawCommand command in retainedLayer.drawCommands) { - switch (command) { - case PictureDrawCommand( - offset: final ui.Offset offset, - picture: final ScenePicture picture, - ): - final int sliceIndex = _placePicture(offset, picture, combinedStyling); - if (command.sliceIndex != sliceIndex) { - needsRebuild = true; - } - revisedDrawCommands.add(PictureDrawCommand(offset, picture, sliceIndex)); - case PlatformViewDrawCommand(viewId: final int viewId, bounds: final ui.Rect bounds): - final int sliceIndex = _placePlatformView(viewId, bounds, combinedStyling); - if (command.sliceIndex != sliceIndex) { - needsRebuild = true; - } - revisedDrawCommands.add(PlatformViewDrawCommand(viewId, bounds, sliceIndex)); - case RetainedLayerDrawCommand(layer: final PictureEngineLayer sublayer): - final PictureEngineLayer revisedSublayer = _placeRetainedLayer(sublayer, combinedStyling); - if (sublayer != revisedSublayer) { - needsRebuild = true; - } - revisedDrawCommands.add(RetainedLayerDrawCommand(revisedSublayer)); - } - } - - if (!needsRebuild) { - // No elements changed which slice position they are in, so we can simply - // merge the existing layer down and don't have to redraw individual elements. - return retainedLayer; - } - - // Otherwise, we replace the commands of the layer to create a new one. - currentBuilder = LayerBuilder.childLayer( - parent: currentBuilder, - layer: retainedLayer.emptyClone(), - ); - for (final LayerDrawCommand command in revisedDrawCommands) { - switch (command) { - case PictureDrawCommand( - offset: final ui.Offset offset, - picture: final ScenePicture picture, - ): - currentBuilder.addPicture(offset, picture, sliceIndex: command.sliceIndex); - case PlatformViewDrawCommand(viewId: final int viewId, bounds: final ui.Rect bounds): - currentBuilder.addPlatformView(viewId, bounds: bounds, sliceIndex: command.sliceIndex); - case RetainedLayerDrawCommand(layer: final PictureEngineLayer layer): - currentBuilder.mergeLayer(layer); - } - } - final PictureEngineLayer newLayer = currentBuilder.build(); - currentBuilder = currentBuilder.parent!; - return newLayer; - } - - @override - void addTexture( - int textureId, { - ui.Offset offset = ui.Offset.zero, - double width = 0.0, - double height = 0.0, - bool freeze = false, - ui.FilterQuality filterQuality = ui.FilterQuality.low, - }) { - // addTexture is not implemented on web. - } - - @override - ui.BackdropFilterEngineLayer pushBackdropFilter( - ui.ImageFilter filter, { - ui.BlendMode blendMode = ui.BlendMode.srcOver, - ui.BackdropFilterEngineLayer? oldLayer, - int? backdropId, - }) => pushLayer( - BackdropFilterLayer(BackdropFilterOperation(filter, blendMode)), - ); - - @override - ui.ClipPathEngineLayer pushClipPath( - ui.Path path, { - ui.Clip clipBehavior = ui.Clip.antiAlias, - ui.ClipPathEngineLayer? oldLayer, - }) => pushLayer(ClipPathLayer(ClipPathOperation(path as ScenePath, clipBehavior))); - - @override - ui.ClipRRectEngineLayer pushClipRRect( - ui.RRect rrect, { - required ui.Clip clipBehavior, - ui.ClipRRectEngineLayer? oldLayer, - }) => pushLayer(ClipRRectLayer(ClipRRectOperation(rrect, clipBehavior))); - - @override - ui.ClipRSuperellipseEngineLayer pushClipRSuperellipse( - ui.RSuperellipse rsuperellipse, { - required ui.Clip clipBehavior, - ui.ClipRSuperellipseEngineLayer? oldLayer, - }) { - return pushLayer( - ClipRSuperellipseLayer(ClipRSuperellipseOperation(rsuperellipse, clipBehavior)), - ); - } - - @override - ui.ClipRectEngineLayer pushClipRect( - ui.Rect rect, { - ui.Clip clipBehavior = ui.Clip.antiAlias, - ui.ClipRectEngineLayer? oldLayer, - }) { - return pushLayer(ClipRectLayer(ClipRectOperation(rect, clipBehavior))); - } - - @override - ui.ColorFilterEngineLayer pushColorFilter( - ui.ColorFilter filter, { - ui.ColorFilterEngineLayer? oldLayer, - }) => pushLayer(ColorFilterLayer(ColorFilterOperation(filter))); - - @override - ui.ImageFilterEngineLayer pushImageFilter( - ui.ImageFilter filter, { - ui.Offset offset = ui.Offset.zero, - ui.ImageFilterEngineLayer? oldLayer, - }) => pushLayer( - ImageFilterLayer(ImageFilterOperation(filter as SceneImageFilter, offset)), - ); - - @override - ui.OffsetEngineLayer pushOffset(double dx, double dy, {ui.OffsetEngineLayer? oldLayer}) => - pushLayer(OffsetLayer(OffsetOperation(dx, dy))); - - @override - ui.OpacityEngineLayer pushOpacity( - int alpha, { - ui.Offset offset = ui.Offset.zero, - ui.OpacityEngineLayer? oldLayer, - }) => pushLayer(OpacityLayer(OpacityOperation(alpha, offset))); - - @override - ui.ShaderMaskEngineLayer pushShaderMask( - ui.Shader shader, - ui.Rect maskRect, - ui.BlendMode blendMode, { - ui.ShaderMaskEngineLayer? oldLayer, - ui.FilterQuality filterQuality = ui.FilterQuality.low, - }) => - pushLayer(ShaderMaskLayer(ShaderMaskOperation(shader, maskRect, blendMode))); - - @override - ui.TransformEngineLayer pushTransform(Float64List matrix4, {ui.TransformEngineLayer? oldLayer}) => - pushLayer(TransformLayer(TransformOperation(matrix4))); - - @override - void setProperties( - double width, - double height, - double insetTop, - double insetRight, - double insetBottom, - double insetLeft, - bool focusable, - ) { - // Not implemented on web - } - - @override - ui.Scene build() { - while (currentBuilder.parent != null) { - pop(); - } - final PictureEngineLayer rootLayer = currentBuilder.build(); - return EngineScene(rootLayer as EngineRootLayer); - } - - @override - void pop() { - final LayerBuilder? parentBuilder = currentBuilder.parent; - if (parentBuilder == null) { - // Root layer. Nothing to pop. - return; - } - final PictureEngineLayer layer = currentBuilder.build(); - currentBuilder = parentBuilder; - currentBuilder.mergeLayer(layer); - } - - T pushLayer(T layer) { - currentBuilder = LayerBuilder.childLayer(parent: currentBuilder, layer: layer); - return layer; - } -} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/scene_painting.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/scene_painting.dart deleted file mode 100644 index ae6cc8c869290..0000000000000 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/scene_painting.dart +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:ui/ui.dart' as ui; - -import 'vector_math.dart'; - -// These are additional APIs that are not part of the `dart:ui` interface that -// are needed internally to properly implement a `SceneBuilder` on top of the -// generic Canvas/Picture api. -abstract class SceneCanvas implements ui.Canvas { - // This is the same as a normal `saveLayer` call, but we can pass a backdrop image filter. - void saveLayerWithFilter(ui.Rect? bounds, ui.Paint paint, ui.ImageFilter backdropFilter); -} - -abstract class ScenePicture implements ui.Picture { - // This is a conservative bounding box of all the drawing primitives in this picture. - ui.Rect get cullRect; -} - -abstract class ScenePictureRecorder implements ui.PictureRecorder { - /// Whether this reference to the underlying picture recorder is [dispose]d. - /// - /// This only returns a valid value if asserts are enabled, and must not be - /// used otherwise. - bool get debugDisposed; -} - -abstract class SceneImageFilter implements ui.ImageFilter { - // Since some image filters affect the actual drawing bounds of a given picture, this - // gives the maximum draw boundary for a picture with the given input bounds after it - // has been processed by the filter. - ui.Rect filterBounds(ui.Rect inputBounds); - - // The matrix image filter changes the position of the content, so when positioning - // platform views and calculating occlusion we need to take its transform into account. - Matrix4? get transform; -} - -abstract class ScenePath implements ui.Path { - // In order to properly clip platform views with paths, we need to be able to get a - // string representation of them. - String toSvgString(); -} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/scene_view.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/scene_view.dart deleted file mode 100644 index 3bfba659efe1a..0000000000000 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/scene_view.dart +++ /dev/null @@ -1,416 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; - -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; - -const String kCanvasContainerTag = 'flt-canvas-container'; - -typedef RenderResult = ({ - List imageBitmaps, - int rasterStartMicros, - int rasterEndMicros, -}); - -// This is an interface that renders a `ScenePicture` as a `DomImageBitmap`. -// It is optionally asynchronous. It is required for the `EngineSceneView` to -// composite pictures into the canvases in the DOM tree it builds. -abstract class PictureRenderer { - FutureOr renderPictures(List picture); - ScenePicture clipPicture(ScenePicture picture, ui.Rect clip); -} - -class _SceneRender { - _SceneRender(this.scene, this._completer, {this.recorder}) { - scene.beginRender(); - } - - final EngineScene scene; - final Completer _completer; - final FrameTimingRecorder? recorder; - - void done() { - scene.endRender(); - _completer.complete(); - } -} - -// This class builds a DOM tree that composites an `EngineScene`. -class EngineSceneView { - factory EngineSceneView(PictureRenderer pictureRenderer, EngineFlutterView flutterView) { - final DomElement sceneElement = createDomElement('flt-scene'); - return EngineSceneView._(pictureRenderer, flutterView, sceneElement); - } - - EngineSceneView._(this.pictureRenderer, this.flutterView, this.sceneElement); - - final PictureRenderer pictureRenderer; - final DomElement sceneElement; - final EngineFlutterView flutterView; - - List containers = []; - - _SceneRender? _currentRender; - _SceneRender? _nextRender; - - // Only populated in debug mode. - _SceneRender? _previousRender; - - Future renderScene(EngineScene scene, FrameTimingRecorder? recorder) { - if (_currentRender != null) { - // If a scene is already queued up, drop it and queue this one up instead - // so that the scene view always displays the most recently requested scene. - _nextRender?.done(); - final Completer completer = Completer(); - _nextRender = _SceneRender(scene, completer, recorder: recorder); - return completer.future; - } - final Completer completer = Completer(); - _currentRender = _SceneRender(scene, completer, recorder: recorder); - _kickRenderLoop(); - return completer.future; - } - - Future _kickRenderLoop() async { - final _SceneRender current = _currentRender!; - await _renderScene(current.scene, current.recorder); - _renderComplete(current); - _currentRender = _nextRender; - _nextRender = null; - if (_currentRender == null) { - return; - } else { - return _kickRenderLoop(); - } - } - - Future _renderScene(EngineScene scene, FrameTimingRecorder? recorder) async { - final ui.Rect screenBounds = ui.Rect.fromLTWH( - 0, - 0, - flutterView.physicalSize.width, - flutterView.physicalSize.height, - ); - final List slices = scene.rootLayer.slices; - final List picturesToRender = []; - final List originalPicturesToRender = []; - final List picturesToFree = []; - for (final LayerSlice? slice in slices) { - if (slice == null) { - continue; - } - final ui.Rect clippedRect = slice.picture.cullRect.intersect(screenBounds); - if (clippedRect.isEmpty) { - // This picture is completely offscreen, so don't render it at all - continue; - } else if (clippedRect == slice.picture.cullRect) { - // The picture doesn't need to be clipped, just render the original - originalPicturesToRender.add(slice.picture); - picturesToRender.add(slice.picture); - } else { - originalPicturesToRender.add(slice.picture); - final clippedPicture = pictureRenderer.clipPicture(slice.picture, clippedRect); - picturesToRender.add(clippedPicture); - picturesToFree.add(clippedPicture); - } - } - final Map renderMap; - if (picturesToRender.isNotEmpty) { - final RenderResult renderResult = await pictureRenderer.renderPictures(picturesToRender); - renderMap = { - for (int i = 0; i < picturesToRender.length; i++) - originalPicturesToRender[i]: renderResult.imageBitmaps[i], - }; - recorder?.recordRasterStart(renderResult.rasterStartMicros); - recorder?.recordRasterFinish(renderResult.rasterEndMicros); - } else { - renderMap = {}; - recorder?.recordRasterStart(); - recorder?.recordRasterFinish(); - } - recorder?.submitTimings(); - - for (final p in picturesToFree) { - p.dispose(); - } - - final List reusableContainers = List.from(containers); - final List newContainers = []; - for (final LayerSlice? slice in slices) { - if (slice == null) { - continue; - } - final DomImageBitmap? bitmap = renderMap[slice.picture]; - if (bitmap != null) { - PictureSliceContainer? container; - for (int j = 0; j < reusableContainers.length; j++) { - final SliceContainer? candidate = reusableContainers[j]; - if (candidate is PictureSliceContainer) { - container = candidate; - reusableContainers[j] = null; - break; - } - } - - final ui.Rect clippedBounds = slice.picture.cullRect.intersect(screenBounds); - if (container != null) { - container.bounds = clippedBounds; - } else { - container = PictureSliceContainer(clippedBounds); - } - container.updateContents(); - container.renderBitmap(bitmap); - newContainers.add(container); - } - - for (final PlatformView view in slice.platformViews) { - // Ensure the contents of the platform view are injected into the DOM. - flutterView.dom.injectPlatformView(view.viewId); - - // Attempt to reuse a container for the existing view - PlatformViewContainer? container; - for (int j = 0; j < reusableContainers.length; j++) { - final SliceContainer? candidate = reusableContainers[j]; - if (candidate is PlatformViewContainer && candidate.viewId == view.viewId) { - container = candidate; - reusableContainers[j] = null; - break; - } - } - container ??= PlatformViewContainer(view.viewId); - container.bounds = view.bounds; - container.styling = view.styling; - container.updateContents(); - newContainers.add(container); - } - } - - for (final SliceContainer? container in reusableContainers) { - if (container != null) { - sceneElement.removeChild(container.container); - } - } - - containers = newContainers; - - DomElement? currentElement = sceneElement.firstElementChild; - for (final SliceContainer container in containers) { - if (currentElement == null) { - sceneElement.appendChild(container.container); - } else if (currentElement == container.container) { - currentElement = currentElement.nextElementSibling; - } else { - sceneElement.insertBefore(container.container, currentElement); - } - } - } - - void _renderComplete(_SceneRender render) { - render.done(); - if (kDebugMode) { - _previousRender = render; - } - } - - Map? dumpDebugInfo() { - if (kDebugMode && _previousRender != null) { - return _previousRender!.scene.debugJsonDescription; - } - return null; - } -} - -sealed class SliceContainer { - DomElement get container; - - void updateContents(); -} - -final class PictureSliceContainer extends SliceContainer { - factory PictureSliceContainer(ui.Rect bounds) { - final DomElement container = domDocument.createElement(kCanvasContainerTag); - final DomHTMLCanvasElement canvas = createDomCanvasElement( - width: bounds.width.toInt(), - height: bounds.height.toInt(), - ); - container.appendChild(canvas); - return PictureSliceContainer._(bounds, container, canvas); - } - - PictureSliceContainer._(this._bounds, this.container, this.canvas); - - ui.Rect _bounds; - bool _dirty = true; - - ui.Rect get bounds => _bounds; - set bounds(ui.Rect bounds) { - if (_bounds != bounds) { - _bounds = bounds; - _dirty = true; - } - } - - @override - void updateContents() { - if (_dirty) { - _dirty = false; - - final ui.Rect roundedOutBounds = ui.Rect.fromLTRB( - bounds.left.floorToDouble(), - bounds.top.floorToDouble(), - bounds.right.ceilToDouble(), - bounds.bottom.ceilToDouble(), - ); - final DomCSSStyleDeclaration style = canvas.style; - final double devicePixelRatio = EngineFlutterDisplay.instance.devicePixelRatio; - final double logicalWidth = roundedOutBounds.width / devicePixelRatio; - final double logicalHeight = roundedOutBounds.height / devicePixelRatio; - final double logicalLeft = roundedOutBounds.left / devicePixelRatio; - final double logicalTop = roundedOutBounds.top / devicePixelRatio; - style.width = '${logicalWidth}px'; - style.height = '${logicalHeight}px'; - style.position = 'absolute'; - style.left = '${logicalLeft}px'; - style.top = '${logicalTop}px'; - canvas.width = roundedOutBounds.width.ceilToDouble(); - canvas.height = roundedOutBounds.height.ceilToDouble(); - } - } - - void renderBitmap(DomImageBitmap bitmap) { - final DomImageBitmapRenderingContext ctx = canvas.contextBitmapRenderer; - ctx.transferFromImageBitmap(bitmap); - } - - @override - final DomElement container; - final DomHTMLCanvasElement canvas; -} - -final class PlatformViewContainer extends SliceContainer { - PlatformViewContainer(this.viewId) - : container = createDomElement('flt-clip'), - slot = createPlatformViewSlot(viewId) { - container.appendChild(slot); - } - - final int viewId; - PlatformViewStyling? _styling; - ui.Rect? _bounds; - bool _dirty = false; - - ui.Path? _clipPath; - String? _clipPathString; - - @override - final DomElement container; - - final DomElement slot; - - set styling(PlatformViewStyling styling) { - if (_styling != styling) { - _styling = styling; - _dirty = true; - } - } - - set bounds(ui.Rect bounds) { - if (_bounds != bounds) { - _bounds = bounds; - _dirty = true; - } - } - - set clipPath(ScenePath? path) { - if (_clipPath == path) { - return; - } - - _clipPath = path; - _clipPathString = path?.toSvgString(); - } - - String cssStringForClip(PlatformViewClip clip, double devicePixelRatio) { - switch (clip) { - case PlatformViewNoClip(): - clipPath = null; - return ''; - case PlatformViewRectClip(): - clipPath = null; - final double top = clip.rect.top / devicePixelRatio; - final double right = clip.rect.right / devicePixelRatio; - final double bottom = clip.rect.bottom / devicePixelRatio; - final double left = clip.rect.left / devicePixelRatio; - return 'rect(${top}px ${right}px ${bottom}px ${left}px)'; - case PlatformViewRRectClip(): - clipPath = null; - final double top = clip.rrect.top / devicePixelRatio; - final double right = clip.rrect.right / devicePixelRatio; - final double bottom = clip.rrect.bottom / devicePixelRatio; - final double left = clip.rrect.left / devicePixelRatio; - final double tlRadiusX = clip.rrect.tlRadiusX / devicePixelRatio; - final double tlRadiusY = clip.rrect.tlRadiusY / devicePixelRatio; - final double trRadiusX = clip.rrect.trRadiusX / devicePixelRatio; - final double trRadiusY = clip.rrect.trRadiusY / devicePixelRatio; - final double brRadiusX = clip.rrect.brRadiusX / devicePixelRatio; - final double brRadiusY = clip.rrect.brRadiusY / devicePixelRatio; - final double blRadiusX = clip.rrect.blRadiusX / devicePixelRatio; - final double blRadiusY = clip.rrect.blRadiusY / devicePixelRatio; - return 'rect(${top}px ${right}px ${bottom}px ${left}px round ${tlRadiusX}px ${trRadiusX}px ${brRadiusX}px ${blRadiusX}px / ${tlRadiusY}px ${trRadiusY}px ${brRadiusY}px ${blRadiusY}px)'; - case PlatformViewPathClip(): - ScenePath path = clip.path; - if (devicePixelRatio != 1.0) { - final dprTransform = Matrix4.identity()..scale(1 / devicePixelRatio); - path = path.transform(dprTransform.toFloat64()) as ScenePath; - } - clipPath = path; - return "path('$_clipPathString')"; - } - } - - @override - void updateContents() { - assert(_styling != null); - assert(_bounds != null); - if (_dirty) { - final DomCSSStyleDeclaration style = slot.style; - style.position = 'absolute'; - style.width = '${_bounds!.width}px'; - style.height = '${_bounds!.height}px'; - - final double devicePixelRatio = EngineFlutterDisplay.instance.devicePixelRatio; - final PlatformViewPosition position = _styling!.position; - - final Matrix4 transform; - if (position.transform != null) { - transform = position.transform!.clone()..translate(_bounds!.left, _bounds!.top); - } else { - final ui.Offset offset = position.offset ?? ui.Offset.zero; - transform = Matrix4.translationValues( - _bounds!.left + offset.dx, - _bounds!.top + offset.dy, - 0, - ); - } - final double inverseScale = 1.0 / devicePixelRatio; - final Matrix4 scaleMatrix = Matrix4.diagonal3Values(inverseScale, inverseScale, 1); - scaleMatrix.multiply(transform); - style.transform = float64ListToCssTransform(scaleMatrix.storage); - style.transformOrigin = '0 0 0'; - style.opacity = _styling!.opacity != 1.0 ? '${_styling!.opacity}' : ''; - - final DomCSSStyleDeclaration containerStyle = container.style; - containerStyle.position = 'absolute'; - containerStyle.width = '100%'; - containerStyle.height = '100%'; - - final String clipPathString = cssStringForClip(_styling!.clip, devicePixelRatio); - containerStyle.clipPath = clipPathString; - - _dirty = false; - } - } -} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart index 0b1db91a2d172..e8b5ab81cb55c 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/checkable.dart @@ -33,7 +33,7 @@ enum _CheckableKind { _CheckableKind _checkableKindFromSemanticsFlag(SemanticsObject semanticsObject) { if (semanticsObject.flags.isInMutuallyExclusiveGroup) { return _CheckableKind.radio; - } else if (semanticsObject.flags.hasToggledState) { + } else if (semanticsObject.flags.isToggled != ui.Tristate.none) { return _CheckableKind.toggle; } else { return _CheckableKind.checkbox; @@ -102,7 +102,10 @@ class SemanticCheckable extends SemanticRole { setAttribute( 'aria-checked', - (semanticsObject.flags.isChecked || semanticsObject.flags.isToggled) ? 'true' : 'false', + (semanticsObject.flags.isChecked == ui.CheckedState.isTrue || + semanticsObject.flags.isToggled == ui.Tristate.isTrue) + ? 'true' + : 'false', ); } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart index 8aca7fc1cec57..b0f6afb061d80 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/semantics/semantics.dart @@ -1538,25 +1538,25 @@ class SemanticsObject { bool hasAction(ui.SemanticsAction action) => (_actions! & action.index) != 0; /// Whether this object represents a widget that can receive input focus. - bool get isFocusable => flags.isFocusable; + bool get isFocusable => flags.isFocused != ui.Tristate.none; /// Whether this object currently has input focus. /// /// This value only makes sense if [isFocusable] is true. - bool get hasFocus => flags.isFocused; + bool get hasFocus => flags.isFocused == ui.Tristate.isTrue; /// Whether this object can be in one of "enabled" or "disabled" state. /// /// If this is true, [isEnabled] communicates the state. - bool get hasEnabledState => flags.hasEnabledState; + bool get hasEnabledState => flags.isEnabled != ui.Tristate.none; /// Whether this object is enabled. /// /// This field is only meaningful if [hasEnabledState] is true. - bool get isEnabled => flags.isEnabled; + bool get isEnabled => flags.isEnabled == ui.Tristate.isTrue; /// Whether this object can be in one of "expanded" or "collapsed" state. - bool get hasExpandedState => flags.hasExpandedState; + bool get hasExpandedState => flags.isExpanded != ui.Tristate.none; /// Whether this object represents a vertically scrollable area. bool get isVerticalScrollContainer => @@ -1600,14 +1600,13 @@ class SemanticsObject { /// /// See [EnabledState] for more details. EnabledState enabledState() { - if (flags.hasEnabledState) { - if (flags.isEnabled) { + switch (flags.isEnabled) { + case ui.Tristate.none: + return EnabledState.noOpinion; + case ui.Tristate.isTrue: return EnabledState.enabled; - } else { + case ui.Tristate.isFalse: return EnabledState.disabled; - } - } else { - return EnabledState.noOpinion; } } @@ -2056,14 +2055,14 @@ class SemanticsObject { return EngineSemanticsRole.image; } else if (isCheckable) { return EngineSemanticsRole.checkable; + } else if (isLink) { + return EngineSemanticsRole.link; } else if (isButton) { return EngineSemanticsRole.button; } else if (isScrollContainer) { return EngineSemanticsRole.scrollable; } else if (scopesRoute) { return EngineSemanticsRole.route; - } else if (isLink) { - return EngineSemanticsRole.link; } else if (isHeader) { return EngineSemanticsRole.header; } else if (isButtonLike) { @@ -2190,15 +2189,16 @@ class SemanticsObject { /// Because such widgets require the use of specific ARIA roles and HTML /// elements, they are managed by the [SemanticCheckable] role, and they do /// not use the [Selectable] behavior. - bool get isCheckable => flags.hasCheckedState || flags.hasToggledState; + bool get isCheckable => + flags.isChecked != ui.CheckedState.none || flags.isToggled != ui.Tristate.none; /// If true, this node represents something that can be in a "checked" or /// state, such as checkboxes, radios, and switches. - bool get isChecked => flags.isChecked; + bool get isChecked => flags.isChecked == ui.CheckedState.isTrue; /// If true, this node represents something that can be in a "mixed" or /// state, such as checkboxes. - bool get isMixed => flags.isCheckStateMixed; + bool get isMixed => flags.isChecked == ui.CheckedState.mixed; /// If true, this node represents something that can be annotated as /// "selected", such as a tab, or an item in a list. @@ -2213,11 +2213,11 @@ class SemanticsObject { /// See also: /// /// * [isSelected], which indicates whether the node is currently selected. - bool get isSelectable => flags.hasSelectedState; + bool get isSelectable => flags.isSelected != ui.Tristate.none; /// If [isSelectable] is true, indicates whether the node is currently /// selected. - bool get isSelected => flags.isSelected; + bool get isSelected => flags.isSelected == ui.Tristate.isTrue; /// If true, this node represents something that currently requires user input /// before a form can be submitted. @@ -2230,10 +2230,10 @@ class SemanticsObject { /// See also: /// /// * [isRequired], which indicates whether the is currently required. - bool get isRequirable => flags.hasRequiredState; + bool get isRequirable => flags.isRequired != ui.Tristate.none; /// If [isRequirable] is true, indicates whether the node is required. - bool get isRequired => flags.isRequired; + bool get isRequired => flags.isRequired == ui.Tristate.isTrue; /// If true, this node represents something that can be annotated as /// "expanded", such as a expansion tile or drop down menu @@ -2243,10 +2243,10 @@ class SemanticsObject { /// See also: /// /// * [isExpanded], which indicates whether the node is currently selected. - bool get isExpandable => flags.hasExpandedState; + bool get isExpandable => flags.isExpanded != ui.Tristate.none; /// Indicates whether the node is currently expanded. - bool get isExpanded => flags.isExpanded; + bool get isExpanded => flags.isExpanded == ui.Tristate.isTrue; /// Role-specific adjustment of the vertical position of the children. /// diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl.dart index b3667e9eb3dbb..2587ee042160c 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl.dart @@ -14,6 +14,7 @@ export 'skwasm_impl/filters.dart'; export 'skwasm_impl/font_collection.dart'; export 'skwasm_impl/image.dart'; export 'skwasm_impl/memory.dart'; +export 'skwasm_impl/offscreen_canvas_rasterizer.dart'; export 'skwasm_impl/paint.dart'; export 'skwasm_impl/paragraph.dart'; export 'skwasm_impl/path.dart'; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/canvas.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/canvas.dart index 9da4ca69e1871..2a2fc5a025d54 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/canvas.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/canvas.dart @@ -9,7 +9,7 @@ import 'package:ui/src/engine.dart'; import 'package:ui/src/engine/skwasm/skwasm_impl.dart'; import 'package:ui/ui.dart' as ui; -class SkwasmCanvas implements SceneCanvas { +class SkwasmCanvas implements LayerCanvas { factory SkwasmCanvas(SkwasmPictureRecorder recorder, ui.Rect cullRect) => SkwasmCanvas.fromHandle( withStackScope( (StackScope s) => @@ -34,16 +34,10 @@ class SkwasmCanvas implements SceneCanvas { final paintHandle = (paint as SkwasmPaint).toRawPaint(); if (bounds != null) { withStackScope((StackScope s) { - canvasSaveLayer( - _handle, - s.convertRectToNative(bounds), - paintHandle, - nullptr, - ui.TileMode.clamp.index, - ); + canvasSaveLayer(_handle, s.convertRectToNative(bounds), paintHandle, nullptr); }); } else { - canvasSaveLayer(_handle, nullptr, paintHandle, nullptr, ui.TileMode.clamp.index); + canvasSaveLayer(_handle, nullptr, paintHandle, nullptr); } paintDispose(paintHandle); } @@ -60,29 +54,16 @@ class SkwasmCanvas implements SceneCanvas { // and instead needs it supplied to the saveLayer call itself as a // separate argument. final SkwasmImageFilter nativeFilter = SkwasmImageFilter.fromUiFilter(imageFilter); - final ui.TileMode? backdropTileMode = nativeFilter.backdropTileMode; final paintHandle = (paint as SkwasmPaint).toRawPaint(/*ui.TileMode.decal*/); if (bounds != null) { withStackScope((StackScope s) { nativeFilter.withRawImageFilter((nativeFilterHandle) { - canvasSaveLayer( - _handle, - s.convertRectToNative(bounds), - paintHandle, - nativeFilterHandle, - (backdropTileMode ?? ui.TileMode.mirror).index, - ); + canvasSaveLayer(_handle, s.convertRectToNative(bounds), paintHandle, nativeFilterHandle); }, defaultBlurTileMode: ui.TileMode.mirror); }); } else { nativeFilter.withRawImageFilter((nativeFilterHandle) { - canvasSaveLayer( - _handle, - nullptr, - paintHandle, - nativeFilterHandle, - (backdropTileMode ?? ui.TileMode.mirror).index, - ); + canvasSaveLayer(_handle, nullptr, paintHandle, nativeFilterHandle); }, defaultBlurTileMode: ui.TileMode.mirror); } paintDispose(paintHandle); @@ -431,4 +412,16 @@ class SkwasmCanvas implements SceneCanvas { return scope.convertMatrix44FromNative(outMatrix); }); } + + @override + void clear(ui.Color color) { + canvasClear(_handle, color.value); + } + + @override + bool quickReject(ui.Rect rect) { + return withStackScope((StackScope s) { + return canvasQuickReject(_handle, s.convertRectToNative(rect)); + }); + } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/filters.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/filters.dart index 8d7679d9271af..22a3a8116572e 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/filters.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/filters.dart @@ -9,9 +9,9 @@ import 'package:ui/src/engine.dart'; import 'package:ui/src/engine/skwasm/skwasm_impl.dart'; import 'package:ui/ui.dart' as ui; -typedef ImageFilterHandleBorrow = void Function(ImageFilterHandle handle); +typedef ImageFilterHandleBorrow = T Function(ImageFilterHandle handle); -abstract class SkwasmImageFilter implements SceneImageFilter { +abstract class SkwasmImageFilter implements LayerImageFilter { const SkwasmImageFilter(); factory SkwasmImageFilter.blur({ @@ -58,20 +58,18 @@ abstract class SkwasmImageFilter implements SceneImageFilter { /// /// The handle is deleted immediately after [borrow] returns. The [borrow] /// function must not store the handle to avoid dangling pointer bugs. - void withRawImageFilter( - ImageFilterHandleBorrow borrow, { + T withRawImageFilter( + ImageFilterHandleBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, }); - ui.TileMode? get backdropTileMode => ui.TileMode.clamp; - @override - ui.Rect filterBounds(ui.Rect inputBounds) => withStackScope((StackScope scope) { - final RawIRect rawRect = scope.convertIRectToNative(inputBounds); - withRawImageFilter((handle) { + ui.Rect filterBounds(ui.Rect inputBounds) => withRawImageFilter((handle) { + return withStackScope((StackScope scope) { + final RawIRect rawRect = scope.convertIRectToNative(inputBounds); imageFilterGetFilterBounds(handle, rawRect); + return scope.convertIRectFromNative(rawRect); }); - return scope.convertIRectFromNative(rawRect); }); } @@ -83,11 +81,8 @@ class SkwasmBlurFilter extends SkwasmImageFilter { final ui.TileMode? tileMode; @override - ui.TileMode? get backdropTileMode => tileMode; - - @override - void withRawImageFilter( - ImageFilterHandleBorrow borrow, { + T withRawImageFilter( + ImageFilterHandleBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, }) { final rawImageFilter = imageFilterCreateBlur( @@ -95,15 +90,30 @@ class SkwasmBlurFilter extends SkwasmImageFilter { sigmaY, (tileMode ?? defaultBlurTileMode).index, ); - borrow(rawImageFilter); + final T result = borrow(rawImageFilter); imageFilterDispose(rawImageFilter); + return result; } @override - String toString() => 'ImageFilter.blur($sigmaX, $sigmaY, ${tileModeString(tileMode)})'; + Matrix4? get transform => null; @override - Matrix4? get transform => null; + bool operator ==(Object other) { + if (runtimeType != other.runtimeType) { + return false; + } + return other is SkwasmBlurFilter && + other.sigmaX == sigmaX && + other.sigmaY == sigmaY && + other.tileMode == tileMode; + } + + @override + int get hashCode => Object.hash(sigmaX, sigmaY, tileMode); + + @override + String toString() => 'ImageFilter.blur($sigmaX, $sigmaY, ${tileModeString(tileMode)})'; } class SkwasmDilateFilter extends SkwasmImageFilter { @@ -113,20 +123,32 @@ class SkwasmDilateFilter extends SkwasmImageFilter { final double radiusY; @override - void withRawImageFilter( - ImageFilterHandleBorrow borrow, { + T withRawImageFilter( + ImageFilterHandleBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, }) { final rawImageFilter = imageFilterCreateDilate(radiusX, radiusY); - borrow(rawImageFilter); + final T result = borrow(rawImageFilter); imageFilterDispose(rawImageFilter); + return result; } @override - String toString() => 'ImageFilter.dilate($radiusX, $radiusY)'; + Matrix4? get transform => null; @override - Matrix4? get transform => null; + bool operator ==(Object other) { + if (runtimeType != other.runtimeType) { + return false; + } + return other is SkwasmDilateFilter && other.radiusX == radiusX && other.radiusY == radiusY; + } + + @override + int get hashCode => Object.hash(radiusX, radiusY); + + @override + String toString() => 'ImageFilter.dilate($radiusX, $radiusY)'; } class SkwasmErodeFilter extends SkwasmImageFilter { @@ -136,20 +158,32 @@ class SkwasmErodeFilter extends SkwasmImageFilter { final double radiusY; @override - void withRawImageFilter( - ImageFilterHandleBorrow borrow, { + T withRawImageFilter( + ImageFilterHandleBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, }) { final rawImageFilter = imageFilterCreateErode(radiusX, radiusY); - borrow(rawImageFilter); + final T result = borrow(rawImageFilter); imageFilterDispose(rawImageFilter); + return result; } @override - String toString() => 'ImageFilter.erode($radiusX, $radiusY)'; + Matrix4? get transform => null; @override - Matrix4? get transform => null; + bool operator ==(Object other) { + if (runtimeType != other.runtimeType) { + return false; + } + return other is SkwasmErodeFilter && other.radiusX == radiusX && other.radiusY == radiusY; + } + + @override + int get hashCode => Object.hash(radiusX, radiusY); + + @override + String toString() => 'ImageFilter.erode($radiusX, $radiusY)'; } class SkwasmMatrixFilter extends SkwasmImageFilter { @@ -159,25 +193,37 @@ class SkwasmMatrixFilter extends SkwasmImageFilter { final ui.FilterQuality filterQuality; @override - void withRawImageFilter( - ImageFilterHandleBorrow borrow, { + T withRawImageFilter( + ImageFilterHandleBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, - }) { - withStackScope((scope) { - final rawImageFilter = imageFilterCreateMatrix( - scope.convertMatrix4toSkMatrix(matrix4), - filterQuality.index, - ); - borrow(rawImageFilter); - imageFilterDispose(rawImageFilter); - }); + }) => withStackScope((scope) { + final rawImageFilter = imageFilterCreateMatrix( + scope.convertMatrix4toSkMatrix(matrix4), + filterQuality.index, + ); + final T result = borrow(rawImageFilter); + imageFilterDispose(rawImageFilter); + return result; + }); + + @override + Matrix4? get transform => Matrix4.fromFloat32List(toMatrix32(matrix4)); + + @override + bool operator ==(Object other) { + if (other.runtimeType != runtimeType) { + return false; + } + return other is SkwasmMatrixFilter && + other.filterQuality == filterQuality && + listEquals(other.matrix4, matrix4); } @override - String toString() => 'ImageFilter.matrix($matrix4, $filterQuality)'; + int get hashCode => Object.hash(filterQuality, Object.hashAll(matrix4)); @override - Matrix4? get transform => Matrix4.fromFloat32List(toMatrix32(matrix4)); + String toString() => 'ImageFilter.matrix($matrix4, $filterQuality)'; } class SkwasmColorImageFilter extends SkwasmImageFilter { @@ -186,22 +232,32 @@ class SkwasmColorImageFilter extends SkwasmImageFilter { final SkwasmColorFilter filter; @override - void withRawImageFilter( - ImageFilterHandleBorrow borrow, { + T withRawImageFilter( + ImageFilterHandleBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, - }) { - filter.withRawColorFilter((colroFilterHandle) { - final rawImageFilter = imageFilterCreateFromColorFilter(colroFilterHandle); - borrow(rawImageFilter); - imageFilterDispose(rawImageFilter); - }); + }) => filter.withRawColorFilter((colorFilterHandle) { + final rawImageFilter = imageFilterCreateFromColorFilter(colorFilterHandle); + final T result = borrow(rawImageFilter); + imageFilterDispose(rawImageFilter); + return result; + }); + + @override + Matrix4? get transform => null; + + @override + bool operator ==(Object other) { + if (runtimeType != other.runtimeType) { + return false; + } + return other is SkwasmColorImageFilter && other.filter == filter; } @override - String toString() => filter.toString(); + int get hashCode => filter.hashCode; @override - Matrix4? get transform => null; + String toString() => filter.toString(); } class SkwasmComposedImageFilter extends SkwasmImageFilter { @@ -211,21 +267,18 @@ class SkwasmComposedImageFilter extends SkwasmImageFilter { final SkwasmImageFilter inner; @override - void withRawImageFilter( - ImageFilterHandleBorrow borrow, { + T withRawImageFilter( + ImageFilterHandleBorrow borrow, { ui.TileMode defaultBlurTileMode = ui.TileMode.clamp, - }) { - outer.withRawImageFilter((outerHandle) { - inner.withRawImageFilter((innerHandle) { - final rawImageFilter = imageFilterCompose(outerHandle, innerHandle); - borrow(rawImageFilter); - imageFilterDispose(rawImageFilter); - }, defaultBlurTileMode: defaultBlurTileMode); - }, defaultBlurTileMode: defaultBlurTileMode); - } - - @override - String toString() => 'ImageFilter.compose($outer, $inner)'; + }) => outer.withRawImageFilter( + (outerHandle) => inner.withRawImageFilter((innerHandle) { + final rawImageFilter = imageFilterCompose(outerHandle, innerHandle); + final T result = borrow(rawImageFilter); + imageFilterDispose(rawImageFilter); + return result; + }, defaultBlurTileMode: defaultBlurTileMode), + defaultBlurTileMode: defaultBlurTileMode, + ); @override Matrix4? get transform { @@ -236,9 +289,23 @@ class SkwasmComposedImageFilter extends SkwasmImageFilter { } return outerTransform ?? innerTransform; } + + @override + bool operator ==(Object other) { + if (runtimeType != other.runtimeType) { + return false; + } + return other is SkwasmComposedImageFilter && other.outer == outer && other.inner == inner; + } + + @override + int get hashCode => Object.hash(outer, inner); + + @override + String toString() => 'ImageFilter.compose($outer, $inner)'; } -typedef ColorFilterHandleBorrow = void Function(ColorFilterHandle handle); +typedef ColorFilterHandleBorrow = T Function(ColorFilterHandle handle); abstract class SkwasmColorFilter { const SkwasmColorFilter(); @@ -251,15 +318,12 @@ abstract class SkwasmColorFilter { ColorFilterType.matrix => SkwasmMatrixColorFilter(colorFilter.matrix!), }; - factory SkwasmColorFilter.composed(SkwasmColorFilter outer, SkwasmColorFilter inner) => - SkwasmComposedColorFilter(outer, inner); - /// Creates a temporary [ColorFilterHandle] and passes it to the [borrow] /// function. /// /// The handle is deleted immediately after [borrow] returns. The [borrow] /// function must not store the handle to avoid dangling pointer bugs. - void withRawColorFilter(ColorFilterHandleBorrow borrow); + T withRawColorFilter(ColorFilterHandleBorrow borrow); } class SkwasmModeColorFilter extends SkwasmColorFilter { @@ -269,12 +333,24 @@ class SkwasmModeColorFilter extends SkwasmColorFilter { final ui.BlendMode blendMode; @override - void withRawColorFilter(ColorFilterHandleBorrow borrow) { + T withRawColorFilter(ColorFilterHandleBorrow borrow) { final rawColorFilter = colorFilterCreateMode(color.value, blendMode.index); - borrow(rawColorFilter); + final T result = borrow(rawColorFilter); colorFilterDispose(rawColorFilter); + return result; } + @override + bool operator ==(Object other) { + if (runtimeType != other.runtimeType) { + return false; + } + return other is SkwasmModeColorFilter && other.color == color && other.blendMode == blendMode; + } + + @override + int get hashCode => Object.hash(color, blendMode); + @override String toString() => 'ColorFilter.mode($color, $blendMode)'; } @@ -287,9 +363,13 @@ class SkwasmLinearToSrgbGammaColorFilter extends SkwasmColorFilter { static final _rawColorFilter = colorFilterCreateLinearToSRGBGamma(); @override - void withRawColorFilter(ColorFilterHandleBorrow borrow) { - borrow(_rawColorFilter); - } + T withRawColorFilter(ColorFilterHandleBorrow borrow) => borrow(_rawColorFilter); + + @override + bool operator ==(Object other) => runtimeType == other.runtimeType; + + @override + int get hashCode => runtimeType.hashCode; @override String toString() => 'ColorFilter.linearToSrgbGamma()'; @@ -303,9 +383,13 @@ class SkwasmSrgbToLinearGammaColorFilter extends SkwasmColorFilter { static final _rawColorFilter = colorFilterCreateSRGBToLinearGamma(); @override - void withRawColorFilter(ColorFilterHandleBorrow borrow) { - borrow(_rawColorFilter); - } + T withRawColorFilter(ColorFilterHandleBorrow borrow) => borrow(_rawColorFilter); + + @override + bool operator ==(Object other) => runtimeType == other.runtimeType; + + @override + int get hashCode => runtimeType.hashCode; @override String toString() => 'ColorFilter.srgbToLinearGamma()'; @@ -317,48 +401,37 @@ class SkwasmMatrixColorFilter extends SkwasmColorFilter { final List matrix; @override - void withRawColorFilter(ColorFilterHandleBorrow borrow) { - withStackScope((scope) { - assert(matrix.length == 20); - final Pointer rawMatrix = scope.convertDoublesToNative(matrix); - - /// Flutter documentation says the translation column of the color matrix - /// is specified in unnormalized 0..255 space. Skia expects the - /// translation values to be normalized to 0..1 space. - /// - /// See [https://api.flutter.dev/flutter/dart-ui/ColorFilter/ColorFilter.matrix.html]. - for (final i in [4, 9, 14, 19]) { - rawMatrix[i] /= 255.0; - } - final rawColorFilter = colorFilterCreateMatrix(rawMatrix); - borrow(rawColorFilter); - colorFilterDispose(rawColorFilter); - }); - } + T withRawColorFilter(ColorFilterHandleBorrow borrow) => withStackScope((scope) { + assert(matrix.length == 20); + final Pointer rawMatrix = scope.convertDoublesToNative(matrix); + + /// Flutter documentation says the translation column of the color matrix + /// is specified in unnormalized 0..255 space. Skia expects the + /// translation values to be normalized to 0..1 space. + /// + /// See [https://api.flutter.dev/flutter/dart-ui/ColorFilter/ColorFilter.matrix.html]. + for (final i in [4, 9, 14, 19]) { + rawMatrix[i] /= 255.0; + } + final rawColorFilter = colorFilterCreateMatrix(rawMatrix); + final T result = borrow(rawColorFilter); + colorFilterDispose(rawColorFilter); + return result; + }); @override - String toString() => 'ColorFilter.matrix($matrix)'; -} - -class SkwasmComposedColorFilter extends SkwasmColorFilter { - const SkwasmComposedColorFilter(this.outer, this.inner); - - final SkwasmColorFilter outer; - final SkwasmColorFilter inner; + bool operator ==(Object other) { + if (runtimeType != other.runtimeType) { + return false; + } + return other is SkwasmMatrixColorFilter && listEquals(matrix, other.matrix); + } @override - void withRawColorFilter(ColorFilterHandleBorrow borrow) { - outer.withRawColorFilter((outerHandle) { - inner.withRawColorFilter((innerHandle) { - final rawColorFilter = colorFilterCompose(outerHandle, innerHandle); - borrow(rawColorFilter); - colorFilterDispose(rawColorFilter); - }); - }); - } + int get hashCode => Object.hashAll(matrix); @override - String toString() => 'ColorFilter.compose($outer, $inner)'; + String toString() => 'ColorFilter.matrix($matrix)'; } class SkwasmMaskFilter extends SkwasmObjectWrapper { diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/image.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/image.dart index 45c74a6a52caf..6a60187466e37 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/image.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/image.dart @@ -59,8 +59,11 @@ class SkwasmImage extends SkwasmObjectWrapper implements ui.Image { final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); canvas.drawImage(this, ui.Offset.zero, ui.Paint()); + final SkwasmPicture picture = recorder.endRecording() as SkwasmPicture; final DomImageBitmap bitmap = (await (renderer as SkwasmRenderer).surface.renderPictures( - [recorder.endRecording() as SkwasmPicture], + [picture], + picture.cullRect.width.ceil(), + picture.cullRect.height.ceil(), )).imageBitmaps.single; final DomOffscreenCanvas offscreenCanvas = createDomOffscreenCanvas( bitmap.width, diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/offscreen_canvas_rasterizer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/offscreen_canvas_rasterizer.dart new file mode 100644 index 0000000000000..6c9ad205d3ea8 --- /dev/null +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/offscreen_canvas_rasterizer.dart @@ -0,0 +1,83 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:ui/src/engine.dart'; +import 'package:ui/ui.dart' as ui; + +import '../skwasm_impl.dart'; + +/// A [Rasterizer] that uses a single GL context in an OffscreenCanvas to do +/// all the rendering. It transfers bitmaps created in the OffscreenCanvas to +/// one or many on-screen elements to actually display the scene. +class SkwasmOffscreenCanvasRasterizer extends Rasterizer { + SkwasmOffscreenCanvasRasterizer(this.offscreenSurface); + + /// This is an SkSurface backed by an OffScreenCanvas. This single Surface is + /// used to render to many RenderCanvases to produce the rendered scene. + final SkwasmSurface offscreenSurface; + + @override + SkwasmOffscreenCanvasViewRasterizer createViewRasterizer(EngineFlutterView view) { + return _viewRasterizers.putIfAbsent( + view, + () => SkwasmOffscreenCanvasViewRasterizer(view, this), + ); + } + + final Map _viewRasterizers = + {}; + + @override + void setResourceCacheMaxBytes(int bytes) { + offscreenSurface.setSkiaResourceCacheMaxBytes(bytes); + } + + @override + void dispose() { + offscreenSurface.dispose(); + for (final SkwasmOffscreenCanvasViewRasterizer viewRasterizer in _viewRasterizers.values) { + viewRasterizer.dispose(); + } + } +} + +class SkwasmOffscreenCanvasViewRasterizer extends ViewRasterizer { + SkwasmOffscreenCanvasViewRasterizer(super.view, this.rasterizer); + + final SkwasmOffscreenCanvasRasterizer rasterizer; + + @override + final DisplayCanvasFactory displayFactory = DisplayCanvasFactory( + createCanvas: () => RenderCanvas(), + ); + + @override + void prepareToDraw() { + // No need to do anything here. Skwasm sizes the surface in the `rasterize` + // call below. + } + + @override + Future rasterize( + List displayCanvases, + List pictures, + FrameTimingRecorder? recorder, + ) async { + if (displayCanvases.length != pictures.length) { + throw ArgumentError('Called rasterize() with a different number of canvases and pictures.'); + } + final RenderResult renderResult = await rasterizer.offscreenSurface.renderPictures( + pictures.cast(), + currentFrameSize.width, + currentFrameSize.height, + ); + recorder?.recordRasterStart(renderResult.rasterStartMicros); + recorder?.recordRasterFinish(renderResult.rasterEndMicros); + for (int i = 0; i < displayCanvases.length; i++) { + final RenderCanvas renderCanvas = displayCanvases[i] as RenderCanvas; + final DomImageBitmap bitmap = renderResult.imageBitmaps[i]; + renderCanvas.render(bitmap); + } + } +} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paint.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paint.dart index ab615e39661d9..7e447a8bfb2ad 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paint.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/paint.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:ffi'; - import 'package:ui/src/engine.dart'; import 'package:ui/src/engine/skwasm/skwasm_impl.dart'; import 'package:ui/ui.dart' as ui; @@ -26,16 +24,21 @@ class SkwasmPaint implements ui.Paint { strokeCap.index, strokeJoin.index, strokeMiterLimit, + invertColors, ); - _maybeSetEffectiveColorFilter(rawPaint); + final localColorFilter = _colorFilter; + if (localColorFilter != null) { + SkwasmColorFilter.fromEngineColorFilter(localColorFilter).withRawColorFilter(( + nativeFilterHandle, + ) { + paintSetColorFilter(rawPaint, nativeFilterHandle); + }); + } final shaderHandle = _shader?.handle; if (shaderHandle != null) { paintSetShader(rawPaint, shaderHandle); - if (_shader!.isGradient) { - paintSetDither(rawPaint, true); - } } final localMaskFilter = maskFilter; @@ -56,39 +59,6 @@ class SkwasmPaint implements ui.Paint { return rawPaint; } - /// If `invertColors` is true or `colorFilter` is not null, sets the - /// appropriate Skia color filter. Otherwise, does nothing. - void _maybeSetEffectiveColorFilter(Pointer handle) { - final nativeFilter = _colorFilter != null - ? SkwasmColorFilter.fromEngineColorFilter(_colorFilter!) - : null; - if (invertColors) { - if (nativeFilter != null) { - final composedFilter = SkwasmColorFilter.composed(_invertColorFilter, nativeFilter); - composedFilter.withRawColorFilter((composedFilterHandle) { - paintSetColorFilter(handle, composedFilterHandle); - }); - } else { - _invertColorFilter.withRawColorFilter((invertFilterHandle) { - paintSetColorFilter(handle, invertFilterHandle); - }); - } - } else if (nativeFilter != null) { - nativeFilter.withRawColorFilter((nativeFilterHandle) { - paintSetColorFilter(handle, nativeFilterHandle); - }); - } - } - - static final SkwasmColorFilter _invertColorFilter = SkwasmColorFilter.fromEngineColorFilter( - const EngineColorFilter.matrix([ - -1.0, 0, 0, 1.0, 0, // row - 0, -1.0, 0, 1.0, 0, // row - 0, 0, -1.0, 1.0, 0, // row - 1.0, 1.0, 1.0, 1.0, 0, - ]), - ); - @override ui.BlendMode blendMode = _kBlendModeDefault; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path.dart index 0486f450ed8c1..2e0a1050f50da 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/path.dart @@ -14,7 +14,7 @@ enum PathDirection { clockwise, counterClockwise } enum PathArcSize { small, large } -class SkwasmPath extends SkwasmObjectWrapper implements ScenePath, DisposablePath { +class SkwasmPath extends SkwasmObjectWrapper implements LayerPath, DisposablePath { factory SkwasmPath() { return SkwasmPath.fromHandle(pathCreate()); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/picture.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/picture.dart index 76b18a25be72a..fd0cf72cb09c3 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/picture.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/picture.dart @@ -6,7 +6,7 @@ import 'package:ui/src/engine.dart'; import 'package:ui/src/engine/skwasm/skwasm_impl.dart'; import 'package:ui/ui.dart' as ui; -class SkwasmPicture extends SkwasmObjectWrapper implements ScenePicture { +class SkwasmPicture extends SkwasmObjectWrapper implements LayerPicture { SkwasmPicture.fromHandle(PictureHandle handle) : super(handle, _registry); static final SkwasmFinalizationRegistry _registry = @@ -39,7 +39,7 @@ class SkwasmPicture extends SkwasmObjectWrapper implements ScenePict } class SkwasmPictureRecorder extends SkwasmObjectWrapper - implements ScenePictureRecorder { + implements LayerPictureRecorder { SkwasmPictureRecorder() : super(pictureRecorderCreate(), _registry); static final SkwasmFinalizationRegistry _registry = diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_canvas.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_canvas.dart index b1e74c6f901a0..f302668162153 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_canvas.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_canvas.dart @@ -16,7 +16,7 @@ typedef CanvasHandle = Pointer; @Native(symbol: 'canvas_save', isLeaf: true) external void canvasSave(CanvasHandle canvas); -@Native( +@Native( symbol: 'canvas_saveLayer', isLeaf: true, ) @@ -25,7 +25,6 @@ external void canvasSaveLayer( RawRect rect, PaintHandle paint, ImageFilterHandle handle, - int backdropTileMode, ); @Native(symbol: 'canvas_restore', isLeaf: true) @@ -64,6 +63,9 @@ external void canvasClipPath(CanvasHandle canvas, PathHandle path, bool antialia @Native(symbol: 'canvas_drawColor', isLeaf: true) external void canvasDrawColor(CanvasHandle canvas, int color, int blendMode); +@Native(symbol: 'canvas_clear', isLeaf: true) +external void canvasClear(CanvasHandle canvas, int color); + @Native( symbol: 'canvas_drawLine', isLeaf: true, @@ -256,3 +258,6 @@ external void canvasGetLocalClipBounds(CanvasHandle canvas, RawRect outRect); @Native(symbol: 'canvas_getDeviceClipBounds', isLeaf: true) external void canvasGetDeviceClipBounds(CanvasHandle canvas, RawIRect outRect); + +@Native(symbol: 'canvas_quickReject', isLeaf: true) +external bool canvasQuickReject(CanvasHandle canvas, RawRect rect); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_filters.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_filters.dart index 26a107897e9d4..9eea095d94cea 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_filters.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_filters.dart @@ -75,12 +75,6 @@ external ColorFilterHandle colorFilterCreateSRGBToLinearGamma(); @Native(symbol: 'colorFilter_createLinearToSRGBGamma', isLeaf: true) external ColorFilterHandle colorFilterCreateLinearToSRGBGamma(); -@Native( - symbol: 'colorFilter_compose', - isLeaf: true, -) -external ColorFilterHandle colorFilterCompose(ColorFilterHandle outer, ColorFilterHandle inner); - @Native(symbol: 'colorFilter_dispose', isLeaf: true) external void colorFilterDispose(ColorFilterHandle handle); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_paint.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_paint.dart index 45d2b62cd6ee1..42334def8a95c 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_paint.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_paint.dart @@ -14,7 +14,7 @@ final class RawPaint extends Opaque {} typedef PaintHandle = Pointer; typedef _PaintCreateInitSignature = - PaintHandle Function(Bool, Int, Int, Int, Float, Int, Int, Float); + PaintHandle Function(Bool, Int, Int, Int, Float, Int, Int, Float, Bool); @Native<_PaintCreateInitSignature>(symbol: 'paint_create', isLeaf: true) external PaintHandle paintCreate( @@ -26,6 +26,7 @@ external PaintHandle paintCreate( int strokeCap, int strokeJoin, double strokeMiterLimit, + bool invertColors, ); @Native(symbol: 'paint_dispose', isLeaf: true) @@ -34,9 +35,6 @@ external void paintDispose(PaintHandle paint); @Native(symbol: 'paint_setShader', isLeaf: true) external void paintSetShader(PaintHandle handle, ShaderHandle shader); -@Native(symbol: 'paint_setDither', isLeaf: true) -external void paintSetDither(PaintHandle handle, bool isDither); - @Native(symbol: 'paint_setImageFilter', isLeaf: true) external void paintSetImageFilter(PaintHandle handle, ImageFilterHandle filter); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_shaders.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_shaders.dart index a4dfd920249c4..b2c7c7532f658 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_shaders.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_shaders.dart @@ -17,6 +17,10 @@ final class RawRuntimeEffect extends Opaque {} typedef RuntimeEffectHandle = Pointer; +final class RawUniformData extends Opaque {} + +typedef UniformDataHandle = Pointer; + @Native, Int, Int, RawMatrix33)>( symbol: 'shader_createLinearGradient', isLeaf: true, @@ -104,13 +108,13 @@ external void runtimeEffectDispose(RuntimeEffectHandle handle); @Native(symbol: 'runtimeEffect_getUniformSize', isLeaf: true) external int runtimeEffectGetUniformSize(RuntimeEffectHandle handle); -@Native, Size)>( +@Native, Size)>( symbol: 'shader_createRuntimeEffectShader', isLeaf: true, ) external ShaderHandle shaderCreateRuntimeEffectShader( RuntimeEffectHandle runtimeEffect, - SkDataHandle uniforms, + UniformDataHandle uniforms, Pointer childShaders, int childCount, ); @@ -126,3 +130,12 @@ external ShaderHandle shaderCreateFromImage( int quality, RawMatrix33 localMatrix, ); + +@Native(symbol: 'uniformData_create') +external UniformDataHandle uniformDataCreate(int size); + +@Native(symbol: 'uniformData_dispose') +external void uniformDataDispose(UniformDataHandle handle); + +@Native Function(UniformDataHandle)>(symbol: 'uniformData_getPointer') +external Pointer uniformDataGetPointer(UniformDataHandle handle); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_surface.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_surface.dart index c08199572fdc5..f5f60964eaffa 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_surface.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/raw/raw_surface.dart @@ -33,13 +33,21 @@ external void surfaceSetCallbackHandler(SurfaceHandle surface, OnRenderCallbackH @Native(symbol: 'surface_destroy', isLeaf: true) external void surfaceDestroy(SurfaceHandle surface); -@Native, Int)>( +@Native( + symbol: 'surface_setResourceCacheLimitBytes', + isLeaf: true, +) +external void surfaceSetResourceCacheLimitBytes(SurfaceHandle surface, int bytes); + +@Native, Int, Int, Int)>( symbol: 'surface_renderPictures', isLeaf: true, ) external CallbackId surfaceRenderPictures( SurfaceHandle surface, Pointer picture, + int width, + int height, int count, ); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart index f783f2408bcb9..2b68e2893d762 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/renderer.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:convert'; import 'dart:ffi'; import 'dart:js_interop'; import 'dart:math' as math; @@ -14,10 +13,8 @@ import 'package:ui/src/engine/skwasm/skwasm_impl.dart'; import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; -class SkwasmRenderer implements Renderer { +class SkwasmRenderer extends Renderer { late SkwasmSurface surface; - final Map _sceneViews = - {}; bool get isMultiThreaded => skwasmIsMultiThreaded(); @@ -178,7 +175,7 @@ class SkwasmRenderer implements Renderer { ); @override - ui.SceneBuilder createSceneBuilder() => EngineSceneBuilder(); + ui.SceneBuilder createSceneBuilder() => LayerSceneBuilder(); @override ui.StrutStyle createStrutStyle({ @@ -324,6 +321,8 @@ class SkwasmRenderer implements Renderer { @override FutureOr initialize() { surface = SkwasmSurface(); + rasterizer = SkwasmOffscreenCanvasRasterizer(surface); + return super.initialize(); } @override @@ -397,25 +396,6 @@ class SkwasmRenderer implements Renderer { } } - @override - Future renderScene(ui.Scene scene, EngineFlutterView view) { - final FrameTimingRecorder? recorder = FrameTimingRecorder.frameTimingsEnabled - ? FrameTimingRecorder() - : null; - recorder?.recordBuildFinish(); - - final EngineSceneView sceneView = _getSceneViewForView(view); - return sceneView.renderScene(scene as EngineScene, recorder); - } - - EngineSceneView _getSceneViewForView(EngineFlutterView view) { - return _sceneViews.putIfAbsent(view, () { - final EngineSceneView sceneView = EngineSceneView(SkwasmPictureRenderer(surface), view); - view.dom.setScene(sceneView.sceneElement); - return sceneView; - }); - } - @override String get rendererTag => 'skwasm'; @@ -492,27 +472,6 @@ class SkwasmRenderer implements Renderer { ); } - String _generateDebugFilename(String filePrefix) { - final now = DateTime.now(); - final String y = now.year.toString().padLeft(4, '0'); - final String mo = now.month.toString().padLeft(2, '0'); - final String d = now.day.toString().padLeft(2, '0'); - final String h = now.hour.toString().padLeft(2, '0'); - final String mi = now.minute.toString().padLeft(2, '0'); - final String s = now.second.toString().padLeft(2, '0'); - return '$filePrefix-$y-$mo-$d-$h-$mi-$s.json'; - } - - void _dumpDebugInfo(String filePrefix, Map json) { - final String jsonString = const JsonEncoder.withIndent(' ').convert(json); - final blob = createDomBlob([jsonString], {'type': 'application/json'}); - final url = domWindow.URL.createObjectURL(blob); - final element = domDocument.createElement('a'); - element.setAttribute('href', url); - element.setAttribute('download', _generateDebugFilename(filePrefix)); - element.click(); - } - @override void dumpDebugInfo() { if (kDebugMode) { @@ -549,14 +508,14 @@ class SkwasmRenderer implements Renderer { 'surfaceCount': counts[26], 'verticesCount': counts[27], }; - _dumpDebugInfo('live_object_counts', countsJson); + downloadDebugInfo('live_object_counts', countsJson); }); int i = 0; - for (final view in _sceneViews.values) { - final Map? debugJson = view.dumpDebugInfo(); + for (final viewRasterizer in rasterizers.values) { + final Map? debugJson = viewRasterizer.dumpDebugInfo(); if (debugJson != null) { - _dumpDebugInfo('flutter-scene$i', debugJson); + downloadDebugInfo('flutter-scene$i', debugJson); i++; } } @@ -564,28 +523,7 @@ class SkwasmRenderer implements Renderer { } @override - void debugClear() { - // TODO(harryterkelsen): See what needs to be cleaned up for tests and clear - // it here. - } -} - -class SkwasmPictureRenderer implements PictureRenderer { - SkwasmPictureRenderer(this.surface); - - SkwasmSurface surface; - - @override - FutureOr renderPictures(List pictures) => - surface.renderPictures(pictures.cast()); - - @override - ScenePicture clipPicture(ScenePicture picture, ui.Rect clip) { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final ui.Canvas canvas = ui.Canvas(recorder, clip); - canvas.clipRect(clip); - canvas.drawPicture(picture); - - return recorder.endRecording() as ScenePicture; + void debugResetRasterizer() { + rasterizer = SkwasmOffscreenCanvasRasterizer(surface); } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart index 4bcfa75763d4b..66cbcd1a97ede 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/shaders.dart @@ -254,11 +254,15 @@ class SkwasmFragmentProgram extends SkwasmObjectWrapper int get uniformSize => runtimeEffectGetUniformSize(handle); } -class SkwasmShaderData extends SkwasmObjectWrapper { - SkwasmShaderData(int size) : super(skDataCreate(size), _registry); +class SkwasmShaderData extends SkwasmObjectWrapper { + SkwasmShaderData(int size) : super(uniformDataCreate(size), _registry); - static final SkwasmFinalizationRegistry _registry = - SkwasmFinalizationRegistry((SkDataHandle handle) => skDataDispose(handle)); + static final SkwasmFinalizationRegistry _registry = + SkwasmFinalizationRegistry( + (UniformDataHandle handle) => uniformDataDispose(handle), + ); + + Pointer get pointer => uniformDataGetPointer(handle); } // This class does not inherit from SkwasmNativeShader, as its handle might @@ -326,7 +330,7 @@ class SkwasmFragmentShader implements SkwasmShader, ui.FragmentShader { _nativeShader!.dispose(); _nativeShader = null; } - final Pointer dataPointer = skDataGetPointer(_uniformData.handle).cast(); + final Pointer dataPointer = _uniformData.pointer.cast(); dataPointer[index] = value; } @@ -350,7 +354,7 @@ class SkwasmFragmentShader implements SkwasmShader, ui.FragmentShader { _childShaders[index] = shader; oldShader?.dispose(); - final Pointer dataPointer = skDataGetPointer(_uniformData.handle).cast(); + final Pointer dataPointer = _uniformData.pointer.cast(); dataPointer[_floatUniformCount + index * 2] = image.width.toDouble(); dataPointer[_floatUniformCount + index * 2 + 1] = image.height.toDouble(); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/surface.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/surface.dart index 17d009cd7f5f3..2a18576375859 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/surface.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_impl/surface.dart @@ -68,6 +68,12 @@ class SkwasmCallbackHandler { } } +typedef RenderResult = ({ + List imageBitmaps, + int rasterStartMicros, + int rasterEndMicros, +}); + class SkwasmSurface { factory SkwasmSurface() { final SurfaceHandle surfaceHandle = withStackScope((StackScope scope) { @@ -87,7 +93,7 @@ class SkwasmSurface { surfaceSetCallbackHandler(handle, SkwasmCallbackHandler.instance.callbackPointer); } - Future renderPictures(List pictures) => + Future renderPictures(List pictures, int width, int height) => withStackScope((StackScope scope) async { final Pointer pictureHandles = scope .allocPointerArray(pictures.length) @@ -95,7 +101,13 @@ class SkwasmSurface { for (int i = 0; i < pictures.length; i++) { pictureHandles[i] = pictures[i].handle; } - final int callbackId = surfaceRenderPictures(handle, pictureHandles, pictures.length); + final int callbackId = surfaceRenderPictures( + handle, + pictureHandles, + width, + height, + pictures.length, + ); final RasterResult rasterResult = (await SkwasmCallbackHandler.instance.registerCallback(callbackId)) as RasterResult; final RenderResult result = ( @@ -121,6 +133,10 @@ class SkwasmSurface { return ByteData.sublistView(output); } + void setSkiaResourceCacheMaxBytes(int bytes) { + surfaceSetResourceCacheLimitBytes(handle, bytes); + } + void dispose() { surfaceDestroy(handle); } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_stub/renderer.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_stub/renderer.dart index 06906e85aa07d..9aab0f800a1fa 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_stub/renderer.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/skwasm/skwasm_stub/renderer.dart @@ -11,7 +11,7 @@ import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; -class SkwasmRenderer implements Renderer { +class SkwasmRenderer extends Renderer { bool get isMultiThreaded => false; @override @@ -252,11 +252,6 @@ class SkwasmRenderer implements Renderer { FlutterFontCollection get fontCollection => throw UnimplementedError('Skwasm not implemented on this platform.'); - @override - FutureOr initialize() { - throw UnimplementedError('Skwasm not implemented on this platform.'); - } - @override Future instantiateImageCodec( Uint8List list, { @@ -284,19 +279,12 @@ class SkwasmRenderer implements Renderer { String get rendererTag => throw UnimplementedError('Skwasm not implemented on this platform.'); @override - void clearFragmentProgramCache() => _programs.clear(); - - static final Map> _programs = - >{}; + void clearFragmentProgramCache() => + throw UnimplementedError('Skwasm not implemented on this platform.'); @override Future createFragmentProgram(String assetKey) { - if (_programs.containsKey(assetKey)) { - return _programs[assetKey]!; - } - return _programs[assetKey] = ui_web.assetManager.load(assetKey).then((ByteData data) { - return CkFragmentProgram.fromBytes(assetKey, data.buffer.asUint8List()); - }); + throw UnimplementedError('Skwasm not implemented on this platform.'); } @override @@ -333,7 +321,7 @@ class SkwasmRenderer implements Renderer { } @override - void debugClear() { + void debugResetRasterizer() { throw UnimplementedError('Skwasm not implemented on this platform.'); } } diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/test_embedding.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/test_embedding.dart index b33cc96cac3bd..cc71134d7207d 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/test_embedding.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/test_embedding.dart @@ -15,7 +15,7 @@ const bool _debugLogHistoryActions = false; class TestHistoryEntry { const TestHistoryEntry(this.state, this.title, this.url); - final dynamic state; + final Object? state; final String? title; final String url; @@ -45,7 +45,7 @@ class TestUrlStrategy implements ui_web.UrlStrategy { String getPath() => currentEntry.url; @override - dynamic getState() => currentEntry.state; + Object? getState() => currentEntry.state; int _currentEntryIndex; int get currentEntryIndex => _currentEntryIndex; diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text_fragmenter.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/text_fragmenter.dart similarity index 89% rename from engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text_fragmenter.dart rename to engine/src/flutter/lib/web_ui/lib/src/engine/text_fragmenter.dart index 14c617514f9c9..4072950e7bb9d 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/canvaskit/text_fragmenter.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/text_fragmenter.dart @@ -5,10 +5,9 @@ import 'dart:js_interop'; import 'dart:typed_data'; -import '../dom.dart'; -import '../text/line_breaker.dart'; -import '../util.dart'; -import 'canvaskit_api.dart'; +import 'dom.dart'; +import 'text/line_breaker.dart'; +import 'util.dart'; typedef SegmentationResult = ({Uint32List words, Uint32List graphemes, Uint32List breaks}); @@ -74,22 +73,6 @@ extension SegmentationCacheExtensions on SegmentationCache { } } -/// Injects required ICU data into the [builder]. -/// -/// This should only be used with the CanvasKit Chromium variant that's compiled -/// without ICU data. -void injectClientICU(SkParagraphBuilder builder) { - assert( - canvasKit.ParagraphBuilder.RequiresClientICU(), - 'This method should only be used with the CanvasKit Chromium variant.', - ); - - final SegmentationResult result = segmentText(builder.getText()); - builder.setWordsUtf16(result.words); - builder.setGraphemeBreaksUtf16(result.graphemes); - builder.setLineBreaksUtf16(result.breaks); -} - /// Segments the [text] into words, graphemes and line breaks. /// /// Caches results in [segmentationCache]. diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/util.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/util.dart index 93f950951ac73..bf417f9ecb8a5 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/util.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/util.dart @@ -4,23 +4,21 @@ import 'dart:async'; import 'dart:collection'; -import 'dart:js_interop_unsafe'; +import 'dart:convert'; import 'dart:math' as math; import 'dart:typed_data'; import 'package:meta/meta.dart'; import 'package:ui/ui.dart' as ui; -import 'package:ui/ui_web/src/ui_web.dart' as ui_web; import 'browser_detection.dart' show isIOS15, isMacOrIOS; import 'dom.dart'; -import 'services.dart'; import 'vector_math.dart'; -/// Generic callback signature, used by [_futurize]. +/// Generic callback signature, used by [futurize]. typedef Callback = void Function(T result); -/// Signature for a method that receives a [_Callback]. +/// Signature for a method that receives a [Callback]. /// /// Return value should be null on success, and a string error message on /// failure. @@ -77,15 +75,6 @@ String matrix4ToCssTransform(Matrix4 matrix) { return float64ListToCssTransform(matrix.storage); } -/// Applies a transform to the [element]. -/// -/// See [float64ListToCssTransform] for details on how the CSS value is chosen. -void setElementTransform(DomElement element, Float32List matrix4) { - element.style - ..transformOrigin = '0 0 0' - ..transform = float64ListToCssTransform(matrix4); -} - /// Converts [matrix] to CSS transform value. /// /// To avoid blurry text on some screens this function uses a 2D CSS transform @@ -369,16 +358,6 @@ String colorValueToCssString(int value) { } } -/// Converts color components to a CSS compatible attribute value. -String colorComponentsToCssString(int r, int g, int b, int a) { - if (a == 255) { - return 'rgb($r,$g,$b)'; - } else { - final double alphaRatio = a / 255; - return 'rgba($r,$g,$b,${alphaRatio.toStringAsFixed(2)})'; - } -} - /// From: https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#Syntax /// /// Generic font families are a fallback mechanism, a means of preserving some @@ -456,31 +435,6 @@ Float32List offsetListToFloat32List(List offsetList) { return floatList; } -/// Apply this function to container elements in the HTML render tree (this is -/// not relevant to semantics tree). -/// -/// On WebKit browsers this will apply `z-order: 0` to ensure that clips are -/// applied correctly. Otherwise, the browser will refuse to clip its contents. -/// -/// Other possible fixes that were rejected: -/// -/// * Use 3D transform instead of 2D: this does not work because it causes text -/// blurriness: https://github.com/flutter/flutter/issues/32274 -void applyWebkitClipFix(DomElement? containerElement) { - if (ui_web.browser.browserEngine == ui_web.BrowserEngine.webkit) { - containerElement!.style.zIndex = '0'; - } -} - -/// Roughly the inverse of [ui.Shadow.convertRadiusToSigma]. -/// -/// This does not inverse [ui.Shadow.convertRadiusToSigma] exactly, because on -/// the Web the difference between sigma and blur radius is different from -/// Flutter mobile. -double convertSigmaToRadius(double sigma) { - return sigma * 2.0; -} - int clampInt(int value, int min, int max) { assert(min <= max); if (value < min) { @@ -498,20 +452,6 @@ int clampInt(int value, int min, int max) { /// to verify that warnings are printed under certain circumstances. void Function(String) printWarning = domWindow.console.warn; -/// Converts a 4x4 matrix into a human-readable String. -String matrixString(List matrix) { - final StringBuffer sb = StringBuffer(); - for (int i = 0; i < 16; i++) { - sb.write(matrix[i]); - if ((i + 1) % 4 == 0) { - sb.write('\n'); - } else { - sb.write(' '); - } - } - return sb.toString(); -} - /// Determines if lists [a] and [b] are deep equivalent. /// /// Returns true if the lists are both null, or if they are both non-null, have @@ -583,13 +523,6 @@ bool unorderedListEqual(List? a, List? b) { return wordCounts.isEmpty; } -// HTML only supports a single radius, but Flutter ImageFilter supports separate -// horizontal and vertical radii. The best approximation we can provide is to -// average the two radii together for a single compromise value. -String blurSigmasToCssString(double sigmaX, double sigmaY) { - return 'blur(${(sigmaX + sigmaY) * 0.5}px)'; -} - /// Extensions to [Map] that make it easier to treat it as a JSON object. The /// keys are `dynamic` because when JSON is deserialized from method channels /// it arrives as `Map`. @@ -664,27 +597,6 @@ extension JsonExtensions on Map { } } -/// Extracts view ID from the [MethodCall.arguments] map. -/// -/// Throws if the view ID is not present or if [arguments] is not a map. -int readViewId(Object? arguments) { - final int? viewId = tryViewId(arguments); - if (viewId == null) { - throw Exception('Could not find a `viewId` in the arguments: $arguments'); - } - return viewId; -} - -/// Extracts view ID from the [MethodCall.arguments] map. -/// -/// Returns null if the view ID is not present or if [arguments] is not a map. -int? tryViewId(Object? arguments) { - if (arguments is Map) { - return arguments.tryInt('viewId'); - } - return null; -} - /// Prints a list of bytes in hex format. /// /// Bytes are separated by one space and are padded on the left to always show @@ -710,21 +622,6 @@ void setElementStyle(DomElement element, String name, String? value) { } } -void setClipPath(DomElement element, String? value) { - if (ui_web.browser.browserEngine == ui_web.BrowserEngine.webkit) { - if (value == null) { - element.style.removeProperty('-webkit-clip-path'); - } else { - element.style.setProperty('-webkit-clip-path', value); - } - } - if (value == null) { - element.style.removeProperty('clip-path'); - } else { - element.style.setProperty('clip-path', value); - } -} - void setThemeColor(ui.Color? color) { DomHTMLMetaElement? theme = domDocument.querySelector('#flutterweb-theme') as DomHTMLMetaElement?; @@ -753,49 +650,6 @@ void ensureMetaTag(String name, String content) { } } -bool? _ellipseFeatureDetected; - -/// Draws CanvasElement ellipse with fallback. -void drawEllipse( - DomCanvasRenderingContext2D context, - double centerX, - double centerY, - double radiusX, - double radiusY, - double rotation, - double startAngle, - double endAngle, - bool antiClockwise, -) { - _ellipseFeatureDetected ??= context['ellipse'] != null; - if (_ellipseFeatureDetected!) { - context.ellipse( - centerX, - centerY, - radiusX, - radiusY, - rotation, - startAngle, - endAngle, - antiClockwise, - ); - } else { - context.save(); - context.translate(centerX, centerY); - context.rotate(rotation); - context.scale(radiusX, radiusY); - context.arc(0, 0, 1, startAngle, endAngle, antiClockwise); - context.restore(); - } -} - -/// Removes all children of a DOM node. -void removeAllChildren(DomNode node) { - while (node.lastChild != null) { - node.lastChild!.remove(); - } -} - /// A helper that finds an element in an iterable that satisfy a predicate, or /// returns null otherwise. /// @@ -945,3 +799,24 @@ class BitmapSize { static const BitmapSize zero = BitmapSize(0, 0); } + +String _generateDebugFilename(String filePrefix) { + final now = DateTime.now(); + final String y = now.year.toString().padLeft(4, '0'); + final String mo = now.month.toString().padLeft(2, '0'); + final String d = now.day.toString().padLeft(2, '0'); + final String h = now.hour.toString().padLeft(2, '0'); + final String mi = now.minute.toString().padLeft(2, '0'); + final String s = now.second.toString().padLeft(2, '0'); + return '$filePrefix-$y-$mo-$d-$h-$mi-$s.json'; +} + +void downloadDebugInfo(String filePrefix, Map json) { + final String jsonString = const JsonEncoder.withIndent(' ').convert(json); + final blob = createDomBlob([jsonString], {'type': 'application/json'}); + final url = domWindow.URL.createObjectURL(blob); + final element = domDocument.createElement('a'); + element.setAttribute('href', url); + element.setAttribute('download', _generateDebugFilename(filePrefix)); + element.click(); +} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/code_unit_flags.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/code_unit_flags.dart index 051e64e2a6c35..818c9bbf69066 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/code_unit_flags.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/code_unit_flags.dart @@ -3,7 +3,7 @@ // found in the LICENSE file. import '../canvaskit/canvaskit_api.dart'; -import '../canvaskit/text_fragmenter.dart'; +import '../text_fragmenter.dart'; import 'paragraph.dart'; class CodeUnitFlags { diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/font_collection.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/font_collection.dart new file mode 100644 index 0000000000000..4599a8748f42e --- /dev/null +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/font_collection.dart @@ -0,0 +1,191 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; +import 'dart:typed_data'; + +import 'package:ui/ui_web/src/ui_web.dart' as ui_web; + +import '../dom.dart'; +import '../fonts.dart'; +import '../util.dart'; + +/// This class is responsible for registering and loading fonts. +/// +/// Once an asset manager has been set in the framework, call [loadAssetFonts] with it to register +/// fonts declared in the font manifest. +class WebFontCollection implements FlutterFontCollection { + /// Reads the font manifest using the [ui_web.assetManager] and downloads all of the + /// fonts declared within. + @override + Future loadAssetFonts(FontManifest manifest) async { + final List> pendingFonts = + >[]; + for (final FontFamily family in manifest.families) { + for (final FontAsset fontAsset in family.fontAssets) { + pendingFonts.add(() async { + return ( + fontAsset.asset, + await _loadFontAsset(family.name, fontAsset.asset, fontAsset.descriptors), + ); + }()); + } + } + + final List loadedFonts = []; + final Map fontFailures = {}; + for (final (String asset, FontLoadError? error) in await Future.wait(pendingFonts)) { + if (error == null) { + loadedFonts.add(asset); + } else { + fontFailures[asset] = error; + } + } + return AssetFontsResult(loadedFonts, fontFailures); + } + + @override + Future loadFontFromList(Uint8List list, {String? fontFamily}) async { + if (fontFamily == null) { + printWarning('Font family must be provided to WebFontCollection.'); + return false; + } + return _loadFontFaceBytes(fontFamily, list); + } + + @override + Null get fontFallbackManager => null; + + /// Unregister all fonts that have been registered. + @override + void clear() { + domDocument.fonts!.clear(); + } + + // Regular expression to detect a string with no punctuations. + // For example font family 'Ahem!' does not fall into this category + // so the family name will be wrapped in quotes. + static final RegExp notPunctuation = RegExp(r'[a-z0-9\s]+', caseSensitive: false); + // Regular expression to detect tokens starting with a digit. + // For example font family 'Goudy Bookletter 1911' falls into this + // category. + static final RegExp startWithDigit = RegExp(r'\b\d'); + + /// Registers assets to Flutter Web Engine. + /// + /// Browsers and browsers versions differ significantly on how a valid font + /// family name should be formatted. Notable issues are: + /// + /// Safari 12 and Firefox crash if you create a [DomFontFace] with a font + /// family that is not correct CSS syntax. Font family names with invalid + /// characters are accepted on these browsers, when wrapped it in + /// quotes. + /// + /// Additionally, for Safari 12 to work [DomFontFace] name should be + /// loaded correctly on the first try. + /// + /// A font in Chrome is not usable other than inside a '

' tag, if a + /// [DomFontFace] is loaded wrapped with quotes. Unlike Safari 12 if a + /// valid version of the font is also loaded afterwards it will show + /// that font normally. + /// + /// In Safari 13 the [DomFontFace] should be loaded with unquoted family + /// names. + /// + /// In order to avoid all these browser compatibility issues this method: + /// * Detects the family names that might cause a conflict. + /// * Loads it with the quotes. + /// * Loads it again without the quotes. + /// * For all the other family names [DomFontFace] is loaded only once. + /// + /// See also: + /// + /// * https://developer.mozilla.org/en-US/docs/Web/CSS/font-family#Valid_family_names + /// * https://drafts.csswg.org/css-fonts-3/#font-family-prop + Future _loadFontAsset( + String family, + String asset, + Map descriptors, + ) async { + final List fontFaces = []; + final List errors = []; + try { + if (startWithDigit.hasMatch(family) || notPunctuation.stringMatch(family) != family) { + // Load a font family name with special characters once here wrapped in + // quotes. + fontFaces.add(await _loadFontFace("'$family'", asset, descriptors)); + } + } on FontLoadError catch (error) { + errors.add(error); + } + try { + // Load all fonts, without quoted family names. + fontFaces.add(await _loadFontFace(family, asset, descriptors)); + } on FontLoadError catch (error) { + errors.add(error); + } + if (fontFaces.isEmpty) { + // We failed to load either font face. Return the first error. + return errors.first; + } + + try { + // Since we can't use tear-offs for interop members, this code is faster + // and easier to read with a for loop instead of forEach. + // ignore: prefer_foreach + for (final DomFontFace font in fontFaces) { + domDocument.fonts!.add(font); + } + } catch (e) { + return FontInvalidDataError(asset); + } + return null; + } + + Future _loadFontFace( + String family, + String asset, + Map descriptors, + ) async { + // try/catch because `new FontFace` can crash with an improper font family. + try { + final DomFontFace fontFace = createDomFontFace( + family, + 'url(${ui_web.assetManager.getAssetUrl(asset)})', + descriptors, + ); + return await fontFace.load(); + } catch (e) { + printWarning('Error while loading font family "$family":\n$e'); + throw FontDownloadError(asset, e); + } + } + + // Loads a font from bytes, surfacing errors through the future. + Future _loadFontFaceBytes(String family, Uint8List list) async { + // Since these fonts are loaded by user code, surface the error + // through the returned future. + try { + final DomFontFace fontFace = createDomFontFace(family, list); + if (fontFace.status == 'error') { + // Font failed to load. + return false; + } + domDocument.fonts!.add(fontFace); + + // There might be paragraph measurements for this new font before it is + // loaded. They were measured using fallback fonts, so we should clear the + // cache. + // TODO(rusino): https://github.com/flutter/flutter/issues/168001 + } catch (e) { + // Failures here will throw a DomException. Return false. + printWarning('Failed to load font "$family" from bytes: $e'); + return false; + } + return true; + } + + @override + void debugResetFallbackFonts() {} +} diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/paint.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/paint.dart index d831a02afcdc7..05794ab891e9e 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/paint.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/paint.dart @@ -4,8 +4,8 @@ import 'package:ui/ui.dart' as ui; +import '../canvaskit/canvas.dart'; import '../canvaskit/canvaskit_api.dart'; -import '../canvaskit/canvaskit_canvas.dart'; import '../canvaskit/image.dart'; import '../dom.dart'; import 'debug.dart'; @@ -39,13 +39,7 @@ class TextPaint { } } - void paintLineOnCanvasKit( - CanvasKitCanvas canvas, - TextLayout layout, - TextLine line, - double x, - double y, - ) { + void paintLineOnCanvasKit(CkCanvas canvas, TextLayout layout, TextLine line, double x, double y) { for (final BidiRun run in line.visualRuns) { for (int i = run.clusterRange.start; i < run.clusterRange.end; ++i) { final clusterText = layout.textClusters[i]; @@ -63,7 +57,7 @@ class TextPaint { } void paintCluster( - CanvasKitCanvas canvas, + CkCanvas canvas, ExtendedTextCluster webTextCluster, ui.Offset clusterOffset, ui.Offset lineOffset, diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/paragraph.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/paragraph.dart index 5ae843499288b..0f8d5aa0bac5c 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/paragraph.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/web_paragraph/paragraph.dart @@ -5,7 +5,7 @@ import 'package:meta/meta.dart'; import 'package:ui/ui.dart' as ui; -import '../canvaskit/canvaskit_canvas.dart'; +import '../canvaskit/canvas.dart'; import '../dom.dart'; import 'debug.dart'; import 'layout.dart'; @@ -318,12 +318,14 @@ class WebParagraph implements ui.Paragraph { } // TODO(jlavrova): Delete. - void paintOnCanvasKit(CanvasKitCanvas canvas, ui.Offset offset) { + void paintOnCanvasKit(CkCanvas canvas, ui.Offset offset) { for (final line in _layout.lines) { _paint.paintLineOnCanvasKit(canvas, _layout, line, offset.dx, offset.dy); } } + void paint(ui.Canvas canvas, ui.Offset offset) {} + @override ui.TextRange getLineBoundary(ui.TextPosition position) { return const ui.TextRange(start: 0, end: 0); diff --git a/engine/src/flutter/lib/web_ui/lib/src/engine/window.dart b/engine/src/flutter/lib/web_ui/lib/src/engine/window.dart index d0ffdf7713d68..5e2bf758bef0b 100644 --- a/engine/src/flutter/lib/web_ui/lib/src/engine/window.dart +++ b/engine/src/flutter/lib/web_ui/lib/src/engine/window.dart @@ -625,11 +625,6 @@ final class EngineFlutterWindow extends EngineFlutterView implements ui.Singleto await _useSingleEntryBrowserHistory(); return true; // the following cases assert that arguments are not null - case 'routeUpdated': // deprecated - assert(arguments != null); - await _useSingleEntryBrowserHistory(); - browserHistory.setRouteName(arguments!.tryString('routeName')); - return true; case 'routeInformationUpdated': assert(arguments != null); final String? uriString = arguments!.tryString('uri'); diff --git a/engine/src/flutter/lib/web_ui/pubspec.yaml b/engine/src/flutter/lib/web_ui/pubspec.yaml index 72f1c58db510e..5dbe82f33c9a1 100644 --- a/engine/src/flutter/lib/web_ui/pubspec.yaml +++ b/engine/src/flutter/lib/web_ui/pubspec.yaml @@ -13,9 +13,6 @@ dependencies: web_test_fonts: path: ../../third_party/web_test_fonts - web_unicode: - path: ../../third_party/web_unicode - dev_dependencies: archive: 4.0.3 diff --git a/engine/src/flutter/lib/web_ui/skwasm/BUILD.gn b/engine/src/flutter/lib/web_ui/skwasm/BUILD.gn index d5a875cf8ce7d..dc1ba3c95715a 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/BUILD.gn +++ b/engine/src/flutter/lib/web_ui/skwasm/BUILD.gn @@ -32,6 +32,7 @@ template("skwasm_variant") { "text/paragraph_style.cpp", "text/strut_style.cpp", "text/text_style.cpp", + "text/text_types.h", "vertices.cpp", "wrappers.h", ] @@ -70,7 +71,6 @@ template("skwasm_variant") { if (is_debug) { ldflags += [ - "-sDEMANGLE_SUPPORT=1", "-sASSERTIONS=1", "-sGL_ASSERTIONS=1", ] @@ -79,6 +79,7 @@ template("skwasm_variant") { } deps = [ + "//flutter/display_list", "//flutter/skia", "//flutter/skia/modules/skparagraph", "//flutter/skia/modules/skunicode", diff --git a/engine/src/flutter/lib/web_ui/skwasm/canvas.cpp b/engine/src/flutter/lib/web_ui/skwasm/canvas.cpp index cf53f5e2bd100..973257f6722cd 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/canvas.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/canvas.cpp @@ -4,272 +4,373 @@ #include "export.h" #include "helpers.h" +#include "text/text_types.h" #include "wrappers.h" -#include "third_party/skia/include/core/SkPoint3.h" -#include "third_party/skia/include/core/SkVertices.h" -#include "third_party/skia/include/utils/SkShadowUtils.h" #include "third_party/skia/modules/skparagraph/include/Paragraph.h" -using namespace skia::textlayout; +#include "flutter/display_list/dl_builder.h" +#include "flutter/display_list/dl_text_skia.h" using namespace Skwasm; +using namespace flutter; namespace { -// These numbers have been chosen empirically to give a result closest to the -// material spec. -// These values are also used by the CanvasKit renderer and the native engine. -// See: -// flutter/display_list/skia/dl_sk_dispatcher.cc -// flutter/lib/web_ui/lib/src/engine/canvaskit/util.dart -constexpr SkScalar kShadowAmbientAlpha = 0.039; -constexpr SkScalar kShadowSpotAlpha = 0.25; -constexpr SkScalar kShadowLightRadius = 1.1; -constexpr SkScalar kShadowLightHeight = 600.0; -constexpr SkScalar kShadowLightXOffset = 0; -constexpr SkScalar kShadowLightYOffset = -450; +class SkwasmParagraphPainter : public skia::textlayout::ParagraphPainter { + public: + SkwasmParagraphPainter(DisplayListBuilder& builder, + const std::vector& paints) + : _builder(builder), _paints(paints) {} + + virtual void drawTextBlob(const sk_sp& blob, + SkScalar x, + SkScalar y, + const SkPaintOrID& paint) override { + if (!blob) { + return; + } + + const int* paintID = std::get_if(&paint); + auto dlPaint = paintID ? _paints[*paintID] : DlPaint(); + _builder.DrawText(DlTextSkia::Make(blob), x, y, dlPaint); + } + + virtual void drawTextShadow(const sk_sp& blob, + SkScalar x, + SkScalar y, + SkColor color, + SkScalar blurSigma) override { + if (!blob) { + return; + } + + DlPaint paint; + paint.setColor(DlColor(color)); + if (blurSigma > 0.0) { + DlBlurMaskFilter filter(DlBlurStyle::kNormal, blurSigma, false); + paint.setMaskFilter(&filter); + } + _builder.DrawText(DlTextSkia::Make(blob), x, y, paint); + } + + virtual void drawRect(const SkRect& rect, const SkPaintOrID& paint) override { + const int* paintID = std::get_if(&paint); + auto dlPaint = paintID ? _paints[*paintID] : DlPaint(); + _builder.DrawRect(ToDlRect(rect), dlPaint); + } + + virtual void drawFilledRect(const SkRect& rect, + const DecorationStyle& decorStyle) override { + DlPaint paint = toDlPaint(decorStyle, DlDrawStyle::kFill); + _builder.DrawRect(ToDlRect(rect), paint); + } + + virtual void drawPath(const SkPath& path, + const DecorationStyle& decorStyle) override { + _builder.DrawPath(DlPath(path), toDlPaint(decorStyle)); + } + + virtual void drawLine(SkScalar x0, + SkScalar y0, + SkScalar x1, + SkScalar y1, + const DecorationStyle& decorStyle) override { + auto paint = toDlPaint(decorStyle); + auto dashPathEffect = decorStyle.getDashPathEffect(); + + if (dashPathEffect) { + _builder.DrawDashedLine(DlPoint(x0, y0), DlPoint(x1, y1), + dashPathEffect->fOnLength, + dashPathEffect->fOffLength, paint); + } else { + _builder.DrawLine(DlPoint(x0, y0), DlPoint(x1, y1), paint); + } + } + + virtual void clipRect(const SkRect& rect) override { + _builder.ClipRect(ToDlRect(rect)); + } + + virtual void translate(SkScalar dx, SkScalar dy) override { + _builder.Translate(dx, dy); + } + + virtual void save() override { _builder.Save(); } + + virtual void restore() override { _builder.Restore(); } + + private: + DisplayListBuilder& _builder; + const std::vector& _paints; + + DlPaint toDlPaint(const DecorationStyle& decor_style, + DlDrawStyle draw_style = DlDrawStyle::kStroke) { + DlPaint paint; + paint.setDrawStyle(draw_style); + paint.setAntiAlias(true); + paint.setColor(DlColor(decor_style.getColor())); + paint.setStrokeWidth(decor_style.getStrokeWidth()); + return paint; + } +}; } // namespace -SKWASM_EXPORT void canvas_saveLayer(SkCanvas* canvas, - SkRect* rect, - SkPaint* paint, - SkImageFilter* backdrop, - SkTileMode backdropTileMode) { - canvas->saveLayer(SkCanvas::SaveLayerRec(rect, paint, backdrop, - backdropTileMode, nullptr, 0)); +SKWASM_EXPORT void canvas_saveLayer(DisplayListBuilder* canvas, + DlRect* rect, + DlPaint* paint, + sp_wrapper* backdrop) { + canvas->SaveLayer(rect ? std::optional(*rect) : std::nullopt, paint, + backdrop ? backdrop->raw() : nullptr); } -SKWASM_EXPORT void canvas_save(SkCanvas* canvas) { - canvas->save(); +SKWASM_EXPORT void canvas_save(DisplayListBuilder* canvas) { + canvas->Save(); } -SKWASM_EXPORT void canvas_restore(SkCanvas* canvas) { - canvas->restore(); +SKWASM_EXPORT void canvas_restore(DisplayListBuilder* canvas) { + canvas->Restore(); } -SKWASM_EXPORT void canvas_restoreToCount(SkCanvas* canvas, int count) { - canvas->restoreToCount(count); +SKWASM_EXPORT void canvas_restoreToCount(DisplayListBuilder* canvas, + int count) { + if (count > canvas->GetSaveCount()) { + // According to the docs: + // "If count is greater than the current getSaveCount then nothing happens." + return; + } + canvas->RestoreToCount(count); } -SKWASM_EXPORT int canvas_getSaveCount(SkCanvas* canvas) { - return canvas->getSaveCount(); +SKWASM_EXPORT int canvas_getSaveCount(DisplayListBuilder* canvas) { + return canvas->GetSaveCount(); } -SKWASM_EXPORT void canvas_translate(SkCanvas* canvas, - SkScalar dx, - SkScalar dy) { - canvas->translate(dx, dy); +SKWASM_EXPORT void canvas_translate(DisplayListBuilder* canvas, + float dx, + float dy) { + canvas->Translate(dx, dy); } -SKWASM_EXPORT void canvas_scale(SkCanvas* canvas, SkScalar sx, SkScalar sy) { - canvas->scale(sx, sy); +SKWASM_EXPORT void canvas_scale(DisplayListBuilder* canvas, + float sx, + float sy) { + canvas->Scale(sx, sy); } -SKWASM_EXPORT void canvas_rotate(SkCanvas* canvas, SkScalar degrees) { - canvas->rotate(degrees); +SKWASM_EXPORT void canvas_rotate(DisplayListBuilder* canvas, DlScalar degrees) { + canvas->Rotate(degrees); } -SKWASM_EXPORT void canvas_skew(SkCanvas* canvas, SkScalar sx, SkScalar sy) { - canvas->skew(sx, sy); +SKWASM_EXPORT void canvas_skew(DisplayListBuilder* canvas, + DlScalar sx, + DlScalar sy) { + canvas->Skew(sx, sy); } -SKWASM_EXPORT void canvas_transform(SkCanvas* canvas, const SkM44* matrix44) { - canvas->concat(*matrix44); +SKWASM_EXPORT void canvas_transform(DisplayListBuilder* canvas, + const DlMatrix* matrix44) { + canvas->Transform(*matrix44); } -SKWASM_EXPORT void canvas_clipRect(SkCanvas* canvas, - const SkRect* rect, - SkClipOp op, +SKWASM_EXPORT void canvas_clear(DisplayListBuilder* canvas, uint32_t color) { + canvas->DrawColor(DlColor(color), DlBlendMode::kSrc); +} + +SKWASM_EXPORT void canvas_clipRect(DisplayListBuilder* canvas, + const DlRect* rect, + DlClipOp op, bool antialias) { - canvas->clipRect(*rect, op, antialias); + canvas->ClipRect(*rect, op); } -SKWASM_EXPORT void canvas_clipRRect(SkCanvas* canvas, +SKWASM_EXPORT void canvas_clipRRect(DisplayListBuilder* canvas, const SkScalar* rrectValues, bool antialias) { - canvas->clipRRect(createRRect(rrectValues), antialias); + canvas->ClipRoundRect(createDlRRect(rrectValues), DlClipOp::kIntersect, + antialias); } -SKWASM_EXPORT void canvas_clipPath(SkCanvas* canvas, +SKWASM_EXPORT void canvas_clipPath(DisplayListBuilder* canvas, SkPath* path, bool antialias) { - canvas->clipPath(*path, antialias); + canvas->ClipPath(DlPath(*path), DlClipOp::kIntersect, antialias); } -SKWASM_EXPORT void canvas_drawColor(SkCanvas* canvas, - SkColor color, - SkBlendMode blendMode) { - canvas->drawColor(color, blendMode); +SKWASM_EXPORT void canvas_drawColor(DisplayListBuilder* canvas, + uint32_t color, + DlBlendMode blendMode) { + canvas->DrawColor(DlColor(color), blendMode); } -SKWASM_EXPORT void canvas_drawLine(SkCanvas* canvas, - SkScalar x1, - SkScalar y1, - SkScalar x2, - SkScalar y2, - SkPaint* paint) { - canvas->drawLine(x1, y1, x2, y2, *paint); +SKWASM_EXPORT void canvas_drawLine(DisplayListBuilder* canvas, + DlScalar x1, + DlScalar y1, + DlScalar x2, + DlScalar y2, + DlPaint* paint) { + canvas->DrawLine(DlPoint{x1, y1}, DlPoint{x2, y2}, + paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawPaint(SkCanvas* canvas, SkPaint* paint) { - canvas->drawPaint(*paint); +SKWASM_EXPORT void canvas_drawPaint(DisplayListBuilder* canvas, + DlPaint* paint) { + canvas->DrawPaint(paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawRect(SkCanvas* canvas, - SkRect* rect, - SkPaint* paint) { - canvas->drawRect(*rect, *paint); +SKWASM_EXPORT void canvas_drawRect(DisplayListBuilder* canvas, + DlRect* rect, + DlPaint* paint) { + canvas->DrawRect(*rect, paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawRRect(SkCanvas* canvas, - const SkScalar* rrectValues, - SkPaint* paint) { - canvas->drawRRect(createRRect(rrectValues), *paint); +SKWASM_EXPORT void canvas_drawRRect(DisplayListBuilder* canvas, + const DlScalar* rrectValues, + DlPaint* paint) { + canvas->DrawRoundRect(createDlRRect(rrectValues), paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawDRRect(SkCanvas* canvas, - const SkScalar* outerRrectValues, - const SkScalar* innerRrectValues, - SkPaint* paint) { - canvas->drawDRRect(createRRect(outerRrectValues), - createRRect(innerRrectValues), *paint); +SKWASM_EXPORT void canvas_drawDRRect(DisplayListBuilder* canvas, + const DlScalar* outerRrectValues, + const DlScalar* innerRrectValues, + DlPaint* paint) { + canvas->DrawDiffRoundRect(createDlRRect(outerRrectValues), + createDlRRect(innerRrectValues), + paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawOval(SkCanvas* canvas, - const SkRect* rect, - SkPaint* paint) { - canvas->drawOval(*rect, *paint); +SKWASM_EXPORT void canvas_drawOval(DisplayListBuilder* canvas, + const DlRect* rect, + DlPaint* paint) { + canvas->DrawOval(*rect, paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawCircle(SkCanvas* canvas, - SkScalar x, - SkScalar y, - SkScalar radius, - SkPaint* paint) { - canvas->drawCircle(x, y, radius, *paint); +SKWASM_EXPORT void canvas_drawCircle(DisplayListBuilder* canvas, + DlScalar x, + DlScalar y, + DlScalar radius, + DlPaint* paint) { + canvas->DrawCircle(DlPoint{x, y}, radius, paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawArc(SkCanvas* canvas, - const SkRect* rect, - SkScalar startAngleDegrees, - SkScalar sweepAngleDegrees, +SKWASM_EXPORT void canvas_drawArc(DisplayListBuilder* canvas, + const DlRect* rect, + DlScalar startAngleDegrees, + DlScalar sweepAngleDegrees, bool useCenter, - SkPaint* paint) { - canvas->drawArc(*rect, startAngleDegrees, sweepAngleDegrees, useCenter, - *paint); + DlPaint* paint) { + canvas->DrawArc(*rect, startAngleDegrees, sweepAngleDegrees, useCenter, + paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawPath(SkCanvas* canvas, +SKWASM_EXPORT void canvas_drawPath(DisplayListBuilder* canvas, SkPath* path, - SkPaint* paint) { - canvas->drawPath(*path, *paint); + DlPaint* paint) { + canvas->DrawPath(DlPath(*path), paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawShadow(SkCanvas* canvas, +SKWASM_EXPORT void canvas_drawShadow(DisplayListBuilder* canvas, SkPath* path, - SkScalar elevation, - SkScalar devicePixelRatio, - SkColor color, + DlScalar elevation, + DlScalar devicePixelRatio, + uint32_t color, bool transparentOccluder) { - SkColor inAmbient = - SkColorSetA(color, kShadowAmbientAlpha * SkColorGetA(color)); - SkColor inSpot = SkColorSetA(color, kShadowSpotAlpha * SkColorGetA(color)); - SkColor outAmbient; - SkColor outSpot; - SkShadowUtils::ComputeTonalColors(inAmbient, inSpot, &outAmbient, &outSpot); - uint32_t flags = transparentOccluder - ? SkShadowFlags::kTransparentOccluder_ShadowFlag - : SkShadowFlags::kNone_ShadowFlag; - flags |= SkShadowFlags::kDirectionalLight_ShadowFlag; - SkShadowUtils::DrawShadow( - canvas, *path, SkPoint3::Make(0.0f, 0.0f, elevation * devicePixelRatio), - SkPoint3::Make(kShadowLightXOffset, kShadowLightYOffset, - kShadowLightHeight * devicePixelRatio), - devicePixelRatio * kShadowLightRadius, outAmbient, outSpot, flags); -} - -SKWASM_EXPORT void canvas_drawParagraph(SkCanvas* canvas, + canvas->DrawShadow(DlPath(*path), DlColor(color), elevation, + transparentOccluder, devicePixelRatio); +} + +SKWASM_EXPORT void canvas_drawParagraph(DisplayListBuilder* canvas, Paragraph* paragraph, - SkScalar x, - SkScalar y) { - paragraph->paint(canvas, x, y); + DlScalar x, + DlScalar y) { + auto painter = SkwasmParagraphPainter(*canvas, paragraph->paints); + paragraph->skiaParagraph->paint(&painter, x, y); } -SKWASM_EXPORT void canvas_drawPicture(SkCanvas* canvas, SkPicture* picture) { - canvas->drawPicture(picture); +SKWASM_EXPORT void canvas_drawPicture(DisplayListBuilder* canvas, + DisplayList* picture) { + canvas->DrawDisplayList(sk_ref_sp(picture)); } -SKWASM_EXPORT void canvas_drawImage(SkCanvas* canvas, +SKWASM_EXPORT void canvas_drawImage(DisplayListBuilder* canvas, SkImage* image, - SkScalar offsetX, - SkScalar offsetY, - SkPaint* paint, + DlScalar offsetX, + DlScalar offsetY, + DlPaint* paint, FilterQuality quality) { - canvas->drawImage(image, offsetX, offsetY, samplingOptionsForQuality(quality), - paint); + canvas->DrawImage(DlImage::Make(image), DlPoint{offsetX, offsetY}, + samplingOptionsForQuality(quality), paint); } -SKWASM_EXPORT void canvas_drawImageRect(SkCanvas* canvas, +SKWASM_EXPORT void canvas_drawImageRect(DisplayListBuilder* canvas, SkImage* image, - SkRect* sourceRect, - SkRect* destRect, - SkPaint* paint, + DlRect* sourceRect, + DlRect* destRect, + DlPaint* paint, FilterQuality quality) { - canvas->drawImageRect(image, *sourceRect, *destRect, + canvas->DrawImageRect(DlImage::Make(image), *sourceRect, *destRect, samplingOptionsForQuality(quality), paint, - SkCanvas::kStrict_SrcRectConstraint); + DlSrcRectConstraint::kStrict); } -SKWASM_EXPORT void canvas_drawImageNine(SkCanvas* canvas, +SKWASM_EXPORT void canvas_drawImageNine(DisplayListBuilder* canvas, SkImage* image, - SkIRect* centerRect, - SkRect* destinationRect, - SkPaint* paint, + DlIRect* centerRect, + DlRect* destinationRect, + DlPaint* paint, FilterQuality quality) { - canvas->drawImageNine(image, *centerRect, *destinationRect, + canvas->DrawImageNine(DlImage::Make(image), *centerRect, *destinationRect, filterModeForQuality(quality), paint); } -SKWASM_EXPORT void canvas_drawVertices(SkCanvas* canvas, - SkVertices* vertices, - SkBlendMode mode, - SkPaint* paint) { - canvas->drawVertices(sk_ref_sp(vertices), mode, *paint); +SKWASM_EXPORT void canvas_drawVertices(DisplayListBuilder* canvas, + sp_wrapper* vertices, + DlBlendMode mode, + DlPaint* paint) { + canvas->DrawVertices(vertices->shared(), mode, paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawPoints(SkCanvas* canvas, - SkCanvas::PointMode mode, - SkPoint* points, +SKWASM_EXPORT void canvas_drawPoints(DisplayListBuilder* canvas, + DlPointMode mode, + DlPoint* points, int pointCount, - SkPaint* paint) { - canvas->drawPoints(mode, pointCount, points, *paint); + DlPaint* paint) { + canvas->DrawPoints(mode, pointCount, points, paint ? *paint : DlPaint()); } -SKWASM_EXPORT void canvas_drawAtlas(SkCanvas* canvas, +SKWASM_EXPORT void canvas_drawAtlas(DisplayListBuilder* canvas, SkImage* atlas, - SkRSXform* transforms, - SkRect* rects, - SkColor* colors, + DlRSTransform* transforms, + DlRect* rects, + uint32_t* colors, int spriteCount, - SkBlendMode mode, - SkRect* cullRect, - SkPaint* paint) { - canvas->drawAtlas( - atlas, transforms, rects, colors, spriteCount, mode, - SkSamplingOptions{SkFilterMode::kLinear, SkMipmapMode::kNone}, cullRect, - paint); + DlBlendMode mode, + DlRect* cullRect, + DlPaint* paint) { + std::vector dlColors(spriteCount); + for (int i = 0; i < spriteCount; i++) { + dlColors[i] = DlColor(colors[i]); + } + canvas->DrawAtlas( + DlImage::Make(atlas), transforms, rects, dlColors.data(), spriteCount, + mode, samplingOptionsForQuality(FilterQuality::medium), cullRect, paint); +} + +SKWASM_EXPORT void canvas_getTransform(DisplayListBuilder* canvas, + DlMatrix* outTransform) { + *outTransform = canvas->GetMatrix(); } -SKWASM_EXPORT void canvas_getTransform(SkCanvas* canvas, SkM44* outTransform) { - *outTransform = canvas->getLocalToDevice(); +SKWASM_EXPORT void canvas_getLocalClipBounds(DisplayListBuilder* canvas, + DlRect* outRect) { + *outRect = canvas->GetLocalClipCoverage(); } -SKWASM_EXPORT void canvas_getLocalClipBounds(SkCanvas* canvas, - SkRect* outRect) { - *outRect = canvas->getLocalClipBounds(); +SKWASM_EXPORT void canvas_getDeviceClipBounds(DisplayListBuilder* canvas, + DlIRect* outRect) { + *outRect = DlIRect::RoundOut(canvas->GetDestinationClipCoverage()); } -SKWASM_EXPORT void canvas_getDeviceClipBounds(SkCanvas* canvas, - SkIRect* outRect) { - *outRect = canvas->getDeviceClipBounds(); +SKWASM_EXPORT bool canvas_quickReject(DisplayListBuilder* canvas, + DlRect* rect) { + return canvas->QuickReject(*rect); } diff --git a/engine/src/flutter/lib/web_ui/skwasm/filters.cpp b/engine/src/flutter/lib/web_ui/skwasm/filters.cpp index e68554544b2f2..388cd6818e569 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/filters.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/filters.cpp @@ -6,112 +6,121 @@ #include "helpers.h" #include "live_objects.h" -#include "third_party/skia/include/core/SkColorFilter.h" -#include "third_party/skia/include/core/SkMaskFilter.h" -#include "third_party/skia/include/effects/SkImageFilters.h" +#include "flutter/display_list/effects/dl_color_filter.h" +#include "flutter/display_list/effects/dl_image_filter.h" +#include "flutter/display_list/effects/dl_mask_filter.h" using namespace Skwasm; +using namespace flutter; -SKWASM_EXPORT SkImageFilter* imageFilter_createBlur(SkScalar sigmaX, - SkScalar sigmaY, - SkTileMode tileMode) { +SKWASM_EXPORT sp_wrapper* +imageFilter_createBlur(DlScalar sigmaX, DlScalar sigmaY, DlTileMode tileMode) { liveImageFilterCount++; - return SkImageFilters::Blur(sigmaX, sigmaY, tileMode, nullptr).release(); + return new sp_wrapper( + DlImageFilter::MakeBlur(sigmaX, sigmaY, tileMode)); } -SKWASM_EXPORT SkImageFilter* imageFilter_createDilate(SkScalar radiusX, - SkScalar radiusY) { +SKWASM_EXPORT sp_wrapper* imageFilter_createDilate( + DlScalar radiusX, + DlScalar radiusY) { liveImageFilterCount++; - return SkImageFilters::Dilate(radiusX, radiusY, nullptr).release(); + return new sp_wrapper( + DlImageFilter::MakeDilate(radiusX, radiusY)); } -SKWASM_EXPORT SkImageFilter* imageFilter_createErode(SkScalar radiusX, - SkScalar radiusY) { +SKWASM_EXPORT sp_wrapper* imageFilter_createErode( + DlScalar radiusX, + DlScalar radiusY) { liveImageFilterCount++; - return SkImageFilters::Erode(radiusX, radiusY, nullptr).release(); + return new sp_wrapper( + DlImageFilter::MakeErode(radiusX, radiusY)); } -SKWASM_EXPORT SkImageFilter* imageFilter_createMatrix(SkScalar* matrix33, - FilterQuality quality) { +SKWASM_EXPORT sp_wrapper* imageFilter_createMatrix( + DlScalar* matrix33, + FilterQuality quality) { liveImageFilterCount++; - return SkImageFilters::MatrixTransform(createMatrix(matrix33), - samplingOptionsForQuality(quality), - nullptr) - .release(); + return new sp_wrapper(DlImageFilter::MakeMatrix( + createDlMatrixFrom3x3(matrix33), samplingOptionsForQuality(quality))); } -SKWASM_EXPORT SkImageFilter* imageFilter_createFromColorFilter( - SkColorFilter* filter) { +SKWASM_EXPORT sp_wrapper* imageFilter_createFromColorFilter( + sp_wrapper* filter) { liveImageFilterCount++; - return SkImageFilters::ColorFilter(sk_ref_sp(filter), nullptr) - .release(); + return new sp_wrapper( + DlImageFilter::MakeColorFilter(filter->shared())); } -SKWASM_EXPORT SkImageFilter* imageFilter_compose(SkImageFilter* outer, - SkImageFilter* inner) { +SKWASM_EXPORT sp_wrapper* imageFilter_compose( + sp_wrapper* outer, + sp_wrapper* inner) { liveImageFilterCount++; - - return SkImageFilters::Compose(sk_ref_sp(outer), - sk_ref_sp(inner)) - .release(); + return new sp_wrapper( + DlImageFilter::MakeCompose(outer->shared(), inner->shared())); } -SKWASM_EXPORT void imageFilter_dispose(SkImageFilter* filter) { +SKWASM_EXPORT void imageFilter_dispose(sp_wrapper* filter) { liveImageFilterCount--; - filter->unref(); + delete filter; } -SKWASM_EXPORT void imageFilter_getFilterBounds(SkImageFilter* filter, - SkIRect* inOutBounds) { - SkIRect outputRect = - filter->filterBounds(*inOutBounds, SkMatrix(), - SkImageFilter::MapDirection::kForward_MapDirection); - *inOutBounds = outputRect; +SKWASM_EXPORT void imageFilter_getFilterBounds( + sp_wrapper* filter, + DlIRect* inOutBounds) { + auto dlFilter = filter->shared(); + if (dlFilter == nullptr) { + // If there is no filter, the output bounds are the same as the input + // bounds. + return; + } + DlIRect inRect = *inOutBounds; + dlFilter->map_device_bounds(inRect, DlMatrix(), *inOutBounds); } -SKWASM_EXPORT SkColorFilter* colorFilter_createMode(SkColor color, - SkBlendMode mode) { +SKWASM_EXPORT sp_wrapper* colorFilter_createMode( + uint32_t color, + DlBlendMode mode) { liveColorFilterCount++; - return SkColorFilters::Blend(color, mode).release(); + return new sp_wrapper( + DlColorFilter::MakeBlend(DlColor(color), mode)); } -SKWASM_EXPORT SkColorFilter* colorFilter_createMatrix( +SKWASM_EXPORT sp_wrapper* colorFilter_createMatrix( float* matrixData // 20 values ) { liveColorFilterCount++; - return SkColorFilters::Matrix(matrixData).release(); -} - -SKWASM_EXPORT SkColorFilter* colorFilter_createSRGBToLinearGamma() { - liveColorFilterCount++; - return SkColorFilters::SRGBToLinearGamma().release(); + return new sp_wrapper( + DlColorFilter::MakeMatrix(matrixData)); } -SKWASM_EXPORT SkColorFilter* colorFilter_createLinearToSRGBGamma() { +SKWASM_EXPORT sp_wrapper* +colorFilter_createSRGBToLinearGamma() { liveColorFilterCount++; - return SkColorFilters::LinearToSRGBGamma().release(); + return new sp_wrapper( + DlColorFilter::MakeSrgbToLinearGamma()); } -SKWASM_EXPORT SkColorFilter* colorFilter_compose(SkColorFilter* outer, - SkColorFilter* inner) { +SKWASM_EXPORT sp_wrapper* +colorFilter_createLinearToSRGBGamma() { liveColorFilterCount++; - return SkColorFilters::Compose(sk_ref_sp(outer), - sk_ref_sp(inner)) - .release(); + return new sp_wrapper( + DlColorFilter::MakeLinearToSrgbGamma()); } -SKWASM_EXPORT void colorFilter_dispose(SkColorFilter* filter) { +SKWASM_EXPORT void colorFilter_dispose( + sp_wrapper* filter) { liveColorFilterCount--; - filter->unref(); + delete filter; } -SKWASM_EXPORT SkMaskFilter* maskFilter_createBlur(SkBlurStyle blurStyle, - SkScalar sigma) { +SKWASM_EXPORT sp_wrapper* maskFilter_createBlur( + DlBlurStyle blurStyle, + DlScalar sigma) { liveMaskFilterCount++; - return SkMaskFilter::MakeBlur(blurStyle, sigma).release(); + return new sp_wrapper(DlBlurMaskFilter::Make(blurStyle, sigma)); } -SKWASM_EXPORT void maskFilter_dispose(SkMaskFilter* filter) { +SKWASM_EXPORT void maskFilter_dispose(sp_wrapper* filter) { liveMaskFilterCount--; - filter->unref(); + delete filter; } diff --git a/engine/src/flutter/lib/web_ui/skwasm/helpers.h b/engine/src/flutter/lib/web_ui/skwasm/helpers.h index 84eb7d411aa43..08a3d1a859603 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/helpers.h +++ b/engine/src/flutter/lib/web_ui/skwasm/helpers.h @@ -5,21 +5,68 @@ #ifndef FLUTTER_LIB_WEB_UI_SKWASM_HELPERS_H_ #define FLUTTER_LIB_WEB_UI_SKWASM_HELPERS_H_ +#include "flutter/display_list/dl_sampling_options.h" +#include "flutter/display_list/geometry/dl_geometry_types.h" + #include "third_party/skia/include/core/SkMatrix.h" #include "third_party/skia/include/core/SkRRect.h" #include "third_party/skia/include/core/SkSamplingOptions.h" namespace Skwasm { -inline SkMatrix createMatrix(const SkScalar* f) { +template +class sp_wrapper { + public: + sp_wrapper(std::shared_ptr ptr) : _ptr(std::move(ptr)) {} + + const std::shared_ptr& shared() { return _ptr; } + + T* raw() { return _ptr.get(); } + + private: + std::shared_ptr _ptr; +}; + +inline flutter::DlMatrix createDlMatrixFrom3x3(const flutter::DlScalar* f) { + // clang-format off + return flutter::DlMatrix( + f[0], f[3], 0, f[6], + f[1], f[4], 0, f[7], + 0, 0, 1, 0, + f[2], f[5], 0, f[8] + ); + // clang-format on +} + +inline SkMatrix createSkMatrix(const SkScalar* f) { return SkMatrix::MakeAll(f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7], f[8]); } -inline SkRRect createRRect(const SkScalar* f) { +inline flutter::DlRect createDlRect(const float* f) { + return flutter::DlRect::MakeLTRB(f[0], f[1], f[2], f[3]); +} + +inline flutter::DlRoundingRadii createDlRadii(const float* f) { + // Flutter has radii in TL,TR,BR,BL (clockwise) order, + // but Impeller uses TL,TR,BL,BR (zig-zag) order + impeller::RoundingRadii radii = { + .top_left = flutter::DlSize(f[0], f[1]), + .top_right = flutter::DlSize(f[2], f[3]), + .bottom_left = flutter::DlSize(f[6], f[7]), + .bottom_right = flutter::DlSize(f[4], f[5]), + }; + return radii; +} + +inline flutter::DlRoundRect createDlRRect(const float* f) { + return flutter::DlRoundRect::MakeRectRadii(createDlRect(f), + createDlRadii(f + 4)); +} + +inline SkRRect createSkRRect(const SkScalar* f) { const SkRect* rect = reinterpret_cast(f); const SkVector* radiiValues = reinterpret_cast(f + 4); - SkRRect rr; rr.setRectRadii(*rect, radiiValues); return rr; @@ -33,29 +80,28 @@ enum class FilterQuality { high, }; -inline SkFilterMode filterModeForQuality(FilterQuality quality) { +inline flutter::DlFilterMode filterModeForQuality(FilterQuality quality) { switch (quality) { case FilterQuality::none: + return flutter::DlFilterMode::kNearest; case FilterQuality::low: - return SkFilterMode::kNearest; case FilterQuality::medium: case FilterQuality::high: - return SkFilterMode::kLinear; + return flutter::DlFilterMode::kLinear; } } -inline SkSamplingOptions samplingOptionsForQuality(FilterQuality quality) { +inline flutter::DlImageSampling samplingOptionsForQuality( + FilterQuality quality) { switch (quality) { case FilterQuality::none: - return SkSamplingOptions(SkFilterMode::kNearest, SkMipmapMode::kNone); + return flutter::DlImageSampling::kNearestNeighbor; case FilterQuality::low: - return SkSamplingOptions(SkFilterMode::kLinear, SkMipmapMode::kNone); + return flutter::DlImageSampling::kLinear; case FilterQuality::medium: - return SkSamplingOptions(SkFilterMode::kLinear, SkMipmapMode::kLinear); + return flutter::DlImageSampling::kMipmapLinear; case FilterQuality::high: - // Cubic equation coefficients recommended by Mitchell & Netravali - // in their paper on cubic interpolation. - return SkSamplingOptions(SkCubicResampler::Mitchell()); + return flutter::DlImageSampling::kCubic; } } } // namespace Skwasm diff --git a/engine/src/flutter/lib/web_ui/skwasm/image.cpp b/engine/src/flutter/lib/web_ui/skwasm/image.cpp index 2c22fb0d18d56..cc37230fac65b 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/image.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/image.cpp @@ -8,11 +8,15 @@ #include "surface.h" #include "wrappers.h" +#include "flutter/display_list/geometry/dl_geometry_conversions.h" +#include "flutter/display_list/skia/dl_sk_dispatcher.h" + #include "third_party/skia/include/core/SkColorSpace.h" #include "third_party/skia/include/core/SkData.h" #include "third_party/skia/include/core/SkImage.h" #include "third_party/skia/include/core/SkImageInfo.h" #include "third_party/skia/include/core/SkPicture.h" +#include "third_party/skia/include/core/SkPictureRecorder.h" #include "third_party/skia/include/gpu/GpuTypes.h" #include "third_party/skia/include/gpu/ganesh/GrBackendSurface.h" #include "third_party/skia/include/gpu/ganesh/GrDirectContext.h" @@ -28,6 +32,7 @@ #include using namespace SkImages; +using namespace flutter; namespace { @@ -114,12 +119,18 @@ class TextureSourceImageGenerator : public GrExternalTextureGenerator { std::unique_ptr _textureSourceWrapper; }; -SKWASM_EXPORT SkImage* image_createFromPicture(SkPicture* picture, +SKWASM_EXPORT SkImage* image_createFromPicture(DisplayList* displayList, int32_t width, int32_t height) { liveImageCount++; - return DeferredFromPicture(sk_ref_sp(picture), {width, height}, - nullptr, nullptr, BitDepth::kU8, + SkPictureRecorder recorder; + SkCanvas* canvas = + recorder.beginRecording(ToSkRect(displayList->GetBounds())); + DlSkCanvasDispatcher dispatcher(canvas); + dispatcher.drawDisplayList(sk_ref_sp(displayList), 1.0f); + + return DeferredFromPicture(recorder.finishRecordingAsPicture(), + {width, height}, nullptr, nullptr, BitDepth::kU8, SkColorSpace::MakeSRGB()) .release(); } diff --git a/engine/src/flutter/lib/web_ui/skwasm/library_skwasm_support.js b/engine/src/flutter/lib/web_ui/skwasm/library_skwasm_support.js index 40d416134d727..75c16f51a6a2f 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/library_skwasm_support.js +++ b/engine/src/flutter/lib/web_ui/skwasm/library_skwasm_support.js @@ -95,6 +95,8 @@ mergeInto(LibraryManager.library, { _surface_renderPicturesOnWorker( data.surface, data.pictures, + data.width, + data.height, data.pictureCount, data.callbackId, skwasm_getCurrentTimestamp()); @@ -144,11 +146,13 @@ mergeInto(LibraryManager.library, { }; skwasm_registerMessageListener(threadId, eventListener); }; - _skwasm_dispatchRenderPictures = function(threadId, surfaceHandle, pictures, pictureCount, callbackId) { + _skwasm_dispatchRenderPictures = function (threadId, surfaceHandle, pictures, width, height, pictureCount, callbackId) { skwasm_postMessage({ skwasmMessage: 'renderPictures', surface: surfaceHandle, pictures, + width, + height, pictureCount, callbackId, }, [], threadId); @@ -176,14 +180,14 @@ mergeInto(LibraryManager.library, { canvas.width = width; canvas.height = height; }; - _skwasm_captureImageBitmap = function(contextHandle, width, height, imagePromises) { - if (!imagePromises) imagePromises = Array(); + _skwasm_captureImageBitmap = function (contextHandle, imageBitmaps) { + if (!imageBitmaps) imageBitmaps = Array(); const canvas = handleToCanvasMap.get(contextHandle); - imagePromises.push(createImageBitmap(canvas, 0, 0, width, height)); - return imagePromises; + imageBitmaps.push(canvas.transferToImageBitmap()); + return imageBitmaps; }; - _skwasm_resolveAndPostImages = async function(surfaceHandle, imagePromises, rasterStart, callbackId) { - const imageBitmaps = imagePromises ? await Promise.all(imagePromises) : []; + _skwasm_resolveAndPostImages = async function (surfaceHandle, imageBitmaps, rasterStart, callbackId) { + if (!imageBitmaps) imageBitmaps = Array(); const rasterEnd = skwasm_getCurrentTimestamp(); skwasm_postMessage({ skwasmMessage: 'onRenderComplete', diff --git a/engine/src/flutter/lib/web_ui/skwasm/paint.cpp b/engine/src/flutter/lib/web_ui/skwasm/paint.cpp index cc5d508e3d4c8..aed5e4c3d794d 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/paint.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/paint.cpp @@ -5,56 +5,58 @@ #include "export.h" #include "helpers.h" #include "live_objects.h" -#include "third_party/skia/include/core/SkColorFilter.h" -#include "third_party/skia/include/core/SkImageFilter.h" -#include "third_party/skia/include/core/SkMaskFilter.h" -#include "third_party/skia/include/core/SkPaint.h" -#include "third_party/skia/include/core/SkShader.h" -using namespace Skwasm; +#include "flutter/display_list/dl_paint.h" +#include "flutter/display_list/geometry/dl_geometry_types.h" -SKWASM_EXPORT SkPaint* paint_create(bool isAntiAlias, - SkBlendMode blendMode, - SkColor color, - SkPaint::Style style, - SkScalar strokeWidth, - SkPaint::Cap strokeCap, - SkPaint::Join strokeJoin, - SkScalar strokeMiterLimit) { +using namespace Skwasm; +using namespace flutter; + +SKWASM_EXPORT DlPaint* paint_create(bool isAntiAlias, + DlBlendMode blendMode, + uint32_t color, + DlDrawStyle style, + DlScalar strokeWidth, + DlStrokeCap strokeCap, + DlStrokeJoin strokeJoin, + DlScalar strokeMiterLimit, + bool invertColors) { livePaintCount++; - auto paint = new SkPaint(); + auto paint = new DlPaint(); paint->setAntiAlias(isAntiAlias); paint->setBlendMode(blendMode); - paint->setStyle(style); + paint->setDrawStyle(style); paint->setStrokeWidth(strokeWidth); paint->setStrokeCap(strokeCap); paint->setStrokeJoin(strokeJoin); - paint->setColor(color); + paint->setColor(DlColor(color)); paint->setStrokeMiter(strokeMiterLimit); + paint->setInvertColors(invertColors); return paint; } -SKWASM_EXPORT void paint_dispose(SkPaint* paint) { +SKWASM_EXPORT void paint_dispose(DlPaint* paint) { livePaintCount--; delete paint; } -SKWASM_EXPORT void paint_setShader(SkPaint* paint, SkShader* shader) { - paint->setShader(sk_ref_sp(shader)); -} - -SKWASM_EXPORT void paint_setDither(SkPaint* paint, bool isDither) { - paint->setDither(isDither); +SKWASM_EXPORT void paint_setShader(DlPaint* paint, + sp_wrapper* shader) { + paint->setColorSource(shader->shared()); } -SKWASM_EXPORT void paint_setImageFilter(SkPaint* paint, SkImageFilter* filter) { - paint->setImageFilter(sk_ref_sp(filter)); +SKWASM_EXPORT void paint_setImageFilter(DlPaint* paint, + sp_wrapper* filter) { + paint->setImageFilter(filter->shared()); } -SKWASM_EXPORT void paint_setColorFilter(SkPaint* paint, SkColorFilter* filter) { - paint->setColorFilter(sk_ref_sp(filter)); +SKWASM_EXPORT void paint_setColorFilter( + DlPaint* paint, + sp_wrapper* filter) { + paint->setColorFilter(filter->shared()); } -SKWASM_EXPORT void paint_setMaskFilter(SkPaint* paint, SkMaskFilter* filter) { - paint->setMaskFilter(sk_ref_sp(filter)); +SKWASM_EXPORT void paint_setMaskFilter(DlPaint* paint, + sp_wrapper* filter) { + paint->setMaskFilter(filter->shared()); } diff --git a/engine/src/flutter/lib/web_ui/skwasm/path.cpp b/engine/src/flutter/lib/web_ui/skwasm/path.cpp index 73d7fb31311c6..e59e9f4e141e7 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/path.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/path.cpp @@ -158,14 +158,14 @@ SKWASM_EXPORT void path_addPolygon(SkPath* path, } SKWASM_EXPORT void path_addRRect(SkPath* path, const SkScalar* rrectValues) { - path->addRRect(createRRect(rrectValues), SkPathDirection::kCW); + path->addRRect(createSkRRect(rrectValues), SkPathDirection::kCW); } SKWASM_EXPORT void path_addPath(SkPath* path, const SkPath* other, const SkScalar* matrix33, SkPath::AddPathMode extendPath) { - path->addPath(*other, createMatrix(matrix33), extendPath); + path->addPath(*other, createSkMatrix(matrix33), extendPath); } SKWASM_EXPORT void path_close(SkPath* path) { @@ -181,7 +181,7 @@ SKWASM_EXPORT bool path_contains(SkPath* path, SkScalar x, SkScalar y) { } SKWASM_EXPORT void path_transform(SkPath* path, const SkScalar* matrix33) { - path->transform(createMatrix(matrix33)); + path->transform(createSkMatrix(matrix33)); } SKWASM_EXPORT void path_getBounds(SkPath* path, SkRect* rect) { diff --git a/engine/src/flutter/lib/web_ui/skwasm/picture.cpp b/engine/src/flutter/lib/web_ui/skwasm/picture.cpp index 9596f1dca90b7..ba6f5947c6e3b 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/picture.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/picture.cpp @@ -5,46 +5,62 @@ #include "export.h" #include "helpers.h" #include "live_objects.h" -#include "third_party/skia/include/core/SkBBHFactory.h" -#include "third_party/skia/include/core/SkPicture.h" -#include "third_party/skia/include/core/SkPictureRecorder.h" #include "wrappers.h" +#include "flutter/display_list/dl_builder.h" + +#include + using namespace Skwasm; +using namespace flutter; + +class PictureRecorder { + public: + PictureRecorder() {}; + + DisplayListBuilder* beginRecording(const DlRect& cullRect) { + assert(!_builder); + _builder = std::make_unique(cullRect); + return _builder.get(); + } + + sk_sp finishRecordingAsPicture() { return _builder->Build(); } -SkRTreeFactory bbhFactory; + private: + std::unique_ptr _builder; +}; -SKWASM_EXPORT SkPictureRecorder* pictureRecorder_create() { +SKWASM_EXPORT PictureRecorder* pictureRecorder_create() { livePictureRecorderCount++; - return new SkPictureRecorder(); + return new PictureRecorder(); } -SKWASM_EXPORT void pictureRecorder_dispose(SkPictureRecorder* recorder) { +SKWASM_EXPORT void pictureRecorder_dispose(PictureRecorder* recorder) { livePictureRecorderCount--; delete recorder; } -SKWASM_EXPORT SkCanvas* pictureRecorder_beginRecording( - SkPictureRecorder* recorder, - const SkRect* cullRect) { - return recorder->beginRecording(*cullRect, &bbhFactory); +SKWASM_EXPORT DisplayListBuilder* pictureRecorder_beginRecording( + PictureRecorder* recorder, + const DlRect* cullRect) { + return recorder->beginRecording(*cullRect); } -SKWASM_EXPORT SkPicture* pictureRecorder_endRecording( - SkPictureRecorder* recorder) { +SKWASM_EXPORT DisplayList* pictureRecorder_endRecording( + PictureRecorder* recorder) { livePictureCount++; return recorder->finishRecordingAsPicture().release(); } -SKWASM_EXPORT void picture_getCullRect(SkPicture* picture, SkRect* outRect) { - *outRect = picture->cullRect(); +SKWASM_EXPORT void picture_getCullRect(DisplayList* picture, DlRect* outRect) { + *outRect = picture->GetBounds(); } -SKWASM_EXPORT void picture_dispose(SkPicture* picture) { +SKWASM_EXPORT void picture_dispose(DisplayList* picture) { livePictureCount--; picture->unref(); } -SKWASM_EXPORT uint32_t picture_approximateBytesUsed(SkPicture* picture) { - return static_cast(picture->approximateBytesUsed()); +SKWASM_EXPORT uint32_t picture_approximateBytesUsed(DisplayList* picture) { + return static_cast(picture->bytes()); } diff --git a/engine/src/flutter/lib/web_ui/skwasm/shaders.cpp b/engine/src/flutter/lib/web_ui/skwasm/shaders.cpp index 824775f8be71c..004f4676c5806 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/shaders.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/shaders.cpp @@ -5,107 +5,132 @@ #include "export.h" #include "helpers.h" #include "live_objects.h" +#include "wrappers.h" + +#include "flutter/display_list/effects/dl_color_source.h" +#include "flutter/display_list/effects/dl_runtime_effect_skia.h" #include "third_party/skia/include/core/SkImage.h" -#include "third_party/skia/include/effects/SkGradientShader.h" #include "third_party/skia/include/effects/SkRuntimeEffect.h" -#include "wrappers.h" using namespace Skwasm; +using namespace flutter; -SKWASM_EXPORT SkShader* shader_createLinearGradient( - SkPoint* endPoints, // Two points - SkColor* colors, - SkScalar* stops, +namespace Skwasm { +struct UniformData { + std::shared_ptr> data; +}; +} // namespace Skwasm + +SKWASM_EXPORT sp_wrapper* shader_createLinearGradient( + DlPoint* endPoints, // Two points + uint32_t* colors, + DlScalar* stops, int count, // Number of stops/colors - SkTileMode tileMode, - SkScalar* matrix33 // Can be nullptr + DlTileMode tileMode, + DlScalar* matrix33 // Can be nullptr ) { liveShaderCount++; + std::vector dlColors; + dlColors.resize(count); + for (int i = 0; i < count; i++) { + dlColors[i] = DlColor(colors[i]); + } if (matrix33) { - SkMatrix localMatrix = createMatrix(matrix33); - return SkGradientShader::MakeLinear(endPoints, colors, stops, count, - tileMode, 0, &localMatrix) - .release(); + auto matrix = createDlMatrixFrom3x3(matrix33); + return new sp_wrapper( + DlColorSource::MakeLinear(endPoints[0], endPoints[1], count, + dlColors.data(), stops, tileMode, &matrix)); } else { - return SkGradientShader::MakeLinear(endPoints, colors, stops, count, - tileMode) - .release(); + return new sp_wrapper(DlColorSource::MakeLinear( + endPoints[0], endPoints[1], count, dlColors.data(), stops, tileMode)); } } -SKWASM_EXPORT SkShader* shader_createRadialGradient(SkScalar centerX, - SkScalar centerY, - SkScalar radius, - SkColor* colors, - SkScalar* stops, - int count, - SkTileMode tileMode, - SkScalar* matrix33) { +SKWASM_EXPORT sp_wrapper* shader_createRadialGradient( + DlScalar centerX, + DlScalar centerY, + DlScalar radius, + uint32_t* colors, + DlScalar* stops, + int count, + DlTileMode tileMode, + DlScalar* matrix33) { liveShaderCount++; + std::vector dlColors; + dlColors.resize(count); + for (int i = 0; i < count; i++) { + dlColors[i] = DlColor(colors[i]); + } if (matrix33) { - SkMatrix localMatrix = createMatrix(matrix33); - return SkGradientShader::MakeRadial({centerX, centerY}, radius, colors, - stops, count, tileMode, 0, &localMatrix) - .release(); + auto localMatrix = createDlMatrixFrom3x3(matrix33); + return new sp_wrapper(DlColorSource::MakeRadial( + DlPoint{centerX, centerY}, radius, count, dlColors.data(), stops, + tileMode, &localMatrix)); } else { - return SkGradientShader::MakeRadial({centerX, centerY}, radius, colors, - stops, count, tileMode) - .release(); + return new sp_wrapper( + DlColorSource::MakeRadial(DlPoint{centerX, centerY}, radius, count, + dlColors.data(), stops, tileMode)); } } -SKWASM_EXPORT SkShader* shader_createConicalGradient( - SkPoint* endPoints, // Two points - SkScalar startRadius, - SkScalar endRadius, - SkColor* colors, - SkScalar* stops, +SKWASM_EXPORT sp_wrapper* shader_createConicalGradient( + DlPoint* endPoints, // Two points + DlScalar startRadius, + DlScalar endRadius, + uint32_t* colors, + DlScalar* stops, int count, - SkTileMode tileMode, - SkScalar* matrix33) { + DlTileMode tileMode, + DlScalar* matrix33) { liveShaderCount++; + std::vector dlColors; + dlColors.resize(count); + for (int i = 0; i < count; i++) { + dlColors[i] = DlColor(colors[i]); + } if (matrix33) { - SkMatrix localMatrix = createMatrix(matrix33); - return SkGradientShader::MakeTwoPointConical( - endPoints[0], startRadius, endPoints[1], endRadius, colors, - stops, count, tileMode, 0, &localMatrix) - .release(); - + auto localMatrix = createDlMatrixFrom3x3(matrix33); + return new sp_wrapper(DlColorSource::MakeConical( + endPoints[0], startRadius, endPoints[1], endRadius, count, + dlColors.data(), stops, tileMode, &localMatrix)); } else { - return SkGradientShader::MakeTwoPointConical(endPoints[0], startRadius, - endPoints[1], endRadius, - colors, stops, count, tileMode) - .release(); + return new sp_wrapper(DlColorSource::MakeConical( + endPoints[0], startRadius, endPoints[1], endRadius, count, + dlColors.data(), stops, tileMode)); } } -SKWASM_EXPORT SkShader* shader_createSweepGradient(SkScalar centerX, - SkScalar centerY, - SkColor* colors, - SkScalar* stops, - int count, - SkTileMode tileMode, - SkScalar startAngle, - SkScalar endAngle, - SkScalar* matrix33) { +SKWASM_EXPORT sp_wrapper* shader_createSweepGradient( + DlScalar centerX, + DlScalar centerY, + uint32_t* colors, + DlScalar* stops, + int count, + DlTileMode tileMode, + DlScalar startAngle, + DlScalar endAngle, + DlScalar* matrix33) { liveShaderCount++; + std::vector dlColors; + dlColors.resize(count); + for (int i = 0; i < count; i++) { + dlColors[i] = DlColor(colors[i]); + } if (matrix33) { - SkMatrix localMatrix = createMatrix(matrix33); - return SkGradientShader::MakeSweep(centerX, centerY, colors, stops, count, - tileMode, startAngle, endAngle, 0, - &localMatrix) - .release(); + auto localMatrix = createDlMatrixFrom3x3(matrix33); + return new sp_wrapper(DlColorSource::MakeSweep( + DlPoint{centerX, centerY}, startAngle, endAngle, count, dlColors.data(), + stops, tileMode, &localMatrix)); } else { - return SkGradientShader::MakeSweep(centerX, centerY, colors, stops, count, - tileMode, startAngle, endAngle, 0, - nullptr) - .release(); + return new sp_wrapper(DlColorSource::MakeSweep( + DlPoint{centerX, centerY}, startAngle, endAngle, count, dlColors.data(), + stops, tileMode)); } } -SKWASM_EXPORT void shader_dispose(SkShader* shader) { +SKWASM_EXPORT void shader_dispose(sp_wrapper* shader) { liveShaderCount--; - shader->unref(); + delete shader; } SKWASM_EXPORT SkRuntimeEffect* runtimeEffect_create(SkString* source) { @@ -129,38 +154,50 @@ SKWASM_EXPORT size_t runtimeEffect_getUniformSize(SkRuntimeEffect* effect) { return effect->uniformSize(); } -SKWASM_EXPORT SkShader* shader_createRuntimeEffectShader( +SKWASM_EXPORT sp_wrapper* shader_createRuntimeEffectShader( SkRuntimeEffect* runtimeEffect, - SkData* uniforms, - SkShader** children, + UniformData* uniforms, + sp_wrapper** children, size_t childCount) { liveShaderCount++; - std::vector> childPointers; + std::vector> childPointers; + childPointers.resize(childCount); for (size_t i = 0; i < childCount; i++) { - childPointers.emplace_back(sk_ref_sp(children[i])); + childPointers[i] = children[i]->shared(); } - return runtimeEffect - ->makeShader(sk_ref_sp(uniforms), childPointers.data(), - childCount, nullptr) - .release(); + return new sp_wrapper(DlColorSource::MakeRuntimeEffect( + DlRuntimeEffectSkia::Make(sk_ref_sp(runtimeEffect)), + std::move(childPointers), uniforms->data)); } -SKWASM_EXPORT SkShader* shader_createFromImage(SkImage* image, - SkTileMode tileModeX, - SkTileMode tileModeY, - FilterQuality quality, - SkScalar* matrix33) { +SKWASM_EXPORT sp_wrapper* shader_createFromImage( + SkImage* image, + DlTileMode tileModeX, + DlTileMode tileModeY, + FilterQuality quality, + DlScalar* matrix33) { liveShaderCount++; if (matrix33) { - SkMatrix localMatrix = createMatrix(matrix33); - return image - ->makeShader(tileModeX, tileModeY, samplingOptionsForQuality(quality), - &localMatrix) - .release(); + auto localMatrix = createDlMatrixFrom3x3(matrix33); + return new sp_wrapper(DlColorSource::MakeImage( + DlImage::Make(image), tileModeX, tileModeY, + samplingOptionsForQuality(quality), &localMatrix)); } else { - return image - ->makeShader(tileModeX, tileModeY, samplingOptionsForQuality(quality)) - .release(); + return new sp_wrapper( + DlColorSource::MakeImage(DlImage::Make(image), tileModeX, tileModeY, + samplingOptionsForQuality(quality))); } } + +SKWASM_EXPORT UniformData* uniformData_create(int size) { + return new UniformData{std::make_shared>(size)}; +} + +SKWASM_EXPORT void uniformData_dispose(UniformData* data) { + delete data; +} + +SKWASM_EXPORT void* uniformData_getPointer(UniformData* data) { + return data->data->data(); +} diff --git a/engine/src/flutter/lib/web_ui/skwasm/skwasm_support.h b/engine/src/flutter/lib/web_ui/skwasm/skwasm_support.h index e55686b5ea6de..a222adc98436d 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/skwasm_support.h +++ b/engine/src/flutter/lib/web_ui/skwasm/skwasm_support.h @@ -12,6 +12,10 @@ using SkwasmObject = __externref_t; +namespace flutter { +class DisplayList; +} + extern "C" { extern bool skwasm_isSingleThreaded(); extern void skwasm_setAssociatedObjectOnThread(unsigned long threadId, @@ -23,17 +27,17 @@ extern void skwasm_disposeAssociatedObjectOnThread(unsigned long threadId, extern void skwasm_connectThread(pthread_t threadId); extern void skwasm_dispatchRenderPictures(unsigned long threadId, Skwasm::Surface* surface, - sk_sp* pictures, + sk_sp* pictures, + int width, + int height, int count, uint32_t callbackId); extern uint32_t skwasm_createOffscreenCanvas(int width, int height); extern void skwasm_resizeCanvas(uint32_t contextHandle, int width, int height); extern SkwasmObject skwasm_captureImageBitmap(uint32_t contextHandle, - int width, - int height, - SkwasmObject imagePromises); + SkwasmObject imageBitmaps); extern void skwasm_resolveAndPostImages(Skwasm::Surface* surface, - SkwasmObject imagePromises, + SkwasmObject imageBitmaps, double rasterStart, uint32_t callbackId); extern unsigned int skwasm_createGlTextureFromTextureSource( diff --git a/engine/src/flutter/lib/web_ui/skwasm/surface.cpp b/engine/src/flutter/lib/web_ui/skwasm/surface.cpp index 3937e3caa6df4..5ee63d54d462d 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/surface.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/surface.cpp @@ -3,18 +3,22 @@ // found in the LICENSE file. #include "surface.h" -#include -#include #include "live_objects.h" - #include "skwasm_support.h" + +#include "flutter/display_list/display_list.h" +#include "flutter/display_list/skia/dl_sk_dispatcher.h" #include "third_party/skia/include/gpu/ganesh/GrBackendSurface.h" #include "third_party/skia/include/gpu/ganesh/GrDirectContext.h" #include "third_party/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h" #include "third_party/skia/include/gpu/ganesh/gl/GrGLDirectContext.h" #include "third_party/skia/include/gpu/ganesh/gl/GrGLMakeWebGLInterface.h" +#include +#include + using namespace Skwasm; +using namespace flutter; Surface::Surface() { if (skwasm_isSingleThreaded()) { @@ -39,19 +43,27 @@ void Surface::dispose() { } // Main thread only -uint32_t Surface::renderPictures(SkPicture** pictures, int count) { +void Surface::setResourceCacheLimit(int bytes) { + _grContext->setResourceCacheLimit(bytes); +} + +// Main thread only +uint32_t Surface::renderPictures(DisplayList** pictures, + int width, + int height, + int count) { assert(emscripten_is_main_browser_thread()); uint32_t callbackId = ++_currentCallbackId; - std::unique_ptr[]> picturePointers = - std::make_unique[]>(count); + std::unique_ptr[]> picturePointers = + std::make_unique[]>(count); for (int i = 0; i < count; i++) { picturePointers[i] = sk_ref_sp(pictures[i]); } // Releasing picturePointers here and will recreate the unique_ptr on the // other thread See surface_renderPicturesOnWorker - skwasm_dispatchRenderPictures(_thread, this, picturePointers.release(), count, - callbackId); + skwasm_dispatchRenderPictures(_thread, this, picturePointers.release(), width, + height, count, callbackId); return callbackId; } @@ -111,10 +123,10 @@ void Surface::_init() { } // Worker thread only -void Surface::_resizeCanvasToFit(int width, int height) { - if (!_surface || width > _canvasWidth || height > _canvasHeight) { - _canvasWidth = std::max(width, _canvasWidth); - _canvasHeight = std::max(height, _canvasHeight); +void Surface::_resizeSurface(int width, int height) { + if (!_surface || width != _canvasWidth || height != _canvasHeight) { + _canvasWidth = width; + _canvasHeight = height; _recreateSurface(); } } @@ -131,7 +143,9 @@ void Surface::_recreateSurface() { } // Worker thread only -void Surface::renderPicturesOnWorker(sk_sp* pictures, +void Surface::renderPicturesOnWorker(sk_sp* pictures, + int width, + int height, int pictureCount, uint32_t callbackId, double rasterStart) { @@ -139,27 +153,24 @@ void Surface::renderPicturesOnWorker(sk_sp* pictures, _init(); } - // This is populated by the `captureImageBitmap` call the first time it is - // passed in. - SkwasmObject imagePromiseArray = __builtin_wasm_ref_null_extern(); + // This is initialized on the first call to `skwasm_captureImageBitmap` and + // then populated with more bitmaps on subsequent calls. + SkwasmObject imageBitmapArray = __builtin_wasm_ref_null_extern(); for (int i = 0; i < pictureCount; i++) { - sk_sp picture = pictures[i]; - SkRect pictureRect = picture->cullRect(); - SkIRect roundedOutRect; - pictureRect.roundOut(&roundedOutRect); - _resizeCanvasToFit(roundedOutRect.width(), roundedOutRect.height()); - SkMatrix matrix = - SkMatrix::Translate(-roundedOutRect.fLeft, -roundedOutRect.fTop); + sk_sp picture = pictures[i]; + _resizeSurface(width, height); makeCurrent(_glContext); auto canvas = _surface->getCanvas(); canvas->drawColor(SK_ColorTRANSPARENT, SkBlendMode::kSrc); - canvas->drawPicture(picture, &matrix, nullptr); + auto dispatcher = DlSkCanvasDispatcher(canvas); + dispatcher.save(); + dispatcher.drawDisplayList(picture, 1.0f); + dispatcher.restore(); + _grContext->flush(_surface.get()); - imagePromiseArray = - skwasm_captureImageBitmap(_glContext, roundedOutRect.width(), - roundedOutRect.height(), imagePromiseArray); + imageBitmapArray = skwasm_captureImageBitmap(_glContext, imageBitmapArray); } - skwasm_resolveAndPostImages(this, imagePromiseArray, rasterStart, callbackId); + skwasm_resolveAndPostImages(this, imageBitmapArray, rasterStart, callbackId); } // Worker thread only @@ -192,7 +203,7 @@ void Surface::rasterizeImageOnWorker(SkImage* image, // `glReadPixels`. Once the skia bug is fixed, we should switch back to using // `SkImage::readPixels` instead. // See https://g-issues.skia.org/issues/349201915 - _resizeCanvasToFit(image->width(), image->height()); + _resizeSurface(image->width(), image->height()); auto canvas = _surface->getCanvas(); canvas->drawColor(SK_ColorTRANSPARENT, SkBlendMode::kSrc); @@ -262,22 +273,31 @@ SKWASM_EXPORT void surface_dispose(Surface* surface) { surface->dispose(); } +SKWASM_EXPORT void surface_setResourceCacheLimitBytes(Surface* surface, + int bytes) { + surface->setResourceCacheLimit(bytes); +} + SKWASM_EXPORT uint32_t surface_renderPictures(Surface* surface, - SkPicture** pictures, + DisplayList** pictures, + int width, + int height, int count) { - return surface->renderPictures(pictures, count); + return surface->renderPictures(pictures, width, height, count); } SKWASM_EXPORT void surface_renderPicturesOnWorker(Surface* surface, - sk_sp* pictures, + sk_sp* pictures, + int width, + int height, int pictureCount, uint32_t callbackId, double rasterStart) { // This will release the pictures when they leave scope. - std::unique_ptr[]> picturesPointer = - std::unique_ptr[]>(pictures); - surface->renderPicturesOnWorker(pictures, pictureCount, callbackId, - rasterStart); + std::unique_ptr[]> picturesPointer = + std::unique_ptr[]>(pictures); + surface->renderPicturesOnWorker(pictures, width, height, pictureCount, + callbackId, rasterStart); } SKWASM_EXPORT uint32_t surface_rasterizeImage(Surface* surface, diff --git a/engine/src/flutter/lib/web_ui/skwasm/surface.h b/engine/src/flutter/lib/web_ui/skwasm/surface.h index f793fbb2fcc33..909c32c1564a0 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/surface.h +++ b/engine/src/flutter/lib/web_ui/skwasm/surface.h @@ -15,7 +15,6 @@ #include "export.h" #include "third_party/skia/include/core/SkCanvas.h" #include "third_party/skia/include/core/SkColorSpace.h" -#include "third_party/skia/include/core/SkPicture.h" #include "third_party/skia/include/core/SkSurface.h" #include "third_party/skia/include/encode/SkPngEncoder.h" #include "third_party/skia/include/gpu/ganesh/GrDirectContext.h" @@ -24,6 +23,10 @@ #include "third_party/skia/include/gpu/ganesh/gl/GrGLTypes.h" #include "wrappers.h" +namespace flutter { +class DisplayList; +} + namespace Skwasm { // This must be kept in sync with the `ImageByteFormat` enum in dart:ui. enum class ImageByteFormat { @@ -55,7 +58,11 @@ class Surface { // Main thread only void dispose(); - uint32_t renderPictures(SkPicture** picture, int count); + void setResourceCacheLimit(int bytes); + uint32_t renderPictures(flutter::DisplayList** picture, + int width, + int height, + int count); uint32_t rasterizeImage(SkImage* image, ImageByteFormat format); void setCallbackHandler(CallbackHandler* callbackHandler); void onRenderComplete(uint32_t callbackId, SkwasmObject imageBitmap); @@ -66,7 +73,9 @@ class Surface { SkwasmObject textureSource); // Worker thread - void renderPicturesOnWorker(sk_sp* picture, + void renderPicturesOnWorker(sk_sp* picture, + int width, + int height, int pictureCount, uint32_t callbackId, double rasterStart); @@ -76,7 +85,7 @@ class Surface { private: void _init(); - void _resizeCanvasToFit(int width, int height); + void _resizeSurface(int width, int height); void _recreateSurface(); CallbackHandler* _callbackHandler = nullptr; diff --git a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph.cpp b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph.cpp index 1d96c7e0ae257..946cc7c67f298 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph.cpp @@ -8,8 +8,9 @@ #include "DartTypes.h" #include "TextStyle.h" #include "include/core/SkScalar.h" +#include "text_types.h" -using namespace skia::textlayout; +using namespace Skwasm; SKWASM_EXPORT void paragraph_dispose(Paragraph* paragraph) { liveParagraphCount--; @@ -17,46 +18,48 @@ SKWASM_EXPORT void paragraph_dispose(Paragraph* paragraph) { } SKWASM_EXPORT SkScalar paragraph_getWidth(Paragraph* paragraph) { - return paragraph->getMaxWidth(); + return paragraph->skiaParagraph->getMaxWidth(); } SKWASM_EXPORT SkScalar paragraph_getHeight(Paragraph* paragraph) { - return paragraph->getHeight(); + return paragraph->skiaParagraph->getHeight(); } SKWASM_EXPORT SkScalar paragraph_getLongestLine(Paragraph* paragraph) { - return paragraph->getLongestLine(); + return paragraph->skiaParagraph->getLongestLine(); } SKWASM_EXPORT SkScalar paragraph_getMinIntrinsicWidth(Paragraph* paragraph) { - return paragraph->getMinIntrinsicWidth(); + return paragraph->skiaParagraph->getMinIntrinsicWidth(); } SKWASM_EXPORT SkScalar paragraph_getMaxIntrinsicWidth(Paragraph* paragraph) { - return paragraph->getMaxIntrinsicWidth(); + return paragraph->skiaParagraph->getMaxIntrinsicWidth(); } SKWASM_EXPORT SkScalar paragraph_getAlphabeticBaseline(Paragraph* paragraph) { - return paragraph->getAlphabeticBaseline(); + return paragraph->skiaParagraph->getAlphabeticBaseline(); } SKWASM_EXPORT SkScalar paragraph_getIdeographicBaseline(Paragraph* paragraph) { - return paragraph->getIdeographicBaseline(); + return paragraph->skiaParagraph->getIdeographicBaseline(); } SKWASM_EXPORT bool paragraph_getDidExceedMaxLines(Paragraph* paragraph) { - return paragraph->didExceedMaxLines(); + return paragraph->skiaParagraph->didExceedMaxLines(); } SKWASM_EXPORT void paragraph_layout(Paragraph* paragraph, SkScalar width) { - paragraph->layout(width); + paragraph->skiaParagraph->layout(width); } -SKWASM_EXPORT int32_t paragraph_getPositionForOffset(Paragraph* paragraph, - SkScalar offsetX, - SkScalar offsetY, - Affinity* outAffinity) { - auto position = paragraph->getGlyphPositionAtCoordinate(offsetX, offsetY); +SKWASM_EXPORT int32_t +paragraph_getPositionForOffset(Paragraph* paragraph, + SkScalar offsetX, + SkScalar offsetY, + skia::textlayout::Affinity* outAffinity) { + auto position = + paragraph->skiaParagraph->getGlyphPositionAtCoordinate(offsetX, offsetY); if (outAffinity) { *outAffinity = position.affinity; } @@ -71,8 +74,9 @@ SKWASM_EXPORT bool paragraph_getClosestGlyphInfoAtCoordinate( SkRect* graphemeLayoutBounds, // 1 SkRect size_t* graphemeCodeUnitRange, // 2 size_ts: [start, end] bool* booleanFlags) { // 1 boolean: isLTR - Paragraph::GlyphInfo glyphInfo; - if (!paragraph->getClosestUTF16GlyphInfoAt(offsetX, offsetY, &glyphInfo)) { + skia::textlayout::Paragraph::GlyphInfo glyphInfo; + if (!paragraph->skiaParagraph->getClosestUTF16GlyphInfoAt(offsetX, offsetY, + &glyphInfo)) { return false; } // This is more verbose than memcpying the whole struct but ideally we don't @@ -93,8 +97,8 @@ SKWASM_EXPORT bool paragraph_getGlyphInfoAt( SkRect* graphemeLayoutBounds, // 1 SkRect size_t* graphemeCodeUnitRange, // 2 size_ts: [start, end] bool* booleanFlags) { // 1 boolean: isLTR - Paragraph::GlyphInfo glyphInfo; - if (!paragraph->getGlyphInfoAtUTF16Offset(index, &glyphInfo)) { + skia::textlayout::Paragraph::GlyphInfo glyphInfo; + if (!paragraph->skiaParagraph->getGlyphInfoAtUTF16Offset(index, &glyphInfo)) { return false; } std::memcpy(graphemeLayoutBounds, &glyphInfo.fGraphemeLayoutBounds, @@ -111,25 +115,26 @@ SKWASM_EXPORT void paragraph_getWordBoundary( unsigned int position, int32_t* outRange // Two `int32_t`s, start and end ) { - auto range = paragraph->getWordBoundary(position); + auto range = paragraph->skiaParagraph->getWordBoundary(position); outRange[0] = range.start; outRange[1] = range.end; } SKWASM_EXPORT size_t paragraph_getLineCount(Paragraph* paragraph) { - return paragraph->lineNumber(); + return paragraph->skiaParagraph->lineNumber(); } SKWASM_EXPORT int paragraph_getLineNumberAt(Paragraph* paragraph, size_t characterIndex) { - return paragraph->getLineNumberAtUTF16Offset(characterIndex); + return paragraph->skiaParagraph->getLineNumberAtUTF16Offset(characterIndex); } -SKWASM_EXPORT LineMetrics* paragraph_getLineMetricsAtIndex(Paragraph* paragraph, - size_t lineNumber) { +SKWASM_EXPORT skia::textlayout::LineMetrics* paragraph_getLineMetricsAtIndex( + Paragraph* paragraph, + size_t lineNumber) { liveLineMetricsCount++; - auto metrics = new LineMetrics(); - if (paragraph->getLineMetricsAt(lineNumber, metrics)) { + auto metrics = new skia::textlayout::LineMetrics(); + if (paragraph->skiaParagraph->getLineMetricsAt(lineNumber, metrics)) { return metrics; } else { delete metrics; @@ -138,7 +143,7 @@ SKWASM_EXPORT LineMetrics* paragraph_getLineMetricsAtIndex(Paragraph* paragraph, } struct TextBoxList { - std::vector boxes; + std::vector boxes; }; SKWASM_EXPORT void textBoxList_dispose(TextBoxList* list) { @@ -150,9 +155,8 @@ SKWASM_EXPORT size_t textBoxList_getLength(TextBoxList* list) { return list->boxes.size(); } -SKWASM_EXPORT TextDirection textBoxList_getBoxAtIndex(TextBoxList* list, - size_t index, - SkRect* outRect) { +SKWASM_EXPORT skia::textlayout::TextDirection +textBoxList_getBoxAtIndex(TextBoxList* list, size_t index, SkRect* outRect) { const auto& box = list->boxes[index]; *outRect = box.rect; return box.direction; @@ -162,17 +166,17 @@ SKWASM_EXPORT TextBoxList* paragraph_getBoxesForRange( Paragraph* paragraph, int start, int end, - RectHeightStyle heightStyle, - RectWidthStyle widthStyle) { + skia::textlayout::RectHeightStyle heightStyle, + skia::textlayout::RectWidthStyle widthStyle) { liveTextBoxListCount++; - return new TextBoxList{ - paragraph->getRectsForRange(start, end, heightStyle, widthStyle)}; + return new TextBoxList{paragraph->skiaParagraph->getRectsForRange( + start, end, heightStyle, widthStyle)}; } SKWASM_EXPORT TextBoxList* paragraph_getBoxesForPlaceholders( Paragraph* paragraph) { liveTextBoxListCount++; - return new TextBoxList{paragraph->getRectsForPlaceholders()}; + return new TextBoxList{paragraph->skiaParagraph->getRectsForPlaceholders()}; } // Returns a list of the code points that were unable to be rendered with the @@ -186,10 +190,10 @@ SKWASM_EXPORT int paragraph_getUnresolvedCodePoints(Paragraph* paragraph, SkUnichar* outCodePoints, int outLength) { if (!outCodePoints) { - return paragraph->unresolvedCodepoints().size(); + return paragraph->skiaParagraph->unresolvedCodepoints().size(); } int outIndex = 0; - for (SkUnichar character : paragraph->unresolvedCodepoints()) { + for (SkUnichar character : paragraph->skiaParagraph->unresolvedCodepoints()) { if (outIndex < outLength) { outCodePoints[outIndex] = character; outIndex++; diff --git a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder.cpp b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder.cpp index 3cf25b12b0a4a..8453a9b5f9d0e 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder.cpp @@ -5,10 +5,10 @@ #include "../export.h" #include "../live_objects.h" #include "../wrappers.h" +#include "text_types.h" #include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h" #include "third_party/skia/modules/skunicode/include/SkUnicode_client.h" -using namespace skia::textlayout; using namespace Skwasm; SKWASM_EXPORT void paragraphBuilder_dispose(ParagraphBuilder* builder) { @@ -20,32 +20,34 @@ SKWASM_EXPORT void paragraphBuilder_addPlaceholder( ParagraphBuilder* builder, SkScalar width, SkScalar height, - PlaceholderAlignment alignment, + skia::textlayout::PlaceholderAlignment alignment, SkScalar baselineOffset, - TextBaseline baseline) { - builder->addPlaceholder( - PlaceholderStyle(width, height, alignment, baseline, baselineOffset)); + skia::textlayout::TextBaseline baseline) { + builder->skiaParagraphBuilder->addPlaceholder( + skia::textlayout::PlaceholderStyle(width, height, alignment, baseline, + baselineOffset)); } SKWASM_EXPORT void paragraphBuilder_addText(ParagraphBuilder* builder, std::u16string* text) { - builder->addText(*text); + builder->skiaParagraphBuilder->addText(*text); } SKWASM_EXPORT char* paragraphBuilder_getUtf8Text(ParagraphBuilder* builder, uint32_t* outLength) { - auto span = builder->getText(); + auto span = builder->skiaParagraphBuilder->getText(); *outLength = span.size(); return span.data(); } SKWASM_EXPORT void paragraphBuilder_pushStyle(ParagraphBuilder* builder, TextStyle* style) { - builder->pushStyle(*style); + style->populatePaintIds(builder->paints); + builder->skiaParagraphBuilder->pushStyle(style->skiaStyle); } SKWASM_EXPORT void paragraphBuilder_pop(ParagraphBuilder* builder) { - builder->pop(); + builder->skiaParagraphBuilder->pop(); } SKWASM_EXPORT std::vector* unicodePositionBuffer_create( diff --git a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder_builtin_icu.cpp b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder_builtin_icu.cpp index e31ddef45d959..7df6d12c2883f 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder_builtin_icu.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder_builtin_icu.cpp @@ -6,9 +6,9 @@ #include "../live_objects.h" #include "../wrappers.h" #include "modules/skunicode/include/SkUnicode_icu.h" +#include "text_types.h" #include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h" -using namespace skia::textlayout; using namespace Skwasm; SKWASM_EXPORT bool skwasm_isHeavy() { @@ -19,14 +19,20 @@ SKWASM_EXPORT ParagraphBuilder* paragraphBuilder_create( ParagraphStyle* style, FlutterFontCollection* collection) { liveParagraphBuilderCount++; - return ParagraphBuilder::make(*style, collection->collection, - SkUnicodes::ICU::Make()) - .release(); + std::vector paints; + style->textStyle.populatePaintIds(paints); + style->skiaParagraphStyle.setTextStyle(style->textStyle.skiaStyle); + return new ParagraphBuilder{ + skia::textlayout::ParagraphBuilder::make(style->skiaParagraphStyle, + collection->collection, + SkUnicodes::ICU::Make()), + std::move(paints)}; } SKWASM_EXPORT Paragraph* paragraphBuilder_build(ParagraphBuilder* builder) { liveParagraphCount++; - return builder->Build().release(); + return new Paragraph{builder->skiaParagraphBuilder->Build(), + std::move(builder->paints)}; } SKWASM_EXPORT void paragraphBuilder_setGraphemeBreaksUtf16( diff --git a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder_client_icu.cpp b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder_client_icu.cpp index 5dfcb7b10e1ce..294f0a4f78d40 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder_client_icu.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_builder_client_icu.cpp @@ -5,10 +5,10 @@ #include "../export.h" #include "../live_objects.h" #include "../wrappers.h" +#include "text_types.h" #include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h" #include "third_party/skia/modules/skunicode/include/SkUnicode_client.h" -using namespace skia::textlayout; using namespace Skwasm; SKWASM_EXPORT bool skwasm_isHeavy() { @@ -19,34 +19,44 @@ SKWASM_EXPORT ParagraphBuilder* paragraphBuilder_create( ParagraphStyle* style, FlutterFontCollection* collection) { liveParagraphBuilderCount++; - return ParagraphBuilder::make(*style, collection->collection, nullptr) - .release(); + std::vector paints; + style->textStyle.populatePaintIds(paints); + style->skiaParagraphStyle.setTextStyle(style->textStyle.skiaStyle); + return new ParagraphBuilder{ + skia::textlayout::ParagraphBuilder::make(style->skiaParagraphStyle, + collection->collection, nullptr), + std::move(paints), + }; } SKWASM_EXPORT Paragraph* paragraphBuilder_build(ParagraphBuilder* builder) { liveParagraphCount++; - auto [words, graphemeBreaks, lineBreaks] = builder->getClientICUData(); - auto text = builder->getText(); + auto [words, graphemeBreaks, lineBreaks] = + builder->skiaParagraphBuilder->getClientICUData(); + auto text = builder->skiaParagraphBuilder->getText(); sk_sp clientICU = SkUnicodes::Client::Make(text, words, graphemeBreaks, lineBreaks); - builder->SetUnicode(clientICU); - return builder->Build().release(); + builder->skiaParagraphBuilder->SetUnicode(clientICU); + return new Paragraph{ + builder->skiaParagraphBuilder->Build(), + std::move(builder->paints), + }; } SKWASM_EXPORT void paragraphBuilder_setGraphemeBreaksUtf16( ParagraphBuilder* builder, std::vector* breaks) { - builder->setGraphemeBreaksUtf16(std::move(*breaks)); + builder->skiaParagraphBuilder->setGraphemeBreaksUtf16(std::move(*breaks)); } SKWASM_EXPORT void paragraphBuilder_setWordBreaksUtf16( ParagraphBuilder* builder, std::vector* breaks) { - builder->setWordsUtf16(std::move(*breaks)); + builder->skiaParagraphBuilder->setWordsUtf16(std::move(*breaks)); } SKWASM_EXPORT void paragraphBuilder_setLineBreaksUtf16( ParagraphBuilder* builder, std::vector* breaks) { - builder->setLineBreaksUtf16(std::move(*breaks)); + builder->skiaParagraphBuilder->setLineBreaksUtf16(std::move(*breaks)); } diff --git a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_style.cpp b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_style.cpp index a319287bebeba..344e20692f865 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_style.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/text/paragraph_style.cpp @@ -4,21 +4,19 @@ #include "../export.h" #include "../wrappers.h" +#include "text_types.h" #include "third_party/skia/modules/skparagraph/include/Paragraph.h" -using namespace skia::textlayout; using namespace Skwasm; SKWASM_EXPORT ParagraphStyle* paragraphStyle_create() { auto style = new ParagraphStyle(); // This is the default behavior in Flutter - style->setReplaceTabCharacters(true); + style->skiaParagraphStyle.setReplaceTabCharacters(true); // Default text style has a black color - TextStyle textStyle; - textStyle.setColor(SK_ColorBLACK); - style->setTextStyle(textStyle); + style->textStyle.skiaStyle.setColor(SK_ColorBLACK); return style; } @@ -27,59 +25,62 @@ SKWASM_EXPORT void paragraphStyle_dispose(ParagraphStyle* style) { delete style; } -SKWASM_EXPORT void paragraphStyle_setTextAlign(ParagraphStyle* style, - TextAlign align) { - style->setTextAlign(align); +SKWASM_EXPORT void paragraphStyle_setTextAlign( + ParagraphStyle* style, + skia::textlayout::TextAlign align) { + style->skiaParagraphStyle.setTextAlign(align); } -SKWASM_EXPORT void paragraphStyle_setTextDirection(ParagraphStyle* style, - TextDirection direction) { - style->setTextDirection(direction); +SKWASM_EXPORT void paragraphStyle_setTextDirection( + ParagraphStyle* style, + skia::textlayout::TextDirection direction) { + style->skiaParagraphStyle.setTextDirection(direction); } SKWASM_EXPORT void paragraphStyle_setMaxLines(ParagraphStyle* style, size_t maxLines) { - style->setMaxLines(maxLines); + style->skiaParagraphStyle.setMaxLines(maxLines); } SKWASM_EXPORT void paragraphStyle_setHeight(ParagraphStyle* style, SkScalar height) { - style->setHeight(height); + style->skiaParagraphStyle.setHeight(height); } SKWASM_EXPORT void paragraphStyle_setTextHeightBehavior( ParagraphStyle* style, bool applyHeightToFirstAscent, bool applyHeightToLastDescent) { - TextHeightBehavior behavior; + skia::textlayout::TextHeightBehavior behavior; if (!applyHeightToFirstAscent && !applyHeightToLastDescent) { - behavior = kDisableAll; + behavior = skia::textlayout::kDisableAll; } else if (!applyHeightToLastDescent) { - behavior = kDisableLastDescent; + behavior = skia::textlayout::kDisableLastDescent; } else if (!applyHeightToFirstAscent) { - behavior = kDisableFirstAscent; + behavior = skia::textlayout::kDisableFirstAscent; } else { - behavior = kAll; + behavior = skia::textlayout::kAll; } - style->setTextHeightBehavior(behavior); + style->skiaParagraphStyle.setTextHeightBehavior(behavior); } SKWASM_EXPORT void paragraphStyle_setEllipsis(ParagraphStyle* style, SkString* ellipsis) { - style->setEllipsis(*ellipsis); + style->skiaParagraphStyle.setEllipsis(*ellipsis); } -SKWASM_EXPORT void paragraphStyle_setStrutStyle(ParagraphStyle* style, - StrutStyle* strutStyle) { - style->setStrutStyle(*strutStyle); +SKWASM_EXPORT void paragraphStyle_setStrutStyle( + ParagraphStyle* style, + skia::textlayout::StrutStyle* strutStyle) { + style->skiaParagraphStyle.setStrutStyle(*strutStyle); } SKWASM_EXPORT void paragraphStyle_setTextStyle(ParagraphStyle* style, TextStyle* textStyle) { - style->setTextStyle(*textStyle); + style->textStyle = *textStyle; } SKWASM_EXPORT void paragraphStyle_setApplyRoundingHack(ParagraphStyle* style, bool applyRoundingHack) { - style->setApplyRoundingHack(applyRoundingHack); + style->skiaParagraphStyle.setApplyRoundingHack(applyRoundingHack); } diff --git a/engine/src/flutter/lib/web_ui/skwasm/text/text_style.cpp b/engine/src/flutter/lib/web_ui/skwasm/text/text_style.cpp index 3258558908279..496bcbd308428 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/text/text_style.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/text/text_style.cpp @@ -5,11 +5,11 @@ #include "../export.h" #include "../live_objects.h" #include "../wrappers.h" +#include "text_types.h" #include "third_party/skia/modules/skparagraph/include/Paragraph.h" const double kTextHeightNone = 0.0; -using namespace skia::textlayout; using namespace Skwasm; SKWASM_EXPORT TextStyle* textStyle_create() { @@ -17,7 +17,7 @@ SKWASM_EXPORT TextStyle* textStyle_create() { auto style = new TextStyle(); // Default color in flutter is black. - style->setColor(SK_ColorBLACK); + style->skiaStyle.setColor(SK_ColorBLACK); return style; } @@ -32,49 +32,53 @@ SKWASM_EXPORT void textStyle_dispose(TextStyle* style) { } SKWASM_EXPORT void textStyle_setColor(TextStyle* style, SkColor color) { - style->setColor(color); + style->skiaStyle.setColor(color); } -SKWASM_EXPORT void textStyle_setDecoration(TextStyle* style, - TextDecoration decoration) { - style->setDecoration(decoration); +SKWASM_EXPORT void textStyle_setDecoration( + TextStyle* style, + skia::textlayout::TextDecoration decoration) { + style->skiaStyle.setDecoration(decoration); } SKWASM_EXPORT void textStyle_setDecorationColor(TextStyle* style, SkColor color) { - style->setDecorationColor(color); + style->skiaStyle.setDecorationColor(color); } SKWASM_EXPORT void textStyle_setDecorationStyle( TextStyle* style, - TextDecorationStyle decorationStyle) { - style->setDecorationStyle(decorationStyle); + skia::textlayout::TextDecorationStyle decorationStyle) { + style->skiaStyle.setDecorationStyle(decorationStyle); } SKWASM_EXPORT void textStyle_setDecorationThickness(TextStyle* style, SkScalar thickness) { - style->setDecorationThicknessMultiplier(thickness); + style->skiaStyle.setDecorationThicknessMultiplier(thickness); } SKWASM_EXPORT void textStyle_setFontStyle(TextStyle* style, int weight, SkFontStyle::Slant slant) { - style->setFontStyle(SkFontStyle(weight, SkFontStyle::kNormal_Width, slant)); + style->skiaStyle.setFontStyle( + SkFontStyle(weight, SkFontStyle::kNormal_Width, slant)); } -SKWASM_EXPORT void textStyle_setTextBaseline(TextStyle* style, - TextBaseline baseline) { - style->setTextBaseline(baseline); +SKWASM_EXPORT void textStyle_setTextBaseline( + TextStyle* style, + skia::textlayout::TextBaseline baseline) { + style->skiaStyle.setTextBaseline(baseline); } SKWASM_EXPORT void textStyle_clearFontFamilies(TextStyle* style) { - style->setFontFamilies({}); + style->skiaStyle.setFontFamilies({}); } SKWASM_EXPORT void textStyle_addFontFamilies(TextStyle* style, SkString** fontFamilies, int count) { - const std::vector& currentFamilies = style->getFontFamilies(); + const std::vector& currentFamilies = + style->skiaStyle.getFontFamilies(); std::vector newFamilies; newFamilies.reserve(currentFamilies.size() + count); for (int i = 0; i < count; i++) { @@ -83,43 +87,45 @@ SKWASM_EXPORT void textStyle_addFontFamilies(TextStyle* style, for (const auto& family : currentFamilies) { newFamilies.push_back(family); } - style->setFontFamilies(std::move(newFamilies)); + style->skiaStyle.setFontFamilies(std::move(newFamilies)); } SKWASM_EXPORT void textStyle_setFontSize(TextStyle* style, SkScalar size) { - style->setFontSize(size); + style->skiaStyle.setFontSize(size); } SKWASM_EXPORT void textStyle_setLetterSpacing(TextStyle* style, SkScalar letterSpacing) { - style->setLetterSpacing(letterSpacing); + style->skiaStyle.setLetterSpacing(letterSpacing); } SKWASM_EXPORT void textStyle_setWordSpacing(TextStyle* style, SkScalar wordSpacing) { - style->setWordSpacing(wordSpacing); + style->skiaStyle.setWordSpacing(wordSpacing); } SKWASM_EXPORT void textStyle_setHeight(TextStyle* style, SkScalar height) { - style->setHeight(height); - style->setHeightOverride(height != kTextHeightNone); + style->skiaStyle.setHeight(height); + style->skiaStyle.setHeightOverride(height != kTextHeightNone); } SKWASM_EXPORT void textStyle_setHalfLeading(TextStyle* style, bool halfLeading) { - style->setHalfLeading(halfLeading); + style->skiaStyle.setHalfLeading(halfLeading); } SKWASM_EXPORT void textStyle_setLocale(TextStyle* style, SkString* locale) { - style->setLocale(*locale); + style->skiaStyle.setLocale(*locale); } -SKWASM_EXPORT void textStyle_setBackground(TextStyle* style, SkPaint* paint) { - style->setBackgroundColor(*paint); +SKWASM_EXPORT void textStyle_setBackground(TextStyle* style, + flutter::DlPaint* paint) { + style->background = *paint; } -SKWASM_EXPORT void textStyle_setForeground(TextStyle* style, SkPaint* paint) { - style->setForegroundColor(*paint); +SKWASM_EXPORT void textStyle_setForeground(TextStyle* style, + flutter::DlPaint* paint) { + style->foreground = *paint; } SKWASM_EXPORT void textStyle_addShadow(TextStyle* style, @@ -127,13 +133,14 @@ SKWASM_EXPORT void textStyle_addShadow(TextStyle* style, SkScalar offsetX, SkScalar offsetY, SkScalar blurSigma) { - style->addShadow(TextShadow(color, {offsetX, offsetY}, blurSigma)); + style->skiaStyle.addShadow( + skia::textlayout::TextShadow(color, {offsetX, offsetY}, blurSigma)); } SKWASM_EXPORT void textStyle_addFontFeature(TextStyle* style, SkString* featureName, int value) { - style->addFontFeature(*featureName, value); + style->skiaStyle.addFontFeature(*featureName, value); } SKWASM_EXPORT void textStyle_setFontVariations(TextStyle* style, @@ -146,6 +153,6 @@ SKWASM_EXPORT void textStyle_setFontVariations(TextStyle* style, } SkFontArguments::VariationPosition position = { coordinates.data(), static_cast(coordinates.size())}; - style->setFontArguments( + style->skiaStyle.setFontArguments( SkFontArguments().setVariationDesignPosition(position)); } diff --git a/engine/src/flutter/lib/web_ui/skwasm/text/text_types.h b/engine/src/flutter/lib/web_ui/skwasm/text/text_types.h new file mode 100644 index 0000000000000..abda96dec976c --- /dev/null +++ b/engine/src/flutter/lib/web_ui/skwasm/text/text_types.h @@ -0,0 +1,54 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_LIB_WEB_UI_SKWASM_TEXT_TEXT_TYPES_H_ +#define FLUTTER_LIB_WEB_UI_SKWASM_TEXT_TEXT_TYPES_H_ + +#include "flutter/display_list/dl_paint.h" +#include "third_party/skia/modules/skparagraph/include/Paragraph.h" +#include "third_party/skia/modules/skparagraph/include/ParagraphBuilder.h" + +#include +#include + +namespace Skwasm { +struct TextStyle { + skia::textlayout::TextStyle skiaStyle; + std::optional foreground; + std::optional background; + + void populatePaintIds(std::vector& paints) { + if (background) { + skiaStyle.setBackgroundPaintID(paints.size()); + paints.push_back(*background); + } + if (foreground) { + skiaStyle.setForegroundPaintID(paints.size()); + paints.push_back(*foreground); + } else { + flutter::DlPaint paint; + paint.setColor(flutter::DlColor(skiaStyle.getColor())); + skiaStyle.setForegroundPaintID(paints.size()); + paints.push_back(std::move(paint)); + } + } +}; + +struct ParagraphStyle { + skia::textlayout::ParagraphStyle skiaParagraphStyle; + TextStyle textStyle; +}; + +struct ParagraphBuilder { + std::unique_ptr skiaParagraphBuilder; + std::vector paints; +}; + +struct Paragraph { + std::unique_ptr skiaParagraph; + std::vector paints; +}; +} // namespace Skwasm + +#endif // FLUTTER_LIB_WEB_UI_SKWASM_TEXT_TEXT_TYPES_H_ diff --git a/engine/src/flutter/lib/web_ui/skwasm/vertices.cpp b/engine/src/flutter/lib/web_ui/skwasm/vertices.cpp index 2490653902f39..fe71691aee43d 100644 --- a/engine/src/flutter/lib/web_ui/skwasm/vertices.cpp +++ b/engine/src/flutter/lib/web_ui/skwasm/vertices.cpp @@ -3,24 +3,38 @@ // found in the LICENSE file. #include "export.h" +#include "helpers.h" #include "live_objects.h" -#include "third_party/skia/include/core/SkVertices.h" +#include "flutter/display_list/dl_vertices.h" -SKWASM_EXPORT SkVertices* vertices_create(SkVertices::VertexMode vertexMode, - int vertexCount, - SkPoint* positions, - SkPoint* textureCoordinates, - SkColor* colors, - int indexCount, - uint16_t* indices) { +using namespace flutter; +using namespace Skwasm; + +SKWASM_EXPORT sp_wrapper* vertices_create( + DlVertexMode vertexMode, + int vertexCount, + DlPoint* positions, + DlPoint* textureCoordinates, + uint32_t* colors, + int indexCount, + uint16_t* indices) { liveVerticesCount++; - return SkVertices::MakeCopy(vertexMode, vertexCount, positions, - textureCoordinates, colors, indexCount, indices) - .release(); + std::vector dlColors; + DlColor* dlColorPointer = nullptr; + if (colors != nullptr) { + dlColors.resize(vertexCount); + for (int i = 0; i < vertexCount; i++) { + dlColors[i] = DlColor(colors[i]); + } + dlColorPointer = dlColors.data(); + } + return new sp_wrapper( + DlVertices::Make(vertexMode, vertexCount, positions, textureCoordinates, + dlColorPointer, indexCount, indices)); } -SKWASM_EXPORT void vertices_dispose(SkVertices* vertices) { +SKWASM_EXPORT void vertices_dispose(sp_wrapper* vertices) { liveVerticesCount--; - vertices->unref(); + delete vertices; } diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/canvaskit_api_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/canvaskit_api_test.dart index d0e42ebfeec3e..36385699168d0 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/canvaskit_api_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/canvaskit_api_test.dart @@ -1523,7 +1523,7 @@ void _paragraphTests() { final SkParagraphStyle paragraphStyle = canvasKit.ParagraphStyle(props); final SkParagraphBuilder builder = canvasKit.ParagraphBuilder.MakeFromFontCollection( paragraphStyle, - CanvasKitRenderer.instance.fontCollection.skFontCollection, + (CanvasKitRenderer.instance.fontCollection as SkiaFontCollection).skFontCollection, ); builder.addText('Hello'); @@ -1558,9 +1558,7 @@ void _paragraphTests() { builder.pop(); builder.pushStyle(canvasKit.TextStyle(SkTextStyleProperties()..halfLeading = true)); builder.pop(); - if (canvasKit.ParagraphBuilder.RequiresClientICU()) { - injectClientICU(builder); - } + builder.injectClientICUIfNeeded(); final SkParagraph paragraph = builder.build(); paragraph.layout(500); @@ -1663,13 +1661,11 @@ void _paragraphTests() { final SkParagraphStyle paragraphStyle = canvasKit.ParagraphStyle(props); final SkParagraphBuilder builder = canvasKit.ParagraphBuilder.MakeFromFontCollection( paragraphStyle, - CanvasKitRenderer.instance.fontCollection.skFontCollection, + (CanvasKitRenderer.instance.fontCollection as SkiaFontCollection).skFontCollection, ); builder.addText('hello'); - if (canvasKit.ParagraphBuilder.RequiresClientICU()) { - injectClientICU(builder); - } + builder.injectClientICUIfNeeded(); final SkParagraph paragraph = builder.build(); paragraph.layout(500); diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/common.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/common.dart index 9312633a9e8d9..79774c276b661 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/common.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/common.dart @@ -2,12 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'dart:async'; import 'dart:js_interop'; -import 'dart:typed_data'; import 'package:test/test.dart'; - import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; @@ -18,8 +15,6 @@ import '../common/test_initialization.dart'; export '../common/rendering.dart' show renderScene; -const MethodCodec codec = StandardMethodCodec(); - /// Common test setup for all CanvasKit unit-tests. void setUpCanvasKitTest({ bool withImplicitView = false, @@ -39,23 +34,6 @@ void setUpCanvasKitTest({ ); } -/// Convenience getter for the implicit view. -EngineFlutterWindow get implicitView => EnginePlatformDispatcher.instance.implicitView!; - -/// Utility function for CanvasKit tests to draw pictures without -/// the [CkPictureRecorder] boilerplate. -CkPicture paintPicture(ui.Rect cullRect, void Function(CkCanvas canvas) painter) { - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(cullRect); - painter(canvas); - return recorder.endRecording(); -} - -Future matchSceneGolden(String goldenFile, ui.Scene scene, {required ui.Rect region}) async { - await renderScene(scene); - await matchGoldenFile(goldenFile, region: region); -} - /// Checks that a [picture] matches the [goldenFile]. /// /// The picture is drawn onto the UI at [ui.Offset.zero] with no additional @@ -71,69 +49,3 @@ Future matchPictureGolden( await renderScene(sb.build()); await matchGoldenFile(goldenFile, region: region); } - -Future matchImage(ui.Image left, ui.Image right) async { - if (left.width != right.width || left.height != right.height) { - return false; - } - int getPixel(ByteData data, int x, int y) => data.getUint32((x + y * left.width) * 4); - final ByteData leftData = (await left.toByteData())!; - final ByteData rightData = (await right.toByteData())!; - for (int y = 0; y < left.height; y++) { - for (int x = 0; x < left.width; x++) { - if (getPixel(leftData, x, y) != getPixel(rightData, x, y)) { - return false; - } - } - } - return true; -} - -/// Sends a platform message to create a Platform View with the given id and viewType. -Future createPlatformView(int id, String viewType) { - final Completer completer = Completer(); - ui.PlatformDispatcher.instance.sendPlatformMessage( - 'flutter/platform_views', - codec.encodeMethodCall(MethodCall('create', {'id': id, 'viewType': viewType})), - (dynamic _) => completer.complete(), - ); - return completer.future; -} - -/// Disposes of the platform view with the given [id]. -Future disposePlatformView(int id) { - final Completer completer = Completer(); - ui.PlatformDispatcher.instance.sendPlatformMessage( - 'flutter/platform_views', - codec.encodeMethodCall(MethodCall('dispose', id)), - (dynamic _) => completer.complete(), - ); - return completer.future; -} - -/// Creates a pre-laid out one-line paragraph of text. -/// -/// Useful in tests that need a simple label to annotate goldens. -CkParagraph makeSimpleText( - String text, { - String? fontFamily, - double? fontSize, - ui.FontStyle? fontStyle, - ui.FontWeight? fontWeight, - ui.Color? color, -}) { - final CkParagraphBuilder builder = CkParagraphBuilder( - CkParagraphStyle( - fontFamily: fontFamily ?? 'Roboto', - fontSize: fontSize ?? 14, - fontStyle: fontStyle ?? ui.FontStyle.normal, - fontWeight: fontWeight ?? ui.FontWeight.normal, - ), - ); - builder.pushStyle(CkTextStyle(color: color ?? const ui.Color(0xFF000000))); - builder.addText(text); - builder.pop(); - final CkParagraph paragraph = builder.build(); - paragraph.layout(const ui.ParagraphConstraints(width: 10000)); - return paragraph; -} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/embedded_views_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/embedded_views_test.dart deleted file mode 100644 index d4e9b4b49cb00..0000000000000 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/embedded_views_test.dart +++ /dev/null @@ -1,1486 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; -import 'dart:js_interop'; - -import 'package:test/bootstrap/browser.dart'; -import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; -import 'package:ui/ui_web/src/ui_web.dart' as ui_web; - -import '../common/test_data.dart'; -import 'common.dart'; - -EngineFlutterWindow get implicitView => EnginePlatformDispatcher.instance.implicitView!; - -DomElement get platformViewsHost => implicitView.dom.platformViewsHost; -DomElement get sceneHost => implicitView.dom.sceneHost; - -void main() { - internalBootstrapBrowserTest(() => testMain); -} - -void testMain() { - group('$HtmlViewEmbedder', () { - setUpCanvasKitTest(withImplicitView: true); - - setUp(() { - EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(1); - }); - - tearDown(() { - PlatformViewManager.instance.debugClear(); - CanvasKitRenderer.instance.debugClear(); - Instrumentation.enabled = false; - }); - - test('embeds interactive platform views', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - - // The platform view is now split in two parts. The contents live - // as a child of the glassPane, and the slot lives in the glassPane - // shadow root. The slot is the one that has pointer events auto. - final DomElement contents = platformViewsHost.querySelector('#view-0')!; - final DomElement slot = sceneHost.querySelector('slot')!; - final DomElement contentsHost = contents.parent!; - final DomElement slotHost = slot.parent!; - - expect(contents, isNotNull, reason: 'The view from the factory is injected in the DOM.'); - - expect(contentsHost.tagName, equalsIgnoringCase('flt-platform-view')); - expect(slotHost.tagName, equalsIgnoringCase('flt-platform-view-slot')); - - expect(slotHost.style.pointerEvents, 'auto', reason: 'The slot reenables pointer events.'); - expect( - contentsHost.getAttribute('slot'), - slot.getAttribute('name'), - reason: 'The contents and slot are correctly related.', - ); - }); - - test('clips platform views with RRects', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.pushClipRRect(ui.RRect.fromLTRBR(0, 0, 10, 10, const ui.Radius.circular(3))); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - - expect(sceneHost.querySelectorAll('#sk_path_defs').single, isNotNull); - expect( - sceneHost.querySelectorAll('#sk_path_defs').single.querySelectorAll('clipPath').single, - isNotNull, - ); - expect(sceneHost.querySelectorAll('flt-clip').single.style.clipPath, 'url("#svgClip1")'); - expect(sceneHost.querySelectorAll('flt-clip').single.style.width, '100%'); - expect(sceneHost.querySelectorAll('flt-clip').single.style.height, '100%'); - }); - - test('correctly transforms platform views', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - final Matrix4 scaleMatrix = Matrix4.identity() - ..scale(5, 5) - ..translate(100, 100); - sb.pushTransform(scaleMatrix.toFloat64()); - sb.pushOffset(3, 3); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - - // Transformations happen on the slot element. - final DomElement slotHost = sceneHost.querySelector('flt-platform-view-slot')!; - - expect( - slotHost.style.transform, - // We should apply the scale matrix first, then the offset matrix. - // So the translate should be 515 (5 * 100 + 5 * 3), and not - // 503 (5 * 100 + 3). - 'matrix3d(5, 0, 0, 0, 0, 5, 0, 0, 0, 0, 5, 0, 515, 515, 0, 1)', - ); - }); - - test('correctly offsets platform views', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.addPlatformView(0, offset: const ui.Offset(3, 4), width: 5, height: 6); - await renderScene(sb.build()); - - final DomElement slotHost = sceneHost.querySelector('flt-platform-view-slot')!; - final DomCSSStyleDeclaration style = slotHost.style; - - expect(style.transform, 'matrix(1, 0, 0, 1, 3, 4)'); - expect(style.width, '5px'); - expect(style.height, '6px'); - - final DomRect slotRect = slotHost.getBoundingClientRect(); - expect(slotRect.left, 3); - expect(slotRect.top, 4); - expect(slotRect.right, 8); - expect(slotRect.bottom, 10); - }); - - // Returns the list of CSS transforms applied to the ancestor chain of - // elements starting from `viewHost`, up until and excluding - // . - List getTransformChain(DomElement viewHost) { - final List chain = []; - DomElement? element = viewHost; - while (element != null && element.tagName.toLowerCase() != 'flt-scene') { - chain.add(element.style.transform); - element = element.parent; - } - return chain; - } - - test('correctly offsets when clip chain length is changed', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(3, 3); - sb.pushClipRect(ui.Rect.largest); - sb.pushOffset(6, 6); - sb.addPlatformView(0, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - - // Transformations happen on the slot element. - DomElement slotHost = sceneHost.querySelector('flt-platform-view-slot')!; - - expect(getTransformChain(slotHost), [ - 'matrix(1, 0, 0, 1, 6, 6)', - 'matrix(1, 0, 0, 1, 3, 3)', - ]); - - sb = LayerSceneBuilder(); - sb.pushOffset(3, 3); - sb.pushClipRect(ui.Rect.largest); - sb.pushOffset(6, 6); - sb.pushClipRect(ui.Rect.largest); - sb.pushOffset(9, 9); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - - // Transformations happen on the slot element. - slotHost = sceneHost.querySelector('flt-platform-view-slot')!; - - expect(getTransformChain(slotHost), [ - 'matrix(1, 0, 0, 1, 9, 9)', - 'matrix(1, 0, 0, 1, 6, 6)', - 'matrix(1, 0, 0, 1, 3, 3)', - ]); - }); - - test('converts device pixels to logical pixels (no clips)', () async { - EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(4); - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(1, 1); - sb.pushOffset(2, 2); - sb.pushOffset(3, 3); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - - // Transformations happen on the slot element. - final DomElement slotHost = sceneHost.querySelector('flt-platform-view-slot')!; - - expect(getTransformChain(slotHost), ['matrix(0.25, 0, 0, 0.25, 1.5, 1.5)']); - }); - - test('converts device pixels to logical pixels (with clips)', () async { - EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(4); - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(3, 3); - sb.pushClipRect(ui.Rect.largest); - sb.pushOffset(6, 6); - sb.pushClipRect(ui.Rect.largest); - sb.pushOffset(9, 9); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - - // Transformations happen on the slot element. - final DomElement slotHost = sceneHost.querySelector('flt-platform-view-slot')!; - - expect(getTransformChain(slotHost), [ - 'matrix(1, 0, 0, 1, 9, 9)', - 'matrix(1, 0, 0, 1, 6, 6)', - 'matrix(0.25, 0, 0, 0.25, 0.75, 0.75)', - ]); - }); - - test('renders overlays on top of platform views', () async { - final CkPicture testPicture = paintPicture(const ui.Rect.fromLTRB(0, 0, 10, 10), ( - CkCanvas canvas, - ) { - canvas.drawCircle(const ui.Offset(5, 5), 5, CkPaint()); - }); - - // Initialize all platform views to be used in the test. - final List platformViewIds = []; - for (int i = 0; i < 16; i++) { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-$i', - ); - await createPlatformView(i, 'test-platform-view'); - platformViewIds.add(i); - } - - Future renderTestScene({required int viewCount}) async { - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - for (int i = 0; i < viewCount; i++) { - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(i, width: 10, height: 10); - } - await renderScene(sb.build()); - } - - // Frame 1: - // Render: up to cache size platform views. - // Expect: main canvas plus platform view overlays. - await renderTestScene(viewCount: 8); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - ]); - - // Frame 2: - // Render: zero platform views. - // Expect: main canvas, no overlays. - await renderTestScene(viewCount: 0); - _expectSceneMatches(<_EmbeddedViewMarker>[]); - - // Frame 3: - // Render: less than cache size platform views. - // Expect: overlays reused. - await renderTestScene(viewCount: 6); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - ]); - - // Frame 4: - // Render: more platform views than max overlay count. - // Expect: main canvas, backup overlay, maximum overlays. - await renderTestScene(viewCount: 16); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - - // Frame 5: - // Render: zero platform views. - // Expect: main canvas, no overlays. - await renderTestScene(viewCount: 0); - _expectSceneMatches(<_EmbeddedViewMarker>[]); - - // Frame 6: - // Render: deleted platform views. - // Expect: error. - for (final int id in platformViewIds) { - const StandardMethodCodec codec = StandardMethodCodec(); - final Completer completer = Completer(); - ui.PlatformDispatcher.instance.sendPlatformMessage( - 'flutter/platform_views', - codec.encodeMethodCall(MethodCall('dispose', id)), - completer.complete, - ); - await completer.future; - } - - try { - await renderTestScene(viewCount: platformViewIds.length); - fail('Expected to throw'); - } on AssertionError catch (error) { - expect( - error.toString(), - contains( - 'Cannot render platform views: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15. These views have not been created, or they have been deleted.', - ), - ); - } - - // Frame 7: - // Render: a platform view after error. - // Expect: success. Just checking the system is not left in a corrupted state. - await createPlatformView(0, 'test-platform-view'); - await renderTestScene(viewCount: 0); - _expectSceneMatches(<_EmbeddedViewMarker>[]); - }); - - test('correctly reuses overlays', () async { - final CkPicture testPicture = paintPicture(const ui.Rect.fromLTRB(0, 0, 10, 10), ( - CkCanvas canvas, - ) { - canvas.drawCircle(const ui.Offset(5, 5), 5, CkPaint()); - }); - - // Initialize all platform views to be used in the test. - final List platformViewIds = []; - for (int i = 0; i < 20; i++) { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-$i', - ); - await createPlatformView(i, 'test-platform-view'); - platformViewIds.add(i); - } - - Future renderTestScene(List views) async { - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - for (final int view in views) { - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(view, width: 10, height: 10); - } - await renderScene(sb.build()); - } - - // Frame 1: - // Render: Views 1-10 - // Expect: main canvas plus platform view overlays; empty cache. - await renderTestScene([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - - // Frame 2: - // Render: Views 2-11 - // Expect: main canvas plus platform view overlays; empty cache. - await renderTestScene([2, 3, 4, 5, 6, 7, 8, 9, 10, 11]); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - - // Frame 3: - // Render: Views 3-12 - // Expect: main canvas plus platform view overlays; empty cache. - await renderTestScene([3, 4, 5, 6, 7, 8, 9, 10, 11, 12]); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - - // Frame 4: - // Render: Views 3-12 again (same as last frame) - // Expect: main canvas plus platform view overlays; empty cache. - await renderTestScene([3, 4, 5, 6, 7, 8, 9, 10, 11, 12]); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - }); - - test('embeds and disposes of a platform view', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[_platformView]); - - expect(platformViewsHost.querySelector('flt-platform-view'), isNotNull); - - await disposePlatformView(0); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - await renderScene(sb.build()); - - _expectSceneMatches(<_EmbeddedViewMarker>[]); - - expect(platformViewsHost.querySelector('flt-platform-view'), isNull); - }); - - test( - 'does not crash when resizing the window after textures have been registered', - () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - final CkBrowserImageDecoder image = await CkBrowserImageDecoder.create( - contentType: 'image/gif', - data: kAnimatedGif, - debugSource: 'test', - ); - final ui.FrameInfo frame = await image.getNextFrame(); - final CkImage ckImage = frame.image as CkImage; - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(ui.Rect.largest); - canvas.drawImage(ckImage, ui.Offset.zero, CkPaint()); - final CkPicture picture = recorder.endRecording(); - sb.addPicture(ui.Offset.zero, picture); - sb.addPlatformView(0, width: 10, height: 10); - - implicitView.debugPhysicalSizeOverride = const ui.Size(100, 100); - implicitView.debugForceResize(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView]); - - implicitView.debugPhysicalSizeOverride = const ui.Size(200, 200); - implicitView.debugForceResize(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView]); - - implicitView.debugPhysicalSizeOverride = null; - implicitView.debugForceResize(); - - // ImageDecoder is not supported in Safari or Firefox. - }, - skip: isSafari || isFirefox, - ); - - test('preserves the DOM node of an unrendered platform view', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[_platformView]); - - expect(platformViewsHost.querySelector('flt-platform-view'), isNotNull); - - // Render a frame with a different platform view. - await createPlatformView(1, 'test-platform-view'); - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPlatformView(1, width: 10, height: 10); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[_platformView]); - - expect(platformViewsHost.querySelectorAll('flt-platform-view'), hasLength(2)); - - // Render a frame without a platform view, but also without disposing of - // the platform view. - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[]); - - // The actual contents of the platform view are kept in the dom, until - // it's actually disposed of! - expect(platformViewsHost.querySelectorAll('flt-platform-view'), hasLength(2)); - }); - - test('removes old SVG clip definitions from the DOM when the view is recomposited', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'test-view', - ); - await createPlatformView(0, 'test-platform-view'); - - Future renderTestScene() async { - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.pushClipRRect(ui.RRect.fromLTRBR(0, 0, 10, 10, const ui.Radius.circular(3))); - sb.addPlatformView(0, width: 10, height: 10); - await renderScene(sb.build()); - } - - final DomNode skPathDefs = sceneHost.querySelector('#sk_path_defs')!; - - expect(skPathDefs.childNodes, hasLength(0)); - - await renderTestScene(); - expect(skPathDefs.childNodes, hasLength(1)); - - await renderTestScene(); - expect(skPathDefs.childNodes, hasLength(1)); - - await renderTestScene(); - expect(skPathDefs.childNodes, hasLength(1)); - }); - - test('does not crash when a prerolled platform view is not composited', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-0', - ); - await createPlatformView(0, 'test-platform-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.pushClipRect(ui.Rect.zero); - sb.addPlatformView(0, width: 10, height: 10); - sb.pop(); - // The below line should not throw an error. - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[]); - }); - - test('does not create overlays for invisible platform views', () async { - final CkPicture testPicture = paintPicture(const ui.Rect.fromLTRB(0, 0, 10, 10), ( - CkCanvas canvas, - ) { - canvas.drawCircle(const ui.Offset(5, 5), 5, CkPaint()); - }); - ui_web.platformViewRegistry.registerViewFactory( - 'test-visible-view', - (int viewId) => createDomHTMLDivElement()..className = 'visible-platform-view', - ); - ui_web.platformViewRegistry.registerViewFactory( - 'test-invisible-view', - (int viewId) => createDomHTMLDivElement()..className = 'invisible-platform-view', - isVisible: false, - ); - await createPlatformView(0, 'test-visible-view'); - await createPlatformView(1, 'test-invisible-view'); - await createPlatformView(2, 'test-visible-view'); - await createPlatformView(3, 'test-invisible-view'); - await createPlatformView(4, 'test-invisible-view'); - await createPlatformView(5, 'test-invisible-view'); - await createPlatformView(6, 'test-invisible-view'); - - expect(PlatformViewManager.instance.isInvisible(0), isFalse); - expect(PlatformViewManager.instance.isInvisible(1), isTrue); - - LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _platformView, - _overlay, - ], reason: 'Invisible view renders, followed by an overlay.'); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(0, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _overlay, - ], reason: 'Overlay created after a group containing a visible view.'); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(0, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(2, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _overlay, - _platformView, - ], reason: 'Overlays created after each group containing a visible view.'); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(0, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(2, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(3, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _overlay, - _platformView, - _platformView, - _overlay, - ], reason: 'Invisible views grouped in with visible views.'); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(0, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(2, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(3, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(4, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _overlay, - ]); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(0, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(2, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(3, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(4, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(5, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _platformView, - _overlay, - ]); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(0, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(2, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(3, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(4, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(5, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(6, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _overlay, - ]); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(3, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(4, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(5, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(6, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _overlay, - ], reason: 'Many invisible views can be rendered on top of the base overlay.'); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(2, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(3, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(4, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _overlay, - ]); - - sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(4, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(3, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(2, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(1, width: 10, height: 10); - sb.pop(); - await renderScene(sb.build()); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _platformView, - _platformView, - _overlay, - _platformView, - _platformView, - _overlay, - ]); - }); - - test('can dispose without crashing', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-view', - (int viewId) => createDomHTMLDivElement()..className = 'platform-view', - isVisible: false, - ); - - await createPlatformView(0, 'test-view'); - await createPlatformView(1, 'test-view'); - await createPlatformView(2, 'test-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder() - ..pushOffset(0, 0) - ..addPlatformView(0, width: 10, height: 10) - ..addPlatformView(1, width: 10, height: 10) - ..addPlatformView(2, width: 10, height: 10) - ..pop(); - - await renderScene(sb.build()); - - _expectSceneMatches(<_EmbeddedViewMarker>[_platformView, _platformView, _platformView]); - - expect(() { - final HtmlViewEmbedder embedder = (renderer as CanvasKitRenderer) - .debugGetRasterizerForView(implicitView)! - .viewEmbedder; - // The following line used to cause a "Concurrent modification during iteration" - embedder.dispose(); - }, returnsNormally); - }); - - test('optimizes overlays when pictures and platform views do not overlap', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-view', - (int viewId) => createDomHTMLDivElement()..className = 'platform-view', - ); - - CkPicture rectPicture(ui.Rect rect) { - return paintPicture(rect, (CkCanvas canvas) { - canvas.drawRect(rect, CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0)); - }); - } - - await createPlatformView(0, 'test-view'); - await createPlatformView(1, 'test-view'); - await createPlatformView(2, 'test-view'); - - expect(PlatformViewManager.instance.isVisible(0), isTrue); - expect(PlatformViewManager.instance.isVisible(1), isTrue); - expect(PlatformViewManager.instance.isVisible(2), isTrue); - - // Scene 1: Pictures just overlap with the most recently painted platform - // view. Analogous to third-party images with subtitles overlaid. Should - // only need one overlay at the end of the scene. - final LayerSceneBuilder sb1 = LayerSceneBuilder(); - sb1.pushOffset(0, 0); - sb1.addPlatformView(0, offset: const ui.Offset(10, 10), width: 50, height: 50); - sb1.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(12, 12, 10, 10))); - sb1.addPlatformView(1, offset: const ui.Offset(70, 10), width: 50, height: 50); - sb1.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(72, 12, 10, 10))); - sb1.addPlatformView(2, offset: const ui.Offset(130, 10), width: 50, height: 50); - sb1.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(132, 12, 10, 10))); - final LayerScene scene1 = sb1.build(); - await renderScene(scene1); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _platformView, - _platformView, - _platformView, - _overlay, - ]); - - // Scene 2: Same as scene 1 but with a background painted first. Should only - // need a canvas for the background and one more for the rest of the - // pictures. - final LayerSceneBuilder sb2 = LayerSceneBuilder(); - sb2.pushOffset(0, 0); - sb2.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 300, 300))); - sb2.addPlatformView(0, offset: const ui.Offset(10, 10), width: 50, height: 50); - sb2.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(12, 12, 10, 10))); - sb2.addPlatformView(1, offset: const ui.Offset(70, 10), width: 50, height: 50); - sb2.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(72, 12, 10, 10))); - sb2.addPlatformView(2, offset: const ui.Offset(130, 10), width: 50, height: 50); - sb2.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(132, 12, 10, 10))); - final LayerScene scene2 = sb2.build(); - await renderScene(scene2); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _platformView, - _overlay, - ]); - - // Scene 3: Paints a full-screen picture between each platform view. This - // is the worst case scenario. There should be an overlay between each - // platform view. - final LayerSceneBuilder sb3 = LayerSceneBuilder(); - sb3.pushOffset(0, 0); - sb3.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 300, 300))); - sb3.addPlatformView(0, offset: const ui.Offset(10, 10), width: 50, height: 50); - sb3.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 300, 300))); - sb3.addPlatformView(1, offset: const ui.Offset(70, 10), width: 50, height: 50); - sb3.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 300, 300))); - sb3.addPlatformView(2, offset: const ui.Offset(130, 10), width: 50, height: 50); - sb3.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 300, 300))); - final LayerScene scene3 = sb3.build(); - await renderScene(scene3); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - ]); - - // Scene 4: Same as scene 1 but with a placeholder rectangle painted - // under each platform view. This is closer to how the real Flutter - // framework would render a grid of platform views. Interestingly, in this - // case every drawing can go in a base canvas. - final LayerSceneBuilder sb4 = LayerSceneBuilder(); - sb4.pushOffset(0, 0); - sb4.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 300, 300))); - sb4.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(10, 10, 50, 50))); - sb4.addPlatformView(0, offset: const ui.Offset(10, 10), width: 50, height: 50); - sb4.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(70, 10, 50, 50))); - sb4.addPlatformView(1, offset: const ui.Offset(70, 10), width: 50, height: 50); - sb4.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(130, 10, 50, 50))); - sb4.addPlatformView(2, offset: const ui.Offset(130, 10), width: 50, height: 50); - final LayerScene scene4 = sb4.build(); - await renderScene(scene4); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _platformView, - ]); - - // Scene 5: A combination of scene 1 and scene 4, where a subtitle is - // painted over each platform view and a placeholder is painted under each - // one. - final LayerSceneBuilder sb5 = LayerSceneBuilder(); - sb5.pushOffset(0, 0); - sb5.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 300, 300))); - sb5.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(10, 10, 50, 50))); - sb5.addPlatformView(0, offset: const ui.Offset(10, 10), width: 50, height: 50); - sb5.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(12, 12, 10, 10))); - sb5.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(70, 10, 50, 50))); - sb5.addPlatformView(1, offset: const ui.Offset(70, 10), width: 50, height: 50); - sb5.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(72, 12, 10, 10))); - sb5.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(130, 10, 50, 50))); - sb5.addPlatformView(2, offset: const ui.Offset(130, 10), width: 50, height: 50); - sb5.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(132, 12, 10, 10))); - final LayerScene scene5 = sb5.build(); - await renderScene(scene5); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _platformView, - _platformView, - _overlay, - ]); - }); - - test('correctly places pictures in case where next ' - 'picture intersects multiple elements', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-view', - (int viewId) => createDomHTMLDivElement()..className = 'platform-view', - ); - ui_web.platformViewRegistry.registerViewFactory( - 'invisible-view', - (int viewId) => createDomHTMLDivElement()..className = 'invisible-platform-view', - isVisible: false, - ); - - CkPicture rectPicture(ui.Rect rect) { - return paintPicture(rect, (CkCanvas canvas) { - canvas.drawRect(rect, CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0)); - }); - } - - await createPlatformView(0, 'test-view'); - await createPlatformView(1, 'invisible-view'); - - expect(PlatformViewManager.instance.isVisible(0), isTrue); - expect(PlatformViewManager.instance.isVisible(1), isFalse); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 100, 100))); - sb.addPlatformView(0, offset: const ui.Offset(10, 10), width: 50, height: 50); - sb.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 100, 100))); - sb.addPlatformView(1, offset: const ui.Offset(10, 10), width: 50, height: 50); - sb.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 5, 5))); - final LayerScene scene = sb.build(); - await renderScene(scene); - _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView, _platformView, _overlay]); - - final Rendering rendering = CanvasKitRenderer.instance - .debugGetRasterizerForView(implicitView)! - .viewEmbedder - .debugActiveRendering; - final List picturesPerCanvas = rendering.canvases - .map((RenderingRenderCanvas canvas) => canvas.pictures.length) - .toList(); - expect(picturesPerCanvas, [1, 2]); - }); - - test('sinks platform view under the canvas if it does not overlap with the picture', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-view', - (int viewId) => createDomHTMLDivElement()..className = 'platform-view', - ); - - CkPicture rectPicture(double l, double t, double w, double h) { - final ui.Rect rect = ui.Rect.fromLTWH(l, t, w, h); - return paintPicture(rect, (CkCanvas canvas) { - canvas.drawRect(rect, CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0)); - }); - } - - await createPlatformView(0, 'test-view'); - await createPlatformView(1, 'test-view'); - - expect(PlatformViewManager.instance.isVisible(0), isTrue); - expect(PlatformViewManager.instance.isVisible(1), isTrue); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - - // First picture-view-picture stack. - { - sb.pushOffset(0, 0); - sb.addPicture(ui.Offset.zero, rectPicture(0, 0, 10, 10)); - sb.addPlatformView(0, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, rectPicture(2, 2, 5, 5)); - sb.pop(); - } - - // Second picture-view-picture stack that does not overlap with the first one. - { - sb.pushOffset(20, 0); - sb.addPicture(ui.Offset.zero, rectPicture(0, 0, 10, 10)); - sb.addPlatformView(1, width: 10, height: 10); - sb.addPicture(ui.Offset.zero, rectPicture(2, 2, 5, 5)); - sb.pop(); - } - - final LayerScene scene1 = sb.build(); - await renderScene(scene1); - _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView, _platformView, _overlay]); - }); - - test('optimizes overlays correctly with transforms and clips', () async { - ui_web.platformViewRegistry.registerViewFactory( - 'test-view', - (int viewId) => createDomHTMLDivElement()..className = 'platform-view', - ); - - CkPicture rectPicture(ui.Rect rect) { - return paintPicture(rect, (CkCanvas canvas) { - canvas.drawRect(rect, CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0)); - }); - } - - await createPlatformView(0, 'test-view'); - - expect(PlatformViewManager.instance.isVisible(0), isTrue); - - // Test optimization correctly computes bounds with transforms and clips. - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - final Matrix4 scaleMatrix = Matrix4.identity()..scale(3, 3, 1); - sb.pushTransform(scaleMatrix.toFloat64()); - sb.pushClipRect(const ui.Rect.fromLTWH(10, 10, 10, 10)); - sb.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 20, 20))); - sb.addPlatformView(0, width: 20, height: 20); - final LayerScene scene = sb.build(); - await renderScene(scene); - _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView]); - }); - - test('can customize amount of overlays', () async { - final CkPicture testPicture = paintPicture(const ui.Rect.fromLTRB(0, 0, 10, 10), ( - CkCanvas canvas, - ) { - canvas.drawCircle(const ui.Offset(5, 5), 5, CkPaint()); - }); - - // Initialize all platform views to be used in the test. - final List platformViewIds = []; - for (int i = 0; i < 16; i++) { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-$i', - ); - await createPlatformView(i, 'test-platform-view'); - platformViewIds.add(i); - } - - Future renderTestScene({required int viewCount}) async { - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - for (int i = 0; i < viewCount; i++) { - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(i, width: 10, height: 10); - } - await renderScene(sb.build()); - } - - // Set maximum overlays to 4. - debugOverrideJsConfiguration( - {'canvasKitMaximumSurfaces': 4}.jsify() as JsFlutterConfiguration?, - ); - - await renderTestScene(viewCount: 8); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - - // Set maximum overlays to -1. Should default to 1. - debugOverrideJsConfiguration( - {'canvasKitMaximumSurfaces': -1}.jsify() as JsFlutterConfiguration?, - ); - - await renderTestScene(viewCount: 8); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - - debugOverrideJsConfiguration(null); - }); - - test('correctly rearranges pictures to second-to-last canvas ' - 'when hitting canvas limit', () async { - final CkPicture testPicture = paintPicture(const ui.Rect.fromLTRB(0, 0, 10, 10), ( - CkCanvas canvas, - ) { - canvas.drawCircle(const ui.Offset(5, 5), 5, CkPaint()); - }); - - // Initialize all platform views to be used in the test. - final List platformViewIds = []; - for (int i = 0; i < 20; i++) { - ui_web.platformViewRegistry.registerViewFactory( - 'test-platform-view', - (int viewId) => createDomHTMLDivElement()..id = 'view-$i', - ); - await createPlatformView(i, 'test-platform-view'); - platformViewIds.add(i); - } - - Future renderTestScene(List views) async { - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.pushOffset(0, 0); - for (final int view in views) { - sb.addPicture(ui.Offset.zero, testPicture); - sb.addPlatformView(view, width: 10, height: 10); - } - await renderScene(sb.build()); - } - - // Render scene with 20 pictures. Check that the second-to-last canvas - // contains the pictures from the canvases that were deleted. - await renderTestScene([ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - ]); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _overlay, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - - // The second-to-last canvas should have all the extra pictures. - final Rendering rendering = CanvasKitRenderer.instance - .debugGetRasterizerForView(implicitView)! - .viewEmbedder - .debugActiveRendering; - final List numPicturesPerCanvas = rendering.canvases - .map((RenderingRenderCanvas canvas) => canvas.pictures.length) - .toList(); - expect(numPicturesPerCanvas, [1, 1, 1, 1, 1, 1, 12, 1]); - - // It should also work when the maximum canvases is just one. - debugOverrideJsConfiguration( - {'canvasKitMaximumSurfaces': 1}.jsify() as JsFlutterConfiguration?, - ); - - // Render scene with 20 pictures. Check that the last canvas contains the - // pictures from the canvases that were deleted. - await renderTestScene([ - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - ]); - _expectSceneMatches(<_EmbeddedViewMarker>[ - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _platformView, - _overlay, - _platformView, - ]); - - // The last canvas should have all the pictures. - final Rendering secondRendering = CanvasKitRenderer.instance - .debugGetRasterizerForView(implicitView)! - .viewEmbedder - .debugActiveRendering; - final List picturesPerCanvasInSecondRendering = secondRendering.canvases - .map((RenderingRenderCanvas canvas) => canvas.pictures.length) - .toList(); - expect(picturesPerCanvasInSecondRendering, [19]); - debugOverrideJsConfiguration(null); - }); - - test('disposes render pictures', () async { - Instrumentation.enabled = true; - Instrumentation.instance.debugCounters.clear(); - - ui_web.platformViewRegistry.registerViewFactory( - 'test-view', - (int viewId) => createDomHTMLDivElement()..className = 'platform-view', - ); - - CkPicture rectPicture(ui.Rect rect) { - return paintPicture(rect, (CkCanvas canvas) { - canvas.drawRect(rect, CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0)); - }); - } - - final CkPicture picture = rectPicture(const ui.Rect.fromLTWH(0, 0, 20, 20)); - - await createPlatformView(0, 'test-view'); - - final LayerSceneBuilder sb = LayerSceneBuilder(); - sb.addPicture(ui.Offset.zero, picture); - sb.addPlatformView(0, width: 20, height: 20); - final LayerScene scene = sb.build(); - await renderScene(scene); - - picture.dispose(); - final Map debugCounters = Instrumentation.instance.debugCounters; - expect(debugCounters['Picture Created'], debugCounters['Picture Deleted']); - }); - }); -} - -// Used to test that the platform views and overlays are in the correct order in -// the scene. -enum _EmbeddedViewMarker { overlay, platformView } - -_EmbeddedViewMarker get _overlay => _EmbeddedViewMarker.overlay; -_EmbeddedViewMarker get _platformView => _EmbeddedViewMarker.platformView; - -const Map _tagToViewMarker = { - 'flt-canvas-container': _EmbeddedViewMarker.overlay, - 'flt-platform-view-slot': _EmbeddedViewMarker.platformView, - 'flt-clip': _EmbeddedViewMarker.platformView, -}; - -void _expectSceneMatches(List<_EmbeddedViewMarker> expectedMarkers, {String? reason}) { - final DomElement fltScene = sceneHost.querySelector('flt-scene')!; - // Convert the scene elements to its corresponding array of _EmbeddedViewMarker - final List<_EmbeddedViewMarker> sceneElements = fltScene.children - .where((DomElement element) => element.tagName != 'svg') - .map((DomElement element) => _tagToViewMarker[element.tagName.toLowerCase()]!) - .toList(); - - expect(sceneElements, expectedMarkers, reason: reason); -} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/filter_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/filter_test.dart index dd11a98d6d39e..a1e9eb6666752 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/filter_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/filter_test.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:typed_data'; + import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; @@ -119,27 +120,6 @@ void testMain() { } } - test('== operator', () { - final List filters1 = [ - ...createImageFilters(), - ...createColorFilters(), - ]; - final List filters2 = [ - ...createImageFilters(), - ...createColorFilters(), - ]; - - for (int index1 = 0; index1 < filters1.length; index1 += 1) { - final ui.ImageFilter imageFilter1 = filters1[index1]; - expect(imageFilter1 == imageFilter1, isTrue); - for (int index2 = 0; index2 < filters2.length; index2 += 1) { - final ui.ImageFilter imageFilter2 = filters2[index2]; - expect(imageFilter1 == imageFilter2, imageFilter2 == imageFilter1); - expect(imageFilter1 == imageFilter2, index1 == index2); - } - } - }); - test('reuses the Skia filter', () { final CkPaint paint = CkPaint(); paint.imageFilter = CkImageFilter.blur(sigmaX: 5, sigmaY: 10, tileMode: ui.TileMode.clamp); @@ -153,123 +133,5 @@ void testMain() { expect(managedFilter1, same(managedFilter2)); }); - - test('does not throw for both sigmaX and sigmaY set to 0', () async { - final CkImageFilter imageFilter = CkImageFilter.blur( - sigmaX: 0, - sigmaY: 0, - tileMode: ui.TileMode.clamp, - ); - expect(imageFilter, isNotNull); - - const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); - - final LayerSceneBuilder builder = LayerSceneBuilder(); - builder.pushOffset(0, 0); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); - - canvas.drawCircle( - const ui.Offset(75, 125), - 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), - ); - final CkPicture redCircle1 = recorder.endRecording(); - builder.addPicture(ui.Offset.zero, redCircle1); - - builder.pushImageFilter(imageFilter); - - // Draw another red circle and apply it to the scene. - // This one should also be red with the image filter doing nothing - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); - canvas2.drawCircle( - const ui.Offset(425, 125), - 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), - ); - final CkPicture redCircle2 = recorder2.endRecording(); - - builder.addPicture(ui.Offset.zero, redCircle2); - - await matchSceneGolden('canvaskit_zero_sigma_blur.png', builder.build(), region: region); - }); - - test('using a colorFilter', () async { - final CkColorFilter colorFilter = createCkColorFilter( - const EngineColorFilter.mode(ui.Color.fromARGB(255, 0, 255, 0), ui.BlendMode.srcIn), - )!; - - const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); - - final LayerSceneBuilder builder = LayerSceneBuilder(); - builder.pushOffset(0, 0); - - builder.pushImageFilter(colorFilter); - - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); - - canvas.drawCircle( - const ui.Offset(75, 125), - 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), - ); - final CkPicture redCircle1 = recorder.endRecording(); - builder.addPicture(ui.Offset.zero, redCircle1); - // The drawn red circle should actually be green with the colorFilter. - - await matchSceneGolden( - 'canvaskit_imageFilter_using_colorFilter.png', - builder.build(), - region: region, - ); - }); - - test('using a compose filter', () async { - final CkImageFilter blurFilter = CkImageFilter.blur( - sigmaX: 5, - sigmaY: 5, - tileMode: ui.TileMode.clamp, - ); - final CkColorFilter colorFilter = createCkColorFilter( - const EngineColorFilter.mode(ui.Color.fromARGB(255, 0, 255, 0), ui.BlendMode.srcIn), - )!; - final CkImageFilter colorImageFilter = CkImageFilter.color(colorFilter: colorFilter); - final CkImageFilter composeFilter = CkImageFilter.compose( - outer: blurFilter, - inner: colorImageFilter, - ); - - const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); - - final LayerSceneBuilder builder = LayerSceneBuilder(); - builder.pushOffset(0, 0); - - builder.pushImageFilter(composeFilter); - - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); - - canvas.drawCircle( - const ui.Offset(75, 125), - 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), - ); - final CkPicture redCircle1 = recorder.endRecording(); - builder.addPicture(ui.Offset.zero, redCircle1); - // The drawn red circle should actually be green and blurred. - - await matchSceneGolden('canvaskit_composeImageFilter.png', builder.build(), region: region); - }); - }); - - group('MaskFilter', () { - test('with 0 sigma can be set on a Paint', () { - final ui.Paint paint = ui.Paint(); - const ui.MaskFilter filter = ui.MaskFilter.blur(ui.BlurStyle.normal, 0); - - expect(() => paint.maskFilter = filter, isNot(throwsException)); - }); }); } diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/fragment_program_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/fragment_program_test.dart index 184719722a170..9cd833e0c278e 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/fragment_program_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/fragment_program_test.dart @@ -7,7 +7,6 @@ import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; - import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/image_golden_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/image_golden_test.dart index 8f149c4578236..dfb0f0d928cef 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/image_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/image_golden_test.dart @@ -3,7 +3,6 @@ // found in the LICENSE file. import 'dart:async'; -import 'dart:js_interop'; import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; @@ -18,333 +17,34 @@ void main() { internalBootstrapBrowserTest(() => testMain); } -abstract class TestCodec { - TestCodec({required this.description}); - final String description; - - ui.Codec? _cachedCodec; - - Future getCodec() async => _cachedCodec ??= await createCodec(); - - Future createCodec(); - - void dispose() { - _cachedCodec?.dispose(); - _cachedCodec = null; - } -} - -abstract class TestFileCodec extends TestCodec { - TestFileCodec.fromTestFile(this.testFile, {required super.description}); - - final String testFile; - - Future createCodecFromTestFile(String testFile); - - @override - Future createCodec() { - return createCodecFromTestFile(testFile); - } -} - -class UrlTestCodec extends TestFileCodec { - UrlTestCodec(super.testFile, this.codecFactory, String function) - : super.fromTestFile(description: 'created with $function("$testFile")'); - - final Future Function(String) codecFactory; - - @override - Future createCodecFromTestFile(String testFile) { - return codecFactory(testFile); - } -} - -class FetchTestCodec extends TestFileCodec { - FetchTestCodec(super.testFile, this.codecFactory, String function) - : super.fromTestFile( - description: - 'created with $function from bytes ' - 'fetch()\'ed from "$testFile"', - ); - - final Future Function(Uint8List) codecFactory; - - @override - Future createCodecFromTestFile(String testFile) async { - final HttpFetchResponse response = await httpFetch(testFile); - - if (!response.hasPayload) { - throw Exception('Unable to fetch() image test file "$testFile"'); - } - - final Uint8List responseBytes = await response.asUint8List(); - return codecFactory(responseBytes); - } -} - -class BitmapTestCodec extends TestFileCodec { - BitmapTestCodec(super.testFile, this.codecFactory, String function) - : super.fromTestFile( - description: - 'created with $function from ImageBitmap' - ' created from "$testFile"', - ); - - final Future Function(DomImageBitmap) codecFactory; - - @override - Future createCodecFromTestFile(String testFile) async { - final DomHTMLImageElement imageElement = createDomHTMLImageElement(); - imageElement.src = testFile; - imageElement.decoding = 'async'; - - await imageElement.decode(); - - final DomImageBitmap bitmap = await createImageBitmap(imageElement, ( - x: 0, - y: 0, - width: imageElement.naturalWidth.toInt(), - height: imageElement.naturalHeight.toInt(), - )); - - final ui.Image image = await codecFactory(bitmap); - return BitmapSingleFrameCodec(bitmap, image); - } -} - -class BitmapSingleFrameCodec implements ui.Codec { - BitmapSingleFrameCodec(this.bitmap, this.image); - - final DomImageBitmap bitmap; - final ui.Image image; - - @override - void dispose() { - image.dispose(); - bitmap.close(); - } - - @override - int get frameCount => 1; - - @override - Future getNextFrame() async { - return SingleFrameInfo(image); - } - - @override - int get repetitionCount => 0; -} - Future testMain() async { - final HttpFetchResponse listingResponse = await httpFetch('/test_images/'); - final List testFiles = - ((await listingResponse.json() as JSAny?).dartify()! as List).cast(); - - List createTestCodecs({int testTargetWidth = 300, int testTargetHeight = 300}) { - // Sanity-check the test file list. If suddenly test files are moved or - // deleted, and the test server returns an empty list, or is missing some - // important test files, we want to know. - assert(testFiles.isNotEmpty); - assert(testFiles.any((String testFile) => testFile.endsWith('.jpg'))); - assert(testFiles.any((String testFile) => testFile.endsWith('.png'))); - assert(testFiles.any((String testFile) => testFile.endsWith('.gif'))); - assert(testFiles.any((String testFile) => testFile.endsWith('.webp'))); - assert(testFiles.any((String testFile) => testFile.endsWith('.bmp'))); - - final List testCodecs = []; - for (final String testFile in testFiles) { - testCodecs.add( - UrlTestCodec( - testFile, - (String file) => - renderer.instantiateImageCodecFromUrl(Uri.tryParse('/test_images/$file')!), - 'renderer.instantiateImageFromUrl', - ), - ); - testCodecs.add( - FetchTestCodec( - '/test_images/$testFile', - (Uint8List bytes) => renderer.instantiateImageCodec(bytes), - 'renderer.instantiateImageCodec', - ), - ); - testCodecs.add( - FetchTestCodec( - '/test_images/$testFile', - (Uint8List bytes) => renderer.instantiateImageCodec( - bytes, - targetWidth: testTargetWidth, - targetHeight: testTargetHeight, - ), - 'renderer.instantiateImageCodec ' - '($testTargetWidth x $testTargetHeight)', - ), - ); - testCodecs.add( - BitmapTestCodec( - 'test_images/$testFile', - (DomImageBitmap bitmap) async => renderer.createImageFromImageBitmap(bitmap), - 'renderer.createImageFromImageBitmap', - ), - ); - } - - return testCodecs; - } - group('CanvasKit Images', () { setUpCanvasKitTest(withImplicitView: true); - tearDown(() { - mockHttpFetchResponseFactory = null; - }); - - group('Codecs', () { - final List testCodecs = createTestCodecs(); - for (final TestCodec testCodec in testCodecs) { - test('${testCodec.description} can create an image', () async { - try { - final ui.Codec codec = await testCodec.getCodec(); - final ui.FrameInfo frameInfo = await codec.getNextFrame(); - final ui.Image image = frameInfo.image; - expect(image, isNotNull); - expect(image.width, isNonZero); - expect(image.height, isNonZero); - expect(image.colorSpace, isNotNull); - } catch (e) { - throw TestFailure('Failed to get image for ${testCodec.description}: $e'); - } - }); - - test('${testCodec.description} can be decoded with toByteData', () async { - ui.Image image; - try { - final ui.Codec codec = await testCodec.getCodec(); - final ui.FrameInfo frameInfo = await codec.getNextFrame(); - image = frameInfo.image; - } catch (e) { - throw TestFailure('Failed to get image for ${testCodec.description}: $e'); - } + test('ImageDecoder toByteData(PNG)', () async { + final CkAnimatedImage image = CkAnimatedImage.decodeFromBytes(kAnimatedGif, 'test'); + final ui.FrameInfo frame = await image.getNextFrame(); + final ByteData? png = await frame.image.toByteData(format: ui.ImageByteFormat.png); + expect(png, isNotNull); - final ByteData? byteData = await image.toByteData(); - expect( - byteData, - isNotNull, - reason: '${testCodec.description} toByteData() should not be null', - ); - expect( - byteData!.lengthInBytes, - isNonZero, - reason: '${testCodec.description} toByteData() should not be empty', - ); - expect( - byteData.buffer.asUint8List().any((int byte) => byte > 0), - isTrue, - reason: - '${testCodec.description} toByteData() should ' - 'contain nonzero value', - ); - }); - } - for (final testCodec in testCodecs) { - testCodec.dispose(); - } + // The precise PNG encoding is browser-specific, but we can check the file + // signature. + expect(detectImageType(png!.buffer.asUint8List()), ImageType.png); }); - test('crossOrigin requests cause an error', () async { - final String otherOrigin = domWindow.location.origin.replaceAll('localhost', '127.0.0.1'); - bool gotError = false; - try { - final ui.Codec _ = await renderer.instantiateImageCodecFromUrl( - Uri.parse('$otherOrigin/test_images/1x1.png'), - ); - } catch (e) { - gotError = true; + test('CkAnimatedImage toByteData(RGBA)', () async { + final CkAnimatedImage image = CkAnimatedImage.decodeFromBytes(kAnimatedGif, 'test'); + const List> expectedColors = >[ + [255, 0, 0, 255], + [0, 255, 0, 255], + [0, 0, 255, 255], + ]; + for (int i = 0; i < image.frameCount; i++) { + final ui.FrameInfo frame = await image.getNextFrame(); + final ByteData? rgba = await frame.image.toByteData(); + expect(rgba, isNotNull); + expect(rgba!.buffer.asUint8List(), expectedColors[i]); } - expect(gotError, isTrue, reason: 'Should have got CORS error'); - }); - - _testCkAnimatedImage(); - - test('isAvif', () { - expect(isAvif(Uint8List.fromList([])), isFalse); - expect(isAvif(Uint8List.fromList([1, 2, 3])), isFalse); - expect( - isAvif( - Uint8List.fromList([ - 0x00, - 0x00, - 0x00, - 0x1c, - 0x66, - 0x74, - 0x79, - 0x70, - 0x61, - 0x76, - 0x69, - 0x66, - 0x00, - 0x00, - 0x00, - 0x00, - ]), - ), - isTrue, - ); - expect( - isAvif( - Uint8List.fromList([ - 0x00, - 0x00, - 0x00, - 0x20, - 0x66, - 0x74, - 0x79, - 0x70, - 0x61, - 0x76, - 0x69, - 0x66, - 0x00, - 0x00, - 0x00, - 0x00, - ]), - ), - isTrue, - ); }); - }, skip: isSafari); -} - -/// Tests specific to WASM codecs bundled with CanvasKit. -void _testCkAnimatedImage() { - test('ImageDecoder toByteData(PNG)', () async { - final CkAnimatedImage image = CkAnimatedImage.decodeFromBytes(kAnimatedGif, 'test'); - final ui.FrameInfo frame = await image.getNextFrame(); - final ByteData? png = await frame.image.toByteData(format: ui.ImageByteFormat.png); - expect(png, isNotNull); - - // The precise PNG encoding is browser-specific, but we can check the file - // signature. - expect(detectImageType(png!.buffer.asUint8List()), ImageType.png); - }); - - test('CkAnimatedImage toByteData(RGBA)', () async { - final CkAnimatedImage image = CkAnimatedImage.decodeFromBytes(kAnimatedGif, 'test'); - const List> expectedColors = >[ - [255, 0, 0, 255], - [0, 255, 0, 255], - [0, 0, 255, 255], - ]; - for (int i = 0; i < image.frameCount; i++) { - final ui.FrameInfo frame = await image.getNextFrame(); - final ByteData? rgba = await frame.image.toByteData(); - expect(rgba, isNotNull); - expect(rgba!.buffer.asUint8List(), expectedColors[i]); - } }); } diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/image_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/image_test.dart index 9e1ea67294e8e..a916fdf382b65 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/image_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/image_test.dart @@ -31,46 +31,6 @@ void testMain() { image.dispose(); }); - test('Image constructor invokes onCreate once', () async { - int onCreateInvokedCount = 0; - ui.Image? createdImage; - ui.Image.onCreate = (ui.Image image) { - onCreateInvokedCount++; - createdImage = image; - }; - - final ui.Image image1 = await _createImage(); - - expect(onCreateInvokedCount, 1); - expect(createdImage, image1); - - final ui.Image image2 = await _createImage(); - - expect(onCreateInvokedCount, 2); - expect(createdImage, image2); - }); - - test('dispose() invokes onDispose once', () async { - int onDisposeInvokedCount = 0; - ui.Image? disposedImage; - ui.Image.onDispose = (ui.Image image) { - onDisposeInvokedCount++; - disposedImage = image; - }; - - final ui.Image image1 = await _createImage() - ..dispose(); - - expect(onDisposeInvokedCount, 1); - expect(disposedImage, image1); - - final ui.Image image2 = await _createImage() - ..dispose(); - - expect(onDisposeInvokedCount, 2); - expect(disposedImage, image2); - }); - test('fetchImage fetches image in chunks', () async { final List cumulativeBytesLoadedInvocations = []; final List expectedTotalBytesInvocations = []; @@ -103,83 +63,6 @@ void testMain() { expect(result, List.generate(100000, (int i) => i & 0xFF)); }); - test('scaledImageSize scales to a target width with no target height', () { - final BitmapSize? size = scaledImageSize(200, 100, 600, null); - expect(size?.width, 600); - expect(size?.height, 300); - }); - - test('instantiateImageCodecFromBuffer dispose buffer', () async { - final ui.Image image = await _createImage(); - final ByteData? imageData = await image.toByteData(format: ui.ImageByteFormat.png); - final ui.ImmutableBuffer imageBuffer = await ui.ImmutableBuffer.fromUint8List( - imageData!.buffer.asUint8List(), - ); - - final ui.Codec codec = await ui.instantiateImageCodecFromBuffer(imageBuffer); - codec.dispose(); - image.dispose(); - - expect(imageBuffer.debugDisposed, isTrue); - }); - - test('instantiateImageCodecWithSize dispose buffer', () async { - // getTargetSize is null, so the image is not scaled. - final ui.Image image = await _createImage(); - final ByteData? imageData = await image.toByteData(format: ui.ImageByteFormat.png); - final ui.ImmutableBuffer nullTargetSizeImageBuffer = await ui.ImmutableBuffer.fromUint8List( - imageData!.buffer.asUint8List(), - ); - - final ui.Codec codec = await ui.instantiateImageCodecWithSize(nullTargetSizeImageBuffer); - codec.dispose(); - image.dispose(); - - expect(nullTargetSizeImageBuffer.debugDisposed, isTrue); - - // getTargetSize is not null, so the image is scaled. - final ui.Image scaledImage = await _createImage(); - final ByteData? scaledImageData = await scaledImage.toByteData(format: ui.ImageByteFormat.png); - final ui.ImmutableBuffer scaledImageBuffer = await ui.ImmutableBuffer.fromUint8List( - scaledImageData!.buffer.asUint8List(), - ); - - final ui.Codec scaledCodec = await ui.instantiateImageCodecWithSize( - scaledImageBuffer, - getTargetSize: (w, h) => ui.TargetImageSize(width: w ~/ 2, height: h ~/ 2), - ); - scaledCodec.dispose(); - scaledImage.dispose(); - - expect(scaledImageBuffer.debugDisposed, isTrue); - }); - - test('instantiateImageCodecWithSize disposes temporary image', () async { - final Set activeImages = {}; - ui.Image.onCreate = activeImages.add; - ui.Image.onDispose = activeImages.remove; - - final ui.Image image = await _createImage(); - final ByteData? imageData = await image.toByteData(format: ui.ImageByteFormat.png); - final ui.ImmutableBuffer imageBuffer = await ui.ImmutableBuffer.fromUint8List( - imageData!.buffer.asUint8List(), - ); - image.dispose(); - - final ui.Codec codec = await ui.instantiateImageCodecWithSize( - imageBuffer, - getTargetSize: (w, h) => ui.TargetImageSize(width: w ~/ 2, height: h ~/ 2), - ); - final ui.FrameInfo frameInfo = await codec.getNextFrame(); - - expect(activeImages.length, 1); - - frameInfo.image.dispose(); - codec.dispose(); - - expect(activeImages.length, 0); - }); - test('CkImage does not close image source too early', () async { final ImageSource imageSource = ImageBitmapImageSource( await domWindow.createImageBitmap(createBlankDomImageData(4, 4)), diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/linear_gradient_golden_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/linear_gradient_golden_test.dart deleted file mode 100644 index 627fbf2cbfcbf..0000000000000 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/linear_gradient_golden_test.dart +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:math' as math; - -import 'package:test/bootstrap/browser.dart'; -import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; - -import 'common.dart'; - -void main() { - internalBootstrapBrowserTest(() => testMain); -} - -const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); - -void testMain() { - group('Linear', () { - setUpCanvasKitTest(withImplicitView: true); - - test('is correctly rendered', () async { - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); - - final CkGradientLinear gradient = CkGradientLinear( - ui.Offset(region.left + region.width / 4, region.height / 2), - ui.Offset(region.right - region.width / 8, region.height / 2), - const [ - ui.Color(0xFF4285F4), - ui.Color(0xFF34A853), - ui.Color(0xFFFBBC05), - ui.Color(0xFFEA4335), - ui.Color(0xFF4285F4), - ], - const [0.0, 0.25, 0.5, 0.75, 1.0], - ui.TileMode.clamp, - null, - ); - - final CkPaint paint = CkPaint()..shader = gradient; - - canvas.drawRect(region, paint); - - await matchPictureGolden( - 'canvaskit_linear_gradient.png', - recorder.endRecording(), - region: region, - ); - }); - - test('is correctly rendered when rotated', () async { - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); - - final CkGradientLinear gradient = CkGradientLinear( - ui.Offset(region.left + region.width / 4, region.height / 2), - ui.Offset(region.right - region.width / 8, region.height / 2), - const [ - ui.Color(0xFF4285F4), - ui.Color(0xFF34A853), - ui.Color(0xFFFBBC05), - ui.Color(0xFFEA4335), - ui.Color(0xFF4285F4), - ], - const [0.0, 0.25, 0.5, 0.75, 1.0], - ui.TileMode.clamp, - Matrix4.rotationZ(math.pi / 6.0).storage, - ); - - final CkPaint paint = CkPaint()..shader = gradient; - - canvas.drawRect(region, paint); - - await matchPictureGolden( - 'canvaskit_linear_gradient_rotated.png', - recorder.endRecording(), - region: region, - ); - }); - // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 - }, skip: isSafari || isFirefox); -} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/native_memory_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/native_memory_test.dart index 1f7b394245b90..ff5a695db6133 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/native_memory_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/native_memory_test.dart @@ -6,7 +6,6 @@ import 'dart:js_interop'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; - import 'package:ui/src/engine.dart'; import 'common.dart'; diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/painting_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/painting_test.dart index c27aa99ed4e60..fe0851ce757c1 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/painting_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/painting_test.dart @@ -4,7 +4,6 @@ import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; - import 'package:ui/src/engine.dart'; import 'common.dart'; diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/path_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/path_test.dart deleted file mode 100644 index 8bdb7b7eeef9e..0000000000000 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/path_test.dart +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:test/bootstrap/browser.dart'; -import 'package:test/test.dart'; - -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; - -import 'common.dart'; - -void main() { - internalBootstrapBrowserTest(() => testMain); -} - -void testMain() { - group('CkPath', () { - setUpCanvasKitTest(); - - test('Using CanvasKit', () { - expect(renderer is CanvasKitRenderer, isTrue); - }); - - test(CkPathMetrics, () { - final CkPath path = CkPath(); - expect(path.computeMetrics().length, 0); - - path.addRect(const ui.Rect.fromLTRB(0, 0, 10, 10)); - final ui.PathMetric metric = path.computeMetrics().single; - expect(metric.contourIndex, 0); - expect(metric.extractPath(0, 0.5).computeMetrics().length, 1); - - final ui.Tangent tangent1 = metric.getTangentForOffset(5)!; - expect(tangent1.position, const ui.Offset(5, 0)); - expect(tangent1.vector, const ui.Offset(1, 0)); - - final ui.Tangent tangent2 = metric.getTangentForOffset(15)!; - expect(tangent2.position, const ui.Offset(10, 5)); - expect(tangent2.vector, const ui.Offset(0, 1)); - - expect(metric.isClosed, isTrue); - - path.addOval(const ui.Rect.fromLTRB(10, 10, 100, 100)); - expect(path.computeMetrics().length, 2); - - // Can simultaneously iterate over multiple metrics from the same path. - final ui.PathMetrics metrics1 = path.computeMetrics(); - final ui.PathMetrics metrics2 = path.computeMetrics(); - final Iterator iter1 = metrics1.iterator; - final Iterator iter2 = metrics2.iterator; - expect(iter1.moveNext(), isTrue); - expect(iter2.moveNext(), isTrue); - expect(iter1.current, isNotNull); - expect(iter2.current, isNotNull); - expect(iter1.moveNext(), isTrue); - expect(iter2.moveNext(), isTrue); - expect(iter1.current, isNotNull); - expect(iter2.current, isNotNull); - expect(iter1.moveNext(), isFalse); - expect(iter2.moveNext(), isFalse); - expect(() => iter1.current, throwsRangeError); - expect(() => iter2.current, throwsRangeError); - }); - - test('CkPath.reset', () { - final CkPath path = CkPath(); - path.addRect(const ui.Rect.fromLTRB(0, 0, 10, 10)); - expect(path.contains(const ui.Offset(5, 5)), isTrue); - - expect(path.fillType, ui.PathFillType.nonZero); - path.fillType = ui.PathFillType.evenOdd; - expect(path.fillType, ui.PathFillType.evenOdd); - - path.reset(); - expect(path.fillType, ui.PathFillType.nonZero); - expect(path.contains(const ui.Offset(5, 5)), isFalse); - }); - - test('CkPath.shift creates a shifted copy of the path', () { - const ui.Rect testRect = ui.Rect.fromLTRB(0, 0, 10, 10); - final CkPath path = CkPath(); - path.addRect(testRect); - expect(path.getBounds(), testRect); - - expect( - path.shift(const ui.Offset(20, 20)).getBounds(), - testRect.shift(const ui.Offset(20, 20)), - ); - - // Make sure the original path wasn't mutated. - expect(path.getBounds(), testRect); - }); - - test('CkContourMeasure iteration', () { - final CkPath path = CkPath(); - path.addRect(const ui.Rect.fromLTRB(0, 0, 10, 10)); - path.addRect(const ui.Rect.fromLTRB(20, 20, 30, 30)); - path.addRect(const ui.Rect.fromLTRB(40, 40, 50, 50)); - - final ui.PathMetrics metrics = path.computeMetrics(); - final CkContourMeasureIter iterator = metrics.iterator as CkContourMeasureIter; - - expect(iterator.moveNext(), isTrue); - expect(iterator.current.contourIndex, 0); - expect(iterator.moveNext(), isTrue); - expect(iterator.current.contourIndex, 1); - }); - - test('CkContourMeasure index', () { - final CkPath path = CkPath(); - path.addRect(const ui.Rect.fromLTRB(0, 0, 10, 10)); - path.addRect(const ui.Rect.fromLTRB(20, 20, 30, 30)); - path.addRect(const ui.Rect.fromLTRB(40, 40, 50, 50)); - - final CkPathMetrics metrics = path.computeMetrics(); - final CkContourMeasureIter iterator = metrics.iterator as CkContourMeasureIter; - - expect(iterator.moveNext(), isTrue); - final CkContourMeasure measure0 = iterator.current; - expect(measure0.contourIndex, 0); - expect(measure0.extractPath(0, 15).getBounds(), const ui.Rect.fromLTRB(0, 0, 10, 5)); - - expect(iterator.moveNext(), isTrue); - final CkContourMeasure measure1 = iterator.current; - expect(measure1.contourIndex, 1); - expect(measure1.extractPath(0, 15).getBounds(), const ui.Rect.fromLTRB(20, 20, 30, 25)); - }); - - test('Path.from', () { - const ui.Rect rect1 = ui.Rect.fromLTRB(0, 0, 10, 10); - const ui.Rect rect2 = ui.Rect.fromLTRB(10, 10, 20, 20); - - final CkPath original = CkPath(); - original.addRect(rect1); - expect(original.getBounds(), rect1); - - final ui.Path copy = CkPath.from(original); - expect(copy, isA()); - expect(copy.getBounds(), rect1); - - // Test that when copy is mutated, the original is not affected - copy.addRect(rect2); - expect(original.getBounds(), rect1); - expect(copy.getBounds(), rect1.expandToInclude(rect2)); - }); - }); -} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/picture_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/picture_test.dart index 9fef48c10662a..8dcb59e75b8e8 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/picture_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/picture_test.dart @@ -6,7 +6,6 @@ import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; - import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/rasterizer_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/rasterizer_test.dart new file mode 100644 index 0000000000000..9722fb36d686a --- /dev/null +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/rasterizer_test.dart @@ -0,0 +1,38 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:js_interop'; + +import 'package:test/bootstrap/browser.dart'; +import 'package:test/test.dart'; +import 'package:ui/src/engine.dart'; + +import 'common.dart'; + +void main() { + internalBootstrapBrowserTest(() => testMain); +} + +void testMain() { + setUpCanvasKitTest(withImplicitView: true); + test( + 'defaults to OffscreenCanvasRasterizer on Chrome and MultiSurfaceRasterizer on Firefox and Safari', + () { + if (isChromium) { + expect(CanvasKitRenderer.instance.rasterizer, isA()); + } else { + expect(CanvasKitRenderer.instance.rasterizer, isA()); + } + }, + ); + + test('can be configured to always use MultiSurfaceRasterizer', () { + debugOverrideJsConfiguration( + {'canvasKitForceMultiSurfaceRasterizer': true}.jsify() + as JsFlutterConfiguration?, + ); + CanvasKitRenderer.instance.debugResetRasterizer(); + expect(CanvasKitRenderer.instance.rasterizer, isA()); + }); +} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/renderer_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/renderer_test.dart index 0586595eafdc4..b1f8351aa9f3c 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/renderer_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/renderer_test.dart @@ -54,13 +54,17 @@ class TestViewRasterizer extends ViewRasterizer { } @override - Future draw(LayerTree tree) async { + Future draw(LayerTree tree, FrameTimingRecorder? recorder) async { treesRendered.add(tree); return Future.value(); } @override - Future rasterizeToCanvas(DisplayCanvas canvas, List pictures) { + Future rasterize( + List canvases, + List pictures, + FrameTimingRecorder? recorder, + ) { // No-op return Future.value(); } @@ -186,9 +190,9 @@ void testMain() { 'defaults to OffscreenCanvasRasterizer on Chrome and MultiSurfaceRasterizer on Firefox and Safari', () { if (isChromium) { - expect(CanvasKitRenderer.instance.debugGetRasterizer(), isA()); + expect(CanvasKitRenderer.instance.rasterizer, isA()); } else { - expect(CanvasKitRenderer.instance.debugGetRasterizer(), isA()); + expect(CanvasKitRenderer.instance.rasterizer, isA()); } }, ); @@ -199,7 +203,7 @@ void testMain() { as JsFlutterConfiguration?, ); CanvasKitRenderer.instance.debugResetRasterizer(); - expect(CanvasKitRenderer.instance.debugGetRasterizer(), isA()); + expect(CanvasKitRenderer.instance.rasterizer, isA()); }); }); } diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/scene_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/scene_test.dart deleted file mode 100644 index 9526636fbad3c..0000000000000 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/scene_test.dart +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:test/bootstrap/browser.dart'; -import 'package:test/test.dart'; - -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; - -import '../common/test_initialization.dart'; - -void main() { - internalBootstrapBrowserTest(() => testMain); -} - -void testMain() { - group('$LayerScene', () { - setUpAll(() async { - await bootstrapAndRunApp(); - }); - - test('toImage returns an image', () async { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - expect(recorder, isA()); - - final ui.Canvas canvas = ui.Canvas(recorder); - expect(canvas, isA()); - - final ui.Paint paint = ui.Paint(); - expect(paint, isA()); - paint.color = const ui.Color.fromARGB(255, 255, 0, 0); - - // Draw a red circle. - canvas.drawCircle(const ui.Offset(20, 20), 10, paint); - - final ui.Picture picture = recorder.endRecording(); - expect(picture, isA()); - - final ui.SceneBuilder builder = ui.SceneBuilder(); - expect(builder, isA()); - - builder.pushOffset(0, 0); - builder.addPicture(ui.Offset.zero, picture); - - final ui.Scene scene = builder.build(); - - final ui.Image sceneImage = await scene.toImage(100, 100); - expect(sceneImage, isA()); - }); - - test('pushColorFilter does not throw', () async { - final ui.SceneBuilder builder = ui.SceneBuilder(); - expect(builder, isA()); - - builder.pushOffset(0, 0); - builder.pushColorFilter(const ui.ColorFilter.srgbToLinearGamma()); - - final ui.Scene scene = builder.build(); - expect(scene, isNotNull); - }); - }); -} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/skia_font_collection_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/skia_font_collection_test.dart index b984ba8c94dd4..0939d3a28cd12 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/skia_font_collection_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/skia_font_collection_test.dart @@ -6,7 +6,6 @@ import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; - import 'package:ui/src/engine.dart'; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/surface_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/surface_test.dart index 39cb285ffd65a..ae3bba2d684f2 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/surface_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/surface_test.dart @@ -305,7 +305,7 @@ void testMain() { CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); final CkPicture picture = recorder.endRecording(); - await surface.rasterizeToCanvas(const BitmapSize(10, 10), renderCanvas, [picture]); + await surface.rasterizeToCanvas(const BitmapSize(10, 10), renderCanvas, picture); expect(transferToImageBitmapCalls, 1); }, skip: !Surface.offscreenCanvasSupported); diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/text_test.dart b/engine/src/flutter/lib/web_ui/test/canvaskit/text_test.dart index 31a9c1f616573..85c17ac6bde75 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/text_test.dart +++ b/engine/src/flutter/lib/web_ui/test/canvaskit/text_test.dart @@ -15,73 +15,8 @@ void main() { } void testMain() { - group('CanvasKit text', () { + group('Text', () { setUpCanvasKitTest(); - - test("doesn't crash when using shadows", () { - final ui.TextStyle textStyleWithShadows = ui.TextStyle( - fontSize: 16, - shadows: [ - const ui.Shadow(blurRadius: 3.0, offset: ui.Offset(3.0, 3.0)), - const ui.Shadow(blurRadius: 3.0, offset: ui.Offset(-3.0, 3.0)), - const ui.Shadow(blurRadius: 3.0, offset: ui.Offset(3.0, -3.0)), - const ui.Shadow(blurRadius: 3.0, offset: ui.Offset(-3.0, -3.0)), - ], - fontFamily: 'Roboto', - ); - - for (int i = 0; i < 10; i++) { - final ui.ParagraphBuilder builder = ui.ParagraphBuilder(ui.ParagraphStyle(fontSize: 16)); - builder.pushStyle(textStyleWithShadows); - builder.addText('test'); - final ui.Paragraph paragraph = builder.build(); - expect(paragraph, isNotNull); - } - }); - - // Regression test for https://github.com/flutter/flutter/issues/78550 - test('getBoxesForRange works for LTR text in an RTL paragraph', () { - // Create builder for an RTL paragraph. - final ui.ParagraphBuilder builder = ui.ParagraphBuilder( - ui.ParagraphStyle(fontSize: 16, textDirection: ui.TextDirection.rtl), - ); - builder.addText('hello'); - final ui.Paragraph paragraph = builder.build(); - paragraph.layout(const ui.ParagraphConstraints(width: 100)); - expect(paragraph, isNotNull); - final List boxes = paragraph.getBoxesForRange(0, 1); - expect(boxes, hasLength(1)); - // The direction for this span is LTR even though the paragraph is RTL - // because the directionality of the 'h' is LTR. - expect(boxes.single.direction, equals(ui.TextDirection.ltr)); - }); - - test('Renders tab as space instead of tofu', () async { - // CanvasKit renders a tofu if the font does not have a glyph for a - // character. However, Flutter opts-in to a CanvasKit feature to render - // tabs as a single space. - // See: https://github.com/flutter/flutter/issues/79153 - Future drawText(String text) { - const ui.Rect bounds = ui.Rect.fromLTRB(0, 0, 100, 100); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(bounds); - final CkParagraph paragraph = makeSimpleText(text); - - canvas.drawParagraph(paragraph, ui.Offset.zero); - final ui.Picture picture = recorder.endRecording(); - return picture.toImage(100, 100); - } - - // The backspace character, \b, does not have a corresponding glyph and - // is rendered as a tofu. - final ui.Image tabImage = await drawText('>\t<'); - final ui.Image spaceImage = await drawText('> <'); - final ui.Image tofuImage = await drawText('>\b<'); - - expect(await matchImage(tabImage, spaceImage), isTrue); - expect(await matchImage(tabImage, tofuImage), isFalse); - }); - group('test fonts in flutterTester environment', () { setUpAll(() { ui_web.TestEnvironment.setUp(const ui_web.TestEnvironment.flutterTester()); @@ -103,8 +38,8 @@ void testMain() { defaultTestFontFamily, ); expect( - CkStrutStyle(fontFamily: 'BogusFontFamily'), - CkStrutStyle(fontFamily: defaultTestFontFamily), + ui.StrutStyle(fontFamily: 'BogusFontFamily'), + ui.StrutStyle(fontFamily: defaultTestFontFamily), ); }); @@ -113,7 +48,7 @@ void testMain() { expect(CkTextStyle().effectiveFontFamily, defaultTestFontFamily); expect(CkParagraphStyle().getTextStyle().effectiveFontFamily, defaultTestFontFamily); - expect(CkStrutStyle(), CkStrutStyle(fontFamily: defaultTestFontFamily)); + expect(ui.StrutStyle(), ui.StrutStyle(fontFamily: defaultTestFontFamily)); }); test('Can specify test fontFamily to use', () { @@ -126,6 +61,5 @@ void testMain() { } }); }); - // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 - }, skip: isSafari || isFirefox); + }); } diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/display_canvas_factory_test.dart b/engine/src/flutter/lib/web_ui/test/engine/compositing/display_canvas_factory_test.dart similarity index 95% rename from engine/src/flutter/lib/web_ui/test/canvaskit/display_canvas_factory_test.dart rename to engine/src/flutter/lib/web_ui/test/engine/compositing/display_canvas_factory_test.dart index 426f1ae5098a1..4dd190117142d 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/display_canvas_factory_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/compositing/display_canvas_factory_test.dart @@ -6,7 +6,7 @@ import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; -import 'common.dart'; +import '../../common/test_initialization.dart'; void main() { internalBootstrapBrowserTest(() => testMain); @@ -30,7 +30,7 @@ class DummyDisplayCanvas extends DisplayCanvas { void testMain() { group('$DisplayCanvasFactory', () { - setUpCanvasKitTest(withImplicitView: true); + setUpUnitTests(withImplicitView: true); test('getCanvas', () { final DisplayCanvasFactory factory = DisplayCanvasFactory( @@ -89,9 +89,8 @@ void testMain() { final EngineFlutterView implicitView = EnginePlatformDispatcher.instance.implicitView!; - final DisplayCanvasFactory originalFactory = CanvasKitRenderer.instance - .debugGetRasterizerForView(implicitView)! - .displayFactory; + final DisplayCanvasFactory originalFactory = + renderer.rasterizers[implicitView.viewId]!.displayFactory; // Cause the surface and its canvas to be attached to the page implicitView.dom.sceneHost.prepend(originalFactory.baseCanvas.hostElement); diff --git a/engine/src/flutter/lib/web_ui/test/engine/compositing/rasterizer_test.dart b/engine/src/flutter/lib/web_ui/test/engine/compositing/rasterizer_test.dart new file mode 100644 index 0000000000000..254bb1a599e9e --- /dev/null +++ b/engine/src/flutter/lib/web_ui/test/engine/compositing/rasterizer_test.dart @@ -0,0 +1,191 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:test/bootstrap/browser.dart'; +import 'package:test/test.dart'; +import 'package:ui/src/engine.dart'; +import 'package:ui/ui.dart' as ui; + +import '../../common/test_initialization.dart'; + +void main() { + internalBootstrapBrowserTest(() => testMain); +} + +class TestRasterizer extends Rasterizer { + Map viewRasterizers = + {}; + + @override + TestViewRasterizer createViewRasterizer(EngineFlutterView view) { + return viewRasterizers.putIfAbsent(view, () => TestViewRasterizer(view)); + } + + @override + void dispose() { + // Do nothing + } + + @override + void setResourceCacheMaxBytes(int bytes) { + // Do nothing + } + + List treesRenderedInView(EngineFlutterView view) { + return viewRasterizers[view]!.treesRendered; + } +} + +class TestViewRasterizer extends ViewRasterizer { + TestViewRasterizer(super.view); + + List treesRendered = []; + + @override + DisplayCanvasFactory get displayFactory => throw UnimplementedError(); + + @override + void prepareToDraw() { + // Do nothing + } + + @override + Future draw(LayerTree tree, FrameTimingRecorder? recorder) async { + treesRendered.add(tree); + return Future.value(); + } + + @override + Future rasterize( + List displayCanvases, + List pictures, + FrameTimingRecorder? recorder, + ) { + // No-op + return Future.value(); + } + + @override + Map? dumpDebugInfo() { + return null; + } +} + +void testMain() { + group('Rasterizer', () { + setUpUnitTests(); + + tearDown(() { + renderer.debugResetRasterizer(); + }); + + test('always renders most recent picture and skips intermediate pictures', () async { + final TestRasterizer testRasterizer = TestRasterizer(); + renderer.debugOverrideRasterizer(testRasterizer); + + // Create another view to render into to force the renderer to make + // a [ViewRasterizer] for it. + final EngineFlutterView testView = EngineFlutterView( + EnginePlatformDispatcher.instance, + createDomElement('test-view'), + ); + EnginePlatformDispatcher.instance.viewManager.registerView(testView); + + final List treesToRender = []; + final List> renderFutures = >[]; + for (int i = 1; i < 20; i++) { + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder); + canvas.drawRect( + const ui.Rect.fromLTWH(0, 0, 50, 50), + ui.Paint()..color = const ui.Color(0xff00ff00), + ); + final ui.Picture picture = recorder.endRecording(); + final ui.SceneBuilder builder = ui.SceneBuilder(); + builder.addPicture(ui.Offset.zero, picture); + final ui.Scene scene = builder.build(); + treesToRender.add((scene as LayerScene).layerTree); + renderFutures.add(renderer.renderScene(scene, testView)); + } + await Future.wait(renderFutures); + + // Should just render the first and last pictures and skip the one inbetween. + final List treesRendered = testRasterizer.treesRenderedInView(testView); + expect(treesRendered.length, 2); + expect(treesRendered.first, treesToRender.first); + expect(treesRendered.last, treesToRender.last); + }); + + test('can render multiple frames at once into multiple views', () async { + final TestRasterizer testRasterizer = TestRasterizer(); + renderer.debugOverrideRasterizer(testRasterizer); + + // Create another view to render into to force the renderer to make + // a [ViewRasterizer] for it. + final EngineFlutterView testView1 = EngineFlutterView( + EnginePlatformDispatcher.instance, + createDomElement('test-view'), + ); + EnginePlatformDispatcher.instance.viewManager.registerView(testView1); + final EngineFlutterView testView2 = EngineFlutterView( + EnginePlatformDispatcher.instance, + createDomElement('test-view'), + ); + EnginePlatformDispatcher.instance.viewManager.registerView(testView2); + final EngineFlutterView testView3 = EngineFlutterView( + EnginePlatformDispatcher.instance, + createDomElement('test-view'), + ); + EnginePlatformDispatcher.instance.viewManager.registerView(testView3); + + final Map> treesToRender = + >{}; + treesToRender[testView1] = []; + treesToRender[testView2] = []; + treesToRender[testView3] = []; + final List> renderFutures = >[]; + + for (int i = 1; i < 20; i++) { + for (final EngineFlutterView testView in [ + testView1, + testView2, + testView3, + ]) { + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder); + canvas.drawRect( + const ui.Rect.fromLTWH(0, 0, 50, 50), + ui.Paint()..color = const ui.Color(0xff00ff00), + ); + final ui.Picture picture = recorder.endRecording(); + final ui.SceneBuilder builder = ui.SceneBuilder(); + builder.addPicture(ui.Offset.zero, picture); + final ui.Scene scene = builder.build(); + treesToRender[testView]!.add((scene as LayerScene).layerTree); + renderFutures.add(renderer.renderScene(scene, testView)); + } + } + await Future.wait(renderFutures); + + // Should just render the first and last pictures and skip the one inbetween. + final List treesRenderedInView1 = testRasterizer.treesRenderedInView(testView1); + final List treesToRenderInView1 = treesToRender[testView1]!; + expect(treesRenderedInView1.length, 2); + expect(treesRenderedInView1.first, treesToRenderInView1.first); + expect(treesRenderedInView1.last, treesToRenderInView1.last); + + final List treesRenderedInView2 = testRasterizer.treesRenderedInView(testView2); + final List treesToRenderInView2 = treesToRender[testView2]!; + expect(treesRenderedInView2.length, 2); + expect(treesRenderedInView2.first, treesToRenderInView2.first); + expect(treesRenderedInView2.last, treesToRenderInView2.last); + + final List treesRenderedInView3 = testRasterizer.treesRenderedInView(testView3); + final List treesToRenderInView3 = treesToRender[testView3]!; + expect(treesRenderedInView3.length, 2); + expect(treesRenderedInView3.first, treesToRenderInView3.first); + expect(treesRenderedInView3.last, treesToRenderInView3.last); + }); + }); +} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/render_canvas_test.dart b/engine/src/flutter/lib/web_ui/test/engine/compositing/render_canvas_test.dart similarity index 82% rename from engine/src/flutter/lib/web_ui/test/canvaskit/render_canvas_test.dart rename to engine/src/flutter/lib/web_ui/test/engine/compositing/render_canvas_test.dart index b728858f37f9a..775caaa71cc9a 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/render_canvas_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/compositing/render_canvas_test.dart @@ -8,15 +8,15 @@ import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -import 'common.dart'; +import '../../common/test_initialization.dart'; void main() { internalBootstrapBrowserTest(() => testMain); } void testMain() { - group('CanvasKit', () { - setUpCanvasKitTest(withImplicitView: true); + group('RenderCanvas', () { + setUpUnitTests(withImplicitView: true); setUp(() async { EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(1.0); }); @@ -63,18 +63,18 @@ void testMain() { final EngineFlutterWindow implicitView = EnginePlatformDispatcher.instance.implicitView!; implicitView.debugPhysicalSizeOverride = const ui.Size(199.999999, 200.000001); - final ui.SceneBuilder sceneBuilder = LayerSceneBuilder(); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(ui.Rect.largest); - canvas.drawPaint(CkPaint()..color = const ui.Color(0xff00ff00)); - final CkPicture picture = recorder.endRecording(); + final ui.SceneBuilder sceneBuilder = ui.SceneBuilder(); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, ui.Rect.largest); + canvas.drawPaint(ui.Paint()..color = const ui.Color(0xff00ff00)); + final ui.Picture picture = recorder.endRecording(); sceneBuilder.addPicture(ui.Offset.zero, picture); final ui.Scene scene = sceneBuilder.build(); - await renderScene(scene); + await renderer.renderScene(scene, implicitView); expect( - CanvasKitRenderer.instance.debugGetRasterizerForView(implicitView)!.currentFrameSize, + renderer.rasterizers[implicitView.viewId]!.currentFrameSize, const BitmapSize(200, 200), ); diff --git a/engine/src/flutter/lib/web_ui/test/engine/culling_test.dart b/engine/src/flutter/lib/web_ui/test/engine/culling_test.dart new file mode 100644 index 0000000000000..d59d104210bdc --- /dev/null +++ b/engine/src/flutter/lib/web_ui/test/engine/culling_test.dart @@ -0,0 +1,198 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:test/bootstrap/browser.dart'; +import 'package:test/test.dart'; +import 'package:ui/src/engine.dart'; +import 'package:ui/ui.dart' as ui; + +import '../common/test_initialization.dart'; + +void main() { + internalBootstrapBrowserTest(() => testMain); +} + +void testMain() { + setUpUnitTests(withImplicitView: true); + + test('Picture is culled when outside of the viewport', () { + // Create a picture that is outside the viewport. + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder); + canvas.drawRect(const ui.Rect.fromLTWH(200, 200, 10, 10), ui.Paint()); + final ui.Picture picture = recorder.endRecording(); + + final PictureLayer pictureLayer = PictureLayer( + picture as LayerPicture, + ui.Offset.zero, + false, + false, + ); + + final RootLayer rootLayer = RootLayer(); + rootLayer.children.add(pictureLayer); + final PlatformViewEmbedder embedder = createPlatformViewEmbedder(); + + // Preroll and measure the scene. The viewport is 100x100. + final PrerollVisitor prerollVisitor = PrerollVisitor(embedder); + rootLayer.accept(prerollVisitor); + + final MeasureVisitor measureVisitor = MeasureVisitor(const BitmapSize(100, 100), embedder); + rootLayer.accept(measureVisitor); + + embedder.optimizeComposition(); + + // The picture should be culled and not composited. + expect(embedder.debugContext.pictureToOptimizedCanvasMap!.containsKey(pictureLayer), isFalse); + }); + + test('Picture is culled when clipped out', () { + // Create a picture. + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder); + canvas.drawRect(const ui.Rect.fromLTWH(0, 0, 10, 10), ui.Paint()); + final ui.Picture picture = recorder.endRecording(); + + final PictureLayer pictureLayer = PictureLayer( + picture as LayerPicture, + const ui.Offset(50, 50), // Position the picture inside the clip. + false, + false, + ); + + final ClipRectEngineLayer clipRectLayer = ClipRectEngineLayer( + const ui.Rect.fromLTWH(0, 0, 20, 20), // Clip rect is at the top-left. + ui.Clip.hardEdge, + ); + clipRectLayer.children.add(pictureLayer); + + final RootLayer rootLayer = RootLayer(); + rootLayer.children.add(clipRectLayer); + final PlatformViewEmbedder embedder = createPlatformViewEmbedder(); + + // Preroll and measure the scene. The viewport is 100x100. + final PrerollVisitor prerollVisitor = PrerollVisitor(embedder); + rootLayer.accept(prerollVisitor); + + final MeasureVisitor measureVisitor = MeasureVisitor(const BitmapSize(100, 100), embedder); + rootLayer.accept(measureVisitor); + + embedder.optimizeComposition(); + + // The picture is outside the clip, so it should be culled and not composited. + expect(embedder.debugContext.pictureToOptimizedCanvasMap!.containsKey(pictureLayer), isFalse); + }); + + test('Picture is not culled when inside a clip', () { + // Create a picture. + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder); + canvas.drawRect(const ui.Rect.fromLTWH(0, 0, 10, 10), ui.Paint()); + final ui.Picture picture = recorder.endRecording(); + + final PictureLayer pictureLayer = PictureLayer( + picture as LayerPicture, + const ui.Offset(5, 5), // Position the picture inside the clip. + false, + false, + ); + + final ClipRectEngineLayer clipRectLayer = ClipRectEngineLayer( + const ui.Rect.fromLTWH(0, 0, 20, 20), // Clip rect is at the top-left. + ui.Clip.hardEdge, + ); + clipRectLayer.children.add(pictureLayer); + + final RootLayer rootLayer = RootLayer(); + rootLayer.children.add(clipRectLayer); + final PlatformViewEmbedder embedder = createPlatformViewEmbedder(); + + // Preroll and measure the scene. The viewport is 100x100. + final PrerollVisitor prerollVisitor = PrerollVisitor(embedder); + rootLayer.accept(prerollVisitor); + + final MeasureVisitor measureVisitor = MeasureVisitor(const BitmapSize(100, 100), embedder); + rootLayer.accept(measureVisitor); + + embedder.optimizeComposition(); + + // The picture is inside the clip, so it should not be culled and should be composited. + expect(embedder.debugContext.pictureToOptimizedCanvasMap!.containsKey(pictureLayer), isTrue); + }); + + test('Picture is not culled when it becomes visible again', () { + // Create a picture. + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder); + canvas.drawRect(const ui.Rect.fromLTWH(0, 0, 10, 10), ui.Paint()); + final ui.Picture picture = recorder.endRecording(); + + final PictureLayer pictureLayer = PictureLayer( + picture as LayerPicture, + const ui.Offset(25, 25), // Position the picture. + false, + false, + ); + + void renderAndCheck(ui.Rect clipRect, {required bool isComposited}) { + final ClipRectEngineLayer clipRectLayer = ClipRectEngineLayer(clipRect, ui.Clip.hardEdge); + // IMPORTANT: we are reusing the same pictureLayer instance. + clipRectLayer.children.add(pictureLayer); + final RootLayer rootLayer = RootLayer(); + rootLayer.children.add(clipRectLayer); + final PlatformViewEmbedder embedder = createPlatformViewEmbedder(); + + final PrerollVisitor prerollVisitor = PrerollVisitor(embedder); + rootLayer.accept(prerollVisitor); + final MeasureVisitor measureVisitor = MeasureVisitor(const BitmapSize(100, 100), embedder); + rootLayer.accept(measureVisitor); + + embedder.optimizeComposition(); + expect( + embedder.debugContext.pictureToOptimizedCanvasMap!.containsKey(pictureLayer), + isComposited, + ); + } + + // Frame 1: The picture is outside the clip, so it should be culled and not composited. + renderAndCheck( + const ui.Rect.fromLTWH(0, 0, 20, 20), // Clip rect is at the top-left. + isComposited: false, + ); + + // Frame 2: The clip is moved to contain the picture. It should not be culled. + renderAndCheck( + const ui.Rect.fromLTWH(0, 0, 40, 40), // Clip rect now contains the picture. + isComposited: true, + ); + }); +} + +PlatformViewEmbedder createPlatformViewEmbedder() { + return PlatformViewEmbedder( + createDomHTMLDivElement(), + FakeRasterizer(EnginePlatformDispatcher.instance.implicitView!), + )..frameSize = const BitmapSize(100, 100); +} + +class FakeRasterizer extends ViewRasterizer { + FakeRasterizer(super.view); + + @override + DisplayCanvasFactory get displayFactory => throw UnimplementedError(); + + @override + void prepareToDraw() { + throw UnimplementedError(); + } + + @override + Future rasterize( + List displayCanvases, + List pictures, + FrameTimingRecorder? recorder, + ) { + throw UnimplementedError(); + } +} diff --git a/engine/src/flutter/lib/web_ui/test/engine/frame_service_test.dart b/engine/src/flutter/lib/web_ui/test/engine/frame_service_test.dart index e99e0e212af65..31358966609c3 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/frame_service_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/frame_service_test.dart @@ -14,12 +14,18 @@ void main() { void testMain() { group('FrameService', () { - setUp(() { + void resetFrameService() { + // Emulate a hot restart to clear listeners from previous tests. + debugEmulateHotRestart(); + FrameService.debugOverrideFrameService(null); expect(FrameService.instance.runtimeType, FrameService); EnginePlatformDispatcher.instance.onBeginFrame = null; EnginePlatformDispatcher.instance.onDrawFrame = null; - }); + } + + setUp(resetFrameService); + tearDownAll(resetFrameService); test('instance is valid and can be overridden', () { final defaultInstance = FrameService.instance; @@ -151,6 +157,40 @@ void testMain() { expect(isRenderingInOnDrawFrame, isTrue); expect(valueInOnFinishedRenderingFrame, isFalse); }); + + test('Frame is cancelled after a hot restart', () async { + final instance = FrameService.instance; + + final frameCompleter = Completer(); + instance.onFinishedRenderingFrame = () { + frameCompleter.complete(); + }; + + expect(instance.isFrameScheduled, isFalse); + instance.scheduleFrame(); + expect(instance.isFrameScheduled, isTrue); + // Perform a hot restart immediately after scheduling the frame. + debugEmulateHotRestart(); + + // Wait for 1 second for the frame to be rendered. + bool timedOut = false; + await frameCompleter.future.timeout( + const Duration(seconds: 1), + onTimeout: () { + timedOut = true; + }, + ); + // No frame should've been rendered because the animation frame callback should've been + // cancelled on hot restart. + expect(timedOut, isTrue); + expect(instance.frameData.frameNumber, isZero); + expect(frameCompleter.isCompleted, isFalse); + // ... and no frame is scheduled. + expect(instance.isFrameScheduled, isFalse); + + // To avoid leaving an uncompleted completer, let's complete it. + frameCompleter.complete(); + }); }); } diff --git a/engine/src/flutter/lib/web_ui/test/engine/history_test.dart b/engine/src/flutter/lib/web_ui/test/engine/history_test.dart index ba412939542e5..402408cbcedeb 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/history_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/history_test.dart @@ -186,7 +186,7 @@ void testMain() { expect(strategy.history, hasLength(2)); expect(strategy.currentEntry.state, flutterState); expect(strategy.currentEntry.url, '/home'); - await routeUpdated('/page1'); + await routeInformationUpdated('/page1', null); // The number of entries shouldn't change. expect(strategy.history, hasLength(2)); expect(strategy.currentEntryIndex, 1); @@ -203,6 +203,8 @@ void testMain() { expect(spy.messages[0].channel, 'flutter/navigation'); expect(spy.messages[0].methodName, 'popRoute'); expect(spy.messages[0].methodArguments, isNull); + // The framework responds by updating to the most current route name. + await routeInformationUpdated('/home', null); // We still have 2 entries. expect(strategy.history, hasLength(2)); expect(strategy.currentEntryIndex, 1); @@ -217,8 +219,8 @@ void testMain() { ); await implicitView.debugInitializeHistory(strategy, useSingle: true); - await routeUpdated('/page1'); - await routeUpdated('/page2'); + await routeInformationUpdated('/page1', null); + await routeInformationUpdated('/page2', null); // Make sure we are on page2. expect(strategy.history, hasLength(2)); @@ -235,7 +237,7 @@ void testMain() { expect(spy.messages[0].methodArguments, isNull); spy.messages.clear(); // 2. The framework sends a `routePopped` platform message. - await routeUpdated('/page1'); + await routeInformationUpdated('/page1', null); // 3. The history state should reflect that /page1 is currently active. expect(strategy.history, hasLength(2)); expect(strategy.currentEntryIndex, 1); @@ -251,7 +253,7 @@ void testMain() { expect(spy.messages[0].methodArguments, isNull); spy.messages.clear(); // 2. The framework sends a `routePopped` platform message. - await routeUpdated('/home'); + await routeInformationUpdated('/home', null); // 3. The history state should reflect that /page1 is currently active. expect(strategy.history, hasLength(2)); expect(strategy.currentEntryIndex, 1); @@ -293,8 +295,8 @@ void testMain() { expect(spy.messages[0].methodName, 'pushRoute'); expect(spy.messages[0].methodArguments, '/page3'); spy.messages.clear(); - // 2. The framework sends a `routePushed` platform message. - await routeUpdated('/page3'); + // 2. The framework sends a `routeUpdated` platform message. + await routeInformationUpdated('/page3', null); // 3. The history state should reflect that /page3 is currently active. expect(strategy.history, hasLength(3)); expect(strategy.currentEntryIndex, 1); @@ -309,9 +311,9 @@ void testMain() { expect(spy.messages[0].methodName, 'popRoute'); expect(spy.messages[0].methodArguments, isNull); spy.messages.clear(); - // 2. The framework sends a `routePopped` platform message. - await routeUpdated('/home'); - // 3. The history state should reflect that /page1 is currently active. + // 2. The framework sends a `routeUpdated` platform message. + await routeInformationUpdated('/home', null); + // 3. The history state should reflect that /home is currently active. expect(strategy.history, hasLength(2)); expect(strategy.currentEntryIndex, 1); expect(strategy.currentEntry.state, flutterState); @@ -341,6 +343,35 @@ void testMain() { expect(strategy.currentEntry.state, flutterState); expect(strategy.currentEntry.url, '/home'); }); + + test('popping a nameless route does not change url', () async { + final TestUrlStrategy strategy = TestUrlStrategy.fromEntry( + const TestHistoryEntry(null, null, '/home'), + ); + await implicitView.debugInitializeHistory(strategy, useSingle: true); + + // Go to a named route. + await routeInformationUpdated('/named-route', null); + expect(strategy.currentEntry.url, '/named-route'); + + // Now, push a nameless route. The url shouldn't change. + // In a real app, this would be `Navigator.push(context, ...)`; + // Here, we simulate it by NOT calling `routeUpdated`. + + // Click back to pop the nameless route. + await strategy.go(-1); + + // A `popRoute` message should have been sent to the framework. + expect(spy.messages, hasLength(1)); + expect(spy.messages[0].channel, 'flutter/navigation'); + expect(spy.messages[0].methodName, 'popRoute'); + + // Because the popped route was nameless, the framework doesn't send any updated route + // information. + + // The url from before the nameless route should've been preserved. + expect(strategy.currentEntry.url, '/named-route'); + }); }); group('$MultiEntriesBrowserHistory', () { @@ -730,16 +761,6 @@ void testMain() { }); } -Future routeUpdated(String routeName) { - final Completer completer = Completer(); - EnginePlatformDispatcher.instance.sendPlatformMessage( - 'flutter/navigation', - codec.encodeMethodCall(MethodCall('routeUpdated', {'routeName': routeName})), - (_) => completer.complete(), - ); - return completer.future; -} - Future routeInformationUpdated(String location, dynamic state) { final Completer completer = Completer(); EnginePlatformDispatcher.instance.sendPlatformMessage( diff --git a/engine/src/flutter/lib/web_ui/test/engine/image/image_test.dart b/engine/src/flutter/lib/web_ui/test/engine/image/image_test.dart deleted file mode 100644 index 4573555729960..0000000000000 --- a/engine/src/flutter/lib/web_ui/test/engine/image/image_test.dart +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:test/bootstrap/browser.dart'; -import 'package:test/test.dart'; -import 'package:ui/ui.dart' as ui; - -void main() { - internalBootstrapBrowserTest(() => testMain); -} - -Future testMain() async { - test('toImage succeeds', () async { - final ui.Image image = await _createImage(); - expect(image.runtimeType.toString(), equals('HtmlImage')); - image.dispose(); - // TODO(polina-c): unskip the test when bug is fixed: - // https://github.com/flutter/flutter/issues/110599 - }, skip: true); - - test('Image constructor invokes onCreate once', () async { - int onCreateInvokedCount = 0; - ui.Image? createdImage; - ui.Image.onCreate = (ui.Image image) { - onCreateInvokedCount++; - createdImage = image; - }; - - final ui.Image image1 = await _createImage(); - - expect(onCreateInvokedCount, 1); - expect(createdImage, image1); - - final ui.Image image2 = await _createImage(); - - expect(onCreateInvokedCount, 2); - expect(createdImage, image2); - - ui.Image.onCreate = null; - // TODO(polina-c): unskip the test when bug is fixed: - // https://github.com/flutter/flutter/issues/110599 - }, skip: true); - - test('dispose() invokes onDispose once', () async { - int onDisposeInvokedCount = 0; - ui.Image? disposedImage; - ui.Image.onDispose = (ui.Image image) { - onDisposeInvokedCount++; - disposedImage = image; - }; - - final ui.Image image1 = await _createImage() - ..dispose(); - - expect(onDisposeInvokedCount, 1); - expect(disposedImage, image1); - - final ui.Image image2 = await _createImage() - ..dispose(); - - expect(onDisposeInvokedCount, 2); - expect(disposedImage, image2); - - ui.Image.onDispose = null; - // TODO(polina-c): unskip the test when bug is fixed: - // https://github.com/flutter/flutter/issues/110599 - }, skip: true); -} - -Future _createImage() => _createPicture().toImage(10, 10); - -ui.Picture _createPicture() { - final ui.PictureRecorder recorder = ui.PictureRecorder(); - final ui.Canvas canvas = ui.Canvas(recorder); - const ui.Rect rect = ui.Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); - canvas.clipRect(rect); - return recorder.endRecording(); -} diff --git a/engine/src/flutter/lib/web_ui/test/engine/navigation_test.dart b/engine/src/flutter/lib/web_ui/test/engine/navigation_test.dart index 1b602da8f3501..d4b490b31904a 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/navigation_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/navigation_test.dart @@ -29,7 +29,7 @@ void testMain() { ui.PlatformDispatcher.instance.sendPlatformMessage( 'flutter/navigation', codec.encodeMethodCall( - const MethodCall('routeUpdated', {'routeName': '/foo'}), + const MethodCall('routeInformationUpdated', {'location': '/foo'}), ), (ByteData? response) => completer.complete(response), ); @@ -53,7 +53,7 @@ void testMain() { ui.PlatformDispatcher.instance.sendPlatformMessage( 'flutter/navigation', codec.encodeMethodCall( - const MethodCall('routeUpdated', {'routeName': '/foo'}), + const MethodCall('routeInformationUpdated', {'location': '/foo'}), ), (_) => completer.complete(), ); diff --git a/engine/src/flutter/lib/web_ui/test/engine/pointer_binding_test.dart b/engine/src/flutter/lib/web_ui/test/engine/pointer_binding_test.dart index 023f724e9e8f3..2b9a5b89ac8b9 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/pointer_binding_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/pointer_binding_test.dart @@ -2663,10 +2663,10 @@ void _testClickDebouncer({required PointerBinding Function() getBinding}) { // 1. Trigger _maybeStartDebouncing, which sets _isDebouncing = true and schedules _doStartDebouncing. testElement.dispatchEvent(context.primaryDown()); - // At this point, _isDebouncing is true, but _doStartDebouncing (which sets _state and creates the Timer) - // has not yet executed because it was scheduled with Timer.run(). + // At this point, debouncing has been scheduled but hasn't started yet. expect(PointerBinding.clickDebouncer.isDebouncing, isTrue); - expect(PointerBinding.clickDebouncer.debugState, isNull); // _state is still null + expect(PointerBinding.clickDebouncer.debugState, isNotNull); + expect(PointerBinding.clickDebouncer.debugState!.started, isFalse); // 2. Simulate a scenario where reset() is called before _doStartDebouncing gets a chance to run. // This could happen due to a hot restart or other lifecycle events. @@ -2700,11 +2700,13 @@ void _testClickDebouncer({required PointerBinding Function() getBinding}) { testElement.dispatchEvent(context.primaryDown()); // ClickDebouncer does not start debouncing right away. expect(PointerBinding.clickDebouncer.isDebouncing, isTrue); - expect(PointerBinding.clickDebouncer.debugState, isNull); + expect(PointerBinding.clickDebouncer.debugState, isNotNull); + expect(PointerBinding.clickDebouncer.debugState!.started, isFalse); // Instead, it waits until the end of the event loop. await nextEventLoop(); expect(PointerBinding.clickDebouncer.isDebouncing, isTrue); expect(PointerBinding.clickDebouncer.debugState, isNotNull); + expect(PointerBinding.clickDebouncer.debugState!.started, isTrue); final DomEvent click = createDomMouseEvent('click', { 'clientX': testElement.getBoundingClientRect().x, @@ -2716,6 +2718,48 @@ void _testClickDebouncer({required PointerBinding Function() getBinding}) { expect(semanticsActions, [(type: ui.SemanticsAction.tap, nodeId: 42)]); }); + testWithSemantics('Does not throw when multiple events in the same event loop', () async { + expect(EnginePlatformDispatcher.instance.semanticsEnabled, isTrue); + expect(PointerBinding.clickDebouncer.isDebouncing, isFalse); + + final DomElement testElement = createDomElement('flt-semantics'); + testElement.setAttribute('flt-tappable', ''); + view.dom.semanticsHost.appendChild(testElement); + + // A `pointerdown` kicks off the debouncing process. + testElement.dispatchEvent(context.primaryDown()); + expect(PointerBinding.clickDebouncer.isDebouncing, isTrue); + expect(PointerBinding.clickDebouncer.debugState, isNotNull); + expect(PointerBinding.clickDebouncer.debugState!.queue, hasLength(1)); + + // A `pointerup` in the same event loop should not throw. + expect(() => testElement.dispatchEvent(context.primaryUp()), returnsNormally); + expect(PointerBinding.clickDebouncer.isDebouncing, isTrue); + expect(PointerBinding.clickDebouncer.debugState, isNotNull); + expect(PointerBinding.clickDebouncer.debugState!.queue, hasLength(2)); + + // A `click` in the same event loop should cancel debouncing. + final DomEvent click = createDomMouseEvent('click', { + 'clientX': testElement.getBoundingClientRect().x, + 'clientY': testElement.getBoundingClientRect().y, + }); + expect( + () => PointerBinding.clickDebouncer.onClick(click, view.viewId, 42, true), + returnsNormally, + ); + expect(PointerBinding.clickDebouncer.isDebouncing, isFalse); + expect(PointerBinding.clickDebouncer.debugState, isNull); + + // The click was sent as a semantics tap. + expect(pointerPackets, isEmpty); + expect(semanticsActions, [(type: ui.SemanticsAction.tap, nodeId: 42)]); + + // After the event loop, there should be nothing. + await nextEventLoop(); + expect(PointerBinding.clickDebouncer.isDebouncing, isFalse); + expect(PointerBinding.clickDebouncer.debugState, isNull); + }); + testWithSemantics('Accumulates pointer events starting from pointerdown', () async { expect(EnginePlatformDispatcher.instance.semanticsEnabled, true); expect(PointerBinding.clickDebouncer.isDebouncing, false); diff --git a/engine/src/flutter/lib/web_ui/test/engine/routing_test.dart b/engine/src/flutter/lib/web_ui/test/engine/routing_test.dart index eb0afd8ed48b5..a76d0e4f70e97 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/routing_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/routing_test.dart @@ -78,7 +78,7 @@ void testMain() { myWindow.sendPlatformMessage( 'flutter/navigation', const JSONMethodCodec().encodeMethodCall( - const MethodCall('routeUpdated', {'routeName': '/bar'}), + const MethodCall('routeInformationUpdated', {'location': '/bar'}), ), (_) { callback.complete(); @@ -125,17 +125,14 @@ void testMain() { 'selectMultiEntryHistory', {}, ); // -> multi - await check('routeUpdated', { - 'routeName': '/bar', - }); // -> single - await check('routeInformationUpdated', { + await check('routeInformationUpdated', { 'location': '/bar', }); // does not change mode - await check( - 'selectMultiEntryHistory', + await check( + 'selectSingleEntryHistory', {}, - ); // -> multi - await check('routeInformationUpdated', { + ); // -> single + await check('routeInformationUpdated', { 'location': '/bar', }); // does not change mode }); @@ -143,12 +140,6 @@ void testMain() { test( 'handleNavigationMessage throws for route update methods called with null arguments', () async { - expect(() async { - await myWindow.handleNavigationMessage( - const JSONMethodCodec().encodeMethodCall(const MethodCall('routeUpdated')), - ); - }, throwsAssertionError); - expect(() async { await myWindow.handleNavigationMessage( const JSONMethodCodec().encodeMethodCall(const MethodCall('routeInformationUpdated')), @@ -214,12 +205,21 @@ void testMain() { ); expect(myWindow.browserHistory, isA()); - // routeUpdated resets the history type + // change the history type Completer callback = Completer(); + myWindow.sendPlatformMessage( + 'flutter/navigation', + const JSONMethodCodec().encodeMethodCall(const MethodCall('selectSingleEntryHistory')), + (_) { + callback.complete(); + }, + ); + await callback.future; + callback = Completer(); myWindow.sendPlatformMessage( 'flutter/navigation', const JSONMethodCodec().encodeMethodCall( - const MethodCall('routeUpdated', {'routeName': '/bar'}), + const MethodCall('routeInformationUpdated', {'location': '/bar'}), ), (_) { callback.complete(); @@ -250,7 +250,7 @@ void testMain() { // they can be interleaved safely await myWindow.handleNavigationMessage( const JSONMethodCodec().encodeMethodCall( - const MethodCall('routeUpdated', {'routeName': '/foo'}), + const MethodCall('routeInformationUpdated', {'location': '/foo'}), ), ); expect(myWindow.browserHistory, isA()); @@ -390,32 +390,6 @@ void testMain() { expect(myWindow.browserHistory.urlStrategy!.getState(), _tagStateWithSerialCount('/state1', 1)); }); - test('initialize browser history with default url strategy (single)', () async { - // On purpose, we don't initialize history on the window. We want to let the - // window to self-initialize when it receives a navigation message. - - // Without initializing history, the default route name should be - // initialized to "/" in tests. - expect(myWindow.defaultRouteName, '/'); - - final Completer callback = Completer(); - myWindow.sendPlatformMessage( - 'flutter/navigation', - const JSONMethodCodec().encodeMethodCall( - const MethodCall('routeUpdated', {'routeName': '/bar'}), - ), - (_) { - callback.complete(); - }, - ); - await callback.future; - expect(myWindow.browserHistory, isA()); - // The url strategy should've been set to the default, and the path - // should've been correctly set to "/bar". - expect(myWindow.browserHistory.urlStrategy, isNot(isNull)); - expect(myWindow.browserHistory.urlStrategy!.getPath(), '/bar'); - }, skip: isSafari); // https://github.com/flutter/flutter/issues/50836 - test('initialize browser history with default url strategy (multiple)', () async { // On purpose, we don't initialize history on the window. We want to let the // window to self-initialize when it receives a navigation message. @@ -443,7 +417,7 @@ void testMain() { // should've been correctly set to "/baz". expect(myWindow.browserHistory.urlStrategy, isNot(isNull)); expect(myWindow.browserHistory.urlStrategy!.getPath(), '/baz'); - }, skip: isSafari); // https://github.com/flutter/flutter/issues/50836 + }); test('can disable location strategy', () async { // Disable URL strategy. diff --git a/engine/src/flutter/lib/web_ui/test/engine/scene_builder_test.dart b/engine/src/flutter/lib/web_ui/test/engine/scene_builder_test.dart deleted file mode 100644 index 27c4f7abac53e..0000000000000 --- a/engine/src/flutter/lib/web_ui/test/engine/scene_builder_test.dart +++ /dev/null @@ -1,380 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:test/bootstrap/browser.dart'; -import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; - -import 'package:ui/ui.dart' as ui; - -import 'scene_builder_utils.dart'; - -void main() { - internalBootstrapBrowserTest(() => testMain); -} - -void testMain() { - setUpAll(() { - LayerSliceBuilder.debugRecorderFactory = (ui.Rect rect) { - final StubSceneCanvas canvas = StubSceneCanvas(); - final StubPictureRecorder recorder = StubPictureRecorder(canvas); - return (recorder, canvas); - }; - }); - - tearDownAll(() { - LayerSliceBuilder.debugRecorderFactory = null; - }); - - group('EngineSceneBuilder', () { - test('single picture', () { - final EngineSceneBuilder sceneBuilder = EngineSceneBuilder(); - - const ui.Rect pictureRect = ui.Rect.fromLTRB(100, 100, 200, 200); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect)); - - final EngineScene scene = sceneBuilder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - expect(slices.length, 1); - expect(slices[0], layerSlice(withPictureRect: pictureRect)); - }); - - test('two pictures', () { - final EngineSceneBuilder sceneBuilder = EngineSceneBuilder(); - - const ui.Rect pictureRect1 = ui.Rect.fromLTRB(100, 100, 200, 200); - const ui.Rect pictureRect2 = ui.Rect.fromLTRB(300, 300, 400, 400); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect1)); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect2)); - - final EngineScene scene = sceneBuilder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - expect(slices.length, 1); - expect(slices[0], layerSlice(withPictureRect: const ui.Rect.fromLTRB(100, 100, 400, 400))); - }); - - test('picture + platform view (overlapping)', () { - final EngineSceneBuilder sceneBuilder = EngineSceneBuilder(); - - const ui.Rect pictureRect = ui.Rect.fromLTRB(100, 100, 200, 200); - const ui.Rect platformViewRect = ui.Rect.fromLTRB(150, 150, 250, 250); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect)); - sceneBuilder.addPlatformView( - 1, - offset: platformViewRect.topLeft, - width: platformViewRect.width, - height: platformViewRect.height, - ); - - final EngineScene scene = sceneBuilder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - expect(slices.length, 1); - expect( - slices[0], - layerSlice( - withPictureRect: pictureRect, - withPlatformViews: [ - PlatformView(1, platformViewRect, const PlatformViewStyling()), - ], - ), - ); - }); - - test('platform view + picture (overlapping)', () { - final EngineSceneBuilder sceneBuilder = EngineSceneBuilder(); - - const ui.Rect pictureRect = ui.Rect.fromLTRB(100, 100, 200, 200); - const ui.Rect platformViewRect = ui.Rect.fromLTRB(150, 150, 250, 250); - sceneBuilder.addPlatformView( - 1, - offset: platformViewRect.topLeft, - width: platformViewRect.width, - height: platformViewRect.height, - ); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect)); - - final EngineScene scene = sceneBuilder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - expect(slices.length, 2); - expect( - slices[0], - layerSlice( - withPlatformViews: [ - PlatformView(1, platformViewRect, const PlatformViewStyling()), - ], - ), - ); - expect(slices[1], layerSlice(withPictureRect: pictureRect)); - }); - - test('platform view sandwich (overlapping)', () { - final EngineSceneBuilder sceneBuilder = EngineSceneBuilder(); - - const ui.Rect pictureRect1 = ui.Rect.fromLTRB(100, 100, 200, 200); - const ui.Rect platformViewRect = ui.Rect.fromLTRB(150, 150, 250, 250); - const ui.Rect pictureRect2 = ui.Rect.fromLTRB(200, 200, 300, 300); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect1)); - sceneBuilder.addPlatformView( - 1, - offset: platformViewRect.topLeft, - width: platformViewRect.width, - height: platformViewRect.height, - ); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect2)); - - final EngineScene scene = sceneBuilder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - expect(slices.length, 2); - expect( - slices[0], - layerSlice( - withPictureRect: pictureRect1, - withPlatformViews: [ - PlatformView(1, platformViewRect, const PlatformViewStyling()), - ], - ), - ); - expect(slices[1], layerSlice(withPictureRect: pictureRect2)); - }); - - test('platform view sandwich (non-overlapping)', () { - final EngineSceneBuilder sceneBuilder = EngineSceneBuilder(); - - const ui.Rect pictureRect1 = ui.Rect.fromLTRB(100, 100, 200, 200); - const ui.Rect platformViewRect = ui.Rect.fromLTRB(150, 150, 250, 250); - const ui.Rect pictureRect2 = ui.Rect.fromLTRB(50, 50, 100, 100); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect1)); - sceneBuilder.addPlatformView( - 1, - offset: platformViewRect.topLeft, - width: platformViewRect.width, - height: platformViewRect.height, - ); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect2)); - - final EngineScene scene = sceneBuilder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - - // The top picture does not overlap with the platform view, so it should - // be grouped into the slice below it to reduce the number of canvases we - // need. - expect(slices.length, 1); - expect( - slices[0], - layerSlice( - withPictureRect: const ui.Rect.fromLTRB(50, 50, 200, 200), - withPlatformViews: [ - PlatformView(1, platformViewRect, const PlatformViewStyling()), - ], - ), - ); - }); - - test('platform view sandwich (overlapping) with offset layers', () { - final EngineSceneBuilder sceneBuilder = EngineSceneBuilder(); - - const ui.Rect pictureRect1 = ui.Rect.fromLTRB(100, 100, 200, 200); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(pictureRect1)); - - sceneBuilder.pushOffset(150, 150); - const ui.Rect platformViewRect = ui.Rect.fromLTRB(0, 0, 100, 100); - sceneBuilder.addPlatformView( - 1, - offset: platformViewRect.topLeft, - width: platformViewRect.width, - height: platformViewRect.height, - ); - sceneBuilder.pushOffset(50, 50); - sceneBuilder.addPicture(ui.Offset.zero, StubPicture(const ui.Rect.fromLTRB(0, 0, 100, 100))); - - final EngineScene scene = sceneBuilder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - expect(slices.length, 2); - expect( - slices[0], - layerSlice( - withPictureRect: pictureRect1, - withPlatformViews: [ - PlatformView( - 1, - platformViewRect, - const PlatformViewStyling(position: PlatformViewPosition.offset(ui.Offset(150, 150))), - ), - ], - ), - ); - expect(slices[1], layerSlice(withPictureRect: const ui.Rect.fromLTRB(200, 200, 300, 300))); - }); - - test('nested offset and clip', () { - final EngineSceneBuilder builder = EngineSceneBuilder(); - { - builder.pushOffset(16, 43); - { - builder.pushClipRect( - const ui.Rect.fromLTRB(0, 0, 1007, 1122), - clipBehavior: ui.Clip.hardEdge, - ); - { - builder.pushOffset(1, 214); - builder.addPlatformView(1, width: 1005, height: 907); - builder.pop(); - } - builder.pop(); - } - builder.pop(); - } - - const ui.Rect pictureRect = ui.Rect.fromLTRB(16, 198, 310, 280); - builder.addPicture(ui.Offset.zero, StubPicture(pictureRect)); - - final EngineScene scene = builder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - expect(slices.length, 2); - expect( - slices[0], - layerSlice( - withPlatformViews: [ - PlatformView( - 1, - const ui.Rect.fromLTRB(0, 0, 1005, 907), - const PlatformViewStyling( - position: PlatformViewPosition.offset(ui.Offset(17, 257)), - clip: PlatformViewRectClip(ui.Rect.fromLTRB(16.0, 43.0, 1023.0, 1165.0)), - ), - ), - ], - ), - ); - expect(slices[1], layerSlice(withPictureRect: pictureRect)); - }); - - test('grid view test', () { - // This test case covers a grid of elements, where each element is a platform - // view that has flutter content underneath it and on top of it. - // See a detailed explanation of this use-case in the following flutter issue: - // https://github.com/flutter/flutter/issues/149863 - final EngineSceneBuilder sceneBuilder = EngineSceneBuilder(); - - const double padding = 10; - const double tileSize = 50; - final List expectedPlatformViews = []; - for (int x = 0; x < 10; x++) { - for (int y = 0; y < 10; y++) { - final ui.Offset offset = ui.Offset( - padding + (tileSize + padding) * x, - padding + (tileSize + padding) * y, - ); - sceneBuilder.pushOffset(offset.dx, offset.dy); - sceneBuilder.addPicture( - ui.Offset.zero, - StubPicture(const ui.Rect.fromLTWH(0, 0, tileSize, tileSize)), - ); - sceneBuilder.addPlatformView( - 1, - offset: const ui.Offset(5, 5), - width: tileSize - 10, - height: tileSize - 10, - ); - sceneBuilder.addPicture( - const ui.Offset(10, 10), - StubPicture(const ui.Rect.fromLTWH(0, 0, tileSize - 20, tileSize - 20)), - ); - sceneBuilder.pop(); - expectedPlatformViews.add( - PlatformView( - 1, - const ui.Rect.fromLTRB(5.0, 5.0, tileSize - 5.0, tileSize - 5.0), - PlatformViewStyling(position: PlatformViewPosition.offset(offset)), - ), - ); - } - } - - final EngineScene scene = sceneBuilder.build() as EngineScene; - final List slices = scene.rootLayer.slices; - - // It is important that the optimizations of the scene builder result in - // there only being two scene slices. - expect(slices.length, 2); - expect( - slices[0], - layerSlice( - withPictureRect: const ui.Rect.fromLTRB( - padding, - padding, - 10 * (padding + tileSize), - 10 * (padding + tileSize), - ), - withPlatformViews: expectedPlatformViews, - ), - ); - expect( - slices[1], - layerSlice( - withPictureRect: const ui.Rect.fromLTRB( - padding + 10, - padding + 10, - 10 * (padding + tileSize) - 10, - 10 * (padding + tileSize) - 10, - ), - ), - ); - }); - }); -} - -LayerSliceMatcher layerSlice({ - ui.Rect withPictureRect = ui.Rect.zero, - List withPlatformViews = const [], -}) => LayerSliceMatcher(withPictureRect, withPlatformViews); - -class LayerSliceMatcher extends Matcher { - LayerSliceMatcher(this.expectedPictureRect, this.expectedPlatformViews); - - final ui.Rect expectedPictureRect; - final List expectedPlatformViews; - - @override - Description describe(Description description) { - return description.add( - '', - ); - } - - @override - bool matches(dynamic item, Map matchState) { - if (item is! LayerSlice) { - return false; - } - final ScenePicture picture = item.picture; - if (picture is! StubPicture) { - return false; - } - - if (picture.cullRect != expectedPictureRect) { - return false; - } - - if (item.platformViews.length != expectedPlatformViews.length) { - return false; - } - - for (int i = 0; i < item.platformViews.length; i++) { - final PlatformView expectedView = expectedPlatformViews[i]; - final PlatformView actualView = item.platformViews[i]; - if (expectedView.viewId != actualView.viewId) { - return false; - } - if (expectedView.bounds != actualView.bounds) { - return false; - } - if (expectedView.styling != actualView.styling) { - return false; - } - } - - return true; - } -} diff --git a/engine/src/flutter/lib/web_ui/test/engine/scene_builder_utils.dart b/engine/src/flutter/lib/web_ui/test/engine/scene_builder_utils.dart deleted file mode 100644 index 9d78ea7e12c9d..0000000000000 --- a/engine/src/flutter/lib/web_ui/test/engine/scene_builder_utils.dart +++ /dev/null @@ -1,243 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:typed_data'; - -import 'package:ui/src/engine.dart'; -import 'package:ui/ui.dart' as ui; - -class StubPicture implements ScenePicture { - StubPicture(this.cullRect); - - bool _isDisposed = false; - - @override - final ui.Rect cullRect; - - @override - int get approximateBytesUsed => throw UnimplementedError(); - - @override - bool get debugDisposed => _isDisposed; - - @override - void dispose() { - assert(!_isDisposed); - _isDisposed = true; - } - - @override - Future toImage(int width, int height) { - throw UnimplementedError(); - } - - @override - ui.Image toImageSync(int width, int height) { - throw UnimplementedError(); - } -} - -class StubCompositePicture extends StubPicture { - StubCompositePicture(this.children) - : super( - children.fold(null, (ui.Rect? previousValue, StubPicture child) { - final ui.Rect childRect = child.cullRect; - if (childRect.isEmpty) { - return previousValue; - } - return previousValue?.expandToInclude(child.cullRect) ?? child.cullRect; - }) ?? - ui.Rect.zero, - ); - - final List children; -} - -class StubPictureRecorder implements ui.PictureRecorder { - StubPictureRecorder(this.canvas); - - final StubSceneCanvas canvas; - - @override - ui.Picture endRecording() { - return StubCompositePicture(canvas.pictures); - } - - @override - bool get isRecording => throw UnimplementedError(); -} - -class StubSceneCanvas implements SceneCanvas { - List pictures = []; - - // We actually use offsets in some of the tests, so we need to track the - // translate calls as they are made. - List offsetStack = [ui.Offset.zero]; - - ui.Offset get currentOffset { - return offsetStack.last; - } - - set currentOffset(ui.Offset offset) { - offsetStack[offsetStack.length - 1] = offset; - } - - @override - void drawPicture(ui.Picture picture) { - pictures.add(StubPicture((picture as StubPicture).cullRect.shift(currentOffset))); - } - - @override - void clipPath(ui.Path path, {bool doAntiAlias = true}) {} - - @override - void clipRRect(ui.RRect rrect, {bool doAntiAlias = true}) {} - - @override - void clipRSuperellipse(ui.RSuperellipse rsuperellipse, {bool doAntiAlias = true}) {} - - @override - void clipRect(ui.Rect rect, {ui.ClipOp clipOp = ui.ClipOp.intersect, bool doAntiAlias = true}) {} - - @override - void drawArc( - ui.Rect rect, - double startAngle, - double sweepAngle, - bool useCenter, - ui.Paint paint, - ) {} - - @override - void drawAtlas( - ui.Image atlas, - List transforms, - List rects, - List? colors, - ui.BlendMode? blendMode, - ui.Rect? cullRect, - ui.Paint paint, - ) {} - - @override - void drawCircle(ui.Offset c, double radius, ui.Paint paint) {} - - @override - void drawColor(ui.Color color, ui.BlendMode blendMode) {} - - @override - void drawDRRect(ui.RRect outer, ui.RRect inner, ui.Paint paint) {} - - @override - void drawImage(ui.Image image, ui.Offset offset, ui.Paint paint) {} - - @override - void drawImageNine(ui.Image image, ui.Rect center, ui.Rect dst, ui.Paint paint) {} - - @override - void drawImageRect(ui.Image image, ui.Rect src, ui.Rect dst, ui.Paint paint) {} - - @override - void drawLine(ui.Offset p1, ui.Offset p2, ui.Paint paint) {} - - @override - void drawOval(ui.Rect rect, ui.Paint paint) {} - - @override - void drawPaint(ui.Paint paint) {} - - @override - void drawParagraph(ui.Paragraph paragraph, ui.Offset offset) {} - - @override - void drawPath(ui.Path path, ui.Paint paint) {} - - @override - void drawPoints(ui.PointMode pointMode, List points, ui.Paint paint) {} - - @override - void drawRRect(ui.RRect rrect, ui.Paint paint) {} - - @override - void drawRSuperellipse(ui.RSuperellipse rsuperellipse, ui.Paint paint) {} - - @override - void drawRawAtlas( - ui.Image atlas, - Float32List rstTransforms, - Float32List rects, - Int32List? colors, - ui.BlendMode? blendMode, - ui.Rect? cullRect, - ui.Paint paint, - ) {} - - @override - void drawRawPoints(ui.PointMode pointMode, Float32List points, ui.Paint paint) {} - - @override - void drawRect(ui.Rect rect, ui.Paint paint) {} - - @override - void drawShadow(ui.Path path, ui.Color color, double elevation, bool transparentOccluder) {} - - @override - void drawVertices(ui.Vertices vertices, ui.BlendMode blendMode, ui.Paint paint) {} - - @override - ui.Rect getDestinationClipBounds() { - throw UnimplementedError(); - } - - @override - ui.Rect getLocalClipBounds() { - throw UnimplementedError(); - } - - @override - int getSaveCount() { - throw UnimplementedError(); - } - - @override - Float64List getTransform() { - throw UnimplementedError(); - } - - @override - void restore() { - offsetStack.removeLast(); - } - - @override - void restoreToCount(int count) {} - - @override - void rotate(double radians) {} - - @override - void save() { - offsetStack.add(currentOffset); - } - - @override - void saveLayer(ui.Rect? bounds, ui.Paint paint) {} - - @override - void saveLayerWithFilter(ui.Rect? bounds, ui.Paint paint, ui.ImageFilter backdropFilter) {} - - @override - void scale(double sx, [double? sy]) {} - - @override - void skew(double sx, double sy) {} - - @override - void transform(Float64List matrix4) {} - - @override - void translate(double dx, double dy) { - currentOffset += ui.Offset(dx, dy); - } -} diff --git a/engine/src/flutter/lib/web_ui/test/engine/scene_view_test.dart b/engine/src/flutter/lib/web_ui/test/engine/scene_view_test.dart deleted file mode 100644 index 0d055d89138ae..0000000000000 --- a/engine/src/flutter/lib/web_ui/test/engine/scene_view_test.dart +++ /dev/null @@ -1,451 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; -import 'dart:typed_data'; - -import 'package:test/bootstrap/browser.dart'; -import 'package:test/test.dart'; -import 'package:ui/src/engine.dart'; - -import 'package:ui/ui.dart' as ui; -import 'package:ui/ui_web/src/ui_web.dart'; - -import '../common/test_initialization.dart'; -import 'scene_builder_utils.dart'; - -void main() { - internalBootstrapBrowserTest(() => testMain); -} - -class StubPictureRenderer implements PictureRenderer { - final DomHTMLCanvasElement scratchCanvasElement = createDomCanvasElement(width: 500, height: 500); - - @override - Future renderPictures(List pictures) async { - renderedPictures.addAll(pictures); - final List bitmaps = await Future.wait( - pictures.map((ScenePicture picture) { - final ui.Rect cullRect = picture.cullRect; - final Future bitmap = createImageBitmap(scratchCanvasElement, ( - x: 0, - y: 0, - width: cullRect.width.toInt(), - height: cullRect.height.toInt(), - )); - return bitmap; - }), - ); - return (imageBitmaps: bitmaps, rasterStartMicros: 0, rasterEndMicros: 0); - } - - @override - ScenePicture clipPicture(ScenePicture picture, ui.Rect clip) { - clipRequests[picture] = clip; - final clippedRect = clip.intersect(picture.cullRect); - final clippedPicture = StubPicture(clippedRect); - return clippedPicture; - } - - List renderedPictures = []; - List clippedPictures = []; - Map clipRequests = {}; -} - -class StubFlutterView implements EngineFlutterView { - // Overridden in some tests - @override - DomManager dom = StubDomManager(); - - @override - double get devicePixelRatio => throw UnimplementedError(); - - @override - EngineFlutterDisplay get display => throw UnimplementedError(); - - @override - List get displayFeatures => throw UnimplementedError(); - - @override - ui.GestureSettings get gestureSettings => throw UnimplementedError(); - - @override - ViewPadding get padding => throw UnimplementedError(); - - @override - ViewConstraints get physicalConstraints => throw UnimplementedError(); - - @override - ui.Size get physicalSize => const ui.Size(1000, 1000); - - @override - EnginePlatformDispatcher get platformDispatcher => throw UnimplementedError(); - - @override - void render(ui.Scene scene, {ui.Size? size}) {} - - @override - ViewPadding get systemGestureInsets => throw UnimplementedError(); - - @override - void updateSemantics(ui.SemanticsUpdate update) {} - - @override - int get viewId => throw UnimplementedError(); - - @override - ViewPadding get viewInsets => throw UnimplementedError(); - - @override - ViewPadding get viewPadding => throw UnimplementedError(); - - @override - ui.Size? debugPhysicalSizeOverride; - - @override - bool isDisposed = false; - - @override - PointerBinding get pointerBinding => throw UnimplementedError(); - - @override - set pointerBinding(_) { - throw UnimplementedError(); - } - - @override - ContextMenu get contextMenu => throw UnimplementedError(); - - @override - void debugForceResize() { - throw UnimplementedError(); - } - - @override - DimensionsProvider get dimensionsProvider => throw UnimplementedError(); - - @override - void dispose() { - throw UnimplementedError(); - } - - @override - EmbeddingStrategy get embeddingStrategy => throw UnimplementedError(); - - @override - MouseCursor get mouseCursor => throw UnimplementedError(); - - @override - Stream get onResize => throw UnimplementedError(); - - @override - void resize(ui.Size newPhysicalSize) { - throw UnimplementedError(); - } - - @override - EngineSemanticsOwner get semantics => throw UnimplementedError(); -} - -class StubPath implements ScenePath { - StubPath(this.pathString, this.transformedPathString); - - final String pathString; - final String transformedPathString; - Float64List? appliedTransform; - - @override - ui.PathFillType get fillType => throw UnimplementedError(); - - @override - set fillType(ui.PathFillType value) => throw UnimplementedError(); - - @override - void moveTo(double x, double y) => throw UnimplementedError(); - - @override - void relativeMoveTo(double dx, double dy) => throw UnimplementedError(); - - @override - void lineTo(double x, double y) => throw UnimplementedError(); - - @override - void relativeLineTo(double dx, double dy) => throw UnimplementedError(); - - @override - void quadraticBezierTo(double x1, double y1, double x2, double y2) => throw UnimplementedError(); - - @override - void relativeQuadraticBezierTo(double x1, double y1, double x2, double y2) => - throw UnimplementedError(); - - @override - void cubicTo(double x1, double y1, double x2, double y2, double x3, double y3) => - throw UnimplementedError(); - - @override - void relativeCubicTo(double x1, double y1, double x2, double y2, double x3, double y3) => - throw UnimplementedError(); - - @override - void conicTo(double x1, double y1, double x2, double y2, double w) => throw UnimplementedError(); - - @override - void relativeConicTo(double x1, double y1, double x2, double y2, double w) => - throw UnimplementedError(); - - @override - void arcTo(ui.Rect rect, double startAngle, double sweepAngle, bool forceMoveTo) => - throw UnimplementedError(); - - @override - void arcToPoint( - ui.Offset arcEnd, { - ui.Radius radius = ui.Radius.zero, - double rotation = 0.0, - bool largeArc = false, - bool clockwise = true, - }) => throw UnimplementedError(); - - @override - void relativeArcToPoint( - ui.Offset arcEndDelta, { - ui.Radius radius = ui.Radius.zero, - double rotation = 0.0, - bool largeArc = false, - bool clockwise = true, - }) => throw UnimplementedError(); - - @override - void addRect(ui.Rect rect) => throw UnimplementedError(); - - @override - void addOval(ui.Rect oval) => throw UnimplementedError(); - - @override - void addArc(ui.Rect oval, double startAngle, double sweepAngle) => throw UnimplementedError(); - - @override - void addPolygon(List points, bool close) => throw UnimplementedError(); - - @override - void addRRect(ui.RRect rrect) => throw UnimplementedError(); - - @override - void addRSuperellipse(ui.RSuperellipse rsuperellipse) => throw UnimplementedError(); - - @override - void addPath(ui.Path path, ui.Offset offset, {Float64List? matrix4}) => - throw UnimplementedError(); - - @override - void extendWithPath(ui.Path path, ui.Offset offset, {Float64List? matrix4}) => - throw UnimplementedError(); - - @override - void close() => throw UnimplementedError(); - - @override - void reset() => throw UnimplementedError(); - - @override - bool contains(ui.Offset point) => throw UnimplementedError(); - - @override - ui.Path shift(ui.Offset offset) => throw UnimplementedError(); - - @override - StubPath transform(Float64List matrix4) { - appliedTransform = matrix4; - return StubPath(transformedPathString, ''); - } - - @override - ui.Rect getBounds() => throw UnimplementedError(); - - @override - ui.PathMetrics computeMetrics({bool forceClosed = false}) => throw UnimplementedError(); - - @override - String toSvgString() => pathString; -} - -void testMain() { - late EngineSceneView sceneView; - late StubPictureRenderer stubPictureRenderer; - - setUpImplicitView(); - - setUp(() { - stubPictureRenderer = StubPictureRenderer(); - sceneView = EngineSceneView(stubPictureRenderer, StubFlutterView()); - }); - - tearDown(() { - expect( - stubPictureRenderer.clippedPictures.every((StubPicture picture) => picture.debugDisposed), - true, - ); - }); - - test('SceneView places canvas according to device-pixel ratio', () async { - debugOverrideDevicePixelRatio(2.0); - - final StubPicture picture = StubPicture(const ui.Rect.fromLTWH(50, 80, 100, 120)); - final EngineRootLayer rootLayer = EngineRootLayer(); - rootLayer.slices.add(LayerSlice(picture, [])); - final EngineScene scene = EngineScene(rootLayer); - await sceneView.renderScene(scene, null); - - final DomElement sceneElement = sceneView.sceneElement; - final List children = sceneElement.children.toList(); - - expect(children.length, 1); - final DomElement containerElement = children.first; - expect(containerElement.tagName, equalsIgnoringCase('flt-canvas-container')); - - final List containerChildren = containerElement.children.toList(); - expect(containerChildren.length, 1); - final DomElement canvasElement = containerChildren.first; - final DomCSSStyleDeclaration style = canvasElement.style; - expect(style.left, '25px'); - expect(style.top, '40px'); - expect(style.width, '50px'); - expect(style.height, '60px'); - - debugOverrideDevicePixelRatio(null); - }); - - test('SceneView places platform view according to device-pixel ratio', () async { - debugOverrideDevicePixelRatio(2.0); - - final StubPath clipPath = StubPath('M 2 2', 'M 1 1'); - - final PlatformView platformView = PlatformView( - 1, - const ui.Rect.fromLTWH(50, 80, 100, 120), - PlatformViewStyling(clip: PlatformViewPathClip(clipPath)), - ); - final EngineRootLayer rootLayer = EngineRootLayer(); - rootLayer.slices.add(LayerSlice(StubPicture(ui.Rect.zero), [platformView])); - final EngineScene scene = EngineScene(rootLayer); - await sceneView.renderScene(scene, null); - - final DomElement sceneElement = sceneView.sceneElement; - final List children = sceneElement.children.toList(); - - expect(children.length, 1); - final DomElement clipElement = children.first; - expect(clipElement.tagName, equalsIgnoringCase('flt-clip')); - - expect(clipElement.style.clipPath, 'path("M 1 1")'); - - // We expect the path to be scaled down by 1 / DPR - final Matrix4 expectedTransform = Matrix4.identity()..scale(0.5); - expect(clipPath.appliedTransform, expectedTransform.toFloat64()); - - final List clipChildren = clipElement.children.toList(); - expect(clipChildren.length, 1); - - final DomElement containerElement = clipChildren.first; - final DomCSSStyleDeclaration style = containerElement.style; - expect(style.left, ''); - expect(style.top, ''); - expect(style.width, '100px'); - expect(style.height, '120px'); - - // The heavy lifting of offsetting and sizing is done by the transform - expect(style.transform, 'matrix(0.5, 0, 0, 0.5, 25, 40)'); - - debugOverrideDevicePixelRatio(null); - }); - - test('SceneView always renders most recent picture and skips intermediate pictures', () async { - final List pictures = []; - final List> renderFutures = >[]; - for (int i = 1; i < 20; i++) { - final StubPicture picture = StubPicture(const ui.Rect.fromLTWH(50, 80, 100, 120)); - pictures.add(picture); - final EngineRootLayer rootLayer = EngineRootLayer(); - rootLayer.slices.add(LayerSlice(picture, [])); - final EngineScene scene = EngineScene(rootLayer); - renderFutures.add(sceneView.renderScene(scene, null)); - } - await Future.wait(renderFutures); - - // Should just render the first and last pictures and skip the one inbetween. - expect(stubPictureRenderer.renderedPictures.length, 2); - expect(stubPictureRenderer.renderedPictures.first, pictures.first); - expect(stubPictureRenderer.renderedPictures.last, pictures.last); - }); - - test('SceneView clips pictures that are outside the window screen', () async { - final StubPicture picture = StubPicture(const ui.Rect.fromLTWH(-50, -50, 100, 120)); - - final EngineRootLayer rootLayer = EngineRootLayer(); - rootLayer.slices.add(LayerSlice(picture, [])); - final EngineScene scene = EngineScene(rootLayer); - await sceneView.renderScene(scene, null); - - expect(stubPictureRenderer.renderedPictures.length, 1); - expect(stubPictureRenderer.clipRequests.containsKey(picture), true); - }); - - test('SceneView places platform view contents in the DOM', () async { - const int expectedPlatformViewId = 1234; - - int? injectedViewId; - final DomManager stubDomManager = StubDomManager() - ..injectPlatformViewOverride = (int viewId) { - injectedViewId = viewId; - }; - sceneView = EngineSceneView(stubPictureRenderer, StubFlutterView()..dom = stubDomManager); - - final PlatformView platformView = PlatformView( - expectedPlatformViewId, - const ui.Rect.fromLTWH(50, 80, 100, 120), - const PlatformViewStyling(), - ); - - final EngineRootLayer rootLayer = EngineRootLayer(); - rootLayer.slices.add(LayerSlice(StubPicture(ui.Rect.zero), [platformView])); - final EngineScene scene = EngineScene(rootLayer); - await sceneView.renderScene(scene, null); - - expect( - injectedViewId, - expectedPlatformViewId, - reason: 'SceneView should call injectPlatformView on its flutterView.dom', - ); - }); -} - -class StubDomManager implements DomManager { - void Function(int platformViewId) injectPlatformViewOverride = (int id) {}; - @override - void injectPlatformView(int platformViewId) { - injectPlatformViewOverride(platformViewId); - } - - @override - DomElement get platformViewsHost => throw UnimplementedError(); - - @override - DomShadowRoot get renderingHost => throw UnimplementedError(); - - @override - DomElement get rootElement => throw UnimplementedError(); - - @override - DomElement get sceneHost => throw UnimplementedError(); - - @override - DomElement get semanticsHost => throw UnimplementedError(); - - @override - void setScene(DomElement sceneElement) {} - - @override - DomElement get textEditingHost => throw UnimplementedError(); -} diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_multi_view_test.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_multi_view_test.dart index da73d0717e0bc..76220db285272 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_multi_view_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_multi_view_test.dart @@ -76,9 +76,8 @@ Future testMain() async { tester1.updateNode( id: 1, flags: const ui.SemanticsFlags( - isFocusable: true, - hasEnabledState: true, - isEnabled: true, + isFocused: ui.Tristate.isFalse, + isEnabled: ui.Tristate.isTrue, isButton: true, ), hasTap: true, diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart index 777cbbfe1f1be..7ffbb1022da91 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart @@ -315,7 +315,7 @@ void _testRoleLifecycle() { tester.updateNode( id: 0, label: 'a label', - flags: const ui.SemanticsFlags(isFocusable: true, isButton: true), + flags: const ui.SemanticsFlags(isFocused: ui.Tristate.isFalse, isButton: true), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ); tester.apply(); @@ -2330,17 +2330,12 @@ void _testIncrementables() { ..debugOverrideTimestampFunction(() => _testTime) ..semanticsEnabled = true; - void pumpSemantics({required bool isFocused}) { + void pumpSemantics({required ui.Tristate isFocused}) { final SemanticsTester tester = SemanticsTester(owner()); tester.updateNode( id: 0, hasIncrease: true, - flags: ui.SemanticsFlags( - isFocusable: true, - isFocused: isFocused, - hasEnabledState: true, - isEnabled: true, - ), + flags: ui.SemanticsFlags(isFocused: isFocused, isEnabled: ui.Tristate.isTrue), value: 'd', transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -2353,11 +2348,11 @@ void _testIncrementables() { capturedActions.add((event.nodeId, event.type, event.arguments)); }; - pumpSemantics(isFocused: false); + pumpSemantics(isFocused: ui.Tristate.isFalse); final DomElement element = owner().debugSemanticsTree![0]!.element.querySelector('input')!; expect(capturedActions, isEmpty); - pumpSemantics(isFocused: true); + pumpSemantics(isFocused: ui.Tristate.isTrue); expect( reason: 'Framework requested focus. No need to circle the event back to the framework.', capturedActions, @@ -2374,7 +2369,7 @@ void _testIncrementables() { ); capturedActions.clear(); - pumpSemantics(isFocused: false); + pumpSemantics(isFocused: ui.Tristate.isFalse); expect(reason: 'The engine never calls blur() explicitly.', capturedActions, isEmpty); // The web doesn't send didLoseAccessibilityFocus as on the web, @@ -2445,11 +2440,9 @@ void _testCheckables() { actions: 0 | ui.SemanticsAction.tap.index, label: 'test label', flags: const ui.SemanticsFlags( - isEnabled: true, - hasEnabledState: true, - hasToggledState: true, - isToggled: true, - isFocusable: true, + isEnabled: ui.Tristate.isTrue, + isToggled: ui.Tristate.isTrue, + isFocused: ui.Tristate.isFalse, ), transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -2480,7 +2473,7 @@ void _testCheckables() { updateNode( builder, actions: 0 | ui.SemanticsAction.tap.index, - flags: const ui.SemanticsFlags(hasEnabledState: true, hasToggledState: true, isToggled: true), + flags: const ui.SemanticsFlags(isEnabled: ui.Tristate.isFalse, isToggled: ui.Tristate.isTrue), transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -2503,8 +2496,7 @@ void _testCheckables() { updateNode( builder, actions: 0 | ui.SemanticsAction.tap.index, - flags: const ui.SemanticsFlags(hasEnabledState: true, hasToggledState: true, isEnabled: true), - + flags: const ui.SemanticsFlags(isToggled: ui.Tristate.isFalse, isEnabled: ui.Tristate.isTrue), transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ); @@ -2528,10 +2520,8 @@ void _testCheckables() { actions: 0 | ui.SemanticsAction.tap.index, flags: const ui.SemanticsFlags( - isEnabled: true, - hasEnabledState: true, - hasCheckedState: true, - isChecked: true, + isEnabled: ui.Tristate.isTrue, + isChecked: ui.CheckedState.isTrue, ), transform: Matrix4.identity().toFloat64(), @@ -2556,7 +2546,10 @@ void _testCheckables() { builder, actions: 0 | ui.SemanticsAction.tap.index, - flags: const ui.SemanticsFlags(hasCheckedState: true, hasEnabledState: true, isChecked: true), + flags: const ui.SemanticsFlags( + isChecked: ui.CheckedState.isTrue, + isEnabled: ui.Tristate.isFalse, + ), transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ); @@ -2579,7 +2572,10 @@ void _testCheckables() { builder, actions: 0 | ui.SemanticsAction.tap.index, - flags: const ui.SemanticsFlags(hasCheckedState: true, hasEnabledState: true, isEnabled: true), + flags: const ui.SemanticsFlags( + isChecked: ui.CheckedState.isFalse, + isEnabled: ui.Tristate.isTrue, + ), transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ); @@ -2602,11 +2598,9 @@ void _testCheckables() { builder, actions: 0 | ui.SemanticsAction.tap.index, flags: const ui.SemanticsFlags( - hasCheckedState: true, - isChecked: true, + isChecked: ui.CheckedState.isTrue, isInMutuallyExclusiveGroup: true, - hasEnabledState: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, ), transform: Matrix4.identity().toFloat64(), @@ -2631,10 +2625,9 @@ void _testCheckables() { builder, actions: 0 | ui.SemanticsAction.tap.index, flags: const ui.SemanticsFlags( - hasEnabledState: true, - hasCheckedState: true, + isEnabled: ui.Tristate.isFalse, + isChecked: ui.CheckedState.isTrue, isInMutuallyExclusiveGroup: true, - isChecked: true, ), transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -2658,10 +2651,9 @@ void _testCheckables() { builder, actions: 0 | ui.SemanticsAction.tap.index, flags: const ui.SemanticsFlags( - hasEnabledState: true, - hasCheckedState: true, + isChecked: ui.CheckedState.isFalse, isInMutuallyExclusiveGroup: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, ), transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -2689,9 +2681,8 @@ void _testCheckables() { tester.updateNode( id: 1, flags: const ui.SemanticsFlags( - isEnabled: true, - hasEnabledState: true, - hasCheckedState: true, + isEnabled: ui.Tristate.isTrue, + isChecked: ui.CheckedState.isFalse, isInMutuallyExclusiveGroup: true, ), rect: const ui.Rect.fromLTRB(0, 0, 100, 20), @@ -2699,11 +2690,9 @@ void _testCheckables() { tester.updateNode( id: 2, flags: const ui.SemanticsFlags( - isEnabled: true, - hasEnabledState: true, - hasCheckedState: true, + isEnabled: ui.Tristate.isTrue, + isChecked: ui.CheckedState.isTrue, isInMutuallyExclusiveGroup: true, - isChecked: true, ), rect: const ui.Rect.fromLTRB(0, 20, 100, 40), ), @@ -2726,7 +2715,7 @@ void _testCheckables() { ..debugOverrideTimestampFunction(() => _testTime) ..semanticsEnabled = true; - void pumpSemantics({required bool isFocused}) { + void pumpSemantics({required ui.Tristate isFocused}) { final SemanticsTester tester = SemanticsTester(owner()); tester.updateNode( id: 0, @@ -2734,10 +2723,9 @@ void _testCheckables() { // The following combination of actions and flags describe a checkbox. hasTap: true, flags: ui.SemanticsFlags( - hasEnabledState: true, - isEnabled: true, - hasCheckedState: true, - isFocusable: true, + isEnabled: ui.Tristate.isTrue, + isChecked: ui.CheckedState.isFalse, + isFocused: isFocused, ), value: 'd', @@ -2752,11 +2740,11 @@ void _testCheckables() { capturedActions.add((event.nodeId, event.type, event.arguments)); }; - pumpSemantics(isFocused: false); + pumpSemantics(isFocused: ui.Tristate.isFalse); final DomElement element = owner().debugSemanticsTree![0]!.element; expect(capturedActions, isEmpty); - pumpSemantics(isFocused: true); + pumpSemantics(isFocused: ui.Tristate.isTrue); expect( reason: 'Framework requested focus. No need to circle the event back to the framework.', capturedActions, @@ -2801,25 +2789,25 @@ void _testSelectables() { ), tester.updateNode( id: 2, - flags: const ui.SemanticsFlags(hasSelectedState: true), + flags: const ui.SemanticsFlags(isSelected: ui.Tristate.isFalse), role: ui.SemanticsRole.row, rect: const ui.Rect.fromLTRB(0, 20, 100, 40), ), tester.updateNode( id: 3, - flags: const ui.SemanticsFlags(hasSelectedState: true, isSelected: true), + flags: const ui.SemanticsFlags(isSelected: ui.Tristate.isTrue), role: ui.SemanticsRole.tab, rect: const ui.Rect.fromLTRB(0, 40, 100, 60), ), // Add two new nodes to test the aria-current fallback tester.updateNode( id: 4, - flags: const ui.SemanticsFlags(hasSelectedState: true), + flags: const ui.SemanticsFlags(isSelected: ui.Tristate.isFalse), rect: const ui.Rect.fromLTRB(0, 60, 100, 80), ), tester.updateNode( id: 5, - flags: const ui.SemanticsFlags(hasSelectedState: true, isSelected: true), + flags: const ui.SemanticsFlags(isSelected: ui.Tristate.isTrue), rect: const ui.Rect.fromLTRB(0, 80, 100, 100), ), ], @@ -2844,25 +2832,25 @@ void _testSelectables() { // Flip the values and check that that ARIA attribute is updated. tester.updateNode( id: 2, - flags: const ui.SemanticsFlags(hasSelectedState: true, isSelected: true), + flags: const ui.SemanticsFlags(isSelected: ui.Tristate.isTrue), role: ui.SemanticsRole.row, rect: const ui.Rect.fromLTRB(0, 20, 100, 40), ); tester.updateNode( id: 3, - flags: const ui.SemanticsFlags(hasSelectedState: true), + flags: const ui.SemanticsFlags(isSelected: ui.Tristate.isFalse), role: ui.SemanticsRole.tab, rect: const ui.Rect.fromLTRB(0, 40, 100, 60), ); // Flip the values for the aria-current fallback nodes tester.updateNode( id: 4, - flags: const ui.SemanticsFlags(hasSelectedState: true, isSelected: true), + flags: const ui.SemanticsFlags(isSelected: ui.Tristate.isTrue), rect: const ui.Rect.fromLTRB(0, 60, 100, 80), ); tester.updateNode( id: 5, - flags: const ui.SemanticsFlags(hasSelectedState: true), + flags: const ui.SemanticsFlags(isSelected: ui.Tristate.isFalse), rect: const ui.Rect.fromLTRB(0, 80, 100, 100), ); tester.apply(); @@ -2889,10 +2877,8 @@ void _testSelectables() { tester.updateNode( id: 0, flags: const ui.SemanticsFlags( - hasSelectedState: true, - isSelected: true, - hasCheckedState: true, - isChecked: true, + isSelected: ui.Tristate.isTrue, + isChecked: ui.CheckedState.isTrue, ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 60), @@ -2929,12 +2915,12 @@ void _testExpandables() { ), tester.updateNode( id: 2, - flags: const ui.SemanticsFlags(hasExpandedState: true), + flags: const ui.SemanticsFlags(isExpanded: ui.Tristate.isFalse), rect: const ui.Rect.fromLTRB(0, 20, 100, 40), ), tester.updateNode( id: 3, - flags: const ui.SemanticsFlags(hasExpandedState: true, isExpanded: true), + flags: const ui.SemanticsFlags(isExpanded: ui.Tristate.isTrue), rect: const ui.Rect.fromLTRB(0, 40, 100, 60), ), ], @@ -2956,12 +2942,12 @@ void _testExpandables() { // Flip the values and check that that ARIA attribute is updated. tester.updateNode( id: 2, - flags: const ui.SemanticsFlags(hasExpandedState: true, isExpanded: true), + flags: const ui.SemanticsFlags(isExpanded: ui.Tristate.isTrue), rect: const ui.Rect.fromLTRB(0, 20, 100, 40), ); tester.updateNode( id: 3, - flags: const ui.SemanticsFlags(hasExpandedState: true), + flags: const ui.SemanticsFlags(isExpanded: ui.Tristate.isFalse), rect: const ui.Rect.fromLTRB(0, 40, 100, 60), ); tester.apply(); @@ -2988,9 +2974,8 @@ void _testTappable() { tester.updateNode( id: 0, flags: const ui.SemanticsFlags( - isFocusable: true, - hasEnabledState: true, - isEnabled: true, + isFocused: ui.Tristate.isFalse, + isEnabled: ui.Tristate.isTrue, isButton: true, ), hasTap: true, @@ -3018,7 +3003,11 @@ void _testTappable() { final SemanticsTester tester = SemanticsTester(owner()); tester.updateNode( id: 0, - flags: const ui.SemanticsFlags(isFocusable: true, hasEnabledState: true, isButton: true), + flags: const ui.SemanticsFlags( + isFocused: ui.Tristate.isFalse, + isEnabled: ui.Tristate.isFalse, + isButton: true, + ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ); @@ -3040,7 +3029,7 @@ void _testTappable() { tester.updateNode( id: 0, // Not a button - flags: const ui.SemanticsFlags(isFocusable: true, hasEnabledState: true, isEnabled: true), + flags: const ui.SemanticsFlags(isFocused: ui.Tristate.isFalse, isEnabled: ui.Tristate.isTrue), // But has a tap action and no children hasTap: true, @@ -3069,7 +3058,10 @@ void _testTappable() { final SemanticsTester tester = SemanticsTester(owner()); tester.updateNode( id: 0, - flags: ui.SemanticsFlags(hasEnabledState: true, isEnabled: enabled, isButton: true), + flags: ui.SemanticsFlags( + isEnabled: enabled ? ui.Tristate.isTrue : ui.Tristate.isFalse, + isButton: true, + ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ); @@ -3100,11 +3092,9 @@ void _testTappable() { tester.updateNode( id: 0, flags: const ui.SemanticsFlags( - hasEnabledState: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isButton: true, - isFocusable: true, - isFocused: true, + isFocused: ui.Tristate.isTrue, ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -3120,16 +3110,14 @@ void _testTappable() { ..debugOverrideTimestampFunction(() => _testTime) ..semanticsEnabled = true; - void pumpSemantics({required bool isFocused}) { + void pumpSemantics({required ui.Tristate isFocused}) { final SemanticsTester tester = SemanticsTester(owner()); tester.updateNode( id: 0, flags: ui.SemanticsFlags( // The following combination of actions and flags describe a button. - hasEnabledState: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isButton: true, - isFocusable: true, isFocused: isFocused, ), hasTap: true, @@ -3145,11 +3133,11 @@ void _testTappable() { capturedActions.add((event.nodeId, event.type, event.arguments)); }; - pumpSemantics(isFocused: false); + pumpSemantics(isFocused: ui.Tristate.isFalse); final DomElement element = owner().debugSemanticsTree![0]!.element; expect(capturedActions, isEmpty); - pumpSemantics(isFocused: true); + pumpSemantics(isFocused: ui.Tristate.isTrue); expect( reason: 'Framework requested focus. No need to circle the event back to the framework.', capturedActions, @@ -3173,7 +3161,7 @@ void _testTappable() { ); capturedActions.clear(); - pumpSemantics(isFocused: false); + pumpSemantics(isFocused: ui.Tristate.isFalse); expect(capturedActions, isEmpty); semantics().semanticsEnabled = false; @@ -3198,9 +3186,8 @@ void _testTappable() { tester.updateNode( id: 0, flags: const ui.SemanticsFlags( - isFocusable: true, - hasEnabledState: true, - isEnabled: true, + isFocused: ui.Tristate.isFalse, + isEnabled: ui.Tristate.isTrue, isButton: true, ), hasTap: true, @@ -3209,9 +3196,8 @@ void _testTappable() { tester.updateNode( id: 1, flags: const ui.SemanticsFlags( - isFocusable: true, - hasEnabledState: true, - isEnabled: true, + isFocused: ui.Tristate.isFalse, + isEnabled: ui.Tristate.isTrue, isButton: true, ), hasTap: true, @@ -3909,10 +3895,9 @@ void _testRoute() { id: 2, label: 'Button 1', flags: const ui.SemanticsFlags( - hasEnabledState: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isButton: true, - isFocusable: true, + isFocused: ui.Tristate.isFalse, ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -3921,10 +3906,9 @@ void _testRoute() { id: 3, label: 'Button 2', flags: const ui.SemanticsFlags( - hasEnabledState: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isButton: true, - isFocusable: true, + isFocused: ui.Tristate.isFalse, ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -3968,10 +3952,9 @@ void _testRoute() { id: 2, label: 'Button 1', flags: const ui.SemanticsFlags( - hasEnabledState: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isButton: true, - isFocusable: true, + isFocused: ui.Tristate.isFalse, ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -3980,12 +3963,10 @@ void _testRoute() { id: 3, label: 'Button 2', flags: const ui.SemanticsFlags( - hasEnabledState: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isButton: true, - isFocusable: true, // Asked for focus explicitly. - isFocused: true, + isFocused: ui.Tristate.isTrue, ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -4029,10 +4010,9 @@ void _testRoute() { id: 3, label: 'Click me!', flags: const ui.SemanticsFlags( - hasEnabledState: true, - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isButton: true, - isFocusable: true, + isFocused: ui.Tristate.isFalse, ), hasTap: true, rect: const ui.Rect.fromLTRB(0, 0, 100, 50), @@ -4315,7 +4295,7 @@ void _testFocusable() { tester.updateNode( id: 1, label: 'focusable text', - flags: const ui.SemanticsFlags(isFocusable: true), + flags: const ui.SemanticsFlags(isFocused: ui.Tristate.isFalse), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ), ], @@ -4342,7 +4322,7 @@ void _testFocusable() { tester.updateNode( id: 1, label: 'test focusable', - flags: const ui.SemanticsFlags(isFocusable: true, isFocused: true), + flags: const ui.SemanticsFlags(isFocused: ui.Tristate.isTrue), transform: Matrix4.identity().toFloat64(), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ); @@ -4397,6 +4377,34 @@ void _testLink() { expect(object.element.tagName.toLowerCase(), 'a'); expect(object.element.getAttribute('href'), 'https://flutter.dev'); }); + + test('a node that is both a link and a button is rendered as a link', () { + semantics() + ..debugOverrideTimestampFunction(() => _testTime) + ..semanticsEnabled = true; + + const String url = 'https://flutter.dev'; + final SemanticsTester tester = SemanticsTester(owner()); + tester.updateNode( + id: 0, + linkUrl: url, + flags: const ui.SemanticsFlags(isLink: true, isButton: true), + label: 'link button label', + rect: const ui.Rect.fromLTRB(0, 0, 100, 50), + ); + tester.apply(); + + tester.expectSemantics('link button label'); + final SemanticsObject node = owner().debugSemanticsTree![0]!; + expect(node.semanticRole?.kind, EngineSemanticsRole.link); + expect(node.linkUrl, url); + expect( + node.semanticRole?.debugSemanticBehaviorTypes, + containsAll([Focusable, Tappable, LabelAndValue]), + ); + + semantics().semanticsEnabled = false; + }); } void _testTabs() { @@ -4711,7 +4719,7 @@ void _testMenus() { tester.updateNode( id: 4, role: ui.SemanticsRole.menuItem, - flags: const ui.SemanticsFlags(hasExpandedState: true, isExpanded: true), + flags: const ui.SemanticsFlags(isExpanded: ui.Tristate.isTrue), children: [ tester.updateNode( id: 5, @@ -4794,7 +4802,7 @@ void _testMenus() { tester.updateNode( id: 4, role: ui.SemanticsRole.menuItem, - flags: const ui.SemanticsFlags(hasExpandedState: true, isExpanded: true), + flags: const ui.SemanticsFlags(isExpanded: ui.Tristate.isTrue), children: [ tester.updateNode( id: 5, @@ -4852,24 +4860,24 @@ void _testMenus() { ..debugOverrideTimestampFunction(() => _testTime) ..semanticsEnabled = true; - SemanticsObject pumpSemantics(bool hasExpandedState) { + SemanticsObject pumpSemantics(ui.Tristate isExpanded) { final SemanticsTester tester = SemanticsTester(owner()); tester.updateNode( id: 0, role: ui.SemanticsRole.menuItem, - flags: ui.SemanticsFlags(hasExpandedState: hasExpandedState), + flags: ui.SemanticsFlags(isExpanded: isExpanded), rect: const ui.Rect.fromLTRB(0, 0, 100, 50), ); tester.apply(); return tester.getSemanticsObject(0); } - final SemanticsObject object0 = pumpSemantics(true); + final SemanticsObject object0 = pumpSemantics(ui.Tristate.isFalse); expect(object0.semanticRole?.kind, EngineSemanticsRole.menuItem); expect(object0.element.getAttribute('role'), 'menuitem'); expect(object0.element.getAttribute('aria-haspopup'), 'menu'); - final SemanticsObject object1 = pumpSemantics(false); + final SemanticsObject object1 = pumpSemantics(ui.Tristate.none); expect(object1.element.getAttribute('role'), 'menuitem'); expect(object1.element.getAttribute('aria-haspopup'), isNull); }); @@ -5095,12 +5103,12 @@ void _testRequirable() { ), tester.updateNode( id: 2, - flags: const ui.SemanticsFlags(hasRequiredState: true), + flags: const ui.SemanticsFlags(isRequired: ui.Tristate.isFalse), rect: const ui.Rect.fromLTRB(0, 20, 100, 40), ), tester.updateNode( id: 3, - flags: const ui.SemanticsFlags(hasRequiredState: true, isRequired: true), + flags: const ui.SemanticsFlags(isRequired: ui.Tristate.isTrue), rect: const ui.Rect.fromLTRB(0, 40, 100, 60), ), ], @@ -5122,12 +5130,12 @@ void _testRequirable() { // Flip the values and check that that ARIA attribute is updated. tester.updateNode( id: 2, - flags: const ui.SemanticsFlags(hasRequiredState: true, isRequired: true), + flags: const ui.SemanticsFlags(isRequired: ui.Tristate.isTrue), rect: const ui.Rect.fromLTRB(0, 20, 100, 40), ); tester.updateNode( id: 3, - flags: const ui.SemanticsFlags(hasRequiredState: true), + flags: const ui.SemanticsFlags(isRequired: ui.Tristate.isFalse), rect: const ui.Rect.fromLTRB(0, 40, 100, 60), ); tester.apply(); diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/text_field_test.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/text_field_test.dart index 23638d245cce8..e0dc95eafff14 100644 --- a/engine/src/flutter/lib/web_ui/test/engine/semantics/text_field_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/text_field_test.dart @@ -451,9 +451,9 @@ void testMain() { builder.updateNode( id: 1, flags: ui.SemanticsFlags( - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isTextField: true, - isFocused: focusFieldId == 1, + isFocused: focusFieldId == 1 ? ui.Tristate.isTrue : ui.Tristate.isFalse, ), value: 'Hello', @@ -462,9 +462,9 @@ void testMain() { builder.updateNode( id: 2, flags: ui.SemanticsFlags( - isEnabled: true, + isEnabled: ui.Tristate.isTrue, isTextField: true, - isFocused: focusFieldId == 2, + isFocused: focusFieldId == 2 ? ui.Tristate.isTrue : ui.Tristate.isFalse, ), value: 'World', rect: const ui.Rect.fromLTRB(0, 20, 50, 10), @@ -530,13 +530,14 @@ SemanticsObject createTextFieldSemantics({ label: label, value: value, flags: ui.SemanticsFlags( - isEnabled: isEnabled, + isEnabled: isEnabled ? ui.Tristate.isTrue : ui.Tristate.none, isTextField: true, - isFocused: isFocused, + isFocused: isFocused ? ui.Tristate.isTrue : ui.Tristate.isFalse, isMultiline: isMultiline, isObscured: isObscured, - hasRequiredState: isRequired != null, - isRequired: isRequired ?? false, + isRequired: isRequired == null + ? ui.Tristate.none + : (isRequired ? ui.Tristate.isTrue : ui.Tristate.isFalse), ), hasTap: true, rect: rect, diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/text_fragmenter_test.dart b/engine/src/flutter/lib/web_ui/test/engine/text_fragmenter_test.dart similarity index 99% rename from engine/src/flutter/lib/web_ui/test/canvaskit/text_fragmenter_test.dart rename to engine/src/flutter/lib/web_ui/test/engine/text_fragmenter_test.dart index 567329e0d84f4..7dea45f35cf9c 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/text_fragmenter_test.dart +++ b/engine/src/flutter/lib/web_ui/test/engine/text_fragmenter_test.dart @@ -9,15 +9,11 @@ import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; -import 'common.dart'; - void main() { internalBootstrapBrowserTest(() => testMain); } void testMain() { - setUpCanvasKitTest(); - group('$fragmentUsingIntlSegmenter', () { test('fragments text into words', () { final Uint32List breaks = fragmentUsingIntlSegmenter( diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/backdrop_filter_golden_test.dart b/engine/src/flutter/lib/web_ui/test/ui/backdrop_filter_golden_test.dart similarity index 64% rename from engine/src/flutter/lib/web_ui/test/canvaskit/backdrop_filter_golden_test.dart rename to engine/src/flutter/lib/web_ui/test/ui/backdrop_filter_golden_test.dart index d8c4d5a256ff7..fa52bc4f66573 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/backdrop_filter_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/backdrop_filter_golden_test.dart @@ -2,13 +2,18 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:async'; + import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; +import 'package:web_engine_tester/golden_tester.dart'; -import 'common.dart'; +import '../common/rendering.dart'; +import '../common/test_initialization.dart'; +import 'utils.dart'; void main() { internalBootstrapBrowserTest(() => testMain); @@ -16,23 +21,18 @@ void main() { const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 500); -void testMain() { - group('BackdropFilter', () { - setUpCanvasKitTest(withImplicitView: true); +Future testMain() async { + setUpUnitTests(withImplicitView: true, setUpTestViewDimensions: false); + group('BackdropFilter', () { setUp(() { EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(1); }); - tearDown(() { - PlatformViewManager.instance.debugClear(); - CanvasKitRenderer.instance.debugClear(); - }); - test('blur renders to the edges', () async { // Make a checkerboard picture so we can see the blur. - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawColor(const ui.Color(0xffffffff), ui.BlendMode.srcOver); final double sideLength = region.width / 20; final int rows = (region.height / sideLength).ceil(); @@ -45,29 +45,27 @@ void testMain() { sideLength, sideLength, ); - canvas.drawRect(rect, CkPaint()..color = const ui.Color(0xffff0000)); + canvas.drawRect(rect, ui.Paint()..color = const ui.Color(0xffff0000)); } } - final CkPicture checkerboard = recorder.endRecording(); + final ui.Picture checkerboard = recorder.endRecording(); - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); builder.addPicture(ui.Offset.zero, checkerboard); builder.pushBackdropFilter(ui.ImageFilter.blur(sigmaX: 10, sigmaY: 10)); - await matchSceneGolden( - 'canvaskit_backdropfilter_blur_edges.png', - builder.build(), - region: region, - ); + await renderScene(builder.build()); + + await matchGoldenFile('ui_backdropfilter_blur_edges.png', region: region); }); test('ImageFilter with ColorFilter as child', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); builder.pushOffset(0, 0); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); final ui.ColorFilter colorFilter = ui.ColorFilter.mode( const ui.Color(0XFF00FF00).withOpacity(0.55), ui.BlendMode.darken, @@ -78,15 +76,13 @@ void testMain() { canvas.drawCircle( const ui.Offset(75, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle1 = recorder.endRecording(); + final ui.Picture redCircle1 = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle1); - await matchSceneGolden( - 'canvaskit_red_circle_green_backdrop_colorFilter.png', - builder.build(), - region: region, - ); + + await renderScene(builder.build()); + await matchGoldenFile('ui_red_circle_green_backdrop_colorFilter.png', region: region); }); test('works with an invisible platform view inside', () async { @@ -98,8 +94,8 @@ void testMain() { await createPlatformView(0, 'test-platform-view'); // Make a checkerboard picture so we can see the blur. - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawColor(const ui.Color(0xffffffff), ui.BlendMode.srcOver); final double sideLength = region.width / 20; final int rows = (region.height / sideLength).ceil(); @@ -112,21 +108,21 @@ void testMain() { sideLength, sideLength, ); - canvas.drawRect(rect, CkPaint()..color = const ui.Color(0xffff0000)); + canvas.drawRect(rect, ui.Paint()..color = const ui.Color(0xffff0000)); } } - final CkPicture checkerboard = recorder.endRecording(); + final ui.Picture checkerboard = recorder.endRecording(); - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); builder.addPicture(ui.Offset.zero, checkerboard); builder.pushBackdropFilter(ui.ImageFilter.blur(sigmaX: 10, sigmaY: 10)); // Draw a green rectangle, then an invisible platform view, then a blue // rectangle. Both rectangles should not be blurred. - final CkPictureRecorder greenRectRecorder = CkPictureRecorder(); - final CkCanvas greenRectCanvas = greenRectRecorder.beginRecording(region); - final CkPaint greenPaint = CkPaint()..color = const ui.Color(0xff00ff00); + final ui.PictureRecorder greenRectRecorder = ui.PictureRecorder(); + final ui.Canvas greenRectCanvas = ui.Canvas(greenRectRecorder, region); + final ui.Paint greenPaint = ui.Paint()..color = const ui.Color(0xff00ff00); greenRectCanvas.drawRect( ui.Rect.fromCenter( center: ui.Offset(region.width / 3, region.height / 2), @@ -135,11 +131,11 @@ void testMain() { ), greenPaint, ); - final CkPicture greenRectPicture = greenRectRecorder.endRecording(); + final ui.Picture greenRectPicture = greenRectRecorder.endRecording(); - final CkPictureRecorder blueRectRecorder = CkPictureRecorder(); - final CkCanvas blueRectCanvas = blueRectRecorder.beginRecording(region); - final CkPaint bluePaint = CkPaint()..color = const ui.Color(0xff0000ff); + final ui.PictureRecorder blueRectRecorder = ui.PictureRecorder(); + final ui.Canvas blueRectCanvas = ui.Canvas(blueRectRecorder, region); + final ui.Paint bluePaint = ui.Paint()..color = const ui.Color(0xff0000ff); blueRectCanvas.drawRect( ui.Rect.fromCenter( center: ui.Offset(2 * region.width / 3, region.height / 2), @@ -148,7 +144,7 @@ void testMain() { ), bluePaint, ); - final CkPicture blueRectPicture = blueRectRecorder.endRecording(); + final ui.Picture blueRectPicture = blueRectRecorder.endRecording(); builder.addPicture(ui.Offset.zero, greenRectPicture); builder.addPlatformView(0, width: 10, height: 10); @@ -157,11 +153,9 @@ void testMain() { // Pop the backdrop filter layer. builder.pop(); - await matchSceneGolden( - 'canvaskit_backdropfilter_with_platformview.png', - builder.build(), - region: region, - ); + await renderScene(builder.build()); + + await matchGoldenFile('canvaskit_backdropfilter_with_platformview.png', region: region); }); // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 }, skip: isSafari || isFirefox); diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/canvas_golden_test.dart b/engine/src/flutter/lib/web_ui/test/ui/canvas_golden_test.dart similarity index 57% rename from engine/src/flutter/lib/web_ui/test/canvaskit/canvas_golden_test.dart rename to engine/src/flutter/lib/web_ui/test/ui/canvas_golden_test.dart index 088a7566f7161..9a72ff059a2d2 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/canvas_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/canvas_golden_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:async'; import 'dart:math' as math; import 'dart:typed_data'; @@ -10,8 +11,11 @@ import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; +import 'package:web_engine_tester/golden_tester.dart'; -import 'common.dart'; +import '../common/rendering.dart'; +import '../common/test_initialization.dart'; +import 'utils.dart'; void main() { internalBootstrapBrowserTest(() => testMain); @@ -20,32 +24,33 @@ void main() { const ui.Rect kDefaultRegion = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { - group('CkCanvas', () { - setUpCanvasKitTest(withImplicitView: true); + group('Canvas', () { + setUpUnitTests(withImplicitView: true, setUpTestViewDimensions: false); setUp(() { renderer.fontCollection.debugResetFallbackFonts(); }); test('renders using non-recording canvas if weak refs are supported', () async { - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(kDefaultRegion); - expect(canvas.runtimeType, CkCanvas); - drawTestPicture(canvas); - await matchPictureGolden( - 'canvaskit_weakref_picture.png', - recorder.endRecording(), - region: kDefaultRegion, - ); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, kDefaultRegion); + expect(canvas, isA()); + await drawTestPicture(canvas as LayerCanvas); + await drawPictureUsingCurrentRenderer(recorder.endRecording()); + await matchGoldenFile('ui_weakref_picture.png', region: kDefaultRegion); }); test('text style - foreground/background/color do not leak across paragraphs', () async { const double testWidth = 440; const double middle = testWidth / 2; - CkParagraph createTestParagraph({ui.Color? color, CkPaint? foreground, CkPaint? background}) { - final CkParagraphBuilder builder = CkParagraphBuilder(CkParagraphStyle()); + ui.Paragraph createTestParagraph({ + ui.Color? color, + ui.Paint? foreground, + ui.Paint? background, + }) { + final ui.ParagraphBuilder builder = ui.ParagraphBuilder(ui.ParagraphStyle()); builder.pushStyle( - CkTextStyle(fontSize: 16, color: color, foreground: foreground, background: background), + ui.TextStyle(fontSize: 16, color: color, foreground: foreground, background: background), ); final StringBuffer text = StringBuffer(); if (color == null && foreground == null && background == null) { @@ -68,7 +73,7 @@ void testMain() { } } builder.addText(text.toString()); - final CkParagraph paragraph = builder.build(); + final ui.Paragraph paragraph = builder.build(); paragraph.layout(const ui.ParagraphConstraints(width: testWidth)); return paragraph; } @@ -76,26 +81,26 @@ void testMain() { final List variations = [ () => createTestParagraph(), () => createTestParagraph(color: const ui.Color(0xFF009900)), - () => createTestParagraph(foreground: CkPaint()..color = const ui.Color(0xFF990000)), - () => createTestParagraph(background: CkPaint()..color = const ui.Color(0xFF7777FF)), + () => createTestParagraph(foreground: ui.Paint()..color = const ui.Color(0xFF990000)), + () => createTestParagraph(background: ui.Paint()..color = const ui.Color(0xFF7777FF)), () => createTestParagraph( color: const ui.Color(0xFFFF00FF), - background: CkPaint()..color = const ui.Color(0xFF0000FF), + background: ui.Paint()..color = const ui.Color(0xFF0000FF), ), () => createTestParagraph( - foreground: CkPaint()..color = const ui.Color(0xFF00FFFF), - background: CkPaint()..color = const ui.Color(0xFF0000FF), + foreground: ui.Paint()..color = const ui.Color(0xFF00FFFF), + background: ui.Paint()..color = const ui.Color(0xFF0000FF), ), ]; - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(ui.Rect.largest); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, ui.Rect.largest); canvas.translate(10, 10); for (final ParagraphFactory from in variations) { for (final ParagraphFactory to in variations) { canvas.save(); - final CkParagraph fromParagraph = from(); + final ui.Paragraph fromParagraph = from(); canvas.drawParagraph(fromParagraph, ui.Offset.zero); final ui.Offset leftEnd = ui.Offset( @@ -104,9 +109,9 @@ void testMain() { ); final ui.Offset rightEnd = ui.Offset(middle - 10, leftEnd.dy); const ui.Offset tipOffset = ui.Offset(-5, -5); - canvas.drawLine(leftEnd, rightEnd, CkPaint()); - canvas.drawLine(rightEnd, rightEnd + tipOffset, CkPaint()); - canvas.drawLine(rightEnd, rightEnd + tipOffset.scale(1, -1), CkPaint()); + canvas.drawLine(leftEnd, rightEnd, ui.Paint()); + canvas.drawLine(rightEnd, rightEnd + tipOffset, ui.Paint()); + canvas.drawLine(rightEnd, rightEnd + tipOffset.scale(1, -1), ui.Paint()); canvas.translate(middle, 0); canvas.drawParagraph(to(), ui.Offset.zero); @@ -115,10 +120,11 @@ void testMain() { } } - final CkPicture picture = recorder.endRecording(); - await matchPictureGolden( - 'canvaskit_text_styles_do_not_leak.png', - picture, + final ui.Picture picture = recorder.endRecording(); + await drawPictureUsingCurrentRenderer(picture); + + await matchGoldenFile( + 'ui_text_styles_do_not_leak.png', region: const ui.Rect.fromLTRB(0, 0, testWidth, 850), ); }); @@ -126,29 +132,27 @@ void testMain() { // Make sure we clear the canvas in between frames. test('empty frame after contentful frame', () async { // First draw a frame with a red rectangle - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(ui.Rect.largest); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, ui.Rect.largest); canvas.drawRect( const ui.Rect.fromLTRB(20, 20, 100, 100), - CkPaint()..color = const ui.Color(0xffff0000), + ui.Paint()..color = const ui.Color(0xffff0000), ); - final CkPicture picture = recorder.endRecording(); - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.Picture picture = recorder.endRecording(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); builder.addPicture(ui.Offset.zero, picture); - final LayerScene scene = builder.build(); + final ui.Scene scene = builder.build(); await renderScene(scene); // Now draw an empty layer tree and confirm that the red rectangle is // no longer drawn. - final LayerSceneBuilder emptySceneBuilder = LayerSceneBuilder(); + final ui.SceneBuilder emptySceneBuilder = ui.SceneBuilder(); emptySceneBuilder.pushOffset(0, 0); - final LayerScene emptyScene = emptySceneBuilder.build(); - await matchSceneGolden( - 'canvaskit_empty_scene.png', - emptyScene, - region: const ui.Rect.fromLTRB(0, 0, 100, 100), - ); + final ui.Scene emptyScene = emptySceneBuilder.build(); + await renderScene(emptyScene); + + await matchGoldenFile('ui_empty_scene.png', region: const ui.Rect.fromLTRB(0, 0, 100, 100)); }); // Regression test for https://github.com/flutter/flutter/issues/121758 @@ -161,36 +165,36 @@ void testMain() { ); await createPlatformView(0, 'test-platform-view'); - CkPicture makeTextPicture(String text, ui.Offset offset) { - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(ui.Rect.largest); - final CkParagraphBuilder builder = CkParagraphBuilder(CkParagraphStyle()); + ui.Picture makeTextPicture(String text, ui.Offset offset) { + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, ui.Rect.largest); + final ui.ParagraphBuilder builder = ui.ParagraphBuilder(ui.ParagraphStyle()); builder.addText(text); - final CkParagraph paragraph = builder.build(); + final ui.Paragraph paragraph = builder.build(); paragraph.layout(const ui.ParagraphConstraints(width: 100)); canvas.drawRect( ui.Rect.fromLTWH(offset.dx, offset.dy, paragraph.width, paragraph.height).inflate(10), - CkPaint()..color = const ui.Color(0xFF00FF00), + ui.Paint()..color = const ui.Color(0xFF00FF00), ); canvas.drawParagraph(paragraph, offset); return recorder.endRecording(); } - CkPicture imageToPicture(CkImage image, ui.Offset offset) { - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(ui.Rect.largest); - canvas.drawImage(image, offset, CkPaint()); + ui.Picture imageToPicture(ui.Image image, ui.Offset offset) { + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, ui.Rect.largest); + canvas.drawImage(image, offset, ui.Paint()); return recorder.endRecording(); } - final CkPicture helloPicture = makeTextPicture('Hello', ui.Offset.zero); + final ui.Picture helloPicture = makeTextPicture('Hello', ui.Offset.zero); - final CkImage helloImage = helloPicture.toImageSync(100, 100); + final ui.Image helloImage = helloPicture.toImageSync(100, 100); // Calling toByteData is essential to hit the bug. await helloImage.toByteData(format: ui.ImageByteFormat.png); - final LayerSceneBuilder sb = LayerSceneBuilder(); + final ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(0, 0); sb.addPicture(ui.Offset.zero, helloPicture); sb.addPlatformView(0, width: 10, height: 10); @@ -201,10 +205,11 @@ void testMain() { sb.addPicture(const ui.Offset(0, 50), imageToPicture(helloImage, ui.Offset.zero)); sb.pop(); + await renderScene(sb.build()); + // The below line should not throw an error. - await matchSceneGolden( + await matchGoldenFile( 'cross_overlay_resources.png', - sb.build(), region: const ui.Rect.fromLTRB(0, 0, 100, 100), ); }, @@ -212,9 +217,9 @@ void testMain() { }); } -typedef ParagraphFactory = CkParagraph Function(); +typedef ParagraphFactory = ui.Paragraph Function(); -void drawTestPicture(CkCanvas canvas) { +Future drawTestPicture(LayerCanvas canvas) async { canvas.clear(const ui.Color(0xFFFFFFF)); canvas.translate(10, 10); @@ -223,22 +228,21 @@ void drawTestPicture(CkCanvas canvas) { canvas.save(); canvas.save(); - canvas.clipRect(const ui.Rect.fromLTRB(0, 0, 45, 45), ui.ClipOp.intersect, true); - canvas.clipRRect(ui.RRect.fromLTRBR(5, 5, 50, 50, const ui.Radius.circular(8)), true); + canvas.clipRect(const ui.Rect.fromLTRB(0, 0, 45, 45)); + canvas.clipRRect(ui.RRect.fromLTRBR(5, 5, 50, 50, const ui.Radius.circular(8))); canvas.clipPath( - CkPath() + ui.Path() ..moveTo(5, 5) ..lineTo(25, 5) ..lineTo(45, 45) ..lineTo(5, 45) ..close(), - true, ); canvas.drawColor(const ui.Color.fromARGB(255, 100, 100, 0), ui.BlendMode.srcOver); canvas.restore(); // remove clips canvas.translate(60, 0); - canvas.drawCircle(const ui.Offset(30, 25), 15, CkPaint()..color = const ui.Color(0xFF0000AA)); + canvas.drawCircle(const ui.Offset(30, 25), 15, ui.Paint()..color = const ui.Color(0xFF0000AA)); canvas.translate(60, 0); canvas.drawArc( @@ -246,11 +250,11 @@ void drawTestPicture(CkCanvas canvas) { math.pi / 4, 3 * math.pi / 2, true, - CkPaint()..color = const ui.Color(0xFF00AA00), + ui.Paint()..color = const ui.Color(0xFF00AA00), ); canvas.translate(60, 0); - canvas.drawImage(generateTestImage(), const ui.Offset(20, 20), CkPaint()); + canvas.drawImage(await generateTestImage(), const ui.Offset(20, 20), ui.Paint()); canvas.translate(60, 0); final ui.RSTransform transform = ui.RSTransform.fromComponents( @@ -261,9 +265,8 @@ void drawTestPicture(CkCanvas canvas) { translateX: 0, translateY: 0, ); - canvas.drawAtlasRaw( - CkPaint(), - generateTestImage(), + canvas.drawRawAtlas( + await generateTestImage(), Float32List(4) ..[0] = transform.scos ..[1] = transform.ssin @@ -274,31 +277,33 @@ void drawTestPicture(CkCanvas canvas) { ..[1] = 0 ..[2] = 15 ..[3] = 15, - Uint32List.fromList([0x00000000]), + Int32List.fromList([0x00000000]), ui.BlendMode.srcOver, + null, + ui.Paint(), ); canvas.translate(60, 0); canvas.drawDRRect( ui.RRect.fromLTRBR(0, 0, 40, 30, const ui.Radius.elliptical(16, 8)), ui.RRect.fromLTRBR(10, 10, 30, 20, const ui.Radius.elliptical(4, 8)), - CkPaint(), + ui.Paint(), ); canvas.translate(60, 0); canvas.drawImageRect( - generateTestImage(), + await generateTestImage(), const ui.Rect.fromLTRB(0, 0, 15, 15), const ui.Rect.fromLTRB(10, 10, 40, 40), - CkPaint(), + ui.Paint(), ); canvas.translate(60, 0); canvas.drawImageNine( - generateTestImage(), + await generateTestImage(), const ui.Rect.fromLTRB(5, 5, 15, 15), const ui.Rect.fromLTRB(10, 10, 50, 40), - CkPaint(), + ui.Paint(), ); canvas.restore(); @@ -307,57 +312,48 @@ void drawTestPicture(CkCanvas canvas) { canvas.translate(0, 60); canvas.save(); - canvas.drawLine(ui.Offset.zero, const ui.Offset(40, 30), CkPaint()); + canvas.drawLine(ui.Offset.zero, const ui.Offset(40, 30), ui.Paint()); canvas.translate(60, 0); - canvas.drawOval(const ui.Rect.fromLTRB(0, 0, 40, 30), CkPaint()); + canvas.drawOval(const ui.Rect.fromLTRB(0, 0, 40, 30), ui.Paint()); canvas.translate(60, 0); canvas.save(); - canvas.clipRect(const ui.Rect.fromLTRB(0, 0, 50, 30), ui.ClipOp.intersect, true); - canvas.drawPaint(CkPaint()..color = const ui.Color(0xFF6688AA)); + canvas.clipRect(const ui.Rect.fromLTRB(0, 0, 50, 30)); + canvas.drawPaint(ui.Paint()..color = const ui.Color(0xFF6688AA)); canvas.restore(); canvas.translate(60, 0); { - final CkPictureRecorder otherRecorder = CkPictureRecorder(); - final CkCanvas otherCanvas = otherRecorder.beginRecording(const ui.Rect.fromLTRB(0, 0, 40, 20)); + final ui.PictureRecorder otherRecorder = ui.PictureRecorder(); + final ui.Canvas otherCanvas = ui.Canvas(otherRecorder, const ui.Rect.fromLTRB(0, 0, 40, 20)); otherCanvas.drawCircle( const ui.Offset(30, 15), 10, - CkPaint()..color = const ui.Color(0xFFAABBCC), + ui.Paint()..color = const ui.Color(0xFFAABBCC), ); canvas.drawPicture(otherRecorder.endRecording()); } canvas.translate(60, 0); - // TODO(yjbanov): CanvasKit.drawPoints is currently broken - // https://github.com/flutter/flutter/issues/71489 - // But keeping this anyway as it's a good test-case that - // will ensure it's fixed when we have the fix. canvas.drawPoints( - CkPaint() + ui.PointMode.polygon, + const [ui.Offset(10, 10), ui.Offset(20, 10), ui.Offset(30, 20), ui.Offset(40, 20)], + ui.Paint() ..color = const ui.Color(0xFF0000FF) ..strokeWidth = 5 ..strokeCap = ui.StrokeCap.round, - ui.PointMode.polygon, - offsetListToFloat32List(const [ - ui.Offset(10, 10), - ui.Offset(20, 10), - ui.Offset(30, 20), - ui.Offset(40, 20), - ]), ); canvas.translate(60, 0); - canvas.drawRRect(ui.RRect.fromLTRBR(0, 0, 40, 30, const ui.Radius.circular(10)), CkPaint()); + canvas.drawRRect(ui.RRect.fromLTRBR(0, 0, 40, 30, const ui.Radius.circular(10)), ui.Paint()); canvas.translate(60, 0); - canvas.drawRect(const ui.Rect.fromLTRB(0, 0, 40, 30), CkPaint()); + canvas.drawRect(const ui.Rect.fromLTRB(0, 0, 40, 30), ui.Paint()); canvas.translate(60, 0); canvas.drawShadow( - CkPath()..addRect(const ui.Rect.fromLTRB(0, 0, 40, 30)), + ui.Path()..addRect(const ui.Rect.fromLTRB(0, 0, 40, 30)), const ui.Color(0xFF00FF00), 4, true, @@ -370,38 +366,38 @@ void drawTestPicture(CkCanvas canvas) { canvas.save(); canvas.drawVertices( - CkVertices(ui.VertexMode.triangleFan, const [ + ui.Vertices(ui.VertexMode.triangleFan, const [ ui.Offset(10, 30), ui.Offset(30, 50), ui.Offset(10, 60), ]), ui.BlendMode.srcOver, - CkPaint(), + ui.Paint(), ); canvas.translate(60, 0); - final int restorePoint = canvas.save(); + final int restorePoint = canvas.getSaveCount(); for (int i = 0; i < 5; i++) { canvas.save(); canvas.translate(10, 10); - canvas.drawCircle(ui.Offset.zero, 5, CkPaint()); + canvas.drawCircle(ui.Offset.zero, 5, ui.Paint()); } canvas.restoreToCount(restorePoint); - canvas.drawCircle(ui.Offset.zero, 7, CkPaint()..color = const ui.Color(0xFFFF0000)); + canvas.drawCircle(ui.Offset.zero, 7, ui.Paint()..color = const ui.Color(0xFFFF0000)); canvas.translate(60, 0); - canvas.drawLine(ui.Offset.zero, const ui.Offset(30, 30), CkPaint()); + canvas.drawLine(ui.Offset.zero, const ui.Offset(30, 30), ui.Paint()); canvas.save(); canvas.rotate(-math.pi / 8); - canvas.drawLine(ui.Offset.zero, const ui.Offset(30, 30), CkPaint()); - canvas.drawCircle(const ui.Offset(30, 30), 7, CkPaint()..color = const ui.Color(0xFF00AA00)); + canvas.drawLine(ui.Offset.zero, const ui.Offset(30, 30), ui.Paint()); + canvas.drawCircle(const ui.Offset(30, 30), 7, ui.Paint()..color = const ui.Color(0xFF00AA00)); canvas.restore(); canvas.translate(60, 0); - final CkPaint thickStroke = CkPaint() + final ui.Paint thickStroke = ui.Paint() ..style = ui.PaintingStyle.stroke ..strokeWidth = 20; - final CkPaint semitransparent = CkPaint()..color = const ui.Color(0x66000000); + final ui.Paint semitransparent = ui.Paint()..color = const ui.Color(0x66000000); canvas.saveLayer(kDefaultRegion, semitransparent); canvas.drawLine(const ui.Offset(10, 10), const ui.Offset(50, 50), thickStroke); @@ -409,7 +405,7 @@ void drawTestPicture(CkCanvas canvas) { canvas.restore(); canvas.translate(60, 0); - canvas.saveLayerWithoutBounds(semitransparent); + canvas.saveLayer(null, semitransparent); canvas.drawLine(const ui.Offset(10, 10), const ui.Offset(50, 50), thickStroke); canvas.drawLine(const ui.Offset(50, 10), const ui.Offset(10, 50), thickStroke); canvas.restore(); @@ -417,15 +413,16 @@ void drawTestPicture(CkCanvas canvas) { // To test saveLayerWithFilter we draw three circles with only the middle one // blurred using the layer image filter. canvas.translate(60, 0); - canvas.saveLayer(kDefaultRegion, CkPaint()); - canvas.drawCircle(const ui.Offset(30, 30), 10, CkPaint()); + canvas.saveLayer(kDefaultRegion, ui.Paint()); + canvas.drawCircle(const ui.Offset(30, 30), 10, ui.Paint()); { canvas.saveLayerWithFilter( kDefaultRegion, + ui.Paint(), ui.ImageFilter.blur(sigmaX: 5, sigmaY: 10, tileMode: ui.TileMode.clamp), ); - canvas.drawCircle(const ui.Offset(10, 10), 10, CkPaint()); - canvas.drawCircle(const ui.Offset(50, 50), 10, CkPaint()); + canvas.drawCircle(const ui.Offset(10, 10), 10, ui.Paint()); + canvas.drawCircle(const ui.Offset(50, 50), 10, ui.Paint()); canvas.restore(); } canvas.restore(); @@ -434,14 +431,14 @@ void drawTestPicture(CkCanvas canvas) { canvas.save(); canvas.translate(30, 30); canvas.scale(2, 1.5); - canvas.drawCircle(ui.Offset.zero, 10, CkPaint()); + canvas.drawCircle(ui.Offset.zero, 10, ui.Paint()); canvas.restore(); canvas.translate(60, 0); canvas.save(); canvas.translate(30, 30); canvas.skew(2, 1.5); - canvas.drawRect(const ui.Rect.fromLTRB(-10, -10, 10, 10), CkPaint()); + canvas.drawRect(const ui.Rect.fromLTRB(-10, -10, 10, 10), ui.Paint()); canvas.restore(); canvas.restore(); @@ -454,28 +451,28 @@ void drawTestPicture(CkCanvas canvas) { final Matrix4 matrix = Matrix4.identity(); matrix.translate(30, 30); matrix.scale(2, 1.5); - canvas.transform(matrix.storage); - canvas.drawCircle(ui.Offset.zero, 10, CkPaint()); + canvas.transform(matrix.toFloat64()); + canvas.drawCircle(ui.Offset.zero, 10, ui.Paint()); canvas.restore(); canvas.translate(60, 0); - final CkParagraph p = makeSimpleText('Hello', fontSize: 18, color: const ui.Color(0xFF0000AA)); + final ui.Paragraph p = makeSimpleText('Hello', fontSize: 18, color: const ui.Color(0xFF0000AA)); canvas.drawParagraph(p, const ui.Offset(10, 20)); canvas.translate(60, 0); canvas.drawPath( - CkPath() + ui.Path() ..moveTo(30, 20) ..lineTo(50, 50) ..lineTo(10, 50) ..close(), - CkPaint()..color = const ui.Color(0xFF0000AA), + ui.Paint()..color = const ui.Color(0xFF0000AA), ); canvas.restore(); } -CkImage generateTestImage() { +Future generateTestImage() { final DomHTMLCanvasElement canvas = createDomCanvasElement(width: 20, height: 20); final DomCanvasRenderingContext2D ctx = canvas.context2D; ctx.fillStyle = '#FF0000'; @@ -487,16 +484,33 @@ CkImage generateTestImage() { ctx.fillStyle = '#FF00FF'; ctx.fillRect(10, 10, 10, 10); final Uint8List imageData = ctx.getImageData(0, 0, 20, 20).data.buffer.asUint8List(); - final SkImage skImage = canvasKit.MakeImage( - SkImageInfo( - width: 20, - height: 20, - alphaType: canvasKit.AlphaType.Premul, - colorType: canvasKit.ColorType.RGBA_8888, - colorSpace: SkColorSpaceSRGB, + final Completer completer = Completer(); + renderer.decodeImageFromPixels(imageData, 20, 20, ui.PixelFormat.rgba8888, (ui.Image result) { + completer.complete(result); + }); + return completer.future; +} + +ui.Paragraph makeSimpleText( + String text, { + String? fontFamily, + double? fontSize, + ui.FontStyle? fontStyle, + ui.FontWeight? fontWeight, + ui.Color? color, +}) { + final ui.ParagraphBuilder builder = ui.ParagraphBuilder( + ui.ParagraphStyle( + fontFamily: fontFamily ?? 'Roboto', + fontSize: fontSize ?? 14, + fontStyle: fontStyle ?? ui.FontStyle.normal, + fontWeight: fontWeight ?? ui.FontWeight.normal, ), - imageData, - 4 * 20, - )!; - return CkImage(skImage); + ); + builder.pushStyle(ui.TextStyle(color: color ?? const ui.Color(0xFF000000))); + builder.addText(text); + builder.pop(); + final ui.Paragraph paragraph = builder.build(); + paragraph.layout(const ui.ParagraphConstraints(width: 10000)); + return paragraph; } diff --git a/engine/src/flutter/lib/web_ui/test/ui/codecs_test.dart b/engine/src/flutter/lib/web_ui/test/ui/codecs_test.dart new file mode 100644 index 0000000000000..2ec58761c9c2a --- /dev/null +++ b/engine/src/flutter/lib/web_ui/test/ui/codecs_test.dart @@ -0,0 +1,323 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; +import 'dart:js_interop'; +import 'dart:typed_data'; + +import 'package:test/bootstrap/browser.dart'; +import 'package:test/test.dart'; +import 'package:ui/src/engine.dart'; +import 'package:ui/ui.dart' as ui; + +import '../common/test_initialization.dart'; + +void main() { + internalBootstrapBrowserTest(() => testMain); +} + +abstract class TestCodec { + TestCodec({required this.description}); + final String description; + + ui.Codec? _cachedCodec; + + Future getCodec() async => _cachedCodec ??= await createCodec(); + + Future createCodec(); + + void dispose() { + _cachedCodec?.dispose(); + _cachedCodec = null; + } +} + +abstract class TestFileCodec extends TestCodec { + TestFileCodec.fromTestFile(this.testFile, {required super.description}); + + final String testFile; + + Future createCodecFromTestFile(String testFile); + + @override + Future createCodec() { + return createCodecFromTestFile(testFile); + } +} + +class UrlTestCodec extends TestFileCodec { + UrlTestCodec(super.testFile, this.codecFactory, String function) + : super.fromTestFile(description: 'created with $function("$testFile")'); + + final Future Function(String) codecFactory; + + @override + Future createCodecFromTestFile(String testFile) { + return codecFactory(testFile); + } +} + +class FetchTestCodec extends TestFileCodec { + FetchTestCodec(super.testFile, this.codecFactory, String function) + : super.fromTestFile( + description: + 'created with $function from bytes ' + 'fetch()\'ed from "$testFile"', + ); + + final Future Function(Uint8List) codecFactory; + + @override + Future createCodecFromTestFile(String testFile) async { + final HttpFetchResponse response = await httpFetch(testFile); + + if (!response.hasPayload) { + throw Exception('Unable to fetch() image test file "$testFile"'); + } + + final Uint8List responseBytes = await response.asUint8List(); + return codecFactory(responseBytes); + } +} + +class BitmapTestCodec extends TestFileCodec { + BitmapTestCodec(super.testFile, this.codecFactory, String function) + : super.fromTestFile( + description: + 'created with $function from ImageBitmap' + ' created from "$testFile"', + ); + + final Future Function(DomImageBitmap) codecFactory; + + @override + Future createCodecFromTestFile(String testFile) async { + final DomHTMLImageElement imageElement = createDomHTMLImageElement(); + imageElement.src = testFile; + imageElement.decoding = 'async'; + + await imageElement.decode(); + + final DomImageBitmap bitmap = await createImageBitmap(imageElement, ( + x: 0, + y: 0, + width: imageElement.naturalWidth.toInt(), + height: imageElement.naturalHeight.toInt(), + )); + + final ui.Image image = await codecFactory(bitmap); + return BitmapSingleFrameCodec(bitmap, image); + } +} + +class BitmapSingleFrameCodec implements ui.Codec { + BitmapSingleFrameCodec(this.bitmap, this.image); + + final DomImageBitmap bitmap; + final ui.Image image; + + @override + void dispose() { + image.dispose(); + bitmap.close(); + } + + @override + int get frameCount => 1; + + @override + Future getNextFrame() async { + return SingleFrameInfo(image); + } + + @override + int get repetitionCount => 0; +} + +Future testMain() async { + final HttpFetchResponse listingResponse = await httpFetch('/test_images/'); + final List testFiles = + ((await listingResponse.json() as JSAny?).dartify()! as List).cast(); + + List createTestCodecs({int testTargetWidth = 300, int testTargetHeight = 300}) { + // Sanity-check the test file list. If suddenly test files are moved or + // deleted, and the test server returns an empty list, or is missing some + // important test files, we want to know. + assert(testFiles.isNotEmpty); + assert(testFiles.any((String testFile) => testFile.endsWith('.jpg'))); + assert(testFiles.any((String testFile) => testFile.endsWith('.png'))); + assert(testFiles.any((String testFile) => testFile.endsWith('.gif'))); + assert(testFiles.any((String testFile) => testFile.endsWith('.webp'))); + assert(testFiles.any((String testFile) => testFile.endsWith('.bmp'))); + + final List testCodecs = []; + for (final String testFile in testFiles) { + if (testFile == 'xOffsetTooBig.gif' && isSafari) { + // This file causes Safari to crash with `EncodingError`. See: + // https://github.com/flutter/flutter/issues/152709 + continue; + } + testCodecs.add( + UrlTestCodec( + testFile, + (String file) => + renderer.instantiateImageCodecFromUrl(Uri.tryParse('/test_images/$file')!), + 'renderer.instantiateImageFromUrl', + ), + ); + testCodecs.add( + FetchTestCodec( + '/test_images/$testFile', + (Uint8List bytes) => renderer.instantiateImageCodec(bytes), + 'renderer.instantiateImageCodec', + ), + ); + testCodecs.add( + FetchTestCodec( + '/test_images/$testFile', + (Uint8List bytes) => renderer.instantiateImageCodec( + bytes, + targetWidth: testTargetWidth, + targetHeight: testTargetHeight, + ), + 'renderer.instantiateImageCodec ' + '($testTargetWidth x $testTargetHeight)', + ), + ); + testCodecs.add( + BitmapTestCodec( + 'test_images/$testFile', + (DomImageBitmap bitmap) async => renderer.createImageFromImageBitmap(bitmap), + 'renderer.createImageFromImageBitmap', + ), + ); + } + + return testCodecs; + } + + group('Images', () { + setUpUnitTests(withImplicitView: true); + + tearDown(() { + mockHttpFetchResponseFactory = null; + }); + + group('Codecs', () { + final List testCodecs = createTestCodecs(); + for (final TestCodec testCodec in testCodecs) { + test('${testCodec.description} can create an image', () async { + try { + final ui.Codec codec = await testCodec.getCodec(); + final ui.FrameInfo frameInfo = await codec.getNextFrame(); + final ui.Image image = frameInfo.image; + expect(image, isNotNull); + expect(image.width, isNonZero); + expect(image.height, isNonZero); + expect(image.colorSpace, isNotNull); + } catch (e) { + throw TestFailure('Failed to get image for ${testCodec.description}: $e'); + } + }); + + test('${testCodec.description} can be decoded with toByteData', () async { + ui.Image image; + try { + final ui.Codec codec = await testCodec.getCodec(); + final ui.FrameInfo frameInfo = await codec.getNextFrame(); + image = frameInfo.image; + } catch (e) { + throw TestFailure('Failed to get image for ${testCodec.description}: $e'); + } + + final ByteData? byteData = await image.toByteData(); + expect( + byteData, + isNotNull, + reason: '${testCodec.description} toByteData() should not be null', + ); + expect( + byteData!.lengthInBytes, + isNonZero, + reason: '${testCodec.description} toByteData() should not be empty', + ); + expect( + byteData.buffer.asUint8List().any((int byte) => byte > 0), + isTrue, + reason: + '${testCodec.description} toByteData() should ' + 'contain nonzero value', + ); + }); + } + for (final testCodec in testCodecs) { + testCodec.dispose(); + } + }); + }); + + test('crossOrigin requests cause an error', () async { + final String otherOrigin = domWindow.location.origin.replaceAll('localhost', '127.0.0.1'); + bool gotError = false; + try { + final ui.Codec _ = await renderer.instantiateImageCodecFromUrl( + Uri.parse('$otherOrigin/test_images/1x1.png'), + ); + } catch (e) { + gotError = true; + } + expect(gotError, isTrue, reason: 'Should have got CORS error'); + }); + + test('isAvif', () { + expect(isAvif(Uint8List.fromList([])), isFalse); + expect(isAvif(Uint8List.fromList([1, 2, 3])), isFalse); + expect( + isAvif( + Uint8List.fromList([ + 0x00, + 0x00, + 0x00, + 0x1c, + 0x66, + 0x74, + 0x79, + 0x70, + 0x61, + 0x76, + 0x69, + 0x66, + 0x00, + 0x00, + 0x00, + 0x00, + ]), + ), + isTrue, + ); + expect( + isAvif( + Uint8List.fromList([ + 0x00, + 0x00, + 0x00, + 0x20, + 0x66, + 0x74, + 0x79, + 0x70, + 0x61, + 0x76, + 0x69, + 0x66, + 0x00, + 0x00, + 0x00, + 0x00, + ]), + ), + isTrue, + ); + }); +} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/color_filter_golden_test.dart b/engine/src/flutter/lib/web_ui/test/ui/color_filter_golden_test.dart similarity index 52% rename from engine/src/flutter/lib/web_ui/test/canvaskit/color_filter_golden_test.dart rename to engine/src/flutter/lib/web_ui/test/ui/color_filter_golden_test.dart index fa5ec73d4b6b2..d167b03da7f8f 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/color_filter_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/color_filter_golden_test.dart @@ -6,8 +6,10 @@ import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; +import 'package:web_engine_tester/golden_tester.dart'; -import 'common.dart'; +import '../common/rendering.dart'; +import '../common/test_initialization.dart'; void main() { internalBootstrapBrowserTest(() => testMain); @@ -17,23 +19,23 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { group('ColorFilter', () { - setUpCanvasKitTest(withImplicitView: true); + setUpUnitTests(withImplicitView: true, setUpTestViewDimensions: false); test('ColorFilter.matrix applies a color filter', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); // Draw a red circle and apply it to the scene. - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawCircle( const ui.Offset(75, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle = recorder.endRecording(); + final ui.Picture redCircle = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle); @@ -49,59 +51,63 @@ void testMain() { // Draw another red circle and apply it to the scene. // This one should be grey since we have the color filter. - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); canvas2.drawCircle( const ui.Offset(425, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture greyCircle = recorder2.endRecording(); + final ui.Picture greyCircle = recorder2.endRecording(); builder.addPicture(ui.Offset.zero, greyCircle); - await matchSceneGolden('canvaskit_colorfilter.png', builder.build(), region: region); + await renderScene(builder.build()); + + await matchGoldenFile('ui_colorfilter.png', region: region); }); test('invertColors inverts the colors', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); // Draw a red circle and apply it to the scene. - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawCircle( const ui.Offset(75, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle = recorder.endRecording(); + final ui.Picture redCircle = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle); // Draw another red circle with invertColors. - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); canvas2.drawCircle( const ui.Offset(425, 125), 50, - CkPaint() + ui.Paint() ..color = const ui.Color.fromARGB(255, 255, 0, 0) ..invertColors = true, ); - final CkPicture invertedCircle = recorder2.endRecording(); + final ui.Picture invertedCircle = recorder2.endRecording(); builder.addPicture(ui.Offset.zero, invertedCircle); - await matchSceneGolden('canvaskit_invertcolors.png', builder.build(), region: region); + await renderScene(builder.build()); + + await matchGoldenFile('ui_invertcolors.png', region: region); }); test('ColorFilter.matrix works for inverse matrix', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); @@ -115,40 +121,41 @@ void testMain() { ]), ); - final CkPictureRecorder recorder = CkPictureRecorder(); - - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawRect( const ui.Rect.fromLTWH(50, 50, 100, 100), - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); canvas.drawRect( const ui.Rect.fromLTWH(200, 50, 100, 100), - CkPaint()..color = const ui.Color.fromARGB(255, 0, 255, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 0, 255, 0), ); canvas.drawRect( const ui.Rect.fromLTWH(350, 50, 100, 100), - CkPaint()..color = const ui.Color.fromARGB(255, 0, 0, 255), + ui.Paint()..color = const ui.Color.fromARGB(255, 0, 0, 255), ); - final CkPicture invertedSquares = recorder.endRecording(); + final ui.Picture invertedSquares = recorder.endRecording(); builder.addPicture(ui.Offset.zero, invertedSquares); - await matchSceneGolden('canvaskit_inverse_colormatrix.png', builder.build(), region: region); + await renderScene(builder.build()); + + await matchGoldenFile('ui_inverse_colormatrix.png', region: region); }); test('ColorFilter color with 0 opacity', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawCircle( const ui.Offset(75, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle1 = recorder.endRecording(); + final ui.Picture redCircle1 = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle1); builder.pushColorFilter( @@ -157,36 +164,34 @@ void testMain() { // Draw another red circle and apply it to the scene. // This one should also be red with the color filter doing nothing - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); canvas2.drawCircle( const ui.Offset(425, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle2 = recorder2.endRecording(); + final ui.Picture redCircle2 = recorder2.endRecording(); builder.addPicture(ui.Offset.zero, redCircle2); - await matchSceneGolden( - 'canvaskit_transparent_colorfilter.png', - builder.build(), - region: region, - ); + await renderScene(builder.build()); + + await matchGoldenFile('ui_transparent_colorfilter.png', region: region); }); test('ColorFilter with dst blend mode', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawCircle( const ui.Offset(75, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle1 = recorder.endRecording(); + final ui.Picture redCircle1 = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle1); // Push dst color filter @@ -194,35 +199,37 @@ void testMain() { // Draw another red circle and apply it to the scene. // This one should also be red with the color filter doing nothing - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); canvas2.drawCircle( const ui.Offset(425, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle2 = recorder2.endRecording(); + final ui.Picture redCircle2 = recorder2.endRecording(); builder.addPicture(ui.Offset.zero, redCircle2); - await matchSceneGolden('canvaskit_dst_colorfilter.png', builder.build(), region: region); + await renderScene(builder.build()); + + await matchGoldenFile('ui_dst_colorfilter.png', region: region); }); test('ColorFilter only applies to child bounds', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); // Draw a red circle and add it to the scene. - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawCircle( const ui.Offset(75, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle = recorder.endRecording(); + final ui.Picture redCircle = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle); @@ -230,36 +237,38 @@ void testMain() { builder.pushColorFilter(const ui.ColorFilter.mode(ui.Color(0xff00ff00), ui.BlendMode.color)); // Draw another red circle and apply it to the scene. // This one should be green since we have the color filter. - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); canvas2.drawCircle( const ui.Offset(425, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture greenCircle = recorder2.endRecording(); + final ui.Picture greenCircle = recorder2.endRecording(); builder.addPicture(ui.Offset.zero, greenCircle); - await matchSceneGolden('canvaskit_colorfilter_bounds.png', builder.build(), region: region); + await renderScene(builder.build()); + + await matchGoldenFile('ui_colorfilter_bounds.png', region: region); }); test('ColorFilter works as an ImageFilter', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); // Draw a red circle and add it to the scene. - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawCircle( const ui.Offset(75, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle = recorder.endRecording(); + final ui.Picture redCircle = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle); @@ -267,23 +276,21 @@ void testMain() { builder.pushImageFilter(const ui.ColorFilter.mode(ui.Color(0xff00ff00), ui.BlendMode.color)); // Draw another red circle and apply it to the scene. // This one should be green since we have the color filter. - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); canvas2.drawCircle( const ui.Offset(425, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture greenCircle = recorder2.endRecording(); + final ui.Picture greenCircle = recorder2.endRecording(); builder.addPicture(ui.Offset.zero, greenCircle); - await matchSceneGolden( - 'canvaskit_colorfilter_as_imagefilter.png', - builder.build(), - region: region, - ); + await renderScene(builder.build()); + + await matchGoldenFile('ui_colorfilter_as_imagefilter.png', region: region); }); // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 }, skip: isSafari || isFirefox); diff --git a/engine/src/flutter/lib/web_ui/test/ui/filters_test.dart b/engine/src/flutter/lib/web_ui/test/ui/filters_test.dart index 38dfc0138827c..a43f8aa64ceb0 100644 --- a/engine/src/flutter/lib/web_ui/test/ui/filters_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/filters_test.dart @@ -4,6 +4,7 @@ import 'dart:async'; import 'dart:math' as math; +import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; @@ -11,6 +12,7 @@ import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; import 'package:web_engine_tester/golden_tester.dart'; +import '../common/rendering.dart'; import '../common/test_initialization.dart'; import 'utils.dart'; @@ -438,4 +440,165 @@ Future testMain() async { region: region, ); }); + + Future drawTestCirclesComparison(ui.ImageFilter filter) async { + const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); + + final ui.SceneBuilder builder = ui.SceneBuilder(); + builder.pushOffset(0, 0); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); + + canvas.drawCircle( + const ui.Offset(75, 125), + 50, + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ); + final ui.Picture redCircle1 = recorder.endRecording(); + builder.addPicture(ui.Offset.zero, redCircle1); + + builder.pushImageFilter(filter); + + // Draw another red circle and apply it to the scene. + // This one will be affected by the image filter. + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); + canvas2.drawCircle( + const ui.Offset(425, 125), + 50, + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ); + final ui.Picture redCircle2 = recorder2.endRecording(); + + builder.addPicture(ui.Offset.zero, redCircle2); + + await renderScene(builder.build()); + + return region; + } + + test('does not throw for blur filter with sigmaX and sigmaY set to 0', () async { + // Ignoring redundant arguments (the default sigma is 0) to make the + // test clearer. + final ui.ImageFilter imageFilter = ui.ImageFilter.blur( + // ignore: avoid_redundant_argument_values + sigmaX: 0, + // ignore: avoid_redundant_argument_values + sigmaY: 0, + tileMode: ui.TileMode.clamp, + ); + expect(imageFilter, isNotNull); + + final region = await drawTestCirclesComparison(imageFilter); + await matchGoldenFile('ui_zero_sigma_blur.png', region: region); + }); + + test('does not throw for dilate filter with both radiusX and radiusY set to 0', () async { + // Ignoring redundant arguments (the default radius is 0) to make the + // test clearer. + final ui.ImageFilter imageFilter = ui.ImageFilter.dilate( + // ignore: avoid_redundant_argument_values + radiusX: 0, + // ignore: avoid_redundant_argument_values + radiusY: 0, + ); + expect(imageFilter, isNotNull); + + final region = await drawTestCirclesComparison(imageFilter); + await matchGoldenFile('ui_filter_dilate_imagefilter_with_zeros.png', region: region); + }); + + test('does not throw for erode filter with both radiusX and radiusY set to 0', () async { + // Ignoring redundant arguments (the default radius is 0) to make the + // test clearer. + final ui.ImageFilter imageFilter = ui.ImageFilter.erode( + // ignore: avoid_redundant_argument_values + radiusX: 0, + // ignore: avoid_redundant_argument_values + radiusY: 0, + ); + expect(imageFilter, isNotNull); + + final region = await drawTestCirclesComparison(imageFilter); + await matchGoldenFile('ui_filter_erode_imagefilter_with_zeros.png', region: region); + }); + + test('does not throw for matrix filter with identity matrix', () async { + final ui.ImageFilter imageFilter = ui.ImageFilter.matrix(Matrix4.identity().toFloat64()); + expect(imageFilter, isNotNull); + + final region = await drawTestCirclesComparison(imageFilter); + await matchGoldenFile('ui_filter_matrix_imagefilter_with_identity_matrix.png', region: region); + }); + + test('== operator', () { + final List filters1 = [ + ...createImageFilters(), + ...createColorFilters(), + ]; + final List filters2 = [ + ...createImageFilters(), + ...createColorFilters(), + ]; + + for (int index1 = 0; index1 < filters1.length; index1 += 1) { + final ui.ImageFilter imageFilter1 = filters1[index1]; + expect(imageFilter1 == imageFilter1, isTrue); + for (int index2 = 0; index2 < filters2.length; index2 += 1) { + final ui.ImageFilter imageFilter2 = filters2[index2]; + expect(imageFilter1 == imageFilter2, imageFilter2 == imageFilter1); + expect( + imageFilter1 == imageFilter2, + index1 == index2, + reason: + 'filters1[$index1] != filters2[$index2]\n' + 'imageFilter1 = $imageFilter1\n' + 'imageFilter2 = $imageFilter2', + ); + } + } + }); + + group('MaskFilter', () { + test('with 0 sigma can be set on a Paint', () { + final ui.Paint paint = ui.Paint(); + const ui.MaskFilter filter = ui.MaskFilter.blur(ui.BlurStyle.normal, 0); + + expect(() => paint.maskFilter = filter, isNot(throwsException)); + }); + }); +} + +List createColorFilters() { + // Creates new color filter instances on each invocation. + return [ + // ignore: prefer_const_constructors + EngineColorFilter.mode(ui.Color(0x12345678), ui.BlendMode.srcOver), + // ignore: prefer_const_constructors + EngineColorFilter.mode(ui.Color(0x12345678), ui.BlendMode.dstOver), + // ignore: prefer_const_constructors + EngineColorFilter.mode(ui.Color(0x87654321), ui.BlendMode.dstOver), + // ignore: prefer_const_constructors + EngineColorFilter.matrix([1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]), + EngineColorFilter.matrix( + Float32List.fromList([2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0]), + ), + // ignore: prefer_const_constructors + EngineColorFilter.linearToSrgbGamma(), + // ignore: prefer_const_constructors + EngineColorFilter.srgbToLinearGamma(), + ]; +} + +List createImageFilters() { + final List filters = [ + ui.ImageFilter.blur(sigmaX: 5, sigmaY: 6, tileMode: ui.TileMode.clamp), + ui.ImageFilter.blur(sigmaX: 6, sigmaY: 5, tileMode: ui.TileMode.clamp), + ui.ImageFilter.blur(sigmaX: 6, sigmaY: 5, tileMode: ui.TileMode.decal), + ui.ImageFilter.dilate(radiusX: 5, radiusY: 6), + ui.ImageFilter.erode(radiusX: 7, radiusY: 8), + ]; + filters.add(ui.ImageFilter.compose(outer: filters[0], inner: filters[1])); + filters.add(ui.ImageFilter.compose(outer: filters[1], inner: filters[3])); + return filters; } diff --git a/engine/src/flutter/lib/web_ui/test/ui/image_test.dart b/engine/src/flutter/lib/web_ui/test/ui/image_test.dart new file mode 100644 index 0000000000000..b20500ea1084e --- /dev/null +++ b/engine/src/flutter/lib/web_ui/test/ui/image_test.dart @@ -0,0 +1,150 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:typed_data'; + +import 'package:test/bootstrap/browser.dart'; +import 'package:test/test.dart'; +import 'package:ui/src/engine.dart'; +import 'package:ui/ui.dart' as ui; + +import '../common/test_initialization.dart'; + +void main() { + internalBootstrapBrowserTest(() => testMain); +} + +Future testMain() async { + setUpUnitTests(withImplicitView: true); + test('Image constructor invokes onCreate once', () async { + int onCreateInvokedCount = 0; + ui.Image? createdImage; + ui.Image.onCreate = (ui.Image image) { + onCreateInvokedCount++; + createdImage = image; + }; + + final ui.Image image1 = await _createImage(); + + expect(onCreateInvokedCount, 1); + expect(createdImage, image1); + + final ui.Image image2 = await _createImage(); + + expect(onCreateInvokedCount, 2); + expect(createdImage, image2); + + ui.Image.onCreate = null; + }); + + test('dispose() invokes onDispose once', () async { + int onDisposeInvokedCount = 0; + ui.Image? disposedImage; + ui.Image.onDispose = (ui.Image image) { + onDisposeInvokedCount++; + disposedImage = image; + }; + + final ui.Image image1 = await _createImage() + ..dispose(); + + expect(onDisposeInvokedCount, 1); + expect(disposedImage, image1); + + final ui.Image image2 = await _createImage() + ..dispose(); + + expect(onDisposeInvokedCount, 2); + expect(disposedImage, image2); + + ui.Image.onDispose = null; + }); + + test('scaledImageSize scales to a target width with no target height', () { + final BitmapSize? size = scaledImageSize(200, 100, 600, null); + expect(size?.width, 600); + expect(size?.height, 300); + }); + + test('instantiateImageCodecFromBuffer dispose buffer', () async { + final ui.Image image = await _createImage(); + final ByteData? imageData = await image.toByteData(format: ui.ImageByteFormat.png); + final ui.ImmutableBuffer imageBuffer = await ui.ImmutableBuffer.fromUint8List( + imageData!.buffer.asUint8List(), + ); + + final ui.Codec codec = await ui.instantiateImageCodecFromBuffer(imageBuffer); + codec.dispose(); + image.dispose(); + + expect(imageBuffer.debugDisposed, isTrue); + }); + + test('instantiateImageCodecWithSize dispose buffer', () async { + // getTargetSize is null, so the image is not scaled. + final ui.Image image = await _createImage(); + final ByteData? imageData = await image.toByteData(format: ui.ImageByteFormat.png); + final ui.ImmutableBuffer nullTargetSizeImageBuffer = await ui.ImmutableBuffer.fromUint8List( + imageData!.buffer.asUint8List(), + ); + + final ui.Codec codec = await ui.instantiateImageCodecWithSize(nullTargetSizeImageBuffer); + codec.dispose(); + image.dispose(); + + expect(nullTargetSizeImageBuffer.debugDisposed, isTrue); + + // getTargetSize is not null, so the image is scaled. + final ui.Image scaledImage = await _createImage(); + final ByteData? scaledImageData = await scaledImage.toByteData(format: ui.ImageByteFormat.png); + final ui.ImmutableBuffer scaledImageBuffer = await ui.ImmutableBuffer.fromUint8List( + scaledImageData!.buffer.asUint8List(), + ); + + final ui.Codec scaledCodec = await ui.instantiateImageCodecWithSize( + scaledImageBuffer, + getTargetSize: (w, h) => ui.TargetImageSize(width: w ~/ 2, height: h ~/ 2), + ); + scaledCodec.dispose(); + scaledImage.dispose(); + + expect(scaledImageBuffer.debugDisposed, isTrue); + }); + + test('instantiateImageCodecWithSize disposes temporary image', () async { + final Set activeImages = {}; + ui.Image.onCreate = activeImages.add; + ui.Image.onDispose = activeImages.remove; + + final ui.Image image = await _createImage(); + final ByteData? imageData = await image.toByteData(format: ui.ImageByteFormat.png); + final ui.ImmutableBuffer imageBuffer = await ui.ImmutableBuffer.fromUint8List( + imageData!.buffer.asUint8List(), + ); + image.dispose(); + + final ui.Codec codec = await ui.instantiateImageCodecWithSize( + imageBuffer, + getTargetSize: (w, h) => ui.TargetImageSize(width: w ~/ 2, height: h ~/ 2), + ); + final ui.FrameInfo frameInfo = await codec.getNextFrame(); + + expect(activeImages.length, 1); + + frameInfo.image.dispose(); + codec.dispose(); + + expect(activeImages.length, 0); + }); +} + +Future _createImage() => _createPicture().toImage(10, 10); + +ui.Picture _createPicture() { + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder); + const ui.Rect rect = ui.Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + canvas.clipRect(rect); + return recorder.endRecording(); +} diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/layer_test.dart b/engine/src/flutter/lib/web_ui/test/ui/layer_test.dart similarity index 60% rename from engine/src/flutter/lib/web_ui/test/canvaskit/layer_test.dart rename to engine/src/flutter/lib/web_ui/test/ui/layer_test.dart index 18faaefc91d02..5764d5abfd18d 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/layer_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/layer_test.dart @@ -8,27 +8,29 @@ import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; +import 'package:web_engine_tester/golden_tester.dart'; -import 'common.dart'; +import '../common/rendering.dart'; +import '../common/test_initialization.dart'; +import 'utils.dart'; void main() { internalBootstrapBrowserTest(() => testMain); } void testMain() { - group('CanvasKit', () { - setUpCanvasKitTest(withImplicitView: true); + group('LayerScene', () { + setUpUnitTests(withImplicitView: true); // Regression test for https://github.com/flutter/flutter/issues/63715 test('TransformLayer prerolls correctly', () async { - final CkPicture picture = paintPicture(const ui.Rect.fromLTRB(0, 0, 60, 60), ( - CkCanvas canvas, - ) { - canvas.drawRect( - const ui.Rect.fromLTRB(0, 0, 60, 60), - CkPaint()..style = ui.PaintingStyle.fill, - ); - }); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, const ui.Rect.fromLTRB(0, 0, 60, 60)); + canvas.drawRect( + const ui.Rect.fromLTRB(0, 0, 60, 60), + ui.Paint()..style = ui.PaintingStyle.fill, + ); + final ui.Picture picture = recorder.endRecording(); final LayerSceneBuilder sb = LayerSceneBuilder(); sb.pushClipRect(const ui.Rect.fromLTRB(15, 15, 30, 30)); @@ -50,8 +52,9 @@ void testMain() { }); test('can push a leaf layer without a container layer', () async { - final CkPictureRecorder recorder = CkPictureRecorder(); - recorder.beginRecording(ui.Rect.zero); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + // Create a canvas just to start the recorder recording. + final ui.Canvas _ = ui.Canvas(recorder); LayerSceneBuilder().addPicture(ui.Offset.zero, recorder.endRecording()); }); @@ -65,25 +68,23 @@ void testMain() { final LayerScene layerScene = sb.build(); final ui.Image testImage = await layerScene.toImage(100, 100); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(kDefaultRegion); - canvas.drawImage(testImage as CkImage, ui.Offset.zero, CkPaint()); - await matchPictureGolden( - 'canvaskit_null_viewembedder_with_platformview.png', - recorder.endRecording(), - region: kDefaultRegion, - ); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, kDefaultRegion); + canvas.drawImage(testImage, ui.Offset.zero, ui.Paint()); + + await drawPictureUsingCurrentRenderer(recorder.endRecording()); + + await matchGoldenFile('ui_null_viewembedder_with_platformview.png', region: kDefaultRegion); }); test('ImageFilter layer applies matrix in preroll', () async { - final CkPicture picture = paintPicture(const ui.Rect.fromLTRB(0, 0, 100, 100), ( - CkCanvas canvas, - ) { - canvas.drawRect( - const ui.Rect.fromLTRB(0, 0, 100, 100), - CkPaint()..style = ui.PaintingStyle.fill, - ); - }); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, const ui.Rect.fromLTRB(0, 0, 100, 100)); + canvas.drawRect( + const ui.Rect.fromLTRB(0, 0, 100, 100), + ui.Paint()..style = ui.PaintingStyle.fill, + ); + final ui.Picture picture = recorder.endRecording(); final LayerSceneBuilder sb = LayerSceneBuilder(); sb.pushImageFilter( @@ -107,14 +108,13 @@ void testMain() { test('Opacity layer works correctly with Scene.toImage', () async { // This is a regression test for https://github.com/flutter/flutter/issues/138009 - final CkPicture picture = paintPicture(const ui.Rect.fromLTRB(0, 0, 100, 100), ( - CkCanvas canvas, - ) { - canvas.drawRect( - const ui.Rect.fromLTRB(0, 0, 100, 100), - CkPaint()..style = ui.PaintingStyle.fill, - ); - }); + final ui.PictureRecorder testRecorder = ui.PictureRecorder(); + final ui.Canvas testCanvas = ui.Canvas(testRecorder, const ui.Rect.fromLTRB(0, 0, 100, 100)); + testCanvas.drawRect( + const ui.Rect.fromLTRB(0, 0, 100, 100), + ui.Paint()..style = ui.PaintingStyle.fill, + ); + final ui.Picture picture = testRecorder.endRecording(); final LayerSceneBuilder sb = LayerSceneBuilder(); sb.pushTransform(Matrix4.identity().toFloat64()); @@ -124,12 +124,14 @@ void testMain() { final LayerScene scene = sb.build(); final ui.Image testImage = await scene.toImage(200, 200); - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(const ui.Rect.fromLTRB(0, 0, 200, 200)); - canvas.drawImage(testImage as CkImage, ui.Offset.zero, CkPaint()); - await matchPictureGolden( - 'canvaskit_scene_toimage_opacity_layer.png', - recorder.endRecording(), + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, const ui.Rect.fromLTRB(0, 0, 200, 200)); + canvas.drawImage(testImage, ui.Offset.zero, ui.Paint()); + + await drawPictureUsingCurrentRenderer(recorder.endRecording()); + + await matchGoldenFile( + 'ui_scene_toimage_opacity_layer.png', region: const ui.Rect.fromLTRB(0, 0, 200, 200), ); }); diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/multi_view_test.dart b/engine/src/flutter/lib/web_ui/test/ui/multi_view_test.dart similarity index 70% rename from engine/src/flutter/lib/web_ui/test/canvaskit/multi_view_test.dart rename to engine/src/flutter/lib/web_ui/test/ui/multi_view_test.dart index 88f98b7ae5c77..861bffe475b4e 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/multi_view_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/multi_view_test.dart @@ -9,35 +9,35 @@ import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart' as ui_web; import '../common/matchers.dart'; -import 'common.dart'; +import '../common/test_initialization.dart'; +import 'utils.dart'; void main() { internalBootstrapBrowserTest(() => testMain); } void testMain() { - group('CanvasKit', () { - setUpCanvasKitTest(withImplicitView: true); + group('MultiView', () { + setUpUnitTests(withImplicitView: true); - late LayerScene scene; + late ui.Scene scene; setUp(() { // Create a scene to use in tests. - final CkPicture picture = paintPicture(const ui.Rect.fromLTRB(0, 0, 60, 60), ( - CkCanvas canvas, - ) { - canvas.drawRect( - const ui.Rect.fromLTRB(0, 0, 60, 60), - CkPaint()..style = ui.PaintingStyle.fill, - ); - }); - final LayerSceneBuilder sb = LayerSceneBuilder(); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, const ui.Rect.fromLTRB(0, 0, 60, 60)); + canvas.drawRect( + const ui.Rect.fromLTRB(0, 0, 60, 60), + ui.Paint()..style = ui.PaintingStyle.fill, + ); + final ui.Picture picture = recorder.endRecording(); + final ui.SceneBuilder sb = ui.SceneBuilder(); sb.addPicture(ui.Offset.zero, picture); scene = sb.build(); }); test('can render into arbitrary views', () async { - await CanvasKitRenderer.instance.renderScene(scene, implicitView); + await renderer.renderScene(scene, implicitView as EngineFlutterView); final EngineFlutterView anotherView = EngineFlutterView( EnginePlatformDispatcher.instance, @@ -45,7 +45,7 @@ void testMain() { ); EnginePlatformDispatcher.instance.viewManager.registerView(anotherView); - await CanvasKitRenderer.instance.renderScene(scene, anotherView); + await renderer.renderScene(scene, anotherView); }); test('will error if trying to render into an unregistered view', () async { @@ -53,10 +53,7 @@ void testMain() { EnginePlatformDispatcher.instance, createDomElement('unregistered-view'), ); - expect( - () => CanvasKitRenderer.instance.renderScene(scene, unregisteredView), - throwsAssertionError, - ); + expect(() => renderer.renderScene(scene, unregisteredView), throwsAssertionError); }); test('will dispose the Rasterizer for a disposed view', () async { @@ -65,10 +62,10 @@ void testMain() { createDomElement('multi-view'), ); EnginePlatformDispatcher.instance.viewManager.registerView(view); - expect(CanvasKitRenderer.instance.debugGetRasterizerForView(view), isNotNull); + expect(renderer.rasterizers[view.viewId], isNotNull); EnginePlatformDispatcher.instance.viewManager.disposeAndUnregisterView(view.viewId); - expect(CanvasKitRenderer.instance.debugGetRasterizerForView(view), isNull); + expect(renderer.rasterizers[view.viewId], isNull); }); // Issue https://github.com/flutter/flutter/issues/142094 @@ -80,10 +77,10 @@ void testMain() { createDomElement('multi-view'), ); EnginePlatformDispatcher.instance.viewManager.registerView(view); - expect(CanvasKitRenderer.instance.debugGetRasterizerForView(view), isNotNull); + expect(renderer.rasterizers[view.viewId], isNotNull); EnginePlatformDispatcher.instance.viewManager.disposeAndUnregisterView(view.viewId); - expect(CanvasKitRenderer.instance.debugGetRasterizerForView(view), isNull); + expect(renderer.rasterizers[view.viewId], isNull); expect( PlatformViewManager.instance.knowsViewType( diff --git a/engine/src/flutter/lib/web_ui/test/ui/performance_overlay_test.dart b/engine/src/flutter/lib/web_ui/test/ui/performance_overlay_test.dart new file mode 100644 index 0000000000000..ebd45d921026b --- /dev/null +++ b/engine/src/flutter/lib/web_ui/test/ui/performance_overlay_test.dart @@ -0,0 +1,43 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:test/bootstrap/browser.dart'; +import 'package:test/test.dart'; +import 'package:ui/src/engine.dart'; +import 'package:ui/ui.dart' as ui; + +void main() { + internalBootstrapBrowserTest(() => testMain); +} + +void testMain() { + group('LayerSceneBuilder.addPerformanceOverlay', () { + final List warnings = []; + late void Function(String) oldPrintWarning; + + setUpAll(() { + oldPrintWarning = printWarning; + printWarning = (String warning) { + warnings.add(warning); + }; + }); + + tearDownAll(() { + printWarning = oldPrintWarning; + }); + + test('does not throw and warns only once per page load', () { + final sb1 = ui.SceneBuilder(); + warnings.clear(); + expect(() => sb1.addPerformanceOverlay(0, ui.Rect.zero), returnsNormally); + expect(warnings, hasLength(1)); + expect(warnings.single, contains('showPerformanceOverlay is not supported on Flutter Web')); + + final sb2 = ui.SceneBuilder(); + warnings.clear(); + expect(() => sb2.addPerformanceOverlay(0, ui.Rect.zero), returnsNormally); + expect(warnings, isEmpty, reason: 'Second call should not produce additional warnings.'); + }); + }); +} diff --git a/engine/src/flutter/lib/web_ui/test/ui/picture_test.dart b/engine/src/flutter/lib/web_ui/test/ui/picture_test.dart index 50f351608c7ef..ce7ebf5df6c87 100644 --- a/engine/src/flutter/lib/web_ui/test/ui/picture_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/picture_test.dart @@ -17,7 +17,7 @@ Future testMain() async { setUpUnitTests(); test('recorder and picture dispose underlying objects properly', () { - final ScenePictureRecorder recorder = ui.PictureRecorder() as ScenePictureRecorder; + final LayerPictureRecorder recorder = ui.PictureRecorder() as LayerPictureRecorder; final ui.Canvas canvas = ui.Canvas(recorder); const ui.Rect rect = ui.Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); canvas.clipRect(rect); diff --git a/engine/src/flutter/lib/web_ui/test/ui/platform_view_test.dart b/engine/src/flutter/lib/web_ui/test/ui/platform_view_test.dart index 3c8a7dab77b95..d5a4609d73efc 100644 --- a/engine/src/flutter/lib/web_ui/test/ui/platform_view_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/platform_view_test.dart @@ -13,6 +13,7 @@ import 'package:ui/ui_web/src/ui_web.dart' as ui_web; import 'package:web_engine_tester/golden_tester.dart'; import '../common/rendering.dart'; +import '../common/test_data.dart'; import '../common/test_initialization.dart'; import 'utils.dart'; @@ -57,7 +58,7 @@ Future testMain() async { }); test('picture + overlapping platformView', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -80,7 +81,7 @@ Future testMain() async { }); test('platformView sandwich', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -107,7 +108,7 @@ Future testMain() async { }); test('transformed platformview', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -131,7 +132,7 @@ Future testMain() async { }); test('transformed and offset platformview', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -159,7 +160,7 @@ Future testMain() async { }); test('offset platformview', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -194,7 +195,7 @@ Future testMain() async { }); test('platformview with opacity', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -218,7 +219,7 @@ Future testMain() async { }); test('platformview cliprect', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -242,7 +243,7 @@ Future testMain() async { }); test('platformview cliprrect', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -269,7 +270,7 @@ Future testMain() async { }); test('platformview covered clip', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -299,7 +300,7 @@ Future testMain() async { }); test('platformview clippath', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.PictureRecorder recorder = ui.PictureRecorder(); final ui.Canvas canvas = ui.Canvas(recorder); @@ -330,7 +331,7 @@ Future testMain() async { }); test('embeds interactive platform views', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(0, 0); @@ -359,7 +360,7 @@ Future testMain() async { }); test('clips platform views with RRects', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(0, 0); @@ -376,12 +377,32 @@ Future testMain() async { ); expect(sceneHost.querySelectorAll('flt-clip').single.style.width, '100%'); expect(sceneHost.querySelectorAll('flt-clip').single.style.height, '100%'); - // CanvasKit doesn't use the `rect` CSS clip-path to clip but it should: - // https://github.com/flutter/flutter/issues/172308 - }, skip: isCanvasKit); + }); + + test('clips platform views with Paths', () async { + await createPlatformView(1, platformViewType); + + final ui.SceneBuilder sb = ui.SceneBuilder(); + sb.pushOffset(0, 0); + sb.pushClipPath( + ui.Path() + ..lineTo(0, 10) + ..lineTo(10, 0) + ..close(), + ); + sb.addPlatformView(1, width: 10, height: 10); + await renderScene(sb.build()); + + expect( + sceneHost.querySelectorAll('flt-clip').single.style.clipPath, + 'path("M 0 0 L 0 10 L 10 0 L 0 0 Z")', + ); + expect(sceneHost.querySelectorAll('flt-clip').single.style.width, '100%'); + expect(sceneHost.querySelectorAll('flt-clip').single.style.height, '100%'); + }); test('correctly transforms platform views', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(0, 0); @@ -406,7 +427,7 @@ Future testMain() async { }); test('correctly offsets platform views', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.SceneBuilder sb = ui.SceneBuilder(); sb.addPlatformView(1, offset: const ui.Offset(3, 4), width: 5, height: 6); @@ -427,7 +448,7 @@ Future testMain() async { }); test('correctly offsets when clip chain length is changed', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(3, 3); @@ -462,14 +483,11 @@ Future testMain() async { 'matrix(1, 0, 0, 1, 6, 6)', 'matrix(1, 0, 0, 1, 3, 3)', ]); - // Skwasm pre-transforms the clips instead of applying the transforms - // stepwise in each clip: - // https://github.com/flutter/flutter/issues/172308 - }, skip: isSkwasm); + }); test('converts device pixels to logical pixels (no clips)', () async { EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(4); - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(1, 1); @@ -483,13 +501,11 @@ Future testMain() async { expect(getTransformChain(slotHost), ['matrix(0.25, 0, 0, 0.25, 1.5, 1.5)']); EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(null); - // Skwasm has an empty element as a parent of the platform view: - // https://github.com/flutter/flutter/issues/172308 - }, skip: isSkwasm); + }); test('converts device pixels to logical pixels (with clips)', () async { EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(4); - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(3, 3); @@ -509,10 +525,7 @@ Future testMain() async { 'matrix(0.25, 0, 0, 0.25, 0.75, 0.75)', ]); EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(null); - // Skwasm pre-transforms the clips instead of applying the transforms - // stepwise in each clip: - // https://github.com/flutter/flutter/issues/172308 - }, skip: isSkwasm); + }); test('renders overlays on top of platform views', () async { debugOverrideJsConfiguration( @@ -526,7 +539,7 @@ Future testMain() async { // Initialize all platform views to be used in the test. final List platformViewIds = []; for (int i = 0; i < 16; i++) { - await _createPlatformView(i, platformViewType); + await createPlatformView(i, platformViewType); platformViewIds.add(i); } @@ -654,13 +667,11 @@ Future testMain() async { // Frame 7: // Render: a platform view after error. // Expect: success. Just checking the system is not left in a corrupted state. - await _createPlatformView(0, platformViewType); + await createPlatformView(0, platformViewType); await renderTestScene(viewCount: 0); _expectSceneMatches(<_EmbeddedViewMarker>[]); debugOverrideJsConfiguration(null); - // Skwasm doesn't cap the maximum number of overlays: - // https://github.com/flutter/flutter/issues/172308 - }, skip: isSkwasm); + }); test('correctly reuses overlays', () async { final ui.PictureRecorder testRecorder = ui.PictureRecorder(); @@ -671,7 +682,7 @@ Future testMain() async { // Initialize all platform views to be used in the test. final List platformViewIds = []; for (int i = 0; i < 20; i++) { - await _createPlatformView(i, platformViewType); + await createPlatformView(i, platformViewType); platformViewIds.add(i); } @@ -784,12 +795,10 @@ Future testMain() async { _overlay, _platformView, ]); - // Skwasm doesn't cap the maximum number of overlays: - // https://github.com/flutter/flutter/issues/172308 - }, skip: isSkwasm); + }); test('embeds and disposes of a platform view', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(0, 0); @@ -799,7 +808,7 @@ Future testMain() async { expect(platformViewsHost.querySelector('flt-platform-view'), isNotNull); - await _disposePlatformView(1); + await disposePlatformView(1); sb = ui.SceneBuilder(); sb.pushOffset(0, 0); @@ -811,7 +820,7 @@ Future testMain() async { }); test('preserves the DOM node of an unrendered platform view', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(0, 0); @@ -822,7 +831,7 @@ Future testMain() async { expect(platformViewsHost.querySelectorAll('flt-platform-view'), hasLength(1)); // Render a frame with a different platform view. - await _createPlatformView(2, platformViewType); + await createPlatformView(2, platformViewType); sb = ui.SceneBuilder(); sb.pushOffset(0, 0); sb.addPlatformView(2, width: 10, height: 10); @@ -843,8 +852,49 @@ Future testMain() async { expect(platformViewsHost.querySelectorAll('flt-platform-view'), hasLength(2)); }); + test( + 'does not crash when resizing the window after textures have been registered', + () async { + ui_web.platformViewRegistry.registerViewFactory( + 'test-platform-view', + (int viewId) => createDomHTMLDivElement()..id = 'view-0', + ); + await createPlatformView(0, 'test-platform-view'); + + final ui.Codec codec = await renderer.instantiateImageCodec(kAnimatedGif); + + final ui.FrameInfo frame = await codec.getNextFrame(); + final ui.Image ckImage = frame.image; + + final LayerSceneBuilder sb = LayerSceneBuilder(); + sb.pushOffset(0, 0); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, ui.Rect.largest); + canvas.drawImage(ckImage, ui.Offset.zero, ui.Paint()); + final ui.Picture picture = recorder.endRecording(); + sb.addPicture(ui.Offset.zero, picture); + sb.addPlatformView(0, width: 10, height: 10); + + implicitView.debugPhysicalSizeOverride = const ui.Size(100, 100); + implicitView.debugForceResize(); + await renderScene(sb.build()); + _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView]); + + implicitView.debugPhysicalSizeOverride = const ui.Size(200, 200); + implicitView.debugForceResize(); + await renderScene(sb.build()); + _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView]); + + implicitView.debugPhysicalSizeOverride = null; + implicitView.debugForceResize(); + + // ImageDecoder is not supported in Safari or Firefox. + }, + skip: isSafari || isFirefox, + ); + test('does not crash when a prerolled platform view is not composited', () async { - await _createPlatformView(1, platformViewType); + await createPlatformView(1, platformViewType); final ui.SceneBuilder sb = ui.SceneBuilder(); sb.pushOffset(0, 0); @@ -854,20 +904,20 @@ Future testMain() async { // The below line should not throw an error. await renderScene(sb.build()); _expectSceneMatches(<_EmbeddedViewMarker>[]); - }, skip: isSkwasm); + }); test('does not create overlays for invisible platform views', () async { final ui.PictureRecorder testRecorder = ui.PictureRecorder(); final ui.Canvas testCanvas = ui.Canvas(testRecorder); testCanvas.drawCircle(const ui.Offset(5, 5), 5, ui.Paint()); final ui.Picture testPicture = testRecorder.endRecording(); - await _createPlatformView(0, platformViewType); - await _createPlatformView(1, invisiblePlatformViewType); - await _createPlatformView(2, platformViewType); - await _createPlatformView(3, invisiblePlatformViewType); - await _createPlatformView(4, invisiblePlatformViewType); - await _createPlatformView(5, invisiblePlatformViewType); - await _createPlatformView(6, invisiblePlatformViewType); + await createPlatformView(0, platformViewType); + await createPlatformView(1, invisiblePlatformViewType); + await createPlatformView(2, platformViewType); + await createPlatformView(3, invisiblePlatformViewType); + await createPlatformView(4, invisiblePlatformViewType); + await createPlatformView(5, invisiblePlatformViewType); + await createPlatformView(6, invisiblePlatformViewType); expect(PlatformViewManager.instance.isInvisible(0), isFalse); expect(PlatformViewManager.instance.isInvisible(1), isTrue); @@ -1086,7 +1136,36 @@ Future testMain() async { _platformView, _overlay, ]); - }, skip: isSkwasm); + }); + + test('can dispose without crashing', () async { + ui_web.platformViewRegistry.registerViewFactory( + 'test-view', + (int viewId) => createDomHTMLDivElement()..className = 'platform-view', + isVisible: false, + ); + + await createPlatformView(0, 'test-view'); + await createPlatformView(1, 'test-view'); + await createPlatformView(2, 'test-view'); + + final ui.SceneBuilder sb = ui.SceneBuilder() + ..pushOffset(0, 0) + ..addPlatformView(0, width: 10, height: 10) + ..addPlatformView(1, width: 10, height: 10) + ..addPlatformView(2, width: 10, height: 10) + ..pop(); + + await renderScene(sb.build()); + + _expectSceneMatches(<_EmbeddedViewMarker>[_platformView, _platformView, _platformView]); + + expect(() { + final PlatformViewEmbedder embedder = renderer.rasterizers[implicitView.viewId]!.viewEmbedder; + // The following line used to cause a "Concurrent modification during iteration" + embedder.dispose(); + }, returnsNormally); + }); test('optimizes overlays when pictures and platform views do not overlap', () async { ui.Picture rectPicture(ui.Rect rect) { @@ -1096,9 +1175,9 @@ Future testMain() async { return testRecorder.endRecording(); } - await _createPlatformView(0, platformViewType); - await _createPlatformView(1, platformViewType); - await _createPlatformView(2, platformViewType); + await createPlatformView(0, platformViewType); + await createPlatformView(1, platformViewType); + await createPlatformView(2, platformViewType); expect(PlatformViewManager.instance.isVisible(0), isTrue); expect(PlatformViewManager.instance.isVisible(1), isTrue); @@ -1227,8 +1306,8 @@ Future testMain() async { return testRecorder.endRecording(); } - await _createPlatformView(0, platformViewType); - await _createPlatformView(1, platformViewType); + await createPlatformView(0, platformViewType); + await createPlatformView(1, platformViewType); expect(PlatformViewManager.instance.isVisible(0), isTrue); expect(PlatformViewManager.instance.isVisible(1), isTrue); @@ -1266,7 +1345,7 @@ Future testMain() async { return testRecorder.endRecording(); } - await _createPlatformView(0, platformViewType); + await createPlatformView(0, platformViewType); expect(PlatformViewManager.instance.isVisible(0), isTrue); @@ -1282,30 +1361,258 @@ Future testMain() async { await renderScene(scene); _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView]); }); -} -// Sends a platform message to create a Platform View with the given id and viewType. -Future _createPlatformView(int id, String viewType) { - final Completer completer = Completer(); - const MethodCodec codec = StandardMethodCodec(); - ui.PlatformDispatcher.instance.sendPlatformMessage( - 'flutter/platform_views', - codec.encodeMethodCall(MethodCall('create', {'id': id, 'viewType': viewType})), - (dynamic _) => completer.complete(), - ); - return completer.future; -} + test('correctly places pictures in case where next ' + 'picture intersects multiple elements', () async { + ui_web.platformViewRegistry.registerViewFactory( + 'test-view', + (int viewId) => createDomHTMLDivElement()..className = 'platform-view', + ); + ui_web.platformViewRegistry.registerViewFactory( + 'invisible-view', + (int viewId) => createDomHTMLDivElement()..className = 'invisible-platform-view', + isVisible: false, + ); -/// Disposes of the platform view with the given [id]. -Future _disposePlatformView(int id) { - final Completer completer = Completer(); - const MethodCodec codec = StandardMethodCodec(); - ui.PlatformDispatcher.instance.sendPlatformMessage( - 'flutter/platform_views', - codec.encodeMethodCall(MethodCall('dispose', id)), - (dynamic _) => completer.complete(), - ); - return completer.future; + ui.Picture rectPicture(ui.Rect rect) { + final ui.PictureRecorder testRecorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(testRecorder); + canvas.drawRect(rect, ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0)); + return testRecorder.endRecording(); + } + + await createPlatformView(0, 'test-view'); + await createPlatformView(1, 'invisible-view'); + + expect(PlatformViewManager.instance.isVisible(0), isTrue); + expect(PlatformViewManager.instance.isVisible(1), isFalse); + + final LayerSceneBuilder sb = LayerSceneBuilder(); + sb.pushOffset(0, 0); + sb.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 100, 100))); + sb.addPlatformView(0, offset: const ui.Offset(10, 10), width: 50, height: 50); + sb.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 100, 100))); + sb.addPlatformView(1, offset: const ui.Offset(10, 10), width: 50, height: 50); + sb.addPicture(ui.Offset.zero, rectPicture(const ui.Rect.fromLTWH(0, 0, 5, 5))); + final LayerScene scene = sb.build(); + await renderScene(scene); + _expectSceneMatches(<_EmbeddedViewMarker>[_overlay, _platformView, _platformView, _overlay]); + + final Composition composition = + renderer.rasterizers[implicitView.viewId]!.viewEmbedder.debugActiveComposition; + final List picturesPerCanvas = composition.canvases + .map((CompositionCanvas canvas) => canvas.pictures.length) + .toList(); + expect(picturesPerCanvas, [1, 2]); + }); + test('can customize amount of overlays', () async { + final ui.PictureRecorder testRecorder = ui.PictureRecorder(); + final ui.Canvas testCanvas = ui.Canvas(testRecorder); + testCanvas.drawCircle(const ui.Offset(5, 5), 5, ui.Paint()); + final ui.Picture testPicture = testRecorder.endRecording(); + + // Initialize all platform views to be used in the test. + final List platformViewIds = []; + for (int i = 0; i < 16; i++) { + ui_web.platformViewRegistry.registerViewFactory( + 'test-platform-view', + (int viewId) => createDomHTMLDivElement()..id = 'view-$i', + ); + await createPlatformView(i, 'test-platform-view'); + platformViewIds.add(i); + } + + Future renderTestScene({required int viewCount}) async { + final LayerSceneBuilder sb = LayerSceneBuilder(); + sb.pushOffset(0, 0); + for (int i = 0; i < viewCount; i++) { + sb.addPicture(ui.Offset.zero, testPicture); + sb.addPlatformView(i, width: 10, height: 10); + } + await renderScene(sb.build()); + } + + // Set maximum overlays to 4. + debugOverrideJsConfiguration( + {'canvasKitMaximumSurfaces': 4}.jsify() as JsFlutterConfiguration?, + ); + + await renderTestScene(viewCount: 8); + _expectSceneMatches(<_EmbeddedViewMarker>[ + _overlay, + _platformView, + _overlay, + _platformView, + _overlay, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _overlay, + _platformView, + ]); + + // Set maximum overlays to -1. Should default to 1. + debugOverrideJsConfiguration( + {'canvasKitMaximumSurfaces': -1}.jsify() as JsFlutterConfiguration?, + ); + + await renderTestScene(viewCount: 8); + _expectSceneMatches(<_EmbeddedViewMarker>[ + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _overlay, + _platformView, + ]); + + debugOverrideJsConfiguration(null); + }); + + test('correctly rearranges pictures to second-to-last canvas ' + 'when hitting canvas limit', () async { + final ui.PictureRecorder testRecorder = ui.PictureRecorder(); + final ui.Canvas testCanvas = ui.Canvas(testRecorder); + testCanvas.drawCircle(const ui.Offset(5, 5), 5, ui.Paint()); + final ui.Picture testPicture = testRecorder.endRecording(); + + // Initialize all platform views to be used in the test. + final List platformViewIds = []; + for (int i = 0; i < 20; i++) { + ui_web.platformViewRegistry.registerViewFactory( + 'test-platform-view', + (int viewId) => createDomHTMLDivElement()..id = 'view-$i', + ); + await createPlatformView(i, 'test-platform-view'); + platformViewIds.add(i); + } + + Future renderTestScene(List views) async { + final ui.SceneBuilder sb = ui.SceneBuilder(); + sb.pushOffset(0, 0); + for (final int view in views) { + sb.addPicture(ui.Offset.zero, testPicture); + sb.addPlatformView(view, width: 10, height: 10); + } + await renderScene(sb.build()); + } + + // Render scene with 20 pictures. Check that the second-to-last canvas + // contains the pictures from the canvases that were deleted. + await renderTestScene([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]); + _expectSceneMatches(<_EmbeddedViewMarker>[ + _overlay, + _platformView, + _overlay, + _platformView, + _overlay, + _platformView, + _overlay, + _platformView, + _overlay, + _platformView, + _overlay, + _platformView, + _overlay, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _overlay, + _platformView, + ]); + + // The second-to-last canvas should have all the extra pictures. + final Composition composition = + renderer.rasterizers[implicitView.viewId]!.viewEmbedder.debugActiveComposition; + final List numPicturesPerCanvas = composition.canvases + .map((CompositionCanvas canvas) => canvas.pictures.length) + .toList(); + expect(numPicturesPerCanvas, [1, 1, 1, 1, 1, 1, 12, 1]); + + // It should also work when the maximum canvases is just one. + debugOverrideJsConfiguration( + {'canvasKitMaximumSurfaces': 1}.jsify() as JsFlutterConfiguration?, + ); + + // Render scene with 20 pictures. Check that the last canvas contains the + // pictures from the canvases that were deleted. + await renderTestScene([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]); + _expectSceneMatches(<_EmbeddedViewMarker>[ + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _platformView, + _overlay, + _platformView, + ]); + + // The last canvas should have all the pictures. + final Composition secondComposition = + renderer.rasterizers[implicitView.viewId]!.viewEmbedder.debugActiveComposition; + final List picturesPerCanvasInSecondRendering = secondComposition.canvases + .map((CompositionCanvas canvas) => canvas.pictures.length) + .toList(); + expect(picturesPerCanvasInSecondRendering, [19]); + debugOverrideJsConfiguration(null); + }); + test('disposes render pictures', () async { + Instrumentation.enabled = true; + Instrumentation.instance.debugCounters.clear(); + + ui_web.platformViewRegistry.registerViewFactory( + 'test-view', + (int viewId) => createDomHTMLDivElement()..className = 'platform-view', + ); + + ui.Picture rectPicture(ui.Rect rect) { + final ui.PictureRecorder testRecorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(testRecorder); + canvas.drawRect(rect, ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0)); + return testRecorder.endRecording(); + } + + final ui.Picture picture = rectPicture(const ui.Rect.fromLTWH(0, 0, 20, 20)); + + await createPlatformView(0, 'test-view'); + + final ui.SceneBuilder sb = ui.SceneBuilder(); + sb.addPicture(ui.Offset.zero, picture); + sb.addPlatformView(0, width: 20, height: 20); + final ui.Scene scene = sb.build(); + await renderScene(scene); + + picture.dispose(); + final Map debugCounters = Instrumentation.instance.debugCounters; + expect(debugCounters['Picture Created'], debugCounters['Picture Deleted']); + }); } // Returns the list of CSS transforms applied to the ancestor chain of diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/rsuperellipse_contains_test.dart b/engine/src/flutter/lib/web_ui/test/ui/rsuperellipse_contains_test.dart similarity index 98% rename from engine/src/flutter/lib/web_ui/test/canvaskit/rsuperellipse_contains_test.dart rename to engine/src/flutter/lib/web_ui/test/ui/rsuperellipse_contains_test.dart index 27cfd6a321101..4185c3f23a280 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/rsuperellipse_contains_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/rsuperellipse_contains_test.dart @@ -4,11 +4,10 @@ import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; - import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart'; -import 'common.dart'; +import '../common/test_initialization.dart'; // Tests for `RSuperellipse.contains` are placed in the canvaskit folder instead // of the engine folder because `RSuperellipse.contains` is implemented with @@ -23,10 +22,10 @@ void main() { void testMain() { group('RSuperellipse.contains', () { - setUpCanvasKitTest(); + setUpUnitTests(); tearDown(() { - CanvasKitRenderer.instance.debugClear(); + renderer.debugClear(); }); test('RSuperellipse.contains is correct with no corners', () { diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/shader_mask_golden_test.dart b/engine/src/flutter/lib/web_ui/test/ui/shader_mask_golden_test.dart similarity index 65% rename from engine/src/flutter/lib/web_ui/test/canvaskit/shader_mask_golden_test.dart rename to engine/src/flutter/lib/web_ui/test/ui/shader_mask_golden_test.dart index af1ec63ca52af..9cc4681be874f 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/shader_mask_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/shader_mask_golden_test.dart @@ -3,12 +3,15 @@ // found in the LICENSE file. import 'dart:math' as math; + import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; +import 'package:web_engine_tester/golden_tester.dart'; -import 'common.dart'; +import '../common/rendering.dart'; +import '../common/test_initialization.dart'; void main() { internalBootstrapBrowserTest(() => testMain); @@ -18,27 +21,27 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { group('ShaderMask', () { - setUpCanvasKitTest(withImplicitView: true); + setUpUnitTests(withImplicitView: true); test('Renders sweep gradient with color blend', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); // Draw a red circle and apply it to the scene. - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawCircle( const ui.Offset(425, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle = recorder.endRecording(); + final ui.Picture redCircle = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle); - final CkGradientSweep shader = CkGradientSweep( + final ui.Gradient shader = ui.Gradient.sweep( const ui.Offset(250, 125), const [ ui.Color(0xFF4285F4), @@ -51,7 +54,6 @@ void testMain() { ui.TileMode.clamp, -(math.pi / 2), math.pi * 2 - (math.pi / 2), - null, ); final ui.Path clipPath = ui.Path()..addOval(const ui.Rect.fromLTWH(25, 75, 100, 100)); @@ -62,41 +64,43 @@ void testMain() { // Draw another red circle and apply it to the scene. // This one should be grey since we have the color filter. - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); canvas2.drawRect( const ui.Rect.fromLTWH(25, 75, 100, 100), - CkPaint()..color = const ui.Color.fromARGB(255, 0, 255, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 0, 255, 0), ); - final CkPicture sweepCircle = recorder2.endRecording(); + final ui.Picture sweepCircle = recorder2.endRecording(); builder.addPicture(ui.Offset.zero, sweepCircle); - await matchSceneGolden('canvaskit_shadermask_linear.png', builder.build(), region: region); + await renderScene(builder.build()); + + await matchGoldenFile('ui_shadermask_linear.png', region: region); }); /// Regression test for https://github.com/flutter/flutter/issues/78959 test('Renders sweep gradient with color blend translated', () async { - final LayerSceneBuilder builder = LayerSceneBuilder(); + final ui.SceneBuilder builder = ui.SceneBuilder(); builder.pushOffset(0, 0); // Draw a red circle and apply it to the scene. - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); canvas.drawCircle( const ui.Offset(425, 125), 50, - CkPaint()..color = const ui.Color.fromARGB(255, 255, 0, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 255, 0, 0), ); - final CkPicture redCircle = recorder.endRecording(); + final ui.Picture redCircle = recorder.endRecording(); builder.addPicture(ui.Offset.zero, redCircle); - final CkGradientSweep shader = CkGradientSweep( + final ui.Gradient shader = ui.Gradient.sweep( const ui.Offset(250, 125), const [ ui.Color(0xFF4285F4), @@ -109,7 +113,6 @@ void testMain() { ui.TileMode.clamp, -(math.pi / 2), math.pi * 2 - (math.pi / 2), - null, ); final ui.Path clipPath = ui.Path()..addOval(const ui.Rect.fromLTWH(25, 75, 100, 100)); @@ -120,23 +123,21 @@ void testMain() { // Draw another red circle and apply it to the scene. // This one should be grey since we have the color filter. - final CkPictureRecorder recorder2 = CkPictureRecorder(); - final CkCanvas canvas2 = recorder2.beginRecording(region); + final ui.PictureRecorder recorder2 = ui.PictureRecorder(); + final ui.Canvas canvas2 = ui.Canvas(recorder2, region); canvas2.drawRect( const ui.Rect.fromLTWH(25, 75, 100, 100), - CkPaint()..color = const ui.Color.fromARGB(255, 0, 255, 0), + ui.Paint()..color = const ui.Color.fromARGB(255, 0, 255, 0), ); - final CkPicture sweepCircle = recorder2.endRecording(); + final ui.Picture sweepCircle = recorder2.endRecording(); builder.addPicture(ui.Offset.zero, sweepCircle); - await matchSceneGolden( - 'canvaskit_shadermask_linear_translated.png', - builder.build(), - region: region, - ); + await renderScene(builder.build()); + + await matchGoldenFile('ui_shadermask_linear_translated.png', region: region); }); // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 }, skip: isSafari || isFirefox); diff --git a/engine/src/flutter/lib/web_ui/test/canvaskit/sweep_gradient_golden_test.dart b/engine/src/flutter/lib/web_ui/test/ui/sweep_gradient_golden_test.dart similarity index 66% rename from engine/src/flutter/lib/web_ui/test/canvaskit/sweep_gradient_golden_test.dart rename to engine/src/flutter/lib/web_ui/test/ui/sweep_gradient_golden_test.dart index 489c4b62fe3fc..1277321e952de 100644 --- a/engine/src/flutter/lib/web_ui/test/canvaskit/sweep_gradient_golden_test.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/sweep_gradient_golden_test.dart @@ -8,8 +8,10 @@ import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; +import 'package:web_engine_tester/golden_tester.dart'; -import 'common.dart'; +import '../common/test_initialization.dart'; +import 'utils.dart'; void main() { internalBootstrapBrowserTest(() => testMain); @@ -19,13 +21,13 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { group('SweepGradient', () { - setUpCanvasKitTest(withImplicitView: true); + setUpUnitTests(withImplicitView: true); test('is correctly rendered', () async { - final CkPictureRecorder recorder = CkPictureRecorder(); - final CkCanvas canvas = recorder.beginRecording(region); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, region); - final CkGradientSweep gradient = CkGradientSweep( + final ui.Gradient gradient = ui.Gradient.sweep( const ui.Offset(250, 125), const [ ui.Color(0xFF4285F4), @@ -38,18 +40,15 @@ void testMain() { ui.TileMode.clamp, -(math.pi / 2), math.pi * 2 - (math.pi / 2), - null, ); - final CkPaint paint = CkPaint()..shader = gradient; + final ui.Paint paint = ui.Paint()..shader = gradient; canvas.drawRect(region, paint); - await matchPictureGolden( - 'canvaskit_sweep_gradient.png', - recorder.endRecording(), - region: region, - ); + await drawPictureUsingCurrentRenderer(recorder.endRecording()); + + await matchGoldenFile('ui_sweep_gradient.png', region: region); }); // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 }, skip: isSafari || isFirefox); diff --git a/engine/src/flutter/lib/web_ui/test/ui/text_test.dart b/engine/src/flutter/lib/web_ui/test/ui/text_test.dart new file mode 100644 index 0000000000000..ac302d564cb0d --- /dev/null +++ b/engine/src/flutter/lib/web_ui/test/ui/text_test.dart @@ -0,0 +1,113 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:test/bootstrap/browser.dart'; +import 'package:test/test.dart'; +import 'package:ui/src/engine.dart'; +import 'package:ui/ui.dart' as ui; + +import '../common/test_initialization.dart'; +import 'utils.dart'; + +void main() { + internalBootstrapBrowserTest(() => testMain); +} + +void testMain() { + group('Text', () { + setUpUnitTests(); + + test("doesn't crash when using shadows", () { + final ui.TextStyle textStyleWithShadows = ui.TextStyle( + fontSize: 16, + shadows: [ + const ui.Shadow(blurRadius: 3.0, offset: ui.Offset(3.0, 3.0)), + const ui.Shadow(blurRadius: 3.0, offset: ui.Offset(-3.0, 3.0)), + const ui.Shadow(blurRadius: 3.0, offset: ui.Offset(3.0, -3.0)), + const ui.Shadow(blurRadius: 3.0, offset: ui.Offset(-3.0, -3.0)), + ], + fontFamily: 'Roboto', + ); + + for (int i = 0; i < 10; i++) { + final ui.ParagraphBuilder builder = ui.ParagraphBuilder(ui.ParagraphStyle(fontSize: 16)); + builder.pushStyle(textStyleWithShadows); + builder.addText('test'); + final ui.Paragraph paragraph = builder.build(); + expect(paragraph, isNotNull); + } + }); + + // Regression test for https://github.com/flutter/flutter/issues/78550 + test('getBoxesForRange works for LTR text in an RTL paragraph', () { + // Create builder for an RTL paragraph. + final ui.ParagraphBuilder builder = ui.ParagraphBuilder( + ui.ParagraphStyle(fontSize: 16, textDirection: ui.TextDirection.rtl), + ); + builder.addText('hello'); + final ui.Paragraph paragraph = builder.build(); + paragraph.layout(const ui.ParagraphConstraints(width: 100)); + expect(paragraph, isNotNull); + final List boxes = paragraph.getBoxesForRange(0, 1); + expect(boxes, hasLength(1)); + // The direction for this span is LTR even though the paragraph is RTL + // because the directionality of the 'h' is LTR. + expect(boxes.single.direction, equals(ui.TextDirection.ltr)); + }); + + test('Renders tab as space instead of tofu', () async { + // Skia renders a tofu if the font does not have a glyph for a + // character. However, Flutter opts-in to a Skia feature to render + // tabs as a single space. + // See: https://github.com/flutter/flutter/issues/79153 + Future drawText(String text) { + const ui.Rect bounds = ui.Rect.fromLTRB(0, 0, 100, 100); + final ui.PictureRecorder recorder = ui.PictureRecorder(); + final ui.Canvas canvas = ui.Canvas(recorder, bounds); + final ui.Paragraph paragraph = makeSimpleText(text); + + canvas.drawParagraph(paragraph, ui.Offset.zero); + final ui.Picture picture = recorder.endRecording(); + return picture.toImage(100, 100); + } + + // The backspace character, \b, does not have a corresponding glyph and + // is rendered as a tofu. + final ui.Image tabImage = await drawText('>\t<'); + final ui.Image spaceImage = await drawText('> <'); + final ui.Image tofuImage = await drawText('>\b<'); + + expect(await matchImage(tabImage, spaceImage), isTrue); + expect(await matchImage(tabImage, tofuImage), isFalse); + }); + // TODO(hterkelsen): https://github.com/flutter/flutter/issues/71520 + }, skip: isSafari || isFirefox); +} + +/// Creates a pre-laid out one-line paragraph of text. +/// +/// Useful in tests that need a simple label to annotate goldens. +ui.Paragraph makeSimpleText( + String text, { + String? fontFamily, + double? fontSize, + ui.FontStyle? fontStyle, + ui.FontWeight? fontWeight, + ui.Color? color, +}) { + final ui.ParagraphBuilder builder = ui.ParagraphBuilder( + ui.ParagraphStyle( + fontFamily: fontFamily ?? 'Roboto', + fontSize: fontSize ?? 14, + fontStyle: fontStyle ?? ui.FontStyle.normal, + fontWeight: fontWeight ?? ui.FontWeight.normal, + ), + ); + builder.pushStyle(ui.TextStyle(color: color ?? const ui.Color(0xFF000000))); + builder.addText(text); + builder.pop(); + final ui.Paragraph paragraph = builder.build(); + paragraph.layout(const ui.ParagraphConstraints(width: 10000)); + return paragraph; +} diff --git a/engine/src/flutter/lib/web_ui/test/ui/utils.dart b/engine/src/flutter/lib/web_ui/test/ui/utils.dart index 3adc2d73ff4b5..2ec2ccb51226d 100644 --- a/engine/src/flutter/lib/web_ui/test/ui/utils.dart +++ b/engine/src/flutter/lib/web_ui/test/ui/utils.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:async'; +import 'dart:typed_data'; import 'package:ui/src/engine.dart'; import 'package:ui/src/engine/skwasm/skwasm_impl.dart' @@ -26,6 +27,47 @@ Future drawPictureUsingCurrentRenderer(Picture picture) async { await renderScene(sb.build()); } +// Sends a platform message to create a Platform View with the given id and viewType. +Future createPlatformView(int id, String viewType) { + final Completer completer = Completer(); + const MethodCodec codec = StandardMethodCodec(); + PlatformDispatcher.instance.sendPlatformMessage( + 'flutter/platform_views', + codec.encodeMethodCall(MethodCall('create', {'id': id, 'viewType': viewType})), + (dynamic _) => completer.complete(), + ); + return completer.future; +} + +/// Disposes of the platform view with the given [id]. +Future disposePlatformView(int id) { + final Completer completer = Completer(); + const MethodCodec codec = StandardMethodCodec(); + PlatformDispatcher.instance.sendPlatformMessage( + 'flutter/platform_views', + codec.encodeMethodCall(MethodCall('dispose', id)), + (dynamic _) => completer.complete(), + ); + return completer.future; +} + +Future matchImage(Image left, Image right) async { + if (left.width != right.width || left.height != right.height) { + return false; + } + int getPixel(ByteData data, int x, int y) => data.getUint32((x + y * left.width) * 4); + final ByteData leftData = (await left.toByteData())!; + final ByteData rightData = (await right.toByteData())!; + for (int y = 0; y < left.height; y++) { + for (int x = 0; x < left.width; x++) { + if (getPixel(leftData, x, y) != getPixel(rightData, x, y)) { + return false; + } + } + } + return true; +} + /// Convenience getter for the implicit view. FlutterView get implicitView => EnginePlatformDispatcher.instance.implicitView!; diff --git a/engine/src/flutter/lib/web_ui/test/ui/web_paragraph/font_collection_test.dart b/engine/src/flutter/lib/web_ui/test/ui/web_paragraph/font_collection_test.dart new file mode 100644 index 0000000000000..4e00dc720a27c --- /dev/null +++ b/engine/src/flutter/lib/web_ui/test/ui/web_paragraph/font_collection_test.dart @@ -0,0 +1,213 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:test/bootstrap/browser.dart'; +import 'package:test/test.dart'; + +import 'package:ui/src/engine.dart'; +import 'package:ui/ui_web/src/ui_web.dart' as ui_web; + +import '../../common/fake_asset_manager.dart'; +import '../../common/test_initialization.dart'; + +void main() { + internalBootstrapBrowserTest(() => testMain); +} + +void testMain() { + group('$WebFontCollection', () { + setUpUnitTests(); + + const String testFontUrl = '/assets/fonts/ahem.ttf'; + + late FakeAssetScope testScope; + setUp(() { + testScope = fakeAssetManager.pushAssetScope(); + testScope.setAssetPassthrough(testFontUrl); + + // Clear the fonts before the test begins to wipe out the fonts from the + // test initialization. + domDocument.fonts!.clear(); + }); + + tearDown(() { + fakeAssetManager.popAssetScope(testScope); + }); + + group('regular special characters', () { + test('Register Asset with no special characters', () async { + const String testFontFamily = 'Ahem'; + final List fontFamilyList = []; + final WebFontCollection collection = WebFontCollection(); + await collection.loadAssetFonts( + FontManifest([ + FontFamily(testFontFamily, [FontAsset(testFontUrl, {})]), + ]), + ); + domDocument.fonts!.forEach((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { + fontFamilyList.add(f.family!); + }); + + expect(fontFamilyList.length, equals(1)); + expect(fontFamilyList.first, 'Ahem'); + }); + + test('Register Asset with white space in the family name', () async { + const String testFontFamily = 'Ahem ahem ahem'; + final List fontFamilyList = []; + + final WebFontCollection collection = WebFontCollection(); + await collection.loadAssetFonts( + FontManifest([ + FontFamily(testFontFamily, [FontAsset(testFontUrl, {})]), + ]), + ); + domDocument.fonts!.forEach((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { + fontFamilyList.add(f.family!); + }); + + expect(fontFamilyList.length, equals(1)); + expect(fontFamilyList.first, 'Ahem ahem ahem'); + }); + + test('Register Asset with capital case letters', () async { + const String testFontFamily = 'AhEm'; + final List fontFamilyList = []; + + final WebFontCollection collection = WebFontCollection(); + await collection.loadAssetFonts( + FontManifest([ + FontFamily(testFontFamily, [FontAsset(testFontUrl, {})]), + ]), + ); + domDocument.fonts!.forEach((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { + fontFamilyList.add(f.family!); + }); + + expect(fontFamilyList.length, equals(1)); + expect(fontFamilyList.first, 'AhEm'); + }); + + test('Register Asset with descriptor', () async { + const String testFontFamily = 'Ahem'; + final List fontFamilyList = []; + final WebFontCollection collection = WebFontCollection(); + await collection.loadAssetFonts( + FontManifest([ + FontFamily(testFontFamily, [ + FontAsset(testFontUrl, {'weight': 'bold'}), + ]), + ]), + ); + + domDocument.fonts!.forEach((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { + expect(f.weight, 'bold'); + expect(f2.weight, 'bold'); + fontFamilyList.add(f.family!); + }); + + expect(fontFamilyList.length, equals(1)); + expect(fontFamilyList.first, 'Ahem'); + }); + }); + + group('fonts with special characters', () { + test('Register Asset twice with special character slash', () async { + const String testFontFamily = '/Ahem'; + final List fontFamilyList = []; + + final WebFontCollection collection = WebFontCollection(); + await collection.loadAssetFonts( + FontManifest([ + FontFamily(testFontFamily, [FontAsset(testFontUrl, {})]), + ]), + ); + domDocument.fonts!.forEach((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { + fontFamilyList.add(f.family!); + }); + + if (ui_web.browser.browserEngine != ui_web.BrowserEngine.firefox) { + expect(fontFamilyList.length, equals(2)); + expect(fontFamilyList, contains("'/Ahem'")); + expect(fontFamilyList, contains('/Ahem')); + } else { + expect(fontFamilyList.length, equals(1)); + expect(fontFamilyList.first, '"/Ahem"'); + } + }); + + test('Register Asset twice with exclamation mark', () async { + const String testFontFamily = 'Ahem!!ahem'; + final List fontFamilyList = []; + + final WebFontCollection collection = WebFontCollection(); + await collection.loadAssetFonts( + FontManifest([ + FontFamily(testFontFamily, [FontAsset(testFontUrl, {})]), + ]), + ); + domDocument.fonts!.forEach((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { + fontFamilyList.add(f.family!); + }); + + if (ui_web.browser.browserEngine != ui_web.BrowserEngine.firefox) { + expect(fontFamilyList.length, equals(2)); + expect(fontFamilyList, contains("'Ahem!!ahem'")); + expect(fontFamilyList, contains('Ahem!!ahem')); + } else { + expect(fontFamilyList.length, equals(1)); + expect(fontFamilyList.first, '"Ahem!!ahem"'); + } + }); + + test('Register Asset twice with comma', () async { + const String testFontFamily = 'Ahem ,ahem'; + final List fontFamilyList = []; + + final WebFontCollection collection = WebFontCollection(); + await collection.loadAssetFonts( + FontManifest([ + FontFamily(testFontFamily, [FontAsset(testFontUrl, {})]), + ]), + ); + domDocument.fonts!.forEach((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { + fontFamilyList.add(f.family!); + }); + + if (ui_web.browser.browserEngine != ui_web.BrowserEngine.firefox) { + expect(fontFamilyList.length, equals(2)); + expect(fontFamilyList, contains("'Ahem ,ahem'")); + expect(fontFamilyList, contains('Ahem ,ahem')); + } else { + expect(fontFamilyList.length, equals(1)); + expect(fontFamilyList.first, '"Ahem ,ahem"'); + } + }); + + test('Register Asset twice with a digit at the start of a token', () async { + const String testFontFamily = 'Ahem 1998'; + final List fontFamilyList = []; + + final WebFontCollection collection = WebFontCollection(); + await collection.loadAssetFonts( + FontManifest([ + FontFamily(testFontFamily, [FontAsset(testFontUrl, {})]), + ]), + ); + domDocument.fonts!.forEach((DomFontFace f, DomFontFace f2, DomFontFaceSet s) { + fontFamilyList.add(f.family!); + }); + + if (ui_web.browser.browserEngine != ui_web.BrowserEngine.firefox) { + expect(fontFamilyList.length, equals(2)); + expect(fontFamilyList, contains('Ahem 1998')); + expect(fontFamilyList, contains("'Ahem 1998'")); + } else { + expect(fontFamilyList.length, equals(1)); + expect(fontFamilyList.first, '"Ahem 1998"'); + } + }); + }); + }); +} diff --git a/engine/src/flutter/lib/web_ui/test/webparagraph/web_paragraph_test.dart b/engine/src/flutter/lib/web_ui/test/webparagraph/web_paragraph_test.dart index fe5cce64e622a..5826f7ed3858b 100644 --- a/engine/src/flutter/lib/web_ui/test/webparagraph/web_paragraph_test.dart +++ b/engine/src/flutter/lib/web_ui/test/webparagraph/web_paragraph_test.dart @@ -140,7 +140,7 @@ Future testMain() async { ); final WebParagraph paragraph = builder.build(); paragraph.layout(const ParagraphConstraints(width: 300)); - paragraph.paintOnCanvasKit(canvas as engine.CanvasKitCanvas, Offset.zero); + paragraph.paintOnCanvasKit(canvas as engine.CkCanvas, Offset.zero); await drawPictureUsingCurrentRenderer(recorder.endRecording()); await matchGoldenFile('web_paragraph_canvas_multilined_ltr.png', region: region); }); @@ -161,7 +161,7 @@ Future testMain() async { ); final WebParagraph paragraph = builder.build(); paragraph.layout(const ParagraphConstraints(width: 300)); - paragraph.paintOnCanvasKit(canvas as engine.CanvasKitCanvas, Offset.zero); + paragraph.paintOnCanvasKit(canvas as engine.CkCanvas, Offset.zero); await drawPictureUsingCurrentRenderer(recorder.endRecording()); await matchGoldenFile('web_paragraph_canvas_multilined_rtl.png', region: region); }); diff --git a/engine/src/flutter/pubspec.yaml b/engine/src/flutter/pubspec.yaml index 2cb4526e7819b..ed345d82da19c 100644 --- a/engine/src/flutter/pubspec.yaml +++ b/engine/src/flutter/pubspec.yaml @@ -101,7 +101,6 @@ workspace: - tools/header_guard_check - tools/gen_web_locale_keymap - tools/githooks - - tools/licenses - tools/mcp - tools/path_ops/dart - tools/golden_tests_harvester @@ -179,12 +178,14 @@ dependency_overrides: path: ./third_party/dart/pkg/async_helper boolean_selector: path: ./third_party/dart/third_party/pkg/tools/pkgs/boolean_selector + cli_config: + path: ./third_party/dart/third_party/pkg/tools/pkgs/cli_config collection: path: ./third_party/dart/third_party/pkg/core/pkgs/collection convert: path: ./third_party/dart/third_party/pkg/core/pkgs/convert coverage: - path: ./third_party/pkg/coverage + path: ./third_party/dart/third_party/pkg/tools/pkgs/coverage crypto: path: ./third_party/dart/third_party/pkg/core/pkgs/crypto dart_mcp: diff --git a/engine/src/flutter/runtime/BUILD.gn b/engine/src/flutter/runtime/BUILD.gn index 6364215c6bc78..760cb5c318b98 100644 --- a/engine/src/flutter/runtime/BUILD.gn +++ b/engine/src/flutter/runtime/BUILD.gn @@ -134,6 +134,7 @@ if (enable_unittests) { "dart_service_isolate_unittests.cc", "dart_vm_unittests.cc", "platform_isolate_manager_unittests.cc", + "runtime_controller_unittests.cc", "type_conversions_unittests.cc", ] @@ -147,6 +148,7 @@ if (enable_unittests) { "//flutter/common", "//flutter/fml", "//flutter/lib/snapshot", + "//flutter/shell/common:shell_test_fixture_sources", "//flutter/skia", "//flutter/testing", "//flutter/testing:dart", diff --git a/engine/src/flutter/runtime/dart_isolate_unittests.cc b/engine/src/flutter/runtime/dart_isolate_unittests.cc index 602011c1c5dc9..3be980588e173 100644 --- a/engine/src/flutter/runtime/dart_isolate_unittests.cc +++ b/engine/src/flutter/runtime/dart_isolate_unittests.cc @@ -712,6 +712,7 @@ class FakePlatformConfigurationClient : public PlatformConfigurationClient { double width, double height) override {} void UpdateSemantics(int64_t view_id, SemanticsUpdate* update) override {} + void SetSemanticsTreeEnabled(bool enabled) override {} void HandlePlatformMessage( std::unique_ptr message) override {} FontCollection& GetFontCollection() override { diff --git a/engine/src/flutter/runtime/dart_snapshot.cc b/engine/src/flutter/runtime/dart_snapshot.cc index cb5a3f1220ff0..198a2e75a7edc 100644 --- a/engine/src/flutter/runtime/dart_snapshot.cc +++ b/engine/src/flutter/runtime/dart_snapshot.cc @@ -53,7 +53,7 @@ static std::unique_ptr GetFileMapping( static std::shared_ptr SearchMapping( const MappingCallback& embedder_mapping_callback, const std::string& file_path, - const std::vector& native_library_path, + const std::vector& native_library_paths, const char* native_library_symbol_name, bool is_executable) { // Ask the embedder. There is no fallback as we expect the embedders (via @@ -75,7 +75,7 @@ static std::shared_ptr SearchMapping( } // Look in application specified native library if specified. - for (const std::string& path : native_library_path) { + for (const std::string& path : native_library_paths) { auto native_library = fml::NativeLibrary::Create(path.c_str()); auto symbol_mapping = std::make_unique( native_library, native_library_symbol_name); @@ -109,11 +109,11 @@ static std::shared_ptr ResolveVMData( ); #else // DART_SNAPSHOT_STATIC_LINK return SearchMapping( - settings.vm_snapshot_data, // embedder_mapping_callback - settings.vm_snapshot_data_path, // file_path - settings.application_library_path, // native_library_path - DartSnapshot::kVMDataSymbol, // native_library_symbol_name - false // is_executable + settings.vm_snapshot_data, // embedder_mapping_callback + settings.vm_snapshot_data_path, // file_path + settings.application_library_paths, // native_library_paths + DartSnapshot::kVMDataSymbol, // native_library_symbol_name + false // is_executable ); #endif // DART_SNAPSHOT_STATIC_LINK } @@ -130,7 +130,7 @@ static std::shared_ptr ResolveVMInstructions( return SearchMapping( settings.vm_snapshot_instr, // embedder_mapping_callback settings.vm_snapshot_instr_path, // file_path - settings.application_library_path, // native_library_path + settings.application_library_paths, // native_library_paths DartSnapshot::kVMInstructionsSymbol, // native_library_symbol_name true // is_executable ); @@ -149,7 +149,7 @@ static std::shared_ptr ResolveIsolateData( return SearchMapping( settings.isolate_snapshot_data, // embedder_mapping_callback settings.isolate_snapshot_data_path, // file_path - settings.application_library_path, // native_library_path + settings.application_library_paths, // native_library_paths DartSnapshot::kIsolateDataSymbol, // native_library_symbol_name false // is_executable ); @@ -169,7 +169,7 @@ static std::shared_ptr ResolveIsolateInstructions( return SearchMapping( settings.isolate_snapshot_instr, // embedder_mapping_callback settings.isolate_snapshot_instr_path, // file_path - settings.application_library_path, // native_library_path + settings.application_library_paths, // native_library_paths DartSnapshot::kIsolateInstructionsSymbol, // native_library_symbol_name true // is_executable ); diff --git a/engine/src/flutter/runtime/fixtures/runtime_test.dart b/engine/src/flutter/runtime/fixtures/runtime_test.dart index 0a85f5f97d95a..e322adcfacad5 100644 --- a/engine/src/flutter/runtime/fixtures/runtime_test.dart +++ b/engine/src/flutter/runtime/fixtures/runtime_test.dart @@ -6,6 +6,8 @@ import 'dart:async'; import 'dart:isolate'; +import 'dart:typed_data'; +import 'dart:ui'; import 'split_lib_test.dart' deferred as splitlib; @@ -219,3 +221,102 @@ Function createEntryPointForPlatIsoSendAndRecvTest() { void mainForPlatformIsolatesThrowError() { throw AssertionError('Error from platform isolate'); } + +@pragma('vm:entry-point') +void sendSemanticsUpdate() { + final SemanticsUpdateBuilder builder = SemanticsUpdateBuilder(); + const String identifier = 'identifier'; + const String label = 'label'; + final List labelAttributes = [ + SpellOutStringAttribute(range: const TextRange(start: 1, end: 2)), + ]; + + const String value = 'value'; + final List valueAttributes = [ + SpellOutStringAttribute(range: const TextRange(start: 2, end: 3)), + ]; + + const String increasedValue = 'increasedValue'; + final List increasedValueAttributes = [ + SpellOutStringAttribute(range: const TextRange(start: 4, end: 5)), + ]; + + const String decreasedValue = 'decreasedValue'; + final List decreasedValueAttributes = [ + SpellOutStringAttribute(range: const TextRange(start: 5, end: 6)), + ]; + + const String hint = 'hint'; + final List hintAttributes = [ + LocaleStringAttribute( + locale: const Locale('en', 'MX'), + range: const TextRange(start: 0, end: 1), + ), + ]; + + const String tooltip = 'tooltip'; + + final Float64List transform = Float64List(16); + final Int32List childrenInTraversalOrder = Int32List(0); + final Int32List childrenInHitTestOrder = Int32List(0); + final Int32List additionalActions = Int32List(0); + transform[0] = 1; + transform[1] = 0; + transform[2] = 0; + transform[3] = 0; + + transform[4] = 0; + transform[5] = 1; + transform[6] = 0; + transform[7] = 0; + + transform[8] = 0; + transform[9] = 0; + transform[10] = 1; + transform[11] = 0; + + transform[12] = 0; + transform[13] = 0; + transform[14] = 0; + transform[15] = 0; + builder.updateNode( + id: 0, + flags: SemanticsFlags(), + actions: 0, + maxValueLength: 0, + currentValueLength: 0, + textSelectionBase: -1, + textSelectionExtent: -1, + platformViewId: -1, + scrollChildren: 0, + scrollIndex: 0, + scrollPosition: 0, + scrollExtentMax: 0, + scrollExtentMin: 0, + rect: const Rect.fromLTRB(0, 0, 10, 10), + identifier: identifier, + label: label, + labelAttributes: labelAttributes, + value: value, + valueAttributes: valueAttributes, + increasedValue: increasedValue, + increasedValueAttributes: increasedValueAttributes, + decreasedValue: decreasedValue, + decreasedValueAttributes: decreasedValueAttributes, + hint: hint, + hintAttributes: hintAttributes, + tooltip: tooltip, + textDirection: TextDirection.ltr, + transform: transform, + childrenInTraversalOrder: childrenInTraversalOrder, + childrenInHitTestOrder: childrenInHitTestOrder, + additionalActions: additionalActions, + controlsNodes: null, + inputType: SemanticsInputType.none, + locale: null, + ); + _semanticsUpdate(builder.build()); +} + +@pragma('vm:external-name', 'SemanticsUpdate') +external void _semanticsUpdate(SemanticsUpdate update); diff --git a/engine/src/flutter/runtime/runtime_controller.cc b/engine/src/flutter/runtime/runtime_controller.cc index a8d1f93b64807..95708ef3585b8 100644 --- a/engine/src/flutter/runtime/runtime_controller.cc +++ b/engine/src/flutter/runtime/runtime_controller.cc @@ -441,10 +441,12 @@ void RuntimeController::CheckIfAllViewsRendered() { // |PlatformConfigurationClient| void RuntimeController::UpdateSemantics(int64_t view_id, SemanticsUpdate* update) { - if (platform_data_.semantics_enabled) { - client_.UpdateSemantics(view_id, update->takeNodes(), - update->takeActions()); - } + client_.UpdateSemantics(view_id, update->takeNodes(), update->takeActions()); +} + +// |PlatformConfigurationClient| +void RuntimeController::SetSemanticsTreeEnabled(bool enabled) { + client_.SetSemanticsTreeEnabled(enabled); } // |PlatformConfigurationClient| diff --git a/engine/src/flutter/runtime/runtime_controller.h b/engine/src/flutter/runtime/runtime_controller.h index 23624f7726e8c..1c7df47280f9d 100644 --- a/engine/src/flutter/runtime/runtime_controller.h +++ b/engine/src/flutter/runtime/runtime_controller.h @@ -633,6 +633,12 @@ class RuntimeController : public PlatformConfigurationClient, // |PlatformConfigurationClient| std::shared_ptr GetPersistentIsolateData() override; + // |PlatformConfigurationClient| + void UpdateSemantics(int64_t view_id, SemanticsUpdate* update) override; + + // |PlatformConfigurationClient| + void SetSemanticsTreeEnabled(bool enabled) override; + const fml::WeakPtr& GetIOManager() const { return context_.io_manager; } @@ -760,9 +766,6 @@ class RuntimeController : public PlatformConfigurationClient, double width, double height) override; - // |PlatformConfigurationClient| - void UpdateSemantics(int64_t view_id, SemanticsUpdate* update) override; - // |PlatformConfigurationClient| void HandlePlatformMessage(std::unique_ptr message) override; diff --git a/engine/src/flutter/runtime/runtime_controller_unittests.cc b/engine/src/flutter/runtime/runtime_controller_unittests.cc new file mode 100644 index 0000000000000..a8e27bae1e39f --- /dev/null +++ b/engine/src/flutter/runtime/runtime_controller_unittests.cc @@ -0,0 +1,149 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/runtime/runtime_controller.h" +#include "flutter/runtime/runtime_delegate.h" + +#include "flutter/lib/ui/semantics/semantics_update.h" +#include "flutter/shell/common/shell_test.h" +#include "flutter/testing/testing.h" + +namespace flutter::testing { +// For namespacing when running tests. +using RuntimeControllerTest = ShellTest; + +class MockRuntimeDelegate : public RuntimeDelegate { + public: + FontCollection font; + std::vector updates; + std::vector actions; + std::string DefaultRouteName() override { return ""; } + + void ScheduleFrame(bool regenerate_layer_trees = true) override {} + + void OnAllViewsRendered() override {} + + void Render(int64_t view_id, + std::unique_ptr layer_tree, + float device_pixel_ratio) override {} + + void UpdateSemantics(int64_t view_id, + SemanticsNodeUpdates update, + CustomAccessibilityActionUpdates actions) override { + this->updates.push_back(update); + this->actions.push_back(actions); + } + + void SetSemanticsTreeEnabled(bool enabled) override {} + + void HandlePlatformMessage( + std::unique_ptr message) override {} + + FontCollection& GetFontCollection() override { return font; } + + std::shared_ptr GetAssetManager() override { return nullptr; } + + void OnRootIsolateCreated() override {}; + + void UpdateIsolateDescription(const std::string isolate_name, + int64_t isolate_port) override {}; + + void SetNeedsReportTimings(bool value) override {}; + + std::unique_ptr> ComputePlatformResolvedLocale( + const std::vector& supported_locale_data) override { + return nullptr; + } + + void RequestDartDeferredLibrary(intptr_t loading_unit_id) override {} + + void RequestViewFocusChange(const ViewFocusChangeRequest& request) override {} + + std::weak_ptr GetPlatformMessageHandler() + const override { + return {}; + } + + void SendChannelUpdate(std::string name, bool listening) override {} + + double GetScaledFontSize(double unscaled_font_size, + int configuration_id) const override { + return 0.0; + } +}; + +class RuntimeControllerTester { + public: + explicit RuntimeControllerTester(UIDartState::Context& context) + : context_(context), + runtime_controller_(delegate_, + nullptr, + {}, + {}, + {}, + {}, + {}, + nullptr, + context_) {} + + void CanUpdateSemanticsWhenSetSemanticsTreeEnabled(SemanticsUpdate* update) { + ASSERT_TRUE(delegate_.updates.empty()); + ASSERT_TRUE(delegate_.actions.empty()); + runtime_controller_.SetSemanticsTreeEnabled(true); + runtime_controller_.UpdateSemantics(0, update); + ASSERT_FALSE(delegate_.updates.empty()); + ASSERT_FALSE(delegate_.actions.empty()); + } + + private: + MockRuntimeDelegate delegate_; + UIDartState::Context& context_; + RuntimeController runtime_controller_; +}; + +TEST_F(RuntimeControllerTest, CanUpdateSemanticsWhenSetSemanticsTreeEnabled) { + fml::AutoResetWaitableEvent message_latch; + // The code in this test is mostly setup code to get a SemanticsUpdate object. + // The real test is in RuntimeControllerTester::CanUpdateSemantics. + TaskRunners task_runners("test", // label + GetCurrentTaskRunner(), // platform + CreateNewThread(), // raster + CreateNewThread(), // ui + CreateNewThread() // io + ); + UIDartState::Context context(task_runners); + auto tester = std::make_shared(context); + + auto native_semantics_update = [tester, + &message_latch](Dart_NativeArguments args) { + auto handle = Dart_GetNativeArgument(args, 0); + intptr_t peer = 0; + Dart_Handle result = Dart_GetNativeInstanceField( + handle, tonic::DartWrappable::kPeerIndex, &peer); + ASSERT_FALSE(Dart_IsError(result)); + SemanticsUpdate* update = reinterpret_cast(peer); + + tester->CanUpdateSemanticsWhenSetSemanticsTreeEnabled(update); + message_latch.Signal(); + }; + + Settings settings = CreateSettingsForFixture(); + AddNativeCallback("SemanticsUpdate", + CREATE_NATIVE_ENTRY(native_semantics_update)); + + std::unique_ptr shell = CreateShell(settings, task_runners); + + ASSERT_TRUE(shell->IsSetup()); + auto configuration = RunConfiguration::InferFromSettings(settings); + configuration.SetEntrypoint("sendSemanticsUpdate"); + + shell->RunEngine(std::move(configuration), [](auto result) { + ASSERT_EQ(result, Engine::RunStatus::Success); + }); + + message_latch.Wait(); + DestroyShell(std::move(shell), task_runners); +} + +} // namespace flutter::testing diff --git a/engine/src/flutter/runtime/runtime_delegate.h b/engine/src/flutter/runtime/runtime_delegate.h index d5df45979189e..84ca390db09f1 100644 --- a/engine/src/flutter/runtime/runtime_delegate.h +++ b/engine/src/flutter/runtime/runtime_delegate.h @@ -36,6 +36,8 @@ class RuntimeDelegate { SemanticsNodeUpdates update, CustomAccessibilityActionUpdates actions) = 0; + virtual void SetSemanticsTreeEnabled(bool enabled) = 0; + virtual void HandlePlatformMessage( std::unique_ptr message) = 0; diff --git a/engine/src/flutter/shell/common/BUILD.gn b/engine/src/flutter/shell/common/BUILD.gn index c3ffd57d5c4c2..d577e322877ea 100644 --- a/engine/src/flutter/shell/common/BUILD.gn +++ b/engine/src/flutter/shell/common/BUILD.gn @@ -148,6 +148,7 @@ source_set("common") { "//flutter/lib/ui", "//flutter/runtime", "//flutter/shell/common:base64", + "//flutter/shell/geometry", "//flutter/shell/profiling", "//flutter/skia", ] diff --git a/engine/src/flutter/shell/common/dl_op_spy.cc b/engine/src/flutter/shell/common/dl_op_spy.cc index 2b0426a1a079a..f3615e8a069b5 100644 --- a/engine/src/flutter/shell/common/dl_op_spy.cc +++ b/engine/src/flutter/shell/common/dl_op_spy.cc @@ -132,16 +132,10 @@ void DlOpSpy::drawDisplayList(const sk_sp display_list, display_list->Dispatch(receiver); did_draw_ |= receiver.did_draw(); } -void DlOpSpy::drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) { - did_draw_ |= will_draw_; -} -void DlOpSpy::drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) { +void DlOpSpy::drawText(const std::shared_ptr& text_frame, + DlScalar x, + DlScalar y) { did_draw_ |= will_draw_; } diff --git a/engine/src/flutter/shell/common/dl_op_spy.h b/engine/src/flutter/shell/common/dl_op_spy.h index b6ebae2ef427f..8a065ddc3af3a 100644 --- a/engine/src/flutter/shell/common/dl_op_spy.h +++ b/engine/src/flutter/shell/common/dl_op_spy.h @@ -95,12 +95,9 @@ class DlOpSpy final : public virtual DlOpReceiver, bool render_with_attributes) override; void drawDisplayList(const sk_sp display_list, DlScalar opacity = SK_Scalar1) override; - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override; - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override; + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override; void drawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, diff --git a/engine/src/flutter/shell/common/dl_op_spy_unittests.cc b/engine/src/flutter/shell/common/dl_op_spy_unittests.cc index e5c640182afc7..a3c92c58320f5 100644 --- a/engine/src/flutter/shell/common/dl_op_spy_unittests.cc +++ b/engine/src/flutter/shell/common/dl_op_spy_unittests.cc @@ -4,6 +4,12 @@ #include "flutter/display_list/display_list.h" #include "flutter/display_list/dl_builder.h" +#include "flutter/display_list/dl_text_skia.h" + +#if IMPELLER_SUPPORTS_RENDERING +#include "flutter/impeller/display_list/dl_text_impeller.h" // nogncheck +#endif + #include "flutter/display_list/geometry/dl_path_builder.h" #include "flutter/display_list/testing/dl_test_snippets.h" #include "flutter/shell/common/dl_op_spy.h" @@ -539,12 +545,39 @@ TEST(DlOpSpy, DrawDisplayList) { } } +#if IMPELLER_SUPPORTS_RENDERING +TEST(DlOpSpy, DrawTextFrame) { + { // Non-transparent color. + auto test_text = DlTextImpeller::MakeFromBlob(GetTestTextBlob(42)); + DisplayListBuilder builder; + DlPaint paint(DlColor::kBlack()); + std::string string = "xx"; + builder.DrawText(test_text, 1, 1, paint); + sk_sp dl = builder.Build(); + DlOpSpy dl_op_spy; + dl->Dispatch(dl_op_spy); + ASSERT_DID_DRAW(dl_op_spy, dl); + } + { // transparent color. + auto test_text = DlTextImpeller::MakeFromBlob(GetTestTextBlob(43)); + DisplayListBuilder builder; + DlPaint paint(DlColor::kTransparent()); + std::string string = "xx"; + builder.DrawText(test_text, 1, 1, paint); + sk_sp dl = builder.Build(); + DlOpSpy dl_op_spy; + dl->Dispatch(dl_op_spy); + ASSERT_NO_DRAW(dl_op_spy, dl); + } +} +#endif + TEST(DlOpSpy, DrawTextBlob) { { // Non-transparent color. DisplayListBuilder builder; DlPaint paint(DlColor::kBlack()); std::string string = "xx"; - builder.DrawTextBlob(GetTestTextBlob(42), 1, 1, paint); + builder.DrawText(DlTextSkia::Make(GetTestTextBlob(42)), 1, 1, paint); sk_sp dl = builder.Build(); DlOpSpy dl_op_spy; dl->Dispatch(dl_op_spy); @@ -554,7 +587,7 @@ TEST(DlOpSpy, DrawTextBlob) { DisplayListBuilder builder; DlPaint paint(DlColor::kTransparent()); std::string string = "xx"; - builder.DrawTextBlob(GetTestTextBlob(43), 1, 1, paint); + builder.DrawText(DlTextSkia::Make(GetTestTextBlob(43)), 1, 1, paint); sk_sp dl = builder.Build(); DlOpSpy dl_op_spy; dl->Dispatch(dl_op_spy); diff --git a/engine/src/flutter/shell/common/engine.cc b/engine/src/flutter/shell/common/engine.cc index 963ef4ef6449b..1848b9db53ff1 100644 --- a/engine/src/flutter/shell/common/engine.cc +++ b/engine/src/flutter/shell/common/engine.cc @@ -227,6 +227,8 @@ Engine::RunStatus Engine::Run(RunConfiguration configuration) { last_entry_point_args_ = configuration.GetEntrypointArgs(); #endif + last_engine_id_ = configuration.GetEngineId(); + UpdateAssetManager(configuration.GetAssetManager()); if (runtime_controller_->IsRootIsolateRunning()) { @@ -527,6 +529,10 @@ void Engine::UpdateSemantics(int64_t view_id, std::move(actions)); } +void Engine::SetSemanticsTreeEnabled(bool enabled) { + delegate_.OnEngineSetSemanticsTreeEnabled(enabled); +} + void Engine::HandlePlatformMessage(std::unique_ptr message) { if (message->channel() == kAssetChannel) { HandleAssetPlatformMessage(std::move(message)); @@ -613,6 +619,10 @@ const std::vector& Engine::GetLastEntrypointArgs() const { return last_entry_point_args_; } +std::optional Engine::GetLastEngineId() const { + return last_engine_id_; +} + // |RuntimeDelegate| void Engine::RequestDartDeferredLibrary(intptr_t loading_unit_id) { return delegate_.RequestDartDeferredLibrary(loading_unit_id); diff --git a/engine/src/flutter/shell/common/engine.h b/engine/src/flutter/shell/common/engine.h index be35d9fdd72f6..bee80938fdf3e 100644 --- a/engine/src/flutter/shell/common/engine.h +++ b/engine/src/flutter/shell/common/engine.h @@ -161,6 +161,20 @@ class Engine final : public RuntimeDelegate, PointerDataDispatcher::Delegate { SemanticsNodeUpdates updates, CustomAccessibilityActionUpdates actions) = 0; + //-------------------------------------------------------------------------- + /// @brief When the Framework starts or stops generating semantics + /// tree, + /// this new information needs to be conveyed to the underlying + /// platform so that they can prepare to accept semantics + /// update. The engine delegates this task to the shell via this + /// call. + /// + /// @see `OnEngineUpdateSemantics` + /// + /// @param[in] enabled whether Framework starts generating semantics tree. + /// + virtual void OnEngineSetSemanticsTreeEnabled(bool enabled) = 0; + //-------------------------------------------------------------------------- /// @brief When the Flutter application has a message to send to the /// underlying platform, the message needs to be forwarded to @@ -895,6 +909,11 @@ class Engine final : public RuntimeDelegate, PointerDataDispatcher::Delegate { /// const std::string& GetLastEntrypoint() const; + //---------------------------------------------------------------------------- + /// @brief Get the last Engine Id that was used in the RunConfiguration + /// when |Engine::Run| was called. + std::optional GetLastEngineId() const; + //---------------------------------------------------------------------------- /// @brief Get the last Entrypoint Library that was used in the /// RunConfiguration when |Engine::Run| was called. @@ -1010,6 +1029,9 @@ class Engine final : public RuntimeDelegate, PointerDataDispatcher::Delegate { SemanticsNodeUpdates update, CustomAccessibilityActionUpdates actions) override; + // |RuntimeDelegate| + void SetSemanticsTreeEnabled(bool enabled) override; + // |RuntimeDelegate| void HandlePlatformMessage(std::unique_ptr message) override; @@ -1071,6 +1093,7 @@ class Engine final : public RuntimeDelegate, PointerDataDispatcher::Delegate { std::string last_entry_point_; std::string last_entry_point_library_; std::vector last_entry_point_args_; + std::optional last_engine_id_; std::string initial_route_; std::shared_ptr asset_manager_; std::shared_ptr font_collection_; diff --git a/engine/src/flutter/shell/common/engine_animator_unittests.cc b/engine/src/flutter/shell/common/engine_animator_unittests.cc index 64d571c1f506b..f1010131615e6 100644 --- a/engine/src/flutter/shell/common/engine_animator_unittests.cc +++ b/engine/src/flutter/shell/common/engine_animator_unittests.cc @@ -57,6 +57,7 @@ class MockDelegate : public Engine::Delegate { OnEngineUpdateSemantics, (int64_t, SemanticsNodeUpdates, CustomAccessibilityActionUpdates), (override)); + MOCK_METHOD(void, OnEngineSetSemanticsTreeEnabled, (bool), (override)); MOCK_METHOD(void, OnEngineHandlePlatformMessage, (std::unique_ptr), diff --git a/engine/src/flutter/shell/common/engine_unittests.cc b/engine/src/flutter/shell/common/engine_unittests.cc index 131db5bff6c7a..324104d918531 100644 --- a/engine/src/flutter/shell/common/engine_unittests.cc +++ b/engine/src/flutter/shell/common/engine_unittests.cc @@ -64,6 +64,7 @@ class MockDelegate : public Engine::Delegate { OnEngineUpdateSemantics, (int64_t, SemanticsNodeUpdates, CustomAccessibilityActionUpdates), (override)); + MOCK_METHOD(void, OnEngineSetSemanticsTreeEnabled, (bool), (override)); MOCK_METHOD(void, OnEngineHandlePlatformMessage, (std::unique_ptr), @@ -115,6 +116,7 @@ class MockRuntimeDelegate : public RuntimeDelegate { UpdateSemantics, (int64_t, SemanticsNodeUpdates, CustomAccessibilityActionUpdates), (override)); + MOCK_METHOD(void, SetSemanticsTreeEnabled, (bool), (override)); MOCK_METHOD(void, HandlePlatformMessage, (std::unique_ptr), diff --git a/engine/src/flutter/shell/common/platform_view.cc b/engine/src/flutter/shell/common/platform_view.cc index 9ca2804201189..496c75f85d288 100644 --- a/engine/src/flutter/shell/common/platform_view.cc +++ b/engine/src/flutter/shell/common/platform_view.cc @@ -130,6 +130,10 @@ void PlatformView::UpdateSemantics( // NOLINTNEXTLINE(performance-unnecessary-value-param) CustomAccessibilityActionUpdates actions) {} +void PlatformView::SetSemanticsTreeEnabled( + bool enabled // NOLINT(performance-unnecessary-value-param) +) {} + void PlatformView::SendChannelUpdate(const std::string& name, bool listening) {} void PlatformView::HandlePlatformMessage( diff --git a/engine/src/flutter/shell/common/platform_view.h b/engine/src/flutter/shell/common/platform_view.h index 928ef97e41fdb..9332c76d3ca20 100644 --- a/engine/src/flutter/shell/common/platform_view.h +++ b/engine/src/flutter/shell/common/platform_view.h @@ -514,6 +514,15 @@ class PlatformView { SemanticsNodeUpdates updates, CustomAccessibilityActionUpdates actions); + //---------------------------------------------------------------------------- + /// @brief Used by the framework to tell the embedder to prepare or clear + /// resoruce for accepting semantics tree. + /// + /// @param[in] enabled whether framework starts or stops sending semantics + /// updates + /// + virtual void SetSemanticsTreeEnabled(bool enabled); + //---------------------------------------------------------------------------- /// @brief Used by the framework to tell the embedder that it has /// registered a listener on a given channel. diff --git a/engine/src/flutter/shell/common/rasterizer.cc b/engine/src/flutter/shell/common/rasterizer.cc index ddf9021aef42d..50330d4eaa0a6 100644 --- a/engine/src/flutter/shell/common/rasterizer.cc +++ b/engine/src/flutter/shell/common/rasterizer.cc @@ -463,6 +463,11 @@ void Rasterizer::CacheRuntimeStage( } } +// |SnapshotDelegate| +bool Rasterizer::MakeRenderContextCurrent() { + return snapshot_controller_->MakeRenderContextCurrent(); +} + fml::Milliseconds Rasterizer::GetFrameBudget() const { return delegate_.GetFrameBudget(); }; diff --git a/engine/src/flutter/shell/common/rasterizer.h b/engine/src/flutter/shell/common/rasterizer.h index 766fc9d3e418c..c37aa5d7d0624 100644 --- a/engine/src/flutter/shell/common/rasterizer.h +++ b/engine/src/flutter/shell/common/rasterizer.h @@ -660,6 +660,9 @@ class Rasterizer final : public SnapshotDelegate, void CacheRuntimeStage( const std::shared_ptr& runtime_stage) override; + // |SnapshotDelegate| + bool MakeRenderContextCurrent() override; + // |Stopwatch::Delegate| /// Time limit for a smooth frame. /// diff --git a/engine/src/flutter/shell/common/run_configuration.cc b/engine/src/flutter/shell/common/run_configuration.cc index 6f22efbdc83fa..199827290a7e3 100644 --- a/engine/src/flutter/shell/common/run_configuration.cc +++ b/engine/src/flutter/shell/common/run_configuration.cc @@ -105,7 +105,7 @@ const std::vector& RunConfiguration::GetEntrypointArgs() const { return entrypoint_args_; } -void RunConfiguration::SetEngineId(int64_t engine_id) { +void RunConfiguration::SetEngineId(std::optional engine_id) { engine_id_ = engine_id; } diff --git a/engine/src/flutter/shell/common/run_configuration.h b/engine/src/flutter/shell/common/run_configuration.h index f2f3a2b406add..4287b8f97f0d6 100644 --- a/engine/src/flutter/shell/common/run_configuration.h +++ b/engine/src/flutter/shell/common/run_configuration.h @@ -197,7 +197,7 @@ class RunConfiguration { //---------------------------------------------------------------------------- /// @brief Sets the engine identifier to be passed to the platform /// dispatcher. - void SetEngineId(int64_t engine_id); + void SetEngineId(std::optional engine_id); ///---------------------------------------------------------------------------- /// @return Engine identifier to be passed to the platform dispatcher. diff --git a/engine/src/flutter/shell/common/shell.cc b/engine/src/flutter/shell/common/shell.cc index e163364098326..c8e9154a7a55b 100644 --- a/engine/src/flutter/shell/common/shell.cc +++ b/engine/src/flutter/shell/common/shell.cc @@ -149,6 +149,56 @@ void PerformInitializationTasks(Settings& settings) { #endif // !SLIMPELLER } +bool ValidateViewportMetrics(const ViewportMetrics& metrics) { + // Pixel ratio cannot be zero. + if (metrics.device_pixel_ratio <= 0) { + return false; + } + + // If negative values are passed in. + if (metrics.physical_width < 0 || metrics.physical_height < 0 || + metrics.physical_min_width_constraint < 0 || + metrics.physical_max_width_constraint < 0 || + metrics.physical_min_height_constraint < 0 || + metrics.physical_max_height_constraint < 0) { + return false; + } + + // If width is zero and the constraints are tight. + if (metrics.physical_width == 0 && + metrics.physical_min_width_constraint == + metrics.physical_max_width_constraint) { + return false; + } + + // If not tight constraints, check the width fits in the constraints. + if (metrics.physical_min_width_constraint != + metrics.physical_max_width_constraint) { + if (metrics.physical_min_width_constraint > metrics.physical_width || + metrics.physical_width > metrics.physical_max_width_constraint) { + return false; + } + } + + // If height is zero and the constraints are tight. + if (metrics.physical_height == 0 && + metrics.physical_min_height_constraint == + metrics.physical_max_height_constraint) { + return false; + } + + // If not tight constraints, check the height fits in the constraints. + if (metrics.physical_min_height_constraint != + metrics.physical_max_height_constraint) { + if (metrics.physical_min_height_constraint > metrics.physical_height || + metrics.physical_height > metrics.physical_max_height_constraint) { + return false; + } + } + + return true; +} + } // namespace std::pair> @@ -1078,8 +1128,7 @@ void Shell::OnPlatformViewSetViewportMetrics(int64_t view_id, FML_DCHECK(is_set_up_); FML_DCHECK(task_runners_.GetPlatformTaskRunner()->RunsTasksOnCurrentThread()); - if (metrics.device_pixel_ratio <= 0 || metrics.physical_width <= 0 || - metrics.physical_height <= 0) { + if (!ValidateViewportMetrics(metrics)) { // Ignore invalid view-port metrics. return; } @@ -1107,8 +1156,12 @@ void Shell::OnPlatformViewSetViewportMetrics(int64_t view_id, { std::scoped_lock lock(resize_mutex_); - expected_frame_sizes_[view_id] = - DlISize(metrics.physical_width, metrics.physical_height); + + expected_frame_constraints_[view_id] = + BoxConstraints(Size(metrics.physical_min_width_constraint, + metrics.physical_min_height_constraint), + Size(metrics.physical_max_width_constraint, + metrics.physical_max_height_constraint)); device_pixel_ratio_ = metrics.device_pixel_ratio; } } @@ -1395,6 +1448,20 @@ void Shell::OnEngineUpdateSemantics(int64_t view_id, }); } +// |Engine::Delegate| +void Shell::OnEngineSetSemanticsTreeEnabled(bool enabled) { + FML_DCHECK(is_set_up_); + FML_DCHECK(task_runners_.GetUITaskRunner()->RunsTasksOnCurrentThread()); + + task_runners_.GetPlatformTaskRunner()->RunNowOrPostTask( + task_runners_.GetPlatformTaskRunner(), + [view = platform_view_->GetWeakPtr(), enabled] { + if (view) { + view->SetSemanticsTreeEnabled(enabled); + } + }); +} + // |Engine::Delegate| void Shell::OnEngineHandlePlatformMessage( std::unique_ptr message) { @@ -1742,9 +1809,9 @@ fml::TimePoint Shell::GetLatestFrameTargetTime() const { bool Shell::ShouldDiscardLayerTree(int64_t view_id, const flutter::LayerTree& tree) { std::scoped_lock lock(resize_mutex_); - auto expected_frame_size = ExpectedFrameSize(view_id); - return !expected_frame_size.IsEmpty() && - tree.frame_size() != expected_frame_size; + auto expected_frame_constraints = ExpectedFrameConstraints(view_id); + return !expected_frame_constraints.IsSatisfiedBy( + Size(tree.frame_size().width, tree.frame_size().height)); } // |ServiceProtocol::Handler| @@ -1891,6 +1958,8 @@ bool Shell::OnServiceProtocolRunInView( engine_->GetLastEntrypointLibrary()); configuration.SetEntrypointArgs(engine_->GetLastEntrypointArgs()); + configuration.SetEngineId(engine_->GetLastEngineId()); + configuration.AddAssetResolver(std::make_unique( fml::OpenDirectory(asset_directory_path.c_str(), false, fml::FilePermission::kRead), @@ -2153,8 +2222,10 @@ void Shell::OnPlatformViewRemoveView(int64_t view_id, FML_DCHECK(view_id != kFlutterImplicitViewId) << "Unexpected request to remove the implicit view #" << kFlutterImplicitViewId << ". This view should never be removed."; - - expected_frame_sizes_.erase(view_id); + { + std::scoped_lock lock(resize_mutex_); + expected_frame_constraints_.erase(view_id); + } task_runners_.GetUITaskRunner()->RunNowOrPostTask( task_runners_.GetUITaskRunner(), [&task_runners = task_runners_, // @@ -2347,11 +2418,13 @@ Shell::GetConcurrentWorkerTaskRunner() const { return vm_->GetConcurrentWorkerTaskRunner(); } -DlISize Shell::ExpectedFrameSize(int64_t view_id) { - auto found = expected_frame_sizes_.find(view_id); - if (found == expected_frame_sizes_.end()) { - return DlISize(); +BoxConstraints Shell::ExpectedFrameConstraints(int64_t view_id) { + auto found = expected_frame_constraints_.find(view_id); + + if (found == expected_frame_constraints_.end()) { + return {}; } + return found->second; } diff --git a/engine/src/flutter/shell/common/shell.h b/engine/src/flutter/shell/common/shell.h index f58f3f982e2fd..a98c3a2aaedf2 100644 --- a/engine/src/flutter/shell/common/shell.h +++ b/engine/src/flutter/shell/common/shell.h @@ -39,6 +39,7 @@ #include "flutter/shell/common/rasterizer.h" #include "flutter/shell/common/resource_cache_limit_calculator.h" #include "flutter/shell/common/shell_io_manager.h" +#include "flutter/shell/geometry/geometry.h" #include "impeller/core/runtime_types.h" #include "impeller/renderer/context.h" #include "impeller/runtime_stage/runtime_stage.h" @@ -511,13 +512,13 @@ class Shell final : public PlatformView::Delegate, /// any of the threads. std::unique_ptr display_manager_; - // protects expected_frame_size_ which is set on platform thread and read on - // raster thread + // Protects expected_frame_constraints_ which is set on platform thread and + // read on raster thread. std::mutex resize_mutex_; - // used to discard wrong size layer tree produced during interactive - // resizing - std::unordered_map expected_frame_sizes_; + // Used to discard wrong size layer tree produced during interactive + // resizing. + std::unordered_map expected_frame_constraints_; // Used to communicate the right frame bounds via service protocol. double device_pixel_ratio_ = 0.0; @@ -674,6 +675,9 @@ class Shell final : public PlatformView::Delegate, SemanticsNodeUpdates update, CustomAccessibilityActionUpdates actions) override; + // |Engine::Delegate| + void OnEngineSetSemanticsTreeEnabled(bool enabled) override; + // |Engine::Delegate| void OnEngineHandlePlatformMessage( std::unique_ptr message) override; @@ -801,7 +805,7 @@ class Shell final : public PlatformView::Delegate, // directory. std::unique_ptr RestoreOriginalAssetResolver(); - DlISize ExpectedFrameSize(int64_t view_id); + BoxConstraints ExpectedFrameConstraints(int64_t view_id); // For accessing the Shell via the raster thread, necessary for various // rasterizer callbacks. diff --git a/engine/src/flutter/shell/common/shell_test.cc b/engine/src/flutter/shell/common/shell_test.cc index 24ce62e7a7b50..71086a6b2010b 100644 --- a/engine/src/flutter/shell/common/shell_test.cc +++ b/engine/src/flutter/shell/common/shell_test.cc @@ -165,6 +165,10 @@ void ShellTest::SetViewportMetrics(Shell* shell, double width, double height) { 1, // device pixel ratio width, // physical width height, // physical height + 0, // min width constraint + 0, // max width constraint + 0, // min height constraint + 0, // max height constraint 0, // padding top 0, // padding right 0, // padding bottom @@ -425,5 +429,11 @@ void ShellTest::TurnOffGPU(Shell* shell, bool value) { shell->is_gpu_disabled_sync_switch_->SetSwitch(value); } +bool ShellTest::ShouldDiscardLayerTree(Shell* shell, + int64_t view_id, + const flutter::LayerTree& tree) { + return shell->ShouldDiscardLayerTree(view_id, tree); +} + } // namespace testing } // namespace flutter diff --git a/engine/src/flutter/shell/common/shell_test.h b/engine/src/flutter/shell/common/shell_test.h index 0fd729f5a677b..0034ecf816ade 100644 --- a/engine/src/flutter/shell/common/shell_test.h +++ b/engine/src/flutter/shell/common/shell_test.h @@ -163,6 +163,10 @@ class ShellTest : public FixtureTest { static void TurnOffGPU(Shell* shell, bool value); + static bool ShouldDiscardLayerTree(Shell* shell, + int64_t view_id, + const flutter::LayerTree& tree); + private: ThreadHost thread_host_; diff --git a/engine/src/flutter/shell/common/shell_unittests.cc b/engine/src/flutter/shell/common/shell_unittests.cc index 4dba2cafb287e..bb57adc49e470 100644 --- a/engine/src/flutter/shell/common/shell_unittests.cc +++ b/engine/src/flutter/shell/common/shell_unittests.cc @@ -24,6 +24,7 @@ #include "flutter/flow/layers/clip_rect_layer.h" #include "flutter/flow/layers/display_list_layer.h" #include "flutter/flow/layers/layer_raster_cache_item.h" +#include "flutter/flow/layers/layer_tree.h" #include "flutter/flow/layers/platform_view_layer.h" #include "flutter/flow/layers/transform_layer.h" #include "flutter/fml/backtrace.h" @@ -4917,6 +4918,15 @@ TEST_F(ShellTest, ProvidesEngineId) { latch.Wait(); ASSERT_EQ(reported_handle, 99); + + latch.Reset(); + + fml::TaskRunner::RunNowOrPostTask( + shell->GetTaskRunners().GetUITaskRunner(), [&]() { + ASSERT_EQ(shell->GetEngine()->GetLastEngineId(), 99); + latch.Signal(); + }); + latch.Wait(); DestroyShell(std::move(shell), task_runners); } @@ -5031,6 +5041,72 @@ TEST_F(ShellTest, ReleaseResourceContextWhenIOManagerIsDeleted) { ASSERT_TRUE(called_release_resource_context); } +TEST_F(ShellTest, ShoulDiscardLayerTreeIfFrameIsSizedIncorrectly) { + Settings settings = CreateSettingsForFixture(); + auto task_runner = CreateNewThread(); + TaskRunners task_runners("test", task_runner, task_runner, task_runner, + task_runner); + std::unique_ptr shell = CreateShell(settings, task_runners); + + fml::TaskRunner::RunNowOrPostTask( + shell->GetTaskRunners().GetPlatformTaskRunner(), [&shell]() { + shell->GetPlatformView()->SetViewportMetrics( + kImplicitViewId, + { + 1.0, // p_device_pixel_ratio + 500, // p_physical_width + 800, // p_physical_height + 1, // p_min_width_constraint, + 1000, // p_max_width_constraint, + 1, // p_min_height_constraint, + 1000, // p_max_height_constraint, + 0, // p_physical_padding_top + 0, // p_physical_padding_right + 0, // p_physical_padding_bottom + 0, // p_physical_padding_left + 0, // p_physical_view_inset_top, + 0, // p_physical_view_inset_right, + 0, // p_physical_view_inset_bottom, + 0, // p_physical_view_inset_left, + 0, // p_physical_system_gesture_inset_top, + 0, // p_physical_system_gesture_inset_right, + 0, // p_physical_system_gesture_inset_bottom, + 0, // p_physical_system_gesture_inset_left, + 22, // p_physical_touch_slop, + {}, // p_physical_display_features_bounds, + {}, // p_physical_display_features_type, + {}, // p_physical_display_features_state, + 0 // p_display_id + }); + }); + PumpOneFrame(shell.get()); + + auto layer_tree = + std::make_unique(/*root_layer=*/nullptr, + /*frame_size=*/DlISize(100, 100)); + ASSERT_FALSE(ShellTest::ShouldDiscardLayerTree(shell.get(), kImplicitViewId, + *layer_tree)); + auto over_width = + std::make_unique(/*root_layer=*/nullptr, + /*frame_size=*/DlISize(1010, 100)); + ASSERT_TRUE(ShellTest::ShouldDiscardLayerTree(shell.get(), kImplicitViewId, + *over_width)); + auto over_height = + std::make_unique(/*root_layer=*/nullptr, + /*frame_size=*/DlISize(100, 1010)); + ASSERT_TRUE(ShellTest::ShouldDiscardLayerTree(shell.get(), kImplicitViewId, + *over_height)); + auto min_width = std::make_unique(/*root_layer=*/nullptr, + /*frame_size=*/DlISize(0, 100)); + ASSERT_TRUE(ShellTest::ShouldDiscardLayerTree(shell.get(), kImplicitViewId, + *min_width)); + auto min_height = std::make_unique(/*root_layer=*/nullptr, + /*frame_size=*/DlISize(100, 0)); + ASSERT_TRUE(ShellTest::ShouldDiscardLayerTree(shell.get(), kImplicitViewId, + *min_height)); + DestroyShell(std::move(shell), task_runners); +} + } // namespace testing } // namespace flutter diff --git a/engine/src/flutter/shell/common/snapshot_controller.h b/engine/src/flutter/shell/common/snapshot_controller.h index 5dcb257bc6d76..3a084b749c750 100644 --- a/engine/src/flutter/shell/common/snapshot_controller.h +++ b/engine/src/flutter/shell/common/snapshot_controller.h @@ -53,6 +53,8 @@ class SnapshotController { virtual void CacheRuntimeStage( const std::shared_ptr& runtime_stage) = 0; + virtual bool MakeRenderContextCurrent() = 0; + protected: explicit SnapshotController(const Delegate& delegate); const Delegate& GetDelegate() { return delegate_; } diff --git a/engine/src/flutter/shell/common/snapshot_controller_impeller.cc b/engine/src/flutter/shell/common/snapshot_controller_impeller.cc index 568e77562c095..58cf8ad569b07 100644 --- a/engine/src/flutter/shell/common/snapshot_controller_impeller.cc +++ b/engine/src/flutter/shell/common/snapshot_controller_impeller.cc @@ -163,4 +163,14 @@ sk_sp SnapshotControllerImpeller::ConvertToRasterImage( FML_UNREACHABLE(); } +bool SnapshotControllerImpeller::MakeRenderContextCurrent() { + const std::unique_ptr& surface = GetDelegate().GetSurface(); + if (!surface) { + // Some backends (such as Metal) can operate without a surface and do not + // require MakeRenderContextCurrent. + return true; + } + return surface->MakeRenderContextCurrent()->GetResult(); +} + } // namespace flutter diff --git a/engine/src/flutter/shell/common/snapshot_controller_impeller.h b/engine/src/flutter/shell/common/snapshot_controller_impeller.h index edf2059d0eee3..b914a9fed789a 100644 --- a/engine/src/flutter/shell/common/snapshot_controller_impeller.h +++ b/engine/src/flutter/shell/common/snapshot_controller_impeller.h @@ -29,6 +29,8 @@ class SnapshotControllerImpeller : public SnapshotController { void CacheRuntimeStage( const std::shared_ptr& runtime_stage) override; + virtual bool MakeRenderContextCurrent() override; + private: FML_DISALLOW_COPY_AND_ASSIGN(SnapshotControllerImpeller); }; diff --git a/engine/src/flutter/shell/common/snapshot_controller_skia.cc b/engine/src/flutter/shell/common/snapshot_controller_skia.cc index 72b4a851e9554..e2d898a39d296 100644 --- a/engine/src/flutter/shell/common/snapshot_controller_skia.cc +++ b/engine/src/flutter/shell/common/snapshot_controller_skia.cc @@ -172,6 +172,11 @@ sk_sp SnapshotControllerSkia::ConvertToRasterImage( void SnapshotControllerSkia::CacheRuntimeStage( const std::shared_ptr& runtime_stage) {} +bool SnapshotControllerSkia::MakeRenderContextCurrent() { + FML_UNREACHABLE(); + return false; +} + } // namespace flutter #endif // !SLIMPELLER diff --git a/engine/src/flutter/shell/common/snapshot_controller_skia.h b/engine/src/flutter/shell/common/snapshot_controller_skia.h index 9094eb90766cd..1775c2db8db46 100644 --- a/engine/src/flutter/shell/common/snapshot_controller_skia.h +++ b/engine/src/flutter/shell/common/snapshot_controller_skia.h @@ -30,6 +30,8 @@ class SnapshotControllerSkia : public SnapshotController { void CacheRuntimeStage( const std::shared_ptr& runtime_stage) override; + bool MakeRenderContextCurrent() override; + private: sk_sp DoMakeRasterSnapshot( DlISize size, diff --git a/engine/src/flutter/shell/common/switch_defs.h b/engine/src/flutter/shell/common/switch_defs.h new file mode 100644 index 0000000000000..5c4bf44839cf2 --- /dev/null +++ b/engine/src/flutter/shell/common/switch_defs.h @@ -0,0 +1,304 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_SHELL_COMMON_SWITCH_DEFS_H_ +#define FLUTTER_SHELL_COMMON_SWITCH_DEFS_H_ + +namespace flutter { + +// clang-format off +#ifndef DEF_SWITCHES_START +#define DEF_SWITCHES_START enum class Switch { +#endif +#ifndef DEF_SWITCH +#define DEF_SWITCH(swtch, flag, help) swtch, +#endif +#ifndef DEF_SWITCHES_END +#define DEF_SWITCHES_END Sentinel, } ; +#endif +// clang-format on + +DEF_SWITCHES_START +DEF_SWITCH(AotSharedLibraryName, + "aot-shared-library-name", + "Name of the *.so containing AOT compiled Dart assets.") +DEF_SWITCH(AotVMServiceSharedLibraryName, + "aot-vmservice-shared-library-name", + "Name of the *.so containing AOT compiled Dart assets for " + "launching the service isolate.") +DEF_SWITCH(SnapshotAssetPath, + "snapshot-asset-path", + "Path to the directory containing the four files specified by " + "VmSnapshotData, VmSnapshotInstructions, " + "VmSnapshotInstructions and IsolateSnapshotInstructions.") +DEF_SWITCH(VmSnapshotData, + "vm-snapshot-data", + "The VM snapshot data that will be memory mapped as read-only. " + "SnapshotAssetPath must be present.") +DEF_SWITCH(VmSnapshotInstructions, + "vm-snapshot-instr", + "The VM instructions snapshot that will be memory mapped as read " + "and executable. SnapshotAssetPath must be present.") +DEF_SWITCH(IsolateSnapshotData, + "isolate-snapshot-data", + "The isolate snapshot data that will be memory mapped as read-only. " + "SnapshotAssetPath must be present.") +DEF_SWITCH(IsolateSnapshotInstructions, + "isolate-snapshot-instr", + "The isolate instructions snapshot that will be memory mapped as " + "read and executable. SnapshotAssetPath must be present.") +DEF_SWITCH(CacheDirPath, + "cache-dir-path", + "Path to the cache directory. " + "This is different from the persistent_cache_path in embedder.h, " + "which is used for Skia shader cache.") +DEF_SWITCH(ICUDataFilePath, "icu-data-file-path", "Path to the ICU data file.") +DEF_SWITCH(ICUSymbolPrefix, + "icu-symbol-prefix", + "Prefix for the symbols representing ICU data linked into the " + "Flutter library.") +DEF_SWITCH(ICUNativeLibPath, + "icu-native-lib-path", + "Path to the library file that exports the ICU data.") +DEF_SWITCH(DartFlags, + "dart-flags", + "Flags passed directly to the Dart VM without being interpreted " + "by the Flutter shell.") +DEF_SWITCH(DeviceVMServiceHost, + "vm-service-host", + "The hostname/IP address on which the Dart VM Service should " + "be served. If not set, defaults to 127.0.0.1 or ::1 depending on " + "whether --ipv6 is specified.") +DEF_SWITCH(DeviceVMServicePort, + "vm-service-port", + "A custom Dart VM Service port. The default is to pick a randomly " + "available open port.") +DEF_SWITCH( + DisableVMService, + "disable-vm-service", + "Disable the Dart VM Service. The Dart VM Service is never available " + "in release mode.") +DEF_SWITCH(DisableVMServicePublication, + "disable-vm-service-publication", + "Disable mDNS Dart VM Service publication.") +DEF_SWITCH(IPv6, + "ipv6", + "Bind to the IPv6 localhost address for the Dart VM Service. " + "Ignored if --vm-service-host is set.") +DEF_SWITCH(EnableDartProfiling, + "enable-dart-profiling", + "Enable Dart profiling. Profiling information can be viewed from " + "Dart / Flutter DevTools.") +DEF_SWITCH( + ProfileStartup, + "profile-startup", + "Make the profiler discard new samples once the profiler sample buffer is " + "full. When this flag is not set, the profiler sample buffer is used as a " + "ring buffer, meaning that once it is full, new samples start overwriting " + "the oldest ones. This switch is only meaningful when set in conjunction " + "with --enable-dart-profiling.") +DEF_SWITCH(EndlessTraceBuffer, + "endless-trace-buffer", + "Enable an endless trace buffer. The default is a ring buffer. " + "This is useful when very old events need to viewed. For example, " + "during application launch. Memory usage will continue to grow " + "indefinitely however.") +DEF_SWITCH(EnableSoftwareRendering, + "enable-software-rendering", + "Enable rendering using the Skia software backend. This is useful " + "when testing Flutter on emulators. By default, Flutter will " + "attempt to either use OpenGL, Metal, or Vulkan.") +DEF_SWITCH(Route, + "route", + "Start app with an specific route defined on the framework") +DEF_SWITCH(SkiaDeterministicRendering, + "skia-deterministic-rendering", + "Skips the call to SkGraphics::Init(), thus avoiding swapping out " + "some Skia function pointers based on available CPU features. This " + "is used to obtain 100% deterministic behavior in Skia rendering.") +DEF_SWITCH(FlutterAssetsDir, + "flutter-assets-dir", + "Path to the Flutter assets directory.") +DEF_SWITCH(Help, "help", "Display this help text.") +DEF_SWITCH(LogTag, "log-tag", "Tag associated with log messages.") +DEF_SWITCH(DisableServiceAuthCodes, + "disable-service-auth-codes", + "Disable the requirement for authentication codes for communicating" + " with the VM service.") +DEF_SWITCH(EnableServicePortFallback, + "enable-service-port-fallback", + "Allow the VM service to fallback to automatic port selection if" + " binding to a specified port fails.") +DEF_SWITCH(StartPaused, + "start-paused", + "Start the application paused in the Dart debugger.") +DEF_SWITCH(EnableCheckedMode, "enable-checked-mode", "Enable checked mode.") +DEF_SWITCH(TraceStartup, + "trace-startup", + "Trace early application lifecycle. Automatically switches to an " + "endless trace buffer.") +DEF_SWITCH(TraceSkia, + "trace-skia", + "Trace Skia calls. This is useful when debugging the GPU threed." + "By default, Skia tracing is not enabled to reduce the number of " + "traced events") +DEF_SWITCH(TraceSkiaAllowlist, + "trace-skia-allowlist", + "Filters out all Skia trace event categories except those that are " + "specified in this comma separated list.") +DEF_SWITCH( + TraceAllowlist, + "trace-allowlist", + "Filters out all trace events except those that are specified in this " + "comma separated list of allowed prefixes.") +DEF_SWITCH(DumpSkpOnShaderCompilation, + "dump-skp-on-shader-compilation", + "Automatically dump the skp that triggers new shader compilations. " + "This is useful for writing custom ShaderWarmUp to reduce jank. " + "By default, this is not enabled to reduce the overhead. ") +DEF_SWITCH(CacheSkSL, + "cache-sksl", + "Only cache the shader in SkSL instead of binary or GLSL. This " + "should only be used during development phases. The generated SkSLs " + "can later be used in the release build for shader precompilation " + "at launch in order to eliminate the shader-compile jank.") +DEF_SWITCH(PurgePersistentCache, + "purge-persistent-cache", + "Remove all existing persistent cache. This is mainly for debugging " + "purposes such as reproducing the shader compilation jank.") +DEF_SWITCH( + TraceSystrace, + "trace-systrace", + "Trace to the system tracer (instead of the timeline) on platforms where " + "such a tracer is available. Currently only supported on Android and " + "Fuchsia.") +DEF_SWITCH(TraceToFile, + "trace-to-file", + "Write the timeline trace to a file at the specified path. The file " + "will be in Perfetto's proto format; it will be possible to load " + "the file into Perfetto's trace viewer.") +DEF_SWITCH(ProfileMicrotasks, + "profile-microtasks", + "Enable collection of information about each microtask. Information " + "about completed microtasks will be written to the \"Microtask\" " + "timeline stream. Information about queued microtasks will be " + "accessible from Dart / Flutter DevTools.") +DEF_SWITCH(UseTestFonts, + "use-test-fonts", + "Running tests that layout and measure text will not yield " + "consistent results across various platforms. Enabling this option " + "will make font resolution default to the Ahem test font on all " + "platforms (See https://www.w3.org/Style/CSS/Test/Fonts/Ahem/). " + "This option is only available on the desktop test shells.") +DEF_SWITCH(DisableAssetFonts, + "disable-asset-fonts", + "Prevents usage of any non-test fonts unless they were explicitly " + "Loaded via dart:ui font APIs. This option is only available on the " + "desktop test shells.") +DEF_SWITCH(PrefetchedDefaultFontManager, + "prefetched-default-font-manager", + "Indicates whether the embedding started a prefetch of the " + "default font manager before creating the engine.") +DEF_SWITCH(VerboseLogging, + "verbose-logging", + "By default, only errors are logged. This flag enabled logging at " + "all severity levels. This is NOT a per shell flag and affect log " + "levels for all shells in the process.") +DEF_SWITCH(RunForever, + "run-forever", + "In non-interactive mode, keep the shell running after the Dart " + "script has completed.") +DEF_SWITCH(DisableDartAsserts, + "disable-dart-asserts", + "Dart code runs with assertions enabled when the runtime mode is " + "debug. In profile and release product modes, assertions are " + "disabled. This flag may be specified if the user wishes to run " + "with assertions disabled in the debug product mode (i.e. with JIT " + "or DBC).") +DEF_SWITCH(EnableSerialGC, + "enable-serial-gc", + "On low power devices with low core counts, running concurrent " + "GC tasks on threads can cause them to contend with the UI thread " + "which could potentially lead to jank. This option turns off all " + "concurrent GC activities") +DEF_SWITCH(DisallowInsecureConnections, + "disallow-insecure-connections", + "By default, dart:io allows all socket connections. If this switch " + "is set, all insecure connections are rejected.") +DEF_SWITCH(DomainNetworkPolicy, + "domain-network-policy", + "JSON encoded network policy per domain. This overrides the " + "DisallowInsecureConnections switch. Embedder can specify whether " + "to allow or disallow insecure connections at a domain level.") +DEF_SWITCH( + ForceMultithreading, + "force-multithreading", + "Uses separate threads for the platform, UI, GPU and IO task runners. " + "By default, a single thread is used for all task runners. Only available " + "in the flutter_tester.") +DEF_SWITCH(OldGenHeapSize, + "old-gen-heap-size", + "The size limit in megabytes for the Dart VM old gen heap space.") + +DEF_SWITCH(ResourceCacheMaxBytesThreshold, + "resource-cache-max-bytes-threshold", + "The max bytes threshold of resource cache, or 0 for unlimited.") +DEF_SWITCH(EnableImpeller, + "enable-impeller", + "Enable the Impeller renderer on supported platforms. Ignored if " + "Impeller is not supported on the platform.") +DEF_SWITCH(ImpellerBackend, + "impeller-backend", + "Requests a particular Impeller backend on platforms that support " + "multiple backends. (ex `opengles` or `vulkan`)") +DEF_SWITCH(EnableVulkanValidation, + "enable-vulkan-validation", + "Enable loading Vulkan validation layers. The layers must be " + "available to the application and loadable. On non-Vulkan backends, " + "this flag does nothing.") +DEF_SWITCH(EnableOpenGLGPUTracing, + "enable-opengl-gpu-tracing", + "Enable tracing of GPU execution time when using the Impeller " + "OpenGLES backend.") +DEF_SWITCH(EnableVulkanGPUTracing, + "enable-vulkan-gpu-tracing", + "Enable tracing of GPU execution time when using the Impeller " + "Vulkan backend.") +DEF_SWITCH(LeakVM, + "leak-vm", + "When the last shell shuts down, the shared VM is leaked by default " + "(the leak_vm in VM settings is true). To clean up the leak VM, set " + "this value to false.") +DEF_SWITCH(EnableEmbedderAPI, + "enable-embedder-api", + "Enable the embedder api. Defaults to false. iOS only.") +DEF_SWITCH(EnablePlatformIsolates, + "enable-platform-isolates", + "Enable support for isolates that run on the platform thread.") +DEF_SWITCH(MergedPlatformUIThread, + "merged-platform-ui-thread", + "Sets whether the ui thread and platform thread should be merged.") +// This is a legacy flag that has been superseded by merged-platform-ui-thread. +// TODO(163064): remove this when users have been migrated. +DEF_SWITCH(DisableMergedPlatformUIThread, + "no-enable-merged-platform-ui-thread", + "Disables merging of the UI and platform threads.") +DEF_SWITCH(EnableAndroidSurfaceControl, + "enable-surface-control", + "Enable the SurfaceControl backed swapchain when supported.") +DEF_SWITCH(EnableFlutterGPU, + "enable-flutter-gpu", + "Whether Flutter GPU is enabled.") +DEF_SWITCH(ImpellerLazyShaderMode, + "impeller-lazy-shader-mode", + "Whether to defer initialization of all required PSOs for the " + "Impeller backend. Defaults to false.") +DEF_SWITCH(ImpellerAntialiasLines, + "impeller-antialias-lines", + "Experimental flag to test drawing lines with antialiasing.") +DEF_SWITCHES_END + +} // namespace flutter + +#endif // FLUTTER_SHELL_COMMON_SWITCH_DEFS_H_ diff --git a/engine/src/flutter/shell/common/switches.cc b/engine/src/flutter/shell/common/switches.cc index 8ad51681f2513..15d43a5f3aed3 100644 --- a/engine/src/flutter/shell/common/switches.cc +++ b/engine/src/flutter/shell/common/switches.cc @@ -13,10 +13,10 @@ #include "flutter/fml/paths.h" #include "flutter/shell/version/version.h" -// Include once for the default enum definition. +// This will include switch_defs.h once to get the default enum definition. #include "flutter/shell/common/switches.h" -#undef FLUTTER_SHELL_COMMON_SWITCHES_H_ +#undef FLUTTER_SHELL_COMMON_SWITCH_DEFS_H_ struct SwitchDesc { flutter::Switch sw; @@ -68,8 +68,8 @@ static const std::string kAllowedDartFlags[] = { #endif // FLUTTER_RELEASE -// Include again for struct definition. -#include "flutter/shell/common/switches.h" +// Include switch_defs.h again for the struct definition. +#include "flutter/shell/common/switch_defs.h" // Define symbols for the ICU data that is linked into the Flutter library on // Android. This is a workaround for crashes seen when doing dynamic lookups @@ -227,7 +227,8 @@ std::unique_ptr GetSymbolMapping( return std::make_unique(mapping, size); } -Settings SettingsFromCommandLine(const fml::CommandLine& command_line) { +Settings SettingsFromCommandLine(const fml::CommandLine& command_line, + bool require_merged_platform_ui_thread) { Settings settings = {}; // Set executable name. @@ -385,7 +386,7 @@ Settings SettingsFromCommandLine(const fml::CommandLine& command_line) { if (!aot_shared_library_name.empty()) { for (std::string_view name : aot_shared_library_name) { - settings.application_library_path.emplace_back(name); + settings.application_library_paths.emplace_back(name); } } else if (!snapshot_asset_path.empty()) { settings.vm_snapshot_data_path = @@ -516,8 +517,15 @@ Settings SettingsFromCommandLine(const fml::CommandLine& command_line) { settings.enable_surface_control = command_line.HasOption( FlagForSwitch(Switch::EnableAndroidSurfaceControl)); + constexpr std::string_view kMergedThreadEnabled = "enabled"; + constexpr std::string_view kMergedThreadDisabled = "disabled"; + constexpr std::string_view kMergedThreadMergeAfterLaunch = "mergeAfterLaunch"; if (command_line.HasOption( FlagForSwitch(Switch::DisableMergedPlatformUIThread))) { + FML_CHECK(!require_merged_platform_ui_thread) + << "This platform does not support the " + << FlagForSwitch(Switch::DisableMergedPlatformUIThread) << " flag"; + settings.merged_platform_ui_thread = Settings::MergedPlatformUIThread::kDisabled; } else if (command_line.HasOption( @@ -525,13 +533,18 @@ Settings SettingsFromCommandLine(const fml::CommandLine& command_line) { std::string merged_platform_ui; command_line.GetOptionValue(FlagForSwitch(Switch::MergedPlatformUIThread), &merged_platform_ui); - if (merged_platform_ui == "enabled") { + if (merged_platform_ui == kMergedThreadEnabled) { settings.merged_platform_ui_thread = Settings::MergedPlatformUIThread::kEnabled; - } else if (merged_platform_ui == "disabled") { + } else if (merged_platform_ui == kMergedThreadDisabled) { + FML_CHECK(!require_merged_platform_ui_thread) + << "This platform does not support the " + << FlagForSwitch(Switch::MergedPlatformUIThread) << "=" + << kMergedThreadDisabled << " flag"; + settings.merged_platform_ui_thread = Settings::MergedPlatformUIThread::kDisabled; - } else if (merged_platform_ui == "mergeAfterLaunch") { + } else if (merged_platform_ui == kMergedThreadMergeAfterLaunch) { settings.merged_platform_ui_thread = Settings::MergedPlatformUIThread::kMergeAfterLaunch; } diff --git a/engine/src/flutter/shell/common/switches.h b/engine/src/flutter/shell/common/switches.h index 6269113b319f0..01e5010f67a31 100644 --- a/engine/src/flutter/shell/common/switches.h +++ b/engine/src/flutter/shell/common/switches.h @@ -6,309 +6,20 @@ #include "flutter/common/settings.h" #include "flutter/fml/command_line.h" +#include "flutter/shell/common/switch_defs.h" #ifndef FLUTTER_SHELL_COMMON_SWITCHES_H_ #define FLUTTER_SHELL_COMMON_SWITCHES_H_ namespace flutter { -// clang-format off -#ifndef DEF_SWITCHES_START -#define DEF_SWITCHES_START enum class Switch { -#endif -#ifndef DEF_SWITCH -#define DEF_SWITCH(swtch, flag, help) swtch, -#endif -#ifndef DEF_SWITCHES_END -#define DEF_SWITCHES_END Sentinel, } ; -#endif -// clang-format on - -DEF_SWITCHES_START -DEF_SWITCH(AotSharedLibraryName, - "aot-shared-library-name", - "Name of the *.so containing AOT compiled Dart assets.") -DEF_SWITCH(AotVMServiceSharedLibraryName, - "aot-vmservice-shared-library-name", - "Name of the *.so containing AOT compiled Dart assets for " - "launching the service isolate.") -DEF_SWITCH(SnapshotAssetPath, - "snapshot-asset-path", - "Path to the directory containing the four files specified by " - "VmSnapshotData, VmSnapshotInstructions, " - "VmSnapshotInstructions and IsolateSnapshotInstructions.") -DEF_SWITCH(VmSnapshotData, - "vm-snapshot-data", - "The VM snapshot data that will be memory mapped as read-only. " - "SnapshotAssetPath must be present.") -DEF_SWITCH(VmSnapshotInstructions, - "vm-snapshot-instr", - "The VM instructions snapshot that will be memory mapped as read " - "and executable. SnapshotAssetPath must be present.") -DEF_SWITCH(IsolateSnapshotData, - "isolate-snapshot-data", - "The isolate snapshot data that will be memory mapped as read-only. " - "SnapshotAssetPath must be present.") -DEF_SWITCH(IsolateSnapshotInstructions, - "isolate-snapshot-instr", - "The isolate instructions snapshot that will be memory mapped as " - "read and executable. SnapshotAssetPath must be present.") -DEF_SWITCH(CacheDirPath, - "cache-dir-path", - "Path to the cache directory. " - "This is different from the persistent_cache_path in embedder.h, " - "which is used for Skia shader cache.") -DEF_SWITCH(ICUDataFilePath, "icu-data-file-path", "Path to the ICU data file.") -DEF_SWITCH(ICUSymbolPrefix, - "icu-symbol-prefix", - "Prefix for the symbols representing ICU data linked into the " - "Flutter library.") -DEF_SWITCH(ICUNativeLibPath, - "icu-native-lib-path", - "Path to the library file that exports the ICU data.") -DEF_SWITCH(DartFlags, - "dart-flags", - "Flags passed directly to the Dart VM without being interpreted " - "by the Flutter shell.") -DEF_SWITCH(DeviceVMServiceHost, - "vm-service-host", - "The hostname/IP address on which the Dart VM Service should " - "be served. If not set, defaults to 127.0.0.1 or ::1 depending on " - "whether --ipv6 is specified.") -DEF_SWITCH(DeviceVMServicePort, - "vm-service-port", - "A custom Dart VM Service port. The default is to pick a randomly " - "available open port.") -DEF_SWITCH( - DisableVMService, - "disable-vm-service", - "Disable the Dart VM Service. The Dart VM Service is never available " - "in release mode.") -DEF_SWITCH(DisableVMServicePublication, - "disable-vm-service-publication", - "Disable mDNS Dart VM Service publication.") -DEF_SWITCH(IPv6, - "ipv6", - "Bind to the IPv6 localhost address for the Dart VM Service. " - "Ignored if --vm-service-host is set.") -DEF_SWITCH(EnableDartProfiling, - "enable-dart-profiling", - "Enable Dart profiling. Profiling information can be viewed from " - "Dart / Flutter DevTools.") -DEF_SWITCH( - ProfileStartup, - "profile-startup", - "Make the profiler discard new samples once the profiler sample buffer is " - "full. When this flag is not set, the profiler sample buffer is used as a " - "ring buffer, meaning that once it is full, new samples start overwriting " - "the oldest ones. This switch is only meaningful when set in conjunction " - "with --enable-dart-profiling.") -DEF_SWITCH(EndlessTraceBuffer, - "endless-trace-buffer", - "Enable an endless trace buffer. The default is a ring buffer. " - "This is useful when very old events need to viewed. For example, " - "during application launch. Memory usage will continue to grow " - "indefinitely however.") -DEF_SWITCH(EnableSoftwareRendering, - "enable-software-rendering", - "Enable rendering using the Skia software backend. This is useful " - "when testing Flutter on emulators. By default, Flutter will " - "attempt to either use OpenGL, Metal, or Vulkan.") -DEF_SWITCH(Route, - "route", - "Start app with an specific route defined on the framework") -DEF_SWITCH(SkiaDeterministicRendering, - "skia-deterministic-rendering", - "Skips the call to SkGraphics::Init(), thus avoiding swapping out " - "some Skia function pointers based on available CPU features. This " - "is used to obtain 100% deterministic behavior in Skia rendering.") -DEF_SWITCH(FlutterAssetsDir, - "flutter-assets-dir", - "Path to the Flutter assets directory.") -DEF_SWITCH(Help, "help", "Display this help text.") -DEF_SWITCH(LogTag, "log-tag", "Tag associated with log messages.") -DEF_SWITCH(DisableServiceAuthCodes, - "disable-service-auth-codes", - "Disable the requirement for authentication codes for communicating" - " with the VM service.") -DEF_SWITCH(EnableServicePortFallback, - "enable-service-port-fallback", - "Allow the VM service to fallback to automatic port selection if" - " binding to a specified port fails.") -DEF_SWITCH(StartPaused, - "start-paused", - "Start the application paused in the Dart debugger.") -DEF_SWITCH(EnableCheckedMode, "enable-checked-mode", "Enable checked mode.") -DEF_SWITCH(TraceStartup, - "trace-startup", - "Trace early application lifecycle. Automatically switches to an " - "endless trace buffer.") -DEF_SWITCH(TraceSkia, - "trace-skia", - "Trace Skia calls. This is useful when debugging the GPU threed." - "By default, Skia tracing is not enabled to reduce the number of " - "traced events") -DEF_SWITCH(TraceSkiaAllowlist, - "trace-skia-allowlist", - "Filters out all Skia trace event categories except those that are " - "specified in this comma separated list.") -DEF_SWITCH( - TraceAllowlist, - "trace-allowlist", - "Filters out all trace events except those that are specified in this " - "comma separated list of allowed prefixes.") -DEF_SWITCH(DumpSkpOnShaderCompilation, - "dump-skp-on-shader-compilation", - "Automatically dump the skp that triggers new shader compilations. " - "This is useful for writing custom ShaderWarmUp to reduce jank. " - "By default, this is not enabled to reduce the overhead. ") -DEF_SWITCH(CacheSkSL, - "cache-sksl", - "Only cache the shader in SkSL instead of binary or GLSL. This " - "should only be used during development phases. The generated SkSLs " - "can later be used in the release build for shader precompilation " - "at launch in order to eliminate the shader-compile jank.") -DEF_SWITCH(PurgePersistentCache, - "purge-persistent-cache", - "Remove all existing persistent cache. This is mainly for debugging " - "purposes such as reproducing the shader compilation jank.") -DEF_SWITCH( - TraceSystrace, - "trace-systrace", - "Trace to the system tracer (instead of the timeline) on platforms where " - "such a tracer is available. Currently only supported on Android and " - "Fuchsia.") -DEF_SWITCH(TraceToFile, - "trace-to-file", - "Write the timeline trace to a file at the specified path. The file " - "will be in Perfetto's proto format; it will be possible to load " - "the file into Perfetto's trace viewer.") -DEF_SWITCH(ProfileMicrotasks, - "profile-microtasks", - "Enable collection of information about each microtask. Information " - "about completed microtasks will be written to the \"Microtask\" " - "timeline stream. Information about queued microtasks will be " - "accessible from Dart / Flutter DevTools.") -DEF_SWITCH(UseTestFonts, - "use-test-fonts", - "Running tests that layout and measure text will not yield " - "consistent results across various platforms. Enabling this option " - "will make font resolution default to the Ahem test font on all " - "platforms (See https://www.w3.org/Style/CSS/Test/Fonts/Ahem/). " - "This option is only available on the desktop test shells.") -DEF_SWITCH(DisableAssetFonts, - "disable-asset-fonts", - "Prevents usage of any non-test fonts unless they were explicitly " - "Loaded via dart:ui font APIs. This option is only available on the " - "desktop test shells.") -DEF_SWITCH(PrefetchedDefaultFontManager, - "prefetched-default-font-manager", - "Indicates whether the embedding started a prefetch of the " - "default font manager before creating the engine.") -DEF_SWITCH(VerboseLogging, - "verbose-logging", - "By default, only errors are logged. This flag enabled logging at " - "all severity levels. This is NOT a per shell flag and affect log " - "levels for all shells in the process.") -DEF_SWITCH(RunForever, - "run-forever", - "In non-interactive mode, keep the shell running after the Dart " - "script has completed.") -DEF_SWITCH(DisableDartAsserts, - "disable-dart-asserts", - "Dart code runs with assertions enabled when the runtime mode is " - "debug. In profile and release product modes, assertions are " - "disabled. This flag may be specified if the user wishes to run " - "with assertions disabled in the debug product mode (i.e. with JIT " - "or DBC).") -DEF_SWITCH(EnableSerialGC, - "enable-serial-gc", - "On low power devices with low core counts, running concurrent " - "GC tasks on threads can cause them to contend with the UI thread " - "which could potentially lead to jank. This option turns off all " - "concurrent GC activities") -DEF_SWITCH(DisallowInsecureConnections, - "disallow-insecure-connections", - "By default, dart:io allows all socket connections. If this switch " - "is set, all insecure connections are rejected.") -DEF_SWITCH(DomainNetworkPolicy, - "domain-network-policy", - "JSON encoded network policy per domain. This overrides the " - "DisallowInsecureConnections switch. Embedder can specify whether " - "to allow or disallow insecure connections at a domain level.") -DEF_SWITCH( - ForceMultithreading, - "force-multithreading", - "Uses separate threads for the platform, UI, GPU and IO task runners. " - "By default, a single thread is used for all task runners. Only available " - "in the flutter_tester.") -DEF_SWITCH(OldGenHeapSize, - "old-gen-heap-size", - "The size limit in megabytes for the Dart VM old gen heap space.") - -DEF_SWITCH(ResourceCacheMaxBytesThreshold, - "resource-cache-max-bytes-threshold", - "The max bytes threshold of resource cache, or 0 for unlimited.") -DEF_SWITCH(EnableImpeller, - "enable-impeller", - "Enable the Impeller renderer on supported platforms. Ignored if " - "Impeller is not supported on the platform.") -DEF_SWITCH(ImpellerBackend, - "impeller-backend", - "Requests a particular Impeller backend on platforms that support " - "multiple backends. (ex `opengles` or `vulkan`)") -DEF_SWITCH(EnableVulkanValidation, - "enable-vulkan-validation", - "Enable loading Vulkan validation layers. The layers must be " - "available to the application and loadable. On non-Vulkan backends, " - "this flag does nothing.") -DEF_SWITCH(EnableOpenGLGPUTracing, - "enable-opengl-gpu-tracing", - "Enable tracing of GPU execution time when using the Impeller " - "OpenGLES backend.") -DEF_SWITCH(EnableVulkanGPUTracing, - "enable-vulkan-gpu-tracing", - "Enable tracing of GPU execution time when using the Impeller " - "Vulkan backend.") -DEF_SWITCH(LeakVM, - "leak-vm", - "When the last shell shuts down, the shared VM is leaked by default " - "(the leak_vm in VM settings is true). To clean up the leak VM, set " - "this value to false.") -DEF_SWITCH(EnableEmbedderAPI, - "enable-embedder-api", - "Enable the embedder api. Defaults to false. iOS only.") -DEF_SWITCH(EnablePlatformIsolates, - "enable-platform-isolates", - "Enable support for isolates that run on the platform thread.") -DEF_SWITCH(MergedPlatformUIThread, - "merged-platform-ui-thread", - "Sets whether the ui thread and platform thread should be merged.") -// This is a legacy flag that has been superseded by merged-platform-ui-thread. -// TODO(163064): remove this when users have been migrated. -DEF_SWITCH(DisableMergedPlatformUIThread, - "no-enable-merged-platform-ui-thread", - "Merge the ui thread and platform thread.") -DEF_SWITCH(EnableAndroidSurfaceControl, - "enable-surface-control", - "Enable the SurfaceControl backed swapchain when supported.") -DEF_SWITCH(EnableFlutterGPU, - "enable-flutter-gpu", - "Whether Flutter GPU is enabled.") -DEF_SWITCH(ImpellerLazyShaderMode, - "impeller-lazy-shader-mode", - "Whether to defer initialization of all required PSOs for the " - "Impeller backend. Defaults to false.") -DEF_SWITCH(ImpellerAntialiasLines, - "impeller-antialias-lines", - "Experimental flag to test drawing lines with antialiasing.") -DEF_SWITCHES_END - void PrintUsage(const std::string& executable_name); const std::string_view FlagForSwitch(Switch swtch); -Settings SettingsFromCommandLine(const fml::CommandLine& command_line); +Settings SettingsFromCommandLine( + const fml::CommandLine& command_line, + bool require_merged_platform_ui_thread = false); } // namespace flutter diff --git a/engine/src/flutter/shell/common/switches_unittests.cc b/engine/src/flutter/shell/common/switches_unittests.cc index d71cb08ac9c07..8042c3a59bb03 100644 --- a/engine/src/flutter/shell/common/switches_unittests.cc +++ b/engine/src/flutter/shell/common/switches_unittests.cc @@ -149,6 +149,20 @@ TEST(SwitchesTest, EnableAsserts) { } #endif +#ifndef OS_FUCHSIA +TEST(SwitchesTest, RequireMergedPlatformUIThread) { + fml::CommandLine command_line = fml::CommandLineFromInitializerList( + {"command", "--merged-platform-ui-thread=disabled"}); + Settings settings = SettingsFromCommandLine(command_line); + EXPECT_EQ(settings.merged_platform_ui_thread, + Settings::MergedPlatformUIThread::kDisabled); + + EXPECT_DEATH_IF_SUPPORTED(SettingsFromCommandLine(command_line, true), + "This platform does not support the " + "merged-platform-ui-thread=disabled flag"); +} +#endif // !OS_FUCHSIA + } // namespace testing } // namespace flutter diff --git a/engine/src/flutter/shell/geometry/BUILD.gn b/engine/src/flutter/shell/geometry/BUILD.gn new file mode 100644 index 0000000000000..0d65bb739d57f --- /dev/null +++ b/engine/src/flutter/shell/geometry/BUILD.gn @@ -0,0 +1,31 @@ +import("//flutter/common/config.gni") +import("//flutter/testing/testing.gni") + +source_set("geometry") { + visibility = [ + ":geometry_unittests", + "//flutter/shell/common:*", + "//flutter/shell/platform/common:*", + "//flutter/shell/platform/windows:*", + ] + + sources = [ "geometry.h" ] +} + +if (enable_unittests) { + test_fixtures("geometry_fixtures") { + fixtures = [] + } + + executable("geometry_unittests") { + testonly = true + + sources = [ "geometry_unittests.cc" ] + + deps = [ + ":geometry", + ":geometry_fixtures", + "//flutter/testing", + ] + } +} diff --git a/engine/src/flutter/shell/platform/common/geometry.h b/engine/src/flutter/shell/geometry/geometry.h similarity index 87% rename from engine/src/flutter/shell/platform/common/geometry.h rename to engine/src/flutter/shell/geometry/geometry.h index 19d61dd947987..e5572e924c96b 100644 --- a/engine/src/flutter/shell/platform/common/geometry.h +++ b/engine/src/flutter/shell/geometry/geometry.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef FLUTTER_SHELL_PLATFORM_COMMON_GEOMETRY_H_ -#define FLUTTER_SHELL_PLATFORM_COMMON_GEOMETRY_H_ +#ifndef FLUTTER_SHELL_GEOMETRY_GEOMETRY_H_ +#define FLUTTER_SHELL_GEOMETRY_GEOMETRY_H_ #include #include @@ -44,10 +44,7 @@ class Size { double width() const { return width_; } double height() const { return height_; } - bool operator==(const Size& other) const { - return width_ == other.width_ && height_ == other.height_; - } - bool operator!=(const Size& other) const { return !(*this == other); } + bool operator==(const Size& other) const = default; private: double width_ = 0.0; @@ -96,6 +93,13 @@ class BoxConstraints { Size biggest() const { return biggest_; } Size smallest() const { return smallest_; } + bool IsSatisfiedBy(Size size) { + return smallest().width() <= size.width() && + size.width() <= biggest().width() && + smallest().height() <= size.height() && + size.height() <= biggest().height(); + } + private: Size smallest_ = Size(0, 0); Size biggest_ = Size(std::numeric_limits::infinity(), @@ -104,4 +108,4 @@ class BoxConstraints { } // namespace flutter -#endif // FLUTTER_SHELL_PLATFORM_COMMON_GEOMETRY_H_ +#endif // FLUTTER_SHELL_GEOMETRY_GEOMETRY_H_ diff --git a/engine/src/flutter/shell/platform/common/geometry_unittests.cc b/engine/src/flutter/shell/geometry/geometry_unittests.cc similarity index 96% rename from engine/src/flutter/shell/platform/common/geometry_unittests.cc rename to engine/src/flutter/shell/geometry/geometry_unittests.cc index c8645028be909..4be46ae696dd5 100644 --- a/engine/src/flutter/shell/platform/common/geometry_unittests.cc +++ b/engine/src/flutter/shell/geometry/geometry_unittests.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "flutter/shell/platform/common/geometry.h" +#include "flutter/shell/geometry/geometry.h" #include "gtest/gtest.h" diff --git a/engine/src/flutter/shell/gpu/gpu_surface_metal_impeller_unittests.mm b/engine/src/flutter/shell/gpu/gpu_surface_metal_impeller_unittests.mm index 6b6d5241bca3a..71db02df15532 100644 --- a/engine/src/flutter/shell/gpu/gpu_surface_metal_impeller_unittests.mm +++ b/engine/src/flutter/shell/gpu/gpu_surface_metal_impeller_unittests.mm @@ -111,21 +111,21 @@ GPUCAMetalLayerHandle GetCAMetalLayer(const DlISize& frame_info) const override ASSERT_TRUE(surface->IsValid()); - auto& host_buffer = surface->GetAiksContext()->GetContentContext().GetTransientsBuffer(); + auto& data_host_buffer = surface->GetAiksContext()->GetContentContext().GetTransientsDataBuffer(); - EXPECT_EQ(host_buffer.GetStateForTest().current_frame, 0u); + EXPECT_EQ(data_host_buffer.GetStateForTest().current_frame, 0u); auto frame = surface->AcquireFrame(DlISize(100, 100)); frame->set_submit_info({.frame_boundary = false}); ASSERT_TRUE(frame->Submit()); - EXPECT_EQ(host_buffer.GetStateForTest().current_frame, 0u); + EXPECT_EQ(data_host_buffer.GetStateForTest().current_frame, 0u); frame = surface->AcquireFrame(DlISize(100, 100)); frame->set_submit_info({.frame_boundary = true}); ASSERT_TRUE(frame->Submit()); - EXPECT_EQ(host_buffer.GetStateForTest().current_frame, 1u); + EXPECT_EQ(data_host_buffer.GetStateForTest().current_frame, 1u); } #ifdef IMPELLER_DEBUG diff --git a/engine/src/flutter/shell/gpu/gpu_surface_vulkan.h b/engine/src/flutter/shell/gpu/gpu_surface_vulkan.h index bc5cee07619aa..b84b98a0843cb 100644 --- a/engine/src/flutter/shell/gpu/gpu_surface_vulkan.h +++ b/engine/src/flutter/shell/gpu/gpu_surface_vulkan.h @@ -13,7 +13,6 @@ #include "flutter/shell/gpu/gpu_surface_vulkan_delegate.h" #include "flutter/vulkan/vulkan_backbuffer.h" #include "flutter/vulkan/vulkan_native_surface.h" -#include "flutter/vulkan/vulkan_window.h" #include "third_party/skia/include/core/SkRefCnt.h" #include "third_party/skia/include/core/SkSurface.h" diff --git a/engine/src/flutter/shell/platform/android/BUILD.gn b/engine/src/flutter/shell/platform/android/BUILD.gn index 704f01fe1436d..a2445eda33d59 100644 --- a/engine/src/flutter/shell/platform/android/BUILD.gn +++ b/engine/src/flutter/shell/platform/android/BUILD.gn @@ -366,6 +366,7 @@ android_java_sources = [ "io/flutter/util/TraceSection.java", "io/flutter/util/ViewUtils.java", "io/flutter/view/AccessibilityBridge.java", + "io/flutter/view/AccessibilityStringBuilder.java", "io/flutter/view/AccessibilityViewEmbedder.java", "io/flutter/view/FlutterCallbackInformation.java", "io/flutter/view/FlutterRunArguments.java", @@ -796,7 +797,8 @@ if (target_cpu != "x86") { } } -if (host_os == "linux" && (target_cpu == "x64" || target_cpu == "arm64")) { +if (host_os == "linux" && + (target_cpu == "x64" || target_cpu == "arm64" || target_cpu == "riscv64")) { zip_bundle("analyze_snapshot") { deps = [ "$dart_src/runtime/bin:analyze_snapshot($host_toolchain)" ] diff --git a/engine/src/flutter/shell/platform/android/android_context_dynamic_impeller.cc b/engine/src/flutter/shell/platform/android/android_context_dynamic_impeller.cc index 6af29933862d3..2e84fb09a372f 100644 --- a/engine/src/flutter/shell/platform/android/android_context_dynamic_impeller.cc +++ b/engine/src/flutter/shell/platform/android/android_context_dynamic_impeller.cc @@ -11,37 +11,62 @@ #include "flutter/impeller/base/validation.h" #include "shell/platform/android/android_rendering_selector.h" +namespace fs = std::filesystem; + namespace flutter { namespace { static const constexpr char* kAndroidHuawei = "android-huawei"; -/// These are SoCs that crash when using AHB imports. -static constexpr const char* kBLC[] = { - // Most Exynos Series SoC +static constexpr const char* kBadSocs[] = { + // Most Exynos Series SoC. These are SoCs that crash when using AHB imports. "exynos7870", // "exynos7880", // "exynos7872", // "exynos7884", // "exynos7885", // + "exynos7904", // + // Mongoose line. "exynos8890", // "exynos8895", // - "exynos7904", // "exynos9609", // "exynos9610", // "exynos9611", // - "exynos9810" // + "exynos9810", // + // `exynos9820` and `exynos9825` have graphical errors: + // https://github.com/flutter/flutter/issues/171992. + "exynos9820", // + "exynos9825" // }; -static bool IsDeviceEmulator(std::string_view product_model) { - return std::string(product_model).find("gphone") != std::string::npos; +static bool IsDeviceEmulator() { + char property[PROP_VALUE_MAX]; + + __system_property_get("ro.hardware", property); + std::string_view hardware_prop(property); + if (hardware_prop == "goldfish" || hardware_prop == "ranchu" || + hardware_prop == "qemu") { + return true; + } + + __system_property_get("ro.product.model", property); + std::string_view model_prop(property); + if (model_prop.find("gphone") != std::string::npos) { + return true; + } + + if (::access("/dev/qemu_pipe", F_OK) == 0) { + return true; + } + + return false; } static bool IsKnownBadSOC(std::string_view hardware) { // TODO(jonahwilliams): if the list gets too long (> 16), convert // to a hash map first. - for (const auto& board : kBLC) { + for (const auto& board : kBadSocs) { if (strcmp(board, hardware.data()) == 0) { return true; } @@ -60,15 +85,14 @@ GetActualRenderingAPIForImpeller( // Even if this check returns true, Impeller may determine it cannot use // Vulkan for some other reason, such as a missing required extension or // feature. In these cases it will use OpenGLES. - char product_model[PROP_VALUE_MAX]; - __system_property_get("ro.product.model", product_model); - if (IsDeviceEmulator(product_model)) { + if (IsDeviceEmulator()) { // Avoid using Vulkan on known emulators. return nullptr; } - __system_property_get("ro.com.google.clientidbase", product_model); - if (strcmp(product_model, kAndroidHuawei) == 0) { + char property[PROP_VALUE_MAX]; + __system_property_get("ro.com.google.clientidbase", property); + if (strcmp(property, kAndroidHuawei) == 0) { // Avoid using Vulkan on Huawei as AHB imports do not // consistently work. return nullptr; @@ -81,9 +105,10 @@ GetActualRenderingAPIForImpeller( return nullptr; } - __system_property_get("ro.product.board", product_model); - if (IsKnownBadSOC(product_model)) { - // Avoid using Vulkan on known bad SoCs. + __system_property_get("ro.product.board", property); + if (IsKnownBadSOC(property)) { + FML_LOG(INFO) + << "Known bad Vulkan driver encountered, falling back to OpenGLES."; return nullptr; } diff --git a/engine/src/flutter/shell/platform/android/build.gradle b/engine/src/flutter/shell/platform/android/build.gradle index 40a4058675775..ac83eff54713b 100644 --- a/engine/src/flutter/shell/platform/android/build.gradle +++ b/engine/src/flutter/shell/platform/android/build.gradle @@ -10,7 +10,7 @@ buildscript { dependencies { // Consult the Android team before bumping. This is only used for IDE support, so // it does not need to be bumped as part of most repo-wide upgrades. - classpath "com.android.tools.build:gradle:8.7.1" + classpath "com.android.tools.build:gradle:8.9.1" } } @@ -22,7 +22,7 @@ repositories { apply plugin: "com.android.library" android { - namespace "io.flutter.embedding" + namespace = "io.flutter.embedding" compileSdk = 36 defaultConfig { diff --git a/engine/src/flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.cc b/engine/src/flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.cc index c8796e5b9c0b1..f8e16cabdbfe1 100644 --- a/engine/src/flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.cc +++ b/engine/src/flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.cc @@ -73,14 +73,11 @@ void AndroidExternalViewEmbedder2::SubmitFlutterView( if (!FrameHasPlatformLayers()) { frame->Submit(); // If the previous frame had platform views, hide the overlay surface. - if (previous_frame_view_count_ > 0) { - jni_facade_->hideOverlaySurface2(); - } + HideOverlayLayerIfNeeded(); jni_facade_->applyTransaction(); return; } - bool prev_frame_no_platform_views = previous_frame_view_count_ == 0; std::unordered_map view_rects; for (auto platform_id : composition_order_) { view_rects[platform_id] = GetViewRect(platform_id, view_params_); @@ -146,20 +143,27 @@ void AndroidExternalViewEmbedder2::SubmitFlutterView( overlay_canvas->RestoreToCount(restore_count); } } + bool overlay_layer_has_content_this_frame_; if (overlay_frame != nullptr) { overlay_frame->set_submit_info({.frame_boundary = false}); overlay_frame->Submit(); + overlay_layer_has_content_this_frame_ = true; + } else { + overlay_layer_has_content_this_frame_ = false; } frame->Submit(); task_runners_.GetPlatformTaskRunner()->PostTask(fml::MakeCopyable( [&, composition_order = composition_order_, view_params = view_params_, jni_facade = jni_facade_, device_pixel_ratio = device_pixel_ratio_, - slices = std::move(slices_), prev_frame_no_platform_views]() -> void { + slices = std::move(slices_), + overlay_layer_has_content_this_frame_]() -> void { jni_facade->swapTransaction(); - if (prev_frame_no_platform_views) { - jni_facade_->showOverlaySurface2(); + if (overlay_layer_has_content_this_frame_) { + ShowOverlayLayerIfNeeded(); + } else { + HideOverlayLayerIfNeeded(); } for (int64_t view_id : composition_order) { @@ -197,8 +201,6 @@ DlCanvas* AndroidExternalViewEmbedder2::GetRootCanvas() { } void AndroidExternalViewEmbedder2::Reset() { - previous_frame_view_count_ = composition_order_.size(); - composition_order_.clear(); slices_.clear(); } @@ -257,6 +259,21 @@ void AndroidExternalViewEmbedder2::DestroySurfaces() { latch.Signal(); }); latch.Wait(); + overlay_layer_is_shown_ = false; +} + +void AndroidExternalViewEmbedder2::ShowOverlayLayerIfNeeded() { + if (!overlay_layer_is_shown_) { + jni_facade_->showOverlaySurface2(); + overlay_layer_is_shown_ = true; + } +} + +void AndroidExternalViewEmbedder2::HideOverlayLayerIfNeeded() { + if (overlay_layer_is_shown_) { + jni_facade_->hideOverlaySurface2(); + overlay_layer_is_shown_ = false; + } } } // namespace flutter diff --git a/engine/src/flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.h b/engine/src/flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.h index d25d8e44382b1..988198fc761b9 100644 --- a/engine/src/flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.h +++ b/engine/src/flutter/shell/platform/android/external_view_embedder/external_view_embedder_2.h @@ -112,6 +112,9 @@ class AndroidExternalViewEmbedder2 final : public ExternalViewEmbedder { // The task runners. const TaskRunners task_runners_; + // If the overlay layer is currently shown. + bool overlay_layer_is_shown_ = false; + // The size of the root canvas. DlISize frame_size_; @@ -132,9 +135,6 @@ class AndroidExternalViewEmbedder2 final : public ExternalViewEmbedder { // mutation stack. std::unordered_map view_params_; - // The number of platform views in the previous frame. - int64_t previous_frame_view_count_; - // Destroys the surfaces created from the surface factory. // This method schedules a task on the platform thread, and waits for // the task until it completes. @@ -145,6 +145,13 @@ class AndroidExternalViewEmbedder2 final : public ExternalViewEmbedder { // Whether the layer tree in the current frame has platform layers. bool FrameHasPlatformLayers(); + + // Shows the overlay layer if it has content and the previous frame did not. + void ShowOverlayLayerIfNeeded(); + + // Hides the overlay layer if it does not have content and the previous + // frame did have content. + void HideOverlayLayerIfNeeded(); }; } // namespace flutter diff --git a/engine/src/flutter/shell/platform/android/flutter_main.cc b/engine/src/flutter/shell/platform/android/flutter_main.cc index da47e89d205d1..d14ac40029645 100644 --- a/engine/src/flutter/shell/platform/android/flutter_main.cc +++ b/engine/src/flutter/shell/platform/android/flutter_main.cc @@ -102,7 +102,7 @@ void FlutterMain::Init(JNIEnv* env, } auto command_line = fml::CommandLineFromIterators(args.begin(), args.end()); - auto settings = SettingsFromCommandLine(command_line); + auto settings = SettingsFromCommandLine(command_line, true); // Turn systracing on if ATrace_isEnabled is true and the user did not already // request systracing diff --git a/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/AndroidTouchProcessor.java b/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/AndroidTouchProcessor.java index 6d10ebd3fc8bf..54f32154079cf 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/AndroidTouchProcessor.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/AndroidTouchProcessor.java @@ -269,7 +269,7 @@ public boolean onGenericMotionEvent(@NonNull MotionEvent event, @NonNull Context /// Calls addPointerForIndex with null for context. /// - /// Without context the scroll wheel will not mimick android's scroll speed. + /// Without context the scroll wheel will not mimic android's scroll speed. private void addPointerForIndex( MotionEvent event, int pointerIndex, @@ -315,7 +315,7 @@ private void addPointerForIndex( int pointerKind = getPointerDeviceTypeForToolType(event.getToolType(pointerIndex)); // We use this in lieu of using event.getRawX and event.getRawY as we wish to support // earlier versions than API level 29. - float viewToScreenCoords[] = {event.getX(pointerIndex), event.getY(pointerIndex)}; + float[] viewToScreenCoords = {event.getX(pointerIndex), event.getY(pointerIndex)}; transformMatrix.mapPoints(viewToScreenCoords); long buttons; if (pointerKind == PointerDeviceKind.MOUSE) { diff --git a/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/KeyChannelResponder.java b/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/KeyChannelResponder.java index c4ac5aa649b5e..60e911c677b88 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/KeyChannelResponder.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/KeyChannelResponder.java @@ -46,8 +46,6 @@ public void handleEvent( final boolean isKeyUp = action != KeyEvent.ACTION_DOWN; keyEventChannel.sendFlutterKeyEvent( - flutterEvent, - isKeyUp, - (isEventHandled) -> onKeyEventHandledCallback.onKeyEventHandled(isEventHandled)); + flutterEvent, isKeyUp, onKeyEventHandledCallback::onKeyEventHandled); } } diff --git a/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/KeyboardManager.java b/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/KeyboardManager.java index ffafb7692e52d..2644350cfec5e 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/KeyboardManager.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/embedding/android/KeyboardManager.java @@ -164,7 +164,7 @@ void handleEvent( */ public interface ViewDelegate { /** Returns a {@link BinaryMessenger} to send platform messages with. */ - public BinaryMessenger getBinaryMessenger(); + BinaryMessenger getBinaryMessenger(); /** * Send a {@link KeyEvent} that is not handled by the keyboard responders to the text input @@ -174,10 +174,10 @@ public interface ViewDelegate { * must not be null. * @return Whether the text input handles the key event. */ - public boolean onTextInputKeyEvent(@NonNull KeyEvent keyEvent); + boolean onTextInputKeyEvent(@NonNull KeyEvent keyEvent); /** Send a {@link KeyEvent} that is not handled by Flutter back to the platform. */ - public void redispatch(@NonNull KeyEvent keyEvent); + void redispatch(@NonNull KeyEvent keyEvent); } private class PerEventCallbackBuilder { @@ -241,7 +241,7 @@ public void destroy() { Log.w( TAG, "A KeyboardManager was destroyed with " - + String.valueOf(remainingRedispatchCount) + + remainingRedispatchCount + " unhandled redispatch event(s)."); } } diff --git a/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java b/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java index 117f9aa78cd6a..05b4d1d7b8f8e 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java @@ -18,6 +18,7 @@ import android.util.DisplayMetrics; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; import io.flutter.BuildConfig; import io.flutter.FlutterInjector; import io.flutter.Log; @@ -27,6 +28,7 @@ import io.flutter.util.TraceSection; import io.flutter.view.VsyncWaiter; import java.io.File; +import java.io.IOException; import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; @@ -87,6 +89,9 @@ public class FlutterLoader { private static FlutterLoader instance; + @VisibleForTesting + static final String aotSharedLibraryNameFlag = "--" + AOT_SHARED_LIBRARY_NAME + "="; + /** * Creates a {@code FlutterLoader} that uses a default constructed {@link FlutterJNI} and {@link * ExecutorService}. @@ -117,7 +122,7 @@ public FlutterLoader(@NonNull FlutterJNI flutterJNI, @NonNull ExecutorService ex this.executorService = executorService; } - private boolean initialized = false; + @VisibleForTesting boolean initialized = false; @Nullable private Settings settings; private long initStartTimestampMillis; private FlutterApplicationInfo flutterApplicationInfo; @@ -203,7 +208,7 @@ public InitResult call() { // cpu architecture. String cpuArch = System.getProperty("os.arch"); - File nativeLibsDir = new File(flutterApplicationInfo.nativeLibraryDir); + File nativeLibsDir = getFileFromPath(flutterApplicationInfo.nativeLibraryDir); String[] nativeLibsContents = nativeLibsDir.list(); // To gather more information for @@ -313,8 +318,32 @@ public void ensureInitializationComplete( + flutterApplicationInfo.nativeLibraryDir + File.separator + DEFAULT_LIBRARY); + if (args != null) { - Collections.addAll(shellArgs, args); + for (String arg : args) { + // Perform security check for path containing application's compiled Dart code and + // potentially user-provided compiled native code. + if (arg.startsWith(aotSharedLibraryNameFlag)) { + String safeAotSharedLibraryNameFlag = + getSafeAotSharedLibraryNameFlag(applicationContext, arg); + if (safeAotSharedLibraryNameFlag != null) { + arg = safeAotSharedLibraryNameFlag; + } else { + // If the library path is not safe, we will skip adding this argument. + Log.w( + TAG, + "Skipping unsafe AOT shared library name flag: " + + arg + + ". Please ensure that the library is vetted and placed in your application's internal storage."); + continue; + } + } + + // TODO(camsim99): This is a dangerous pattern that blindly allows potentially malicious + // arguments to be used for engine initialization and should be fixed. See + // https://github.com/flutter/flutter/issues/172553. + shellArgs.add(arg); + } } String kernelPath = null; @@ -327,16 +356,14 @@ public void ensureInitializationComplete( shellArgs.add( "--" + ISOLATE_SNAPSHOT_DATA_KEY + "=" + flutterApplicationInfo.isolateSnapshotData); } else { - shellArgs.add( - "--" + AOT_SHARED_LIBRARY_NAME + "=" + flutterApplicationInfo.aotSharedLibraryName); + // Add default AOT shared library name arg. + shellArgs.add(aotSharedLibraryNameFlag + flutterApplicationInfo.aotSharedLibraryName); - // Most devices can load the AOT shared library based on the library name - // with no directory path. Provide a fully qualified path to the library + // Some devices cannot load the an AOT shared library based on the library name + // with no directory path. So, we provide a fully qualified path to the default library // as a workaround for devices where that fails. shellArgs.add( - "--" - + AOT_SHARED_LIBRARY_NAME - + "=" + aotSharedLibraryNameFlag + flutterApplicationInfo.nativeLibraryDir + File.separator + flutterApplicationInfo.aotSharedLibraryName); @@ -403,7 +430,8 @@ public void ensureInitializationComplete( shellArgs.add("--enable-vulkan-gpu-tracing"); } if (metaData.getBoolean(DISABLE_MERGED_PLATFORM_UI_THREAD_KEY, false)) { - shellArgs.add("--merged-platform-ui-thread=disabled"); + throw new IllegalArgumentException( + DISABLE_MERGED_PLATFORM_UI_THREAD_KEY + " is no longer allowed."); } if (metaData.getBoolean(ENABLE_FLUTTER_GPU, false)) { shellArgs.add("--enable-flutter-gpu"); @@ -445,6 +473,68 @@ public void ensureInitializationComplete( } } + /** + * Returns the AOT shared library name flag with the canonical path to the library that the engine + * will use to load application's Dart code if it lives within a path we consider safe, which is a + * path within the application's internal storage. Otherwise, returns null. + * + *

If the library lives within the application's internal storage, this means that the + * application developer either explicitly placed the library there or set the Android Gradle + * Plugin jniLibs packaging option {@code useLegacyPackaging} to true; see + * https://developer.android.com/build/releases/past-releases/agp-4-2-0-release-notes#compress-native-libs-dsl + * for more information. + */ + private String getSafeAotSharedLibraryNameFlag( + @NonNull Context applicationContext, @NonNull String aotSharedLibraryNameArg) + throws IOException { + // Isolate AOT shared library path. + if (!aotSharedLibraryNameArg.startsWith(aotSharedLibraryNameFlag)) { + throw new IllegalArgumentException( + "AOT shared library name flag was not specified correctly; please use --aot-shared-library-name=."); + } + String aotSharedLibraryPath = + aotSharedLibraryNameArg.substring(aotSharedLibraryNameFlag.length()); + + // Canocalize path for safety analysis. + File aotSharedLibraryFile = getFileFromPath(aotSharedLibraryPath); + + String aotSharedLibraryPathCanonicalPath; + try { + aotSharedLibraryPathCanonicalPath = aotSharedLibraryFile.getCanonicalPath(); + } catch (IOException e) { + Log.e( + TAG, + "External path " + + aotSharedLibraryFile.getPath() + + " is not a valid path. Please ensure this shared AOT library exists."); + return null; + } + + // Check if library lives within application's internal storage. + File internalStorageDirectory = applicationContext.getApplicationContext().getFilesDir(); + String internalStorageDirectoryPathCanonicalPath = internalStorageDirectory.getCanonicalPath(); + boolean livesWithinInternalStorage = + aotSharedLibraryPathCanonicalPath.startsWith( + internalStorageDirectoryPathCanonicalPath + File.separator); + boolean isSoFile = aotSharedLibraryPathCanonicalPath.endsWith(".so"); + + if (livesWithinInternalStorage && isSoFile) { + return aotSharedLibraryNameFlag + aotSharedLibraryPathCanonicalPath; + } + // If the library does not live within the application's internal storage, we will not use it. + Log.e( + TAG, + "External path " + + aotSharedLibraryPathCanonicalPath + + " rejected; not overriding aot-shared-library-name."); + return null; + } + + @VisibleForTesting + File getFileFromPath(String path) { + return new File(path); + } + private static boolean isLeakVM(@Nullable Bundle metaData) { final boolean leakVMDefaultValue = true; if (metaData == null) { diff --git a/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java b/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java index 082633c29b864..929b3c76f5392 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/embedding/engine/renderer/FlutterRenderer.java @@ -413,7 +413,6 @@ final class ImageReaderSurfaceProducer TextureRegistry.ImageConsumer, TextureRegistry.OnTrimMemoryListener { private static final String TAG = "ImageReaderSurfaceProducer"; - private static final int MAX_IMAGES = 6; // The ImageReaderSurfaceProducer must not close images until the renderer, // either Skia OpenGL, Impeller OpenGL, or Impeller Vulkan is done reading // from them. The Vulkan renderer allows up to two frames in flight before @@ -422,6 +421,7 @@ final class ImageReaderSurfaceProducer // the frame that references them has finished rendering can result in // tearing or other incorrect rendering. private static final int MAX_DEQUEUED_IMAGES = 2; + private static final int MAX_IMAGES = 5 + MAX_DEQUEUED_IMAGES; // Flip when debugging to see verbose logs. private static final boolean VERBOSE_LOGS = false; diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/mouse/MouseCursorPlugin.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/mouse/MouseCursorPlugin.java index 5a4e285f35d39..53b86f487cc4b 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/mouse/MouseCursorPlugin.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/mouse/MouseCursorPlugin.java @@ -121,7 +121,7 @@ public interface MouseCursorViewDelegate { * with the context associated with this view. */ @NonNull - public PointerIcon getSystemPointerIcon(int type); + PointerIcon getSystemPointerIcon(int type); /** * Request the pointer to display the specified icon object. @@ -129,6 +129,6 @@ public interface MouseCursorViewDelegate { *

If the delegate is implemented by a {@link android.view.View}, then this method is * automatically implemented by View. */ - public void setPointerIcon(@NonNull PointerIcon icon); + void setPointerIcon(@NonNull PointerIcon icon); } } diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTarget.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTarget.java index 419fb12cc7162..507269834a26c 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTarget.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTarget.java @@ -44,7 +44,7 @@ public void onImageAvailable(ImageReader reader) { try { image = reader.acquireLatestImage(); } catch (IllegalStateException e) { - Log.e(TAG, "onImageAvailable acquireLatestImage failed: " + e.toString()); + Log.e(TAG, "onImageAvailable acquireLatestImage failed: " + e); } if (image == null) { return; diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java index c6b3e4652a0ba..8315fa35f4a45 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java @@ -371,7 +371,7 @@ private void setSystemChromeEnabledSystemUIOverlays( | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; - if (overlaysToShow.size() == 0) { + if (overlaysToShow.isEmpty()) { enabledOverlays |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; } diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRenderTarget.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRenderTarget.java index 7cb6c7a784065..97d424b5708f9 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRenderTarget.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewRenderTarget.java @@ -13,26 +13,26 @@ */ public interface PlatformViewRenderTarget { // Called when the render target should be resized. - public void resize(int width, int height); + void resize(int width, int height); // Returns the currently specified width. - public int getWidth(); + int getWidth(); // Returns the currently specified height. - public int getHeight(); + int getHeight(); // The id of this render target. - public long getId(); + long getId(); // Releases backing resources. - public void release(); + void release(); // Returns true in the case that backing resource have been released. - public boolean isReleased(); + boolean isReleased(); // Returns the Surface to be rendered on to. - public Surface getSurface(); + Surface getSurface(); // Schedules a frame to be drawn. - public default void scheduleFrame() {} + default void scheduleFrame() {} } diff --git a/engine/src/flutter/shell/platform/android/io/flutter/plugin/text/ProcessTextPlugin.java b/engine/src/flutter/shell/platform/android/io/flutter/plugin/text/ProcessTextPlugin.java index 472055effac7c..6383bdd4a96f7 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/plugin/text/ProcessTextPlugin.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/plugin/text/ProcessTextPlugin.java @@ -178,7 +178,7 @@ public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { public void onAttachedToActivity(@NonNull ActivityPluginBinding binding) { this.activityBinding = binding; this.activityBinding.addActivityResultListener(this); - }; + } public void onDetachedFromActivityForConfigChanges() { this.activityBinding.removeActivityResultListener(this); diff --git a/engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java b/engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java index 01d08f1de2bdc..1992a756684dc 100644 --- a/engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java +++ b/engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java @@ -19,11 +19,7 @@ import android.os.Bundle; import android.os.Handler; import android.provider.Settings; -import android.text.SpannableString; import android.text.TextUtils; -import android.text.style.LocaleSpan; -import android.text.style.TtsSpan; -import android.text.style.URLSpan; import android.view.MotionEvent; import android.view.View; import android.view.WindowManager; @@ -41,9 +37,14 @@ import io.flutter.plugin.platform.PlatformViewsAccessibilityDelegate; import io.flutter.util.Predicate; import io.flutter.util.ViewUtils; +import io.flutter.view.AccessibilityStringBuilder.LocaleStringAttribute; +import io.flutter.view.AccessibilityStringBuilder.SpellOutStringAttribute; +import io.flutter.view.AccessibilityStringBuilder.StringAttribute; +import io.flutter.view.AccessibilityStringBuilder.StringAttributeType; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -134,6 +135,9 @@ public class AccessibilityBridge extends AccessibilityNodeProvider { /// Value is derived from ACTION_TYPE_MASK in AccessibilityNodeInfo.java private static int FIRST_RESOURCE_ID = 267386881; + /// The index value that indicates no string is specified. + private static int EMPTY_STRING_INDEX = -1; + // Real Android View, which internally holds a Flutter UI. @NonNull private final View rootAccessibilityView; @@ -506,6 +510,54 @@ public void onTouchExplorationStateChanged(boolean isTouchExplorationEnabled) { platformViewsAccessibilityDelegate.attachAccessibilityBridge(this); } + private static List getStringAttributesFromBuffer( + @NonNull ByteBuffer buffer, @NonNull ByteBuffer[] stringAttributeArgs) { + final int attributesCount = buffer.getInt(); + if (attributesCount == -1) { + return null; + } + final List result = new ArrayList<>(attributesCount); + for (int i = 0; i < attributesCount; ++i) { + final int start = buffer.getInt(); + final int end = buffer.getInt(); + final StringAttributeType type = StringAttributeType.values()[buffer.getInt()]; + switch (type) { + case SPELLOUT: + { + // Pops the -1 size. + buffer.getInt(); + SpellOutStringAttribute attribute = new SpellOutStringAttribute(); + attribute.start = start; + attribute.end = end; + attribute.type = type; + result.add(attribute); + break; + } + case LOCALE: + { + final int argsIndex = buffer.getInt(); + final ByteBuffer args = stringAttributeArgs[argsIndex]; + LocaleStringAttribute attribute = new LocaleStringAttribute(); + attribute.start = start; + attribute.end = end; + attribute.type = type; + attribute.locale = Charset.forName("UTF-8").decode(args).toString(); + result.add(attribute); + break; + } + default: + break; + } + } + return result; + } + + private static String getStringFromBuffer(@NonNull ByteBuffer buffer, @NonNull String[] strings) { + int stringIndex = buffer.getInt(); + + return stringIndex == EMPTY_STRING_INDEX ? null : strings[stringIndex]; + } + /** * Disconnects any listeners and/or delegates that were initialized in {@code * AccessibilityBridge}'s constructor, or added after. @@ -1615,10 +1667,8 @@ void updateCustomAccessibilityActions(@NonNull ByteBuffer buffer, @NonNull Strin int id = buffer.getInt(); CustomAccessibilityAction action = getOrCreateAccessibilityAction(id); action.overrideId = buffer.getInt(); - int stringIndex = buffer.getInt(); - action.label = stringIndex == -1 ? null : strings[stringIndex]; - stringIndex = buffer.getInt(); - action.hint = stringIndex == -1 ? null : strings[stringIndex]; + action.label = getStringFromBuffer(buffer, strings); + action.hint = getStringFromBuffer(buffer, strings); } } @@ -1679,7 +1729,7 @@ void updateSemantics( } // If all the routes are in the previous route, get the last route. - if (lastAdded == null && newRoutes.size() > 0) { + if (lastAdded == null && !newRoutes.isEmpty()) { lastAdded = newRoutes.get(newRoutes.size() - 1); } @@ -2253,34 +2303,6 @@ private static class CustomAccessibilityAction { private String hint; } - // When adding a new StringAttributeType, the classes in these file must be - // updated as well. - // * engine/src/flutter/lib/ui/semantics.dart - // * engine/src/flutter/lib/web_ui/lib/semantics.dart - // * engine/src/flutter/lib/ui/semantics/string_attribute.h - - private enum StringAttributeType { - SPELLOUT, - LOCALE, - URL - } - - private static class StringAttribute { - int start; - int end; - StringAttributeType type; - } - - private static class SpellOutStringAttribute extends StringAttribute {} - - private static class LocaleStringAttribute extends StringAttribute { - String locale; - } - - private static class UrlStringAttribute extends StringAttribute { - String url; - } - /** * Flutter {@code SemanticsNode} represented in Java/Android. * @@ -2335,9 +2357,12 @@ private static boolean nullableHasAncestor( // API level >= 28; otherwise, this is attached to the end of content description. @Nullable private String tooltip; - // The Url the widget's points to. + // The Url this node points to. @Nullable private String linkUrl; + // The locale of the content of this node. + @Nullable private String locale; + // The id of the sibling node that is before this node in traversal // order. // @@ -2443,7 +2468,7 @@ private boolean didChangeLabel() { if (label == null && previousLabel == null) { return false; } - return label == null || previousLabel == null || !label.equals(previousLabel); + return label == null || !label.equals(previousLabel); } private void log(@NonNull String indent, boolean recursive) { @@ -2517,40 +2542,26 @@ private void updateWith( scrollExtentMax = buffer.getFloat(); scrollExtentMin = buffer.getFloat(); - int stringIndex = buffer.getInt(); - - identifier = stringIndex == -1 ? null : strings[stringIndex]; - stringIndex = buffer.getInt(); - - label = stringIndex == -1 ? null : strings[stringIndex]; + identifier = getStringFromBuffer(buffer, strings); + label = getStringFromBuffer(buffer, strings); labelAttributes = getStringAttributesFromBuffer(buffer, stringAttributeArgs); - stringIndex = buffer.getInt(); - value = stringIndex == -1 ? null : strings[stringIndex]; - + value = getStringFromBuffer(buffer, strings); valueAttributes = getStringAttributesFromBuffer(buffer, stringAttributeArgs); - stringIndex = buffer.getInt(); - increasedValue = stringIndex == -1 ? null : strings[stringIndex]; - + increasedValue = getStringFromBuffer(buffer, strings); increasedValueAttributes = getStringAttributesFromBuffer(buffer, stringAttributeArgs); - stringIndex = buffer.getInt(); - decreasedValue = stringIndex == -1 ? null : strings[stringIndex]; - + decreasedValue = getStringFromBuffer(buffer, strings); decreasedValueAttributes = getStringAttributesFromBuffer(buffer, stringAttributeArgs); - stringIndex = buffer.getInt(); - hint = stringIndex == -1 ? null : strings[stringIndex]; - + hint = getStringFromBuffer(buffer, strings); hintAttributes = getStringAttributesFromBuffer(buffer, stringAttributeArgs); - stringIndex = buffer.getInt(); - tooltip = stringIndex == -1 ? null : strings[stringIndex]; - - stringIndex = buffer.getInt(); - linkUrl = stringIndex == -1 ? null : strings[stringIndex]; + tooltip = getStringFromBuffer(buffer, strings); + linkUrl = getStringFromBuffer(buffer, strings); + locale = getStringFromBuffer(buffer, strings); textDirection = TextDirection.fromInt(buffer.getInt()); @@ -2641,7 +2652,7 @@ private List getStringAttributesFromBuffer( attribute.start = start; attribute.end = end; attribute.type = type; - attribute.locale = Charset.forName("UTF-8").decode(args).toString(); + attribute.locale = StandardCharsets.UTF_8.decode(args).toString(); result.add(attribute); break; } @@ -2840,29 +2851,28 @@ private float max(float a, float b, float c, float d) { } private CharSequence getValue() { - return createSpannableString(value, valueAttributes); + return new AccessibilityStringBuilder() + .addString(value) + .addAttributes(valueAttributes) + .addLocale(locale) + .build(); } private CharSequence getLabel() { - List attributes = labelAttributes; - if (linkUrl != null && linkUrl.length() > 0) { - if (attributes == null) { - attributes = new ArrayList(); - } else { - attributes = new ArrayList(attributes); - } - UrlStringAttribute uriStringAttribute = new UrlStringAttribute(); - uriStringAttribute.start = 0; - uriStringAttribute.end = label.length(); - uriStringAttribute.url = linkUrl; - uriStringAttribute.type = StringAttributeType.URL; - attributes.add(uriStringAttribute); - } - return createSpannableString(label, attributes); + return new AccessibilityStringBuilder() + .addString(label) + .addAttributes(labelAttributes) + .addUrl(linkUrl) + .addLocale(locale) + .build(); } private CharSequence getHint() { - return createSpannableString(hint, hintAttributes); + return new AccessibilityStringBuilder() + .addString(hint) + .addAttributes(hintAttributes) + .addLocale(locale) + .build(); } private CharSequence getValueLabelHint() { @@ -2894,41 +2904,6 @@ private CharSequence getTextFieldHint() { } return result; } - - private SpannableString createSpannableString(String string, List attributes) { - if (string == null) { - return null; - } - final SpannableString spannableString = new SpannableString(string); - if (attributes != null) { - for (StringAttribute attribute : attributes) { - switch (attribute.type) { - case SPELLOUT: - { - final TtsSpan ttsSpan = new TtsSpan.Builder<>(TtsSpan.TYPE_VERBATIM).build(); - spannableString.setSpan(ttsSpan, attribute.start, attribute.end, 0); - break; - } - case LOCALE: - { - LocaleStringAttribute localeAttribute = (LocaleStringAttribute) attribute; - Locale locale = Locale.forLanguageTag(localeAttribute.locale); - final LocaleSpan localeSpan = new LocaleSpan(locale); - spannableString.setSpan(localeSpan, attribute.start, attribute.end, 0); - break; - } - case URL: - { - UrlStringAttribute uriAttribute = (UrlStringAttribute) attribute; - final URLSpan urlSpan = new URLSpan(uriAttribute.url); - spannableString.setSpan(urlSpan, attribute.start, attribute.end, 0); - break; - } - } - } - } - return spannableString; - } } /** diff --git a/engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityStringBuilder.java b/engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityStringBuilder.java new file mode 100644 index 0000000000000..f6e0c93a5e973 --- /dev/null +++ b/engine/src/flutter/shell/platform/android/io/flutter/view/AccessibilityStringBuilder.java @@ -0,0 +1,113 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package io.flutter.view; + +import android.text.SpannableString; +import android.text.style.LocaleSpan; +import android.text.style.TtsSpan; +import android.text.style.URLSpan; +import java.util.List; +import java.util.Locale; + +/** + * Builds a string with accessibility related string spans. + * + *

Use {@code addLocale} to set the locale and/or {@code addUrl} to set the url for the entire + * string. Uses {@code addAttributes} to add any additional {@code StringAttribute} to the string + */ +public class AccessibilityStringBuilder { + // When adding a new StringAttributeType, the classes in these file must be + // updated as well. + // * engine/src/flutter/lib/ui/semantics.dart + // * engine/src/flutter/lib/web_ui/lib/semantics.dart + // * engine/src/flutter/lib/ui/semantics/string_attribute.h + + public enum StringAttributeType { + SPELLOUT, + LOCALE, + } + + public static class StringAttribute { + int start; + int end; + StringAttributeType type; + } + + public static class SpellOutStringAttribute extends StringAttribute {} + + public static class LocaleStringAttribute extends StringAttribute { + String locale; + } + + private static class UrlStringAttribute extends StringAttribute { + String url; + } + + AccessibilityStringBuilder() {} + + private String string; + private List attributes; + private String locale; + private String url; + + AccessibilityStringBuilder addString(String string) { + this.string = string; + return this; + } + + AccessibilityStringBuilder addAttributes(List attributes) { + this.attributes = attributes; + return this; + } + + AccessibilityStringBuilder addLocale(String locale) { + this.locale = locale; + return this; + } + + AccessibilityStringBuilder addUrl(String url) { + this.url = url; + return this; + } + + CharSequence build() { + if (string == null) { + return null; + } + final SpannableString spannableString = new SpannableString(string); + if (attributes != null) { + for (StringAttribute attribute : attributes) { + switch (attribute.type) { + case SPELLOUT: + { + final TtsSpan ttsSpan = new TtsSpan.Builder<>(TtsSpan.TYPE_VERBATIM).build(); + spannableString.setSpan(ttsSpan, attribute.start, attribute.end, 0); + break; + } + case LOCALE: + { + LocaleStringAttribute localeAttribute = (LocaleStringAttribute) attribute; + Locale locale = Locale.forLanguageTag(localeAttribute.locale); + final LocaleSpan localeSpan = new LocaleSpan(locale); + spannableString.setSpan(localeSpan, attribute.start, attribute.end, 0); + break; + } + } + } + } + if (url != null && !url.isEmpty()) { + final URLSpan urlSpan = new URLSpan(url); + spannableString.setSpan(urlSpan, 0, string.length(), 0); + } + + if (locale != null && !locale.isEmpty()) { + Locale localeObject = Locale.forLanguageTag(locale); + final LocaleSpan localeSpan = new LocaleSpan(localeObject); + spannableString.setSpan(localeSpan, 0, string.length(), 0); + } + + return spannableString; + } +} diff --git a/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.cc b/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.cc index 455428a214859..b03465bcf5bee 100644 --- a/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.cc +++ b/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.cc @@ -7,27 +7,27 @@ #include namespace flutter { - +namespace { void putStringAttributesIntoBuffer( const StringAttributes& attributes, - int32_t* buffer_int32, - size_t& position, + int32_t* buffer, + size_t* position, std::vector>& string_attribute_args) { if (attributes.empty()) { - buffer_int32[position++] = -1; + buffer[(*position)++] = PlatformViewAndroidDelegate::kEmptyStringIndex; return; } - buffer_int32[position++] = attributes.size(); + buffer[(*position)++] = attributes.size(); for (const auto& attribute : attributes) { - buffer_int32[position++] = attribute->start; - buffer_int32[position++] = attribute->end; - buffer_int32[position++] = static_cast(attribute->type); + buffer[(*position)++] = attribute->start; + buffer[(*position)++] = attribute->end; + buffer[(*position)++] = static_cast(attribute->type); switch (attribute->type) { case StringAttributeType::kSpellOut: - buffer_int32[position++] = -1; + buffer[(*position)++] = PlatformViewAndroidDelegate::kEmptyStringIndex; break; case StringAttributeType::kLocale: - buffer_int32[position++] = string_attribute_args.size(); + buffer[(*position)++] = string_attribute_args.size(); std::shared_ptr locale_attribute = std::static_pointer_cast(attribute); string_attribute_args.push_back( @@ -37,15 +37,27 @@ void putStringAttributesIntoBuffer( } } +void putStringIntoBuffer(const std::string& string, + int32_t* buffer, + size_t* position, + std::vector& strings) { + if (string.empty()) { + buffer[(*position)++] = PlatformViewAndroidDelegate::kEmptyStringIndex; + } else { + buffer[(*position)++] = strings.size(); + strings.push_back(string); + } +} + int64_t flagsToInt64(flutter::SemanticsFlags flags) { int64_t result = 0; - if (flags.hasCheckedState) { + if (flags.isChecked != flutter::SemanticsCheckState::kNone) { result |= (INT64_C(1) << 0); } - if (flags.isChecked) { + if (flags.isChecked == flutter::SemanticsCheckState::kTrue) { result |= (INT64_C(1) << 1); } - if (flags.isSelected) { + if (flags.isSelected == flutter::SemanticsTristate::kTrue) { result |= (INT64_C(1) << 2); } if (flags.isButton) { @@ -54,13 +66,13 @@ int64_t flagsToInt64(flutter::SemanticsFlags flags) { if (flags.isTextField) { result |= (INT64_C(1) << 4); } - if (flags.isFocused) { + if (flags.isFocused == flutter::SemanticsTristate::kTrue) { result |= (INT64_C(1) << 5); } - if (flags.hasEnabledState) { + if (flags.isEnabled != flutter::SemanticsTristate::kNone) { result |= (INT64_C(1) << 6); } - if (flags.isEnabled) { + if (flags.isEnabled == flutter::SemanticsTristate::kTrue) { result |= (INT64_C(1) << 7); } if (flags.isInMutuallyExclusiveGroup) { @@ -87,10 +99,10 @@ int64_t flagsToInt64(flutter::SemanticsFlags flags) { if (flags.isLiveRegion) { result |= (INT64_C(1) << 15); } - if (flags.hasToggledState) { + if (flags.isToggled != flutter::SemanticsTristate::kNone) { result |= (INT64_C(1) << 16); } - if (flags.isToggled) { + if (flags.isToggled == flutter::SemanticsTristate::kTrue) { result |= (INT64_C(1) << 17); } if (flags.hasImplicitScrolling) { @@ -102,7 +114,7 @@ int64_t flagsToInt64(flutter::SemanticsFlags flags) { if (flags.isReadOnly) { result |= (INT64_C(1) << 20); } - if (flags.isFocusable) { + if (flags.isFocused != flutter::SemanticsTristate::kNone) { result |= (INT64_C(1) << 21); } if (flags.isLink) { @@ -114,26 +126,27 @@ int64_t flagsToInt64(flutter::SemanticsFlags flags) { if (flags.isKeyboardKey) { result |= (INT64_C(1) << 24); } - if (flags.isCheckStateMixed) { + if (flags.isChecked == flutter::SemanticsCheckState::kMixed) { result |= (INT64_C(1) << 25); } - if (flags.hasExpandedState) { + if (flags.isExpanded != flutter::SemanticsTristate::kNone) { result |= (INT64_C(1) << 26); } - if (flags.isExpanded) { + if (flags.isExpanded == flutter::SemanticsTristate::kTrue) { result |= (INT64_C(1) << 27); } - if (flags.hasSelectedState) { + if (flags.isSelected != flutter::SemanticsTristate::kNone) { result |= (INT64_C(1) << 28); } - if (flags.hasRequiredState) { + if (flags.isRequired != flutter::SemanticsTristate::kNone) { result |= (INT64_C(1) << 29); } - if (flags.isRequired) { + if (flags.isRequired == flutter::SemanticsTristate::kTrue) { result |= (INT64_C(1) << 30); } return result; } +} // namespace PlatformViewAndroidDelegate::PlatformViewAndroidDelegate( std::shared_ptr jni_facade) @@ -198,73 +211,33 @@ void PlatformViewAndroidDelegate::UpdateSemantics( buffer_float32[position++] = static_cast(node.scrollExtentMax); buffer_float32[position++] = static_cast(node.scrollExtentMin); - if (node.identifier.empty()) { - buffer_int32[position++] = -1; - } else { - buffer_int32[position++] = strings.size(); - strings.push_back(node.identifier); - } - - if (node.label.empty()) { - buffer_int32[position++] = -1; - } else { - buffer_int32[position++] = strings.size(); - strings.push_back(node.label); - } + putStringIntoBuffer(node.identifier, buffer_int32, &position, strings); + putStringIntoBuffer(node.label, buffer_int32, &position, strings); putStringAttributesIntoBuffer(node.labelAttributes, buffer_int32, - position, string_attribute_args); - if (node.value.empty()) { - buffer_int32[position++] = -1; - } else { - buffer_int32[position++] = strings.size(); - strings.push_back(node.value); - } + &position, string_attribute_args); + putStringIntoBuffer(node.value, buffer_int32, &position, strings); putStringAttributesIntoBuffer(node.valueAttributes, buffer_int32, - position, string_attribute_args); - if (node.increasedValue.empty()) { - buffer_int32[position++] = -1; - } else { - buffer_int32[position++] = strings.size(); - strings.push_back(node.increasedValue); - } + &position, string_attribute_args); + putStringIntoBuffer(node.increasedValue, buffer_int32, &position, + strings); putStringAttributesIntoBuffer(node.increasedValueAttributes, buffer_int32, - position, string_attribute_args); - if (node.decreasedValue.empty()) { - buffer_int32[position++] = -1; - } else { - buffer_int32[position++] = strings.size(); - strings.push_back(node.decreasedValue); - } + &position, string_attribute_args); + putStringIntoBuffer(node.decreasedValue, buffer_int32, &position, + strings); putStringAttributesIntoBuffer(node.decreasedValueAttributes, buffer_int32, - position, string_attribute_args); - - if (node.hint.empty()) { - buffer_int32[position++] = -1; - } else { - buffer_int32[position++] = strings.size(); - strings.push_back(node.hint); - } - - putStringAttributesIntoBuffer(node.hintAttributes, buffer_int32, position, - string_attribute_args); + &position, string_attribute_args); - if (node.tooltip.empty()) { - buffer_int32[position++] = -1; - } else { - buffer_int32[position++] = strings.size(); - strings.push_back(node.tooltip); - } + putStringIntoBuffer(node.hint, buffer_int32, &position, strings); + putStringAttributesIntoBuffer(node.hintAttributes, buffer_int32, + &position, string_attribute_args); - if (node.linkUrl.empty()) { - buffer_int32[position++] = -1; - } else { - buffer_int32[position++] = strings.size(); - strings.push_back(node.linkUrl); - } + putStringIntoBuffer(node.tooltip, buffer_int32, &position, strings); + putStringIntoBuffer(node.linkUrl, buffer_int32, &position, strings); + putStringIntoBuffer(node.locale, buffer_int32, &position, strings); buffer_int32[position++] = node.textDirection; buffer_float32[position++] = node.rect.left(); @@ -304,18 +277,10 @@ void PlatformViewAndroidDelegate::UpdateSemantics( const flutter::CustomAccessibilityAction& action = value.second; actions_buffer_int32[actions_position++] = action.id; actions_buffer_int32[actions_position++] = action.overrideId; - if (action.label.empty()) { - actions_buffer_int32[actions_position++] = -1; - } else { - actions_buffer_int32[actions_position++] = action_strings.size(); - action_strings.push_back(action.label); - } - if (action.hint.empty()) { - actions_buffer_int32[actions_position++] = -1; - } else { - actions_buffer_int32[actions_position++] = action_strings.size(); - action_strings.push_back(action.hint); - } + putStringIntoBuffer(action.label, actions_buffer_int32, &actions_position, + action_strings); + putStringIntoBuffer(action.hint, actions_buffer_int32, &actions_position, + action_strings); } // Calling NewDirectByteBuffer in API level 22 and below with a size of zero diff --git a/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.h b/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.h index 67304e9d513c4..2ccbbae5a0b27 100644 --- a/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.h +++ b/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate.h @@ -16,11 +16,13 @@ namespace flutter { class PlatformViewAndroidDelegate { public: - static constexpr size_t kBytesPerNode = 50 * sizeof(int32_t); + static constexpr size_t kBytesPerNode = + 51 * sizeof(int32_t); // The # fields in SemanticsNode static constexpr size_t kBytesPerChild = sizeof(int32_t); static constexpr size_t kBytesPerCustomAction = sizeof(int32_t); static constexpr size_t kBytesPerAction = 4 * sizeof(int32_t); static constexpr size_t kBytesPerStringAttribute = 4 * sizeof(int32_t); + static constexpr int kEmptyStringIndex = -1; explicit PlatformViewAndroidDelegate( std::shared_ptr jni_facade); void UpdateSemantics( diff --git a/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate_unittests.cc b/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate_unittests.cc index e047380faca2a..75f4097a17827 100644 --- a/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate_unittests.cc +++ b/engine/src/flutter/shell/platform/android/platform_view_android_delegate/platform_view_android_delegate_unittests.cc @@ -60,6 +60,7 @@ TEST(PlatformViewShell, UpdateSemanticsDoesFlutterViewUpdateSemantics) { buffer_int32[position++] = expected_strings.size(); // node0.tooltip expected_strings.push_back(node0.tooltip); buffer_int32[position++] = -1; // node0.linkUrl + buffer_int32[position++] = -1; // node0.locale buffer_int32[position++] = node0.textDirection; buffer_float32[position++] = node0.rect.left(); buffer_float32[position++] = node0.rect.top(); @@ -77,7 +78,7 @@ TEST(PlatformViewShell, UpdateSemanticsDoesFlutterViewUpdateSemantics) { delegate->UpdateSemantics(update, actions); } -TEST(PlatformViewShell, UpdateSemanticsDoesUpdatelinkUrl) { +TEST(PlatformViewShell, UpdateSemanticsDoesUpdateLinkUrl) { auto jni_mock = std::make_shared(); auto delegate = std::make_unique(jni_mock); @@ -124,8 +125,76 @@ TEST(PlatformViewShell, UpdateSemanticsDoesUpdatelinkUrl) { buffer_int32[position++] = -1; // node0.hint buffer_int32[position++] = -1; // node0.hintAttributes buffer_int32[position++] = -1; // node0.tooltip - buffer_int32[position++] = expected_strings.size(); // node0.tooltip + buffer_int32[position++] = expected_strings.size(); // node0.linkUrl expected_strings.push_back(node0.linkUrl); + buffer_int32[position++] = -1; // node0.locale + buffer_int32[position++] = node0.textDirection; + buffer_float32[position++] = node0.rect.left(); + buffer_float32[position++] = node0.rect.top(); + buffer_float32[position++] = node0.rect.right(); + buffer_float32[position++] = node0.rect.bottom(); + node0.transform.getColMajor(&buffer_float32[position]); + position += 16; + buffer_int32[position++] = 0; // node0.childrenInTraversalOrder.size(); + buffer_int32[position++] = 0; // node0.customAccessibilityActions.size(); + EXPECT_CALL(*jni_mock, + FlutterViewUpdateSemantics(expected_buffer, expected_strings, + expected_string_attribute_args)); + // Creates empty custom actions. + flutter::CustomAccessibilityActionUpdates actions; + delegate->UpdateSemantics(update, actions); +} + +TEST(PlatformViewShell, UpdateSemanticsDoesUpdateLocale) { + auto jni_mock = std::make_shared(); + auto delegate = std::make_unique(jni_mock); + + flutter::SemanticsNodeUpdates update; + flutter::SemanticsNode node0; + node0.id = 0; + node0.identifier = "identifier"; + node0.label = "label"; + node0.locale = "es-MX"; + update.insert(std::make_pair(0, node0)); + + std::vector expected_buffer( + PlatformViewAndroidDelegate::kBytesPerNode); + std::vector> expected_string_attribute_args(0); + size_t position = 0; + int32_t* buffer_int32 = reinterpret_cast(&expected_buffer[0]); + float* buffer_float32 = reinterpret_cast(&expected_buffer[0]); + std::vector expected_strings; + buffer_int32[position++] = node0.id; + std::memcpy(&buffer_int32[position], &node0.flags, 2); + position += 2; + buffer_int32[position++] = node0.actions; + buffer_int32[position++] = node0.maxValueLength; + buffer_int32[position++] = node0.currentValueLength; + buffer_int32[position++] = node0.textSelectionBase; + buffer_int32[position++] = node0.textSelectionExtent; + buffer_int32[position++] = node0.platformViewId; + buffer_int32[position++] = node0.scrollChildren; + buffer_int32[position++] = node0.scrollIndex; + buffer_float32[position++] = static_cast(node0.scrollPosition); + buffer_float32[position++] = static_cast(node0.scrollExtentMax); + buffer_float32[position++] = static_cast(node0.scrollExtentMin); + buffer_int32[position++] = expected_strings.size(); // node0.identifier + expected_strings.push_back(node0.identifier); + buffer_int32[position++] = expected_strings.size(); // node0.label + expected_strings.push_back(node0.label); + buffer_int32[position++] = -1; // node0.labelAttributes + buffer_int32[position++] = -1; // node0.value + buffer_int32[position++] = -1; // node0.valueAttributes + buffer_int32[position++] = -1; // node0.increasedValue + buffer_int32[position++] = -1; // node0.increasedValueAttributes + buffer_int32[position++] = -1; // node0.decreasedValue + buffer_int32[position++] = -1; // node0.decreasedValueAttributes + buffer_int32[position++] = -1; // node0.hint + buffer_int32[position++] = -1; // node0.hintAttributes + buffer_int32[position++] = -1; // node0.tooltip + buffer_int32[position++] = -1; // node0.linkUrl + buffer_int32[position++] = expected_strings.size(); + expected_strings.push_back(node0.locale); // node0.locale buffer_int32[position++] = node0.textDirection; buffer_float32[position++] = node0.rect.left(); buffer_float32[position++] = node0.rect.top(); @@ -219,6 +288,7 @@ TEST(PlatformViewShell, {locale_attribute->locale.begin(), locale_attribute->locale.end()}); buffer_int32[position++] = -1; // node0.tooltip buffer_int32[position++] = -1; // node0.linkUrl + buffer_int32[position++] = -1; // node0.locale buffer_int32[position++] = node0.textDirection; buffer_float32[position++] = node0.rect.left(); buffer_float32[position++] = node0.rect.top(); diff --git a/engine/src/flutter/shell/platform/android/platform_view_android_jni_impl.cc b/engine/src/flutter/shell/platform/android/platform_view_android_jni_impl.cc index b2ed47f64f27c..80dcf7458f36e 100644 --- a/engine/src/flutter/shell/platform/android/platform_view_android_jni_impl.cc +++ b/engine/src/flutter/shell/platform/android/platform_view_android_jni_impl.cc @@ -367,27 +367,38 @@ static void SetViewportMetrics(JNIEnv* env, env->GetIntArrayRegion(javaDisplayFeaturesState, 0, stateSize, &displayFeaturesState[0]); + // TODO(boetger): update for https://github.com/flutter/flutter/issues/149033 const flutter::ViewportMetrics metrics{ - static_cast(devicePixelRatio), - static_cast(physicalWidth), - static_cast(physicalHeight), - static_cast(physicalPaddingTop), - static_cast(physicalPaddingRight), - static_cast(physicalPaddingBottom), - static_cast(physicalPaddingLeft), - static_cast(physicalViewInsetTop), - static_cast(physicalViewInsetRight), - static_cast(physicalViewInsetBottom), - static_cast(physicalViewInsetLeft), - static_cast(systemGestureInsetTop), - static_cast(systemGestureInsetRight), - static_cast(systemGestureInsetBottom), - static_cast(systemGestureInsetLeft), - static_cast(physicalTouchSlop), - displayFeaturesBounds, - displayFeaturesType, - displayFeaturesState, - 0, // Display ID + static_cast(devicePixelRatio), // p_device_pixel_ratio + static_cast(physicalWidth), // p_physical_width + static_cast(physicalHeight), // p_physical_height + static_cast(physicalWidth), // p_physical_min_width_constraint + static_cast(physicalWidth), // p_physical_max_width_constraint + static_cast(physicalHeight), // p_physical_min_height_constraint + static_cast(physicalHeight), // p_physical_max_height_constraint + static_cast(physicalPaddingTop), // p_physical_padding_top + static_cast(physicalPaddingRight), // p_physical_padding_right + static_cast(physicalPaddingBottom), // p_physical_padding_bottom + static_cast(physicalPaddingLeft), // p_physical_padding_left + static_cast(physicalViewInsetTop), // p_physical_view_inset_top + static_cast( + physicalViewInsetRight), // p_physical_view_inset_right + static_cast( + physicalViewInsetBottom), // p_physical_view_inset_bottom + static_cast(physicalViewInsetLeft), // p_physical_view_inset_left + static_cast( + systemGestureInsetTop), // p_physical_system_gesture_inset_top + static_cast( + systemGestureInsetRight), // p_physical_system_gesture_inset_right + static_cast( + systemGestureInsetBottom), // p_physical_system_gesture_inset_bottom + static_cast( + systemGestureInsetLeft), // p_physical_system_gesture_inset_left + static_cast(physicalTouchSlop), // p_physical_touch_slop + displayFeaturesBounds, // p_physical_display_features_bounds + displayFeaturesType, // p_physical_display_features_type + displayFeaturesState, // p_physical_display_features_state + 0, // p_display_id }; ANDROID_SHELL_HOLDER->GetPlatformView()->SetViewportMetrics( diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/FlutterInjectorTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/FlutterInjectorTest.java index eb322eae74ccc..09c16b7a5ce8c 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/FlutterInjectorTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/FlutterInjectorTest.java @@ -61,17 +61,12 @@ public void executorCreatesAndNamesNewThreadsByDefault() List> callables = Arrays.asList( - () -> { - return Thread.currentThread().getName(); - }, - () -> { - return Thread.currentThread().getName(); - }); + () -> Thread.currentThread().getName(), () -> Thread.currentThread().getName()); List> threadNames; threadNames = injector.executorService().invokeAll(callables); - assertEquals(threadNames.size(), 2); + assertEquals(2, threadNames.size()); for (Future name : threadNames) { assertTrue(name.get().startsWith("flutter-worker-")); } @@ -109,9 +104,8 @@ public void cannotBeChangedOnceRead() { assertThrows( IllegalStateException.class, - () -> { - FlutterInjector.setInstance( - new FlutterInjector.Builder().setFlutterLoader(mockFlutterLoader).build()); - }); + () -> + FlutterInjector.setInstance( + new FlutterInjector.Builder().setFlutterLoader(mockFlutterLoader).build())); } } diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/dart/DartExecutorTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/dart/DartExecutorTest.java index bafb501770a7d..bac8a61a49413 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/dart/DartExecutorTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/dart/DartExecutorTest.java @@ -49,7 +49,7 @@ public void itSendsBinaryMessages() { assertNotNull(dartExecutor.getBinaryMessenger()); // Execute the behavior under test. - ByteBuffer fakeMessage = mock(ByteBuffer.class); + ByteBuffer fakeMessage = ByteBuffer.allocate(0); dartExecutor.getBinaryMessenger().send("fake_channel", fakeMessage); // Verify that DartExecutor sent our message to FlutterJNI. diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/dart/DartMessengerTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/dart/DartMessengerTest.java index b2ba29e2a2949..c5ed3e7395e6f 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/dart/DartMessengerTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/dart/DartMessengerTest.java @@ -89,9 +89,7 @@ public void givesDirectByteBuffer() { final String channel = "foobar"; final boolean[] wasDirect = {false}; final BinaryMessenger.BinaryMessageHandler handler = - (message, reply) -> { - wasDirect[0] = message.isDirect(); - }; + (message, reply) -> wasDirect[0] = message.isDirect(); BinaryMessenger.TaskQueue taskQueue = messenger.makeBackgroundTaskQueue(); messenger.setMessageHandler(channel, handler, taskQueue); final ByteBuffer message = ByteBuffer.allocateDirect(4 * 2); @@ -175,9 +173,7 @@ public void cleansUpMessageData() throws InterruptedException { BinaryMessenger.TaskQueue taskQueue = messenger.makeBackgroundTaskQueue(); String channel = "foobar"; BinaryMessenger.BinaryMessageHandler handler = - (ByteBuffer message, BinaryMessenger.BinaryReply reply) -> { - reply.reply(null); - }; + (ByteBuffer message, BinaryMessenger.BinaryReply reply) -> reply.reply(null); messenger.setMessageHandler(channel, handler, taskQueue); final ByteBuffer message = ByteBuffer.allocateDirect(4 * 2); final int replyId = 1; @@ -239,9 +235,8 @@ public void buffersResponseWhenHandlerIsNotSet() throws InterruptedException { verify(fakeFlutterJni, never()).invokePlatformMessageEmptyResponseCallback(eq(replyId)); final BinaryMessenger.BinaryMessageHandler handler = - (ByteBuffer msg, BinaryMessenger.BinaryReply reply) -> { - reply.reply(ByteBuffer.wrap("done".getBytes())); - }; + (ByteBuffer msg, BinaryMessenger.BinaryReply reply) -> + reply.reply(ByteBuffer.wrap("done".getBytes())); messenger.setMessageHandler(channel, handler, taskQueue); shadowOf(getMainLooper()).idle(); @@ -292,9 +287,8 @@ public void emptyResponseWhenHandlerIsUnregistered() throws InterruptedException verify(fakeFlutterJni, never()).invokePlatformMessageEmptyResponseCallback(eq(replyId)); final BinaryMessenger.BinaryMessageHandler handler = - (ByteBuffer msg, BinaryMessenger.BinaryReply reply) -> { - reply.reply(ByteBuffer.wrap("done".getBytes())); - }; + (ByteBuffer msg, BinaryMessenger.BinaryReply reply) -> + reply.reply(ByteBuffer.wrap("done".getBytes())); messenger.setMessageHandler(channel, handler, taskQueue); shadowOf(getMainLooper()).idle(); @@ -344,10 +338,7 @@ public void testSerialTaskQueue() throws InterruptedException { }); } CountDownLatch latch = new CountDownLatch(1); - taskQueue.dispatch( - () -> { - latch.countDown(); - }); + taskQueue.dispatch(latch::countDown); latch.await(); assertEquals(count, ints.size()); for (int i = 0; i < count - 1; ++i) { diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/loader/FlutterLoaderTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/loader/FlutterLoaderTest.java index fba45f0f1726d..eff98068a1e39 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/loader/FlutterLoaderTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/loader/FlutterLoaderTest.java @@ -13,10 +13,14 @@ import static org.mockito.Mockito.anyInt; import static org.mockito.Mockito.anyLong; import static org.mockito.Mockito.anyString; +import static org.mockito.Mockito.clearInvocations; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; import static org.robolectric.Shadows.shadowOf; import android.app.ActivityManager; @@ -26,6 +30,11 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import io.flutter.embedding.engine.FlutterJNI; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import java.util.concurrent.Callable; @@ -399,4 +408,315 @@ public void itSetsShaderInitModeFromMetaData() { List arguments = Arrays.asList(shellArgsCaptor.getValue()); assertTrue(arguments.contains(shaderModeArg)); } -} + + @Test + public void itSetsAotSharedLibraryNameIfPathIsInInternalStorage() throws IOException { + FlutterJNI mockFlutterJNI = mock(FlutterJNI.class); + FlutterLoader flutterLoader = spy(new FlutterLoader(mockFlutterJNI)); + Context mockApplicationContext = mock(Context.class); + File internalStorageDir = ctx.getFilesDir(); + Path internalStorageDirAsPathObj = internalStorageDir.toPath(); + + ctx.getApplicationInfo().nativeLibraryDir = + Paths.get("some", "path", "doesnt", "matter").toString(); + assertFalse(flutterLoader.initialized()); + flutterLoader.startInitialization(ctx); + + // Test paths for library living within internal storage. + String librarySoFileName = "library.so"; + Path pathWithDirectInternalStoragePath = internalStorageDirAsPathObj.resolve(librarySoFileName); + Path pathWithNestedInternalStoragePath = + internalStorageDirAsPathObj.resolve(Paths.get("some", "directories", librarySoFileName)); + Path pathWithIndirectInternalStoragePath1 = + internalStorageDirAsPathObj.resolve(Paths.get("someDirectory", "..", librarySoFileName)); + Path pathWithIndirectInternalStoragePath2 = + internalStorageDirAsPathObj.resolve( + Paths.get("some", "directory", "..", "..", librarySoFileName)); + Path pathWithIndirectInternalStoragePath3 = + internalStorageDirAsPathObj.resolve( + Paths.get("some", "directory", "..", librarySoFileName)); + + Path[] pathsToTest = { + pathWithDirectInternalStoragePath, + pathWithNestedInternalStoragePath, + pathWithIndirectInternalStoragePath1, + pathWithIndirectInternalStoragePath2, + pathWithIndirectInternalStoragePath3 + }; + + for (Path testPath : pathsToTest) { + String path = testPath.toString(); + String aotSharedLibraryNameArg = FlutterLoader.aotSharedLibraryNameFlag + path; + String[] args = {aotSharedLibraryNameArg}; + flutterLoader.ensureInitializationComplete(ctx, args); + + ArgumentCaptor shellArgsCaptor = ArgumentCaptor.forClass(String[].class); + verify(mockFlutterJNI) + .init( + eq(ctx), + shellArgsCaptor.capture(), + anyString(), + anyString(), + anyString(), + anyLong(), + anyInt()); + + List actualArgs = Arrays.asList(shellArgsCaptor.getValue()); + + // This check works because the tests run in debug mode. If run in release (or JIT release) + // mode, actualArgs would contain the default arguments for AOT shared library name on top + // of aotSharedLibraryNameArg. + String canonicalTestPath = testPath.toFile().getCanonicalPath(); + String canonicalAotSharedLibraryNameArg = + FlutterLoader.aotSharedLibraryNameFlag + canonicalTestPath; + assertTrue( + "Args sent to FlutterJni.init incorrectly did not include path " + path, + actualArgs.contains(canonicalAotSharedLibraryNameArg)); + + // Reset FlutterLoader and mockFlutterJNI to make more calls to + // FlutterLoader.ensureInitialized and mockFlutterJNI.init for testing. + flutterLoader.initialized = false; + clearInvocations(mockFlutterJNI); + } + } + + @Test + public void itDoesNotSetAotSharedLibraryNameIfPathOutsideInternalStorage() throws IOException { + FlutterJNI mockFlutterJNI = mock(FlutterJNI.class); + FlutterLoader flutterLoader = spy(new FlutterLoader(mockFlutterJNI)); + Context mockApplicationContext = mock(Context.class); + File internalStorageDir = ctx.getFilesDir(); + Path internalStorageDirAsPathObj = internalStorageDir.toPath(); + String internalStorageDirPath = internalStorageDir.getCanonicalPath(); + + ctx.getApplicationInfo().nativeLibraryDir = + Paths.get("some", "path", "doesnt", "matter").toString(); + assertFalse(flutterLoader.initialized()); + flutterLoader.startInitialization(ctx); + + // Test paths for library living outside internal storage. + String librarySoFileName = "library.so"; + Path pathThatIsCompletelyUnrelated = Paths.get("please", "do", "fail"); + Path pathWithIndirectOutsideInternalStorage = + internalStorageDirAsPathObj.resolve(Paths.get("..", librarySoFileName)); + Path pathWithMoreIndirectOutsideInternalStorage = + internalStorageDirAsPathObj.resolve( + Paths.get("some", "directory", "..", "..", "..", librarySoFileName)); + Path pathWithoutSoFile = + internalStorageDirAsPathObj.resolve(Paths.get("library.somethingElse")); + Path pathWithPartialInternalStoragePath = + internalStorageDirAsPathObj.getParent().resolve(librarySoFileName); + String sneakyDirectoryName = + internalStorageDirAsPathObj.getFileName().toString() + "extraChars"; + Path pathWithSneakyPartialInternalStoragePath = + internalStorageDirAsPathObj.resolve( + Paths.get("..", sneakyDirectoryName, librarySoFileName)); + + Path[] pathsToTest = { + pathThatIsCompletelyUnrelated, + pathWithIndirectOutsideInternalStorage, + pathWithMoreIndirectOutsideInternalStorage, + pathWithoutSoFile, + pathWithPartialInternalStoragePath, + pathWithSneakyPartialInternalStoragePath + }; + + for (Path testPath : pathsToTest) { + String path = testPath.toString(); + String aotSharedLibraryNameArg = FlutterLoader.aotSharedLibraryNameFlag + path; + String[] args = {aotSharedLibraryNameArg}; + flutterLoader.ensureInitializationComplete(ctx, args); + + ArgumentCaptor shellArgsCaptor = ArgumentCaptor.forClass(String[].class); + verify(mockFlutterJNI) + .init( + eq(ctx), + shellArgsCaptor.capture(), + anyString(), + anyString(), + anyString(), + anyLong(), + anyInt()); + + List actualArgs = Arrays.asList(shellArgsCaptor.getValue()); + + // This check works because the tests run in debug mode. If run in release (or JIT release) + // mode, actualArgs would contain the default arguments for AOT shared library name on top + // of aotSharedLibraryNameArg. + String canonicalTestPath = testPath.toFile().getCanonicalPath(); + String canonicalAotSharedLibraryNameArg = + FlutterLoader.aotSharedLibraryNameFlag + canonicalTestPath; + assertFalse( + "Args sent to FlutterJni.init incorrectly included canonical path " + canonicalTestPath, + actualArgs.contains(canonicalAotSharedLibraryNameArg)); + + // Reset FlutterLoader and mockFlutterJNI to make more calls to + // FlutterLoader.ensureInitialized and mockFlutterJNI.init for testing. + flutterLoader.initialized = false; + clearInvocations(mockFlutterJNI); + } + } + + @Test + public void itDoesNotSetAotSharedLibraryNameIfPathIsInvalid() throws IOException { + FlutterJNI mockFlutterJNI = mock(FlutterJNI.class); + FlutterLoader flutterLoader = spy(new FlutterLoader(mockFlutterJNI)); + Context mockApplicationContext = mock(Context.class); + File internalStorageDir = ctx.getFilesDir(); + Path internalStorageDirAsPathObj = internalStorageDir.toPath(); + + ctx.getApplicationInfo().nativeLibraryDir = + Paths.get("some", "path", "doesnt", "matter").toString(); + assertFalse(flutterLoader.initialized()); + flutterLoader.startInitialization(ctx); + + String invalidFilePath = "my\0file.so"; + + String[] args = {FlutterLoader.aotSharedLibraryNameFlag + invalidFilePath}; + flutterLoader.ensureInitializationComplete(ctx, args); + + ArgumentCaptor shellArgsCaptor = ArgumentCaptor.forClass(String[].class); + verify(mockFlutterJNI) + .init( + eq(ctx), + shellArgsCaptor.capture(), + anyString(), + anyString(), + anyString(), + anyLong(), + anyInt()); + + List actualArgs = Arrays.asList(shellArgsCaptor.getValue()); + + // This check works because the tests run in debug mode. If run in release (or JIT release) + // mode, actualArgs would contain the default arguments for AOT shared library name on top + // of aotSharedLibraryNameArg. + for (String arg : actualArgs) { + if (arg.startsWith(FlutterLoader.aotSharedLibraryNameFlag)) { + fail(); + } + } + } + + @Test + public void itSetsAotSharedLibraryNameAsExpectedIfSymlinkPointsToInternalStorage() + throws IOException { + FlutterJNI mockFlutterJNI = mock(FlutterJNI.class); + FlutterLoader flutterLoader = spy(new FlutterLoader(mockFlutterJNI)); + Context mockApplicationContext = mock(Context.class); + File internalStorageDir = ctx.getFilesDir(); + Path internalStorageDirAsPathObj = internalStorageDir.toPath(); + + ctx.getApplicationInfo().nativeLibraryDir = + Paths.get("some", "path", "doesnt", "matter").toString(); + assertFalse(flutterLoader.initialized()); + flutterLoader.startInitialization(ctx); + + File realSoFile = File.createTempFile("real", ".so", internalStorageDir); + File spySymlinkFile = spy(new File(internalStorageDir, "symlink_to_real.so")); + Files.deleteIfExists(spySymlinkFile.toPath()); + + // Simulate a symlink since some filesystems do not support symlinks. + when(flutterLoader.getFileFromPath(spySymlinkFile.getPath())).thenReturn(spySymlinkFile); + doReturn(realSoFile.getCanonicalPath()).when(spySymlinkFile).getCanonicalPath(); + + String symlinkArg = FlutterLoader.aotSharedLibraryNameFlag + spySymlinkFile.getPath(); + String[] args = {symlinkArg}; + flutterLoader.ensureInitializationComplete(ctx, args); + + ArgumentCaptor shellArgsCaptor = ArgumentCaptor.forClass(String[].class); + verify(mockFlutterJNI) + .init( + eq(ctx), + shellArgsCaptor.capture(), + anyString(), + anyString(), + anyString(), + anyLong(), + anyInt()); + + List actualArgs = Arrays.asList(shellArgsCaptor.getValue()); + + String canonicalSymlinkCanonicalizedPath = realSoFile.getCanonicalPath(); + String canonicalAotSharedLibraryNameArg = + FlutterLoader.aotSharedLibraryNameFlag + canonicalSymlinkCanonicalizedPath; + assertFalse( + "Args sent to FlutterJni.init incorrectly included absolute symlink path: " + + spySymlinkFile.getAbsolutePath(), + actualArgs.contains(symlinkArg)); + assertTrue( + "Args sent to FlutterJni.init incorrectly did not include canonicalized path of symlink: " + + canonicalSymlinkCanonicalizedPath, + actualArgs.contains(canonicalAotSharedLibraryNameArg)); + + // Clean up created files. + spySymlinkFile.delete(); + realSoFile.delete(); + } + + @Test + public void itSetsAotSharedLibraryNameAsExpectedIfSymlinkIsNotSafe() throws IOException { + FlutterJNI mockFlutterJNI = mock(FlutterJNI.class); + FlutterLoader flutterLoader = spy(new FlutterLoader(mockFlutterJNI)); + Context mockApplicationContext = mock(Context.class); + File internalStorageDir = ctx.getFilesDir(); + Path internalStorageDirAsPathObj = internalStorageDir.toPath(); + + ctx.getApplicationInfo().nativeLibraryDir = + Paths.get("some", "path", "doesnt", "matter").toString(); + assertFalse(flutterLoader.initialized()); + flutterLoader.startInitialization(ctx); + + File nonSoFile = File.createTempFile("real", ".somethingElse", internalStorageDir); + File fileJustOutsideInternalStorage = + new File(internalStorageDir.getParentFile(), "not_in_internal_storage.so"); + File spySymlinkFile = spy(new File(internalStorageDir, "symlink.so")); + List unsafeFiles = Arrays.asList(nonSoFile, fileJustOutsideInternalStorage); + Files.deleteIfExists(spySymlinkFile.toPath()); + + String symlinkArg = FlutterLoader.aotSharedLibraryNameFlag + spySymlinkFile.getAbsolutePath(); + String[] args = {symlinkArg}; + + for (File unsafeFile : unsafeFiles) { + // Simulate a symlink since some filesystems do not support symlinks. + when(flutterLoader.getFileFromPath(spySymlinkFile.getPath())).thenReturn(spySymlinkFile); + doReturn(unsafeFile.getCanonicalPath()).when(spySymlinkFile).getCanonicalPath(); + + flutterLoader.ensureInitializationComplete(ctx, args); + + ArgumentCaptor shellArgsCaptor = ArgumentCaptor.forClass(String[].class); + verify(mockFlutterJNI) + .init( + eq(ctx), + shellArgsCaptor.capture(), + anyString(), + anyString(), + anyString(), + anyLong(), + anyInt()); + + List actualArgs = Arrays.asList(shellArgsCaptor.getValue()); + + String canonicalSymlinkCanonicalizedPath = unsafeFile.getCanonicalPath(); + String canonicalAotSharedLibraryNameArg = + FlutterLoader.aotSharedLibraryNameFlag + canonicalSymlinkCanonicalizedPath; + assertFalse( + "Args sent to FlutterJni.init incorrectly included canonicalized path of symlink: " + + canonicalSymlinkCanonicalizedPath, + actualArgs.contains(canonicalAotSharedLibraryNameArg)); + assertFalse( + "Args sent to FlutterJni.init incorrectly included absolute path of symlink: " + + spySymlinkFile.getAbsolutePath(), + actualArgs.contains(symlinkArg)); + + // Clean up created files. + spySymlinkFile.delete(); + unsafeFile.delete(); + + // Reset FlutterLoader and mockFlutterJNI to make more calls to + // FlutterLoader.ensureInitialized and mockFlutterJNI.init for testing. + flutterLoader.initialized = false; + clearInvocations(mockFlutterJNI); + } + } +} \ No newline at end of file diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorViewTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorViewTest.java index d56393026daf3..57122e4ec3d7e 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorViewTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/mutatorsstack/FlutterMutatorViewTest.java @@ -46,7 +46,7 @@ public void canDragViews() { final Matrix screenMatrix = new Matrix(); screenMatrix.postTranslate(1, 2); - assertTrue(matrixCaptor.getValue().equals(screenMatrix)); + assertEquals(matrixCaptor.getValue(), screenMatrix); } reset(touchProcessor); @@ -59,7 +59,7 @@ public void canDragViews() { final Matrix screenMatrix = new Matrix(); screenMatrix.postTranslate(1, 2); - assertTrue(matrixCaptor.getValue().equals(screenMatrix)); + assertEquals(matrixCaptor.getValue(), screenMatrix); } reset(touchProcessor); @@ -72,7 +72,7 @@ public void canDragViews() { final Matrix screenMatrix = new Matrix(); screenMatrix.postTranslate(3, 4); - assertTrue(matrixCaptor.getValue().equals(screenMatrix)); + assertEquals(matrixCaptor.getValue(), screenMatrix); } reset(touchProcessor); @@ -85,7 +85,7 @@ public void canDragViews() { final Matrix screenMatrix = new Matrix(); screenMatrix.postTranslate(7, 8); - assertTrue(matrixCaptor.getValue().equals(screenMatrix)); + assertEquals(matrixCaptor.getValue(), screenMatrix); } } diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/systemchannels/KeyEventChannelTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/systemchannels/KeyEventChannelTest.java index c3fe533ae9c1e..f5b5c18780e17 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/systemchannels/KeyEventChannelTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/embedding/engine/systemchannels/KeyEventChannelTest.java @@ -60,11 +60,7 @@ public void keyDownEventIsSentToFramework() throws JSONException { KeyEventChannel.FlutterKeyEvent flutterKeyEvent = new KeyEventChannel.FlutterKeyEvent(keyEvent, null); keyEventChannel.sendFlutterKeyEvent( - flutterKeyEvent, - false, - (isHandled) -> { - handled[0] = isHandled; - }); + flutterKeyEvent, false, (isHandled) -> handled[0] = isHandled); ArgumentCaptor byteBufferArgumentCaptor = ArgumentCaptor.forClass(ByteBuffer.class); ArgumentCaptor replyArgumentCaptor = @@ -88,11 +84,7 @@ public void keyUpEventIsSentToFramework() throws JSONException { KeyEventChannel.FlutterKeyEvent flutterKeyEvent = new KeyEventChannel.FlutterKeyEvent(keyEvent, null); keyEventChannel.sendFlutterKeyEvent( - flutterKeyEvent, - false, - (isHandled) -> { - handled[0] = isHandled; - }); + flutterKeyEvent, false, (isHandled) -> handled[0] = isHandled); ArgumentCaptor byteBufferArgumentCaptor = ArgumentCaptor.forClass(ByteBuffer.class); ArgumentCaptor replyArgumentCaptor = diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ScribePluginTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ScribePluginTest.java index 386c75a35c79f..8b77cc79cc9ae 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ScribePluginTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/ScribePluginTest.java @@ -5,9 +5,10 @@ package io.flutter.plugin.editing; import static io.flutter.Build.API_LEVELS; -import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThrows; +import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -48,7 +49,7 @@ public void setUp() { @TargetApi(API_LEVELS.API_34) @Test public void scribePluginIsFeatureAvailable() { - assertEquals(scribePlugin.isFeatureAvailable(), true); + assertTrue(scribePlugin.isFeatureAvailable()); verify(mockImm).isStylusHandwritingAvailable(); } @@ -57,7 +58,7 @@ public void scribePluginIsFeatureAvailable() { @TargetApi(API_LEVELS.API_34) @Test public void scribePluginIsStylusHandwritingAvailable() { - assertEquals(scribePlugin.isStylusHandwritingAvailable(), true); + assertTrue(scribePlugin.isStylusHandwritingAvailable()); verify(mockImm).isStylusHandwritingAvailable(); } @@ -77,18 +78,14 @@ public void scribePluginStartStylusHandwriting() { public void scribePluginStartStylusHandwritingWhenAPILevelUnsupported() { assertNotNull(scribePlugin); - assertThrows( - NoSuchMethodError.class, - () -> { - scribePlugin.startStylusHandwriting(); - }); + assertThrows(NoSuchMethodError.class, () -> scribePlugin.startStylusHandwriting()); } @Config(sdk = API_LEVELS.API_33) @TargetApi(API_LEVELS.API_33) @Test public void scribePluginIsFeatureAvailableWhenAPILevelUnsupported() { - assertEquals(scribePlugin.isFeatureAvailable(), false); + assertFalse(scribePlugin.isFeatureAvailable()); } @Config(sdk = API_LEVELS.API_33) @@ -97,10 +94,6 @@ public void scribePluginIsFeatureAvailableWhenAPILevelUnsupported() { public void scribePluginIsStylusHandwritingAvailableWhenAPILevelUnsupported() { assertNotNull(scribePlugin); - assertThrows( - NoSuchMethodError.class, - () -> { - scribePlugin.isStylusHandwritingAvailable(); - }); + assertThrows(NoSuchMethodError.class, () -> scribePlugin.isStylusHandwritingAvailable()); } } diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java index d84bf6b65ffa5..bfe87a7e0fdd4 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/editing/TextInputPluginTest.java @@ -189,7 +189,7 @@ public void setTextInputEditingState_doesNotInvokeUpdateEditingState() { textInputPlugin.setTextInputEditingState( testView, new TextInputChannel.TextEditState("initial input from framework", 0, 0, -1, -1)); - assertTrue(textInputPlugin.getEditable().toString().equals("initial input from framework")); + assertEquals("initial input from framework", textInputPlugin.getEditable().toString()); verify(textInputChannel, times(0)) .updateEditingState(anyInt(), any(), anyInt(), anyInt(), anyInt(), anyInt()); @@ -198,7 +198,7 @@ public void setTextInputEditingState_doesNotInvokeUpdateEditingState() { testView, new TextInputChannel.TextEditState("more update from the framework", 1, 2, -1, -1)); - assertTrue(textInputPlugin.getEditable().toString().equals("more update from the framework")); + assertEquals("more update from the framework", textInputPlugin.getEditable().toString()); verify(textInputChannel, times(0)) .updateEditingState(anyInt(), any(), anyInt(), anyInt(), anyInt(), anyInt()); } @@ -223,7 +223,7 @@ public void setTextInputEditingState_willNotThrowWithoutSetTextInputClient() { // Here's no textInputPlugin.setTextInputClient() textInputPlugin.setTextInputEditingState( testView, new TextInputChannel.TextEditState("initial input from framework", 0, 0, -1, -1)); - assertTrue(textInputPlugin.getEditable().toString().equals("initial input from framework")); + assertEquals("initial input from framework", textInputPlugin.getEditable().toString()); } @Test @@ -262,8 +262,8 @@ public void setTextInputEditingState_doesNotInvokeUpdateEditingStateWithDeltas() textInputPlugin.setTextInputEditingState( testView, new TextInputChannel.TextEditState("receiving initial input from framework", 0, 0, -1, -1)); - assertTrue( - textInputPlugin.getEditable().toString().equals("receiving initial input from framework")); + assertEquals( + "receiving initial input from framework", textInputPlugin.getEditable().toString()); verify(textInputChannel, times(0)).updateEditingStateWithDeltas(anyInt(), any()); @@ -272,11 +272,8 @@ public void setTextInputEditingState_doesNotInvokeUpdateEditingStateWithDeltas() new TextInputChannel.TextEditState( "receiving more updates from the framework", 1, 2, -1, -1)); - assertTrue( - textInputPlugin - .getEditable() - .toString() - .equals("receiving more updates from the framework")); + assertEquals( + "receiving more updates from the framework", textInputPlugin.getEditable().toString()); verify(textInputChannel, times(0)).updateEditingStateWithDeltas(anyInt(), any()); } @@ -382,8 +379,8 @@ public void textEditingDelta_TestUpdateEditingValueWithDeltasIsNotInvokedWhenDel // updateEditingStateWithDeltas after the batch edit has completed and notified all listeners // of the editing state. inputConnection.setSelection(3, 4); - assertEquals(Selection.getSelectionStart(textInputPlugin.getEditable()), 3); - assertEquals(Selection.getSelectionEnd(textInputPlugin.getEditable()), 4); + assertEquals(3, Selection.getSelectionStart(textInputPlugin.getEditable())); + assertEquals(4, Selection.getSelectionEnd(textInputPlugin.getEditable())); verify(textInputChannel, times(0)).updateEditingStateWithDeltas(anyInt(), any()); verify(textInputChannel, times(1)) @@ -518,8 +515,8 @@ public void textEditingDelta_TestUpdateEditingValueIsNotInvokedWhenDeltaModelEna // updateEditingStateWithDeltas after the batch edit has completed and notified all listeners // of the editing state. inputConnection.setSelection(3, 4); - assertEquals(Selection.getSelectionStart(textInputPlugin.getEditable()), 3); - assertEquals(Selection.getSelectionEnd(textInputPlugin.getEditable()), 4); + assertEquals(3, Selection.getSelectionStart(textInputPlugin.getEditable())); + assertEquals(4, Selection.getSelectionEnd(textInputPlugin.getEditable())); verify(textInputChannel, times(1)).updateEditingStateWithDeltas(anyInt(), any()); verify(textInputChannel, times(0)) @@ -640,8 +637,8 @@ public void textEditingDelta_TestDeltaIsCreatedWhenComposingTextSetIsInserting() // updateEditingStateWithDeltas after the batch edit has completed and notified all listeners // of the editing state. inputConnection.setSelection(3, 4); - assertEquals(Selection.getSelectionStart(textInputPlugin.getEditable()), 3); - assertEquals(Selection.getSelectionEnd(textInputPlugin.getEditable()), 4); + assertEquals(3, Selection.getSelectionStart(textInputPlugin.getEditable())); + assertEquals(4, Selection.getSelectionEnd(textInputPlugin.getEditable())); verify(textInputChannel, times(1)).updateEditingStateWithDeltas(anyInt(), any()); @@ -757,8 +754,8 @@ public void textEditingDelta_TestDeltaIsCreatedWhenComposingTextSetIsDeleting() // updateEditingStateWithDeltas after the batch edit has completed and notified all listeners // of the editing state. inputConnection.setSelection(3, 4); - assertEquals(Selection.getSelectionStart(textInputPlugin.getEditable()), 3); - assertEquals(Selection.getSelectionEnd(textInputPlugin.getEditable()), 4); + assertEquals(3, Selection.getSelectionStart(textInputPlugin.getEditable())); + assertEquals(4, Selection.getSelectionEnd(textInputPlugin.getEditable())); verify(textInputChannel, times(1)).updateEditingStateWithDeltas(anyInt(), any()); @@ -872,8 +869,8 @@ public void textEditingDelta_TestDeltaIsCreatedWhenComposingTextSetIsReplacing() // updateEditingStateWithDeltas after the batch edit has completed and notified all listeners // of the editing state. inputConnection.setSelection(3, 4); - assertEquals(Selection.getSelectionStart(textInputPlugin.getEditable()), 3); - assertEquals(Selection.getSelectionEnd(textInputPlugin.getEditable()), 4); + assertEquals(3, Selection.getSelectionStart(textInputPlugin.getEditable())); + assertEquals(4, Selection.getSelectionEnd(textInputPlugin.getEditable())); verify(textInputChannel, times(1)).updateEditingStateWithDeltas(anyInt(), any()); @@ -963,8 +960,8 @@ public void inputConnectionAdaptor_RepeatFilter() throws NullPointerException { .updateEditingState(anyInt(), any(), anyInt(), anyInt(), anyInt(), anyInt()); inputConnectionAdaptor.setSelection(3, 4); - assertEquals(Selection.getSelectionStart(textInputPlugin.getEditable()), 3); - assertEquals(Selection.getSelectionEnd(textInputPlugin.getEditable()), 4); + assertEquals(3, Selection.getSelectionStart(textInputPlugin.getEditable())); + assertEquals(4, Selection.getSelectionEnd(textInputPlugin.getEditable())); verify(textInputChannel, times(1)) .updateEditingState(anyInt(), any(), anyInt(), anyInt(), anyInt(), anyInt()); @@ -1067,18 +1064,18 @@ public void setTextInputEditingState_alwaysSetEditableWhenDifferent() { textInputPlugin.setTextInputEditingState( testView, new TextInputChannel.TextEditState("hello", 0, 0, -1, -1)); assertEquals(1, testImm.getRestartCount(testView)); - assertTrue(textInputPlugin.getEditable().toString().equals("hello")); + assertEquals("hello", textInputPlugin.getEditable().toString()); // No pending restart, set Editable contents anyways. textInputPlugin.setTextInputEditingState( testView, new TextInputChannel.TextEditState("Shibuyawoo", 0, 0, -1, -1)); assertEquals(1, testImm.getRestartCount(testView)); - assertTrue(textInputPlugin.getEditable().toString().equals("Shibuyawoo")); + assertEquals("Shibuyawoo", textInputPlugin.getEditable().toString()); } // See https://github.com/flutter/flutter/issues/29341 and // https://github.com/flutter/flutter/issues/31512 - // All modern Samsung keybords are affected including non-korean languages and thus + // All modern Samsung keyboards are affected including non-korean languages and thus // need the restart. // Update: many other keyboards need this too: // https://github.com/flutter/flutter/issues/78827 @@ -1561,7 +1558,7 @@ public void showTextInput_textInputTypeNone() { null)); textInputPlugin.showTextInput(testView); - assertEquals(testImm.isSoftInputVisible(), false); + assertFalse(testImm.isSoftInputVisible()); } @Test @@ -1600,7 +1597,7 @@ public void showTextInput_textInputTypeWebSearch() { textInputPlugin.createInputConnection(testView, mock(KeyboardManager.class), editorInfo); assertEquals( - editorInfo.inputType, InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); + InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI, editorInfo.inputType); } @Test @@ -1639,8 +1636,8 @@ public void showTextInput_textInputTypeTwitter() { textInputPlugin.createInputConnection(testView, mock(KeyboardManager.class), editorInfo); assertEquals( - editorInfo.inputType, - InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); + InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS, + editorInfo.inputType); } @Test @@ -1679,11 +1676,11 @@ public void inputConnection_textInputTypeMultilineAndSuggestionsDisabled() { textInputPlugin.createInputConnection(testView, mock(KeyboardManager.class), editorInfo); assertEquals( - editorInfo.inputType, InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS - | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); + | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD, + editorInfo.inputType); } @Config(minSdk = API_LEVELS.API_34) @@ -1728,7 +1725,7 @@ public void inputConnection_setsStylusHandwritingAvailable() { @Config(sdk = API_LEVELS.API_32) @TargetApi(API_LEVELS.API_32) @Test - public void inputConnection_doesNotcallSetsStylusHandwritingAvailableWhenAPILevelUnsupported() { + public void inputConnection_doesNotCallSetsStylusHandwritingAvailableWhenAPILevelUnsupported() { View testView = new View(ctx); DartExecutor dartExecutor = mock(DartExecutor.class); TextInputChannel textInputChannel = new TextInputChannel(dartExecutor); @@ -2343,7 +2340,7 @@ public void autofill_testAutofillUpdatesTheFramework() { textInputPlugin.autofill(autofillValues); // Verify the Editable has been updated. - assertTrue(textInputPlugin.getEditable().toString().equals("focused field")); + assertEquals("focused field", textInputPlugin.getEditable().toString()); // The autofill value of the focused field is sent via updateEditingState. verify(textInputChannel, times(1)) @@ -2355,7 +2352,7 @@ public void autofill_testAutofillUpdatesTheFramework() { .updateEditingStateWithTag(anyInt(), mapCaptor.capture()); final TextInputChannel.TextEditState editState = (TextInputChannel.TextEditState) mapCaptor.getValue().get("2"); - assertEquals(editState.text, "unfocused field"); + assertEquals("unfocused field", editState.text); }); } } @@ -2418,7 +2415,7 @@ public void autofill_doesNotCrashAfterClearClientCall() { @Config(minSdk = API_LEVELS.API_26) @Test - public void autofill_testSetTextIpnutClientUpdatesSideFields() { + public void autofill_testSetTextInputClientUpdatesSideFields() { if (Build.VERSION.SDK_INT < API_LEVELS.API_26) { return; } diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/localization/LocalizationPluginTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/localization/LocalizationPluginTest.java index 6e9ce5e1d4fee..932fcc9747066 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/localization/LocalizationPluginTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/localization/LocalizationPluginTest.java @@ -57,7 +57,7 @@ public void computePlatformResolvedLocaleAPI26() { // Empty supportedLocales. String[] supportedLocales = new String[] {}; String[] result = flutterJNI.computePlatformResolvedLocale(supportedLocales); - assertEquals(result.length, 0); + assertEquals(0, result.length); // Empty preferredLocales. supportedLocales = @@ -70,10 +70,10 @@ public void computePlatformResolvedLocaleAPI26() { when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); // The first locale is default. - assertEquals(result.length, 3); - assertEquals(result[0], "fr"); - assertEquals(result[1], "FR"); - assertEquals(result[2], ""); + assertEquals(3, result.length); + assertEquals("fr", result[0]); + assertEquals("FR", result[1]); + assertEquals("", result[2]); // Example from https://developer.android.com/guide/topics/resources/multilingual-support#postN supportedLocales = @@ -88,10 +88,10 @@ public void computePlatformResolvedLocaleAPI26() { when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); // The call will use the new (> API 24) algorithm. - assertEquals(result.length, 3); - assertEquals(result[0], "fr"); - assertEquals(result[1], "FR"); - assertEquals(result[2], ""); + assertEquals(3, result.length); + assertEquals("fr", result[0]); + assertEquals("FR", result[1]); + assertEquals("", result[2]); supportedLocales = new String[] { @@ -107,10 +107,10 @@ public void computePlatformResolvedLocaleAPI26() { when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); // The call will use the new (> API 24) algorithm. - assertEquals(result.length, 3); - assertEquals(result[0], "fr"); - assertEquals(result[1], ""); - assertEquals(result[2], ""); + assertEquals(3, result.length); + assertEquals("fr", result[0]); + assertEquals("", result[1]); + assertEquals("", result[2]); // Example from https://developer.android.com/guide/topics/resources/multilingual-support#postN supportedLocales = @@ -127,10 +127,10 @@ public void computePlatformResolvedLocaleAPI26() { when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); // The call will use the new (> API 24) algorithm. - assertEquals(result.length, 3); - assertEquals(result[0], "it"); - assertEquals(result[1], "IT"); - assertEquals(result[2], ""); + assertEquals(3, result.length); + assertEquals("it", result[0]); + assertEquals("IT", result[1]); + assertEquals("", result[2]); supportedLocales = new String[] { @@ -140,10 +140,10 @@ public void computePlatformResolvedLocaleAPI26() { localeList = new LocaleList(new Locale.Builder().setLanguage("zh").setRegion("CN").build()); when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); - assertEquals(result.length, 3); - assertEquals(result[0], "zh"); - assertEquals(result[1], "CN"); - assertEquals(result[2], "Hans"); + assertEquals(3, result.length); + assertEquals("zh", result[0]); + assertEquals("CN", result[1]); + assertEquals("Hans", result[2]); } // This test should be synced with the version for API 26. @@ -172,7 +172,7 @@ public void computePlatformResolvedLocale_fromAndroidN() { // Empty supportedLocales. String[] supportedLocales = new String[] {}; String[] result = flutterJNI.computePlatformResolvedLocale(supportedLocales); - assertEquals(result.length, 0); + assertEquals(0, result.length); // Empty preferredLocales. supportedLocales = @@ -185,10 +185,10 @@ public void computePlatformResolvedLocale_fromAndroidN() { when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); // The first locale is default. - assertEquals(result.length, 3); - assertEquals(result[0], "fr"); - assertEquals(result[1], "FR"); - assertEquals(result[2], ""); + assertEquals(3, result.length); + assertEquals("fr", result[0]); + assertEquals("FR", result[1]); + assertEquals("", result[2]); // Example from https://developer.android.com/guide/topics/resources/multilingual-support#postN supportedLocales = @@ -203,10 +203,10 @@ public void computePlatformResolvedLocale_fromAndroidN() { when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); // The call will use the new (> API 24) algorithm. - assertEquals(result.length, 3); - assertEquals(result[0], "fr"); - assertEquals(result[1], "FR"); - assertEquals(result[2], ""); + assertEquals(3, result.length); + assertEquals("fr", result[0]); + assertEquals("FR", result[1]); + assertEquals("", result[2]); supportedLocales = new String[] { @@ -221,10 +221,10 @@ public void computePlatformResolvedLocale_fromAndroidN() { when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); // The call will use the new (> API 24) algorithm. - assertEquals(result.length, 3); - assertEquals(result[0], "fr"); - assertEquals(result[1], ""); - assertEquals(result[2], ""); + assertEquals(3, result.length); + assertEquals("fr", result[0]); + assertEquals("", result[1]); + assertEquals("", result[2]); // Example from https://developer.android.com/guide/topics/resources/multilingual-support#postN supportedLocales = @@ -241,10 +241,10 @@ public void computePlatformResolvedLocale_fromAndroidN() { when(config.getLocales()).thenReturn(localeList); result = flutterJNI.computePlatformResolvedLocale(supportedLocales); // The call will use the new (> API 24) algorithm. - assertEquals(result.length, 3); - assertEquals(result[0], "it"); - assertEquals(result[1], "IT"); - assertEquals(result[2], ""); + assertEquals(3, result.length); + assertEquals("it", result[0]); + assertEquals("IT", result[1]); + assertEquals("", result[2]); } @Test diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTargetTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTargetTest.java index 11df94d395ef9..0edb089e1f2f7 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTargetTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/platform/ImageReaderPlatformViewRenderTargetTest.java @@ -7,8 +7,6 @@ import static android.os.Looper.getMainLooper; import static io.flutter.Build.API_LEVELS; import static org.junit.Assert.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; import static org.robolectric.Shadows.shadowOf; import android.annotation.TargetApi; @@ -19,6 +17,7 @@ import android.media.Image; import android.view.Surface; import android.view.View; +import androidx.annotation.NonNull; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import io.flutter.view.TextureRegistry.ImageTextureEntry; @@ -30,7 +29,7 @@ public class ImageReaderPlatformViewRenderTargetTest { private final Context ctx = ApplicationProvider.getApplicationContext(); - class TestImageTextureEntry implements ImageTextureEntry { + static class TestImageTextureEntry implements ImageTextureEntry { private Image lastPushedImage; public long id() { @@ -66,7 +65,7 @@ public void viewDraw_writesToBuffer() { final View platformView = new View(ctx) { @Override - public void draw(Canvas canvas) { + public void draw(@NonNull Canvas canvas) { super.draw(canvas); canvas.drawColor(Color.RED); } @@ -103,7 +102,7 @@ public void draw(Canvas canvas) { // An image was pushed into the texture entry and it has the correct dimensions. Image pushedImage = textureEntry.acquireLatestImage(); assertNotNull(pushedImage); - assertEquals(pushedImage.getWidth(), size); - assertEquals(pushedImage.getHeight(), size); + assertEquals(size, pushedImage.getWidth()); + assertEquals(size, pushedImage.getHeight()); } } diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/view/SensitiveContentPluginTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/view/SensitiveContentPluginTest.java index 020cb54e307f4..64cb59d9d759e 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/view/SensitiveContentPluginTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/plugin/view/SensitiveContentPluginTest.java @@ -214,7 +214,7 @@ public void respondsToSensitiveContentChannelSetContentSensitivityMessageAsExpec @Test @Config(maxSdk = 34) public void - setContentSensitivty_doesNotSetContentSensitivityAndThrowsExceptionWhenRunningBelowApi35() { + setContentSensitivity_doesNotSetContentSensitivityAndThrowsExceptionWhenRunningBelowApi35() { final int fakeFlutterViewId = 56; final Activity mockFlutterActivity = mock(Activity.class); final SensitiveContentChannel mockSensitiveContentChannel = mock(SensitiveContentChannel.class); @@ -229,7 +229,7 @@ public void respondsToSensitiveContentChannelSetContentSensitivityMessageAsExpec @Test @Config(minSdk = 35) - public void setContentSensitivty_throwsExceptionWhenRunningAboveApi35AndFlutterViewNotFound() { + public void setContentSensitivity_throwsExceptionWhenRunningAboveApi35AndFlutterViewNotFound() { final int fakeFlutterViewId = 52; final Activity mockFlutterActivity = mock(Activity.class); final SensitiveContentChannel mockSensitiveContentChannel = mock(SensitiveContentChannel.class); @@ -249,7 +249,7 @@ public void setContentSensitivty_throwsExceptionWhenRunningAboveApi35AndFlutterV @Test @Config(minSdk = 35) public void - setContentSensitivty_setsContentSensitivityWhenRunningAboveApi35WhenSettingDifferentStateAsCurrent() { + setContentSensitivity_setsContentSensitivityWhenRunningAboveApi35WhenSettingDifferentStateAsCurrent() { final int fakeFlutterViewId = 51; final Activity mockFlutterActivity = mock(Activity.class); final SensitiveContentChannel mockSensitiveContentChannel = mock(SensitiveContentChannel.class); @@ -272,7 +272,7 @@ public void setContentSensitivty_throwsExceptionWhenRunningAboveApi35AndFlutterV @Test @Config(minSdk = 35) public void - setContentSensitivty_doesNotSetContentSensitivityWhenRunningAboveApi35WhenSettingSameStateAsCurrent() { + setContentSensitivity_doesNotSetContentSensitivityWhenRunningAboveApi35WhenSettingSameStateAsCurrent() { final int fakeFlutterViewId = 13; final Activity mockFlutterActivity = mock(Activity.class); final SensitiveContentChannel mockSensitiveContentChannel = mock(SensitiveContentChannel.class); @@ -306,7 +306,7 @@ public void getContentSensitivity_returnsNotSensitiveRunningBelowApi35() { when(mockFlutterActivity.findViewById(fakeFlutterViewId)).thenReturn(mockFlutterView); assertEquals( - sensitiveContentPlugin.getContentSensitivity(), View.CONTENT_SENSITIVITY_NOT_SENSITIVE); + View.CONTENT_SENSITIVITY_NOT_SENSITIVE, sensitiveContentPlugin.getContentSensitivity()); } @Test @@ -321,8 +321,7 @@ public void getContentSensitivity_throwsExceptionWhenRunningAboveApi35AndFlutter when(mockFlutterActivity.findViewById(fakeFlutterViewId)).thenReturn(null); - assertThrows( - IllegalArgumentException.class, () -> sensitiveContentPlugin.getContentSensitivity()); + assertThrows(IllegalArgumentException.class, sensitiveContentPlugin::getContentSensitivity); } @Test @@ -341,7 +340,7 @@ public void getContentSensitivity_getsContentSensitivityWhenRunningAboveApi35() when(mockFlutterView.getContentSensitivity()).thenReturn(testCurrentContentSensitivityValue); assertEquals( - sensitiveContentPlugin.getContentSensitivity(), testCurrentContentSensitivityValue); + testCurrentContentSensitivityValue, sensitiveContentPlugin.getContentSensitivity()); } @Test diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/util/PathUtilsTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/util/PathUtilsTest.java index 6db0ace12b1e9..9efb261e96ff9 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/util/PathUtilsTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/util/PathUtilsTest.java @@ -26,7 +26,7 @@ public class PathUtilsTest { public void canGetFilesDir() { Context context = mock(Context.class); when(context.getFilesDir()).thenReturn(new File(APP_DATA_PATH + "/files")); - assertEquals(PathUtils.getFilesDir(context), APP_DATA_PATH + "/files"); + assertEquals(APP_DATA_PATH + "/files", PathUtils.getFilesDir(context)); } @Test @@ -38,7 +38,7 @@ public void canOnlyGetFilesPathWhenDiskFullAndFilesDirNotCreated() { } else { when(context.getApplicationInfo().dataDir).thenReturn(APP_DATA_PATH); } - assertEquals(PathUtils.getFilesDir(context), APP_DATA_PATH + "/files"); + assertEquals(APP_DATA_PATH + "/files", PathUtils.getFilesDir(context)); } @Test @@ -46,7 +46,7 @@ public void canGetFlutterDataDir() { Context context = mock(Context.class); when(context.getDir("flutter", Context.MODE_PRIVATE)) .thenReturn(new File(APP_DATA_PATH + "/app_flutter")); - assertEquals(PathUtils.getDataDirectory(context), APP_DATA_PATH + "/app_flutter"); + assertEquals(APP_DATA_PATH + "/app_flutter", PathUtils.getDataDirectory(context)); } @Test @@ -58,7 +58,7 @@ public void canOnlyGetFlutterDataPathWhenDiskFullAndFlutterDataDirNotCreated() { } else { when(context.getApplicationInfo().dataDir).thenReturn(APP_DATA_PATH); } - assertEquals(PathUtils.getDataDirectory(context), APP_DATA_PATH + "/app_flutter"); + assertEquals(APP_DATA_PATH + "/app_flutter", PathUtils.getDataDirectory(context)); } @Test @@ -77,6 +77,6 @@ public void canOnlyGetCachePathWhenDiskFullAndCacheDirNotCreated() { when(context.getCodeCacheDir()).thenReturn(null); // Requires at least api 24. when(context.getDataDir()).thenReturn(new File(APP_DATA_PATH)); - assertEquals(PathUtils.getCacheDirectory(context), APP_DATA_PATH + "/cache"); + assertEquals(APP_DATA_PATH + "/cache", PathUtils.getCacheDirectory(context)); } } diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/util/ViewUtilsTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/util/ViewUtilsTest.java index 7393bdc48d789..13ec93d8f7ebe 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/util/ViewUtilsTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/util/ViewUtilsTest.java @@ -6,6 +6,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -25,7 +26,7 @@ public class ViewUtilsTest { public void canGetActivity() { // Non activity context returns null Context nonActivityContext = mock(Context.class); - assertEquals(null, ViewUtils.getActivity(nonActivityContext)); + assertNull(ViewUtils.getActivity(nonActivityContext)); Activity activity = mock(Activity.class); assertEquals(activity, ViewUtils.getActivity(activity)); diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/view/AccessibilityBridgeTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/view/AccessibilityBridgeTest.java index 8d6cd00b5a5db..6e9f7eb378c58 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/view/AccessibilityBridgeTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/view/AccessibilityBridgeTest.java @@ -58,6 +58,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; @@ -114,7 +115,8 @@ public void itTakesGlobalCoordinatesOfFlutterViewIntoAccount() { Context context = mock(Context.class); when(mockRootView.getContext()).thenReturn(context); final int position = 88; - // The getBoundsInScreen() in createAccessibilityNodeInfo() needs View.getLocationOnScreen() + // The getBoundsInScreen() in createAccessibilityNodeInfo() needs + // View.getLocationOnScreen() doAnswer( invocation -> { int[] outLocation = (int[]) invocation.getArguments()[0]; @@ -152,12 +154,12 @@ public void itSetsNoAnnounceAccessibleFlagByDefault() { when(context.getPackageName()).thenReturn("test"); when(mockManager.isTouchExplorationEnabled()).thenReturn(false); setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); verify(mockChannel).setAccessibilityFeatures(ACCESSIBILITY_FEATURE_NO_ANNOUNCE); } @@ -173,12 +175,12 @@ public void itSetsAccessibleNavigation() { when(mockManager.isTouchExplorationEnabled()).thenReturn(false); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ArgumentCaptor listenerCaptor = ArgumentCaptor.forClass(AccessibilityManager.TouchExplorationStateChangeListener.class); verify(mockManager).addTouchExplorationStateChangeListener(listenerCaptor.capture()); @@ -710,12 +712,12 @@ public void itCanPerformSetText() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -749,12 +751,12 @@ public void itCanPredictSetText() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -788,12 +790,12 @@ public void itBuildsAttributedString() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -842,6 +844,47 @@ public void itBuildsAttributedString() { assertEquals(actual.getSpanEnd(spellOutSpan), 9); } + @Test + @Config(minSdk = API_LEVELS.FLUTTER_MIN) + public void itBuildsAttributedStringWithLocale() { + AccessibilityChannel mockChannel = mock(AccessibilityChannel.class); + AccessibilityViewEmbedder mockViewEmbedder = mock(AccessibilityViewEmbedder.class); + AccessibilityManager mockManager = mock(AccessibilityManager.class); + View mockRootView = mock(View.class); + Context context = mock(Context.class); + when(mockRootView.getContext()).thenReturn(context); + when(context.getPackageName()).thenReturn("test"); + AccessibilityBridge accessibilityBridge = + setUpBridge( + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); + + ViewParent mockParent = mock(ViewParent.class); + when(mockRootView.getParent()).thenReturn(mockParent); + when(mockManager.isEnabled()).thenReturn(true); + + TestSemanticsNode root = new TestSemanticsNode(); + root.id = 0; + root.label = "label"; + root.locale = "es-MX"; + + TestSemanticsUpdate testSemanticsUpdate = root.toUpdate(); + testSemanticsUpdate.sendUpdateToBridge(accessibilityBridge); + AccessibilityNodeInfo nodeInfo = accessibilityBridge.createAccessibilityNodeInfo(0); + SpannableString actual = (SpannableString) nodeInfo.getContentDescription(); + assertEquals(actual.toString(), "label"); + Object[] objectSpans = actual.getSpans(0, actual.length(), Object.class); + assertEquals(objectSpans.length, 1); + LocaleSpan localeSpan = (LocaleSpan) objectSpans[0]; + assertEquals(localeSpan.getLocale().toLanguageTag(), "es-MX"); + assertEquals(actual.getSpanStart(localeSpan), 0); + assertEquals(actual.getSpanEnd(localeSpan), actual.length()); + } + @Test @Config(minSdk = API_LEVELS.FLUTTER_MIN) public void itSetsTextCorrectly() { @@ -854,12 +897,12 @@ public void itSetsTextCorrectly() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -914,12 +957,12 @@ public void itSetsTooltipCorrectly() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -953,12 +996,12 @@ public void itSetsTooltipCorrectlyWithContentDescription() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -998,12 +1041,12 @@ public void itSetsIdentifierCorrectly() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1036,12 +1079,12 @@ public void itCanCreateAccessibilityNodeInfoWithSetText() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1072,12 +1115,12 @@ public void itCanPredictSetSelection() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1118,12 +1161,12 @@ public void itPerformsClearAccessibilityFocusCorrectly() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ accessibilityChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ accessibilityChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1171,12 +1214,12 @@ public void itSetsFocusabilityBasedOnFlagsCorrectly() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1225,19 +1268,20 @@ public void itSetsBoldTextFlagCorrectly() { AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); verify(mockChannel) .setAccessibilityFeatures( ACCESSIBILITY_FEATURE_BOLD_TEXT | ACCESSIBILITY_FEATURE_NO_ANNOUNCE); reset(mockChannel); - // Now verify that clearing the BOLD_TEXT flag doesn't touch any of the other flags. + // Now verify that clearing the BOLD_TEXT flag doesn't touch any of the other + // flags. // Ensure the DISABLE_ANIMATION flag will be set Settings.Global.putFloat(null, "transition_animation_scale", 0.0f); // Ensure the BOLD_TEXT flag will be cleared @@ -1245,14 +1289,15 @@ public void itSetsBoldTextFlagCorrectly() { accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); - - // setAccessibilityFeatures() will be called multiple times from AccessibilityBridge's + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); + + // setAccessibilityFeatures() will be called multiple times from + // AccessibilityBridge's // constructor, verify that the latest argument is correct ArgumentCaptor captor = ArgumentCaptor.forClass(Integer.class); verify(mockChannel, atLeastOnce()).setAccessibilityFeatures(captor.capture()); @@ -1278,12 +1323,12 @@ public void itSetsFocusedNodeBeforeSendingEvent() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ accessibilityChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ accessibilityChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1314,10 +1359,10 @@ public boolean verify(InvocationOnMock invocation) { verified = true; return true; } - }; + } Verifier verifier = new Verifier(accessibilityBridge); when(mockParent.requestSendAccessibilityEvent(eq(mockRootView), any(AccessibilityEvent.class))) - .thenAnswer(invocation -> verifier.verify(invocation)); + .thenAnswer(verifier::verify); accessibilityBridge.performAction(0, AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS, null); assertTrue(verifier.verified); @@ -1340,12 +1385,12 @@ public void itClearsFocusedNodeBeforeSendingEvent() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ accessibilityChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ accessibilityChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1385,10 +1430,10 @@ public boolean verify(InvocationOnMock invocation) { verified = true; return true; } - }; + } Verifier verifier = new Verifier(accessibilityBridge); when(mockParent.requestSendAccessibilityEvent(eq(mockRootView), any(AccessibilityEvent.class))) - .thenAnswer(invocation -> verifier.verify(invocation)); + .thenAnswer(verifier::verify); accessibilityBridge.performAction( 0, AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS, null); assertTrue(verifier.verified); @@ -1405,12 +1450,12 @@ public void itCanPredictCursorMovementsWithGranularityWord() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1435,7 +1480,7 @@ public void itCanPredictCursorMovementsWithGranularityWord() { accessibilityBridge.performAction( 1, AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, bundle); AccessibilityNodeInfo nodeInfo = accessibilityBridge.createAccessibilityNodeInfo(1); - // The seletction should be at the end of 'text' + // The selection should be at the end of 'text' assertEquals(nodeInfo.getTextSelectionStart(), 9); assertEquals(nodeInfo.getTextSelectionEnd(), 9); @@ -1447,7 +1492,7 @@ public void itCanPredictCursorMovementsWithGranularityWord() { accessibilityBridge.performAction( 1, AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, bundle); nodeInfo = accessibilityBridge.createAccessibilityNodeInfo(1); - // The seletction should be go to beginning of 'text'. + // The selection should be go to beginning of 'text'. assertEquals(nodeInfo.getTextSelectionStart(), 5); assertEquals(nodeInfo.getTextSelectionEnd(), 5); } @@ -1463,12 +1508,12 @@ public void itAlsoFireSelectionEventWhenPredictCursorMovements() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1515,12 +1560,12 @@ public void itDoesNotFireSelectionEventWhenPredictCursorMovementsDoesNotChangeSe when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1553,6 +1598,8 @@ public void itDoesNotFireSelectionEventWhenPredictCursorMovementsDoesNotChangeSe assertNotEquals(event.getEventType(), AccessibilityEvent.TYPE_VIEW_TEXT_SELECTION_CHANGED); } + @Ignore( + "Fails on JDK 19+ due to https://github.com/flutter/flutter/issues/175623. Not an actual bug on device; test-specific only.") @Test public void itCanPredictCursorMovementsWithGranularityWordUnicode() { AccessibilityChannel mockChannel = mock(AccessibilityChannel.class); @@ -1564,12 +1611,12 @@ public void itCanPredictCursorMovementsWithGranularityWordUnicode() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1594,7 +1641,7 @@ public void itCanPredictCursorMovementsWithGranularityWordUnicode() { accessibilityBridge.performAction( 1, AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY, bundle); AccessibilityNodeInfo nodeInfo = accessibilityBridge.createAccessibilityNodeInfo(1); - // The seletction should be at the end of '好' + // The selection should be at the end of '好' assertEquals(nodeInfo.getTextSelectionStart(), 3); assertEquals(nodeInfo.getTextSelectionEnd(), 3); @@ -1606,7 +1653,7 @@ public void itCanPredictCursorMovementsWithGranularityWordUnicode() { accessibilityBridge.performAction( 1, AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY, bundle); nodeInfo = accessibilityBridge.createAccessibilityNodeInfo(1); - // The seletction should be go to beginning of '好'. + // The selection should be go to beginning of '好'. assertEquals(nodeInfo.getTextSelectionStart(), 2); assertEquals(nodeInfo.getTextSelectionEnd(), 2); } @@ -1622,12 +1669,12 @@ public void itCanPredictCursorMovementsWithGranularityLine() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1681,12 +1728,12 @@ public void itCanPredictCursorMovementsWithGranularityCharacter() { when(context.getPackageName()).thenReturn("test"); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ mockRootView, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ mockManager, - /*contentResolver=*/ null, - /*accessibilityViewEmbedder=*/ mockViewEmbedder, - /*platformViewsAccessibilityDelegate=*/ null); + /* rootAccessibilityView= */ mockRootView, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ mockManager, + /* contentResolver= */ null, + /* accessibilityViewEmbedder= */ mockViewEmbedder, + /* platformViewsAccessibilityDelegate= */ null); ViewParent mockParent = mock(ViewParent.class); when(mockRootView.getParent()).thenReturn(mockParent); @@ -1755,7 +1802,7 @@ public void itAnnouncesWhiteSpaceWhenNoNamesRoute() { @Test public void itHoverOverOutOfBoundsDoesNotCrash() { - // SementicsNode.hitTest() returns null when out of bounds. + // SemanticsNode.hitTest() returns null when out of bounds. AccessibilityViewEmbedder mockViewEmbedder = mock(AccessibilityViewEmbedder.class); AccessibilityManager mockManager = mock(AccessibilityManager.class); View mockRootView = mock(View.class); @@ -1790,9 +1837,9 @@ public void itProducesPlatformViewNodeForHybridComposition() { AccessibilityBridge accessibilityBridge = setUpBridge( rootAccessibilityView, - /*accessibilityChannel=*/ null, - /*accessibilityManager=*/ null, - /*contentResolver=*/ null, + /* accessibilityChannel= */ null, + /* accessibilityManager= */ null, + /* contentResolver= */ null, accessibilityViewEmbedder, accessibilityDelegate); @@ -1835,9 +1882,9 @@ public void itMakesPlatformViewImportantForAccessibility() { AccessibilityBridge accessibilityBridge = setUpBridge( rootAccessibilityView, - /*accessibilityChannel=*/ null, - /*accessibilityManager=*/ null, - /*contentResolver=*/ null, + /* accessibilityChannel= */ null, + /* accessibilityManager= */ null, + /* contentResolver= */ null, accessibilityViewEmbedder, accessibilityDelegate); @@ -1870,9 +1917,9 @@ public void itMakesPlatformViewNoImportantForAccessibility() { AccessibilityBridge accessibilityBridge = setUpBridge( rootAccessibilityView, - /*accessibilityChannel=*/ null, - /*accessibilityManager=*/ null, - /*contentResolver=*/ null, + /* accessibilityChannel= */ null, + /* accessibilityManager= */ null, + /* contentResolver= */ null, accessibilityViewEmbedder, accessibilityDelegate); @@ -1908,10 +1955,10 @@ public void itProducesPlatformViewNodeForVirtualDisplay() { AccessibilityViewEmbedder accessibilityViewEmbedder = mock(AccessibilityViewEmbedder.class); AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ null, - /*accessibilityChannel=*/ null, - /*accessibilityManager=*/ null, - /*contentResolver=*/ null, + /* rootAccessibilityView= */ null, + /* accessibilityChannel= */ null, + /* accessibilityManager= */ null, + /* contentResolver= */ null, accessibilityViewEmbedder, accessibilityDelegate); @@ -1936,14 +1983,15 @@ public void testItSetsDisableAnimationsFlagBasedOnTransitionAnimationScale() { AccessibilityBridge accessibilityBridge = setUpBridge( - /*rootAccessibilityView=*/ null, - /*accessibilityChannel=*/ mockChannel, - /*accessibilityManager=*/ null, - /*contentResolver=*/ mockContentResolver, - /*accessibilityViewEmbedder=*/ null, - /*platformViewsAccessibilityDelegate=*/ null); - - // Capture the observer registered for Settings.Global.TRANSITION_ANIMATION_SCALE + /* rootAccessibilityView= */ null, + /* accessibilityChannel= */ mockChannel, + /* accessibilityManager= */ null, + /* contentResolver= */ mockContentResolver, + /* accessibilityViewEmbedder= */ null, + /* platformViewsAccessibilityDelegate= */ null); + + // Capture the observer registered for + // Settings.Global.TRANSITION_ANIMATION_SCALE ArgumentCaptor observerCaptor = ArgumentCaptor.forClass(ContentObserver.class); verify(mockContentResolver) .registerContentObserver( @@ -2143,7 +2191,7 @@ enum TestStringAttributeType { private final int value; - private TestStringAttributeType(int value) { + TestStringAttributeType(int value) { this.value = value; } @@ -2203,6 +2251,7 @@ void addAction(AccessibilityBridge.Action action) { List hintAttributes; String tooltip = null; String linkUrl = null; + String locale = null; int textDirection = 0; float left = 0.0f; float top = 0.0f; @@ -2272,6 +2321,12 @@ protected void addToBuffer( strings.add(linkUrl); bytes.putInt(strings.size() - 1); } + if (locale == null) { + bytes.putInt(-1); + } else { + strings.add(locale); + bytes.putInt(strings.size() - 1); + } bytes.putInt(textDirection); bytes.putFloat(left); bytes.putFloat(top); diff --git a/engine/src/flutter/shell/platform/android/test/io/flutter/view/VsyncWaiterTest.java b/engine/src/flutter/shell/platform/android/test/io/flutter/view/VsyncWaiterTest.java index 35065d227e930..47ea7b221068d 100644 --- a/engine/src/flutter/shell/platform/android/test/io/flutter/view/VsyncWaiterTest.java +++ b/engine/src/flutter/shell/platform/android/test/io/flutter/view/VsyncWaiterTest.java @@ -44,7 +44,7 @@ public void itSetsFpsBelowApi17() { verify(mockFlutterJNI, times(1)).setAsyncWaitForVsyncDelegate(delegateCaptor.capture()); delegateCaptor.getValue().asyncWaitForVsync(1); shadowOf(Looper.getMainLooper()).idle(); - verify(mockFlutterJNI, times(1)).onVsync(anyLong(), eq(1000000000l / 10l), eq(1l)); + verify(mockFlutterJNI, times(1)).onVsync(anyLong(), eq(1000000000L / 10L), eq(1L)); } @Test @@ -71,7 +71,7 @@ public void itSetsFpsWhenDisplayManagerUpdates() { verify(mockFlutterJNI, times(1)).setAsyncWaitForVsyncDelegate(delegateCaptor.capture()); delegateCaptor.getValue().asyncWaitForVsync(1); shadowOf(Looper.getMainLooper()).idle(); - verify(mockFlutterJNI, times(1)).onVsync(anyLong(), eq(1000000000l / 90l), eq(1l)); + verify(mockFlutterJNI, times(1)).onVsync(anyLong(), eq(1000000000L / 90L), eq(1L)); when(mockDisplay.getRefreshRate()).thenReturn(60.0f); displayListenerCaptor.getValue().onDisplayChanged(Display.DEFAULT_DISPLAY); @@ -79,7 +79,7 @@ public void itSetsFpsWhenDisplayManagerUpdates() { delegateCaptor.getValue().asyncWaitForVsync(1); shadowOf(Looper.getMainLooper()).idle(); - verify(mockFlutterJNI, times(1)).onVsync(anyLong(), eq(1000000000l / 60l), eq(1l)); + verify(mockFlutterJNI, times(1)).onVsync(anyLong(), eq(1000000000L / 60L), eq(1L)); } @Test diff --git a/engine/src/flutter/shell/platform/android/test_runner/build.gradle b/engine/src/flutter/shell/platform/android/test_runner/build.gradle index e6e26e8bcebb3..2891c1686bf4e 100644 --- a/engine/src/flutter/shell/platform/android/test_runner/build.gradle +++ b/engine/src/flutter/shell/platform/android/test_runner/build.gradle @@ -72,7 +72,7 @@ android { //noinspection RiskyLibrary,PlaySdkIndexDeprecated testImplementation "com.google.android.play:core:1.8.0" testImplementation "com.ibm.icu:icu4j:75.1" - testImplementation "org.robolectric:robolectric:4.14.1" + testImplementation "org.robolectric:robolectric:4.16" testImplementation "junit:junit:4.13.2" testImplementation "androidx.test.ext:junit:1.2.1" diff --git a/engine/src/flutter/shell/platform/android/test_runner/src/main/resources/robolectric.properties b/engine/src/flutter/shell/platform/android/test_runner/src/main/resources/robolectric.properties index 7e47f6fb21ee6..e187ec21e7fc5 100644 --- a/engine/src/flutter/shell/platform/android/test_runner/src/main/resources/robolectric.properties +++ b/engine/src/flutter/shell/platform/android/test_runner/src/main/resources/robolectric.properties @@ -1,2 +1,2 @@ -sdk=35 +sdk=36 shadows=io.flutter.CustomShadowContextImpl diff --git a/engine/src/flutter/shell/platform/common/BUILD.gn b/engine/src/flutter/shell/platform/common/BUILD.gn index b27be6bfa0388..e7cc86095517a 100644 --- a/engine/src/flutter/shell/platform/common/BUILD.gn +++ b/engine/src/flutter/shell/platform/common/BUILD.gn @@ -150,7 +150,6 @@ source_set("common_cpp") { # API surface there will be. source_set("common_cpp_core") { public = [ - "geometry.h", "path_utils.h", "windowing.h", ] @@ -159,7 +158,10 @@ source_set("common_cpp_core") { public_configs = [ "//flutter:config" ] - deps = [ "//flutter/fml:fml" ] + deps = [ + "//flutter/fml:fml", + "//flutter/shell/geometry:geometry", + ] } if (enable_unittests) { @@ -191,7 +193,6 @@ if (enable_unittests) { sources = [ "engine_switches_unittests.cc", - "geometry_unittests.cc", "incoming_message_dispatcher_unittests.cc", "json_message_codec_unittests.cc", "json_method_codec_unittests.cc", diff --git a/engine/src/flutter/shell/platform/common/client_wrapper/standard_message_codec_unittests.cc b/engine/src/flutter/shell/platform/common/client_wrapper/standard_message_codec_unittests.cc index afe7247025f58..df4420af8b24a 100644 --- a/engine/src/flutter/shell/platform/common/client_wrapper/standard_message_codec_unittests.cc +++ b/engine/src/flutter/shell/platform/common/client_wrapper/standard_message_codec_unittests.cc @@ -134,22 +134,22 @@ TEST(StandardMessageCodec, CanEncodeAndDecodeDouble) { TEST(StandardMessageCodec, CanEncodeAndDecodeString) { std::vector bytes = {0x07, 0x0b, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64}; - CheckEncodeDecode(EncodableValue(u8"hello world"), bytes); + CheckEncodeDecode(EncodableValue("hello world"), bytes); } TEST(StandardMessageCodec, CanEncodeAndDecodeStringWithNonAsciiCodePoint) { std::vector bytes = {0x07, 0x05, 0x68, 0xe2, 0x98, 0xba, 0x77}; - CheckEncodeDecode(EncodableValue(u8"h\u263Aw"), bytes); + CheckEncodeDecode(EncodableValue("h\u263Aw"), bytes); } TEST(StandardMessageCodec, CanEncodeAndDecodeStringWithNonBMPCodePoint) { std::vector bytes = {0x07, 0x06, 0x68, 0xf0, 0x9f, 0x98, 0x82, 0x77}; - CheckEncodeDecode(EncodableValue(u8"h\U0001F602w"), bytes); + CheckEncodeDecode(EncodableValue("h\U0001F602w"), bytes); } TEST(StandardMessageCodec, CanEncodeAndDecodeEmptyString) { std::vector bytes = {0x07, 0x00}; - CheckEncodeDecode(EncodableValue(u8""), bytes); + CheckEncodeDecode(EncodableValue(""), bytes); } TEST(StandardMessageCodec, CanEncodeAndDecodeList) { diff --git a/engine/src/flutter/shell/platform/common/text_editing_delta.h b/engine/src/flutter/shell/platform/common/text_editing_delta.h index 90f7fd89f1952..ad67fc588f631 100644 --- a/engine/src/flutter/shell/platform/common/text_editing_delta.h +++ b/engine/src/flutter/shell/platform/common/text_editing_delta.h @@ -44,12 +44,7 @@ struct TextEditingDelta { /// Get the delta_end_ value. int delta_end() const { return delta_end_; } - bool operator==(const TextEditingDelta& rhs) const { - return old_text_ == rhs.old_text_ && delta_text_ == rhs.delta_text_ && - delta_start_ == rhs.delta_start_ && delta_end_ == rhs.delta_end_; - } - - bool operator!=(const TextEditingDelta& rhs) const { return !(*this == rhs); } + bool operator==(const TextEditingDelta& rhs) const = default; TextEditingDelta(const TextEditingDelta& other) = default; diff --git a/engine/src/flutter/shell/platform/darwin/ios/BUILD.gn b/engine/src/flutter/shell/platform/darwin/ios/BUILD.gn index e7b941735f4a0..3abf9f464dadc 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/BUILD.gn +++ b/engine/src/flutter/shell/platform/darwin/ios/BUILD.gn @@ -111,6 +111,8 @@ source_set("flutter_framework_source") { "framework/Source/FlutterRestorationPlugin.h", "framework/Source/FlutterRestorationPlugin.mm", "framework/Source/FlutterSceneDelegate.m", + "framework/Source/FlutterSceneLifecycle.h", + "framework/Source/FlutterSceneLifecycle.mm", "framework/Source/FlutterSemanticsScrollView.h", "framework/Source/FlutterSemanticsScrollView.mm", "framework/Source/FlutterSharedApplication.h", @@ -262,6 +264,7 @@ if (enable_ios_unittests) { "framework/Source/FlutterPluginAppLifeCycleDelegateTest.mm", "framework/Source/FlutterRestorationPluginTest.mm", "framework/Source/FlutterSceneDelegateTest.m", + "framework/Source/FlutterSceneLifecycleTest.mm", "framework/Source/FlutterSharedApplicationTest.mm", "framework/Source/FlutterSpellCheckPluginTest.mm", "framework/Source/FlutterTextInputPluginTest.mm", @@ -279,6 +282,7 @@ if (enable_ios_unittests) { "ios_context_noop_unittests.mm", "ios_surface_noop_unittests.mm", "platform_message_handler_ios_test.mm", + "platform_view_ios_test.mm", ] deps = [ ":flutter_framework", diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlatformViews.h b/engine/src/flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlatformViews.h index 59ba4af616c1c..4742bfe8ebaa2 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlatformViews.h +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlatformViews.h @@ -34,7 +34,7 @@ FLUTTER_DARWIN_EXPORT * @param frame The rectangle for the newly created `UIView` measured in points. * @param viewId A unique identifier for this `UIView`. * @param args Parameters for creating the `UIView` sent from the Dart side of the Flutter app. - * If `createArgsCodec` is not implemented, or if no creation arguments were sent from the Dart + * If `createArgsCodec` is not implemented, or if no creation arguments were sent from the Dart * code, this will be null. Otherwise this will be the value sent from the Dart code as decoded by * `createArgsCodec`. */ diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlugin.h b/engine/src/flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlugin.h index 532d5262d6036..34270ab396156 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlugin.h +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Headers/FlutterPlugin.h @@ -297,6 +297,20 @@ typedef enum { */ - (NSObject*)textures; +/** + * The `UIViewController` whose view is displaying Flutter content. + * + * The plugin typically should not store a strong reference to this view + * controller. + * + * This property is provided for backwards compatibility for apps that assume + * a single view, and will eventually be replaced by the multi-view API variant. + * + * This property may be |nil|, for instance in a headless environment, or when + * the underlying Flutter engine is deallocated. + */ +@property(nullable, readonly) UIViewController* viewController; + /** * Registers a `FlutterPlatformViewFactory` for creation of platform views. * diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject.mm index e12b262d78cff..31a49a856a4a5 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterDartProject.mm @@ -56,7 +56,7 @@ static BOOL DoesHardwareSupportWideGamut() { bundle = FLTFrameworkBundleWithIdentifier([FlutterDartProject defaultBundleIdentifier]); } - auto settings = flutter::SettingsFromCommandLine(command_line); + auto settings = flutter::SettingsFromCommandLine(command_line, true); settings.task_observer_add = [](intptr_t key, const fml::closure& callback) { fml::TaskQueueId queue_id = fml::MessageLoop::GetCurrentTaskQueueId(); @@ -95,32 +95,32 @@ static BOOL DoesHardwareSupportWideGamut() { if (hasExplicitBundle) { NSString* executablePath = bundle.executablePath; if ([[NSFileManager defaultManager] fileExistsAtPath:executablePath]) { - settings.application_library_path.push_back(executablePath.UTF8String); + settings.application_library_paths.push_back(executablePath.UTF8String); } } // No application bundle specified. Try a known location from the main bundle's Info.plist. - if (settings.application_library_path.empty()) { + if (settings.application_library_paths.empty()) { NSString* libraryName = [mainBundle objectForInfoDictionaryKey:@"FLTLibraryPath"]; NSString* libraryPath = [mainBundle pathForResource:libraryName ofType:@""]; if (libraryPath.length > 0) { NSString* executablePath = [NSBundle bundleWithPath:libraryPath].executablePath; if (executablePath.length > 0) { - settings.application_library_path.push_back(executablePath.UTF8String); + settings.application_library_paths.push_back(executablePath.UTF8String); } } } // In case the application bundle is still not specified, look for the App.framework in the // Frameworks directory. - if (settings.application_library_path.empty()) { + if (settings.application_library_paths.empty()) { NSString* applicationFrameworkPath = [mainBundle pathForResource:@"Frameworks/App.framework" ofType:@""]; if (applicationFrameworkPath.length > 0) { NSString* executablePath = [NSBundle bundleWithPath:applicationFrameworkPath].executablePath; if (executablePath.length > 0) { - settings.application_library_path.push_back(executablePath.UTF8String); + settings.application_library_paths.push_back(executablePath.UTF8String); } } } @@ -216,9 +216,8 @@ static BOOL DoesHardwareSupportWideGamut() { NSNumber* enableMergedPlatformUIThread = [mainBundle objectForInfoDictionaryKey:@"FLTEnableMergedPlatformUIThread"]; if (enableMergedPlatformUIThread != nil) { - settings.merged_platform_ui_thread = enableMergedPlatformUIThread.boolValue - ? flutter::Settings::MergedPlatformUIThread::kEnabled - : flutter::Settings::MergedPlatformUIThread::kDisabled; + FML_CHECK(enableMergedPlatformUIThread.boolValue) + << "FLTEnableMergedPlatformUIThread=false is no longer allowed."; } NSNumber* enableFlutterGPU = [mainBundle objectForInfoDictionaryKey:@"FLTEnableFlutterGPU"]; diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm index 8139c50915550..8e9bd3a8f091e 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include #include "common/settings.h" #define FML_USED_ON_EMBEDDER @@ -1060,6 +1061,13 @@ - (void)flutterTextInputView:(FlutterTextInputView*)textInputView [self.platformPlugin showLookUpViewController:selectedText]; } +- (void)flutterTextInputView:(FlutterTextInputView*)textInputView + performContextMenuCustomActionWithActionID:(NSString*)actionID + textInputClient:(int)client { + [self.platformChannel invokeMethod:@"ContextMenu.onPerformCustomAction" + arguments:@[ @(client), actionID ]]; +} + #pragma mark - FlutterViewEngineDelegate - (void)flutterTextInputView:(FlutterTextInputView*)textInputView showToolbar:(int)client { @@ -1514,6 +1522,10 @@ - (instancetype)initWithPlugin:(NSString*)pluginKey flutterEngine:(FlutterEngine return _flutterEngine.textureRegistry; } +- (nullable UIViewController*)viewController { + return _flutterEngine.viewController; +} + - (void)publish:(NSObject*)value { _flutterEngine.pluginPublications[_pluginKey] = value; } diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm index 6f2249c9f8817..867e46eff0b08 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterEngineTest.mm @@ -189,6 +189,17 @@ - (void)testNotifyPluginOfDealloc { OCMVerify([plugin detachFromEngineForRegistrar:[OCMArg any]]); } +- (void)testGetViewControllerFromRegistrar { + FlutterDartProject* project = [[FlutterDartProject alloc] init]; + FlutterEngine* engine = [[FlutterEngine alloc] initWithName:@"engine" project:project]; + id mockEngine = OCMPartialMock(engine); + NSObject* registrar = [mockEngine registrarForPlugin:@"plugin"]; + + // Verify accessing the viewController getter calls FlutterEngine.viewController. + (void)[registrar viewController]; + OCMVerify(times(1), [mockEngine viewController]); +} + - (void)testSetBinaryMessengerToSameBinaryMessenger { FakeBinaryMessengerRelay* fakeBinaryMessenger = [[FakeBinaryMessengerRelay alloc] init]; diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayer.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayer.mm index df09f4ddeca8e..a291fda8c71c7 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayer.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayer.mm @@ -30,9 +30,9 @@ @interface FlutterMetalLayer () { NSUInteger _nextDrawableId; + // Access to these variables must be synchronized. NSMutableSet* _availableTextures; NSUInteger _totalTextures; - FlutterTexture* _front; // There must be a CADisplayLink scheduled *on main thread* otherwise @@ -248,20 +248,26 @@ - (BOOL)isKindOfClass:(Class)aClass { } - (void)setDrawableSize:(CGSize)drawableSize { - [_availableTextures removeAllObjects]; - _front = nil; - _totalTextures = 0; - _drawableSize = drawableSize; + @synchronized(self) { + [_availableTextures removeAllObjects]; + _front = nil; + _totalTextures = 0; + _drawableSize = drawableSize; + } } - (void)didEnterBackground:(id)notification { - [_availableTextures removeAllObjects]; - _totalTextures = _front != nil ? 1 : 0; + @synchronized(self) { + [_availableTextures removeAllObjects]; + _totalTextures = _front != nil ? 1 : 0; + } _displayLink.paused = YES; } - (CGSize)drawableSize { - return _drawableSize; + @synchronized(self) { + return _drawableSize; + } } - (IOSurface*)createIOSurface { @@ -418,6 +424,10 @@ - (void)presentOnMainThread:(FlutterTexture*)texture { - (void)presentTexture:(FlutterTexture*)texture { @synchronized(self) { + if (texture.texture.width != _drawableSize.width || + texture.texture.height != _drawableSize.height) { + return; + } if (_front != nil) { [_availableTextures addObject:_front]; } @@ -435,8 +445,14 @@ - (void)presentTexture:(FlutterTexture*)texture { } - (void)returnTexture:(FlutterTexture*)texture { + if (texture == nil) { + return; + } @synchronized(self) { - [_availableTextures addObject:texture]; + if (texture.texture.width == _drawableSize.width && + texture.texture.height == _drawableSize.height) { + [_availableTextures addObject:texture]; + } } } diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayerTest.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayerTest.mm index f0399b6904485..ecdaaa8282352 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayerTest.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterMetalLayerTest.mm @@ -294,4 +294,33 @@ - (void)testDealloc { XCTAssertNil(weakLayer); } +- (void)testResizeAndPresent { + FlutterMetalLayer* layer = [self addMetalLayer]; + TestCompositor* compositor = [[TestCompositor alloc] initWithLayer:layer]; + + id oldSizeDrawable1 = [layer nextDrawable]; + BAIL_IF_NO_DRAWABLE(oldSizeDrawable1); + id oldSizeDrawable2 = [layer nextDrawable]; + BAIL_IF_NO_DRAWABLE(oldSizeDrawable2); + + const CGFloat newSize = 200; + layer.drawableSize = CGSizeMake(newSize, newSize); + + // After resizing, present the drawables that were allocated using the old size. + [oldSizeDrawable1 present]; + [compositor commitTransaction]; + [oldSizeDrawable2 present]; + [compositor commitTransaction]; + + // Verify that textures with the old size have been removed from the layer. + for (int i = 0; i < 4; i++) { + id drawable = [layer nextDrawable]; + [drawable present]; + [compositor commitTransaction]; + XCTAssertEqual(drawable.texture.width, newSize); + } + + [self removeMetalLayer:layer]; +} + @end diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm index 225ab326bb6ea..d88b9bb548bad 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm @@ -587,7 +587,11 @@ - (void)blockGesture { // from the web view plugin level. Right now we only observe this issue for // FlutterPlatformViewGestureRecognizersBlockingPolicyEager, but we should try it if a similar // issue arises for the other policy. - if (@available(iOS 18.2, *)) { + if (@available(iOS 26.0, *)) { + // This workaround does not work on iOS 26. + // TODO(hellohuanlin): find a solution for iOS 26, + // https://github.com/flutter/flutter/issues/175099. + } else if (@available(iOS 18.2, *)) { // This workaround is designed for WKWebView only. The 1P web view plugin provides a // WKWebView itself as the platform view. However, some 3P plugins provide wrappers of // WKWebView instead. So we perform DFS to search the view hierarchy (with a depth limit). diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsTest.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsTest.mm index 3340c358dc5ef..20b4e2936c8d9 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsTest.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViewsTest.mm @@ -3198,7 +3198,14 @@ - (void)testFlutterPlatformViewTouchesEndedOrTouchesCancelledEventDoesNotFailThe [(FlutterTouchInterceptingView*)touchInteceptorView blockGesture]; - if (@available(iOS 18.2, *)) { + BOOL shouldReAddDelayingRecognizer = NO; + if (@available(iOS 26.0, *)) { + // TODO(hellohuanlin): find a solution for iOS 26, + // https://github.com/flutter/flutter/issues/175099. + } else if (@available(iOS 18.2, *)) { + shouldReAddDelayingRecognizer = YES; + } + if (shouldReAddDelayingRecognizer) { // Since we remove and add back delayingRecognizer, it would be reordered to the last. XCTAssertEqual(touchInteceptorView.gestureRecognizers[0], forwardingRecognizer); XCTAssertEqual(touchInteceptorView.gestureRecognizers[1], delayingRecognizer); @@ -3261,7 +3268,14 @@ - (void)testFlutterPlatformViewTouchesEndedOrTouchesCancelledEventDoesNotFailThe [(FlutterTouchInterceptingView*)touchInteceptorView blockGesture]; - if (@available(iOS 18.2, *)) { + BOOL shouldReAddDelayingRecognizer = NO; + if (@available(iOS 26.0, *)) { + // TODO(hellohuanlin): find a solution for iOS 26, + // https://github.com/flutter/flutter/issues/175099. + } else if (@available(iOS 18.2, *)) { + shouldReAddDelayingRecognizer = YES; + } + if (shouldReAddDelayingRecognizer) { // Since we remove and add back delayingRecognizer, it would be reordered to the last. XCTAssertEqual(touchInteceptorView.gestureRecognizers[0], forwardingRecognizer); XCTAssertEqual(touchInteceptorView.gestureRecognizers[1], delayingRecognizer); @@ -3812,8 +3826,10 @@ - (int)alphaOfPoint:(CGPoint)point onView:(UIView*)view { CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); // Draw the pixel on `point` in the context. - CGContextRef context = CGBitmapContextCreate( - pixel, 1, 1, 8, 4, colorSpace, kCGBitmapAlphaInfoMask & kCGImageAlphaPremultipliedLast); + CGContextRef context = + CGBitmapContextCreate(pixel, 1, 1, 8, 4, colorSpace, + static_cast(kCGBitmapAlphaInfoMask) & + static_cast(kCGImageAlphaPremultipliedLast)); CGContextTranslateCTM(context, -point.x, -point.y); [view.layer renderInContext:context]; diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate.m b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate.m index 6817ad22d16a5..25e6f21404339 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate.m +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate.m @@ -6,30 +6,48 @@ #import "flutter/shell/platform/darwin/common/framework/Headers/FlutterMacros.h" #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate_Internal.h" +#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.h" #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSharedApplication.h" FLUTTER_ASSERT_ARC +@interface FlutterSceneDelegate () +@end + @implementation FlutterSceneDelegate +@synthesize sceneLifeCycleDelegate = _sceneLifeCycleDelegate; + +- (instancetype)init { + if (self = [super init]) { + _sceneLifeCycleDelegate = [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + } + return self; +} + - (void)scene:(UIScene*)scene willConnectToSession:(UISceneSession*)session options:(UISceneConnectionOptions*)connectionOptions { NSObject* appDelegate = FlutterSharedApplication.application.delegate; - if (appDelegate.window.rootViewController) { + if ([appDelegate respondsToSelector:@selector(window)] && appDelegate.window.rootViewController) { NSLog(@"WARNING - The UIApplicationDelegate is setting up the UIWindow and " @"UIWindow.rootViewController at launch. This was deprecated after the " @"UISceneDelegate adoption. Setup logic should be moved to a UISceneDelegate."); // If this is not nil we are running into a case where someone is manually // performing root view controller setup in the UIApplicationDelegate. UIWindowScene* windowScene = (UIWindowScene*)scene; - self.window = [[UIWindow alloc] initWithWindowScene:windowScene]; - self.window.rootViewController = appDelegate.window.rootViewController; - appDelegate.window = self.window; - [self.window makeKeyAndVisible]; + [self moveRootViewControllerFrom:appDelegate to:windowScene]; } } +- (void)moveRootViewControllerFrom:(NSObject*)appDelegate + to:(UIWindowScene*)windowScene { + self.window = [[UIWindow alloc] initWithWindowScene:windowScene]; + self.window.rootViewController = appDelegate.window.rootViewController; + appDelegate.window = self.window; + [self.window makeKeyAndVisible]; +} + - (void)windowScene:(UIWindowScene*)windowScene performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem completionHandler:(void (^)(BOOL succeeded))completionHandler { diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegateTest.m b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegateTest.m index 06e8e88a98ed7..c5eac2dd50198 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegateTest.m +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegateTest.m @@ -10,10 +10,14 @@ #import "flutter/shell/platform/darwin/ios/framework/Headers/FlutterPluginAppLifeCycleDelegate.h" #import "flutter/shell/platform/darwin/ios/framework/Headers/FlutterSceneDelegate.h" #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate_Internal.h" +#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate_Test.h" @interface FlutterSceneDelegateTest : XCTestCase @end +@implementation TestAppDelegate +@end + @implementation FlutterSceneDelegateTest - (void)setUp { @@ -22,6 +26,52 @@ - (void)setUp { - (void)tearDown { } +- (void)testMoveRootViewControllerWhenWindow { + id mockApplication = OCMClassMock([UIApplication class]); + OCMStub([mockApplication sharedApplication]).andReturn(mockApplication); + + id mockAppDelegate = OCMClassMock([FlutterAppDelegate class]); + OCMStub([mockApplication delegate]).andReturn(mockAppDelegate); + + id mockWindow = OCMClassMock([UIWindow class]); + OCMStub([mockAppDelegate window]).andReturn(mockWindow); + + id mockRootViewController = OCMClassMock([UIViewController class]); + OCMStub([mockWindow rootViewController]).andReturn(mockRootViewController); + + id scene = OCMClassMock([UIWindowScene class]); + id session = OCMClassMock([UISceneSession class]); + id connectionOptions = OCMClassMock([UISceneConnectionOptions class]); + + FlutterSceneDelegate* sceneDelegate = [[FlutterSceneDelegate alloc] init]; + id mockSceneDelegate = OCMPartialMock(sceneDelegate); + OCMStub([mockSceneDelegate moveRootViewControllerFrom:[OCMArg any] to:[OCMArg any]]); + + [mockSceneDelegate scene:scene willConnectToSession:session options:connectionOptions]; + + OCMVerify(times(1), [mockSceneDelegate moveRootViewControllerFrom:mockAppDelegate to:scene]); +} + +- (void)testMoveRootViewControllerWhenNoWindow { + id mockApplication = OCMClassMock([UIApplication class]); + OCMStub([mockApplication sharedApplication]).andReturn(mockApplication); + + id testAppDelegate = [[TestAppDelegate alloc] init]; + OCMStub([mockApplication delegate]).andReturn(testAppDelegate); + + id scene = OCMClassMock([UIWindowScene class]); + id session = OCMClassMock([UISceneSession class]); + id connectionOptions = OCMClassMock([UISceneConnectionOptions class]); + + FlutterSceneDelegate* sceneDelegate = [[FlutterSceneDelegate alloc] init]; + id mockSceneDelegate = OCMPartialMock(sceneDelegate); + OCMStub([mockSceneDelegate moveRootViewControllerFrom:[OCMArg any] to:[OCMArg any]]); + + [mockSceneDelegate scene:scene willConnectToSession:session options:connectionOptions]; + + OCMReject([mockSceneDelegate moveRootViewControllerFrom:[OCMArg any] to:[OCMArg any]]); +} + - (void)testBridgeShortcut { id mockApplication = OCMClassMock([UIApplication class]); OCMStub([mockApplication sharedApplication]).andReturn(mockApplication); diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate_Test.h b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate_Test.h new file mode 100644 index 0000000000000..928aa87391186 --- /dev/null +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneDelegate_Test.h @@ -0,0 +1,19 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENEDELEGATE_TEST_H_ +#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENEDELEGATE_TEST_H_ + +// Category to add test-only visibility. +@interface FlutterSceneDelegate (Test) + +- (void)moveRootViewControllerFrom:(NSObject*)appDelegate + to:(UIWindowScene*)windowScene; + +@end + +@interface TestAppDelegate : UIResponder +@end + +#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENEDELEGATE_TEST_H_ diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.h b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.h new file mode 100644 index 0000000000000..90fc54ddc3104 --- /dev/null +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.h @@ -0,0 +1,29 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENELIFECYCLE_H_ +#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENELIFECYCLE_H_ + +#import "flutter/shell/platform/darwin/ios/framework/Headers/FlutterViewController.h" + +/** + * Propagates `UIWindowSceneDelegate` callbacks to the `FlutterEngine` to then be propograted to + * registered plugins. + */ +@interface FlutterPluginSceneLifeCycleDelegate : NSObject + +- (void)addFlutterEngine:(FlutterEngine*)engine; + +- (void)removeFlutterEngine:(FlutterEngine*)engine; +@end + +/** + * Implement this in the `UIWindowSceneDelegate` of your app to enable Flutter plugins to register + * themselves to the scene life cycle events. + */ +@protocol FlutterSceneLifeCycleProvider +@property(nonatomic, strong) FlutterPluginSceneLifeCycleDelegate* sceneLifeCycleDelegate; +@end + +#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENELIFECYCLE_H_ diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.mm new file mode 100644 index 0000000000000..25441d123f002 --- /dev/null +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.mm @@ -0,0 +1,89 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.h" +#import "flutter/shell/platform/darwin/common/framework/Headers/FlutterMacros.h" + +FLUTTER_ASSERT_ARC + +@interface FlutterPluginSceneLifeCycleDelegate () + +/** + * An array of weak pointers to `FlutterEngine`s that have views within this scene. + * + * This array is lazily cleaned up. `updateEnginesInScene:` should be called before use to ensure it + * is up-to-date. + */ +@property(nonatomic, strong) NSPointerArray* engines; +@end + +@implementation FlutterPluginSceneLifeCycleDelegate +- (instancetype)init { + if (self = [super init]) { + _engines = [NSPointerArray weakObjectsPointerArray]; + } + return self; +} + +- (void)addFlutterEngine:(FlutterEngine*)engine { + // Check if the engine is already in the array to avoid duplicates. + if ([self.engines.allObjects containsObject:engine]) { + return; + } + + [self.engines addPointer:(__bridge void*)engine]; + + // NSPointerArray is clever and assumes that unless a mutation operation has occurred on it that + // has set one of its values to nil, nothing could have changed and it can skip compaction. + // That's reasonable behaviour on a regular NSPointerArray but not for a weakObjectPointerArray. + // As a workaround, we mutate it first. See: http://www.openradar.me/15396578 + [self.engines addPointer:nil]; + [self.engines compact]; +} + +- (void)removeFlutterEngine:(FlutterEngine*)engine { + NSUInteger index = [self.engines.allObjects indexOfObject:engine]; + if (index != NSNotFound) { + [self.engines removePointerAtIndex:index]; + } +} + +- (void)updateEnginesInScene:(UIScene*)scene { + // Removes engines that are no longer in the scene or have been deallocated. + // + // This also handles the case where a FlutterEngine's view has been moved to a different scene. + for (NSUInteger i = 0; i < self.engines.count; i++) { + FlutterEngine* engine = (FlutterEngine*)[self.engines pointerAtIndex:i]; + + // The engine may be nil if it has been deallocated. + if (engine == nil) { + [self.engines removePointerAtIndex:i]; + i--; + continue; + } + + // There aren't any events that inform us when a UIWindow changes scenes. + // If a developer moves an entire UIWindow to a different scene and that window has a + // FlutterView inside of it, its engine will still be in its original scene's + // FlutterPluginSceneLifeCycleDelegate. The best we can do is move the engine to the correct + // scene here. Due to this, when moving a UIWindow from one scene to another, its first scene + // event may be lost. Since Flutter does not fully support multi-scene and this is an edge + // case, this is a loss we can deal with. To workaround this, the developer can move the + // UIView instead of the UIWindow, which will use willMoveToWindow to add/remove the engine from + // the scene. + UIWindowScene* engineScene = engine.viewController.view.window.windowScene; + if (engineScene != nil && engineScene != scene) { + [self.engines removePointerAtIndex:i]; + i--; + + if ([engineScene.delegate conformsToProtocol:@protocol(FlutterSceneLifeCycleProvider)]) { + id lifeCycleProvider = + (id)engineScene.delegate; + [lifeCycleProvider.sceneLifeCycleDelegate addFlutterEngine:engine]; + } + continue; + } + } +} +@end diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycleTest.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycleTest.mm new file mode 100644 index 0000000000000..54db970f1834e --- /dev/null +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycleTest.mm @@ -0,0 +1,137 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import +#import +#import + +#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.h" +#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle_Test.h" + +FLUTTER_ASSERT_ARC + +@interface FlutterSceneLifecycleTest : XCTestCase +@end + +@implementation FlutterSceneLifecycleTest +- (void)setUp { +} + +- (void)tearDown { +} + +- (void)testAddFlutterEngine { + FlutterPluginSceneLifeCycleDelegate* delegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + + id mockEngine = OCMClassMock([FlutterEngine class]); + [delegate addFlutterEngine:mockEngine]; + XCTAssertEqual(delegate.engines.count, 1.0); +} + +- (void)testAddDuplicateFlutterEngine { + FlutterPluginSceneLifeCycleDelegate* delegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + + id mockEngine = OCMClassMock([FlutterEngine class]); + [delegate addFlutterEngine:mockEngine]; + [delegate addFlutterEngine:mockEngine]; + XCTAssertEqual(delegate.engines.count, 1.0); +} + +- (void)testAddMultipleFlutterEngine { + FlutterPluginSceneLifeCycleDelegate* delegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + + id mockEngine = OCMClassMock([FlutterEngine class]); + [delegate addFlutterEngine:mockEngine]; + + id mockEngine2 = OCMClassMock([FlutterEngine class]); + [delegate addFlutterEngine:mockEngine2]; + + XCTAssertEqual(delegate.engines.count, 2.0); +} + +- (void)testRemoveFlutterEngine { + FlutterPluginSceneLifeCycleDelegate* delegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + + id mockEngine = OCMClassMock([FlutterEngine class]); + [delegate addFlutterEngine:mockEngine]; + XCTAssertEqual(delegate.engines.count, 1.0); + + [delegate removeFlutterEngine:mockEngine]; + XCTAssertEqual(delegate.engines.count, 0.0); +} + +- (void)testRemoveNotFoundFlutterEngine { + FlutterPluginSceneLifeCycleDelegate* delegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + + id mockEngine = OCMClassMock([FlutterEngine class]); + XCTAssertEqual(delegate.engines.count, 0.0); + + [delegate removeFlutterEngine:mockEngine]; + XCTAssertEqual(delegate.engines.count, 0.0); +} + +- (void)testUpdateEnginesInSceneRemovesDeallocatedEngine { + FlutterPluginSceneLifeCycleDelegate* delegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + + @autoreleasepool { + id mockEngine = OCMClassMock([FlutterEngine class]); + [delegate addFlutterEngine:mockEngine]; + XCTAssertEqual(delegate.engines.count, 1.0); + } + + id mockWindowScene = OCMClassMock([UIWindowScene class]); + + [delegate updateEnginesInScene:mockWindowScene]; + XCTAssertEqual(delegate.engines.count, 0.0); +} + +- (void)testUpdateEnginesInSceneRemovesEngineNotInScene { + FlutterPluginSceneLifeCycleDelegate* delegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + + id mockEngine = OCMClassMock([FlutterEngine class]); + id mockViewController = OCMClassMock([UIViewController class]); + id mockView = OCMClassMock([UIView class]); + id mockWindow = OCMClassMock([UIWindow class]); + id mockWindowScene = OCMClassMock([UIWindowScene class]); + id mockLifecycleProvider = OCMProtocolMock(@protocol(FlutterSceneLifeCycleProvider)); + id mockLifecycleDelegate = OCMClassMock([FlutterPluginSceneLifeCycleDelegate class]); + OCMStub([mockEngine viewController]).andReturn(mockViewController); + OCMStub([mockViewController view]).andReturn(mockView); + OCMStub([mockView window]).andReturn(mockWindow); + OCMStub([mockWindow windowScene]).andReturn(mockWindowScene); + OCMStub([mockWindow windowScene]).andReturn(mockWindowScene); + OCMStub([mockWindowScene delegate]).andReturn(mockLifecycleProvider); + OCMStub([mockLifecycleProvider sceneLifeCycleDelegate]).andReturn(mockLifecycleDelegate); + + [delegate addFlutterEngine:mockEngine]; + XCTAssertEqual(delegate.engines.count, 1.0); + + id mockWindowScene2 = OCMClassMock([UIWindowScene class]); + + [delegate updateEnginesInScene:mockWindowScene2]; + OCMVerify(times(1), [mockLifecycleDelegate addFlutterEngine:mockEngine]); + XCTAssertEqual(delegate.engines.count, 0.0); +} + +- (void)testUpdateEnginesInSceneDoesNotRemoveEngineWithNilScene { + FlutterPluginSceneLifeCycleDelegate* delegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + id mockEngine = OCMClassMock([FlutterEngine class]); + [delegate addFlutterEngine:mockEngine]; + XCTAssertEqual(delegate.engines.count, 1.0); + + id mockWindowScene = OCMClassMock([UIWindowScene class]); + + [delegate updateEnginesInScene:mockWindowScene]; + XCTAssertEqual(delegate.engines.count, 1.0); +} + +@end diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle_Test.h b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle_Test.h new file mode 100644 index 0000000000000..bc6c7737d0412 --- /dev/null +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle_Test.h @@ -0,0 +1,15 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENELIFECYCLE_TEST_H_ +#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENELIFECYCLE_TEST_H_ + +// Category to add test-only visibility. +@interface FlutterPluginSceneLifeCycleDelegate (Test) +@property(nonatomic, strong) NSPointerArray* engines; + +- (void)updateEnginesInScene:(UIScene*)scene; +@end + +#endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERSCENELIFECYCLE_TEST_H_ diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputDelegate.h b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputDelegate.h index d2464dcbd10e0..350a433272c81 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputDelegate.h +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputDelegate.h @@ -73,6 +73,9 @@ typedef NS_ENUM(NSInteger, FlutterFloatingCursorDragState) { searchWebWithSelectedText:(NSString*)selectedText; - (void)flutterTextInputView:(FlutterTextInputView*)textInputView lookUpSelectedText:(NSString*)selectedText; +- (void)flutterTextInputView:(FlutterTextInputView*)textInputView + performContextMenuCustomActionWithActionID:(NSString*)actionID + textInputClient:(int)client; @end #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_SOURCE_FLUTTERTEXTINPUTDELEGATE_H_ diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm index 1aaaa311df7e6..51324de6f2741 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm @@ -1003,6 +1003,26 @@ - (UIMenu*)editMenuInteraction:(UIEditMenuInteraction*)interaction selector:@selector(captureTextFromCamera:) suggestedMenu:suggestedMenu]; } + } else if ([type isEqualToString:@"custom"]) { + NSString* callbackId = encodedItem[@"id"]; + NSString* title = encodedItem[@"title"]; + if (callbackId && title) { + __weak FlutterTextInputView* weakSelf = self; + UIAction* action = [UIAction + actionWithTitle:title + image:nil + identifier:nil + handler:^(__kindof UIAction* _Nonnull action) { + FlutterTextInputView* strongSelf = weakSelf; + if (strongSelf) { + [strongSelf.textInputDelegate flutterTextInputView:strongSelf + performContextMenuCustomActionWithActionID:callbackId + textInputClient:strongSelf-> + _textInputClient]; + } + }]; + [items addObject:action]; + } } } return [UIMenu menuWithChildren:items]; @@ -1025,6 +1045,7 @@ - (void)showEditMenuWithTargetRect:(CGRect)targetRect items:(NSArray*)items API_AVAILABLE(ios(16.0)) { _editMenuTargetRect = targetRect; _editMenuItems = items; + UIEditMenuConfiguration* config = [UIEditMenuConfiguration configurationWithIdentifier:nil sourcePoint:CGPointZero]; [self.editMenuInteraction presentEditMenuWithConfiguration:config]; diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPluginTest.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPluginTest.mm index a0c631213620b..cbe61ccea79ce 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPluginTest.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterTextInputPluginTest.mm @@ -3864,4 +3864,120 @@ - (void)testInteractiveKeyboardShowKeyboardAndRemoveScreenshotAnimationIsReenabl [self waitForExpectations:@[ expectation ] timeout:10.0]; } +- (void)testEditMenu_shouldCreateCustomMenuItemWithCorrectProperties { + if (@available(iOS 16.0, *)) { + FlutterTextInputPlugin* myInputPlugin = + [[FlutterTextInputPlugin alloc] initWithDelegate:OCMClassMock([FlutterEngine class])]; + FlutterViewController* myViewController = [[FlutterViewController alloc] init]; + myInputPlugin.viewController = myViewController; + [myViewController loadView]; + + FlutterMethodCall* setClientCall = + [FlutterMethodCall methodCallWithMethodName:@"TextInput.setClient" + arguments:@[ @(123), self.mutableTemplateCopy ]]; + [myInputPlugin handleMethodCall:setClientCall + result:^(id _Nullable result){ + }]; + + FlutterTextInputView* myInputView = myInputPlugin.activeView; + FlutterTextInputView* mockInputView = OCMPartialMock(myInputView); + OCMStub([mockInputView isFirstResponder]).andReturn(YES); + + id mockInteraction = OCMClassMock([UIEditMenuInteraction class]); + OCMStub([mockInputView editMenuInteraction]).andReturn(mockInteraction); + + NSDictionary* encodedTargetRect = + @{@"x" : @(0), @"y" : @(0), @"width" : @(100), @"height" : @(50)}; + + NSArray* encodedItems = @[ + @{@"type" : @"custom", @"id" : @"custom-action-1", @"title" : @"Custom Action 1"}, + @{@"type" : @"custom", @"id" : @"custom-action-2", @"title" : @"Custom Action 2"}, + ]; + + BOOL shownEditMenu = + [myInputPlugin showEditMenu:@{@"targetRect" : encodedTargetRect, @"items" : encodedItems}]; + XCTAssertTrue(shownEditMenu, @"Should show edit menu"); + + UIMenu* menu = [myInputView editMenuInteraction:mockInteraction + menuForConfiguration:OCMClassMock([UIEditMenuConfiguration class]) + suggestedActions:@[]]; + + XCTAssertEqual(menu.children.count, 2UL, @"Should create 2 custom menu items"); + UIAction* firstAction = (UIAction*)menu.children[0]; + UIAction* secondAction = (UIAction*)menu.children[1]; + XCTAssertEqualObjects(firstAction.title, @"Custom Action 1", + @"First action title should match"); + XCTAssertEqualObjects(secondAction.title, @"Custom Action 2", + @"Second action title should match"); + } +} + +- (void)testEditMenu_customActionShouldTriggerDelegateCallback { + if (@available(iOS 16.0, *)) { + id mockEngine = OCMClassMock([FlutterEngine class]); + id mockPlatformChannel = OCMClassMock([FlutterMethodChannel class]); + OCMStub([mockEngine platformChannel]).andReturn(mockPlatformChannel); + + OCMStub([mockEngine flutterTextInputView:[OCMArg any] + performContextMenuCustomActionWithActionID:@"test-callback-id" + textInputClient:123]) + .andDo((^(NSInvocation* invocation) { + [mockPlatformChannel invokeMethod:@"ContextMenu.onPerformCustomAction" + arguments:@[ @(123), @"test-callback-id" ]]; + })); + + FlutterTextInputPlugin* myInputPlugin = + [[FlutterTextInputPlugin alloc] initWithDelegate:mockEngine]; + FlutterViewController* myViewController = [[FlutterViewController alloc] init]; + myInputPlugin.viewController = myViewController; + [myViewController loadView]; + + FlutterMethodCall* setClientCall = + [FlutterMethodCall methodCallWithMethodName:@"TextInput.setClient" + arguments:@[ @(123), self.mutableTemplateCopy ]]; + [myInputPlugin handleMethodCall:setClientCall + result:^(id _Nullable result){ + }]; + + FlutterTextInputView* myInputView = myInputPlugin.activeView; + FlutterTextInputView* mockInputView = OCMPartialMock(myInputView); + OCMStub([mockInputView isFirstResponder]).andReturn(YES); + XCTestExpectation* expectation = [[XCTestExpectation alloc] + initWithDescription:@"Custom action delegate callback should be called"]; + OCMStub(([mockPlatformChannel invokeMethod:@"ContextMenu.onPerformCustomAction" + arguments:@[ @(123), @"test-callback-id" ]])) + .andDo(^(NSInvocation* invocation) { + [expectation fulfill]; + }); + id mockInteraction = OCMClassMock([UIEditMenuInteraction class]); + OCMStub([mockInputView editMenuInteraction]).andReturn(mockInteraction); + + NSDictionary* encodedTargetRect = + @{@"x" : @(0), @"y" : @(0), @"width" : @(100), @"height" : @(50)}; + + NSArray* encodedItems = @[ + @{@"type" : @"custom", @"id" : @"test-callback-id", @"title" : @"Test Action"}, + ]; + + BOOL shownEditMenu = + [myInputPlugin showEditMenu:@{@"targetRect" : encodedTargetRect, @"items" : encodedItems}]; + XCTAssertTrue(shownEditMenu, @"Should show edit menu"); + + UIMenu* menu = [myInputView editMenuInteraction:mockInteraction + menuForConfiguration:OCMClassMock([UIEditMenuConfiguration class]) + suggestedActions:@[]]; + + XCTAssertEqual(menu.children.count, 1UL, @"Should have 1 custom menu item"); + UIAction* customAction = (UIAction*)menu.children[0]; + XCTAssertEqualObjects(customAction.title, @"Test Action", @"Action title should match"); + + [myInputView.textInputDelegate flutterTextInputView:myInputView + performContextMenuCustomActionWithActionID:@"test-callback-id" + textInputClient:123]; + + [self waitForExpectations:@[ expectation ] timeout:1.0]; + OCMVerifyAll(mockPlatformChannel); + } +} + @end diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterView.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterView.mm index 61d950b30e71f..4e5df7a26f130 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterView.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterView.mm @@ -5,6 +5,7 @@ #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterView.h" #include "flutter/fml/platform/darwin/cf_utils.h" +#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.h" #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSharedApplication.h" #import "flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.h" @@ -241,4 +242,30 @@ - (BOOL)isAccessibilityElement { return nil; } +- (void)willMoveToWindow:(UIWindow*)newWindow { + // When a FlutterView moves windows, it may also be moving scenes. Add/remove the FlutterEngine + // from the FlutterSceneLifeCycleProvider.sceneLifeCycleDelegate if it changes scenes. + UIWindowScene* newScene = newWindow.windowScene; + UIWindowScene* previousScene = self.window.windowScene; + if (newScene == previousScene) { + return; + } + if ([newScene.delegate conformsToProtocol:@protocol(FlutterSceneLifeCycleProvider)]) { + id lifeCycleProvider = + (id)newScene.delegate; + [lifeCycleProvider.sceneLifeCycleDelegate addFlutterEngine:(FlutterEngine*)self.delegate]; + } + + if ([previousScene.delegate conformsToProtocol:@protocol(FlutterSceneLifeCycleProvider)]) { + // The window, and therefore windowScene, property may be nil if the receiver does not currently + // reside in any window. This occurs when the receiver has just been removed from its superview + // or when the receiver has just been added to a superview that is not attached to a window. + // Remove the engine from the previous scene if set since it is no longer in that window and + // scene. + id lifeCycleProvider = + (id)previousScene.delegate; + [lifeCycleProvider.sceneLifeCycleDelegate removeFlutterEngine:(FlutterEngine*)self.delegate]; + } +} + @end diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm index 1e5aa0a4489e0..f7fd6cd518db6 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterViewController.mm @@ -1478,6 +1478,11 @@ - (void)setViewportMetricsSize { CGFloat scale = screen.scale; _viewportMetrics.physical_width = self.view.bounds.size.width * scale; _viewportMetrics.physical_height = self.view.bounds.size.height * scale; + // TODO(louisehsu): update for https://github.com/flutter/flutter/issues/169147 + _viewportMetrics.physical_min_width_constraint = _viewportMetrics.physical_width; + _viewportMetrics.physical_max_width_constraint = _viewportMetrics.physical_width; + _viewportMetrics.physical_min_height_constraint = _viewportMetrics.physical_height; + _viewportMetrics.physical_max_height_constraint = _viewportMetrics.physical_height; } // Set _viewportMetrics physical paddings. diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterViewTest.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterViewTest.mm index 3b686dea82607..c04da93b16716 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterViewTest.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/FlutterViewTest.mm @@ -2,8 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#import #import +#import "flutter/shell/platform/darwin/ios/framework/Headers/FlutterEngine.h" +#import "flutter/shell/platform/darwin/ios/framework/Headers/FlutterSceneDelegate.h" +#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle.h" +#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterSceneLifecycle_Test.h" #import "flutter/shell/platform/darwin/ios/framework/Source/FlutterView.h" FLUTTER_ASSERT_ARC @@ -64,4 +69,155 @@ - (void)testLayerScalesMatchScreenAfterLayoutSubviews { XCTAssertEqual(view.layer.rasterizationScale, screen.scale); } +- (void)testViewWillMoveToWindow { + NSDictionary* mocks = [self createWindowMocks]; + FlutterView* view = (FlutterView*)mocks[@"view"]; + id mockLifecycleDelegate = mocks[@"mockLifecycleDelegate"]; + FlutterPluginSceneLifeCycleDelegate* lifecycleDelegate = + (FlutterPluginSceneLifeCycleDelegate*)mocks[@"lifecycleDelegate"]; + id mockEngine = mocks[@"mockEngine"]; + id mockWindow = mocks[@"mockWindow"]; + + [view willMoveToWindow:mockWindow]; + OCMVerify(times(1), [mockLifecycleDelegate addFlutterEngine:mockEngine]); + XCTAssertEqual(lifecycleDelegate.engines.count, 1.0); +} + +- (void)testViewWillMoveToSameWindow { + NSDictionary* mocks = [self createWindowMocks]; + FlutterView* view = (FlutterView*)mocks[@"view"]; + id mockLifecycleDelegate = mocks[@"mockLifecycleDelegate"]; + FlutterPluginSceneLifeCycleDelegate* lifecycleDelegate = + (FlutterPluginSceneLifeCycleDelegate*)mocks[@"lifecycleDelegate"]; + id mockEngine = mocks[@"mockEngine"]; + id mockWindow = mocks[@"mockWindow"]; + + [view willMoveToWindow:mockWindow]; + [view willMoveToWindow:mockWindow]; + + OCMVerify(times(2), [mockLifecycleDelegate addFlutterEngine:mockEngine]); + XCTAssertEqual(lifecycleDelegate.engines.count, 1.0); +} + +- (void)testMultipleViewsWillMoveToSameWindow { + NSDictionary* mocks = [self createWindowMocks]; + FlutterView* view1 = (FlutterView*)mocks[@"view"]; + id mockLifecycleDelegate = mocks[@"mockLifecycleDelegate"]; + FlutterPluginSceneLifeCycleDelegate* lifecycleDelegate = + (FlutterPluginSceneLifeCycleDelegate*)mocks[@"lifecycleDelegate"]; + id mockEngine1 = mocks[@"mockEngine"]; + id mockWindow1 = mocks[@"mockWindow"]; + + id mockEngine2 = OCMClassMock([FlutterEngine class]); + FlutterView* view2 = [[FlutterView alloc] initWithDelegate:mockEngine2 + opaque:NO + enableWideGamut:NO]; + + [view1 willMoveToWindow:mockWindow1]; + [view2 willMoveToWindow:mockWindow1]; + [view1 willMoveToWindow:mockWindow1]; + OCMVerify(times(2), [mockLifecycleDelegate addFlutterEngine:mockEngine1]); + OCMVerify(times(1), [mockLifecycleDelegate addFlutterEngine:mockEngine2]); + XCTAssertEqual(lifecycleDelegate.engines.count, 2.0); +} + +- (void)testMultipleViewsWillMoveToDifferentWindow { + NSDictionary* mocks = [self createWindowMocks]; + FlutterView* view1 = (FlutterView*)mocks[@"view"]; + id mockLifecycleDelegate1 = mocks[@"mockLifecycleDelegate"]; + FlutterPluginSceneLifeCycleDelegate* lifecycleDelegate1 = + (FlutterPluginSceneLifeCycleDelegate*)mocks[@"lifecycleDelegate"]; + id mockEngine1 = mocks[@"mockEngine"]; + id mockWindow1 = mocks[@"mockWindow"]; + + NSDictionary* mocks2 = [self createWindowMocks]; + FlutterView* view2 = (FlutterView*)mocks2[@"view"]; + id mockLifecycleDelegate2 = mocks2[@"mockLifecycleDelegate"]; + FlutterPluginSceneLifeCycleDelegate* lifecycleDelegate2 = + (FlutterPluginSceneLifeCycleDelegate*)mocks2[@"lifecycleDelegate"]; + id mockEngine2 = mocks2[@"mockEngine"]; + id mockWindow2 = mocks2[@"mockWindow"]; + + [view1 willMoveToWindow:mockWindow1]; + [view2 willMoveToWindow:mockWindow2]; + [view1 willMoveToWindow:mockWindow1]; + OCMVerify(times(2), [mockLifecycleDelegate1 addFlutterEngine:mockEngine1]); + OCMVerify(times(1), [mockLifecycleDelegate2 addFlutterEngine:mockEngine2]); + XCTAssertEqual(lifecycleDelegate1.engines.count, 1.0); + XCTAssertEqual(lifecycleDelegate2.engines.count, 1.0); +} + +- (void)testNilWindowForViewWhenNoPrevious { + id mockEngine = OCMClassMock([FlutterEngine class]); + FlutterView* view = [[FlutterView alloc] initWithDelegate:mockEngine + opaque:NO + enableWideGamut:NO]; + [view willMoveToWindow:nil]; +} + +- (void)testNilWindowForViewWhenPrevious { + NSDictionary* mocks = [self createWindowMocks]; + FlutterView* view = (FlutterView*)mocks[@"view"]; + id mockLifecycleDelegate = mocks[@"mockLifecycleDelegate"]; + FlutterPluginSceneLifeCycleDelegate* lifecycleDelegate = + (FlutterPluginSceneLifeCycleDelegate*)mocks[@"lifecycleDelegate"]; + id mockEngine = mocks[@"mockEngine"]; + id mockWindow = mocks[@"mockWindow"]; + + id mockView = OCMPartialMock(view); + OCMStub([mockView window]).andReturn(mockWindow); + + [mockView willMoveToWindow:nil]; + + OCMVerify(times(1), [mockLifecycleDelegate removeFlutterEngine:mockEngine]); + XCTAssertEqual(lifecycleDelegate.engines.count, 0.0); +} + +- (void)testViewWillMoveToWindowWhenPreviousEqualsNew { + NSDictionary* mocks = [self createWindowMocks]; + FlutterView* view = (FlutterView*)mocks[@"view"]; + id mockLifecycleDelegate = mocks[@"mockLifecycleDelegate"]; + FlutterPluginSceneLifeCycleDelegate* lifecycleDelegate = + (FlutterPluginSceneLifeCycleDelegate*)mocks[@"lifecycleDelegate"]; + id mockEngine = mocks[@"mockEngine"]; + id mockWindow = mocks[@"mockWindow"]; + + id mockView = OCMPartialMock(view); + OCMStub([mockView window]).andReturn(mockWindow); + + [mockView willMoveToWindow:mockWindow]; + + OCMVerify(times(0), [mockLifecycleDelegate addFlutterEngine:mockEngine]); + OCMVerify(times(0), [mockLifecycleDelegate removeFlutterEngine:[OCMArg any]]); + XCTAssertEqual(lifecycleDelegate.engines.count, 0.0); +} + +- (NSDictionary*)createWindowMocks { + id mockEngine = OCMClassMock([FlutterEngine class]); + FlutterView* view = [[FlutterView alloc] initWithDelegate:mockEngine + opaque:NO + enableWideGamut:NO]; + id mockWindow = OCMClassMock([UIWindow class]); + id mockWindowScene = OCMClassMock([UIWindowScene class]); + + FlutterSceneDelegate* sceneDelegate = [[FlutterSceneDelegate alloc] init]; + id mockSceneDelegate = OCMPartialMock(sceneDelegate); + + FlutterPluginSceneLifeCycleDelegate* lifecycleDelegate = + [[FlutterPluginSceneLifeCycleDelegate alloc] init]; + id mockLifecycleDelegate = OCMPartialMock(lifecycleDelegate); + + OCMStub([mockWindow windowScene]).andReturn(mockWindowScene); + OCMStub([mockWindowScene delegate]).andReturn(mockSceneDelegate); + OCMStub([mockSceneDelegate sceneLifeCycleDelegate]).andReturn(mockLifecycleDelegate); + + return @{ + @"view" : view, + @"mockLifecycleDelegate" : mockLifecycleDelegate, + @"lifecycleDelegate" : lifecycleDelegate, + @"mockEngine" : mockEngine, + @"mockWindow" : mockWindow, + }; +} + @end diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.mm index 7b0dab4333d53..b4b344b87fa04 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/SemanticsObject.mm @@ -123,7 +123,8 @@ - (void)forwardInvocation:(NSInvocation*)anInvocation { } - (NSString*)accessibilityValue { - self.nativeSwitch.on = self.node.flags.isToggled || self.node.flags.isChecked; + self.nativeSwitch.on = self.node.flags.isToggled == flutter::SemanticsTristate::kTrue || + self.node.flags.isChecked == flutter::SemanticsCheckState::kTrue; if (![self isAccessibilityBridgeAlive]) { return nil; @@ -133,7 +134,7 @@ - (NSString*)accessibilityValue { } - (UIAccessibilityTraits)accessibilityTraits { - self.nativeSwitch.enabled = self.node.flags.isEnabled; + self.nativeSwitch.enabled = self.node.flags.isEnabled == flutter::SemanticsTristate::kTrue; return self.nativeSwitch.accessibilityTraits; } @@ -453,6 +454,17 @@ - (BOOL)isAccessibilityElement { return [self isFocusable]; } +- (NSString*)accessibilityLanguage { + if (![self isAccessibilityBridgeAlive]) { + return nil; + } + + if (self.node.locale.empty()) { + return nil; + } + return @(self.node.locale.data()); +} + - (bool)isFocusable { // If the node is scrollable AND hidden OR // The node has a label, value, or hint OR @@ -613,12 +625,13 @@ - (NSString*)accessibilityValue { } // FlutterSwitchSemanticsObject should supercede these conditionals. - if (self.node.flags.hasToggledState || self.node.flags.hasCheckedState) { - if (self.node.flags.isToggled || self.node.flags.isChecked) { - return @"1"; - } else { - return @"0"; - } + + if (self.node.flags.isToggled == flutter::SemanticsTristate::kTrue || + self.node.flags.isChecked == flutter::SemanticsCheckState::kTrue) { + return @"1"; + } else if (self.node.flags.isToggled == flutter::SemanticsTristate::kFalse || + self.node.flags.isChecked == flutter::SemanticsCheckState::kFalse) { + return @"0"; } return nil; @@ -809,16 +822,17 @@ - (UIAccessibilityTraits)accessibilityTraits { traits |= UIAccessibilityTraitAdjustable; } // This should also capture radio buttons. - if (self.node.flags.hasToggledState || self.node.flags.hasCheckedState) { + if (self.node.flags.isToggled != flutter::SemanticsTristate::kNone || + self.node.flags.isChecked != flutter::SemanticsCheckState::kNone) { traits |= UIAccessibilityTraitButton; } - if (self.node.flags.isSelected) { + if (self.node.flags.isSelected == flutter::SemanticsTristate::kTrue) { traits |= UIAccessibilityTraitSelected; } if (self.node.flags.isButton) { traits |= UIAccessibilityTraitButton; } - if (self.node.flags.hasEnabledState && !self.node.flags.isEnabled) { + if (self.node.flags.isEnabled == flutter::SemanticsTristate::kFalse) { traits |= UIAccessibilityTraitNotEnabled; } if (self.node.flags.isHeader) { diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/SemanticsObjectTest.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/SemanticsObjectTest.mm index f32ad8b43b3c7..225bc799cd657 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/SemanticsObjectTest.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/SemanticsObjectTest.mm @@ -571,6 +571,33 @@ - (void)testFlutterSemanticsObjectHasIdentifier { XCTAssertTrue([object.accessibilityIdentifier isEqualToString:@"identifier"]); } +- (void)testFlutterSemanticsObjectHasLocale { + flutter::testing::MockAccessibilityBridge* mock = new flutter::testing::MockAccessibilityBridge(); + mock->isVoiceOverRunningValue = true; + fml::WeakPtrFactory factory(mock); + fml::WeakPtr bridge = factory.GetWeakPtr(); + + flutter::SemanticsNode node; + node.locale = "es-MX"; + + FlutterSemanticsObject* object = [[FlutterSemanticsObject alloc] initWithBridge:bridge uid:0]; + [object setSemanticsNode:&node]; + XCTAssertTrue([object.accessibilityLanguage isEqualToString:@"es-MX"]); +} + +- (void)testFlutterSemanticsObjectLocaleNil { + flutter::testing::MockAccessibilityBridge* mock = new flutter::testing::MockAccessibilityBridge(); + mock->isVoiceOverRunningValue = true; + fml::WeakPtrFactory factory(mock); + fml::WeakPtr bridge = factory.GetWeakPtr(); + + flutter::SemanticsNode node; + + FlutterSemanticsObject* object = [[FlutterSemanticsObject alloc] initWithBridge:bridge uid:0]; + [object setSemanticsNode:&node]; + XCTAssertTrue(object.accessibilityLanguage == nil); +} + - (void)testFlutterScrollableSemanticsObjectWithLabelValueHintIsNotHiddenWhenVoiceOverIsRunning { flutter::testing::MockAccessibilityBridge* mock = new flutter::testing::MockAccessibilityBridge(); mock->isVoiceOverRunningValue = true; @@ -877,9 +904,8 @@ - (void)testFlutterSwitchSemanticsObjectMatchesUISwitch { // Handle initial setting of node with header. flutter::SemanticsNode node; - node.flags.hasToggledState = true; - node.flags.isToggled = true; - node.flags.isEnabled = true; + node.flags.isToggled = flutter::SemanticsTristate::kTrue; + node.flags.isEnabled = flutter::SemanticsTristate::kTrue; node.label = "foo"; [object setSemanticsNode:&node]; // Create ab real UISwitch to compare the FlutterSwitchSemanticsObject with. @@ -891,9 +917,8 @@ - (void)testFlutterSwitchSemanticsObjectMatchesUISwitch { // Set the toggled to false; flutter::SemanticsNode update; - update.flags.hasToggledState = true; - update.flags.isToggled = false; - update.flags.isEnabled = true; + update.flags.isToggled = flutter::SemanticsTristate::kFalse; + update.flags.isEnabled = flutter::SemanticsTristate::kTrue; update.label = "foo"; [object setSemanticsNode:&update]; @@ -913,9 +938,8 @@ - (void)testFlutterSemanticsObjectOfRadioButton { // Handle initial setting of node with header. flutter::SemanticsNode node; node.flags.isInMutuallyExclusiveGroup = true; - node.flags.hasCheckedState = true; - node.flags.hasEnabledState = true; - node.flags.isEnabled = true; + node.flags.isChecked = flutter::SemanticsCheckState::kFalse; + node.flags.isEnabled = flutter::SemanticsTristate::kTrue; node.label = "foo"; [object setSemanticsNode:&node]; XCTAssertTrue((object.accessibilityTraits & UIAccessibilityTraitButton) > 0); @@ -931,8 +955,7 @@ - (void)testFlutterSwitchSemanticsObjectMatchesUISwitchDisabled { // Handle initial setting of node with header. flutter::SemanticsNode node; - node.flags.hasToggledState = true; - node.flags.isToggled = true; + node.flags.isToggled = flutter::SemanticsTristate::kTrue; node.label = "foo"; [object setSemanticsNode:&node]; // Create ab real UISwitch to compare the FlutterSwitchSemanticsObject with. diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/TextInputSemanticsObject.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/TextInputSemanticsObject.mm index 1c329f7823a8e..8b24e1b743c8c 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/TextInputSemanticsObject.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/TextInputSemanticsObject.mm @@ -212,7 +212,7 @@ - (void)setSemanticsNode:(const flutter::SemanticsNode*)node { [super setSemanticsNode:node]; _inactive_text_input.text = @(node->value.data()); FlutterTextInputView* textInput = (FlutterTextInputView*)[self bridge]->textInputView(); - if ([self node].flags.isFocused) { + if ([self node].flags.isFocused == flutter::SemanticsTristate::kTrue) { textInput.backingTextInputAccessibilityObject = self; // The text input view must have a non-trivial size for the accessibility // system to send text editing events. @@ -233,7 +233,7 @@ - (void)setSemanticsNode:(const flutter::SemanticsNode*)node { * we use an FlutterInactiveTextInput. */ - (UIView*)textInputSurrogate { - if ([self node].flags.isFocused) { + if ([self node].flags.isFocused == flutter::SemanticsTristate::kTrue) { return [self bridge]->textInputView(); } else { return _inactive_text_input; @@ -264,7 +264,7 @@ - (BOOL)accessibilityElementIsFocused { if (![self isAccessibilityBridgeAlive]) { return false; } - return [self node].flags.isFocused; + return [self node].flags.isFocused == flutter::SemanticsTristate::kTrue; } - (BOOL)accessibilityActivate { diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm index b509673e5c4bd..db5100fbd16b5 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm @@ -268,7 +268,8 @@ static void ReplaceSemanticsObject(SemanticsObject* oldObject, // Text fields are backed by objects that implement UITextInput. return [[TextInputSemanticsObject alloc] initWithBridge:weak_ptr uid:node.id]; } else if (!node.flags.isInMutuallyExclusiveGroup && - (node.flags.hasToggledState || node.flags.hasCheckedState)) { + (node.flags.isToggled != flutter::SemanticsTristate::kNone || + node.flags.isChecked != flutter::SemanticsCheckState::kNone)) { return [[FlutterSwitchSemanticsObject alloc] initWithBridge:weak_ptr uid:node.id]; } else if (node.flags.hasImplicitScrolling) { return [[FlutterScrollableSemanticsObject alloc] initWithBridge:weak_ptr uid:node.id]; @@ -299,8 +300,10 @@ static void ReplaceSemanticsObject(SemanticsObject* oldObject, flutter::SemanticsNode node = nodeEntry->second; if (object.node.flags.isTextField != node.flags.isTextField || object.node.flags.isReadOnly != node.flags.isReadOnly || - object.node.flags.hasCheckedState != node.flags.hasCheckedState || - object.node.flags.hasToggledState != node.flags.hasToggledState || + (object.node.flags.isChecked == flutter::SemanticsCheckState::kNone) != + (node.flags.isChecked == flutter::SemanticsCheckState::kNone) || + ((object.node.flags.isToggled == flutter::SemanticsTristate::kNone) != + (node.flags.isToggled == flutter::SemanticsTristate::kNone)) || object.node.flags.hasImplicitScrolling != node.flags.hasImplicitScrolling ) { diff --git a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge_test.mm b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge_test.mm index f4be119f9e171..b44ccf761fd4e 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge_test.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/framework/Source/accessibility_bridge_test.mm @@ -745,9 +745,8 @@ - (void)testRadioButtonIsNotSwitchButton { flutter::SemanticsNode root_node; root_node.id = kRootNodeId; root_node.flags.isInMutuallyExclusiveGroup = true; - root_node.flags.isEnabled = true; - root_node.flags.hasCheckedState = true; - root_node.flags.hasEnabledState = true; + root_node.flags.isEnabled = flutter::SemanticsTristate::kTrue; + root_node.flags.isChecked = flutter::SemanticsCheckState::kFalse; nodes[root_node.id] = root_node; bridge->UpdateSemantics(/*nodes=*/nodes, /*actions=*/actions); @@ -2391,6 +2390,7 @@ - (void)testResetsAccessibilityElementsOnHotRestart { platform_view->SetOwnerViewController(mockFlutterViewController); platform_view->SetSemanticsEnabled(true); + platform_view->SetSemanticsTreeEnabled(true); OCMExpect([mockFlutterView setAccessibilityElements:[OCMArg isNil]]); platform_view->OnPreEngineRestart(); diff --git a/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios.h b/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios.h index 274dff306ce8d..7f03b7b8abb01 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios.h +++ b/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios.h @@ -87,6 +87,9 @@ class PlatformViewIOS final : public PlatformView { // |PlatformView| void SetSemanticsEnabled(bool enabled) override; + // |PlatformView| + void SetSemanticsTreeEnabled(bool enabled) override; + // |PlatformView| void HandlePlatformMessage(std::unique_ptr message) override; @@ -128,6 +131,11 @@ class PlatformViewIOS final : public PlatformView { return platform_message_handler_; } + /** + * Gets the accessibility bridge created in this platform view. + */ + AccessibilityBridge* GetAccessibilityBridge() { return accessibility_bridge_.get(); } + private: /// Smart pointer for use with objective-c observers. /// This guarantees we remove the observer. @@ -143,24 +151,6 @@ class PlatformViewIOS final : public PlatformView { id observer_ = nil; }; - /// Wrapper that guarantees we communicate clearing Accessibility - /// information to Dart. - class AccessibilityBridgeManager { - public: - explicit AccessibilityBridgeManager(const std::function& set_semantics_enabled); - AccessibilityBridgeManager(const std::function& set_semantics_enabled, - AccessibilityBridge* bridge); - explicit operator bool() const noexcept { return static_cast(accessibility_bridge_); } - AccessibilityBridge* get() const noexcept { return accessibility_bridge_.get(); } - void Set(std::unique_ptr bridge); - void Clear(); - - private: - FML_DISALLOW_COPY_AND_ASSIGN(AccessibilityBridgeManager); - std::unique_ptr accessibility_bridge_; - std::function set_semantics_enabled_; - }; - __weak FlutterViewController* owner_controller_; // Since the `ios_surface_` is created on the platform thread but // used on the raster thread we need to protect it with a mutex. @@ -168,7 +158,7 @@ class PlatformViewIOS final : public PlatformView { std::unique_ptr ios_surface_; std::shared_ptr ios_context_; __weak FlutterPlatformViewsController* platform_views_controller_; - AccessibilityBridgeManager accessibility_bridge_; + std::unique_ptr accessibility_bridge_; ScopedObserver dealloc_view_controller_observer_; std::vector platform_resolved_locale_; std::shared_ptr platform_message_handler_; diff --git a/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios.mm b/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios.mm index c12ab39dbb28f..b19103eaa28a1 100644 --- a/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios.mm +++ b/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios.mm @@ -19,29 +19,6 @@ namespace flutter { -PlatformViewIOS::AccessibilityBridgeManager::AccessibilityBridgeManager( - const std::function& set_semantics_enabled) - : AccessibilityBridgeManager(set_semantics_enabled, nullptr) {} - -PlatformViewIOS::AccessibilityBridgeManager::AccessibilityBridgeManager( - const std::function& set_semantics_enabled, - AccessibilityBridge* bridge) - : accessibility_bridge_(bridge), set_semantics_enabled_(set_semantics_enabled) { - if (bridge) { - set_semantics_enabled_(true); - } -} - -void PlatformViewIOS::AccessibilityBridgeManager::Set(std::unique_ptr bridge) { - accessibility_bridge_ = std::move(bridge); - set_semantics_enabled_(true); -} - -void PlatformViewIOS::AccessibilityBridgeManager::Clear() { - set_semantics_enabled_(false); - accessibility_bridge_.reset(); -} - PlatformViewIOS::PlatformViewIOS(PlatformView::Delegate& delegate, const std::shared_ptr& context, __weak FlutterPlatformViewsController* platform_views_controller, @@ -49,7 +26,6 @@ : PlatformView(delegate, task_runners), ios_context_(context), platform_views_controller_(platform_views_controller), - accessibility_bridge_([this](bool enabled) { PlatformView::SetSemanticsEnabled(enabled); }), platform_message_handler_( new PlatformMessageHandlerIos(task_runners.GetPlatformTaskRunner())) {} @@ -87,7 +63,7 @@ new PlatformMessageHandlerIos(task_runners.GetPlatformTaskRunner())) {} if (ios_surface_ || !owner_controller) { NotifyDestroyed(); ios_surface_.reset(); - accessibility_bridge_.Clear(); + accessibility_bridge_.reset(); } owner_controller_ = owner_controller; @@ -99,7 +75,7 @@ new PlatformMessageHandlerIos(task_runners.GetPlatformTaskRunner())) {} queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification* note) { // Implicit copy of 'this' is fine. - accessibility_bridge_.Clear(); + accessibility_bridge_.reset(); owner_controller_ = nil; }]); @@ -122,8 +98,8 @@ new PlatformMessageHandlerIos(task_runners.GetPlatformTaskRunner())) {} FML_DCHECK(ios_surface_ != nullptr); if (accessibility_bridge_) { - accessibility_bridge_.Set(std::make_unique( - owner_controller_, this, owner_controller_.platformViewsController)); + accessibility_bridge_ = std::make_unique( + owner_controller_, this, owner_controller_.platformViewsController); } } @@ -162,22 +138,10 @@ new PlatformMessageHandlerIos(task_runners.GetPlatformTaskRunner())) {} // |PlatformView| void PlatformViewIOS::SetSemanticsEnabled(bool enabled) { - if (!owner_controller_) { - [FlutterLogger logWarning:@"Could not set semantics to enabled, this PlatformViewIOS has no " - "ViewController."]; - return; - } - if (enabled && !accessibility_bridge_) { - accessibility_bridge_.Set(std::make_unique( - owner_controller_, this, owner_controller_.platformViewsController)); - } else if (!enabled && accessibility_bridge_) { - accessibility_bridge_.Clear(); - } else { - PlatformView::SetSemanticsEnabled(enabled); - } + PlatformView::SetSemanticsEnabled(enabled); } -// |shell:PlatformView| +// |PlatformView| void PlatformViewIOS::SetAccessibilityFeatures(int32_t flags) { PlatformView::SetAccessibilityFeatures(flags); } @@ -187,6 +151,7 @@ new PlatformMessageHandlerIos(task_runners.GetPlatformTaskRunner())) {} flutter::SemanticsNodeUpdates update, flutter::CustomAccessibilityActionUpdates actions) { FML_DCHECK(owner_controller_); + FML_DCHECK(accessibility_bridge_); if (accessibility_bridge_) { accessibility_bridge_.get()->UpdateSemantics(std::move(update), actions); [[NSNotificationCenter defaultCenter] postNotificationName:FlutterSemanticsUpdateNotification @@ -194,6 +159,20 @@ new PlatformMessageHandlerIos(task_runners.GetPlatformTaskRunner())) {} } } +// |PlatformView| +void PlatformViewIOS::SetSemanticsTreeEnabled(bool enabled) { + FML_DCHECK(owner_controller_); + if (enabled) { + if (accessibility_bridge_) { + return; + } + accessibility_bridge_ = + std::make_unique(owner_controller_, this, platform_views_controller_); + } else { + accessibility_bridge_.reset(); + } +} + // |PlatformView| std::unique_ptr PlatformViewIOS::CreateVSyncWaiter() { return std::make_unique(task_runners_); diff --git a/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios_test.mm b/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios_test.mm new file mode 100644 index 0000000000000..335763bd6d32c --- /dev/null +++ b/engine/src/flutter/shell/platform/darwin/ios/platform_view_ios_test.mm @@ -0,0 +1,105 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import +#import + +#import "flutter/fml/thread.h" +#import "flutter/shell/platform/darwin/common/framework/Headers/FlutterMacros.h" +#import "flutter/shell/platform/darwin/ios/platform_view_ios.h" + +FLUTTER_ASSERT_ARC + +namespace flutter { + +namespace { + +class MockDelegate : public PlatformView::Delegate { + public: + void OnPlatformViewCreated(std::unique_ptr surface) override {} + void OnPlatformViewDestroyed() override {} + void OnPlatformViewScheduleFrame() override {} + void OnPlatformViewAddView(int64_t view_id, + const ViewportMetrics& viewport_metrics, + AddViewCallback callback) override {} + void OnPlatformViewRemoveView(int64_t view_id, RemoveViewCallback callback) override {} + void OnPlatformViewSetNextFrameCallback(const fml::closure& closure) override {} + void OnPlatformViewSetViewportMetrics(int64_t view_id, const ViewportMetrics& metrics) override {} + const flutter::Settings& OnPlatformViewGetSettings() const override { return settings_; } + void OnPlatformViewDispatchPlatformMessage(std::unique_ptr message) override {} + void OnPlatformViewDispatchPointerDataPacket(std::unique_ptr packet) override { + } + void OnPlatformViewSendViewFocusEvent(const ViewFocusEvent& event) override {} + void OnPlatformViewDispatchSemanticsAction(int64_t view_id, + int32_t node_id, + SemanticsAction action, + fml::MallocMapping args) override {} + void OnPlatformViewSetSemanticsEnabled(bool enabled) override {} + void OnPlatformViewSetAccessibilityFeatures(int32_t flags) override {} + void OnPlatformViewRegisterTexture(std::shared_ptr texture) override {} + void OnPlatformViewUnregisterTexture(int64_t texture_id) override {} + void OnPlatformViewMarkTextureFrameAvailable(int64_t texture_id) override {} + + void LoadDartDeferredLibrary(intptr_t loading_unit_id, + std::unique_ptr snapshot_data, + std::unique_ptr snapshot_instructions) override { + } + void LoadDartDeferredLibraryError(intptr_t loading_unit_id, + const std::string error_message, + bool transient) override {} + void UpdateAssetResolverByType(std::unique_ptr updated_asset_resolver, + flutter::AssetResolver::AssetResolverType type) override {} + + flutter::Settings settings_; +}; + +} // namespace +} // namespace flutter + +@interface PlatformViewIOSTest : XCTestCase +@end + +@implementation PlatformViewIOSTest + +- (void)testSetSemanticsTreeEnabled { + flutter::MockDelegate mock_delegate; + auto thread = std::make_unique("PlatformViewIOSTest"); + auto thread_task_runner = thread->GetTaskRunner(); + flutter::TaskRunners runners(/*label=*/self.name.UTF8String, + /*platform=*/thread_task_runner, + /*raster=*/thread_task_runner, + /*ui=*/thread_task_runner, + /*io=*/thread_task_runner); + id messenger = OCMProtocolMock(@protocol(FlutterBinaryMessenger)); + id engine = OCMClassMock([FlutterEngine class]); + + id flutterViewController = OCMClassMock([FlutterViewController class]); + + OCMStub([flutterViewController isViewLoaded]).andReturn(NO); + OCMStub([flutterViewController engine]).andReturn(engine); + OCMStub([engine binaryMessenger]).andReturn(messenger); + + auto platform_view = std::make_unique( + /*delegate=*/mock_delegate, + /*rendering_api=*/flutter::IOSRenderingAPI::kMetal, + /*platform_views_controller=*/nil, + /*task_runners=*/runners, + /*worker_task_runner=*/nil, + /*is_gpu_disabled_sync_switch=*/std::make_shared()); + fml::AutoResetWaitableEvent latch; + thread_task_runner->PostTask([&] { + platform_view->SetOwnerViewController(flutterViewController); + XCTAssertFalse(platform_view->GetAccessibilityBridge()); + platform_view->SetSemanticsTreeEnabled(true); + XCTAssertTrue(platform_view->GetAccessibilityBridge()); + platform_view->SetSemanticsTreeEnabled(false); + XCTAssertFalse(platform_view->GetAccessibilityBridge()); + latch.Signal(); + }); + latch.Wait(); + + [engine stopMocking]; +} + +@end diff --git a/engine/src/flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginRegistrarMacOS.h b/engine/src/flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginRegistrarMacOS.h index 5b990dd84da18..3c80c39af8b7e 100644 --- a/engine/src/flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginRegistrarMacOS.h +++ b/engine/src/flutter/shell/platform/darwin/macos/framework/Headers/FlutterPluginRegistrarMacOS.h @@ -49,6 +49,19 @@ FLUTTER_DARWIN_EXPORT */ @property(nullable, readonly) NSView* view; +/** + * The `NSViewController` that hosts |view|. + * + * The plugin typically should not store a strong reference to this view + * controller. + * + * This property is provided for backwards compatibility for apps that assume + * a single view, and will eventually be replaced by the multi-view API variant. + * + * This property is |nil| when |view| is |nil|. + */ +@property(nullable, readonly) NSViewController* viewController; + /** * Registers |delegate| to receive handleMethodCall:result: callbacks for the given |channel|. */ diff --git a/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine.mm b/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine.mm index a9e026b8783da..8ba35a05761e3 100644 --- a/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine.mm +++ b/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngine.mm @@ -366,6 +366,10 @@ - (NSView*)viewForIdentifier:(FlutterViewIdentifier)viewIdentifier { return controller.flutterView; } +- (NSViewController*)viewController { + return [_flutterEngine viewControllerForIdentifier:kFlutterImplicitViewId]; +} + - (void)addMethodCallDelegate:(nonnull id)delegate channel:(nonnull FlutterMethodChannel*)channel { [channel setMethodCallHandler:^(FlutterMethodCall* call, FlutterResult result) { diff --git a/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTest.mm b/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTest.mm index f891eebaf80fc..2339d36e87941 100644 --- a/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTest.mm +++ b/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterEngineTest.mm @@ -744,6 +744,21 @@ @implementation MockableFlutterEngine EXPECT_EQ([engine valuePublishedByPlugin:pluginName], secondValue); } +TEST_F(FlutterEngineTest, RegistrarForwardViewControllerLookUpToEngine) { + NSString* fixtures = @(flutter::testing::GetFixturesPath()); + FlutterDartProject* project = [[FlutterDartProject alloc] + initWithAssetsPath:fixtures + ICUDataPath:[fixtures stringByAppendingString:@"/icudtl.dat"]]; + FlutterEngine* engine = [[FlutterEngine alloc] initWithName:@"test" project:project]; + + FlutterViewController* viewController = [[FlutterViewController alloc] initWithEngine:engine + nibName:nil + bundle:nil]; + id registrar = [engine registrarForPlugin:@"MyPlugin"]; + + EXPECT_EQ([registrar viewController], viewController); +} + // If a channel overrides a previous channel with the same name, cleaning // the previous channel should not affect the new channel. // diff --git a/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPluginTest.mm b/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPluginTest.mm index 127bc5d5f29f1..3c05da479e8a5 100644 --- a/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPluginTest.mm +++ b/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterMenuPluginTest.mm @@ -58,6 +58,10 @@ - (nonnull NSString*)lookupKeyForAsset:(nonnull NSString*)asset fromPackage:(nonnull NSString*)package { return @""; } + +- (NSViewController*)viewController { + return nil; +} @end namespace flutter::testing { diff --git a/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTest.mm b/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTest.mm index 8f3aae4acdbce..c830c3554da30 100644 --- a/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTest.mm +++ b/engine/src/flutter/shell/platform/darwin/macos/framework/Source/FlutterViewControllerTest.mm @@ -939,7 +939,8 @@ - (bool)testTrackpadGesturesAreSentToFramework:(id)engineMock { CGEventRef cgEventDiscreteShift = CGEventCreateScrollWheelEvent(NULL, kCGScrollEventUnitPixel, 1, 0); CGEventSetType(cgEventDiscreteShift, kCGEventScrollWheel); - CGEventSetFlags(cgEventDiscreteShift, kCGEventFlagMaskShift | flutter::kModifierFlagShiftLeft); + CGEventSetFlags(cgEventDiscreteShift, static_cast(kCGEventFlagMaskShift) | + static_cast(flutter::kModifierFlagShiftLeft)); CGEventSetIntegerValueField(cgEventDiscreteShift, kCGScrollWheelEventIsContinuous, 0); CGEventSetIntegerValueField(cgEventDiscreteShift, kCGScrollWheelEventDeltaAxis2, 0); // scroll_delta_x diff --git a/engine/src/flutter/shell/platform/embedder/embedder.cc b/engine/src/flutter/shell/platform/embedder/embedder.cc index d3434052663d6..a2e5b51086d86 100644 --- a/engine/src/flutter/shell/platform/embedder/embedder.cc +++ b/engine/src/flutter/shell/platform/embedder/embedder.cc @@ -1649,6 +1649,11 @@ MakeViewportMetricsFromWindowMetrics( "physical height or width."; } + metrics.physical_min_width_constraint = metrics.physical_width; + metrics.physical_max_width_constraint = metrics.physical_width; + metrics.physical_min_height_constraint = metrics.physical_height; + metrics.physical_max_height_constraint = metrics.physical_height; + return metrics; } diff --git a/engine/src/flutter/shell/platform/embedder/embedder_semantics_update.cc b/engine/src/flutter/shell/platform/embedder/embedder_semantics_update.cc index c8a75f85bf69a..549112445ae78 100644 --- a/engine/src/flutter/shell/platform/embedder/embedder_semantics_update.cc +++ b/engine/src/flutter/shell/platform/embedder/embedder_semantics_update.cc @@ -5,49 +5,40 @@ #include "flutter/shell/platform/embedder/embedder_semantics_update.h" namespace { - -// TODO(hangyujin): Update these two functions once the SemanticsFlags in -// dart:ui are updated to use tristate/quad-state flags for properties like -// isChecked and isSelected. -FlutterCheckState ToFlutterCheckState(bool is_not_none, - bool is_true, - bool is_mixed) { - if (!is_not_none) { - return kFlutterCheckStateNone; - } - if (is_true) { - return kFlutterCheckStateTrue; +FlutterCheckState ToFlutterCheckState(flutter::SemanticsCheckState state) { + switch (state) { + case flutter::SemanticsCheckState::kNone: + return kFlutterCheckStateNone; + case flutter::SemanticsCheckState::kTrue: + return kFlutterCheckStateTrue; + case flutter::SemanticsCheckState::kFalse: + return kFlutterCheckStateFalse; + case flutter::SemanticsCheckState::kMixed: + return kFlutterCheckStateMixed; } - if (is_mixed) { - return kFlutterCheckStateMixed; - } - return kFlutterCheckStateFalse; } -FlutterTristate ToFlutterTristate(bool is_not_none, bool is_true) { - if (!is_not_none) { - return kFlutterTristateNone; - } - if (is_true) { - return kFlutterTristateTrue; +FlutterTristate ToFlutterTristate(flutter::SemanticsTristate state) { + switch (state) { + case flutter::SemanticsTristate::kNone: + return kFlutterTristateNone; + case flutter::SemanticsTristate::kTrue: + return kFlutterTristateTrue; + case flutter::SemanticsTristate::kFalse: + return kFlutterTristateFalse; } - return kFlutterTristateFalse; } std::unique_ptr ConvertToFlutterSemanticsFlags( const flutter::SemanticsFlags& source) { return std::make_unique(FlutterSemanticsFlags{ - .is_checked = ToFlutterCheckState( - source.hasCheckedState, source.isChecked, source.isCheckStateMixed), - .is_selected = - ToFlutterTristate(source.hasSelectedState, source.isSelected), - .is_enabled = ToFlutterTristate(source.hasEnabledState, source.isEnabled), - .is_toggled = ToFlutterTristate(source.hasToggledState, source.isToggled), - .is_expanded = - ToFlutterTristate(source.hasExpandedState, source.isExpanded), - .is_required = - ToFlutterTristate(source.hasRequiredState, source.isRequired), - .is_focused = ToFlutterTristate(source.isFocusable, source.isFocused), + .is_checked = ToFlutterCheckState(source.isChecked), + .is_selected = ToFlutterTristate(source.isSelected), + .is_enabled = ToFlutterTristate(source.isEnabled), + .is_toggled = ToFlutterTristate(source.isToggled), + .is_expanded = ToFlutterTristate(source.isExpanded), + .is_required = ToFlutterTristate(source.isRequired), + .is_focused = ToFlutterTristate(source.isFocused), .is_button = source.isButton, .is_text_field = source.isTextField, .is_in_mutually_exclusive_group = source.isInMutuallyExclusiveGroup, @@ -97,13 +88,13 @@ EmbedderSemanticsUpdate::EmbedderSemanticsUpdate( FlutterSemanticsFlag SemanticsFlagsToInt(const SemanticsFlags& flags) { int result = 0; - if (flags.hasCheckedState) { + if (flags.isChecked != SemanticsCheckState::kNone) { result |= (1 << 0); } - if (flags.isChecked) { + if (flags.isChecked == SemanticsCheckState::kTrue) { result |= (1 << 1); } - if (flags.isSelected) { + if (flags.isSelected == SemanticsTristate::kTrue) { result |= (1 << 2); } if (flags.isButton) { @@ -112,13 +103,13 @@ FlutterSemanticsFlag SemanticsFlagsToInt(const SemanticsFlags& flags) { if (flags.isTextField) { result |= (1 << 4); } - if (flags.isFocused) { + if (flags.isFocused == SemanticsTristate::kTrue) { result |= (1 << 5); } - if (flags.hasEnabledState) { + if (flags.isEnabled != SemanticsTristate::kNone) { result |= (1 << 6); } - if (flags.isEnabled) { + if (flags.isEnabled == SemanticsTristate::kTrue) { result |= (1 << 7); } if (flags.isInMutuallyExclusiveGroup) { @@ -145,10 +136,10 @@ FlutterSemanticsFlag SemanticsFlagsToInt(const SemanticsFlags& flags) { if (flags.isLiveRegion) { result |= (1 << 15); } - if (flags.hasToggledState) { + if (flags.isToggled != SemanticsTristate::kNone) { result |= (1 << 16); } - if (flags.isToggled) { + if (flags.isToggled == SemanticsTristate::kTrue) { result |= (1 << 17); } if (flags.hasImplicitScrolling) { @@ -160,7 +151,7 @@ FlutterSemanticsFlag SemanticsFlagsToInt(const SemanticsFlags& flags) { if (flags.isReadOnly) { result |= (1 << 20); } - if (flags.isFocusable) { + if (flags.isFocused != SemanticsTristate::kNone) { result |= (1 << 21); } if (flags.isLink) { @@ -172,22 +163,22 @@ FlutterSemanticsFlag SemanticsFlagsToInt(const SemanticsFlags& flags) { if (flags.isKeyboardKey) { result |= (1 << 24); } - if (flags.isCheckStateMixed) { + if (flags.isChecked == SemanticsCheckState::kMixed) { result |= (1 << 25); } - if (flags.hasExpandedState) { + if (flags.isExpanded != SemanticsTristate::kNone) { result |= (1 << 26); } - if (flags.isExpanded) { + if (flags.isExpanded == SemanticsTristate::kTrue) { result |= (1 << 27); } - if (flags.hasSelectedState) { + if (flags.isSelected != SemanticsTristate::kNone) { result |= (1 << 28); } - if (flags.hasRequiredState) { + if (flags.isRequired != SemanticsTristate::kNone) { result |= (1 << 29); } - if (flags.isRequired) { + if (flags.isRequired == SemanticsTristate::kTrue) { result |= (1 << 30); } diff --git a/engine/src/flutter/shell/platform/embedder/fixtures/main.dart b/engine/src/flutter/shell/platform/embedder/fixtures/main.dart index dcea58d02e801..d8054555fadf4 100644 --- a/engine/src/flutter/shell/platform/embedder/fixtures/main.dart +++ b/engine/src/flutter/shell/platform/embedder/fixtures/main.dart @@ -309,6 +309,7 @@ Future a11y_main() async { ) ..updateCustomAction(id: 21, label: 'Archive', hint: 'archive message'); + PlatformDispatcher.instance.setSemanticsTreeEnabled(true); PlatformDispatcher.instance.views.first.updateSemantics(builder.build()); signalNativeTest(); @@ -390,6 +391,7 @@ Future a11y_string_attributes() async { locale: null, ); + PlatformDispatcher.instance.setSemanticsTreeEnabled(true); PlatformDispatcher.instance.views.first.updateSemantics(builder.build()); signalNativeTest(); } @@ -1679,6 +1681,7 @@ Future a11y_main_multi_view() async { ); } + PlatformDispatcher.instance.setSemanticsTreeEnabled(true); for (final view in PlatformDispatcher.instance.views) { view.updateSemantics(createForView(view).build()); } diff --git a/engine/src/flutter/shell/platform/embedder/tests/embedder_config_builder.h b/engine/src/flutter/shell/platform/embedder/tests/embedder_config_builder.h index 480d6c62c0b0e..b16c5d2c3499c 100644 --- a/engine/src/flutter/shell/platform/embedder/tests/embedder_config_builder.h +++ b/engine/src/flutter/shell/platform/embedder/tests/embedder_config_builder.h @@ -18,7 +18,7 @@ struct UniqueEngineTraits { static bool IsValid(const FlutterEngine& value) { return value != nullptr; } - static void Free(FlutterEngine& engine) { + static void Free(FlutterEngine engine) { auto result = FlutterEngineShutdown(engine); FML_CHECK(result == kSuccess); } diff --git a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc index 7d79423e42c9d..533144f78f7ec 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc +++ b/engine/src/flutter/shell/platform/fuchsia/dart-pkg/zircon/sdk_ext/system.cc @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include diff --git a/engine/src/flutter/shell/platform/fuchsia/dart_runner/dart_component_controller.cc b/engine/src/flutter/shell/platform/fuchsia/dart_runner/dart_component_controller.cc index 80c007d8d4f98..265b49256aad4 100644 --- a/engine/src/flutter/shell/platform/fuchsia/dart_runner/dart_component_controller.cc +++ b/engine/src/flutter/shell/platform/fuchsia/dart_runner/dart_component_controller.cc @@ -227,7 +227,7 @@ bool DartComponentController::CreateAndBindNamespace() { fidl::ClientEnd(dart_public_dir.TakeChannel())); // Request an event from the directory to ensure it is servicing requests. - dart_outgoing_dir_ptr_->Open3( + dart_outgoing_dir_ptr_->Open( ".", fuchsia::io::Flags::PROTOCOL_NODE | fuchsia::io::Flags::FLAG_SEND_REPRESENTATION, diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/accessibility_bridge.cc b/engine/src/flutter/shell/platform/fuchsia/flutter/accessibility_bridge.cc index e67ce3264e211..51a30ce181d08 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/accessibility_bridge.cc +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/accessibility_bridge.cc @@ -26,31 +26,31 @@ static constexpr char kTreeDumpInspectRootName[] = "semantic_tree_root"; // Converts flutter semantic node flags to a string representation. std::string NodeFlagsToString(const flutter::SemanticsNode& node) { std::string output; - if (node.flags.hasCheckedState) { + if (node.flags.isChecked != flutter::SemanticsCheckState::kNone) { output += "kHasCheckedState|"; } - if (node.flags.hasEnabledState) { + if (node.flags.isEnabled != flutter::SemanticsTristate::kNone) { output += "kHasEnabledState|"; } if (node.flags.hasImplicitScrolling) { output += "kHasImplicitScrolling|"; } - if (node.flags.hasToggledState) { + if (node.flags.isToggled != flutter::SemanticsTristate::kNone) { output += "kHasToggledState|"; } if (node.flags.isButton) { output += "kIsButton|"; } - if (node.flags.isChecked) { + if (node.flags.isChecked == flutter::SemanticsCheckState::kTrue) { output += "kIsChecked|"; } - if (node.flags.isEnabled) { + if (node.flags.isEnabled == flutter::SemanticsTristate::kTrue) { output += "kIsEnabled|"; } - if (node.flags.isFocusable) { + if (node.flags.isFocused != flutter::SemanticsTristate::kNone) { output += "kIsFocusable|"; } - if (node.flags.isFocused) { + if (node.flags.isFocused == flutter::SemanticsTristate::kTrue) { output += "kIsFocused|"; } if (node.flags.isHeader) { @@ -80,7 +80,7 @@ std::string NodeFlagsToString(const flutter::SemanticsNode& node) { if (node.flags.isReadOnly) { output += "kIsReadOnly|"; } - if (node.flags.isSelected) { + if (node.flags.isSelected == flutter::SemanticsTristate::kTrue) { output += "kIsSelected|"; } if (node.flags.isSlider) { @@ -89,7 +89,7 @@ std::string NodeFlagsToString(const flutter::SemanticsNode& node) { if (node.flags.isTextField) { output += "kIsTextField|"; } - if (node.flags.isToggled) { + if (node.flags.isToggled == flutter::SemanticsTristate::kTrue) { output += "kIsToggled|"; } if (node.flags.namesRoute) { @@ -334,26 +334,27 @@ fuchsia::accessibility::semantics::States AccessibilityBridge::GetNodeStates( (*additional_size) += sizeof(fuchsia::accessibility::semantics::States); // Set checked state. - if (!node.flags.hasCheckedState) { + if (node.flags.isChecked == flutter::SemanticsCheckState::kNone) { states.set_checked_state( fuchsia::accessibility::semantics::CheckedState::NONE); } else { states.set_checked_state( - node.flags.isChecked + node.flags.isChecked == flutter::SemanticsCheckState::kTrue ? fuchsia::accessibility::semantics::CheckedState::CHECKED : fuchsia::accessibility::semantics::CheckedState::UNCHECKED); } // Set enabled state. - if (node.flags.hasEnabledState) { + if (node.flags.isEnabled != flutter::SemanticsTristate::kNone) { states.set_enabled_state( - node.flags.isEnabled + node.flags.isEnabled == flutter::SemanticsTristate::kTrue ? fuchsia::accessibility::semantics::EnabledState::ENABLED : fuchsia::accessibility::semantics::EnabledState::DISABLED); } // Set selected state. - states.set_selected(node.flags.isSelected); + states.set_selected(node.flags.isSelected == + flutter::SemanticsTristate::kTrue); // Flutter's definition of a hidden node is different from Fuchsia, so it must // not be set here. @@ -369,9 +370,9 @@ fuchsia::accessibility::semantics::States AccessibilityBridge::GetNodeStates( } // Set toggled state. - if (node.flags.hasToggledState) { + if (node.flags.isToggled != flutter::SemanticsTristate::kNone) { states.set_toggled_state( - node.flags.isToggled + node.flags.isToggled == flutter::SemanticsTristate::kTrue ? fuchsia::accessibility::semantics::ToggledState::ON : fuchsia::accessibility::semantics::ToggledState::OFF); } @@ -446,7 +447,7 @@ fuchsia::accessibility::semantics::Role AccessibilityBridge::GetNodeRole( // If a flutter node has a checked state, then we assume it is either a // checkbox or a radio button. We distinguish between checkboxes and // radio buttons based on membership in a mutually exclusive group. - if (node.flags.hasCheckedState) { + if (node.flags.isChecked != flutter::SemanticsCheckState::kNone) { if (node.flags.isInMutuallyExclusiveGroup) { return fuchsia::accessibility::semantics::Role::RADIO_BUTTON; } else { @@ -454,7 +455,7 @@ fuchsia::accessibility::semantics::Role AccessibilityBridge::GetNodeRole( } } - if (node.flags.hasToggledState) { + if (node.flags.isToggled != flutter::SemanticsTristate::kNone) { return fuchsia::accessibility::semantics::Role::TOGGLE_SWITCH; } return fuchsia::accessibility::semantics::Role::UNKNOWN; @@ -802,7 +803,7 @@ bool AccessibilityBridge::IsFocusable( return false; } - if (node.flags.isFocusable) { + if (node.flags.isFocused != flutter::SemanticsTristate::kNone) { return true; } diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/accessibility_bridge_unittest.cc b/engine/src/flutter/shell/platform/fuchsia/flutter/accessibility_bridge_unittest.cc index 500b569c6c4b8..b103e5fe38479 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/accessibility_bridge_unittest.cc +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/accessibility_bridge_unittest.cc @@ -234,7 +234,7 @@ TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) { node6.childrenInTraversalOrder = {}; node6.childrenInHitTestOrder = {}; node6.id = 6; - node6.flags.hasCheckedState = true; + node6.flags.isChecked = flutter::SemanticsCheckState::kFalse; node6.flags.isInMutuallyExclusiveGroup = true; updates.emplace(6, node6); @@ -242,14 +242,14 @@ TEST_F(AccessibilityBridgeTest, UpdatesNodeRoles) { node7.childrenInTraversalOrder = {}; node7.childrenInHitTestOrder = {}; node7.id = 7; - node7.flags.hasCheckedState = true; + node7.flags.isChecked = flutter::SemanticsCheckState::kFalse; updates.emplace(7, node7); flutter::SemanticsNode node8; node8.childrenInTraversalOrder = {}; node8.childrenInHitTestOrder = {}; node8.id = 8; - node8.flags.hasToggledState = true; + node8.flags.isToggled = flutter::SemanticsTristate::kFalse; updates.emplace(7, node8); accessibility_bridge_->AddSemanticsNodeUpdate(std::move(updates), 1.f); @@ -398,11 +398,9 @@ TEST_F(AccessibilityBridgeTest, PopulatesRoleHeader) { TEST_F(AccessibilityBridgeTest, PopulatesCheckedState) { flutter::SemanticsNode node0; node0.id = 0; - // HasCheckedState = true // IsChecked = true // IsSelected = false - node0.flags.hasCheckedState = true; - node0.flags.isChecked = true; + node0.flags.isChecked = flutter::SemanticsCheckState::kTrue; node0.value = "value"; accessibility_bridge_->AddSemanticsNodeUpdate({{0, node0}}, 1.f); @@ -431,10 +429,9 @@ TEST_F(AccessibilityBridgeTest, PopulatesCheckedState) { TEST_F(AccessibilityBridgeTest, PopulatesSelectedState) { flutter::SemanticsNode node0; node0.id = 0; - // HasCheckedState = false // IsChecked = false // IsSelected = true - node0.flags.isSelected = true; + node0.flags.isSelected = flutter::SemanticsTristate::kTrue; accessibility_bridge_->AddSemanticsNodeUpdate({{0, node0}}, 1.f); RunLoopUntilIdle(); @@ -460,8 +457,7 @@ TEST_F(AccessibilityBridgeTest, PopulatesSelectedState) { TEST_F(AccessibilityBridgeTest, PopulatesToggledState) { flutter::SemanticsNode node0; node0.id = 0; - node0.flags.hasToggledState = true; - node0.flags.isToggled = true; + node0.flags.isToggled = flutter::SemanticsTristate::kTrue; accessibility_bridge_->AddSemanticsNodeUpdate({{0, node0}}, 1.f); RunLoopUntilIdle(); @@ -485,10 +481,7 @@ TEST_F(AccessibilityBridgeTest, PopulatesToggledState) { TEST_F(AccessibilityBridgeTest, PopulatesEnabledState) { flutter::SemanticsNode node0; node0.id = 0; - // HasEnabledState = true - // IsEnabled = true - node0.flags.hasEnabledState = true; - node0.flags.isEnabled = true; + node0.flags.isEnabled = flutter::SemanticsTristate::kTrue; node0.value = "value"; accessibility_bridge_->AddSemanticsNodeUpdate({{0, node0}}, 1.f); @@ -515,7 +508,7 @@ TEST_F(AccessibilityBridgeTest, PopulatesEnabledState) { TEST_F(AccessibilityBridgeTest, ApplyViewPixelRatioToRoot) { flutter::SemanticsNode node0; node0.id = 0; - node0.flags.isSelected = true; + node0.flags.isSelected = flutter::SemanticsTristate::kTrue; accessibility_bridge_->AddSemanticsNodeUpdate({{0, node0}}, 1.25f); RunLoopUntilIdle(); @@ -885,7 +878,7 @@ TEST_F(AccessibilityBridgeTest, HitTest) { flutter::SemanticsNode node0; node0.id = 0; node0.rect.setLTRB(0, 0, 100, 100); - node0.flags.isFocusable = true; + node0.flags.isFocused = flutter::SemanticsTristate::kFalse; flutter::SemanticsNode node1; node1.id = 1; @@ -910,7 +903,7 @@ TEST_F(AccessibilityBridgeTest, HitTest) { node4.id = 4; node4.rect.setLTRB(10, 10, 20, 20); node4.transform.setTranslate(20, 20, 0); - node4.flags.isFocusable = true; + node4.flags.isFocused = flutter::SemanticsTristate::kFalse; node0.childrenInTraversalOrder = {1, 2, 3, 4}; node0.childrenInHitTestOrder = {1, 2, 3, 4}; @@ -954,7 +947,7 @@ TEST_F(AccessibilityBridgeTest, HitTestWithPixelRatio) { flutter::SemanticsNode node0; node0.id = 0; node0.rect.setLTRB(0, 0, 100, 100); - node0.flags.isFocusable = true; + node0.flags.isFocused = flutter::SemanticsTristate::kFalse; flutter::SemanticsNode node1; node1.id = 1; node1.rect.setLTRB(10, 10, 20, 20); @@ -996,7 +989,7 @@ TEST_F(AccessibilityBridgeTest, HitTestUnfocusableChild) { flutter::SemanticsNode node2; node2.id = 2; node2.rect.setLTRB(50, 50, 100, 100); - node2.flags.isFocusable = true; + node2.flags.isFocused = flutter::SemanticsTristate::kFalse; node0.childrenInTraversalOrder = {1, 2}; node0.childrenInHitTestOrder = {1, 2}; @@ -1026,16 +1019,16 @@ TEST_F(AccessibilityBridgeTest, HitTestOverlapping) { flutter::SemanticsNode node0; node0.id = 0; node0.rect.setLTRB(0, 0, 100, 100); - node0.flags.isFocusable = true; + node0.flags.isFocused = flutter::SemanticsTristate::kFalse; flutter::SemanticsNode node1; node1.id = 1; node1.rect.setLTRB(0, 0, 100, 100); - node1.flags.isFocusable = true; + node1.flags.isFocused = flutter::SemanticsTristate::kFalse; flutter::SemanticsNode node2; node2.id = 2; node2.rect.setLTRB(25, 10, 45, 20); - node2.flags.isFocusable = true; + node2.flags.isFocused = flutter::SemanticsTristate::kFalse; node0.childrenInTraversalOrder = {1, 2}; node0.childrenInHitTestOrder = {2, 1}; diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.cc b/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.cc index 6d6b30d7654b5..854bab07e6747 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.cc +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/component_v2.cc @@ -272,10 +272,10 @@ ComponentV2::ComponentV2( fidl::ClientEnd(flutter_public_dir.TakeChannel())); // Request an event from the directory to ensure it is servicing requests. - directory_ptr_->Open3(".", - fuchsia::io::Flags::PROTOCOL_NODE | - fuchsia::io::Flags::FLAG_SEND_REPRESENTATION, - {}, cloned_directory_ptr_.NewRequest().TakeChannel()); + directory_ptr_->Open(".", + fuchsia::io::Flags::PROTOCOL_NODE | + fuchsia::io::Flags::FLAG_SEND_REPRESENTATION, + {}, cloned_directory_ptr_.NewRequest().TakeChannel()); // Collect our standard set of directories along with directories that are // included in the cml file to expose. diff --git a/engine/src/flutter/shell/platform/fuchsia/flutter/platform_view.cc b/engine/src/flutter/shell/platform/fuchsia/flutter/platform_view.cc index 35147128eef40..b2c15e3021bf5 100644 --- a/engine/src/flutter/shell/platform/fuchsia/flutter/platform_view.cc +++ b/engine/src/flutter/shell/platform/fuchsia/flutter/platform_view.cc @@ -342,6 +342,14 @@ void PlatformView::OnGetLayout(fuchsia::ui::composition::LayoutInfo info) { pixel_ratio), // physical_width std::round(view_logical_size_.value()[1] * pixel_ratio), // physical_height + std::round(view_logical_size_.value()[0] * + pixel_ratio), // physical_min_width_constraint + std::round(view_logical_size_.value()[0] * + pixel_ratio), // physical_max_width_constraint + std::round(view_logical_size_.value()[1] * + pixel_ratio), // physical_min_height_constraint + std::round(view_logical_size_.value()[1] * + pixel_ratio), // physical_max_height_constraint 0.0f, // physical_padding_top 0.0f, // physical_padding_right 0.0f, // physical_padding_bottom diff --git a/engine/src/flutter/shell/platform/fuchsia/runtime/dart/utils/vmservice_object.cc b/engine/src/flutter/shell/platform/fuchsia/runtime/dart/utils/vmservice_object.cc index ba3eeda20893e..3627060bb7991 100644 --- a/engine/src/flutter/shell/platform/fuchsia/runtime/dart/utils/vmservice_object.cc +++ b/engine/src/flutter/shell/platform/fuchsia/runtime/dart/utils/vmservice_object.cc @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include @@ -48,8 +48,7 @@ void VMServiceObject::GetContents(LazyEntryVector* out_vector) const { if ((file == ".") || (file == "..")) { continue; } - out_vector->push_back( - {std::stoul(file) + GetStartingId(), file, V_TYPE_FILE}); + out_vector->push_back({std::stoul(file) + GetStartingId(), file, S_IFREG}); } } diff --git a/engine/src/flutter/shell/platform/glfw/BUILD.gn b/engine/src/flutter/shell/platform/glfw/BUILD.gn index 59735b5976356..19838543f2115 100644 --- a/engine/src/flutter/shell/platform/glfw/BUILD.gn +++ b/engine/src/flutter/shell/platform/glfw/BUILD.gn @@ -73,6 +73,8 @@ source_set("flutter_glfw") { "IOKit.framework", ] } + + cflags_cc = [ "-Wno-deprecated-declarations" ] } test_fixtures("flutter_glfw_fixtures") { diff --git a/engine/src/flutter/shell/platform/linux/BUILD.gn b/engine/src/flutter/shell/platform/linux/BUILD.gn index 919e807b9261d..b4b161cbfa433 100644 --- a/engine/src/flutter/shell/platform/linux/BUILD.gn +++ b/engine/src/flutter/shell/platform/linux/BUILD.gn @@ -75,6 +75,12 @@ config("relative_flutter_linux_headers") { include_dirs = [ "public" ] } +config("disable_warnings") { + warning_flags = [ "-Wno-deprecated-volatile" ] + cflags = warning_flags + cflags_cc = warning_flags +} + source_set("flutter_linux_sources") { public = _public_headers + [ "fl_binary_messenger_private.h", @@ -91,6 +97,7 @@ source_set("flutter_linux_sources") { "fl_method_codec_private.h", "fl_plugin_registrar_private.h", "fl_pointer_manager.h", + "fl_task_runner.h", "fl_view_private.h", "fl_window_state_monitor.h", "key_mapping.h", @@ -98,6 +105,8 @@ source_set("flutter_linux_sources") { configs += [ "//flutter/shell/platform/linux/config:gtk" ] + public_configs = [ ":disable_warnings" ] + sources = [ "fl_accessible_node.cc", "fl_accessible_text_field.cc", @@ -149,7 +158,6 @@ source_set("flutter_linux_sources") { "fl_standard_method_codec.cc", "fl_string_codec.cc", "fl_task_runner.cc", - "fl_task_runner.h", "fl_text_input_channel.cc", "fl_text_input_handler.cc", "fl_texture.cc", diff --git a/engine/src/flutter/shell/platform/linux/fl_compositor_opengl.cc b/engine/src/flutter/shell/platform/linux/fl_compositor_opengl.cc index 4e6a10c14fdfc..c30ad496e6286 100644 --- a/engine/src/flutter/shell/platform/linux/fl_compositor_opengl.cc +++ b/engine/src/flutter/shell/platform/linux/fl_compositor_opengl.cc @@ -41,8 +41,8 @@ static const char* fragment_shader_src = struct _FlCompositorOpenGL { FlCompositor parent_instance; - // Engine we are rendering. - GWeakRef engine; + // Task runner to wait for frames on. + FlTaskRunner* task_runner; // TRUE if can share framebuffers between contexts. gboolean shareable; @@ -77,9 +77,6 @@ struct _FlCompositorOpenGL { // Ensure Flutter and GTK can access the frame data (framebuffer or pixels). GMutex frame_mutex; - - // Allow GTK to wait for Flutter to generate a suitable frame. - GCond frame_cond; }; G_DEFINE_TYPE(FlCompositorOpenGL, @@ -113,7 +110,12 @@ static gchar* get_program_log(GLuint program) { } static void setup_shader(FlCompositorOpenGL* self) { - fl_opengl_manager_make_current(self->opengl_manager); + if (!fl_opengl_manager_make_current(self->opengl_manager)) { + g_warning( + "Failed to setup compositor shaders, unable to make OpenGL context " + "current"); + return; + } GLuint vertex_shader = glCreateShader(GL_VERTEX_SHADER); glShaderSource(vertex_shader, 1, &vertex_shader_src, nullptr); @@ -167,7 +169,12 @@ static void setup_shader(FlCompositorOpenGL* self) { } static void cleanup_shader(FlCompositorOpenGL* self) { - fl_opengl_manager_make_current(self->opengl_manager); + if (!fl_opengl_manager_make_current(self->opengl_manager)) { + g_warning( + "Failed to cleanup compositor shaders, unable to make OpenGL context " + "current"); + return; + } if (self->program != 0) { glDeleteProgram(self->program); @@ -201,11 +208,9 @@ static gboolean fl_compositor_opengl_present_layers(FlCompositor* compositor, size_t layers_count) { FlCompositorOpenGL* self = FL_COMPOSITOR_OPENGL(compositor); - g_autoptr(FlEngine) engine = FL_ENGINE(g_weak_ref_get(&self->engine)); - - g_autoptr(GMutexLocker) locker = g_mutex_locker_new(&self->frame_mutex); - + g_mutex_lock(&self->frame_mutex); if (layers_count == 0) { + g_mutex_unlock(&self->frame_mutex); return TRUE; } @@ -322,8 +327,9 @@ static gboolean fl_compositor_opengl_present_layers(FlCompositor* compositor, glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); } - // Signal a frame is ready. - g_cond_signal(&self->frame_cond); + g_mutex_unlock(&self->frame_mutex); + + fl_task_runner_stop_wait(self->task_runner); return TRUE; } @@ -333,9 +339,9 @@ static gboolean fl_compositor_opengl_render(FlCompositor* compositor, GdkWindow* window) { FlCompositorOpenGL* self = FL_COMPOSITOR_OPENGL(compositor); - g_autoptr(GMutexLocker) locker = g_mutex_locker_new(&self->frame_mutex); - + g_mutex_lock(&self->frame_mutex); if (self->framebuffer == nullptr) { + g_mutex_unlock(&self->frame_mutex); return FALSE; } @@ -345,7 +351,9 @@ static gboolean fl_compositor_opengl_render(FlCompositor* compositor, size_t height = gdk_window_get_height(window) * scale_factor; while (fl_framebuffer_get_width(self->framebuffer) != width || fl_framebuffer_get_height(self->framebuffer) != height) { - g_cond_wait(&self->frame_cond, &self->frame_mutex); + g_mutex_unlock(&self->frame_mutex); + fl_task_runner_wait(self->task_runner); + g_mutex_lock(&self->frame_mutex); } if (fl_framebuffer_get_shareable(self->framebuffer)) { @@ -354,6 +362,9 @@ static gboolean fl_compositor_opengl_render(FlCompositor* compositor, gdk_cairo_draw_from_gl(cr, window, fl_framebuffer_get_texture_id(sibling), GL_TEXTURE, scale_factor, 0, 0, width, height); } else { + GLint saved_texture_binding; + glGetIntegerv(GL_TEXTURE_BINDING_2D, &saved_texture_binding); + GLuint texture_id; glGenTextures(1, &texture_id); glBindTexture(GL_TEXTURE_2D, texture_id); @@ -364,10 +375,14 @@ static gboolean fl_compositor_opengl_render(FlCompositor* compositor, 0, width, height); glDeleteTextures(1, &texture_id); + + glBindTexture(GL_TEXTURE_2D, saved_texture_binding); } glFlush(); + g_mutex_unlock(&self->frame_mutex); + return TRUE; } @@ -376,12 +391,11 @@ static void fl_compositor_opengl_dispose(GObject* object) { cleanup_shader(self); - g_weak_ref_clear(&self->engine); + g_clear_object(&self->task_runner); g_clear_object(&self->opengl_manager); g_clear_object(&self->framebuffer); g_clear_pointer(&self->pixels, g_free); g_mutex_clear(&self->frame_mutex); - g_cond_clear(&self->frame_cond); G_OBJECT_CLASS(fl_compositor_opengl_parent_class)->dispose(object); } @@ -396,18 +410,17 @@ static void fl_compositor_opengl_class_init(FlCompositorOpenGLClass* klass) { static void fl_compositor_opengl_init(FlCompositorOpenGL* self) { g_mutex_init(&self->frame_mutex); - g_cond_init(&self->frame_cond); } -FlCompositorOpenGL* fl_compositor_opengl_new(FlEngine* engine, +FlCompositorOpenGL* fl_compositor_opengl_new(FlTaskRunner* task_runner, + FlOpenGLManager* opengl_manager, gboolean shareable) { FlCompositorOpenGL* self = FL_COMPOSITOR_OPENGL( g_object_new(fl_compositor_opengl_get_type(), nullptr)); - g_weak_ref_init(&self->engine, engine); + self->task_runner = FL_TASK_RUNNER(g_object_ref(task_runner)); self->shareable = shareable; - self->opengl_manager = - FL_OPENGL_MANAGER(g_object_ref(fl_engine_get_opengl_manager(engine))); + self->opengl_manager = FL_OPENGL_MANAGER(g_object_ref(opengl_manager)); setup_shader(self); diff --git a/engine/src/flutter/shell/platform/linux/fl_compositor_opengl.h b/engine/src/flutter/shell/platform/linux/fl_compositor_opengl.h index 178b2a6b8487f..7e97b46e79808 100644 --- a/engine/src/flutter/shell/platform/linux/fl_compositor_opengl.h +++ b/engine/src/flutter/shell/platform/linux/fl_compositor_opengl.h @@ -10,7 +10,8 @@ #include "flutter/shell/platform/embedder/embedder.h" #include "flutter/shell/platform/linux/fl_compositor.h" #include "flutter/shell/platform/linux/fl_framebuffer.h" -#include "flutter/shell/platform/linux/public/flutter_linux/fl_engine.h" +#include "flutter/shell/platform/linux/fl_opengl_manager.h" +#include "flutter/shell/platform/linux/fl_task_runner.h" G_BEGIN_DECLS @@ -28,7 +29,8 @@ G_DECLARE_FINAL_TYPE(FlCompositorOpenGL, /** * fl_compositor_opengl_new: - * @engine: an #FlEngine. + * @task_runner: an #FlTaskRunnner. + * @opengl_manager: an #FlOpenGLManager * @shareable: %TRUE if the can use a framebuffer that is shared between * contexts. * @@ -36,7 +38,8 @@ G_DECLARE_FINAL_TYPE(FlCompositorOpenGL, * * Returns: a new #FlCompositorOpenGL. */ -FlCompositorOpenGL* fl_compositor_opengl_new(FlEngine* engine, +FlCompositorOpenGL* fl_compositor_opengl_new(FlTaskRunner* task_runner, + FlOpenGLManager* opengl_manager, gboolean shareable); /** diff --git a/engine/src/flutter/shell/platform/linux/fl_compositor_opengl_test.cc b/engine/src/flutter/shell/platform/linux/fl_compositor_opengl_test.cc index aada295ee9360..1faa5e4ce3071 100644 --- a/engine/src/flutter/shell/platform/linux/fl_compositor_opengl_test.cc +++ b/engine/src/flutter/shell/platform/linux/fl_compositor_opengl_test.cc @@ -11,19 +11,125 @@ #include "flutter/shell/platform/linux/fl_compositor_opengl.h" #include "flutter/shell/platform/linux/fl_engine_private.h" #include "flutter/shell/platform/linux/fl_framebuffer.h" +#include "flutter/shell/platform/linux/fl_opengl_manager.h" #include "flutter/shell/platform/linux/public/flutter_linux/fl_dart_project.h" #include "flutter/shell/platform/linux/testing/mock_epoxy.h" #include "flutter/shell/platform/linux/testing/mock_renderable.h" #include +TEST(FlCompositorOpenGLTest, Render) { + ::testing::NiceMock epoxy; + g_autoptr(FlDartProject) project = fl_dart_project_new(); + g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); + g_autoptr(FlOpenGLManager) opengl_manager = fl_opengl_manager_new(); + + g_autoptr(FlMockRenderable) renderable = fl_mock_renderable_new(); + g_autoptr(FlCompositorOpenGL) compositor = + fl_compositor_opengl_new(task_runner, opengl_manager, FALSE); + fl_engine_set_implicit_view(engine, FL_RENDERABLE(renderable)); + + // Present layer from a thread. + constexpr size_t width = 100; + constexpr size_t height = 100; + g_autoptr(FlFramebuffer) framebuffer = + fl_framebuffer_new(GL_RGB, width, height, FALSE); + FlutterBackingStore backing_store = { + .type = kFlutterBackingStoreTypeOpenGL, + .open_gl = {.framebuffer = {.user_data = framebuffer}}}; + FlutterLayer layer = {.type = kFlutterLayerContentTypeBackingStore, + .backing_store = &backing_store, + .offset = {0, 0}, + .size = {width, height}}; + const FlutterLayer* layers[1] = {&layer}; + std::thread([&]() { + fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers, 1); + }).join(); + + // Render presented layer. + int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width); + g_autofree unsigned char* image_data = + static_cast(malloc(height * stride)); + cairo_surface_t* surface = cairo_image_surface_create_for_data( + image_data, CAIRO_FORMAT_ARGB32, width, height, stride); + cairo_t* cr = cairo_create(surface); + fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); + cairo_surface_destroy(surface); + cairo_destroy(cr); +} + +TEST(FlCompositorOpenGLTest, Resize) { + ::testing::NiceMock epoxy; + g_autoptr(FlDartProject) project = fl_dart_project_new(); + g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); + g_autoptr(FlOpenGLManager) opengl_manager = fl_opengl_manager_new(); + + g_autoptr(FlMockRenderable) renderable = fl_mock_renderable_new(); + g_autoptr(FlCompositorOpenGL) compositor = + fl_compositor_opengl_new(task_runner, opengl_manager, FALSE); + fl_engine_set_implicit_view(engine, FL_RENDERABLE(renderable)); + + // Present a layer that is the old size. + constexpr size_t width1 = 90; + constexpr size_t height1 = 90; + g_autoptr(FlFramebuffer) framebuffer1 = + fl_framebuffer_new(GL_RGB, width1, height1, FALSE); + FlutterBackingStore backing_store1 = { + .type = kFlutterBackingStoreTypeOpenGL, + .open_gl = {.framebuffer = {.user_data = framebuffer1}}}; + FlutterLayer layer1 = {.type = kFlutterLayerContentTypeBackingStore, + .backing_store = &backing_store1, + .offset = {0, 0}, + .size = {width1, height1}}; + const FlutterLayer* layers1[1] = {&layer1}; + std::thread([&]() { + fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers1, 1); + }).join(); + + // Present layer in current size. + constexpr size_t width2 = 100; + constexpr size_t height2 = 100; + g_autoptr(FlFramebuffer) framebuffer2 = + fl_framebuffer_new(GL_RGB, width2, height2, FALSE); + FlutterBackingStore backing_store2 = { + .type = kFlutterBackingStoreTypeOpenGL, + .open_gl = {.framebuffer = {.user_data = framebuffer2}}}; + FlutterLayer layer2 = {.type = kFlutterLayerContentTypeBackingStore, + .backing_store = &backing_store2, + .offset = {0, 0}, + .size = {width2, height2}}; + const FlutterLayer* layers2[1] = {&layer2}; + fml::AutoResetWaitableEvent latch; + std::thread([&]() { + fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers2, 1); + latch.Signal(); + }).detach(); + + // Render, will wait for the second layer if necessary. + int stride2 = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width2); + g_autofree unsigned char* image_data = + static_cast(malloc(height2 * stride2)); + cairo_surface_t* surface = cairo_image_surface_create_for_data( + image_data, CAIRO_FORMAT_ARGB32, width2, height2, stride2); + cairo_t* cr = cairo_create(surface); + fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); + cairo_surface_destroy(surface); + cairo_destroy(cr); + + latch.Wait(); +} + TEST(FlCompositorOpenGLTest, RestoresGLState) { ::testing::NiceMock epoxy; g_autoptr(FlDartProject) project = fl_dart_project_new(); g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); + g_autoptr(FlOpenGLManager) opengl_manager = fl_opengl_manager_new(); - constexpr int kWidth = 100; - constexpr int kHeight = 100; + constexpr size_t width = 100; + constexpr size_t height = 100; // OpenGL 3.0 ON_CALL(epoxy, glGetString(GL_VENDOR)) @@ -34,52 +140,52 @@ TEST(FlCompositorOpenGLTest, RestoresGLState) { g_autoptr(FlMockRenderable) renderable = fl_mock_renderable_new(); g_autoptr(FlCompositorOpenGL) compositor = - fl_compositor_opengl_new(engine, FALSE); + fl_compositor_opengl_new(task_runner, opengl_manager, FALSE); fl_engine_set_implicit_view(engine, FL_RENDERABLE(renderable)); - fml::AutoResetWaitableEvent latch; - g_autoptr(FlFramebuffer) framebuffer = - fl_framebuffer_new(GL_RGB, kWidth, kHeight, FALSE); + fl_framebuffer_new(GL_RGB, width, height, FALSE); FlutterBackingStore backing_store = { .type = kFlutterBackingStoreTypeOpenGL, .open_gl = {.framebuffer = {.user_data = framebuffer}}}; FlutterLayer layer = {.type = kFlutterLayerContentTypeBackingStore, .backing_store = &backing_store, .offset = {0, 0}, - .size = {kWidth, kHeight}}; + .size = {width, height}}; const FlutterLayer* layers[1] = {&layer}; constexpr GLuint kFakeTextureName = 123; glBindTexture(GL_TEXTURE_2D, kFakeTextureName); - // Simulate raster thread. - g_autoptr(GMainLoop) loop = g_main_loop_new(nullptr, 0); + // Present layer and render. std::thread([&]() { fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers, 1); - g_main_loop_quit(loop); - latch.Signal(); - }).detach(); - - g_main_loop_run(loop); + }).join(); + int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width); + g_autofree unsigned char* image_data = + static_cast(malloc(height * stride)); + cairo_surface_t* surface = cairo_image_surface_create_for_data( + image_data, CAIRO_FORMAT_ARGB32, width, height, stride); + cairo_t* cr = cairo_create(surface); + fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); + cairo_surface_destroy(surface); + cairo_destroy(cr); GLuint texture_2d_binding; glGetIntegerv(GL_TEXTURE_BINDING_2D, reinterpret_cast(&texture_2d_binding)); EXPECT_EQ(texture_2d_binding, kFakeTextureName); - - // Wait until the raster thread has finished before letting - // the engine go out of scope. - latch.Wait(); } TEST(FlCompositorOpenGLTest, BlitFramebuffer) { ::testing::NiceMock epoxy; g_autoptr(FlDartProject) project = fl_dart_project_new(); g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); + g_autoptr(FlOpenGLManager) opengl_manager = fl_opengl_manager_new(); - constexpr int kWidth = 100; - constexpr int kHeight = 100; + constexpr size_t width = 100; + constexpr size_t height = 100; // OpenGL 3.0 ON_CALL(epoxy, glGetString(GL_VENDOR)) @@ -92,42 +198,44 @@ TEST(FlCompositorOpenGLTest, BlitFramebuffer) { g_autoptr(FlMockRenderable) renderable = fl_mock_renderable_new(); g_autoptr(FlCompositorOpenGL) compositor = - fl_compositor_opengl_new(engine, FALSE); + fl_compositor_opengl_new(task_runner, opengl_manager, FALSE); fl_engine_set_implicit_view(engine, FL_RENDERABLE(renderable)); - fml::AutoResetWaitableEvent latch; - g_autoptr(FlFramebuffer) framebuffer = - fl_framebuffer_new(GL_RGB, kWidth, kHeight, FALSE); + fl_framebuffer_new(GL_RGB, width, height, FALSE); FlutterBackingStore backing_store = { .type = kFlutterBackingStoreTypeOpenGL, .open_gl = {.framebuffer = {.user_data = framebuffer}}}; FlutterLayer layer = {.type = kFlutterLayerContentTypeBackingStore, .backing_store = &backing_store, .offset = {0, 0}, - .size = {kWidth, kHeight}}; + .size = {width, height}}; const FlutterLayer* layers[1] = {&layer}; - // Simulate raster thread. - g_autoptr(GMainLoop) loop = g_main_loop_new(nullptr, 0); + // Present layer and render. std::thread([&]() { fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers, 1); - g_main_loop_quit(loop); - latch.Signal(); - }).detach(); - - g_main_loop_run(loop); - - latch.Wait(); + }).join(); + int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width); + g_autofree unsigned char* image_data = + static_cast(malloc(height * stride)); + cairo_surface_t* surface = cairo_image_surface_create_for_data( + image_data, CAIRO_FORMAT_ARGB32, width, height, stride); + cairo_t* cr = cairo_create(surface); + fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); + cairo_surface_destroy(surface); + cairo_destroy(cr); } TEST(FlCompositorOpenGLTest, BlitFramebufferExtension) { ::testing::NiceMock epoxy; g_autoptr(FlDartProject) project = fl_dart_project_new(); g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); + g_autoptr(FlOpenGLManager) opengl_manager = fl_opengl_manager_new(); - constexpr int kWidth = 100; - constexpr int kHeight = 100; + constexpr size_t width = 100; + constexpr size_t height = 100; // OpenGL 2.0 with GL_EXT_framebuffer_blit extension ON_CALL(epoxy, glGetString(GL_VENDOR)) @@ -145,44 +253,44 @@ TEST(FlCompositorOpenGLTest, BlitFramebufferExtension) { g_autoptr(FlMockRenderable) renderable = fl_mock_renderable_new(); g_autoptr(FlCompositorOpenGL) compositor = - fl_compositor_opengl_new(engine, FALSE); + fl_compositor_opengl_new(task_runner, opengl_manager, FALSE); fl_engine_set_implicit_view(engine, FL_RENDERABLE(renderable)); - fml::AutoResetWaitableEvent latch; - g_autoptr(FlFramebuffer) framebuffer = - fl_framebuffer_new(GL_RGB, kWidth, kHeight, FALSE); + fl_framebuffer_new(GL_RGB, width, height, FALSE); FlutterBackingStore backing_store = { .type = kFlutterBackingStoreTypeOpenGL, .open_gl = {.framebuffer = {.user_data = framebuffer}}}; FlutterLayer layer = {.type = kFlutterLayerContentTypeBackingStore, .backing_store = &backing_store, .offset = {0, 0}, - .size = {kWidth, kHeight}}; + .size = {width, height}}; const FlutterLayer* layers[1] = {&layer}; - // Simulate raster thread. - g_autoptr(GMainLoop) loop = g_main_loop_new(nullptr, 0); + // Present layer and render. std::thread([&]() { fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers, 1); - g_main_loop_quit(loop); - latch.Signal(); - }).detach(); - - g_main_loop_run(loop); - - // Wait until the raster thread has finished before letting - // the engine go out of scope. - latch.Wait(); + }).join(); + int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width); + g_autofree unsigned char* image_data = + static_cast(malloc(height * stride)); + cairo_surface_t* surface = cairo_image_surface_create_for_data( + image_data, CAIRO_FORMAT_ARGB32, width, height, stride); + cairo_t* cr = cairo_create(surface); + fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); + cairo_surface_destroy(surface); + cairo_destroy(cr); } TEST(FlCompositorOpenGLTest, NoBlitFramebuffer) { ::testing::NiceMock epoxy; g_autoptr(FlDartProject) project = fl_dart_project_new(); g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); + g_autoptr(FlOpenGLManager) opengl_manager = fl_opengl_manager_new(); - constexpr int kWidth = 100; - constexpr int kHeight = 100; + constexpr size_t width = 100; + constexpr size_t height = 100; // OpenGL 2.0 ON_CALL(epoxy, glGetString(GL_VENDOR)) @@ -193,44 +301,44 @@ TEST(FlCompositorOpenGLTest, NoBlitFramebuffer) { g_autoptr(FlMockRenderable) renderable = fl_mock_renderable_new(); g_autoptr(FlCompositorOpenGL) compositor = - fl_compositor_opengl_new(engine, FALSE); + fl_compositor_opengl_new(task_runner, opengl_manager, FALSE); fl_engine_set_implicit_view(engine, FL_RENDERABLE(renderable)); - fml::AutoResetWaitableEvent latch; - g_autoptr(FlFramebuffer) framebuffer = - fl_framebuffer_new(GL_RGB, kWidth, kHeight, FALSE); + fl_framebuffer_new(GL_RGB, width, height, FALSE); FlutterBackingStore backing_store = { .type = kFlutterBackingStoreTypeOpenGL, .open_gl = {.framebuffer = {.user_data = framebuffer}}}; FlutterLayer layer = {.type = kFlutterLayerContentTypeBackingStore, .backing_store = &backing_store, .offset = {0, 0}, - .size = {kWidth, kHeight}}; + .size = {width, height}}; const FlutterLayer* layers[1] = {&layer}; - // Simulate raster thread. - g_autoptr(GMainLoop) loop = g_main_loop_new(nullptr, 0); + // Present layer and render. std::thread([&]() { fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers, 1); - g_main_loop_quit(loop); - latch.Signal(); - }).detach(); - - g_main_loop_run(loop); - - // Wait until the raster thread has finished before letting - // the engine go out of scope. - latch.Wait(); + }).join(); + int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width); + g_autofree unsigned char* image_data = + static_cast(malloc(height * stride)); + cairo_surface_t* surface = cairo_image_surface_create_for_data( + image_data, CAIRO_FORMAT_ARGB32, width, height, stride); + cairo_t* cr = cairo_create(surface); + fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); + cairo_surface_destroy(surface); + cairo_destroy(cr); } TEST(FlCompositorOpenGLTest, BlitFramebufferNvidia) { ::testing::NiceMock epoxy; g_autoptr(FlDartProject) project = fl_dart_project_new(); g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); + g_autoptr(FlOpenGLManager) opengl_manager = fl_opengl_manager_new(); - constexpr int kWidth = 100; - constexpr int kHeight = 100; + constexpr size_t width = 100; + constexpr size_t height = 100; // OpenGL 3.0, but on NVIDIA driver so temporarily disabled due to // https://github.com/flutter/flutter/issues/152099 @@ -242,91 +350,31 @@ TEST(FlCompositorOpenGLTest, BlitFramebufferNvidia) { g_autoptr(FlMockRenderable) renderable = fl_mock_renderable_new(); g_autoptr(FlCompositorOpenGL) compositor = - fl_compositor_opengl_new(engine, FALSE); - fl_engine_set_implicit_view(engine, FL_RENDERABLE(renderable)); - - fml::AutoResetWaitableEvent latch; - - g_autoptr(FlFramebuffer) framebuffer = - fl_framebuffer_new(GL_RGB, kWidth, kHeight, FALSE); - FlutterBackingStore backing_store = { - .type = kFlutterBackingStoreTypeOpenGL, - .open_gl = {.framebuffer = {.user_data = framebuffer}}}; - FlutterLayer layer = {.type = kFlutterLayerContentTypeBackingStore, - .backing_store = &backing_store, - .offset = {0, 0}, - .size = {kWidth, kHeight}}; - const FlutterLayer* layers[1] = {&layer}; - - // Simulate raster thread. - g_autoptr(GMainLoop) loop = g_main_loop_new(nullptr, 0); - std::thread([&]() { - fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers, 1); - g_main_loop_quit(loop); - latch.Signal(); - }).detach(); - - g_main_loop_run(loop); - - // Wait until the raster thread has finished before letting - // the engine go out of scope. - latch.Wait(); -} - -TEST(FlCompositorOpenGLTest, MultiView) { - ::testing::NiceMock epoxy; - g_autoptr(FlDartProject) project = fl_dart_project_new(); - g_autoptr(FlEngine) engine = fl_engine_new(project); - - constexpr int kWidth = 100; - constexpr int kHeight = 100; - - // OpenGL 3.0 - ON_CALL(epoxy, glGetString(GL_VENDOR)) - .WillByDefault( - ::testing::Return(reinterpret_cast("Intel"))); - ON_CALL(epoxy, epoxy_is_desktop_gl).WillByDefault(::testing::Return(true)); - ON_CALL(epoxy, epoxy_gl_version).WillByDefault(::testing::Return(30)); - - g_autoptr(FlMockRenderable) renderable = fl_mock_renderable_new(); - g_autoptr(FlMockRenderable) secondary_renderable = fl_mock_renderable_new(); - - g_autoptr(FlCompositorOpenGL) compositor = - fl_compositor_opengl_new(engine, FALSE); + fl_compositor_opengl_new(task_runner, opengl_manager, FALSE); fl_engine_set_implicit_view(engine, FL_RENDERABLE(renderable)); - fl_engine_add_view(engine, FL_RENDERABLE(secondary_renderable), 1024, 768, - 1.0, nullptr, nullptr, nullptr); - - fml::AutoResetWaitableEvent latch; g_autoptr(FlFramebuffer) framebuffer = - fl_framebuffer_new(GL_RGB, kWidth, kHeight, FALSE); + fl_framebuffer_new(GL_RGB, width, height, FALSE); FlutterBackingStore backing_store = { .type = kFlutterBackingStoreTypeOpenGL, .open_gl = {.framebuffer = {.user_data = framebuffer}}}; FlutterLayer layer = {.type = kFlutterLayerContentTypeBackingStore, .backing_store = &backing_store, .offset = {0, 0}, - .size = {kWidth, kHeight}}; + .size = {width, height}}; const FlutterLayer* layers[1] = {&layer}; - // Simulate raster thread. - g_autoptr(GMainLoop) loop = g_main_loop_new(nullptr, 0); + // Present layer and render. std::thread([&]() { fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers, 1); - g_main_loop_quit(loop); - latch.Signal(); - }).detach(); - - g_main_loop_run(loop); - - // FIXME - // EXPECT_EQ(fl_mock_renderable_get_present_count(renderable), - // static_cast(0)); - // EXPECT_EQ(fl_mock_renderable_get_present_count(secondary_renderable), - // static_cast(1)); - - // Wait until the raster thread has finished before letting - // the engine go out of scope. - latch.Wait(); + }).join(); + int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width); + g_autofree unsigned char* image_data = + static_cast(malloc(height * stride)); + cairo_surface_t* surface = cairo_image_surface_create_for_data( + image_data, CAIRO_FORMAT_ARGB32, width, height, stride); + cairo_t* cr = cairo_create(surface); + fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); + cairo_surface_destroy(surface); + cairo_destroy(cr); } diff --git a/engine/src/flutter/shell/platform/linux/fl_compositor_software.cc b/engine/src/flutter/shell/platform/linux/fl_compositor_software.cc index 0650a695f6581..0795851a52790 100644 --- a/engine/src/flutter/shell/platform/linux/fl_compositor_software.cc +++ b/engine/src/flutter/shell/platform/linux/fl_compositor_software.cc @@ -7,6 +7,9 @@ struct _FlCompositorSoftware { FlCompositor parent_instance; + // Task runner to wait for frames on. + FlTaskRunner* task_runner; + // Width of frame in pixels. size_t width; @@ -18,9 +21,6 @@ struct _FlCompositorSoftware { // Ensure Flutter and GTK can access the surface. GMutex frame_mutex; - - // Allow GTK to wait for Flutter to generate a suitable frame. - GCond frame_cond; }; G_DEFINE_TYPE(FlCompositorSoftware, @@ -63,8 +63,7 @@ static gboolean fl_compositor_software_present_layers( backing_store->software.height, backing_store->software.row_bytes); } - // Signal a frame is ready. - g_cond_signal(&self->frame_cond); + fl_task_runner_stop_wait(self->task_runner); return TRUE; } @@ -85,7 +84,9 @@ static gboolean fl_compositor_software_render(FlCompositor* compositor, size_t width = gdk_window_get_width(window) * scale_factor; size_t height = gdk_window_get_height(window) * scale_factor; while (self->width != width || self->height != height) { - g_cond_wait(&self->frame_cond, &self->frame_mutex); + g_mutex_unlock(&self->frame_mutex); + fl_task_runner_wait(self->task_runner); + g_mutex_lock(&self->frame_mutex); } cairo_surface_set_device_scale(self->surface, scale_factor, scale_factor); @@ -98,12 +99,12 @@ static gboolean fl_compositor_software_render(FlCompositor* compositor, static void fl_compositor_software_dispose(GObject* object) { FlCompositorSoftware* self = FL_COMPOSITOR_SOFTWARE(object); + g_clear_object(&self->task_runner); if (self->surface != nullptr) { free(cairo_image_surface_get_data(self->surface)); } g_clear_pointer(&self->surface, cairo_surface_destroy); g_mutex_clear(&self->frame_mutex); - g_cond_clear(&self->frame_cond); G_OBJECT_CLASS(fl_compositor_software_parent_class)->dispose(object); } @@ -119,11 +120,11 @@ static void fl_compositor_software_class_init( static void fl_compositor_software_init(FlCompositorSoftware* self) { g_mutex_init(&self->frame_mutex); - g_cond_init(&self->frame_cond); } -FlCompositorSoftware* fl_compositor_software_new() { +FlCompositorSoftware* fl_compositor_software_new(FlTaskRunner* task_runner) { FlCompositorSoftware* self = FL_COMPOSITOR_SOFTWARE( g_object_new(fl_compositor_software_get_type(), nullptr)); + self->task_runner = FL_TASK_RUNNER(g_object_ref(task_runner)); return self; } diff --git a/engine/src/flutter/shell/platform/linux/fl_compositor_software.h b/engine/src/flutter/shell/platform/linux/fl_compositor_software.h index 7ba9035fe0935..27eb93e2956dc 100644 --- a/engine/src/flutter/shell/platform/linux/fl_compositor_software.h +++ b/engine/src/flutter/shell/platform/linux/fl_compositor_software.h @@ -7,9 +7,8 @@ #include -#include "flutter/shell/platform/embedder/embedder.h" #include "flutter/shell/platform/linux/fl_compositor.h" -#include "flutter/shell/platform/linux/fl_renderable.h" +#include "flutter/shell/platform/linux/fl_task_runner.h" G_BEGIN_DECLS @@ -28,12 +27,13 @@ G_DECLARE_FINAL_TYPE(FlCompositorSoftware, /** * fl_compositor_software_new: + * @task_runner: an #FlTaskRunnner. * * Creates a new software rendering compositor. * * Returns: a new #FlCompositorSoftware. */ -FlCompositorSoftware* fl_compositor_software_new(); +FlCompositorSoftware* fl_compositor_software_new(FlTaskRunner* task_runner); G_END_DECLS diff --git a/engine/src/flutter/shell/platform/linux/fl_compositor_software_test.cc b/engine/src/flutter/shell/platform/linux/fl_compositor_software_test.cc index 4245b0de3d501..fa6c0dccc7ba8 100644 --- a/engine/src/flutter/shell/platform/linux/fl_compositor_software_test.cc +++ b/engine/src/flutter/shell/platform/linux/fl_compositor_software_test.cc @@ -2,25 +2,116 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include #include "gtest/gtest.h" #include "flutter/common/constants.h" +#include "flutter/fml/synchronization/waitable_event.h" #include "flutter/shell/platform/linux/fl_compositor_software.h" +#include "flutter/shell/platform/linux/fl_task_runner.h" #include "flutter/shell/platform/linux/public/flutter_linux/fl_dart_project.h" -#include "flutter/shell/platform/linux/testing/mock_renderable.h" #include TEST(FlCompositorSoftwareTest, Render) { g_autoptr(FlDartProject) project = fl_dart_project_new(); + g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); - g_autoptr(FlCompositorSoftware) compositor = fl_compositor_software_new(); + g_autoptr(FlCompositorSoftware) compositor = + fl_compositor_software_new(task_runner); - unsigned char image_data[1024 * 1024 * 4]; + // Present layer from a thread. + constexpr size_t width = 100; + constexpr size_t height = 100; + size_t row_bytes = width * 4; + g_autofree unsigned char* layer_data = + static_cast(malloc(height * row_bytes)); + FlutterBackingStore backing_store = { + .type = kFlutterBackingStoreTypeSoftware, + .software = { + .allocation = layer_data, .row_bytes = row_bytes, .height = height}}; + FlutterLayer layer = {.type = kFlutterLayerContentTypeBackingStore, + .backing_store = &backing_store, + .offset = {0, 0}, + .size = {width, height}}; + const FlutterLayer* layers[1] = {&layer}; + std::thread([&]() { + fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers, 1); + }).join(); + + // Render presented layer. + int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width); + g_autofree unsigned char* image_data = + static_cast(malloc(height * stride)); cairo_surface_t* surface = cairo_image_surface_create_for_data( - image_data, CAIRO_FORMAT_ARGB32, 1024, 1024, 1024 * 4); + image_data, CAIRO_FORMAT_ARGB32, width, height, stride); cairo_t* cr = cairo_create(surface); - fl_compositor_present_layers(FL_COMPOSITOR(compositor), nullptr, 0); fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); cairo_surface_destroy(surface); + cairo_destroy(cr); +} + +TEST(FlCompositorSoftwareTest, Resize) { + g_autoptr(FlDartProject) project = fl_dart_project_new(); + g_autoptr(FlEngine) engine = fl_engine_new(project); + g_autoptr(FlTaskRunner) task_runner = fl_task_runner_new(engine); + + g_autoptr(FlCompositorSoftware) compositor = + fl_compositor_software_new(task_runner); + + // Present a layer that is the old size. + constexpr size_t width1 = 90; + constexpr size_t height1 = 90; + size_t row_bytes = width1 * 4; + g_autofree unsigned char* layer1_data = + static_cast(malloc(height1 * row_bytes)); + FlutterBackingStore backing_store1 = { + .type = kFlutterBackingStoreTypeSoftware, + .software = {.allocation = layer1_data, + .row_bytes = row_bytes, + .height = height1}}; + FlutterLayer layer1 = {.type = kFlutterLayerContentTypeBackingStore, + .backing_store = &backing_store1, + .offset = {0, 0}, + .size = {width1, height1}}; + const FlutterLayer* layers1[1] = {&layer1}; + std::thread([&]() { + fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers1, 1); + }).join(); + + // Present layer in current size. + constexpr size_t width2 = 100; + constexpr size_t height2 = 100; + row_bytes = width2 * 4; + g_autofree unsigned char* layer2_data = + static_cast(malloc(height2 * row_bytes)); + FlutterBackingStore backing_store2 = { + .type = kFlutterBackingStoreTypeSoftware, + .software = {.allocation = layer2_data, + .row_bytes = row_bytes, + .height = height2}}; + FlutterLayer layer2 = {.type = kFlutterLayerContentTypeBackingStore, + .backing_store = &backing_store2, + .offset = {0, 0}, + .size = {width2, height2}}; + const FlutterLayer* layers2[1] = {&layer2}; + fml::AutoResetWaitableEvent latch; + std::thread([&]() { + fl_compositor_present_layers(FL_COMPOSITOR(compositor), layers2, 1); + latch.Signal(); + }).detach(); + + // Render, will wait for the second layer if necessary. + int stride2 = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width2); + g_autofree unsigned char* image_data = + static_cast(malloc(height2 * stride2)); + cairo_surface_t* surface = cairo_image_surface_create_for_data( + image_data, CAIRO_FORMAT_ARGB32, width2, height2, stride2); + cairo_t* cr = cairo_create(surface); + fl_compositor_render(FL_COMPOSITOR(compositor), cr, nullptr); + cairo_surface_destroy(surface); + cairo_destroy(cr); + + latch.Wait(); } diff --git a/engine/src/flutter/shell/platform/linux/fl_engine.cc b/engine/src/flutter/shell/platform/linux/fl_engine.cc index 528d42ff64381..97056423dc53a 100644 --- a/engine/src/flutter/shell/platform/linux/fl_engine.cc +++ b/engine/src/flutter/shell/platform/linux/fl_engine.cc @@ -251,7 +251,9 @@ static bool create_opengl_backing_store( FlEngine* self, const FlutterBackingStoreConfig* config, FlutterBackingStore* backing_store_out) { - fl_opengl_manager_make_current(self->opengl_manager); + if (!fl_opengl_manager_make_current(self->opengl_manager)) { + return false; + } GLint sized_format = GL_RGBA8; GLint general_format = GL_RGBA; @@ -285,7 +287,9 @@ static bool create_opengl_backing_store( static bool collect_opengl_backing_store( FlEngine* self, const FlutterBackingStore* backing_store) { - fl_opengl_manager_make_current(self->opengl_manager); + if (!fl_opengl_manager_make_current(self->opengl_manager)) { + return false; + } // OpenGL context is required when destroying #FlFramebuffer. g_object_unref(backing_store->open_gl.framebuffer.user_data); @@ -381,14 +385,12 @@ static void* fl_engine_gl_proc_resolver(void* user_data, const char* name) { static bool fl_engine_gl_make_current(void* user_data) { FlEngine* self = static_cast(user_data); - fl_opengl_manager_make_current(self->opengl_manager); - return true; + return fl_opengl_manager_make_current(self->opengl_manager); } static bool fl_engine_gl_clear_current(void* user_data) { FlEngine* self = static_cast(user_data); - fl_opengl_manager_clear_current(self->opengl_manager); - return true; + return fl_opengl_manager_clear_current(self->opengl_manager); } static uint32_t fl_engine_gl_get_fbo(void* user_data) { @@ -398,8 +400,7 @@ static uint32_t fl_engine_gl_get_fbo(void* user_data) { static bool fl_engine_gl_make_resource_current(void* user_data) { FlEngine* self = static_cast(user_data); - fl_opengl_manager_make_resource_current(self->opengl_manager); - return true; + return fl_opengl_manager_make_resource_current(self->opengl_manager); } // Called by the engine to retrieve an external texture. diff --git a/engine/src/flutter/shell/platform/linux/fl_opengl_manager.cc b/engine/src/flutter/shell/platform/linux/fl_opengl_manager.cc index 9a734d673bd16..c6d7d62d30c20 100644 --- a/engine/src/flutter/shell/platform/linux/fl_opengl_manager.cc +++ b/engine/src/flutter/shell/platform/linux/fl_opengl_manager.cc @@ -73,16 +73,17 @@ FlOpenGLManager* fl_opengl_manager_new() { return self; } -void fl_opengl_manager_make_current(FlOpenGLManager* self) { - eglMakeCurrent(self->display, EGL_NO_SURFACE, EGL_NO_SURFACE, - self->render_context); +gboolean fl_opengl_manager_make_current(FlOpenGLManager* self) { + return eglMakeCurrent(self->display, EGL_NO_SURFACE, EGL_NO_SURFACE, + self->render_context) == EGL_TRUE; } -void fl_opengl_manager_make_resource_current(FlOpenGLManager* self) { - eglMakeCurrent(self->display, EGL_NO_SURFACE, EGL_NO_SURFACE, - self->resource_context); +gboolean fl_opengl_manager_make_resource_current(FlOpenGLManager* self) { + return eglMakeCurrent(self->display, EGL_NO_SURFACE, EGL_NO_SURFACE, + self->resource_context) == EGL_TRUE; } -void fl_opengl_manager_clear_current(FlOpenGLManager* self) { - eglMakeCurrent(self->display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); +gboolean fl_opengl_manager_clear_current(FlOpenGLManager* self) { + return eglMakeCurrent(self->display, EGL_NO_SURFACE, EGL_NO_SURFACE, + EGL_NO_CONTEXT) == EGL_TRUE; } diff --git a/engine/src/flutter/shell/platform/linux/fl_opengl_manager.h b/engine/src/flutter/shell/platform/linux/fl_opengl_manager.h index 1079e24f9b71d..6130594b664f6 100644 --- a/engine/src/flutter/shell/platform/linux/fl_opengl_manager.h +++ b/engine/src/flutter/shell/platform/linux/fl_opengl_manager.h @@ -29,24 +29,30 @@ FlOpenGLManager* fl_opengl_manager_new(); * @manager: an #FlOpenGLManager. * * Makes the rendering context current. + * + * Returns: %TRUE if the context made current. */ -void fl_opengl_manager_make_current(FlOpenGLManager* manager); +gboolean fl_opengl_manager_make_current(FlOpenGLManager* manager); /** * fl_opengl_manager_make_resource_current: * @manager: an #FlOpenGLManager. * * Makes the resource rendering context current. + * + * Returns: %TRUE if the context made current. */ -void fl_opengl_manager_make_resource_current(FlOpenGLManager* manager); +gboolean fl_opengl_manager_make_resource_current(FlOpenGLManager* manager); /** * fl_opengl_manager_clear_current: * @manager: an #FlOpenGLManager. * * Clears the current rendering context. + * + * Returns: %TRUE if the context cleared. */ -void fl_opengl_manager_clear_current(FlOpenGLManager* manager); +gboolean fl_opengl_manager_clear_current(FlOpenGLManager* manager); G_END_DECLS diff --git a/engine/src/flutter/shell/platform/linux/fl_task_runner.cc b/engine/src/flutter/shell/platform/linux/fl_task_runner.cc index 463c13776aaaa..99597459b074c 100644 --- a/engine/src/flutter/shell/platform/linux/fl_task_runner.cc +++ b/engine/src/flutter/shell/platform/linux/fl_task_runner.cc @@ -18,7 +18,6 @@ struct _FlTaskRunner { guint timeout_source_id; GList /**/* pending_tasks; - gboolean blocking_main_thread; }; typedef struct _FlTaskRunnerTask { @@ -107,32 +106,23 @@ static gint64 fl_task_runner_next_task_expiration_time_locked( } static void fl_task_runner_tasks_did_change_locked(FlTaskRunner* self) { - if (self->blocking_main_thread) { - // Wake up blocked thread - g_cond_signal(&self->cond); - } else { - // Reschedule timeout - if (self->timeout_source_id != 0) { - g_source_remove(self->timeout_source_id); - self->timeout_source_id = 0; - } - gint64 min_time = fl_task_runner_next_task_expiration_time_locked(self); - if (min_time != G_MAXINT64) { - gint64 remaining = MAX(min_time - g_get_monotonic_time(), 0); - self->timeout_source_id = - g_timeout_add(remaining / kMillisecondsPerMicrosecond + 1, - fl_task_runner_on_expired_timeout, self); - } + // Reschedule timeout + if (self->timeout_source_id != 0) { + g_source_remove(self->timeout_source_id); + self->timeout_source_id = 0; + } + gint64 min_time = fl_task_runner_next_task_expiration_time_locked(self); + if (min_time != G_MAXINT64) { + gint64 remaining = MAX(min_time - g_get_monotonic_time(), 0); + self->timeout_source_id = + g_timeout_add(remaining / kMillisecondsPerMicrosecond + 1, + fl_task_runner_on_expired_timeout, self); } } void fl_task_runner_dispose(GObject* object) { FlTaskRunner* self = FL_TASK_RUNNER(object); - // this should never happen because the task runner is retained while blocking - // main thread - g_assert(!self->blocking_main_thread); - g_weak_ref_clear(&self->engine); g_mutex_clear(&self->mutex); g_cond_clear(&self->cond); @@ -174,35 +164,21 @@ void fl_task_runner_post_flutter_task(FlTaskRunner* self, self->pending_tasks = g_list_append(self->pending_tasks, runner_task); fl_task_runner_tasks_did_change_locked(self); + + // Tasks changed, so wake up anything blocking in fl_task_runner_wait. + g_cond_signal(&self->cond); } -void fl_task_runner_block_main_thread(FlTaskRunner* self) { +void fl_task_runner_wait(FlTaskRunner* self) { g_autoptr(GMutexLocker) locker = g_mutex_locker_new(&self->mutex); (void)locker; // unused variable - g_return_if_fail(self->blocking_main_thread == FALSE); - - g_object_ref(self); - - self->blocking_main_thread = true; - while (self->blocking_main_thread) { - g_cond_wait_until(&self->cond, &self->mutex, - fl_task_runner_next_task_expiration_time_locked(self)); - fl_task_runner_process_expired_tasks_locked(self); - } - - // Tasks might have changed in the meanwhile, reschedule timeout + g_cond_wait_until(&self->cond, &self->mutex, + fl_task_runner_next_task_expiration_time_locked(self)); + fl_task_runner_process_expired_tasks_locked(self); fl_task_runner_tasks_did_change_locked(self); - - g_object_unref(self); } -void fl_task_runner_release_main_thread(FlTaskRunner* self) { - g_autoptr(GMutexLocker) locker = g_mutex_locker_new(&self->mutex); - (void)locker; // unused variable - - g_return_if_fail(self->blocking_main_thread == TRUE); - - self->blocking_main_thread = FALSE; +void fl_task_runner_stop_wait(FlTaskRunner* self) { g_cond_signal(&self->cond); } diff --git a/engine/src/flutter/shell/platform/linux/fl_task_runner.h b/engine/src/flutter/shell/platform/linux/fl_task_runner.h index 3b742cb149232..c850168f2af4c 100644 --- a/engine/src/flutter/shell/platform/linux/fl_task_runner.h +++ b/engine/src/flutter/shell/platform/linux/fl_task_runner.h @@ -38,24 +38,27 @@ void fl_task_runner_post_flutter_task(FlTaskRunner* task_runner, uint64_t target_time_nanos); /** - * fl_task_runner_block_main_thread: + * fl_task_runner_wait: * @task_runner: an #FlTaskRunner. * - * Blocks main thread until fl_task_runner_release_main_thread is called. - * While main thread is blocked tasks posted to #FlTaskRunner are executed as - * usual. - * Must be invoked on main thread. + * Block until the next task is ready and then perform it. May be interrupted by + * fl_task_runner_stop_wait(), in which case no task is run but execution will + * be returned to the caller. + * + * Must be called only by the GTK thread. */ -void fl_task_runner_block_main_thread(FlTaskRunner* task_runner); +void fl_task_runner_wait(FlTaskRunner* task_runner); /** - * fl_task_runner_release_main_thread: + * fl_task_runner_stop_wait: * @task_runner: an #FlTaskRunner. * - * Unblocks main thread. This will resume normal processing of main loop. - * Can be invoked from any thread. + * Cause fl_task_runner_wait() to complete. May be called even if + * fl_task_runner_wait() is not being used. + * + * May be called by any thread. */ -void fl_task_runner_release_main_thread(FlTaskRunner* self); +void fl_task_runner_stop_wait(FlTaskRunner* self); G_END_DECLS diff --git a/engine/src/flutter/shell/platform/linux/fl_view.cc b/engine/src/flutter/shell/platform/linux/fl_view.cc index f770b93e1cb65..a9be94291bc8d 100644 --- a/engine/src/flutter/shell/platform/linux/fl_view.cc +++ b/engine/src/flutter/shell/platform/linux/fl_view.cc @@ -451,12 +451,14 @@ static void setup_opengl(FlView* self) { // then we have to copy the texture via the CPU. gboolean shareable = GDK_IS_WAYLAND_DISPLAY(gtk_widget_get_display(GTK_WIDGET(self))); - self->compositor = - FL_COMPOSITOR(fl_compositor_opengl_new(self->engine, shareable)); + self->compositor = FL_COMPOSITOR(fl_compositor_opengl_new( + fl_engine_get_task_runner(self->engine), + fl_engine_get_opengl_manager(self->engine), shareable)); } static void setup_software(FlView* self) { - self->compositor = FL_COMPOSITOR(fl_compositor_software_new()); + self->compositor = FL_COMPOSITOR( + fl_compositor_software_new(fl_engine_get_task_runner(self->engine))); } static void realize_cb(FlView* self) { diff --git a/engine/src/flutter/shell/platform/linux/testing/mock_gtk.cc b/engine/src/flutter/shell/platform/linux/testing/mock_gtk.cc index a7325b242d685..85c59505e2617 100644 --- a/engine/src/flutter/shell/platform/linux/testing/mock_gtk.cc +++ b/engine/src/flutter/shell/platform/linux/testing/mock_gtk.cc @@ -24,9 +24,15 @@ static void fl_mock_keymap_class_init(FlMockKeymapClass* klass) { static void fl_mock_keymap_init(FlMockKeymap* self) {} +// Override GdkKeymap +GType gdk_keymap_get_type() { + return fl_mock_keymap_get_type(); +} + static MockGtk* mock = nullptr; MockGtk::MockGtk() { + thread = g_thread_self(); mock = this; } @@ -36,7 +42,15 @@ MockGtk::~MockGtk() { } } +// Check we are running on the GTK thread. +static void check_thread() { + if (mock != nullptr) { + EXPECT_EQ(mock->thread, g_thread_self()); + } +} + GdkKeymap* gdk_keymap_get_for_display(GdkDisplay* display) { + check_thread(); FlMockKeymap* keymap = FL_MOCK_KEYMAP(g_object_new(fl_mock_keymap_get_type(), nullptr)); (void)FL_IS_MOCK_KEYMAP(keymap); @@ -44,65 +58,130 @@ GdkKeymap* gdk_keymap_get_for_display(GdkDisplay* display) { } guint gdk_keymap_lookup_key(GdkKeymap* keymap, const GdkKeymapKey* key) { + check_thread(); return mock->gdk_keymap_lookup_key(keymap, key); } GdkDisplay* gdk_display_get_default() { + check_thread(); return GDK_DISPLAY(g_object_new(gdk_wayland_display_get_type(), nullptr)); } -void gdk_display_beep(GdkDisplay* display) {} +void gdk_display_beep(GdkDisplay* display) { + check_thread(); +} int gdk_window_get_width(GdkWindow* window) { + check_thread(); return 100; } int gdk_window_get_height(GdkWindow* window) { + check_thread(); return 100; } gint gdk_window_get_scale_factor(GdkWindow* window) { + check_thread(); return 1; } GdkWindowState gdk_window_get_state(GdkWindow* window) { + check_thread(); return mock->gdk_window_get_state(window); } GdkDisplay* gdk_window_get_display(GdkWindow* window) { + check_thread(); return GDK_DISPLAY(g_object_new(gdk_wayland_display_get_type(), nullptr)); } int gdk_display_get_n_monitors(GdkDisplay* display) { + check_thread(); return 1; } GdkMonitor* gdk_display_get_monitor(GdkDisplay* display, int n) { + check_thread(); return GDK_MONITOR(g_object_new(gdk_monitor_get_type(), nullptr)); } GdkMonitor* gdk_display_get_monitor_at_window(GdkDisplay* display, GdkWindow* window) { + check_thread(); return nullptr; } +void gdk_monitor_get_geometry(GdkMonitor* monitor, GdkRectangle* geometry) { + check_thread(); +} + +int gdk_monitor_get_refresh_rate(GdkMonitor* monitor) { + check_thread(); + return 60000; +} + +int gdk_monitor_get_scale_factor(GdkMonitor* monitor) { + check_thread(); + return 1; +} + GdkCursor* gdk_cursor_new_from_name(GdkDisplay* display, const gchar* name) { + check_thread(); return nullptr; } -void gdk_window_set_cursor(GdkWindow* window, GdkCursor* cursor) {} +void gdk_window_set_cursor(GdkWindow* window, GdkCursor* cursor) { + check_thread(); +} + +GdkGLContext* gdk_window_create_gl_context(GdkWindow* window, GError** error) { + check_thread(); + return nullptr; +} + +void gdk_cairo_set_source_rgba(cairo_t* cr, const GdkRGBA* rgba) { + check_thread(); +} + +void gdk_gl_context_realize(GdkGLContext* context) { + check_thread(); +} + +void gdk_gl_context_clear_current(GdkGLContext* context) { + check_thread(); +} + +void gdk_gl_context_make_current(GdkGLContext* context) { + check_thread(); +} + +void gdk_cairo_draw_from_gl(cairo_t* cr, + GdkWindow* window, + int source, + int source_type, + int buffer_scale, + int x, + int y, + int width, + int height) { + check_thread(); +} GtkWidget* gtk_window_new(GtkWindowType type) { + check_thread(); GtkWindow* window = GTK_WINDOW(g_object_new(gtk_window_get_type(), nullptr)); mock->gtk_window_new(window, type); return GTK_WIDGET(window); } void gtk_window_set_default_size(GtkWindow* window, gint width, gint height) { + check_thread(); mock->gtk_window_set_default_size(window, width, height); } void gtk_window_set_title(GtkWindow* window, const gchar* title) { + check_thread(); mock->gtk_window_set_title(window, title); } @@ -110,42 +189,85 @@ void gtk_window_set_geometry_hints(GtkWindow* window, GtkWidget* widget, GdkGeometry* geometry, GdkWindowHints geometry_mask) { + check_thread(); mock->gtk_window_set_geometry_hints(window, widget, geometry, geometry_mask); } void gtk_window_resize(GtkWindow* window, gint width, gint height) { + check_thread(); mock->gtk_window_resize(window, width, height); } void gtk_window_maximize(GtkWindow* window) { + check_thread(); mock->gtk_window_maximize(window); } void gtk_window_unmaximize(GtkWindow* window) { + check_thread(); mock->gtk_window_unmaximize(window); } gboolean gtk_window_is_maximized(GtkWindow* window) { + check_thread(); return mock->gtk_window_is_maximized(window); } void gtk_window_iconify(GtkWindow* window) { + check_thread(); mock->gtk_window_iconify(window); } void gtk_window_deiconify(GtkWindow* window) { + check_thread(); mock->gtk_window_deiconify(window); } -void gtk_widget_realize(GtkWidget* widget) {} +void gtk_widget_add_events(GtkWidget* widget, gint events) { + check_thread(); +} + +void gtk_widget_class_set_accessible_type(GtkWidget* widget, GType type) { + check_thread(); +} + +void gtk_widget_get_allocation(GtkWidget* widget, GtkAllocation* allocation) { + check_thread(); + allocation->x = 0; + allocation->y = 0; + allocation->width = 100; + allocation->height = 100; +} + +GdkDisplay* gtk_widget_get_display(GtkWidget* widget) { + check_thread(); + return nullptr; +} -void gtk_widget_show(GtkWidget* widget) {} +gint gtk_widget_get_scale_factor(GtkWidget* widget) { + check_thread(); + return 1; +} + +void gtk_widget_realize(GtkWidget* widget) { + check_thread(); +} + +void gtk_widget_show(GtkWidget* widget) { + check_thread(); +} + +void gtk_widget_queue_draw(GtkWidget* widget) { + check_thread(); +} void gtk_widget_destroy(GtkWidget* widget) { + check_thread(); mock->gtk_widget_destroy(widget); } void fl_gtk_widget_destroy(GtkWidget* widget) { + check_thread(); void (*destroy)(GtkWidget*) = reinterpret_cast( dlsym(RTLD_NEXT, "gtk_widget_destroy")); destroy(widget); @@ -157,6 +279,7 @@ gboolean gtk_widget_translate_coordinates(GtkWidget* src_widget, gint src_y, gint* dest_x, gint* dest_y) { + check_thread(); if (mock == nullptr) { *dest_x = src_x; *dest_y = src_y; @@ -168,11 +291,18 @@ gboolean gtk_widget_translate_coordinates(GtkWidget* src_widget, } GtkWidget* gtk_widget_get_toplevel(GtkWidget* widget) { + check_thread(); return widget; } +GdkWindow* gtk_widget_get_window(GtkWidget* widget) { + check_thread(); + return nullptr; +} + void gtk_im_context_set_client_window(GtkIMContext* context, GdkWindow* window) { + check_thread(); if (mock != nullptr) { mock->gtk_im_context_set_client_window(context, window); } @@ -182,6 +312,7 @@ void gtk_im_context_get_preedit_string(GtkIMContext* context, gchar** str, PangoAttrList** attrs, gint* cursor_pos) { + check_thread(); if (mock != nullptr) { mock->gtk_im_context_get_preedit_string(context, str, attrs, cursor_pos); } @@ -189,6 +320,7 @@ void gtk_im_context_get_preedit_string(GtkIMContext* context, gboolean gtk_im_context_filter_keypress(GtkIMContext* context, GdkEventKey* event) { + check_thread(); if (mock == nullptr) { return TRUE; } @@ -197,12 +329,14 @@ gboolean gtk_im_context_filter_keypress(GtkIMContext* context, } void gtk_im_context_focus_in(GtkIMContext* context) { + check_thread(); if (mock != nullptr) { mock->gtk_im_context_focus_in(context); } } void gtk_im_context_focus_out(GtkIMContext* context) { + check_thread(); if (mock != nullptr) { mock->gtk_im_context_focus_out(context); } @@ -210,6 +344,7 @@ void gtk_im_context_focus_out(GtkIMContext* context) { void gtk_im_context_set_cursor_location(GtkIMContext* context, const GdkRectangle* area) { + check_thread(); if (mock != nullptr) { mock->gtk_im_context_set_cursor_location(context, area); } @@ -219,7 +354,25 @@ void gtk_im_context_set_surrounding(GtkIMContext* context, const gchar* text, gint len, gint cursor_index) { + check_thread(); if (mock != nullptr) { mock->gtk_im_context_set_surrounding(context, text, len, cursor_index); } } + +GtkClipboard* gtk_clipboard_get_default(GdkDisplay* display) { + check_thread(); + return nullptr; +} + +void gtk_clipboard_set_text(GtkClipboard* clipboard, + const gchar* text, + gint len) { + check_thread(); +} + +void gtk_clipboard_request_text(GtkClipboard* clipboard, + GtkClipboardTextReceivedFunc callback, + gpointer user_data) { + check_thread(); +} diff --git a/engine/src/flutter/shell/platform/linux/testing/mock_gtk.h b/engine/src/flutter/shell/platform/linux/testing/mock_gtk.h index 735dc88ac443e..71c5ffb9fea7b 100644 --- a/engine/src/flutter/shell/platform/linux/testing/mock_gtk.h +++ b/engine/src/flutter/shell/platform/linux/testing/mock_gtk.h @@ -74,6 +74,8 @@ class MockGtk { void, gtk_im_context_set_surrounding, (GtkIMContext * context, const gchar* text, gint len, gint cursor_index)); + + GThread* thread; }; } // namespace testing diff --git a/engine/src/flutter/shell/platform/windows/BUILD.gn b/engine/src/flutter/shell/platform/windows/BUILD.gn index 97c25996f1604..600fa110d68a4 100644 --- a/engine/src/flutter/shell/platform/windows/BUILD.gn +++ b/engine/src/flutter/shell/platform/windows/BUILD.gn @@ -125,6 +125,8 @@ source_set("flutter_windows_source") { "text_input_manager.h", "text_input_plugin.cc", "text_input_plugin.h", + "wchar_util.cc", + "wchar_util.h", "window_binding_handler.h", "window_binding_handler_delegate.h", "window_manager.cc", @@ -163,6 +165,7 @@ source_set("flutter_windows_source") { ":flutter_windows_headers", "//flutter/fml:fml", "//flutter/impeller/renderer/backend/gles", + "//flutter/shell/geometry:geometry", "//flutter/shell/platform/common:common_cpp", "//flutter/shell/platform/common:common_cpp_input", "//flutter/shell/platform/common:common_cpp_isolate_scope", diff --git a/engine/src/flutter/shell/platform/windows/direct_manipulation.cc b/engine/src/flutter/shell/platform/windows/direct_manipulation.cc index f65e0e1074f7f..19bc332477ac0 100644 --- a/engine/src/flutter/shell/platform/windows/direct_manipulation.cc +++ b/engine/src/flutter/shell/platform/windows/direct_manipulation.cc @@ -8,6 +8,7 @@ #include "flutter/shell/platform/windows/direct_manipulation.h" #include "flutter/shell/platform/windows/flutter_window.h" +#include "flutter/shell/platform/windows/wchar_util.h" #include "flutter/shell/platform/windows/window_binding_handler_delegate.h" #define RETURN_IF_FAILED(operation) \ @@ -259,7 +260,7 @@ void DirectManipulationOwner::Update() { FORMAT_MESSAGE_IGNORE_INSERTS, NULL, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), reinterpret_cast(&message), 0, NULL); - FML_LOG(ERROR) << message; + FML_LOG(ERROR) << WCharBufferToString(message); } } } diff --git a/engine/src/flutter/shell/platform/windows/display_monitor.cc b/engine/src/flutter/shell/platform/windows/display_monitor.cc index f2831448d72a0..1bee8ac7f558d 100644 --- a/engine/src/flutter/shell/platform/windows/display_monitor.cc +++ b/engine/src/flutter/shell/platform/windows/display_monitor.cc @@ -26,31 +26,19 @@ DisplayMonitor::DisplayMonitor(FlutterWindowsEngine* engine) DisplayMonitor::~DisplayMonitor() {} -BOOL CALLBACK DisplayMonitor::EnumMonitorCallback(HMONITOR monitor, - HDC hdc, - LPRECT rect, - LPARAM data) { - MonitorEnumState* state = reinterpret_cast(data); - const DisplayMonitor* self = state->display_monitor; - std::vector* displays = state->displays; - +std::optional DisplayMonitor::FromMonitor( + HMONITOR monitor) const { MONITORINFOEXW monitor_info = {}; monitor_info.cbSize = sizeof(monitor_info); - if (self->win32_->GetMonitorInfoW(monitor, &monitor_info) == 0) { - // Return TRUE to continue enumeration and skip this monitor. - // Returning FALSE would stop the entire enumeration process, - // potentially missing other valid monitors. - return TRUE; + if (win32_->GetMonitorInfoW(monitor, &monitor_info) == 0) { + return std::nullopt; } DEVMODEW dev_mode = {}; dev_mode.dmSize = sizeof(dev_mode); - if (!self->win32_->EnumDisplaySettingsW(monitor_info.szDevice, - ENUM_CURRENT_SETTINGS, &dev_mode)) { - // Return TRUE to continue enumeration and skip this monitor. - // Returning FALSE would stop the entire enumeration process, - // potentially missing other valid monitors. - return TRUE; + if (!win32_->EnumDisplaySettingsW(monitor_info.szDevice, + ENUM_CURRENT_SETTINGS, &dev_mode)) { + return std::nullopt; } UINT dpi = GetDpiForMonitor(monitor); @@ -64,8 +52,25 @@ BOOL CALLBACK DisplayMonitor::EnumMonitorCallback(HMONITOR monitor, display.height = monitor_info.rcMonitor.bottom - monitor_info.rcMonitor.top; display.device_pixel_ratio = static_cast(dpi) / static_cast(kDefaultDpi); + return display; +} - displays->push_back(display); +BOOL CALLBACK DisplayMonitor::EnumMonitorCallback(HMONITOR monitor, + HDC hdc, + LPRECT rect, + LPARAM data) { + MonitorEnumState* state = reinterpret_cast(data); + const DisplayMonitor* self = state->display_monitor; + std::vector* displays = state->displays; + const std::optional display = + self->FromMonitor(monitor); + if (!display) { + // Return TRUE to continue enumeration and skip this monitor. + // Returning FALSE would stop the entire enumeration process, + // potentially missing other valid monitors. + return TRUE; + } + displays->push_back(*display); return TRUE; } @@ -88,6 +93,17 @@ bool DisplayMonitor::HandleWindowMessage(HWND hwnd, return false; } +std::optional DisplayMonitor::FindById( + FlutterEngineDisplayId id) { + for (auto const& display : GetDisplays()) { + if (display.display_id == id) { + return display; + } + } + + return std::nullopt; +} + std::vector DisplayMonitor::GetDisplays() const { std::vector displays; MonitorEnumState state = {this, &displays}; diff --git a/engine/src/flutter/shell/platform/windows/display_monitor.h b/engine/src/flutter/shell/platform/windows/display_monitor.h index ee7e44956bdc6..b81542f7cba4f 100644 --- a/engine/src/flutter/shell/platform/windows/display_monitor.h +++ b/engine/src/flutter/shell/platform/windows/display_monitor.h @@ -31,6 +31,9 @@ class DisplayMonitor { LPARAM lparam, LRESULT* result); + // Finds the display information associated with the id. + std::optional FindById(FlutterEngineDisplayId id); + // Get the display information for all displays std::vector GetDisplays() const; @@ -41,6 +44,10 @@ class DisplayMonitor { LPRECT rect, LPARAM data); + // Helper method that creates a |FlutterEngineDisplay| from the + // provided |monitor|. + std::optional FromMonitor(HMONITOR monitor) const; + FlutterWindowsEngine* engine_; std::shared_ptr win32_; diff --git a/engine/src/flutter/shell/platform/windows/fixtures/main.dart b/engine/src/flutter/shell/platform/windows/fixtures/main.dart index 8a7a5db8d94bc..0fcba55bced3b 100644 --- a/engine/src/flutter/shell/platform/windows/fixtures/main.dart +++ b/engine/src/flutter/shell/platform/windows/fixtures/main.dart @@ -475,6 +475,7 @@ Future sendSemanticsTreeInfo() async { return builder.build(); } + ui.PlatformDispatcher.instance.setSemanticsTreeEnabled(true); view1.updateSemantics(createSemanticsUpdate(view1.viewId + 1)); view2.updateSemantics(createSemanticsUpdate(view2.viewId + 1)); signal(); diff --git a/engine/src/flutter/shell/platform/windows/flutter_project_bundle.cc b/engine/src/flutter/shell/platform/windows/flutter_project_bundle.cc index 87cd0b4a329db..b63dad588a551 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_project_bundle.cc +++ b/engine/src/flutter/shell/platform/windows/flutter_project_bundle.cc @@ -69,11 +69,11 @@ UniqueAotDataPtr FlutterProjectBundle::LoadAotData( return UniqueAotDataPtr(nullptr, nullptr); } if (!std::filesystem::exists(aot_library_path_)) { - FML_LOG(ERROR) << "Can't load AOT data from " - << aot_library_path_.u8string() << "; no such file."; + FML_LOG(ERROR) << "Can't load AOT data from " << aot_library_path_ + << "; no such file."; return UniqueAotDataPtr(nullptr, nullptr); } - std::string path_string = aot_library_path_.u8string(); + std::string path_string = aot_library_path_.string(); FlutterEngineAOTDataSource source = {}; source.type = kFlutterEngineAOTDataSourceTypeElfPath; source.elf_path = path_string.c_str(); diff --git a/engine/src/flutter/shell/platform/windows/flutter_window.cc b/engine/src/flutter/shell/platform/windows/flutter_window.cc index 6c781c41d12e9..6751e5e8cb0f1 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_window.cc +++ b/engine/src/flutter/shell/platform/windows/flutter_window.cc @@ -12,6 +12,7 @@ #include "flutter/fml/logging.h" #include "flutter/shell/platform/embedder/embedder.h" +#include "flutter/shell/platform/windows/display_monitor.h" #include "flutter/shell/platform/windows/dpi_utils.h" #include "flutter/shell/platform/windows/flutter_windows_engine.h" #include "flutter/shell/platform/windows/flutter_windows_view.h" @@ -76,9 +77,11 @@ static uint64_t ConvertWinButtonToFlutterButton(UINT button) { FlutterWindow::FlutterWindow( int width, int height, + std::shared_ptr const& display_monitor, std::shared_ptr windows_proc_table, std::unique_ptr text_input_manager) : touch_id_generator_(kMinTouchDeviceId, kMaxTouchDeviceId), + display_monitor_(display_monitor), windows_proc_table_(std::move(windows_proc_table)), text_input_manager_(std::move(text_input_manager)), ax_fragment_root_(nullptr) { @@ -305,6 +308,16 @@ PointerLocation FlutterWindow::GetPrimaryPointerLocation() { return {(size_t)point.x, (size_t)point.y}; } +FlutterEngineDisplayId FlutterWindow::GetDisplayId() { + FlutterEngineDisplayId const display_id = + reinterpret_cast( + MonitorFromWindow(GetWindowHandle(), MONITOR_DEFAULTTONEAREST)); + if (!display_monitor_->FindById(display_id)) { + FML_LOG(ERROR) << "Current monitor not found in display list."; + } + return display_id; +} + void FlutterWindow::OnThemeChange() { binding_handler_delegate_->OnHighContrastChanged(); } diff --git a/engine/src/flutter/shell/platform/windows/flutter_window.h b/engine/src/flutter/shell/platform/windows/flutter_window.h index 01d3175b0410e..d0c206aa96355 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_window.h +++ b/engine/src/flutter/shell/platform/windows/flutter_window.h @@ -9,8 +9,8 @@ #include #include "flutter/fml/macros.h" +#include "flutter/shell/geometry/geometry.h" #include "flutter/shell/platform/common/alert_platform_node_delegate.h" -#include "flutter/shell/platform/common/geometry.h" #include "flutter/shell/platform/embedder/embedder.h" #include "flutter/shell/platform/windows/direct_manipulation.h" #include "flutter/shell/platform/windows/flutter_windows_view.h" @@ -28,6 +28,8 @@ namespace flutter { +class DisplayMonitor; + // A win32 flutter child window used as implementations for flutter view. In // the future, there will likely be a CoreWindow-based FlutterWindow as well. // At the point may make sense to dependency inject the native window rather @@ -38,6 +40,7 @@ class FlutterWindow : public KeyboardManager::WindowDelegate, // Create flutter Window for use as child window FlutterWindow(int width, int height, + std::shared_ptr const& display_monitor, std::shared_ptr windows_proc_table = nullptr, std::unique_ptr text_input_manager = nullptr); @@ -169,6 +172,9 @@ class FlutterWindow : public KeyboardManager::WindowDelegate, // |FlutterWindowBindingHandler| virtual PointerLocation GetPrimaryPointerLocation() override; + // [FlutterWindowBindingHandler] + virtual FlutterEngineDisplayId GetDisplayId() override; + // Called when a theme change message is issued. virtual void OnThemeChange(); @@ -356,6 +362,9 @@ class FlutterWindow : public KeyboardManager::WindowDelegate, // Generates touch point IDs for touch events. SequentialIdGenerator touch_id_generator_; + // Provides access to the list of available displays. + std::shared_ptr display_monitor_; + // Abstracts Windows APIs that may not be available on all supported versions // of Windows. std::shared_ptr windows_proc_table_; diff --git a/engine/src/flutter/shell/platform/windows/flutter_window_unittests.cc b/engine/src/flutter/shell/platform/windows/flutter_window_unittests.cc index 6d4304d6e87e3..da3721e58be2d 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_window_unittests.cc +++ b/engine/src/flutter/shell/platform/windows/flutter_window_unittests.cc @@ -116,12 +116,16 @@ class FlutterWindowTest : public WindowsTest {}; } // namespace TEST_F(FlutterWindowTest, CreateDestroy) { - FlutterWindow window(800, 600); + std::unique_ptr engine = + FlutterWindowsEngineBuilder{GetContext()}.Build(); + FlutterWindow window(800, 600, engine->display_monitor()); ASSERT_TRUE(TRUE); } TEST_F(FlutterWindowTest, OnBitmapSurfaceUpdated) { - FlutterWindow win32window(100, 100); + std::unique_ptr engine = + FlutterWindowsEngineBuilder{GetContext()}.Build(); + FlutterWindow win32window(100, 100, engine->display_monitor()); int old_handle_count = GetGuiResources(GetCurrentProcess(), GR_GDIOBJECTS); constexpr size_t row_bytes = 100 * 4; @@ -162,7 +166,9 @@ TEST_F(FlutterWindowTest, OnCursorRectUpdatedHighDPI) { } TEST_F(FlutterWindowTest, OnPointerStarSendsDeviceType) { - FlutterWindow win32window(100, 100); + std::unique_ptr engine = + FlutterWindowsEngineBuilder{GetContext()}.Build(); + FlutterWindow win32window(100, 100, engine->display_monitor()); MockWindowBindingHandlerDelegate delegate; EXPECT_CALL(delegate, OnWindowStateEvent).Times(AnyNumber()); win32window.SetView(&delegate); diff --git a/engine/src/flutter/shell/platform/windows/flutter_windows.cc b/engine/src/flutter/shell/platform/windows/flutter_windows.cc index 097897e81a91c..17e84140c6b5c 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_windows.cc +++ b/engine/src/flutter/shell/platform/windows/flutter_windows.cc @@ -84,7 +84,8 @@ static FlutterDesktopViewControllerRef CreateViewController( flutter::FlutterWindowsEngine* engine_ptr = EngineFromHandle(engine_ref); std::unique_ptr window_wrapper = std::make_unique( - width, height, engine_ptr->windows_proc_table()); + width, height, engine_ptr->display_monitor(), + engine_ptr->windows_proc_table()); std::unique_ptr engine; if (owns_engine) { diff --git a/engine/src/flutter/shell/platform/windows/flutter_windows_engine.cc b/engine/src/flutter/shell/platform/windows/flutter_windows_engine.cc index f9099c6dc1acb..8753eccb046f7 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_windows_engine.cc +++ b/engine/src/flutter/shell/platform/windows/flutter_windows_engine.cc @@ -201,7 +201,7 @@ FlutterWindowsEngine::FlutterWindowsEngine( static_cast(project_->gpu_preference())); window_proc_delegate_manager_ = std::make_unique(); - display_monitor_ = std::make_unique(this); + display_monitor_ = std::make_shared(this); window_proc_delegate_manager_->RegisterTopLevelWindowProcDelegate( [](HWND hwnd, UINT msg, WPARAM wpar, LPARAM lpar, void* user_data, @@ -274,8 +274,8 @@ bool FlutterWindowsEngine::Run(std::string_view entrypoint) { FML_LOG(ERROR) << "Missing or unresolvable paths to assets."; return false; } - std::string assets_path_string = project_->assets_path().u8string(); - std::string icu_path_string = project_->icu_path().u8string(); + std::string assets_path_string = project_->assets_path().string(); + std::string icu_path_string = project_->icu_path().string(); if (embedder_api_.RunsAOTCompiledDartCode()) { aot_data_ = project_->LoadAotData(embedder_api_); if (!aot_data_) { diff --git a/engine/src/flutter/shell/platform/windows/flutter_windows_engine.h b/engine/src/flutter/shell/platform/windows/flutter_windows_engine.h index d2f266b9f72f0..bf17b6d69e136 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_windows_engine.h +++ b/engine/src/flutter/shell/platform/windows/flutter_windows_engine.h @@ -160,7 +160,7 @@ class FlutterWindowsEngine { return message_dispatcher_.get(); } - DisplayMonitor* display_monitor() { return display_monitor_.get(); } + std::shared_ptr display_monitor() { return display_monitor_; } // Notifies the engine about a display update. void UpdateDisplay(const std::vector& displays); @@ -425,7 +425,7 @@ class FlutterWindowsEngine { mutable std::shared_mutex views_mutex_; // The display monitor. - std::unique_ptr display_monitor_; + std::shared_ptr display_monitor_; // Task runner for tasks posted from the engine. std::unique_ptr task_runner_; diff --git a/engine/src/flutter/shell/platform/windows/flutter_windows_view.cc b/engine/src/flutter/shell/platform/windows/flutter_windows_view.cc index a4f7523bad2a7..ab2f9ff0cbad5 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_windows_view.cc +++ b/engine/src/flutter/shell/platform/windows/flutter_windows_view.cc @@ -381,12 +381,14 @@ void FlutterWindowsView::SendWindowMetrics(size_t width, FlutterWindowMetricsEvent FlutterWindowsView::CreateWindowMetricsEvent() const { PhysicalWindowBounds bounds = binding_handler_->GetPhysicalWindowBounds(); double pixel_ratio = binding_handler_->GetDpiScale(); + FlutterEngineDisplayId display_id = binding_handler_->GetDisplayId(); FlutterWindowMetricsEvent event = {}; event.struct_size = sizeof(event); event.width = bounds.width; event.height = bounds.height; event.pixel_ratio = pixel_ratio; + event.display_id = display_id; event.view_id = view_id_; return event; diff --git a/engine/src/flutter/shell/platform/windows/flutter_windows_view.h b/engine/src/flutter/shell/platform/windows/flutter_windows_view.h index 66ab0f0f0a4da..738b37dbefff1 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_windows_view.h +++ b/engine/src/flutter/shell/platform/windows/flutter_windows_view.h @@ -13,8 +13,8 @@ #include #include "flutter/fml/macros.h" +#include "flutter/shell/geometry/geometry.h" #include "flutter/shell/platform/common/client_wrapper/include/flutter/plugin_registrar.h" -#include "flutter/shell/platform/common/geometry.h" #include "flutter/shell/platform/embedder/embedder.h" #include "flutter/shell/platform/windows/accessibility_bridge_windows.h" #include "flutter/shell/platform/windows/flutter_windows_engine.h" diff --git a/engine/src/flutter/shell/platform/windows/flutter_windows_view_unittests.cc b/engine/src/flutter/shell/platform/windows/flutter_windows_view_unittests.cc index 88fbcd9bfaa77..5e5944dcc1d93 100644 --- a/engine/src/flutter/shell/platform/windows/flutter_windows_view_unittests.cc +++ b/engine/src/flutter/shell/platform/windows/flutter_windows_view_unittests.cc @@ -1130,7 +1130,8 @@ TEST(FlutterWindowsViewTest, WindowRepaintTests) { EngineModifier modifier(engine.get()); FlutterWindowsView view{kImplicitViewId, engine.get(), - std::make_unique(100, 100)}; + std::make_unique( + 100, 100, engine->display_monitor())}; bool schedule_frame_called = false; modifier.embedder_api().ScheduleFrame = @@ -1733,5 +1734,20 @@ TEST(FlutterWindowsViewTest, OnFocusTriggersSendFocusViewEvent) { FlutterViewFocusDirection::kUndefined); EXPECT_TRUE(received_focus_event); } + +TEST(FlutterWindowsViewTest, WindowMetricsEventContainsDisplayId) { + std::unique_ptr engine = GetTestEngine(); + EngineModifier modifier(engine.get()); + + auto window_binding_handler = + std::make_unique>(); + EXPECT_CALL(*window_binding_handler, GetDisplayId) + .WillOnce(testing::Return(12)); + FlutterWindowsView view{kImplicitViewId, engine.get(), + std::move(window_binding_handler)}; + + FlutterWindowMetricsEvent event = view.CreateWindowMetricsEvent(); + EXPECT_EQ(event.display_id, 12); +} } // namespace testing } // namespace flutter diff --git a/engine/src/flutter/shell/platform/windows/host_window.cc b/engine/src/flutter/shell/platform/windows/host_window.cc index b901700e9a7c9..c2bcfeaf831de 100644 --- a/engine/src/flutter/shell/platform/windows/host_window.cc +++ b/engine/src/flutter/shell/platform/windows/host_window.cc @@ -11,6 +11,7 @@ #include "flutter/shell/platform/windows/flutter_window.h" #include "flutter/shell/platform/windows/flutter_windows_view_controller.h" #include "flutter/shell/platform/windows/rect_helper.h" +#include "flutter/shell/platform/windows/wchar_util.h" #include "flutter/shell/platform/windows/window_manager.h" namespace { @@ -283,7 +284,7 @@ std::unique_ptr HostWindow::CreateRegularWindow( // Set up the view. auto view_window = std::make_unique( initial_window_rect.width(), initial_window_rect.height(), - engine->windows_proc_table()); + engine->display_monitor(), engine->windows_proc_table()); std::unique_ptr view = engine->CreateView(std::move(view_window)); @@ -317,8 +318,9 @@ std::unique_ptr HostWindow::CreateRegularWindow( window_class.lpszClassName = kWindowClassName; if (!RegisterClassEx(&window_class)) { - FML_LOG(ERROR) << "Cannot register window class " << kWindowClassName - << ": " << GetLastErrorAsString(); + FML_LOG(ERROR) << "Cannot register window class " + << WCharBufferToString(kWindowClassName) << ": " + << GetLastErrorAsString(); return nullptr; } } @@ -627,11 +629,9 @@ void HostWindow::SetFullscreen( HMONITOR monitor = MonitorFromWindow(window_handle_, MONITOR_DEFAULTTONEAREST); if (display_id) { - for (auto const& display : engine_->display_monitor()->GetDisplays()) { - if (display.display_id == display_id) { - monitor = reinterpret_cast(display.display_id); - break; - } + if (auto const display = + engine_->display_monitor()->FindById(display_id.value())) { + monitor = reinterpret_cast(display->display_id); } } diff --git a/engine/src/flutter/shell/platform/windows/host_window.h b/engine/src/flutter/shell/platform/windows/host_window.h index e3773d65ec5de..77e28aa00dc01 100644 --- a/engine/src/flutter/shell/platform/windows/host_window.h +++ b/engine/src/flutter/shell/platform/windows/host_window.h @@ -12,7 +12,7 @@ #include #include "flutter/fml/macros.h" -#include "flutter/shell/platform/common/geometry.h" +#include "flutter/shell/geometry/geometry.h" #include "flutter/shell/platform/common/windowing.h" #include "flutter/shell/platform/windows/window_manager.h" diff --git a/engine/src/flutter/shell/platform/windows/testing/mock_window.cc b/engine/src/flutter/shell/platform/windows/testing/mock_window.cc index cde590f6e5342..a77c3f3ace812 100644 --- a/engine/src/flutter/shell/platform/windows/testing/mock_window.cc +++ b/engine/src/flutter/shell/platform/windows/testing/mock_window.cc @@ -6,11 +6,12 @@ namespace flutter { namespace testing { -MockWindow::MockWindow() : FlutterWindow(1, 1) {}; +MockWindow::MockWindow() : FlutterWindow(1, 1, nullptr) {}; MockWindow::MockWindow(std::unique_ptr window_proc_table, std::unique_ptr text_input_manager) : FlutterWindow(1, 1, + nullptr, std::move(window_proc_table), std::move(text_input_manager)) {}; diff --git a/engine/src/flutter/shell/platform/windows/testing/mock_window.h b/engine/src/flutter/shell/platform/windows/testing/mock_window.h index 4a1007840ba30..fb78090a3a25e 100644 --- a/engine/src/flutter/shell/platform/windows/testing/mock_window.h +++ b/engine/src/flutter/shell/platform/windows/testing/mock_window.h @@ -76,6 +76,7 @@ class MockWindow : public FlutterWindow { OnImeComposition, (UINT const, WPARAM const, LPARAM const), (override)); + MOCK_METHOD(FlutterEngineDisplayId, GetDisplayId, (), (override)); MOCK_METHOD(void, OnThemeChange, (), (override)); diff --git a/engine/src/flutter/shell/platform/windows/testing/mock_window_binding_handler.h b/engine/src/flutter/shell/platform/windows/testing/mock_window_binding_handler.h index dcb6b50d8d41a..fabfd5117bc21 100644 --- a/engine/src/flutter/shell/platform/windows/testing/mock_window_binding_handler.h +++ b/engine/src/flutter/shell/platform/windows/testing/mock_window_binding_handler.h @@ -34,6 +34,7 @@ class MockWindowBindingHandler : public WindowBindingHandler { MOCK_METHOD(AlertPlatformNodeDelegate*, GetAlertDelegate, (), (override)); MOCK_METHOD(ui::AXPlatformNodeWin*, GetAlert, (), (override)); MOCK_METHOD(bool, Focus, (), (override)); + MOCK_METHOD(FlutterEngineDisplayId, GetDisplayId, (), (override)); private: FML_DISALLOW_COPY_AND_ASSIGN(MockWindowBindingHandler); diff --git a/engine/src/flutter/shell/platform/windows/text_input_manager.h b/engine/src/flutter/shell/platform/windows/text_input_manager.h index 4e1c262fa31df..d6e7d6866c47a 100644 --- a/engine/src/flutter/shell/platform/windows/text_input_manager.h +++ b/engine/src/flutter/shell/platform/windows/text_input_manager.h @@ -12,7 +12,7 @@ #include #include "flutter/fml/macros.h" -#include "flutter/shell/platform/common/geometry.h" +#include "flutter/shell/geometry/geometry.h" namespace flutter { diff --git a/engine/src/flutter/shell/platform/windows/text_input_plugin.h b/engine/src/flutter/shell/platform/windows/text_input_plugin.h index 1a836f9db83c1..1ef228a3144c0 100644 --- a/engine/src/flutter/shell/platform/windows/text_input_plugin.h +++ b/engine/src/flutter/shell/platform/windows/text_input_plugin.h @@ -10,9 +10,9 @@ #include #include "flutter/fml/macros.h" +#include "flutter/shell/geometry/geometry.h" #include "flutter/shell/platform/common/client_wrapper/include/flutter/binary_messenger.h" #include "flutter/shell/platform/common/client_wrapper/include/flutter/method_channel.h" -#include "flutter/shell/platform/common/geometry.h" #include "flutter/shell/platform/common/json_method_codec.h" #include "flutter/shell/platform/common/text_editing_delta.h" #include "flutter/shell/platform/common/text_input_model.h" diff --git a/engine/src/flutter/shell/platform/windows/wchar_util.cc b/engine/src/flutter/shell/platform/windows/wchar_util.cc new file mode 100644 index 0000000000000..d6c85b15d26da --- /dev/null +++ b/engine/src/flutter/shell/platform/windows/wchar_util.cc @@ -0,0 +1,42 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "flutter/shell/platform/windows/wchar_util.h" + +#include + +namespace flutter { + +std::string WCharBufferToString(const wchar_t* wstr) { + if (!wstr) { + return ""; + } + + int buffer_size = WideCharToMultiByte(CP_UTF8, // + 0, // + wstr, // + -1, // + nullptr, // + 0, // + nullptr, // + nullptr // + ); + if (buffer_size <= 0) { + return ""; + } + + std::string result(buffer_size - 1, 0); + WideCharToMultiByte(CP_UTF8, // + 0, // + wstr, // + -1, // + result.data(), // + buffer_size, // + nullptr, // + nullptr // + ); + return result; +} + +} // namespace flutter diff --git a/engine/src/flutter/shell/platform/windows/wchar_util.h b/engine/src/flutter/shell/platform/windows/wchar_util.h new file mode 100644 index 0000000000000..ed527f444ef0f --- /dev/null +++ b/engine/src/flutter/shell/platform/windows/wchar_util.h @@ -0,0 +1,29 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_WCHAR_UTIL_H_ +#define FLUTTER_SHELL_PLATFORM_WINDOWS_WCHAR_UTIL_H_ + +#include + +namespace flutter { + +//------------------------------------------------------------------------------ +/// @brief Convert a null terminated wchar_t buffer to a std::string using +/// Windows utilities. +/// +/// The reliance on wchar_t buffers is problematic on C++20 since +/// their interop with standard library components has been +/// deprecated/removed. +/// +/// @param[in] wstr The null terminated buffer. +/// +/// @return The converted string if conversion is possible. Empty string +/// otherwise. +/// +std::string WCharBufferToString(const wchar_t* wstr); + +} // namespace flutter + +#endif // FLUTTER_SHELL_PLATFORM_WINDOWS_WCHAR_UTIL_H_ diff --git a/engine/src/flutter/shell/platform/windows/window_binding_handler.h b/engine/src/flutter/shell/platform/windows/window_binding_handler.h index 90fa690ad3928..a9f9c32008200 100644 --- a/engine/src/flutter/shell/platform/windows/window_binding_handler.h +++ b/engine/src/flutter/shell/platform/windows/window_binding_handler.h @@ -10,8 +10,9 @@ #include #include +#include "flutter/shell/geometry/geometry.h" #include "flutter/shell/platform/common/alert_platform_node_delegate.h" -#include "flutter/shell/platform/common/geometry.h" +#include "flutter/shell/platform/embedder/embedder.h" #include "flutter/shell/platform/windows/public/flutter_windows.h" #include "flutter/shell/platform/windows/window_binding_handler_delegate.h" @@ -87,6 +88,10 @@ class WindowBindingHandler { // Focuses the current window. // Returns true if the window was successfully focused. virtual bool Focus() = 0; + + // Retrieve the display ID of the display that this window has the largest + // area of intersection with. + virtual FlutterEngineDisplayId GetDisplayId() = 0; }; } // namespace flutter diff --git a/engine/src/flutter/shell/platform/windows/window_binding_handler_delegate.h b/engine/src/flutter/shell/platform/windows/window_binding_handler_delegate.h index 0245a74228694..7a755b1018bcd 100644 --- a/engine/src/flutter/shell/platform/windows/window_binding_handler_delegate.h +++ b/engine/src/flutter/shell/platform/windows/window_binding_handler_delegate.h @@ -7,7 +7,7 @@ #include -#include "flutter/shell/platform/common/geometry.h" +#include "flutter/shell/geometry/geometry.h" #include "flutter/shell/platform/embedder/embedder.h" #include "flutter/shell/platform/windows/windows_lifecycle_manager.h" #include "flutter/third_party/accessibility/ax/platform/ax_fragment_root_delegate_win.h" diff --git a/engine/src/flutter/shell/testing/tester_main.cc b/engine/src/flutter/shell/testing/tester_main.cc index d3e65d720beee..4640b0d40d106 100644 --- a/engine/src/flutter/shell/testing/tester_main.cc +++ b/engine/src/flutter/shell/testing/tester_main.cc @@ -140,6 +140,10 @@ static void ConfigureShell(Shell* shell) { metrics.physical_width = physical_width; metrics.physical_height = physical_height; metrics.display_id = 0; + metrics.physical_min_width_constraint = physical_width; + metrics.physical_max_width_constraint = physical_width; + metrics.physical_min_height_constraint = physical_height; + metrics.physical_max_height_constraint = physical_height; shell->GetPlatformView()->SetViewportMetrics(kImplicitViewId, metrics); } diff --git a/engine/src/flutter/sky/packages/sky_engine/LICENSE b/engine/src/flutter/sky/packages/sky_engine/LICENSE index 98fd3f095277e..5860afe071a2e 100644 --- a/engine/src/flutter/sky/packages/sky_engine/LICENSE +++ b/engine/src/flutter/sky/packages/sky_engine/LICENSE @@ -1,4 +1,4 @@ -vulkan-deps +vulkan-validation-layers @@ -151,6 +151,7 @@ to be subject to copyright, resulting in confusion over whether it negated the permissions granted in the license. In the spirit of permissive licensing, and of not having licensing issues being an obstacle to adoption, that text has been removed. + -------------------------------------------------------------------------------- harfbuzz @@ -348,128 +349,11 @@ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -xml - - - -Copyright (c) 2006-2023 Lukas Renggli. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -petitparser - - - -Copyright (c) 2006-2024 Lukas Renggli. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -petitparser -xml - - - -Copyright (c) 2006-2025 Lukas Renggli. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- libcxx libcxxabi -Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT - -All rights reserved. - -Developed by: - - LLVM Team - - University of Illinois at Urbana-Champaign - - http://llvm.org - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. - - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. - -============================================================================== - Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT Permission is hereby granted, free of charge, to any person obtaining a copy @@ -482,31 +366,6 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -archive - - - -Copyright (c) 2013-2021 Brendan Duncan. -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -588,7 +447,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- node_preamble -pkg @@ -612,7 +470,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -pkg +equatable @@ -652,55 +510,6 @@ furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -nested -provider - - - -Copyright (c) 2019 Remi Rousselet - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -posix - - - -Copyright (c) 2020 Brett Sutton - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE @@ -757,7 +566,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +glslang @@ -782,7 +591,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +glslang @@ -806,7 +615,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +glslang @@ -1008,249 +817,224 @@ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -image +skia + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) 2013-2022 Brendan Duncan. -All rights reserved. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + 1. Definitions. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2021 Google LLC + + 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 + + http://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. -------------------------------------------------------------------------------- -skia - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2021 Google LLC - - 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 - - http://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. --------------------------------------------------------------------------------- -angle -boringssl -clock -cpu_features -fake_async -flatbuffers -gtest-parallel -mockito -stager -vulkan-deps -wuffs -wycheproof_testvectors -yapf +angle +boringssl +cpu_features +flatbuffers +gtest-parallel +spirv-cross +spirv-tools +vulkan-headers +vulkan-tools +vulkan-utility-libraries +wuffs +wycheproof_testvectors +yapf Apache License @@ -1455,211 +1239,6 @@ yapf See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -material_color_utilities - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2021 Google LLC - - 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 - - http://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. --------------------------------------------------------------------------------- abseil-cpp @@ -1888,7 +1467,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-tools Copyright (c) 2015-2017 The Khronos Group Inc. @@ -1908,7 +1487,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2015-2024 The Khronos Group Inc. @@ -1928,7 +1507,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2015-2024 The Khronos Group Inc. @@ -1949,7 +1528,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2015-2025 The Khronos Group Inc. @@ -1968,7 +1547,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2015-2025 The Khronos Group Inc. @@ -1989,7 +1568,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2015-2025 The Khronos Group Inc. @@ -2009,7 +1588,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2015-2025 The Khronos Group Inc. @@ -2030,7 +1609,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2015-2025 Valve Corporation @@ -2048,7 +1627,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2016-2025 Google Inc. @@ -2141,7 +1720,7 @@ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEM COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. @@ -2187,7 +1766,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-tools Copyright (c) 2018 The Khronos Group Inc. @@ -2229,7 +1808,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2020-2024 The Khronos Group Inc. @@ -2246,7 +1825,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2021-2024 The Khronos Group Inc. @@ -2263,7 +1842,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2021-2024 Valve Corporation @@ -2281,7 +1860,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2021-2025 The Khronos Group Inc. @@ -2300,7 +1879,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2023-2024 Valve Corporation @@ -2318,7 +1897,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2023-2025 Google Inc. @@ -2336,7 +1915,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2023-2025 The Khronos Group Inc. @@ -2354,7 +1933,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2023-2025 The Khronos Group Inc. @@ -2373,7 +1952,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2024-2025 LunarG, Inc. @@ -2390,7 +1969,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright (c) 2025 The Khronos Group Inc. @@ -2409,7 +1988,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-tools Copyright 2014, 2017 The Android Open Source Project @@ -2426,7 +2005,7 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +vulkan-validation-layers Copyright 2014-2024 Valve Software @@ -2889,7 +2468,7 @@ yapf_diff See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -aFileChooser +flatbuffers Apache License Version 2.0, January 2004 @@ -3079,7 +2658,7 @@ aFileChooser same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2011 - 2013 Paul Burke + Copyright 2014 Google Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -3093,7 +2672,7 @@ aFileChooser See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -webdriver +shaderc Apache License Version 2.0, January 2004 @@ -3283,7 +2862,7 @@ webdriver same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2013 Google LLC + Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -3297,7 +2876,7 @@ webdriver See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -flatbuffers +perfetto Apache License Version 2.0, January 2004 @@ -3476,24 +3055,10 @@ flatbuffers END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2014 Google Inc. + Copyright (c) 2017, The Android Open Source Project 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 - - http://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, @@ -3501,7 +3066,7 @@ flatbuffers See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -platform_detect +perfetto Apache License Version 2.0, January 2004 @@ -3680,24 +3245,10 @@ platform_detect END OF TERMS AND CONDITIONS - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2017 Workiva Inc. + Copyright (c) 2020, The Android Open Source Project 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 - - http://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, @@ -3705,858 +3256,244 @@ platform_detect See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- -shaderc - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ +freetype2 - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + The FreeType Project LICENSE + ---------------------------- - 1. Definitions. + 2006-Jan-27 - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Introduction +============ - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and + Please replace with the value from the FreeType version you + actually use. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +Legal Terms +=========== - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +0. Definitions +-------------- - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +1. No Warranty +-------------- - END OF TERMS AND CONDITIONS + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. - APPENDIX: How to apply the Apache License to your work. +2. Redistribution +----------------- - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: - Copyright [yyyy] [name of copyright owner] + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. - 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 + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. - http://www.apache.org/licenses/LICENSE-2.0 + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. - 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. --------------------------------------------------------------------------------- -perfetto +3. Advertising +-------------- - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. - 1. Definitions. + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. +4. Contacts +----------- - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. + There are two mailing lists related to FreeType: - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. + o freetype@nongnu.org - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. + o freetype-devel@nongnu.org - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). + Our home page can be found at - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + https://www.freetype.org - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +--- end of FTL.TXT --- +-------------------------------------------------------------------------------- +etc_decoder - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. + * Copyright (c) 2020-2022 Hans-Kristian Arntzen + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * +-------------------------------------------------------------------------------- +harfbuzz - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + This is part of HarfBuzz, a text shaping library. - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +Author(s): Behdad Esfahbod - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +-------------------------------------------------------------------------------- +expat - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +! /bin/bash + __ __ _ + ___\ \/ /_ __ __ _| |_ + / _ \\ /| '_ \ / _` | __| + | __// \| |_) | (_| | |_ + \___/_/\_\ .__/ \__,_|\__| + |_| XML parser - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright (c) 2017, The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - - 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. --------------------------------------------------------------------------------- -perfetto - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright (c) 2020, The Android Open Source Project - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - - 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. --------------------------------------------------------------------------------- -freetype2 - - The FreeType Project LICENSE - ---------------------------- - - 2006-Jan-27 - - Copyright 1996-2002, 2006 by - David Turner, Robert Wilhelm, and Werner Lemberg - - - -Introduction -============ - - The FreeType Project is distributed in several archive packages; - some of them may contain, in addition to the FreeType font engine, - various tools and contributions which rely on, or relate to, the - FreeType Project. - - This license applies to all files found in such packages, and - which do not fall under their own explicit license. The license - affects thus the FreeType font engine, the test programs, - documentation and makefiles, at the very least. - - This license was inspired by the BSD, Artistic, and IJG - (Independent JPEG Group) licenses, which all encourage inclusion - and use of free software in commercial and freeware products - alike. As a consequence, its main points are that: - - o We don't promise that this software works. However, we will be - interested in any kind of bug reports. (`as is' distribution) - - o You can use this software for whatever you want, in parts or - full form, without having to pay us. (`royalty-free' usage) - - o You may not pretend that you wrote this software. If you use - it, or only parts of it, in a program, you must acknowledge - somewhere in your documentation that you have used the - FreeType code. (`credits') - - We specifically permit and encourage the inclusion of this - software, with or without modifications, in commercial products. - We disclaim all warranties covering The FreeType Project and - assume no liability related to The FreeType Project. - - - Finally, many people asked us for a preferred form for a - credit/disclaimer to use in compliance with this license. We thus - encourage you to use the following text: - - """ - Portions of this software are copyright © The FreeType - Project (www.freetype.org). All rights reserved. - """ - - Please replace with the value from the FreeType version you - actually use. - - -Legal Terms -=========== - -0. Definitions --------------- - - Throughout this license, the terms `package', `FreeType Project', - and `FreeType archive' refer to the set of files originally - distributed by the authors (David Turner, Robert Wilhelm, and - Werner Lemberg) as the `FreeType Project', be they named as alpha, - beta or final release. - - `You' refers to the licensee, or person using the project, where - `using' is a generic term including compiling the project's source - code as well as linking it to form a `program' or `executable'. - This program is referred to as `a program using the FreeType - engine'. - - This license applies to all files distributed in the original - FreeType Project, including all source code, binaries and - documentation, unless otherwise stated in the file in its - original, unmodified form as distributed in the original archive. - If you are unsure whether or not a particular file is covered by - this license, you must contact us to verify this. - - The FreeType Project is copyright (C) 1996-2000 by David Turner, - Robert Wilhelm, and Werner Lemberg. All rights reserved except as - specified below. - -1. No Warranty --------------- - - THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO - USE, OF THE FREETYPE PROJECT. - -2. Redistribution ------------------ - - This license grants a worldwide, royalty-free, perpetual and - irrevocable right and license to use, execute, perform, compile, - display, copy, create derivative works of, distribute and - sublicense the FreeType Project (in both source and object code - forms) and derivative works thereof for any purpose; and to - authorize others to exercise some or all of the rights granted - herein, subject to the following conditions: - - o Redistribution of source code must retain this license file - (`FTL.TXT') unaltered; any additions, deletions or changes to - the original files must be clearly indicated in accompanying - documentation. The copyright notices of the unaltered, - original files must be preserved in all copies of source - files. - - o Redistribution in binary form must provide a disclaimer that - states that the software is based in part of the work of the - FreeType Team, in the distribution documentation. We also - encourage you to put an URL to the FreeType web page in your - documentation, though this isn't mandatory. - - These conditions apply to any software derived from or based on - the FreeType Project, not just the unmodified files. If you use - our work, you must acknowledge us. However, no fee need be paid - to us. - -3. Advertising --------------- - - Neither the FreeType authors and contributors nor you shall use - the name of the other for commercial, advertising, or promotional - purposes without specific prior written permission. - - We suggest, but do not require, that you use one or more of the - following phrases to refer to this software in your documentation - or advertising materials: `FreeType Project', `FreeType Engine', - `FreeType library', or `FreeType Distribution'. - - As you have not signed this license, you are not required to - accept it. However, as the FreeType Project is copyrighted - material, only this license, or another one contracted with the - authors, grants you the right to use, distribute, and modify it. - Therefore, by using, distributing, or modifying the FreeType - Project, you indicate that you understand and accept all the terms - of this license. - -4. Contacts ------------ - - There are two mailing lists related to FreeType: - - o freetype@nongnu.org - - Discusses general use and applications of FreeType, as well as - future and wanted additions to the library and distribution. - If you are looking for support, start in this list if you - haven't found anything to help you in the documentation. - - o freetype-devel@nongnu.org - - Discusses bugs, as well as engine internals, design issues, - specific licenses, porting, etc. - - Our home page can be found at - - https://www.freetype.org - - ---- end of FTL.TXT --- --------------------------------------------------------------------------------- -etc_decoder - - * Copyright (c) 2020-2022 Hans-Kristian Arntzen - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * --------------------------------------------------------------------------------- -icu - - Copyright (C) 2002-2008, International Business Machines Corporation and others. - All Rights Reserved. --------------------------------------------------------------------------------- -icu - - Copyright (C) 2002-2011, International Business Machines Corporation and others. - All Rights Reserved. --------------------------------------------------------------------------------- -icu - - Copyright (C) 2002-2016, International Business Machines Corporation and others. - All Rights Reserved. --------------------------------------------------------------------------------- -icu - - Copyright (C) 2003-2010, International Business Machines Corporation and others. - All Rights Reserved. --------------------------------------------------------------------------------- -icu - - Copyright (C) 2004-2015, International Business Machines Corporation and others. - All Rights Reserved. --------------------------------------------------------------------------------- -icu - - Copyright (C) 2015-2016, International Business Machines Corporation and others. - All Rights Reserved. --------------------------------------------------------------------------------- -harfbuzz - - This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -Author(s): Behdad Esfahbod - --------------------------------------------------------------------------------- -expat - -! /bin/bash - __ __ _ - ___\ \/ /_ __ __ _| |_ - / _ \\ /| '_ \ / _` | __| - | __// \| |_) | (_| | |_ - \___/_/\_\ .__/ \__,_|\__| - |_| XML parser - -Copyright (c) 2017-2024 Sebastian Pipping -Copyright (c) 2017 Rolf Eike Beer -Copyright (c) 2019 Mohammed Khajapasha -Copyright (c) 2019 Manish, Kumar -Copyright (c) 2019 Philippe Antoine -Copyright (c) 2024 Dag-Erling Smørgrav -Licensed under the MIT license: +Copyright (c) 2017-2024 Sebastian Pipping +Copyright (c) 2017 Rolf Eike Beer +Copyright (c) 2019 Mohammed Khajapasha +Copyright (c) 2019 Manish, Kumar +Copyright (c) 2019 Philippe Antoine +Copyright (c) 2024 Dag-Erling Smørgrav +Licensed under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -5255,40 +4192,10 @@ harfbuzz // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -vulkan-deps +angle -// Copyright 2015 The Chromium Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -angle - -// Copyright 2018 The ANGLE Project Authors. -// All rights reserved. +// Copyright 2018 The ANGLE Project Authors. +// All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -5547,6 +4454,12 @@ prospectively choose to deem waived or otherwise exclude such Section(s) of the License, but only in their entirety and only with respect to the Combined Software. -------------------------------------------------------------------------------- +include +json + +@copyright Copyright (c) 2008-2009 Bjoern Hoehrmann +@sa http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ +-------------------------------------------------------------------------------- etc1 Apache License @@ -5723,178 +4636,6 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. -"License" shall mean the terms and conditions for use, reproduction, and distribution as -defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner -that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that -control, are controlled by, or are under common control with that entity. For the -purposes of this definition, "control" means (i) the power, direct or indirect, to -cause the direction or management of such entity, whether by contract or otherwise, -or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or -(iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions -granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not -limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included in or -attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based -on (or derived from) the Work and for which the editorial revisions, annotations, -elaborations, or other modifications represent, as a whole, an original work of -authorship. For the purposes of this License, Derivative Works shall not include works -that remain separable from, or merely link (or bind by name) to the interfaces of, the -Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the -Work and any modifications or additions to that Work or Derivative Works thereof, that -is intentionally submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. -For the purposes of this definition, "submitted" means any form of electronic, verbal, -or written communication sent to the Licensor or its representatives, including but not -limited to communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose -of discussing and improving the Work, but excluding communication that is conspicuously -marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a -Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each -Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, -royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each -Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, -royalty-free, irrevocable (except as stated in this section) patent license to make, -have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such -license applies only to those patent claims licensable by such Contributor that are -necessarily infringed by their Contribution(s) alone or by combination of their -Contribution(s) with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a cross-claim or counterclaim -in a lawsuit) alleging that the Work or a Contribution incorporated within the Work -constitutes direct or contributory patent infringement, then any patent licenses granted -to You under this License for that Work shall terminate as of the date such litigation -is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative -Works thereof in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this -License; and -You must cause any modified files to carry prominent notices stating that You changed -the files; and -You must retain, in the Source form of any Derivative Works that You distribute, all -copyright, patent, trademark, and attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of the Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the attribution -notices contained within such NOTICE file, excluding those notices that do not pertain -to any part of the Derivative Works, in at least one of the following places: within a -NOTICE text file distributed as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, within a display -generated by the Derivative Works, if and wherever such third-party notices normally -appear. The contents of the NOTICE file are for informational purposes only and do not -modify the License. You may add Your own attribution notices within Derivative Works -that You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as modifying -the License. - -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution -intentionally submitted for inclusion in the Work by You to the Licensor shall be under -the terms and conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of any -separate license agreement you may have executed with Licensor regarding such -Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, -trademarks, service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and reproducing the -content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, -Licensor provides the Work (and each Contributor provides its Contributions) on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, -MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for -determining the appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort -(including negligence), contract, or otherwise, unless required by applicable law (such -as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor -be liable to You for damages, including any direct, indirect, special, incidental, or -consequential damages of any character arising as a result of this License or out of the -use or inability to use the Work (including but not limited to damages for loss of -goodwill, work stoppage, computer failure or malfunction, or any and all other -commercial damages or losses), even if such Contributor has been advised of the -possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or -Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of -support, warranty, indemnity, or other liability obligations and/or rights consistent -with this License. However, in accepting such obligations, You may act only on Your own -behalf and on Your sole responsibility, not on behalf of any other Contributor, and only -if You agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your accepting -any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: HOW TO APPLY THE APACHE LICENSE TO YOUR WORK -To apply the Apache License to your work, attach the following boilerplate notice, with -the fields enclosed by brackets "[]" replaced with your own identifying information. -(Don't include the brackets!) The text should be enclosed in the appropriate comment -syntax for the file format. We also recommend that a file or class name and description -of purpose be included on the same "printed page" as the copyright notice for easier -identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. @@ -6057,462 +4798,219 @@ limitations under the License. -------------------------------------------------------------------------------- -cpu_features +spirv-cross Apache License + Version 2.0, January 2004 -http://www.apache.org/licenses/ - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, +AND DISTRIBUTION 1. Definitions. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. + - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +"License" shall mean the terms and conditions for use, reproduction, and distribution +as defined by Sections 1 through 9 of this document. - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. + - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. + - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct +or indirect, to cause the direction or management of such entity, whether +by contract or otherwise, or (ii) ownership of fifty percent (50%) or more +of the outstanding shares, or (iii) beneficial ownership of such entity. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. + - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions +granted by this License. - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and + + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + + + +"Object" form shall mean any form resulting from mechanical transformation +or translation of a Source form, including but not limited to compiled object +code, generated documentation, and conversions to other media types. + + + +"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice that +is included in or attached to the work (an example is provided in the Appendix +below). + + + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative +Works shall not include works that remain separable from, or merely link (or +bind by name) to the interfaces of, the Work and Derivative Works thereof. + + + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative +Works thereof, that is intentionally submitted to Licensor for inclusion in +the Work by the copyright owner or by an individual or Legal Entity authorized +to submit on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication +sent to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor +for the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + + + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently incorporated +within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this +License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable copyright license to reproduce, prepare +Derivative Works of, publicly display, publicly perform, sublicense, and distribute +the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, +each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) patent +license to make, have made, use, offer to sell, sell, import, and otherwise +transfer the Work, where such license applies only to those patent claims +licensable by such Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work to which such +Contribution(s) was submitted. If You institute patent litigation against +any entity (including a cross-claim or counterclaim in a lawsuit) alleging +that the Work or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses granted to You +under this License for that Work shall terminate as of the date such litigation +is filed. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and +4. Redistribution. You may reproduce and distribute copies of the Work or +Derivative Works thereof in any medium, with or without modifications, and +in Source or Object form, provided that You meet the following conditions: - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +(a) You must give any other recipients of the Work or Derivative Works a copy +of this License; and - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +(b) You must cause any modified files to carry prominent notices stating that +You changed the files; and - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. +(c) You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source +form of the Work, excluding those notices that do not pertain to any part +of the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its distribution, +then any Derivative Works that You distribute must include a readable copy +of the attribution notices contained within such NOTICE file, excluding those +notices that do not pertain to any part of the Derivative Works, in at least +one of the following places: within a NOTICE text file distributed as part +of the Derivative Works; within the Source form or documentation, if provided +along with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works +that You distribute, alongside or as an addendum to the NOTICE text from the +Work, provided that such additional attribution notices cannot be construed +as modifying the License. - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, +or distribution of Your modifications, or for any such Derivative Works as +a whole, provided Your use, reproduction, and distribution of the Work otherwise +complies with the conditions stated in this License. - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +5. Submission of Contributions. Unless You explicitly state otherwise, any +Contribution intentionally submitted for inclusion in the Work by You to the +Licensor shall be under the terms and conditions of this License, without +any additional terms or conditions. Notwithstanding the above, nothing herein +shall supersede or modify the terms of any separate license agreement you +may have executed with Licensor regarding such Contributions. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. +6. Trademarks. This License does not grant permission to use the trade names, +trademarks, service marks, or product names of the Licensor, except as required +for reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to +in writing, Licensor provides the Work (and each Contributor provides its +Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied, including, without limitation, any warranties +or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR +A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness +of using or redistributing the Work and assume any risks associated with Your +exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether +in tort (including negligence), contract, or otherwise, unless required by +applicable law (such as deliberate and grossly negligent acts) or agreed to +in writing, shall any Contributor be liable to You for damages, including +any direct, indirect, special, incidental, or consequential damages of any +character arising as a result of this License or out of the use or inability +to use the Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all other commercial +damages or losses), even if such Contributor has been advised of the possibility +of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work +or Derivative Works thereof, You may choose to offer, and charge a fee for, +acceptance of support, warranty, indemnity, or other liability obligations +and/or rights consistent with this License. However, in accepting such obligations, +You may act only on Your own behalf and on Your sole responsibility, not on +behalf of any other Contributor, and only if You agree to indemnify, defend, +and hold each Contributor harmless for any liability incurred by, or claims +asserted against, such Contributor by reason of your accepting any such warranty +or additional liability. END OF TERMS AND CONDITIONS - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. +APPENDIX: How to apply the Apache License to your work. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own identifying +information. (Don't include the brackets!) The text should be enclosed in +the appropriate comment syntax for the file format. We also recommend that +a file or class name and description of purpose be included on the same "printed +page" as the copyright notice for easier identification within third-party +archives. - END OF TERMS AND CONDITIONS +Copyright [yyyy] [name of copyright owner] - APPENDIX: How to apply the Apache License to your work. +Licensed under the Apache License, Version 2.0 (the "License"); - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. +you may not use this file except in compliance with the License. - Copyright [yyyy] [name of copyright owner] +You may obtain a copy of the License at - 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 +http://www.apache.org/licenses/LICENSE-2.0 - http://www.apache.org/licenses/LICENSE-2.0 +Unless required by applicable law or agreed to in writing, software - 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. +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -For files in the `ndk_compat` folder: +See the License for the specific language governing permissions and +limitations under the License. -Copyright (C) 2010 The Android Open Source Project -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. -------------------------------------------------------------------------------- -flatbuffers - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright 2014 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -abseil-cpp -angle -boringssl -cpu_features -dart -etc1 -expat -flatbuffers -fuchsia_sdk -glslang -lunarg-vulkantools -perfetto -shaderc -spirv-cross -swiftshader -vulkan -vulkan-headers -vulkan-utility-libraries -vulkan-validation-layers -wuffs +fuchsia_sdk Apache License Version 2.0, January 2004 @@ -6710,196 +5208,6 @@ You may obtain a copy of the License at http://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. --------------------------------------------------------------------------------- -perfetto - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -Copyright (c) 2017, The Android Open Source Project - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. - 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. @@ -6907,9 +5215,6 @@ See the License for the specific language governing permissions and limitations under the License. -------------------------------------------------------------------------------- fuchsia_sdk -libcxx -libcxxabi -llvm_libc Apache License Version 2.0, January 2004 @@ -7130,379 +5435,128 @@ prospectively choose to deem waived or otherwise exclude such Section(s) of the License, but only in their entirety and only with respect to the Combined Software. -------------------------------------------------------------------------------- -skia +json -Copyright %s %s +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -icu +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Copyright (C) 1995-2001, International Business Machines -Corporation and others. All Rights Reserved. +1. Definitions. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. -Copyright (C) 1995-2002, International Business Machines -Corporation and others. All Rights Reserved. +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." -Copyright (C) 1995-2003, International Business Machines -Corporation and others. All Rights Reserved. +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and -Copyright (C) 1995-2005, International Business Machines -Corporation and others. All Rights Reserved. + (b) You must cause any modified files to carry prominent notices stating that You changed the files; and -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and -Copyright (C) 1995-2006, International Business Machines -Corporation and others. All Rights Reserved. + (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. -Copyright (C) 1995-2007, International Business Machines -Corporation and others. All Rights Reserved. +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +END OF TERMS AND CONDITIONS -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +APPENDIX: How to apply the Apache License to your work. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. -Copyright (C) 1995-2009, International Business Machines -Corporation and others. All Rights Reserved. +Copyright [yyyy] [name of copyright owner] -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1995-2010, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright %s %s -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1995-2013, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +glfw -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +Copyright (C) 1997-2013 Sam Lantinga -Copyright (C) 1995-2014, International Business Machines -Corporation and others. All Rights Reserved. +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the +use of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -icu +zlib -Copyright (C) 1995-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 1998-2005 Gilles Vollant +-------------------------------------------------------------------------------- +zlib -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Modifications for Zip64 support +Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +For more info read MiniZip_info.txt -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -freetype2 +--------------------------------------------------------------------------- -Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler +Condition of use and distribution are the same than zlib : This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -7513,16 +5567,28 @@ including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. +misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- zlib -Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler +Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) + +Modifications of Unzip for Zip64 +Copyright (C) 2007-2008 Even Rouault + +Modifications for Zip64 support on both zip and unzip +Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) + +For more info read MiniZip_info.txt + +--------------------------------------------------------------------------------- + +Condition of use and distribution are the same than zlib : This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages @@ -7533,1692 +5599,1559 @@ including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. +misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- icu -Copyright (C) 1996-2008, International Business Machines Corporation * -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright (C) 2000-2012, International Business Machines Corporation and others. +All Rights Reserved. -------------------------------------------------------------------------------- -icu +swiftshader -Copyright (C) 1996-2012, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (C) 2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett. +All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2012, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (C) 2002-2004 3Dlabs Inc. Ltd. +All rights reserved. -Copyright (C) 1996-2012, International Business Machines Corporation and -others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2013, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +All rights reserved. -Copyright (C) 1996-2013, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2013, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1996-2014, International Business Machines - Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1996-2014, International Business Machines Corporation and -others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2014, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2014, International Business Machines Corporation and others. -All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2019 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1996-2015, International Business Machines - Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2018-2020 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1996-2015, International Business Machines Corporation and -others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1996-2015, International Business Machines Corporation and others. -All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2015, International Business Machines Corporation and others. -All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2024 Valve Corporation. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1996-2016, International Business Machines - Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1996-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2013 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Copyright (C) 2015-2020 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1996-2016, International Business Machines -Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Copyright (C) 1996-2016, International Business Machines -Corporation and others. All Rights Reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2015 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +Copyright (C) 2017, 2019 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2024 Ravi Prakash Singh. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1996-2016, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1996-2016, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2015 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017 ARM Limited. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1997-2000, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1997-2003, International Business Machines -Corporation and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2015-2016 Google, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1997-2005, International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020-2021 Advanced Micro Devices, Inc. All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1997-2005, International Business Machines Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1997-2006, International Business Machines -Corporation and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2012-2016 LunarG, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1997-2009,2014 International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1997-2010, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2010, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Copyright (C) 1997-2011, International Business Machines - Corporation and others. All Rights Reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1997-2011, International Business Machines Corporation and others. -All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1997-2011,2014-2015 International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1997-2012, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2012, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. +Copyright (c) 2023, Mobica Limited -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glfw +glslang -Copyright (C) 1997-2013 Sam Lantinga +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2020 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising from the -use of this software. +All rights reserved. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -3. This notice may not be removed or altered from any source distribution. --------------------------------------------------------------------------------- -icu + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Copyright (C) 1997-2013, International Business Machines - Corporation and others. All Rights Reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1997-2013, International Business Machines -Corporation and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013 LunarG, Inc. +Copyright (c) 2002-2010 The ANGLE Project Authors. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1997-2013, International Business Machines * -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1997-2013, International Business Machines Corporation and -others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2013, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2013, International Business Machines Corporation and others. -All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1997-2014, International Business Machines - Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2013-2016 LunarG, Inc. +Copyright (C) 2016-2020 Google, Inc. +Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1997-2015, International Business Machines - Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2016 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1997-2015, International Business Machines -Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2016 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1997-2015, International Business Machines Corporation -and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2015, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (C) 2002-2005 3Dlabs Inc. Ltd. +Copyright (C) 2017 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- icu -Copyright (C) 1997-2015, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2002-2013, International Business Machines Corporation +and others. All Rights Reserved. +-------------------------------------------------------------------------------- +swiftshader -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2008 The Android Open Source Project +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1997-2015, International Business Machines Corporation and * -others. All Rights Reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). +All Rights Reserved. +Author: Siarhei Siamashka +Copyright (C) 2013-2014, Linaro Limited. All Rights Reserved. +Author: Ragesh Radhakrishnan +Copyright (C) 2014-2016, D. R. Commander. All Rights Reserved. +Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. +Copyright (C) 2016, Siarhei Siamashka. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -icu +libjpeg-turbo -Copyright (C) 1997-2015, International Business Machines Corporation and others. +Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). All Rights Reserved. --------------------------------------------------------------------------------- -icu +Author: Siarhei Siamashka +Copyright (C) 2014, Siarhei Siamashka. All Rights Reserved. +Copyright (C) 2014, Linaro Limited. All Rights Reserved. +Copyright (C) 2015, D. R. Commander. All Rights Reserved. +Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. -Copyright (C) 1997-2015, International Business Machines Corporation and others. -All Rights Reserved. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +cpu_features -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2010 The Android Open Source Project +All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (C) 1997-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2011 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (C) 1997-2016, International Business Machines Corporation and -others. All Rights Reserved. +Google Author(s): Behdad Esfahbod -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +-------------------------------------------------------------------------------- +include -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2011 Nick Bruun +Copyright (C) 2013 Vlad Lazarenko +Copyright (C) 2014 Nicolas Pauss +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2012 Grigori Goronzy -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1997-2016, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (C) 2012 LunarG, Inc. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Neither the name of LunarG Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Copyright (C) 1997-2016, International Business Machines Corporation and others. -All Rights Reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +xxhash -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2012-2016, Yann Collet -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +xxhash -Copyright (C) 1998-2004, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2012-2016, Yann Collet. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -zlib +vulkan-validation-layers -Copyright (C) 1998-2005 Gilles Vollant --------------------------------------------------------------------------------- -icu +Copyright (C) 2012-2021 Yann Collet -Copyright (C) 1998-2005, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) -Copyright (C) 1998-2005, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2013 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1998-2006, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1998-2008, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -zlib +glslang -Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) +Copyright (C) 2013 LunarG, Inc. +Copyright (C) 2017 ARM Limited. +Copyright (C) 2015-2018 Google, Inc. -Modifications for Zip64 support -Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) +All rights reserved. -For more info read MiniZip_info.txt +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: ---------------------------------------------------------------------------- + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Condition of use and distribution are the same than zlib : + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +libjpeg-turbo +Copyright (C) 2013, MIPS Technologies, Inc., California. +All Rights Reserved. +Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) + Darko Laus (darko.laus@imgtec.com) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. @@ -9228,29 +7161,20 @@ including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not -claim that you wrote the original software. If you use this software -in a product, an acknowledgment in the product documentation would be -appreciated but is not required. + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be -misrepresented as being the original software. + misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -zlib - -Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html ) - -Modifications of Unzip for Zip64 -Copyright (C) 2007-2008 Even Rouault - -Modifications for Zip64 support on both zip and unzip -Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com ) - -For more info read MiniZip_info.txt - ---------------------------------------------------------------------------------- - -Condition of use and distribution are the same than zlib : +libjpeg-turbo +Copyright (C) 2013-2014, MIPS Technologies, Inc., California. +All Rights Reserved. +Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) + Darko Laus (darko.laus@imgtec.com) +Copyright (C) 2015, D. R. Commander. All Rights Reserved. This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. @@ -9260,10592 +7184,7617 @@ including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not -claim that you wrote the original software. If you use this software -in a product, an acknowledgment in the product documentation would be -appreciated but is not required. + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be -misrepresented as being the original software. + misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1998-2011, International Business Machines -Corporation and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2013-2016 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1998-2012, International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2014 Google Inc. All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1998-2012, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (C) 2014 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. -Copyright (C) 1998-2012, International Business Machines Corporation and -others. All Rights Reserved. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +libjpeg-turbo -Copyright (C) 1998-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2014, D. R. Commander. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1998-2015, International Business Machines -Corporation and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2014-2015 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1998-2016, International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2015-2018 Google, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1998-2016, International Business Machines Corporation -and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1999-2001, International Business Machines -Corporation and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017 ARM Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1999-2003, International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2014-2015 LunarG, Inc. +Copyright (C) 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1999-2004, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1999-2005, International Business Machines -Corporation and others. All Rights Reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1999-2006, International Business Machines -Corporation and others. All Rights Reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. +Copyright (C) 2014, Jay Foad. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2006,2013 IBM Corp. All rights reserved. +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2015-2020 Google, Inc. +Copyright (C) 2017, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1999-2007, International Business Machines -Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2018 Google, Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Copyright (C) 1999-2007, International Business Machines Corporation -and others. All Rights Reserved. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1999-2008, International Business Machines Corporation -and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2014-2016 LunarG, Inc. +Copyright (C) 2018-2020 Google, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 1999-2009, International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2015 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 1999-2010, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 1999-2010, International Business Machines Corporation and others. -All Rights Reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2015, D. R. Commander. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2011, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (C) 2015-2016 Google, Inc. -Copyright (C) 1999-2011, International Business Machines -Corporation and others. All Rights Reserved. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2011, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (C) 2015-2018 Google, Inc. +Copyright (C) 2017 ARM Limited. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1999-2012, International Business Machines -Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +lunarg-vulkantools -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2015-2021 Valve Corporation +Copyright (C) 2015-2021 LunarG, Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + http://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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2012, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (C) 2016 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2013, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1999-2013, International Business Machines Corporation and -others. All Rights Reserved. + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2016 Google, Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Copyright (C) 1999-2014 International Business Machines -Corporation and others. All Rights Reserved. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2014 International Business Machines Corporation * -and others. All rights reserved. +Copyright (C) 2016 Google, Inc. +Copyright (C) 2016 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1999-2014, International Business Machines - Corporation and others. All Rights Reserved. + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 Google, Inc. +Copyright (C) 2016 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 Google, Inc. +Copyright (C) 2019, 2022-2024 Arm Limited. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2015 International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 Google, Inc. +Copyright (C) 2022-2024 Arm Limited. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 1999-2015, International Business Machines Corporation and -others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (C) 2016 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 1999-2016 International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- icu -Copyright (C) 1999-2016 International Business Machines Corporation -and others. All rights reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Copyright (C) 2002-2015, International Business Machines Corporation and others. + All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2002-2010, International Business Machines +Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 1999-2016 International Business Machines Corporation * -and others. All rights reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2001-2003 International Business Machines +Corporation and others. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2001-2010 International Business Machines +Corporation and others. All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 1999-2016, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2002-2005, International Business Machines Corporation and others. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2010, International Business Machines Corporation and others. All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 1999-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2002-2015, International Business Machines Corporation and +others. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright (c) 2002-2016 International Business Machines Corporation and +others. All Rights Reserved. + + -------------------------------------------------------------------------------- icu -Copyright (C) 1999-2016, International Business Machines Corporation - and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2003-2005, International Business Machines Corporation and others. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2010, International Business Machines Corporation and others. All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 1999-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +#################################################################### +Copyright (c) 2009, International Business Machines Corporation and +others. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +#################################################################### +Copyright (c) 2015, International Business Machines Corporation and +others. All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 1999-2016, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +* +* Copyright (C) 2004-2006, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +-------------------------------------------------------------------------------- +icu -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2002, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 1999-2016, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2003, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2005, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -freetype2 -Copyright (C) 2000, 2001, 2002, 2003, 2006, 2010 by -Francesco Zappa Nardelli +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2006, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -------------------------------------------------------------------------------- icu -Copyright (C) 2000, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2007, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2009, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 2000-2003, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 1995-2013, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2001-2003, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -freetype2 -Copyright (C) 2000-2004, 2006-2011, 2013, 2014 by -Francesco Zappa Nardelli +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2001-2005, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -------------------------------------------------------------------------------- icu -Copyright (C) 2000-2004, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2009-2012, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +-------------------------------------------------------------------------------- +icu -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2014, International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 2000-2004, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +*************************************************************************** +* +* Copyright (C) 2009 International Business Machines +* Corporation and others. All Rights Reserved. +* +*************************************************************************** +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +***************************************************************************** -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Copyright (C) 2002-2015, International Business Machines Corporation and others. + All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +***************************************************************************** -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + -------------------------------------------------------------------------------- icu -Copyright (C) 2000-2006, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1995-2001, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1995-2005, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 2000-2007, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1995-2010, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1997-2000, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 2000-2008, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1997-2003, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + +-------------------------------------------------------------------------------- +icu -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 1997-2010, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* + + +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +******************************************************************************* +* +* Copyright (C) 2010, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 2000-2010, International Business Machines +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1999-2016, International Business Machines Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +icu + +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2010 IBM Corporation and Others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- icu -Copyright (C) 2000-2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2010-2014, International Business Machines Corporation and others. +All Rights Reserved. +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2016 International Business Machines Corporation and +others. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016-2017 Google, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 2000-2012, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2000-2012, International Business Machines Corporation and others. -All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2016-2017 Google, Inc. +Copyright (C) 2020 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 2000-2013, International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2016-2017 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 2000-2014, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2000-2015, International Business Machines -Corporation and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2016-2018 Google, Inc. +Copyright (C) 2016 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 2000-2016, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 2000-2016, International Business Machines -Corporation and others. All Rights Reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2016-2018 Google, Inc. +Copyright (C) 2016 LunarG, Inc. +Copyright (C) 2023 Mobica Limited. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Copyright (C) 2000-2016, International Business Machines Corporation and others. -All Rights Reserved. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +zlib -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright (C) 2017 ARM, Inc. +Copyright 2017 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. -------------------------------------------------------------------------------- -freetype2 +shaderc -Copyright (C) 2001, 2002 by -Francesco Zappa Nardelli +Copyright (C) 2017 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +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 -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +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. -------------------------------------------------------------------------------- -freetype2 +glslang -Copyright (C) 2001, 2002, 2003, 2004 by -Francesco Zappa Nardelli +Copyright (C) 2017 LunarG, Inc. +Copyright (C) 2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +All rights reserved. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -icu + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Copyright (C) 2001, International Business Machines -Corporation and others. All Rights Reserved. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2017 LunarG, Inc. +Copyright (C) 2018 Google, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 2001-2003, International Business Machines -Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of Google, Inc., nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2001-2005, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +glslang -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2017-2018 Google, Inc. +Copyright (C) 2017 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +All rights reserved. -Copyright (C) 2001-2005, International Business Machines Corporation and others. All Rights Reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -swiftshader +shaderc -Copyright (C) 2001-2006 Bart Massey, Jamey Sharp, and Josh Triplett. -All Rights Reserved. +Copyright (C) 2017-2022 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: +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 -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2001-2006, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (C) 2018 Google, Inc. -Copyright (C) 2001-2006, International Business Machines -Corporation and others. All Rights Reserved. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2001-2007, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2018 The Khronos Group Inc. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -freetype2 +spirv-tools -Copyright (C) 2001-2008, 2011, 2013, 2014 by -Francesco Zappa Nardelli +Copyright (C) 2019 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +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 -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2001-2008, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2019 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 2001-2008,2010 IBM and others. All rights reserved. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +shaderc -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2020 Google Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + http://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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2001-2010, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (C) 2020 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (C) 2001-2011 IBM and others. All rights reserved. + Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +shaderc -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C) 2020-2022 Google LLC -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2001-2011, International Business Machines -Corporation and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +dart +perfetto -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C) 2022 The Android Open Source Project -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2001-2011, International Business Machines * - Corporation and others. All Rights Reserved. +Copyright (C) 2023 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2001-2011, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (C) 2024 The Khronos Group Inc. +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Copyright (C) 2001-2011, International Business Machines Corporation and -others. All Rights Reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2001-2011, International Business Machines Corporation and * -others. All Rights Reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C)2009-2014 D. R. Commander. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2001-2011, International Business Machines Corporation. * -All Rights Reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C)2009-2015 D. R. Commander. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2001-2011,2014 IBM and others. All rights reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C)2009-2016 D. R. Commander. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2001-2012, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +libjpeg-turbo -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (C)2011 D. R. Commander. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. -Copyright (C) 2001-2012, International Business Machines Corporation and -others. All Rights Reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2001-2012, International Business Machines Corporation and * -others. All Rights Reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C)2011, 2015 D. R. Commander. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2001-2013, International Business Machines - Corporation and others. All Rights Reserved. +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (C)2011-2016 D. R. Commander. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2001-2014 IBM and others. All rights reserved. +Copyright (c) %d, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +expat -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001-2025 Expat maintainers -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2001-2014 International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2002, NVIDIA Corporation. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2001-2014, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (c) 2002-2006 Marcus Geelnard -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2006-2019 Camilla Löwy -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2001-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2016 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2001-2014, International Business Machines * - Corporation and others. All Rights Reserved. +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2017 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -Copyright (C) 2001-2014, International Business Machines Corporation and -others. All Rights Reserved. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2001-2014, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2018 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2001-2014, International Business Machines Corporation. -All Rights Reserved. +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2019 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2001-2015 IBM and others. All rights reserved. +Copyright (c) 2002-2006 Marcus Geelnard +Copyright (c) 2006-2019 Camilla Löwy +Copyright (c) 2012 Torsten Walluhn -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- icu -Copyright (C) 2001-2015, International Business Machines - Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. +-------------------------------------------------------------------------------- +dart -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2003-2005 Tom Wu +Copyright (c) 2012 Adam Singer (adam@solvr.io) +All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -Copyright (C) 2001-2015, International Business Machines -Corporation and others. All Rights Reserved. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, +INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF +THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +In addition, the following condition applies: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +All redistributions must retain an intact copy of this copyright notice +and disclaimer. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2001-2016, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (c) 2006-2017 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2001-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2006-2018 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- icu -Copyright (C) 2002-2003, International Business Machines +Copyright (c) 2007-2012, International Business Machines Corporation and others. All Rights Reserved. +-------------------------------------------------------------------------------- +libXNVCtrl -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2008 NVIDIA, Corporation -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +angle -Copyright (C) 2002-2004 3Dlabs Inc. Ltd. -All rights reserved. +Copyright (c) 2008-2017 The Khronos Group Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +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 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +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. +-------------------------------------------------------------------------------- +angle +glfw - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright (c) 2008-2018 The Khronos Group Inc. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -glslang -vulkan-deps +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -All rights reserved. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright (c) 2008-2020 The Khronos Group Inc. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +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 - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +angle -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. +Copyright (c) 2008-2021 The Khronos Group Inc. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +include - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright (c) 2009 Florian Loitsch. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +libtess2 -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. +Copyright (c) 2009 Mikko Mononen memon@inside.org -All rights reserved. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +-------------------------------------------------------------------------------- +accessibility -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2009 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +brotli - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2018 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +glfw -All rights reserved. +Copyright (c) 2009-2016 Camilla Löwy -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -glslang - -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2019 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +glfw -All rights reserved. +Copyright (c) 2009-2019 Camilla Löwy -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2018-2020 Google, Inc. +glfw -All rights reserved. +Copyright (c) 2009-2019 Camilla Löwy +Copyright (c) 2012 Torsten Walluhn -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +glfw -All rights reserved. +Copyright (c) 2009-2021 Camilla Löwy -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -glslang -vulkan-deps +libXNVCtrl -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Copyright (C) 2015-2018 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2024 Valve Corporation. +Copyright (c) 2010 NVIDIA, Corporation -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +-------------------------------------------------------------------------------- +glfw - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright (c) 2010 Olivier Delannoy - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. + +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -glslang -vulkan-deps +accessibility -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2013 LunarG, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Copyright (C) 2015-2020 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2010 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp -All rights reserved. +Copyright (c) 2010, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +modification, are permitted provided that the following conditions are +met: - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2015 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. -Copyright (C) 2017, 2019 ARM Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2024 Ravi Prakash Singh. - -All rights reserved. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +dart -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2010, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +include - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright (c) 2011 - Nick Bruun. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. If you meet (any of) the author(s), you're encouraged to buy them a beer, + a drink or whatever is suited to the situation, given that you like the + software. +4. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2015 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. -Copyright (C) 2017 ARM Limited. +skia -All rights reserved. +Copyright (c) 2011 Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +modification, are permitted provided that the following conditions are +met: - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +accessibility +angle +dart -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2016 LunarG, Inc. -Copyright (C) 2015-2016 Google, Inc. -Copyright (C) 2017 ARM Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2011 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart -All rights reserved. +Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +glfw -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2012 Marcus Geelnard - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. + +3. This notice may not be removed or altered from any source +distribution. -------------------------------------------------------------------------------- -glslang -vulkan-deps +accessibility +dart +flutter +icu +skia -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2016 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Modifications Copyright (C) 2020-2021 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2012 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart -All rights reserved. +Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility +angle +dart +skia -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2013 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +glslang - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright (c) 2013 The Khronos Group Inc. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -------------------------------------------------------------------------------- -glslang -vulkan-deps +dart -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2012-2016 LunarG, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +khronos -All rights reserved. +Copyright (c) 2013-2014 The Khronos Group Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright (c) 2013-2017 The Khronos Group Inc. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -glslang -vulkan-deps +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. -All rights reserved. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +angle -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2013-2018 The Khronos Group Inc. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +skia -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2014 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps +glfw -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -All rights reserved. +Copyright (c) 2014 Jonas Ådahl -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -glslang -vulkan-deps +accessibility +skia -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. +Copyright (c) 2014 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart -All rights reserved. +Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +glslang +skia +spirv-tools -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2014-2016 The Khronos Group Inc. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. -------------------------------------------------------------------------------- glslang -vulkan-deps -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2014-2017 The Khronos Group Inc. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. - -All rights reserved. +spirv-cross -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2014-2020 The Khronos Group Inc. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2018 Google, Inc. -Copyright (c) 2023, Mobica Limited - -All rights reserved. +spirv-cross -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright (c) 2014-2020 The Khronos Group Inc. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. -------------------------------------------------------------------------------- glslang -vulkan-deps -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2020 Google, Inc. +Copyright (c) 2014-2020 The Khronos Group Inc. +Copyright (C) 2022-2024 Arm Limited. Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. -------------------------------------------------------------------------------- glslang -vulkan-deps -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013 LunarG, Inc. -Copyright (c) 2002-2010 The ANGLE Project Authors. +Copyright (c) 2014-2024 The Khronos Group Inc. -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. +-------------------------------------------------------------------------------- +dart +skia - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright (c) 2015 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps +spirv-tools -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013-2016 LunarG, Inc. +Copyright (c) 2015-2016 Google Inc. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +glslang +spirv-tools - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright (c) 2015-2016 The Khronos Group Inc. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + http://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. -------------------------------------------------------------------------------- glslang -vulkan-deps -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013-2016 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. +Copyright (c) 2015-2016 The Khronos Group Inc. -All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +-------------------------------------------------------------------------------- +vulkan-tools - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright (c) 2015-2016 The Khronos Group Inc. +Copyright (c) 2015-2016 Valve Corporation +Copyright (c) 2015-2016 LunarG, Inc. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +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 + + http://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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +vulkan-validation-layers -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013-2016 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. +Copyright (c) 2015-2016 The Khronos Group Inc. +Copyright (c) 2015-2023 Valve Corporation +Copyright (c) 2015-2023 LunarG, Inc. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +spirv-tools - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright (c) 2015-2016 The Khronos Group Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + http://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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +vulkan-validation-layers -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2013-2016 LunarG, Inc. -Copyright (C) 2016-2020 Google, Inc. -Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved. +Copyright (c) 2015-2016, 2020-2025 The Khronos Group Inc. +Copyright (c) 2015-2016, 2020-2025 Valve Corporation +Copyright (c) 2015-2016, 2020-2025 LunarG, Inc. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +lunarg-vulkantools - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright (c) 2015-2016, 2021 Valve Corporation +Copyright (c) 2015-2016, 2021 LunarG, Inc. +Copyright (c) 2015-2016, 2021 Google Inc. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + http://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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +vulkan-validation-layers -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2016 Google, Inc. +Copyright (c) 2015-2017, 2019-2024 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2024 Valve Corporation +Copyright (c) 2015-2017, 2019-2024 LunarG, Inc. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +vulkan-utility-libraries - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright (c) 2015-2017, 2019-2024 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2024 Valve Corporation +Copyright (c) 2015-2017, 2019-2024 LunarG, Inc. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-utility-libraries -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Copyright (c) 2015-2017, 2019-2024 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2024 Valve Corporation +Copyright (c) 2015-2017, 2019-2024 LunarG, Inc. +Modifications Copyright (C) 2022 RasterGrid Kft. + +SPDX-License-Identifier: Apache-2.0 -------------------------------------------------------------------------------- -glslang -vulkan-deps +vulkan-validation-layers -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2016 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2018 Google, Inc. +Copyright (c) 2015-2017, 2019-2025 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2025 Valve Corporation +Copyright (c) 2015-2017, 2019-2025 LunarG, Inc. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright (c) 2015-2017, 2019-2025 The Khronos Group Inc. +Copyright (c) 2015-2017, 2019-2025 Valve Corporation +Copyright (c) 2015-2017, 2019-2025 LunarG, Inc. +Modifications Copyright (C) 2022 RasterGrid Kft. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + http://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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +vulkan-tools -Copyright (C) 2002-2005 3Dlabs Inc. Ltd. -Copyright (C) 2017 Google, Inc. +Copyright (c) 2015-2018, 2023 The Khronos Group Inc. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +vulkan-tools - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright (c) 2015-2019 The Khronos Group Inc. +Copyright (c) 2015-2019 Valve Corporation +Copyright (c) 2015-2019 LunarG, Inc. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2002-2005, International Business Machines Corporation and -others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2005, International Business Machines Corporation and * -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2020 The Khronos Group Inc. +Copyright (c) 2015-2023 Valve Corporation +Copyright (c) 2015-2023 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2006, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2020 The Khronos Group Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights +reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2008 International Business Machines Corporation * -and others. All rights reserved. +lunarg-vulkantools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2021 The Khronos Group Inc. +Copyright (c) 2015-2021 Valve Corporation +Copyright (c) 2015-2021 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2008, International Business Machines Corporation and others. -All Rights Reserved. +lunarg-vulkantools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2021 The Khronos Group Inc. +Copyright (c) 2015-2021 Valve Corporation +Copyright (c) 2015-2021 LunarG, Inc. +Copyright (c) 2015-2021 Google, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2010, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2021 The Khronos Group Inc. +Copyright (c) 2015-2021 Valve Corporation +Copyright (c) 2015-2021 LunarG, Inc. +Copyright (c) 2023-2024 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2011 International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2022 The Khronos Group Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All +rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2011, International Business Machines -Corporation and others. All Rights Reserved. +lunarg-vulkantools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2023 The Khronos Group Inc. +Copyright (c) 2015-2023 Valve Corporation +Copyright (c) 2015-2023 LunarG, Inc. +Copyright (C) 2015-2016 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2011, International Business Machines Corporation and others. -All Rights Reserved. +lunarg-vulkantools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2023 Valve Corporation +Copyright (c) 2015-2023 LunarG, Inc. +Copyright (c) 2015-2016, 2019 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +lunarg-vulkantools -Copyright (C) 2002-2012, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2015-2023 Valve Corporation +Copyright (c) 2015-2023 LunarG, Inc. +Copyright (c) 2015-2017, 2019 Google Inc. -Copyright (C) 2002-2012, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2002-2013, International Business Machines -Corporation and others. All Rights Reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2022 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2002-2013, International Business Machines Corporation -and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2023 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2014 International Business Machines Corporation -and others. All rights reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2023 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +vulkan-validation-layers -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2002-2014, International Business Machines Corporation and -others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2014, International Business Machines Corporation and -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2015 International Business Machines Corporation -and others. All rights reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2015, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2015, International Business Machines Corporation and others. - All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2015, International Business Machines Corporation and others. -All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-utility-libraries -Copyright (C) 2002-2016 International Business Machines Corporation -and others. All rights reserved. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Copyright (c) 2015-2024 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-validation-layers -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2002-2016 International Business Machines Corporation * -and others. All rights reserved. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2024 The Khronos Group Inc. +Copyright (c) 2015-2024 Valve Corporation +Copyright (c) 2015-2024 LunarG, Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-tools -Copyright (C) 2002-2016 International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2016, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2016, International Business Machines Corporation -and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2023 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2016, International Business Machines Corporation and others. - All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2002-2016, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +vulkan-validation-layers -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2003 - 2008, International Business Machines Corporation and -others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003 - 2008, International Business Machines Corporation and * -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2003 - 2009, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2024 Google Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. -Copyright (C) 2003 - 2009, International Business Machines Corporation and * -others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2003 - 2013, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2003 - 2013, International Business Machines Corporation and -others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003 - 2013, International Business Machines Corporation and * -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2003-2003, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. -Copyright (C) 2003-2003, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2003-2004, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2003-2004, International Business Machines -Corporation and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2006, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022-2024 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2007, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (C) 2015-2025 Google Inc. +Modifications Copyright (C) 2020-2025 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022-2025 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2008, International Business Machines Corporation -and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Copyright (c) 2015-2024 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2009, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2009,2012,2016 International Business Machines Corporation and -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2015-2025 The Khronos Group Inc. +Copyright (c) 2015-2025 Valve Corporation +Copyright (c) 2015-2025 LunarG, Inc. +Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Modifications Copyright (C) 2022 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2010, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +lunarg-vulkantools -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. +Copyright (C) 2015-2021 LunarG, Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2003-2011, International Business Machines - Corporation and others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2011, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2016 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2003-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2016 Google Inc. +Copyright (c) 2016-2017 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2003-2013, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2016 Google Inc. +Copyright (c) 2016-2019 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -Copyright (C) 2003-2013, International Business Machines Corporation -and others. All Rights Reserved. +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2016 Google Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-tools -Copyright (C) 2003-2013, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (c) 2016 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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. +-------------------------------------------------------------------------------- +skia -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright (c) 2016 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2003-2013, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +glfw -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2016-2017 Camilla Löwy -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Copyright (C) 2003-2014, International Business Machines -Corporation and others. All Rights Reserved. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +3. This notice may not be removed or altered from any source + distribution. +-------------------------------------------------------------------------------- +lunarg-vulkantools -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2016-2021 Valve Corporation +Copyright (c) 2016-2021 LunarG, Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + http://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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2003-2014, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (c) 2017 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2015, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2017 Google Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights +reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2015, International Business Machines * - Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2017 Google Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2003-2015, International Business Machines Corporation -and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2017 LunarG Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2003-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2017 Pierre Moreau -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2003-2016, International Business Machines * - Corporation and others. All Rights Reserved. +Copyright (c) 2017 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2017 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2003-2016, International Business Machines Corporation -and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2004 - 2008, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. +Copyright (c) 2018 Google Inc. -Copyright (C) 2004 - 2008, International Business Machines Corporation and -others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +spirv-tools -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. +Copyright (c) 2018-2021 Google LLC -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2004-2005, International Business Machines -Corporation and others. All Rights Reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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. +-------------------------------------------------------------------------------- +spirv-tools -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. +Copyright (c) 2019 Google LLC -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2004-2006, International Business Machines -Corporation and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2017 The Khronos Group Inc. +Copyright (c) 2017 Valve Corporation +Copyright (c) 2017 LunarG Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2004-2007, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan_memory_allocator -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2004-2010, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2018 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2004-2011, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (c) 2018 Google LLC + +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 + + http://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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2004-2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2018 Google LLC. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2004-2012, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2018 Google LLC. +Copyright (c) 2019 NVIDIA Corporation -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2004-2012, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2018 Google LLC. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights +reserved. -Copyright (C) 2004-2012, International Business Machines Corporation and -others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +spirv-tools -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2018 Google LLC. +Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All +rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2004-2014, International Business Machines -Corporation and others. All Rights Reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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. +-------------------------------------------------------------------------------- +spirv-tools -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2018 Google LLC. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2004-2015, International Business Machines -Corporation and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2018 Google LLC. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. +Copyright (c) 2024 NVIDIA Corporation -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2004-2015, International Business Machines Corporation and others. -All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2018 LunarG Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- icu +skia -Copyright (C) 2004-2016, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (c) 2018 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2004-2016, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2018 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2005, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2018 The Khronos Group Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2005-2006, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2018 The Khronos Group Inc. +Copyright (c) 2018 Valve Corporation +Copyright (c) 2018 LunarG Inc. -Copyright (C) 2005-2006, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-tools -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2018 The Khronos Group Inc. +Copyright (c) 2018 Valve Corporation +Copyright (c) 2018 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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 + + http://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. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2005-2008, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2005-2008, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +volk -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2018-2019 Arseny Kapoulkine -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -icu +vulkan-headers -Copyright (C) 2005-2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2018-2019 Collabora, Ltd. +Copyright 2013-2025 The Khronos Group Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +angle -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2018-2020 The Khronos Group Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2005-2012, International Business Machines - Corporation and others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu +vulkan-tools -Copyright (C) 2005-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2018-2020 The Khronos Group Inc. +Copyright (c) 2018-2020 Valve Corporation +Copyright (c) 2018-2020 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2005-2013, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2018-2021 The Khronos Group Inc. +Copyright (c) 2018-2023 Valve Corporation +Copyright (c) 2018-2023 LunarG, Inc. +Copyright (C) 2018-2021 Google Inc. -Copyright (C) 2005-2013, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2018-2024 The Khronos Group Inc. +Copyright (c) 2018-2024 Valve Corporation +Copyright (c) 2018-2024 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2005-2014, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2005-2014, International Business Machines -Corporation and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2018-2025 The Khronos Group Inc. +Copyright (c) 2018-2025 Valve Corporation +Copyright (c) 2018-2025 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2005-2015, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2019 Google LLC -Copyright (C) 2005-2015, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +spirv-tools -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2019 Google LLC +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights +reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2005-2016, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2005-2016, International Business Machines -Corporation and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019 Google LLC. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2006 International Business Machines Corporation * -and others. All rights reserved. +perfetto -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019 The Android Open Source Project -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2006, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (c) 2019 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2006, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019 The Khronos Group Inc. +Copyright (c) 2019 Valve Corporation +Copyright (c) 2019 LunarG Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +lunarg-vulkantools -Copyright (C) 2006-2012, International Business Machines Corporation and others. -All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2019 The Khronos Group Inc. +Copyright (c) 2019 Valve Corporation +Copyright (c) 2019 LunarG, Inc. -Copyright (C) 2006-2012, International Business Machines Corporation and others. * -All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-tools -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2019 The Khronos Group Inc. +Copyright (c) 2019 Valve Corporation +Copyright (c) 2019 LunarG, Inc. +Copyright (c) 2023 RasterGrid Kft. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2006-2014, International Business Machines Corporation -and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2006-2014, International Business Machines Corporation * -and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019 Valve Corporation +Copyright (c) 2019 LunarG Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2006-2016, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (c) 2019, 2021, 2023-2024 The Khronos Group Inc. +Copyright (c) 2019, 2021, 2023-2024 Valve Corporation +Copyright (c) 2019, 2021, 2023-2024 LunarG, Inc. + +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 + + http://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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2006-2016, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (c) 2019, Viktor Latypov +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2007, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +dart -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2019-2020 The Khronos Group Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2007-2008, International Business Machines Corporation and -others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu +lunarg-vulkantools -Copyright (C) 2007-2008, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (c) 2019-2021 Valve Corporation +Copyright (c) 2019-2021 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2007-2008, International Business Machines Corporation and * -others. All Rights Reserved. +vulkan-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019-2022 The Khronos Group Inc. +Copyright (c) 2019-2022 Valve Corporation +Copyright (c) 2019-2022 LunarG, Inc. +Copyright (c) 2023-2024 RasterGrid Kft. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2007-2008, International Business Machines Corporation and * -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019-2024 The Khronos Group Inc. +Copyright (c) 2019-2024 Valve Corporation +Copyright (c) 2019-2024 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2007-2012, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019-2024 The Khronos Group Inc. +Copyright (c) 2019-2024 Valve Corporation +Copyright (c) 2019-2024 LunarG, Inc. +Copyright (C) 2019-2024 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-utility-libraries -Copyright (C) 2007-2012, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2019-2024 The Khronos Group Inc. +Copyright (c) 2019-2024 Valve Corporation +Copyright (c) 2019-2024 LunarG, Inc. +Copyright (C) 2019-2024 Google Inc. -Copyright (C) 2007-2012, International Business Machines Corporation and -others. All Rights Reserved. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019-2024 Valve Corporation +Copyright (c) 2019-2024 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2007-2013, International Business Machines Corporation -and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2019-2025 The Khronos Group Inc. +Copyright (c) 2019-2025 Valve Corporation +Copyright (c) 2019-2025 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2007-2013, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2019-2025 Valve Corporation +Copyright (c) 2019-2025 LunarG, Inc. -Copyright (C) 2007-2013, International Business Machines Corporation and -others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +ffx_spd -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -Copyright (C) 2007-2013, International Business Machines Corporation and * -others. All Rights Reserved. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +-------------------------------------------------------------------------------- +spirv-tools -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2020 André Perez Maselco -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2007-2014, International Business Machines -Corporation and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2020 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2007-2014, International Business Machines Corporation -and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2020 Google LLC -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2007-2014, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (c) 2020 Google LLC. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2007-2014, International Business Machines Corporation and -others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2020 Stefano Milizia -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2007-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2020 Stefano Milizia +Copyright (c) 2020 Google LLC -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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. +-------------------------------------------------------------------------------- +angle -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright (c) 2020 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +angle +spirv-tools -Copyright (C) 2007-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2020 The Khronos Group Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2007-2016, International Business Machines Corporation and -others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2007-2016, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (c) 2020 The Khronos Group Inc. Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -------------------------------------------------------------------------------- -icu +vulkan-tools -Copyright (C) 2007-2016, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2020 The Khronos Group Inc. +Copyright (c) 2020 Valve Corporation +Copyright (c) 2020 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -swiftshader +spirv-tools -Copyright (C) 2008 The Android Open Source Project -All rights reserved. +Copyright (c) 2020 Vasyl Teliman -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2008, Google, International Business Machines Corporation and -others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2008, Google, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (c) 2020, Travis Fort +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2008, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008, International Business Machines -Corporation and others. All Rights Reserved. +lunarg-vulkantools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2020-2021 Valve Corporation +Copyright (c) 2020-2021 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2008, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2020-2022 Google LLC +Copyright (c) 2022 LunarG Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008-2009, International Business Machines Corporation and -others. All Rights Reserved. +etc_decoder -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2020-2022 Hans-Kristian Arntzen -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +lunarg-vulkantools -Copyright (C) 2008-2011, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2020-2022 Valve Corporation +Copyright (c) 2020-2022 LunarG, Inc. -Copyright (C) 2008-2011, International Business Machines - Corporation, Google and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2008-2011, International Business Machines -Corporation and others. All Rights Reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2020-2024 The Khronos Group Inc. +Copyright (c) 2020-2024 Valve Corporation +Copyright (c) 2020-2024 LunarG, Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2008-2011, International Business Machines -Corporation, Google and others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2020-2025 The Khronos Group Inc. +Copyright (c) 2020-2025 Valve Corporation +Copyright (c) 2020-2025 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2008-2012, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2020-2025 The Khronos Group Inc. +Copyright (c) 2020-2025 Valve Corporation +Copyright (c) 2020-2025 LunarG, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Copyright (C) 2008-2012, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +lunarg-vulkantools -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2020-2025 Valve Corporation +Copyright (c) 2020-2025 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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 + + http://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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2008-2012, International Business Machines Corporation * -and others. All Rights Reserved. +Copyright (c) 2021 Alastair F. Donaldson -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2008-2013, International Business Machines Corporation -and others. All Rights Reserved. +Copyright (c) 2021 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -Copyright (C) 2008-2013, International Business Machines Corporation and -others. All Rights Reserved. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008-2013, International Business Machines Corporation and -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +glslang +spirv-tools -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2021 Google LLC -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2008-2014, Google, International Business Machines Corporation -and others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008-2014, Google, International Business Machines Corporation -and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2021 Google LLC. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2008-2014, Google, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2021 Mostafa Ashraf -Copyright (C) 2008-2014, Google, International Business Machines Corporation and -others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +spirv-tools -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2021 Shiyu Liu -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2008-2014, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2008-2015, Google, International Business Machines Corporation -and others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008-2015, Google, International Business Machines Corporation -and others. All Rights Reserved. +glslang -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2021 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -Copyright (C) 2008-2015, International Business Machines - Corporation and others. All Rights Reserved. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008-2015, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2021 The Khronos Group Inc. +Copyright (c) 2021 Valve Corporation +Copyright (c) 2021 LunarG Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008-2015, International Business Machines Corporation -and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2021 ZHOU He -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +libwebp -Copyright (C) 2008-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (c) 2021, Google Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. -Copyright (C) 2008-2016, International Business Machines - Corporation and others. All Rights Reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2008-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2021-2024 The Khronos Group Inc. +Copyright (c) 2021-2024 Valve Corporation +Copyright (c) 2021-2024 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008-2016, International Business Machines Corporation -and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2021-2024 The Khronos Group Inc. +Copyright (c) 2021-2024 Valve Corporation +Copyright (c) 2021-2024 LunarG, Inc. +Copyright (C) 2021-2022 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2008-2016, International Business Machines Corporation and -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2021-2024 The Khronos Group Inc. +Copyright (c) 2021-2024 Valve Corporation +Copyright (c) 2021-2024 LunarG, Inc. +Copyright (C) 2021-2024 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2009 International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2021-2025 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2009, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright (c) 2021-2025 The Khronos Group Inc. +Copyright (c) 2021-2025 Valve Corporation +Copyright (c) 2021-2025 LunarG, Inc. +Copyright (C) 2021-2025 Google Inc. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. + +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 + + http://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. -------------------------------------------------------------------------------- -icu +glslang -Copyright (C) 2009-2010 IBM Corporation and Others. +Copyright (c) 2022 ARM Limited -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and/or associated documentation files (the "Materials"), +to deal in the Materials without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Materials, and to permit persons to whom the +Materials are furnished to do so, subject to the following conditions: -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Materials. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS +STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND +HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS +IN THE MATERIALS. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2009-2010, Google, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (c) 2022 Advanced Micro Devices, Inc. + +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 + + http://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. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2009-2010, Google, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (c) 2022 Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -Copyright (C) 2009-2010, International Business Machines Corporation and -others. All Rights Reserved. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2009-2010, International Business Machines Corporation and * -others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2022 Google LLC -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2009-2011, International Business Machines - Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2022 Google LLC. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2009-2011, International Business Machines - Corporation and others. All Rights Reserved. +Copyright (c) 2022 Google LLC. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2009-2011, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2022 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2009-2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2022 The Khronos Group Inc. +Copyright (c) 2022 LunarG Inc. -Copyright 2007 Google Inc. All Rights Reserved. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2009-2011, International Business Machines -Corporation and others. All Rights Reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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. +-------------------------------------------------------------------------------- +test_shaders -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2022 by Selman Ay (https://codepen.io/selmanays/pen/yLVmEqY) -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -Copyright (C) 2009-2011, International Business Machines Corporation and -others. All Rights Reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2009-2011, International Business Machines Corporation and -others. All Rights Reserved. +Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2022-2023 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -libjpeg-turbo +vulkan-validation-layers -Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). -All Rights Reserved. -Author: Siarhei Siamashka -Copyright (C) 2013-2014, Linaro Limited. All Rights Reserved. -Author: Ragesh Radhakrishnan -Copyright (C) 2014-2016, D. R. Commander. All Rights Reserved. -Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. -Copyright (C) 2016, Siarhei Siamashka. All Rights Reserved. +Copyright (c) 2022-2024 The Khronos Group Inc. +Copyright (c) 2022-2024 RasterGrid Kft. +Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +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 -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: + http://www.apache.org/licenses/LICENSE-2.0 -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. +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. -------------------------------------------------------------------------------- -libjpeg-turbo +vulkan-validation-layers -Copyright (C) 2009-2011, Nokia Corporation and/or its subsidiary(-ies). -All Rights Reserved. -Author: Siarhei Siamashka -Copyright (C) 2014, Siarhei Siamashka. All Rights Reserved. -Copyright (C) 2014, Linaro Limited. All Rights Reserved. -Copyright (C) 2015, D. R. Commander. All Rights Reserved. -Copyright (C) 2015-2016, Matthieu Darbois. All Rights Reserved. +Copyright (c) 2022-2024 The Khronos Group Inc. +Copyright (c) 2022-2024 Valve Corporation +Copyright (c) 2022-2024 LunarG, Inc. +Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +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 -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: + http://www.apache.org/licenses/LICENSE-2.0 -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. +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. -------------------------------------------------------------------------------- -icu +lunarg-vulkantools -Copyright (C) 2009-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2022-2024 Valve Corporation +Copyright (c) 2022-2024 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2009-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2023 Google Inc. -Copyright 2007 Google Inc. All Rights Reserved. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2009-2012, International Business Machines -Corporation and others. All Rights Reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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. +-------------------------------------------------------------------------------- +spirv-tools -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2023 Google LLC. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2009-2012, International Business Machines Corporation and -others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2023 LunarG Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2009-2013, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2023 The Khronos Group Inc. +Copyright (c) 2023 Valve Corporation +Copyright (c) 2023 LunarG, Inc. -Copyright (C) 2009-2013, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2023 Valve Corporation +Copyright (c) 2023 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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 + + http://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. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2009-2013, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2009-2013, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2023-2024 LunarG, Inc. +Copyright (c) 2023-2024 Valve Corporation -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2009-2013, International Business Machines Corporation and * -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2023-2024 Nintendo +Copyright (c) 2023-2024 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2009-2014 International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2023-2024 Nintendo +Copyright (c) 2023-2025 LunarG, Inc. -Copyright (C) 2009-2014 International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2023-2024 The Khronos Group Inc. +Copyright (c) 2023-2024 Valve Corporation +Copyright (c) 2023-2024 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2009-2014, International Business Machines -Corporation and others. All Rights Reserved. + http://www.apache.org/licenses/LICENSE-2.0 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright (c) 2023-2024 Valve Corporation +Copyright (c) 2023-2024 LunarG, Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2009-2014, International Business Machines Corporation and -others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2009-2014, International Business Machines Corporation and -others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2023-2025 LunarG, Inc. +Copyright (c) 2023-2025 Valve Corporation -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2009-2015, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2023-2025 Nintendo +Copyright (c) 2023-2025 LunarG, Inc. -Copyright (C) 2009-2015, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2023-2025 The Khronos Group Inc. +Copyright (c) 2023-2025 Valve Corporation +Copyright (c) 2023-2025 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2009-2015, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2009-2015, International Business Machines Corporation and -others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2024 Epic Games, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2009-2015, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright (c) 2024 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +spirv-tools -Copyright (C) 2009-2016, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2024 Google LLC -Copyright (C) 2009-2016, International Business Machines -Corporation and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2024 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2009-2016, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2009-2016, International Business Machines Corporation and -others. All Rights Reserved. +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. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2024 NVIDIA Corporation -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2009-2016, International Business Machines Corporation, -Google, and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright (c) 2024 The Khronos Group Inc. +Copyright (c) 2024 LunarG, Inc. +Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved. -Copyright (C) 2009-2016, International Business Machines Corporation, * -Google, and others. All Rights Reserved. +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 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + http://www.apache.org/licenses/LICENSE-2.0 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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. +-------------------------------------------------------------------------------- +vulkan-tools +vulkan-validation-layers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (c) 2024 The Khronos Group Inc. +Copyright (c) 2024 Valve Corporation +Copyright (c) 2024 LunarG, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +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 -Copyright (C) 2009-2017, International Business Machines Corporation, -Google, and others. All Rights Reserved. + http://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. -------------------------------------------------------------------------------- -icu +vulkan-validation-layers -Copyright (C) 2009-2017, International Business Machines Corporation, * -Google, and others. All Rights Reserved. +Copyright (c) 2024 Valve Corporation +Copyright (c) 2024 LunarG, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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. +-------------------------------------------------------------------------------- +dart -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2010 , Yahoo! Inc. +Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2024-2025 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -cpu_features +vulkan-validation-layers -Copyright (C) 2010 The Android Open Source Project -All rights reserved. +Copyright (c) 2024-2025 The Khronos Group Inc. +Copyright (c) 2024-2025 Valve Corporation +Copyright (c) 2024-2025 LunarG, Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. --------------------------------------------------------------------------------- -cpu_features + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2010 The Android Open Source Project -All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2010, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2025 The Khronos Group Inc. +Copyright (c) 2025 Valve Corporation +Copyright (c) 2025 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2010-2011, International Business Machines -Corporation and others. All Rights Reserved. +vulkan-validation-layers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright (c) 2025 Valve Corporation +Copyright (c) 2025 LunarG, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2010-2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2010-2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2010-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright (c) Marcus Geelnard +Copyright (c) Camilla Löwy -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would + be appreciated but is not required. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. -Copyright (C) 2010-2012, International Business Machines -Corporation and others. All Rights Reserved. +3. This notice may not be removed or altered from any source + distribution. -------------------------------------------------------------------------------- -icu +freetype2 -Copyright (C) 2010-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 1990, 1994, 1998 The Open Group -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2010-2012,2014, International Business Machines -Corporation and others. All Rights Reserved. +re2 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 1999-2005 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +freetype2 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2004, 2011 Francesco Zappa Nardelli -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Copyright (C) 2010-2012,2015 International Business Machines -Corporation and others. All Rights Reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +freetype2 -Copyright (C) 2010-2012,2015 International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2014 + Francesco Zappa Nardelli Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Copyright (C) 2010-2013, International Business Machines -Corporation and others. All Rights Reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +freetype2 -Copyright (C) 2010-2013, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2000 Computing Research Labs, New Mexico State University +Copyright 2001-2015 + Francesco Zappa Nardelli Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +freetype2 -Copyright (C) 2010-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2001, 2002, 2012 Francesco Zappa Nardelli Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR +THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +angle -Copyright (C) 2010-2014, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2002 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +re2 -Copyright (C) 2010-2014, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2003-2009 Google Inc. All rights reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2003-2009 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2003-2010 Google Inc. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2005 The Android Open Source Project -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2010-2014, International Business Machines Corporation and * -others. All Rights Reserved. +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2006 The Android Open Source Project -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2006 The Android Open Source Project -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu +re2 -Copyright (C) 2010-2014, International Business Machines Corporation and others. -All Rights Reserved. +Copyright 2006 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2006-2007 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +dart +double-conversion -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2006-2008 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +double-conversion -Copyright (C) 2010-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2006-2011, the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2006-2012 The Android Open Source Project +Copyright 2012 Mozilla Foundation -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2010-2015, International Business Machines Corporation and -others. All Rights Reserved. +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2007 The Android Open Source Project -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2007 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2007-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2010-2016 International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2008 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2008 The Android Open Source Project -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +re2 -Copyright (C) 2010-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2008 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +etc1 -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2009 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2010-2016, International Business Machines Corporation and - others. All Rights Reserved. +Copyright 2009 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +re2 -Copyright (C) 2010-2016, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2009 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2009-2015 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2010 Google Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +libwebp -Copyright (C) 2010-2016, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright 2010 Google Inc. All Rights Reserved. -Copyright (C) 2010-2016, International Business Machines Corporation and -others. All Rights Reserved. +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +angle -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2010 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2010 The Android Open Source Project -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +re2 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2010 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -harfbuzz +double-conversion -Copyright (C) 2011 Google, Inc. +Copyright 2010 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - This is part of HarfBuzz, a text shaping library. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright 2011 Google Inc. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Google Author(s): Behdad Esfahbod +Copyright 2011 Google Inc. +Copyright 2012 Mozilla Foundation +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -harfbuzz +libwebp -Copyright (C) 2011 Google, Inc. +Copyright 2011 Google Inc. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +angle -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright 2011 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright 2011 The Android Open Source Project -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -include +zlib -Copyright (C) 2011 Nick Bruun -Copyright (C) 2013 Vlad Lazarenko -Copyright (C) 2014 Nicolas Pauss +Copyright 2011 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +dart -Copyright (C) 2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2011 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2012 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2012 Google Inc. All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2011-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2012 Google LLC -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2012 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2012 The Android Open Source Project -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +dart +zlib -Copyright (C) 2011-2012, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2012 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2011-2012, International Business Machines Corporation and * -others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +double-conversion -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2012 the V8 project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2011-2013, Apple Inc. and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +dart -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2012, the Dart project authors. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +node_preamble -Copyright (C) 2011-2013, Apple Inc.; Unicode, Inc.; and others. All Rights Reserved. +Copyright 2012, the Dart project authors. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2013 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2013 Google Inc. All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. -------------------------------------------------------------------------------- -icu +gtest-parallel -Copyright (C) 2011-2013, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2013 Google Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2011-2014 International Business Machines - Corporation and others. All Rights Reserved. +Copyright 2013 Google Inc. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2011-2014 International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +angle -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2013 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2011-2014, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +skia -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2013 The Android Open Source Project -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2013 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +accessibility +skia -Copyright (C) 2011-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2013 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flutter +tonic -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2013 The Flutter Authors. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +accessibility +dart +flutter +spring_animation +tonic +web_test_fonts -Copyright (C) 2011-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2013 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2011-2015, International Business Machines Corporation and -others. All Rights Reserved. +flutter -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2013 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2013-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-headers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2013-2025 The Khronos Group Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +SPDX-License-Identifier: Apache-2.0 -------------------------------------------------------------------------------- -icu - -Copyright (C) 2011-2015, International Business Machines Corporation and * -others. All Rights Reserved. +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2014 Google Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2014 Google Inc. +Copyright 2017 ARM Ltd. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +libwebp -Copyright (C) 2011-2016, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright 2014 Google Inc. All Rights Reserved. -Copyright (C) 2011-2016, International Business Machines Corporation and -others. All Rights Reserved. +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2014 Google Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -harfbuzz +angle -Copyright (C) 2012 Grigori Goronzy +Copyright 2014 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. +Copyright 2014 The Android Open Source Project -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2012 International Business Machines Corporation -and others. All rights reserved. +Copyright 2014 The Bazel Authors. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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. +-------------------------------------------------------------------------------- +dart +zlib -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2014 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -vulkan-deps +accessibility +angle +dart +skia -Copyright (C) 2012 LunarG, Inc. -All rights reserved. +Copyright 2014 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flutter -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2014 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2014 The Fuchsia Authors. All rights reserved. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - Neither the name of LunarG Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +glfw -Copyright (C) 2012,2014 International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright 2014-2022 The Khronos Group Inc. -Copyright (C) 2012,2014 International Business Machines -Corporation and others. All Rights Reserved. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +swiftshader -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2014-2023 The Khronos Group Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan +vulkan-headers -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2014-2025 The Khronos Group Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +SPDX-License-Identifier: Apache-2.0 -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2012-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2015 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Use of this source code is governed by a BD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2015 Google Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2015 Google Inc. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +libwebp -Copyright (C) 2012-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2015 Google Inc. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2015 Google Inc. All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2012-2016, International Business Machines - Corporation and others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2012-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +angle -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2015 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2015 The Android Open Source Project -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -xxhash - -Copyright (C) 2012-2016, Yann Collet +accessibility -BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) +Copyright 2015 The Chromium Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -19859,19 +14808,160 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -xxhash +accessibility +brotli +icu +skia -Copyright (C) 2012-2016, Yann Collet. +Copyright 2015 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +shaderc -BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) +Copyright 2015 The Shaderc Authors. All rights reserved. + +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 + + http://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. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2015-2023 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +swiftshader +vulkan +vulkan-headers + +Copyright 2015-2023 The Khronos Group Inc. +Copyright 2015-2023 Valve Corporation +Copyright 2015-2023 LunarG, Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan +vulkan-headers + +Copyright 2015-2025 The Khronos Group Inc. + +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Google Inc. + +Use of this source code is governed by a BD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file + +-------------------------------------------------------------------------------- +libpng +skia + +Copyright 2016 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. + +Copyright 2014 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2016 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers + +Copyright 2016 Google Inc. All rights reserved. + +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 + + http://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. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 Mozilla Foundation + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle + +Copyright 2016 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2016 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility +icu +skia + +Copyright 2016 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright 2016 The Dart project authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2016 The Fuchsia Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. @@ -19888,19 +14978,180 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -xxhash +re2 -Copyright (C) 2012-2016, Yann Collet. +Copyright 2016 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +shaderc -BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) +Copyright 2016 The Shaderc Authors. All rights reserved. + +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 + + http://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. +-------------------------------------------------------------------------------- +swiftshader + +Copyright 2016 The SwiftShader Authors. All Rights Reserved. + +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 + + http://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. +-------------------------------------------------------------------------------- +spirv-cross + +Copyright 2016-2021 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia + +Copyright 2017 ARM Ltd. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 Google Inc. + +Use of this source code is governed by a BD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia + +Copyright 2017 Google Inc. + +Use of this source code is governed by a BSD-style license that can be found +in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp + +Copyright 2017 Google Inc. All Rights Reserved. + +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers +gtest-parallel + +Copyright 2017 Google Inc. All rights reserved. + +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 + + http://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. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2017 Google LLC + +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 + + http://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. +-------------------------------------------------------------------------------- +cpu_features + +Copyright 2017 Google LLC +Copyright 2020 Intel Corporation + +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 + + http://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. +-------------------------------------------------------------------------------- +angle + +Copyright 2017 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2017 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +zlib + +Copyright 2017 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility +angle +skia + +Copyright 2017 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart + +Copyright 2017 The Dart project authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk + +Copyright 2017 The Fuchsia Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -Redistributions of source code must retain the above copyright + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. @@ -19917,23 +15168,94 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -vulkan-deps +glslang + +Copyright 2017 The Glslang Authors. All rights reserved. + +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 + + http://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. +-------------------------------------------------------------------------------- +lunarg-vulkantools +vulkan-tools + +Copyright 2017 The Glslang Authors. All rights reserved. +Copyright (c) 2018-2023 Valve Corporation +Copyright (c) 2018-2023 LunarG, Inc. +Copyright (c) 2023-2023 RasterGrid Kft. + +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 + + http://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. +-------------------------------------------------------------------------------- vulkan-validation-layers -Copyright (C) 2012-2021 Yann Collet +Copyright 2017 The Glslang Authors. All rights reserved. +Copyright (c) 2018-2024 Valve Corporation +Copyright (c) 2018-2024 LunarG, Inc. +Copyright (c) 2023-2023 RasterGrid Kft. -BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) +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 + + http://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. +-------------------------------------------------------------------------------- +shaderc + +Copyright 2017 The Shaderc Authors. All rights reserved. + +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 + + http://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. +-------------------------------------------------------------------------------- +io + +Copyright 2017, the Dart project authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -19947,1729 +15269,1285 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -harfbuzz +io -Copyright (C) 2013 Google, Inc. +Copyright 2017, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -This is part of HarfBuzz, a text shaping library. +Copyright 2017-2020 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +flatbuffers -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright 2018 Dan Field -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +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 -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + http://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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +flatbuffers -Copyright (C) 2013 LunarG, Inc. +Copyright 2018 Dan Field. All rights reserved. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +skia - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2018 Google Inc. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Copyright 2018 Google Inc. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps +libwebp -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. -All rights reserved. +Copyright 2018 Google Inc. All Rights Reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2018 Google Inc. All rights reserved. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +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 - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +skia -Copyright (C) 2013 LunarG, Inc. -Copyright (C) 2017 ARM Limited. -Copyright (C) 2015-2018 Google, Inc. +Copyright 2018 Google Inc. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -All rights reserved. +Copyright 2018 Google LLC -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +glslang - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2018 Google LLC. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +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 - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2013, International Business Machines -Corporation and others. All Rights Reserved. +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2018 Google LLC. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2018 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2018 Google, LLC -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2013, International Business Machines Corporation -and others. All Rights Reserved. +cpu_features -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2018 IBM -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2013, International Business Machines Corporation and * -others. All Rights Reserved. +cpu_features -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2018 IBM. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +angle -Copyright (C) 2013, International Business Machines Corporation and others. -All Rights Reserved. +Copyright 2018 The ANGLE Project Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2013, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +angle -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2018 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2018 The Android Open Source Project -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -libjpeg-turbo +skia -Copyright (C) 2013, MIPS Technologies, Inc., California. -All Rights Reserved. -Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) - Darko Laus (darko.laus@imgtec.com) -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +Copyright 2018 The Bazel Authors. All rights reserved. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +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 -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. + http://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. -------------------------------------------------------------------------------- -icu +zlib -Copyright (C) 2013-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2018 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +accessibility +angle +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2018 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2018 The Fuchsia Authors. All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. -Copyright (C) 2013-2014, International Business Machines -Corporation and others. All Rights Reserved. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2013-2014, International Business Machines -Corporation and others. All Rights Reserved. +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2018 The Go Authors. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +re2 -Copyright (C) 2013-2014, International Business Machines Corporation and * -others. All Rights Reserved. +Copyright 2018 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +shaderc -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2018 The Shaderc Authors. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +swiftshader -Copyright (C) 2013-2014, International Business Machines Corporation and others. -All Rights Reserved. +Copyright 2018 The SwiftShader Authors. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -libjpeg-turbo +swiftshader -Copyright (C) 2013-2014, MIPS Technologies, Inc., California. -All Rights Reserved. -Authors: Teodora Novkovic (teodora.novkovic@imgtec.com) - Darko Laus (darko.laus@imgtec.com) -Copyright (C) 2015, D. R. Commander. All Rights Reserved. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +Copyright 2018 The SwiftShader Authors. All Rights Reserved. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +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 -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. +http://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. -------------------------------------------------------------------------------- -icu +libcxx -Copyright (C) 2013-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2018 Ulf Adams +Copyright (c) Microsoft Corporation. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Boost Software License - Version 1.0 - August 17th, 2003 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2013-2015, International Business Machines Corporation and others. -All Rights Reserved. +Copyright 2019 Google Inc. + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2013-2015, International Business Machines Corporation and others. -All Rights Reserved. +Copyright 2019 Google Inc. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flatbuffers -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2019 Google Inc. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +skia -Copyright (C) 2013-2016 LunarG, Inc. +Copyright 2019 Google Inc. and Adobe Inc. -All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2019 Google LLC - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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 - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. + http://www.apache.org/licenses/LICENSE-2.0 - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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. +-------------------------------------------------------------------------------- +skia -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Copyright 2019 Google LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2013-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2019 Google LLC +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2019 Google LLC. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2019 Google LLC. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2019 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- skia -Copyright (C) 2014 Google Inc. All rights reserved. +Copyright 2019 Google, LLC Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu +angle -Copyright (C) 2014 International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2019 The ANGLE Project Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. +-------------------------------------------------------------------------------- +angle +xxhash -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2019 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2019 The ANGLE Project. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2019 The ANGLE project authors. All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license +that can be found in the LICENSE file -------------------------------------------------------------------------------- -icu +angle -Copyright (C) 2014 International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2019 The Android Open Source Project -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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. +-------------------------------------------------------------------------------- +skia -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2019 The Android Open Source Project + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps +zlib -Copyright (C) 2014 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. +Copyright 2019 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +accessibility +dart +skia -All rights reserved. +Copyright 2019 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +accessibility -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2019 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2019 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +flutter - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2019 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright 2019 The Fuchsia Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -libjpeg-turbo +fuchsia_sdk -Copyright (C) 2014, D. R. Commander. All Rights Reserved. +Copyright 2019 The Fuchsia Authors. All rights reserved. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +angle -Copyright (C) 2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2019 The Fuchsia Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +spirv-tools -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2019 The Go Authors. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +re2 -Copyright (C) 2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2019 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2014, International Business Machines -Corporation and others. All Rights Reserved. +shaderc -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2019 The Shaderc Authors. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +swiftshader -Copyright (C) 2014-2015 LunarG, Inc. +Copyright 2019 The SwiftShader Authors. All Rights Reserved. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +swiftshader - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2019 The SwiftShader Authors. All Rights Reserved. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + http://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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +swiftshader -Copyright (C) 2014-2015 LunarG, Inc. -Copyright (C) 2015-2018 Google, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Copyright 2019 The SwiftShader Authors. All Rights Reserved. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +spirv-cross - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2019-2021 Hans-Kristian Arntzen - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -glslang -vulkan-deps + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2014-2015 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. -Copyright (C) 2017 ARM Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +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. +-------------------------------------------------------------------------------- +skia -All rights reserved. +Copyright 2020 Google Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flatbuffers - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2020 Google Inc. All rights reserved. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +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 - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +skia -Copyright (C) 2014-2015 LunarG, Inc. -Copyright (C) 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Copyright 2020 Google LLC -All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2020 Google LLC. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2020 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright 2020 Google, LLC -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -libjpeg-turbo - -Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. +angle -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +Copyright 2020 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Copyright 2020 The ANGLE Project. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +abseil-cpp -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. +Copyright 2020 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -libjpeg-turbo +devtools -Copyright (C) 2014-2015, D. R. Commander. All Rights Reserved. -Copyright (C) 2014, Jay Foad. All Rights Reserved. +Copyright 2020 The Chromium Authors. All rights reserved. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +accessibility +angle +perfetto +skia -Copyright (C) 2014-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2020 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +devtools -Copyright (C) 2014-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2020 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +process_runner -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2020 The Flutter Authors. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +process_runner -Copyright (C) 2014-2016 LunarG, Inc. -Copyright (C) 2015-2020 Google, Inc. -Copyright (C) 2017, 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +Copyright 2020 The Flutter Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk -All rights reserved. +Copyright 2020 The Fuchsia Authors. All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +modification, are permitted provided that the following conditions are +met: - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +angle +swiftshader -Copyright (C) 2014-2016 LunarG, Inc. -Copyright (C) 2018 Google, Inc. +Copyright 2020 The SwiftShader Authors. All Rights Reserved. -All rights reserved. +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 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + http://www.apache.org/licenses/LICENSE-2.0 - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +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. +-------------------------------------------------------------------------------- +swiftshader - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2020 The SwiftShader Authors. All Rights Reserved. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + http://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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +skia -Copyright (C) 2014-2016 LunarG, Inc. -Copyright (C) 2018-2020 Google, Inc. +Copyright 2021 Google Inc. -All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2021 Google Inc. All Rights Reserved. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. +-------------------------------------------------------------------------------- +flatbuffers - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2021 Google Inc. All rights reserved. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +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 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -icu + http://www.apache.org/licenses/LICENSE-2.0 -Copyright (C) 2014-2016, International Business Machines - Corporation and others. All Rights Reserved. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2014-2016, International Business Machines -Corporation and others. All Rights Reserved. +skia -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2021 Google LLC -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2021 Google LLC. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2014-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2021 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2014-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2021 Google, LLC -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2021 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2021 The ANGLE Project. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libjxl +skia +vulkan-deps -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2021 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +devtools -Copyright (C) 2014-2016, International Business Machines Corporation and -others. -All Rights Reserved. +Copyright 2021 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +fuchsia_sdk -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2021 The Fuchsia Authors. All rights reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2014-2016, International Business Machines Corporation and -others. All Rights Reserved. +swiftshader -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2021 The SwiftShader Authors. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu +io -Copyright (C) 2014-2016, International Business Machines Corporation and others. -All Rights Reserved. +Copyright 2021, the Dart project authors. Please see the AUTHORS file +for details. All rights reserved. Use of this source code is governed by a +BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2014-2016, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +angle -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2021-2022 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2015 LunarG, Inc. - -All rights reserved. +vulkan-headers -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2021-2025 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +yapf - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2022 Bill Wendling, All Rights Reserved. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +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 - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -rapidjson +skia -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip-> All rights reserved-> +Copyright 2022 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +libwebp -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright 2022 Google Inc. All Rights Reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Use of this source code is governed by a BSD-style license +that can be found in the COPYING file in the root of the source +tree. An additional intellectual property rights grant can be found +in the file PATENTS. All contributing project authors may +be found in the AUTHORS file in the root of the source tree. -------------------------------------------------------------------------------- -rapidjson +flatbuffers -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. +Copyright 2022 Google Inc. All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +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 -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + http://www.apache.org/licenses/LICENSE-2.0 -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +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. -------------------------------------------------------------------------------- -libjpeg-turbo +cpu_features -Copyright (C) 2015, D. R. Commander. All Rights Reserved. +Copyright 2022 Google LLC -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +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 -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: + http://www.apache.org/licenses/LICENSE-2.0 -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. +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. -------------------------------------------------------------------------------- -icu +flutter +skia -Copyright (C) 2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2022 Google LLC -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2022 Google LLC +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2022 Google LLC. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2022 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2022 Google, LLC -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +cpu_features -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2022 IBM -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. + http://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. -------------------------------------------------------------------------------- -icu +cpu_features -Copyright (C) 2015, International Business Machines Corporation -and others. All Rights Reserved. +Copyright 2022 IBM. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +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 -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + http://www.apache.org/licenses/LICENSE-2.0 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +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. +-------------------------------------------------------------------------------- +angle -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2022 The ANGLE Project Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. -------------------------------------------------------------------------------- -icu +angle -Copyright (C) 2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2022 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -icu +zlib -Copyright (C) 2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright 2022 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the Chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +zlib -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2022 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +zlib -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2022 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the chromium source repository LICENSE file. +-------------------------------------------------------------------------------- +dart +skia -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2022 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps +devtools -Copyright (C) 2015-2016 Google, Inc. +Copyright 2022 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +fuchsia_sdk -All rights reserved. +Copyright 2022 The Fuchsia Authors. All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +modification, are permitted provided that the following conditions are +met: - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -icu - -Copyright (C) 2015-2016, International Business Machines -Corporation and others. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +re2 -Copyright (C) 2015-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2022 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2015-2016, International Business Machines -Corporation and others. All Rights Reserved. +swiftshader -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright 2022 The SwiftShader Authors. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +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 -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + http://www.apache.org/licenses/LICENSE-2.0 -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +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. -------------------------------------------------------------------------------- -icu - -Copyright (C) 2015-2016, International Business Machines Corporation and others. -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +skia -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright 2023 Google Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2015-2018 Google, Inc. -Copyright (C) 2017 ARM Limited. - -All rights reserved. +skia -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2023 Google Inc. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flatbuffers - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2023 Google Inc. All rights reserved. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +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 - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -vulkan-deps +cpu_features -Copyright (C) 2015-2021 Valve Corporation -Copyright (C) 2015-2021 LunarG, Inc. +Copyright 2023 Google LLC 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 - http://www.apache.org/licenses/LICENSE-2.0 + http://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, @@ -21677,6070 +16555,4875 @@ 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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +skia -Copyright (C) 2016 Google, Inc. +Copyright 2023 Google LLC -All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2023 Google LLC - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2023 Google LLC +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright 2023 Google LLC. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2016 Google, Inc. +skia -All rights reserved. +Copyright 2023 Google, LLC -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +angle - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2023 The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright 2023 The Android Open Source Project - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Copyright 2023 The Chromium Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps +devtools -Copyright (C) 2016 Google, Inc. +Copyright 2023 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +fuchsia_sdk -All rights reserved. +Copyright 2023 The Fuchsia Authors. All rights reserved. Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +modification, are permitted provided that the following conditions are +met: - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +vulkan-tools +vulkan-utility-libraries -Copyright (C) 2016 Google, Inc. -Copyright (C) 2016 LunarG, Inc. +Copyright 2023 The Khronos Group Inc. +Copyright 2023 Valve Corporation +Copyright 2023 LunarG, Inc. -All rights reserved. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +re2 -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2023 The RE2 Authors. All Rights Reserved. +Use of this source code is governed by a BSD-style +license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +lunarg-vulkantools +vulkan-validation-layers - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2023-2024 The Khronos Group Inc. +Copyright 2023-2024 Valve Corporation +Copyright 2023-2024 LunarG, Inc. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +vulkan-utility-libraries - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright 2023-2025 The Khronos Group Inc. +Copyright 2023-2025 Valve Corporation +Copyright 2023-2025 LunarG, Inc. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +SPDX-License-Identifier: Apache-2.0 -------------------------------------------------------------------------------- -glslang -vulkan-deps +vulkan-headers -Copyright (C) 2016 Google, Inc. -Copyright (C) 2016 LunarG, Inc. +Copyright 2023-2025 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 +-------------------------------------------------------------------------------- +skia -All rights reserved. +Copyright 2024 Google Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +flatbuffers - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2024 Google Inc. All rights reserved. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +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 - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + http://www.apache.org/licenses/LICENSE-2.0 -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +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. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2016 Google, Inc. -Copyright (C) 2019, 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +skia -All rights reserved. +Copyright 2024 Google LLC -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2024 Google LLC. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Copyright 2024 Google LLC. +Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +Copyright 2024 Google, LLC + +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps +skia -Copyright (C) 2016 Google, Inc. -Copyright (C) 2022-2024 Arm Limited. +Copyright 2024 The Android Open Source Project -All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +devtools -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2024 The Flutter Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +fuchsia_sdk - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2024 The Fuchsia Authors. All rights reserved. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +skia -Copyright (C) 2016 International Business Machines -Corporation and others. All Rights Reserved. +Copyright 2025 Google Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dawn +skia -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright 2025 Google LLC -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +skia -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Copyright 2025 Google LLC +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -vulkan-deps +skia -Copyright (C) 2016 LunarG, Inc. +Copyright 2025 Google LLC. -All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +dart -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright 2025 The Dart Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +fuchsia_sdk - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Copyright 2025 The Fuchsia Authors. All rights reserved. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +angle -Copyright (C) 2016 LunarG, Inc. +Copyright The ANGLE Project Authors. All rights reserved. + Use of this source code is governed by a BSD-style license that can be + found in the LICENSE file. +-------------------------------------------------------------------------------- +angle -All rights reserved. +Copyright The ANGLE Project Authors. All rights reserved. +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file. +-------------------------------------------------------------------------------- +harfbuzz -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2004,2007,2009 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. + This is part of HarfBuzz, a text shaping library. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Owen Taylor, Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2016 LunarG, Inc. +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2004,2007,2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Owen Taylor, Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (C) 2016 and later: Unicode, Inc. and others. +Copyright © 1998-2004 David Turner and Werner Lemberg +Copyright © 2006 Behdad Esfahbod +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Copyright (C) 2016 and later: Unicode, Inc. and others. -License & terms of use: http://www.unicode.org/copyright.html -Copyright (C) 2010-2014, International Business Machines Corporation and others. -All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (C) 2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2007 Chris Wilson +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Contributor(s): +Chris Wilson +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Copyright (C) 2016, International Business Machines -Corporation and others. All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (C) 2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2007,2008,2009 Red Hat, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2016-2017 Google, Inc. +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2011,2012 Google, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2016-2017 Google, Inc. -Copyright (C) 2020 The Khronos Group Inc. +harfbuzz -All rights reserved. +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + This is part of HarfBuzz, a text shaping library. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2016-2017 LunarG, Inc. +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod, Garret Rieger -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2016-2018 Google, Inc. -Copyright (C) 2016 LunarG, Inc. +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2016-2018 Google, Inc. -Copyright (C) 2016 LunarG, Inc. -Copyright (C) 2023 Mobica Limited. +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012 Google, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -zlib +harfbuzz -Copyright (C) 2017 ARM, Inc. -Copyright 2017 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the Chromium source repository LICENSE file. --------------------------------------------------------------------------------- -shaderc +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. -Copyright (C) 2017 Google Inc. + This is part of HarfBuzz, a text shaping library. -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 +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - http://www.apache.org/licenses/LICENSE-2.0 +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2017 LunarG, Inc. -Copyright (C) 2018 Google, Inc. +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2012,2013 Google, Inc. +Copyright © 2019, Facebook Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod +Facebook Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2017 LunarG, Inc. -Copyright (C) 2018 Google, Inc. +Copyright © 2007,2008,2009 Red Hat, Inc. +Copyright © 2018,2019,2020 Ebrahim Byagowi +Copyright © 2018 Khaled Hosny -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of Google, Inc., nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (C) 2017-2018 Google, Inc. -Copyright (C) 2017 LunarG, Inc. - -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +harfbuzz - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2010,2012 Google, Inc. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + This is part of HarfBuzz, a text shaping library. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -shaderc +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (C) 2017-2022 Google Inc. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -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 +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - http://www.apache.org/licenses/LICENSE-2.0 +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2018 Google, Inc. +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2010,2012,2013 Google, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2018 The Khronos Group Inc. -All rights reserved. +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012 Google, Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + This is part of HarfBuzz, a text shaping library. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -vulkan-deps +harfbuzz -Copyright (C) 2019 Google Inc. +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012,2018 Google, Inc. -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 + This is part of HarfBuzz, a text shaping library. - http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -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. -------------------------------------------------------------------------------- -vulkan-deps +harfbuzz -Copyright (C) 2019 Google, Inc. +Copyright © 2007,2008,2009,2010 Red Hat, Inc. +Copyright © 2012,2018 Google, Inc. +Copyright © 2019 Facebook, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod +Facebook Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -shaderc +swiftshader -Copyright (C) 2020 Google Inc. +Copyright © 2008 Kristian Høgsberg -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 +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: - http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. -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. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +harfbuzz -Copyright (C) 2020 Google, Inc. +Copyright © 2009 Red Hat, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang +harfbuzz -Copyright (C) 2020 The Khronos Group Inc. +Copyright © 2009 Red Hat, Inc. +Copyright © 2009 Keith Stribley +Copyright © 2011 Google, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of The Khronos Group Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -shaderc - -Copyright (C) 2020-2022 Google LLC +harfbuzz -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 +Copyright © 2009 Red Hat, Inc. +Copyright © 2009 Keith Stribley +Copyright © 2015 Google, Inc. - http://www.apache.org/licenses/LICENSE-2.0 + This is part of HarfBuzz, a text shaping library. -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. --------------------------------------------------------------------------------- -dart -perfetto +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (C) 2022 The Android Open Source Project +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -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 +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - http://www.apache.org/licenses/LICENSE-2.0 +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -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. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2023 LunarG, Inc. +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Codethink Limited +Copyright © 2010,2011,2012 Google, Inc. -All rights reserved. + This is part of HarfBuzz, a text shaping library. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Codethink Author(s): Ryan Lortie +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (C) 2024 The Khronos Group Inc. -All rights reserved. +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Codethink Limited +Copyright © 2011,2012 Google, Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: + This is part of HarfBuzz, a text shaping library. - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Codethink Author(s): Ryan Lortie +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (C) {1999-2001}, International Business Machines Corporation and others. All Rights Reserved. +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -libjpeg-turbo +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (C)2009-2014 D. R. Commander. All Rights Reserved. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +-------------------------------------------------------------------------------- +harfbuzz -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. +Copyright © 2009 Red Hat, Inc. +Copyright © 2011 Google, Inc. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -libjpeg-turbo + This is part of HarfBuzz, a text shaping library. -Copyright (C)2009-2015 D. R. Commander. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod, Roozbeh Pournader -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -libjpeg-turbo +harfbuzz -Copyright (C)2009-2016 D. R. Commander. All Rights Reserved. +Copyright © 2009 Red Hat, Inc. +Copyright © 2012 Google, Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: + This is part of HarfBuzz, a text shaping library. -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -libjpeg-turbo +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (C)2011 D. R. Commander. All Rights Reserved. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -libjpeg-turbo - -Copyright (C)2011, 2015 D. R. Commander. All Rights Reserved. +harfbuzz -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +Copyright © 2009 Red Hat, Inc. +Copyright © 2015 Google, Inc. -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. + This is part of HarfBuzz, a text shaping library. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -libjpeg-turbo +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (C)2011-2016 D. R. Commander. All Rights Reserved. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -- Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -- Neither the name of the libjpeg-turbo Project nor the names of its - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -dart +harfbuzz -Copyright (c) %d, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -icu +Copyright © 2009 Red Hat, Inc. +Copyright © 2018 Ebrahim Byagowi -Copyright (c) 1996-2012, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 1996-2012, International Business Machines Corporation and -others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Red Hat Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1996-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2009 Red Hat, Inc. +Copyright © 2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Copyright (c) 1996-2015, International Business Machines Corporation and -others. All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1996-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Copyright (c) 1996-2015, International Business Machines Corporation and others. -All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1996-2015, International Business Machines Corporation and others. -All Rights Reserved. +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2012,2013 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1996-2016, International Business Machines Corporation - and others. All Rights Reserved. +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2010,2011,2013 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1996-2016, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2009,2010 Red Hat, Inc. +Copyright © 2011,2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1997-2011, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2010 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Copyright (c) 1997-2012, International Business Machines -Corporation and others. All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1997-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2010 Red Hat, Inc. +Copyright © 2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Red Hat Author(s): Behdad Esfahbod +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1997-2012, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2010,2011 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1997-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2010,2011,2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 1997-2016, International Business Machines Corporation -and others. All Rights Reserved. +Google Author(s): Behdad Esfahbod -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +-------------------------------------------------------------------------------- +harfbuzz -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright © 2010,2011,2013 Google, Inc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + This is part of HarfBuzz, a text shaping library. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -expat +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper -Copyright (c) 2001-2022 Expat maintainers +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +Google Author(s): Behdad Esfahbod -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +harfbuzz -Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper -Copyright (c) 2001-2025 Expat maintainers +Copyright © 2010,2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + This is part of HarfBuzz, a text shaping library. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -icu +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 1999-2002, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 1999-2003, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Google Author(s): Behdad Esfahbod -Copyright (c) 1999-2007, International Business Machines Corporation and -others. All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1999-2010, International Business Machines Corporation and -others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright © 2011 Google, Inc. -Copyright (c) 1999-2012, International Business Machines Corporation and -others. All Rights Reserved. + This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 1999-2016, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2011 Martin Hosken +Copyright © 2011 SIL International -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2000-2004 IBM, Inc. and Others. +Copyright © 2011 Martin Hosken +Copyright © 2011 SIL International +Copyright © 2011,2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2000-2005, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2011,2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2000-2007, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2011,2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod, Roderick Sheeter -Copyright (c) 2001-2005, International Business Machines - Corporation and others. All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2001-2005, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2011,2012 Google, Inc. +Copyright © 2018 Ebrahim Byagowi -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2001-2007, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2011,2012,2013 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2001-2010 International Business Machines -Corporation and others. All Rights Reserved. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Google Author(s): Behdad Esfahbod -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright © 2011,2012,2013 Google, Inc. +Copyright © 2021 Khaled Hosny -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2001-2011, International Business Machines -Corporation and others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2001-2012, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2011,2012,2014 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2001-2012, International Business Machines Corporation -and others. All Rights Reserved. +Copyright © 2011,2014 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod, Roozbeh Pournader -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2001-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2012 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2001-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2012 Mozilla Foundation. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2001-2016, International Business Machines -Corporation and others. All Rights Reserved. +Mozilla Author(s): Jonathan Kew -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +-------------------------------------------------------------------------------- +swiftshader -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright © 2012 Intel Corporation -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2001-2016, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2012,2013 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -glslang -vulkan-deps +harfbuzz -Copyright (c) 2002, NVIDIA Corporation. +Copyright © 2012,2013 Mozilla Foundation. +Copyright © 2012,2013 Google, Inc. -NVIDIA Corporation("NVIDIA") supplies this software to you in -consideration of your agreement to the following terms, and your use, -installation, modification or redistribution of this NVIDIA software -constitutes acceptance of these terms. If you do not agree with these -terms, please do not use, install, modify or redistribute this NVIDIA -software. + This is part of HarfBuzz, a text shaping library. -In consideration of your agreement to abide by the following terms, and -subject to these terms, NVIDIA grants you a personal, non-exclusive -license, under NVIDIA's copyrights in this original NVIDIA software (the -"NVIDIA Software"), to use, reproduce, modify and redistribute the -NVIDIA Software, with or without modifications, in source and/or binary -forms; provided that if you redistribute the NVIDIA Software, you must -retain the copyright notice of NVIDIA, this notice and the following -text and disclaimers in all such redistributions of the NVIDIA Software. -Neither the name, trademarks, service marks nor logos of NVIDIA -Corporation may be used to endorse or promote products derived from the -NVIDIA Software without specific prior written permission from NVIDIA. -Except as expressly stated in this notice, no other rights or licenses -express or implied, are granted by NVIDIA herein, including but not -limited to any patent rights that may be infringed by your derivative -works or by other works in which the NVIDIA Software may be -incorporated. No hardware is licensed hereunder. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, -INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR -ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER -PRODUCTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, -INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY -OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE -NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, -TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF -NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Mozilla Author(s): Jonathan Kew +Google Author(s): Behdad Esfahbod -Copyright (c) 2002-2004, International Business Machines -Corporation and others. All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2004, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2012,2017 Google, Inc. +Copyright © 2021 Behdad Esfahbod -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2005, International Business Machines Corporation -and others. All Rights Reserved. +Copyright © 2012,2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2005, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2013 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2002-2006 Marcus Geelnard +Copyright © 2013 Red Hat, Inc. -Copyright (c) 2006-2019 Camilla Löwy + This is part of HarfBuzz, a text shaping library. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +Red Hat Author(s): Behdad Esfahbod -3. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2016 Camilla Löwy +Copyright © 2014 Google, Inc. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -3. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2017 Camilla Löwy +Copyright © 2014 Google, Inc. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod, Roozbeh Pournader -3. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2018 Camilla Löwy +Copyright © 2015 Google, Inc. +Copyright © 2019 Adobe Inc. +Copyright © 2019 Ebrahim Byagowi -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod, Garret Rieger, Roderick Sheeter +Adobe Author(s): Michiharu Ariza -3. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2019 Camilla Löwy +Copyright © 2015 Mozilla Foundation. +Copyright © 2015 Google, Inc. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Mozilla Author(s): Jonathan Kew +Google Author(s): Behdad Esfahbod -3. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2002-2006 Marcus Geelnard -Copyright (c) 2006-2019 Camilla Löwy -Copyright (c) 2012 Torsten Walluhn +Copyright © 2015-2019 Ebrahim Byagowi -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -3. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2006, International Business Machines -Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright © 2016 Elie Roux +Copyright © 2018 Google, Inc. +Copyright © 2018-2019 Ebrahim Byagowi -Copyright (c) 2002-2006, International Business Machines -Corporation and others. All Rights Reserved. + This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2006, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2016 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2007, International Business Machines Corporation -and others. All Rights Reserved. +Copyright © 2016 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Seigo Nonaka, Calder Kitagawa -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2010, International Business Machines Corporation * -and others. All Rights Reserved. +Copyright © 2016 Google, Inc. +Copyright © 2018 Ebrahim Byagowi -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Sascha Brawer -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2011, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2016 Google, Inc. +Copyright © 2018 Ebrahim Byagowi -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + This is part of HarfBuzz, a text shaping library. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2002-2011, International Business Machines Corporation -and others. All Rights Reserved. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Google Author(s): Sascha Brawer, Behdad Esfahbod -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright © 2016 Google, Inc. +Copyright © 2018 Khaled Hosny +Copyright © 2018 Ebrahim Byagowi -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2002-2012, International Business Machines Corporation -and others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Google Author(s): Sascha Brawer, Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2012, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2016 Igalia S.L. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2002-2014, International Business Machines -Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Igalia Author(s): Frédéric Wang -Copyright (c) 2002-2014, International Business Machines -Corporation and others. All Rights Reserved. +-------------------------------------------------------------------------------- +harfbuzz -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright © 2017 Google, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + This is part of HarfBuzz, a text shaping library. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2002-2014, International Business Machines Corporation -and others. All Rights Reserved. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Google Author(s): Behdad Esfahbod -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright © 2017 Google, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2002-2014, International Business Machines Corporation and -others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Red Hat Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2015, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2017 Google, Inc. +Copyright © 2018 Ebrahim Byagowi -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2016 International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2017 Google, Inc. +Copyright © 2019 Facebook, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2002-2016, International Business Machines - Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Google Author(s): Behdad Esfahbod +Facebook Author(s): Behdad Esfahbod -Copyright (c) 2002-2016, International Business Machines -Corporation and others. All Rights Reserved. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2002-2016, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2017,2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2003, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2018 Ebrahim Byagowi -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2003-2004, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2018 Ebrahim Byagowi +Copyright © 2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -dart +harfbuzz -Copyright (c) 2003-2005 Tom Wu -Copyright (c) 2012 Adam Singer (adam@solvr.io) -All Rights Reserved. +Copyright © 2018 Ebrahim Byagowi +Copyright © 2020 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: + This is part of HarfBuzz, a text shaping library. -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, -INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF -THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -In addition, the following condition applies: -All redistributions must retain an intact copy of this copyright notice -and disclaimer. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2003-2008, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2018 Ebrahim Byagowi +Copyright © 2020 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2003-2010 International Business Machines -Corporation and others. All Rights Reserved. +Google Author(s): Calder Kitagawa -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +-------------------------------------------------------------------------------- +harfbuzz -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Copyright © 2018 Ebrahim Byagowi. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. + This is part of HarfBuzz, a text shaping library. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (c) 2003-2011, International Business Machines -Corporation and others. All Rights Reserved. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright © 2018 Google, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2003-2013, International Business Machines -Corporation and others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Google Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu - -Copyright (c) 2003-2014, International Business Machines -Corporation and others. All Rights Reserved. +harfbuzz -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright © 2018 Google, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + This is part of HarfBuzz, a text shaping library. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2004, International Business Machines -Corporation and others. All Rights Reserved. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Google Author(s): Garret Rieger -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright © 2018 Google, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2004-2006, International Business Machines -Corporation and others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Google Author(s): Garret Rieger, Rod Sheeter, Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2004-2010, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Garret Rieger, Roderick Sheeter -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2004-2014 International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2018 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Rod Sheeter -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2004-2014, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2018 Google, Inc. +Copyright © 2019 Facebook, Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Behdad Esfahbod +Facebook Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2004-2015, International Business Machines -Corporation and others. All Rights Reserved. +Copyright © 2018 Google, Inc. +Copyright © 2023 Behdad Esfahbod -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + This is part of HarfBuzz, a text shaping library. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2004-2015, International Business Machines Corporation -and others. All Rights Reserved. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Google Author(s): Garret Rieger, Roderick Sheeter -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright © 2018 Adobe Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2004-2016, International Business Machines -Corporation and others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Adobe Author(s): Michiharu Ariza -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2006-2015 International Business Machines Corporation, - # Apple Inc., and others. All Rights Reserved. +Copyright © 2018 Adobe Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF1_INTERP_CS_HH +define HB_CFF1_INTERP_CS_HH -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2006-2017 Camilla Löwy +Copyright © 2018 Adobe Inc. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -3. This notice may not be removed or altered from any source - distribution. +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF2_INTERP_CS_HH +define HB_CFF2_INTERP_CS_HH -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2006-2018 Camilla Löwy +Copyright © 2018 Adobe Inc. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -3. This notice may not be removed or altered from any source - distribution. +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF_INTERP_COMMON_HH +define HB_CFF_INTERP_COMMON_HH -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2007-2012, International Business Machines -Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright © 2018 Adobe Inc. -Copyright (c) 2007-2012, International Business Machines -Corporation and others. All Rights Reserved. + This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF_INTERP_CS_COMMON_HH +define HB_CFF_INTERP_CS_COMMON_HH -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2007-2012, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2018 Adobe Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_CFF_INTERP_DICT_COMMON_HH +define HB_CFF_INTERP_DICT_COMMON_HH -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2007-2013, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2018 Adobe Inc. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza +ifndef HB_OT_CFF_COMMON_HH +define HB_OT_CFF_COMMON_HH -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2007-2014, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2018-2019 Ebrahim Byagowi -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2007-2016, International Business Machines Corporation and -others. All Rights Reserved. +Copyright © 2019 Adobe Inc. +Copyright © 2019 Ebrahim Byagowi -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. + This is part of HarfBuzz, a text shaping library. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -llvm_libc +harfbuzz -Copyright (c) 2007-2019 University of Illinois at Urbana-Champaign. -All rights reserved. +Copyright © 2019 Adobe, Inc. -Developed by: + This is part of HarfBuzz, a text shaping library. - LLVM Team +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - University of Illinois at Urbana-Champaign +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - http://llvm.org +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: +Adobe Author(s): Michiharu Ariza - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. +-------------------------------------------------------------------------------- +harfbuzz - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. +Copyright © 2019 Ebrahim Byagowi - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. --------------------------------------------------------------------------------- -libXNVCtrl + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2008 NVIDIA, Corporation +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -include +harfbuzz -Copyright (c) 2008-2009 Bjoern Hoehrmann +Copyright © 2019 Ebrahim Byagowi -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + This is part of HarfBuzz, a text shaping library. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -icu +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2008-2010, International Business Machines Corporation and -others. All Rights Reserved. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright © 2019 Facebook, Inc. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2008-2011, International Business Machines Corporation and -others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Facebook Author(s): Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2008-2015, International Business Machines -Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu +Copyright © 2019 Adobe Inc. -Copyright (c) 2008-2015, International Business Machines -Corporation and others. All Rights Reserved. + This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Adobe Author(s): Michiharu Ariza -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -angle +harfbuzz -Copyright (c) 2008-2017 The Khronos Group Inc. +Copyright © 2019-2020 Ebrahim Byagowi -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 + This is part of HarfBuzz, a text shaping library. - http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -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. --------------------------------------------------------------------------------- -angle -glfw +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2008-2018 The Khronos Group Inc. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: +-------------------------------------------------------------------------------- +harfbuzz -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. +Copyright © 2020 Ebrahim Byagowi -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. --------------------------------------------------------------------------------- -angle + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2008-2020 The Khronos Group Inc. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -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 +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - http://www.apache.org/licenses/LICENSE-2.0 +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -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. -------------------------------------------------------------------------------- -angle - -Copyright (c) 2008-2021 The Khronos Group Inc. +harfbuzz -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 +Copyright © 2020 Google, Inc. - http://www.apache.org/licenses/LICENSE-2.0 + This is part of HarfBuzz, a text shaping library. -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. --------------------------------------------------------------------------------- -include +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (c) 2009 Florian Loitsch. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Google Author(s): Garret Rieger -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -include - -Copyright (c) 2009 Florian Loitsch. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +harfbuzz -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Copyright © 2020 Google, Inc. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + This is part of HarfBuzz, a text shaping library. --------------------------------------------------------------------------------- -libtess2 +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (c) 2009 Mikko Mononen memon@inside.org +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. --------------------------------------------------------------------------------- -accessibility +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2009 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. +include "hb-ot-var-common.hh" +include "hb-ot-var-hvar-table.hh" +HVAR table data from SourceSerif4Variable-Roman_subset.otf -------------------------------------------------------------------------------- -brotli - -Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. +harfbuzz -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright © 2020 Google, Inc. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. + This is part of HarfBuzz, a text shaping library. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -icu +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (c) 2009, International Business Machines Corporation and -others. All Rights Reserved. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +include "hb-ot-var-cvar-table.hh" +-------------------------------------------------------------------------------- +harfbuzz -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright © 2021 Behdad Esfahbod -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -libcxx -libcxxabi + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2009-2016 Camilla Löwy +Copyright © 2021 Behdad Esfahbod -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. -3. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2009-2019 Camilla Löwy +Copyright © 2021 Behdad Esfahbod. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -3. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2009-2019 Camilla Löwy -Copyright (c) 2012 Torsten Walluhn +Copyright © 2021 Google, Inc. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -libcxx -libcxxabi -Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT +-------------------------------------------------------------------------------- +harfbuzz -All rights reserved. +Copyright © 2022 Behdad Esfahbod -Developed by: + This is part of HarfBuzz, a text shaping library. - LLVM Team +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - University of Illinois at Urbana-Champaign +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - http://llvm.org +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal with -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: +-------------------------------------------------------------------------------- +harfbuzz - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimers. +Copyright © 2022 Behdad Esfahbod - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimers in the - documentation and/or other materials provided with the distribution. + This is part of HarfBuzz, a text shaping library. - * Neither the names of the LLVM Team, University of Illinois at - Urbana-Champaign, nor the names of its contributors may be used to - endorse or promote products derived from this Software without specific - prior written permission. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. --------------------------------------------------------------------------------- -glfw +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2009-2021 Camilla Löwy +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +-------------------------------------------------------------------------------- +harfbuzz -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +Copyright © 2022 Behdad Esfahbod -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. + This is part of HarfBuzz, a text shaping library. -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -libXNVCtrl +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (c) 2010 NVIDIA, Corporation +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. +Google Author(s): Behdad Esfahbod -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2010 Olivier Delannoy +Copyright © 2022 Google, Inc. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -accessibility -Copyright (c) 2010 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. -------------------------------------------------------------------------------- -libwebp +harfbuzz -Copyright (c) 2010, Google Inc. All rights reserved. +Copyright © 2022 Google, Inc. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + This is part of HarfBuzz, a text shaping library. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -dart +Google Author(s): Garret Rieger -Copyright (c) 2010, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -include +harfbuzz -Copyright (c) 2011 - Nick Bruun. +Copyright © 2022 Red Hat, Inc -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +Google Author(s): Matthias Clasen -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. If you meet (any of) the author(s), you're encouraged to buy them a beer, - a drink or whatever is suited to the situation, given that you like the - software. -4. This notice may not be removed or altered from any source - distribution. -------------------------------------------------------------------------------- -skia +harfbuzz -Copyright (c) 2011 Google Inc. All rights reserved. +Copyright © 2022 Red Hat, Inc +Copyright © 2021, 2022 Black Foundry -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + This is part of HarfBuzz, a text shaping library. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. - * Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -angle -dart +Google Author(s): Matthias Clasen -Copyright (c) 2011 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. -------------------------------------------------------------------------------- -dart +harfbuzz -Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -icu +Copyright © 2022 Red Hat, Inc. -Copyright (c) 2011-2012 International Business Machines Corporation -and others. All Rights Reserved. + This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -glfw +Red Hat Author(s): Matthias Clasen -Copyright (c) 2012 Marcus Geelnard +-------------------------------------------------------------------------------- +harfbuzz -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +Copyright © 2022 Behdad Esfahbod -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: + This is part of HarfBuzz, a text shaping library. -1. The origin of this software must not be misrepresented; you must not -claim that you wrote the original software. If you use this software -in a product, an acknowledgment in the product documentation would be -appreciated but is not required. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -2. Altered source versions must be plainly marked as such, and must not be -misrepresented as being the original software. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -3. This notice may not be removed or altered from any source -distribution. --------------------------------------------------------------------------------- -accessibility -dart -flutter -icu -skia +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2012 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. -------------------------------------------------------------------------------- -dart +harfbuzz -Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility -angle -dart -skia +Copyright © 2022 Behdad Esfahbod -Copyright (c) 2013 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -glslang -vulkan-deps + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2013 The Khronos Group Inc. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +ifndef HB_GEOMETRY_HH +define HB_GEOMETRY_HH -------------------------------------------------------------------------------- -dart -pkg +harfbuzz -Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -khronos +Copyright © 2022 Matthias Clasen -Copyright (c) 2013-2014 The Khronos Group Inc. + This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. --------------------------------------------------------------------------------- -angle +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2013-2017 The Khronos Group Inc. +-------------------------------------------------------------------------------- +harfbuzz -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: +Copyright © 2022 Red Hat, Inc. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. + This is part of HarfBuzz, a text shaping library. -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. --------------------------------------------------------------------------------- -angle +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (c) 2013-2018 The Khronos Group Inc. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. +Red Hat Author(s): Matthias Clasen -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -------------------------------------------------------------------------------- -include +harfbuzz -Copyright (c) 2013-2019 Niels Lohmann . +Copyright © 2023 Behdad Esfahbod -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + This is part of HarfBuzz, a text shaping library. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -------------------------------------------------------------------------------- -json +harfbuzz -Copyright (c) 2013-2022 Niels Lohmann +Copyright © 2023 Behdad Esfahbod +Copyright © 1999 David Turner +Copyright © 2005 Werner Lemberg +Copyright © 2013-2015 Alexei Podtelezhnikov -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + This is part of HarfBuzz, a text shaping library. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -skia +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2014 Google Inc. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. -------------------------------------------------------------------------------- -glfw +harfbuzz -Copyright (c) 2014 Jonas Ådahl +Copyright © 2023 Google, Inc. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + This is part of HarfBuzz, a text shaping library. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -accessibility -skia -Copyright (c) 2014 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. -------------------------------------------------------------------------------- -dart +harfbuzz -Copyright (c) 2014 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt --------------------------------------------------------------------------------- -icu +Copyright © 2023 Google, Inc. -Copyright (c) 2014, International Business Machines -Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -icu + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2014, International Business Machines -Corporation and others. All Rights Reserved. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Google Author(s): Qunxin Liu -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. -------------------------------------------------------------------------------- -yaml +harfbuzz -Copyright (c) 2014, the Dart project authors. -Copyright (c) 2006, Kirill Simonov. +Copyright © 2024 David Corbett -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: + This is part of HarfBuzz, a text shaping library. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -dart -pkg +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. -------------------------------------------------------------------------------- -glslang -skia -vulkan-deps +harfbuzz -Copyright (c) 2014-2016 The Khronos Group Inc. +Copyright © 2024 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: + This is part of HarfBuzz, a text shaping library. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. --------------------------------------------------------------------------------- -icu +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Copyright (c) 2014-2016, International Business Machines -Corporation and others. All Rights Reserved. -------------------------------------------------------------------------------- -icu - -Copyright (c) 2014-2016, International Business Machines -Corporation and others. All Rights Reserved. +harfbuzz -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright © 2024 Google, Inc. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. + This is part of HarfBuzz, a text shaping library. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -glslang -vulkan-deps +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2014-2017 The Khronos Group Inc. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: +Author(s): Behdad Esfahbod -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. +-------------------------------------------------------------------------------- +harfbuzz -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +Copyright © 2024 Google, Inc. -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. --------------------------------------------------------------------------------- -spirv-cross -vulkan-deps + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2014-2020 The Khronos Group Inc. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +Google Author(s): Behdad Esfahbod -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -------------------------------------------------------------------------------- -vulkan-deps +harfbuzz -Copyright (c) 2014-2020 The Khronos Group Inc. +Copyright © 2025 Google, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: + This is part of HarfBuzz, a text shaping library. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. --------------------------------------------------------------------------------- -glslang -vulkan-deps +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2014-2020 The Khronos Group Inc. -Copyright (C) 2022-2024 Arm Limited. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: +Author(s): Behdad Esfahbod -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. +-------------------------------------------------------------------------------- +harfbuzz -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +Copyright © 2025 Behdad Esfahbod -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. --------------------------------------------------------------------------------- -glslang + This is part of HarfBuzz, a text shaping library. -Copyright (c) 2014-2024 The Khronos Group Inc. +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ +Author(s): Behdad Esfahbod -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. -------------------------------------------------------------------------------- -vulkan-deps +glslang -Copyright (c) 2014-2024 The Khronos Group Inc. +Copyright(C) 2021 Advanced Micro Devices, Inc. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: +All rights reserved. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. --------------------------------------------------------------------------------- -dart -skia + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. -Copyright (c) 2015 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. + Neither the name of 3Dlabs Inc. Ltd. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -icu +harfbuzz -Copyright (c) 2015, International Business Machines Corporation and -others. All Rights Reserved. +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +Copyright © 2010-2022 Google, Inc. +Copyright © 2015-2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012,2015 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2011 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod +Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. +Copyright © 1998-2005 David Turner and Werner Lemberg +Copyright © 2016 Igalia S.L. +Copyright © 2022 Matthias Clasen +Copyright © 2018,2021 Khaled Hosny +Copyright © 2018,2019,2020 Adobe, Inc +Copyright © 2013-2015 Alexei Podtelezhnikov -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +For full copyright notices consult the individual files in the package. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -dart -pkg +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. -Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. -Copyright (c) 2015-2016 Google Inc. +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +fallback_root_certificates -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 +Mozilla Public License Version 2.0 +================================== - http://www.apache.org/licenses/LICENSE-2.0 +1. Definitions +-------------- -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. --------------------------------------------------------------------------------- -vulkan-deps +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. -Copyright (c) 2015-2016 The Khronos Group Inc. +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. -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 +1.3. "Contribution" + means Covered Software of a particular Contributor. - http://www.apache.org/licenses/LICENSE-2.0 +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. -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. --------------------------------------------------------------------------------- -vulkan-deps +1.5. "Incompatible With Secondary Licenses" + means -Copyright (c) 2015-2016 The Khronos Group Inc. + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. +1.6. "Executable Form" + means any form of the work other than Source Code Form. -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS -KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS -SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT - https://www.khronos.org/registry/ +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. --------------------------------------------------------------------------------- -swiftshader -vulkan-deps +1.8. "License" + means this document. -Copyright (c) 2015-2016 The Khronos Group Inc. -Copyright (c) 2015-2016 Valve Corporation -Copyright (c) 2015-2016 LunarG, Inc. +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. -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 +1.10. "Modifications" + means any of the following: - http://www.apache.org/licenses/LICENSE-2.0 + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or -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. --------------------------------------------------------------------------------- -vulkan-deps + (b) any new file in Source Code Form that contains any Covered + Software. -Copyright (c) 2015-2016 The Khronos Group Inc. -Copyright (c) 2015-2023 Valve Corporation -Copyright (c) 2015-2023 LunarG, Inc. +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. -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 +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. - http://www.apache.org/licenses/LICENSE-2.0 +1.13. "Source Code Form" + means the form of the work preferred for making modifications. -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. --------------------------------------------------------------------------------- -vulkan-deps +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. -Copyright (c) 2015-2016 The Khronos Group Inc. -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights -reserved. +2. License Grants and Conditions +-------------------------------- -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 +2.1. Grants - http://www.apache.org/licenses/LICENSE-2.0 +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: -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. --------------------------------------------------------------------------------- -vulkan-deps +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and -Copyright (c) 2015-2016, 2020-2025 The Khronos Group Inc. -Copyright (c) 2015-2016, 2020-2025 Valve Corporation -Copyright (c) 2015-2016, 2020-2025 LunarG, Inc. +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. -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 +2.2. Effective Date - http://www.apache.org/licenses/LICENSE-2.0 +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. -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. --------------------------------------------------------------------------------- -vulkan-deps +2.3. Limitations on Grant Scope -Copyright (c) 2015-2016, 2021 Valve Corporation -Copyright (c) 2015-2016, 2021 LunarG, Inc. -Copyright (c) 2015-2016, 2021 Google Inc. +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: -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 +(a) for any code that a Contributor has removed from Covered Software; + or - http://www.apache.org/licenses/LICENSE-2.0 +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or -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. --------------------------------------------------------------------------------- -vulkan-deps +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. -Copyright (c) 2015-2017, 2019-2024 The Khronos Group Inc. -Copyright (c) 2015-2017, 2019-2024 Valve Corporation -Copyright (c) 2015-2017, 2019-2024 LunarG, Inc. +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). -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 +2.4. Subsequent Licenses - http://www.apache.org/licenses/LICENSE-2.0 +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). -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. --------------------------------------------------------------------------------- -vulkan-deps +2.5. Representation -Copyright (c) 2015-2017, 2019-2025 The Khronos Group Inc. -Copyright (c) 2015-2017, 2019-2025 Valve Corporation -Copyright (c) 2015-2017, 2019-2025 LunarG, Inc. +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. -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 +2.6. Fair Use - http://www.apache.org/licenses/LICENSE-2.0 +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. -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. --------------------------------------------------------------------------------- -vulkan-deps +2.7. Conditions -Copyright (c) 2015-2017, 2019-2025 The Khronos Group Inc. -Copyright (c) 2015-2017, 2019-2025 Valve Corporation -Copyright (c) 2015-2017, 2019-2025 LunarG, Inc. -Modifications Copyright (C) 2022 RasterGrid Kft. +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. -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 +3. Responsibilities +------------------- - http://www.apache.org/licenses/LICENSE-2.0 +3.1. Distribution of Source Form -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. --------------------------------------------------------------------------------- -vulkan-deps +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. -Copyright (c) 2015-2018, 2023 The Khronos Group Inc. +3.2. Distribution of Executable Form -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 +If You distribute Covered Software in Executable Form then: - http://www.apache.org/licenses/LICENSE-2.0 +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and -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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2015-2019 The Khronos Group Inc. -Copyright (c) 2015-2019 Valve Corporation -Copyright (c) 2015-2019 LunarG, Inc. - -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 +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. - http://www.apache.org/licenses/LICENSE-2.0 +3.3. Distribution of a Larger Work -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. --------------------------------------------------------------------------------- -vulkan-deps +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). -Copyright (c) 2015-2020 The Khronos Group Inc. -Copyright (c) 2015-2023 Valve Corporation -Copyright (c) 2015-2023 LunarG, Inc. +3.4. Notices -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 +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. - http://www.apache.org/licenses/LICENSE-2.0 +3.5. Application of Additional Terms -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. --------------------------------------------------------------------------------- -vulkan-deps +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. -Copyright (c) 2015-2020 The Khronos Group Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights -reserved. +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- -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 +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. - http://www.apache.org/licenses/LICENSE-2.0 +5. Termination +-------------- -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. --------------------------------------------------------------------------------- -vulkan-deps +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. -Copyright (c) 2015-2021 The Khronos Group Inc. -Copyright (c) 2015-2021 Valve Corporation -Copyright (c) 2015-2021 LunarG, Inc. +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. -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 +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. - http://www.apache.org/licenses/LICENSE-2.0 +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ -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. --------------------------------------------------------------------------------- -vulkan-deps +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ -Copyright (c) 2015-2021 The Khronos Group Inc. -Copyright (c) 2015-2021 Valve Corporation -Copyright (c) 2015-2021 LunarG, Inc. -Copyright (c) 2015-2021 Google, Inc. +8. Litigation +------------- -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 +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. - http://www.apache.org/licenses/LICENSE-2.0 +9. Miscellaneous +---------------- -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. --------------------------------------------------------------------------------- -vulkan-deps +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. -Copyright (c) 2015-2021 The Khronos Group Inc. -Copyright (c) 2015-2021 Valve Corporation -Copyright (c) 2015-2021 LunarG, Inc. -Copyright (c) 2023-2024 RasterGrid Kft. +10. Versions of the License +--------------------------- -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 +10.1. New Versions - http://www.apache.org/licenses/LICENSE-2.0 +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. -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. --------------------------------------------------------------------------------- -vulkan-deps +10.2. Effect of New Versions -Copyright (c) 2015-2022 The Khronos Group Inc. -Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All -rights reserved. +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. -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 +10.3. Modified Versions - http://www.apache.org/licenses/LICENSE-2.0 +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). -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. --------------------------------------------------------------------------------- -vulkan-deps +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses -Copyright (c) 2015-2023 The Khronos Group Inc. -Copyright (c) 2015-2023 Valve Corporation -Copyright (c) 2015-2023 LunarG, Inc. -Copyright (C) 2015-2016 Google Inc. +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. -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 +Exhibit A - Source Code Form License Notice +------------------------------------------- - http://www.apache.org/licenses/LICENSE-2.0 + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/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. --------------------------------------------------------------------------------- -vulkan-deps +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. -Copyright (c) 2015-2023 Valve Corporation -Copyright (c) 2015-2023 LunarG, Inc. -Copyright (c) 2015-2016, 2019 Google Inc. +You may add additional accurate notices of copyright ownership. -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 +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- - http://www.apache.org/licenses/LICENSE-2.0 + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 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. -------------------------------------------------------------------------------- -vulkan-deps +libpng -Copyright (c) 2015-2023 Valve Corporation -Copyright (c) 2015-2023 LunarG, Inc. -Copyright (c) 2015-2017, 2019 Google Inc. +PNG Reference Library License version 2 +--------------------------------------- -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 + * Copyright (c) 1995-2024 The PNG Reference Library Authors. + * Copyright (c) 2018-2024 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - http://www.apache.org/licenses/LICENSE-2.0 +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. -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. --------------------------------------------------------------------------------- -vulkan-deps +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. -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 + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. - http://www.apache.org/licenses/LICENSE-2.0 + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. -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. --------------------------------------------------------------------------------- -vulkan-deps -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2022 Google Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- -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 +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: - http://www.apache.org/licenses/LICENSE-2.0 + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov -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. --------------------------------------------------------------------------------- -vulkan-deps +and with the following additions to the disclaimer: -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2023 Google Inc. + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. -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 +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. - http://www.apache.org/licenses/LICENSE-2.0 +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: -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. --------------------------------------------------------------------------------- -vulkan-deps + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2023 Google Inc. -Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing 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 + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner - http://www.apache.org/licenses/LICENSE-2.0 +Some files in the "scripts" directory have other copyright owners, +but are released under this license. -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. --------------------------------------------------------------------------------- -vulkan-deps +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: -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 + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner - http://www.apache.org/licenses/LICENSE-2.0 +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. -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. --------------------------------------------------------------------------------- -vulkan-deps +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. + 1. The origin of this source code must not be misrepresented. -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 + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. - http://www.apache.org/licenses/LICENSE-2.0 + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. -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. -------------------------------------------------------------------------------- -vulkan-deps +libpng -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. +PNG Reference Library License version 2 +--------------------------------------- -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 + * Copyright (c) 1995-2024 The PNG Reference Library Authors. + * Copyright (c) 2018-2024 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - http://www.apache.org/licenses/LICENSE-2.0 +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. -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. --------------------------------------------------------------------------------- -vulkan-deps +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. -Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. -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 + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. - http://www.apache.org/licenses/LICENSE-2.0 + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. -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. --------------------------------------------------------------------------------- -vulkan-deps -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. -Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- -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 +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: - http://www.apache.org/licenses/LICENSE-2.0 + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov -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. --------------------------------------------------------------------------------- -vulkan-deps +and with the following additions to the disclaimer: -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. -Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. -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 +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. - http://www.apache.org/licenses/LICENSE-2.0 +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: -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. --------------------------------------------------------------------------------- -vulkan-deps + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing 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 + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner - http://www.apache.org/licenses/LICENSE-2.0 +Some files in the "scripts" directory have other copyright owners, +but are released under this license. -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. --------------------------------------------------------------------------------- -vulkan-deps +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. -Copyright (c) 2015-2024 The Khronos Group Inc. -Copyright (c) 2015-2024 Valve Corporation -Copyright (c) 2015-2024 LunarG, Inc. -Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: -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 + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner - http://www.apache.org/licenses/LICENSE-2.0 +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. -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. --------------------------------------------------------------------------------- -vulkan-deps +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: -Copyright (c) 2015-2025 The Khronos Group Inc. + 1. The origin of this source code must not be misrepresented. -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 + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. - http://www.apache.org/licenses/LICENSE-2.0 + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. -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. --------------------------------------------------------------------------------- -vulkan-deps +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. +END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE. -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 +TRADEMARK +========= - http://www.apache.org/licenses/LICENSE-2.0 +The name "libpng" has not been registered by the Copyright owners +as a trademark in any jurisdiction. However, because libpng has +been distributed and maintained world-wide, continually since 1995, +the Copyright owners claim "common-law trademark protection" in any +jurisdiction where common-law trademark is recognized. -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. -------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2023 Google Inc. +libjpeg-turbo -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 +Portions of this code are based on the PBMPLUS library, which is: - http://www.apache.org/licenses/LICENSE-2.0 +Copyright (C) 1988 by Jef Poskanzer. -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. +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. This software is provided "as is" without express or +implied warranty. -------------------------------------------------------------------------------- -vulkan-deps +expat -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. +Read an XML document from standard input and print +element declarations (if any) to standard output. +It must be used with Expat compiled for UTF-8 output. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -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 +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2006 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2024 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 Zhongyuan Zhou +Copyright (c) 2024 Hanno Böck +Licensed under the MIT license: - http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -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. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +expat -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. +Read an XML document from standard input and print an element +outline on standard output. +Must be used with Expat compiled for UTF-8 output. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -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 +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2005-2006 Karl Waclawek +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Licensed under the MIT license: - http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -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. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +rapidjson -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. -Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Tencent is pleased to support the open source community by making RapidJSON available-> -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 +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip-> All rights reserved-> - http://www.apache.org/licenses/LICENSE-2.0 +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License-> You may obtain a copy of the License at -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. +http://opensource->org/licenses/MIT + +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-> -------------------------------------------------------------------------------- -vulkan-deps +rapidjson -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2024 Google Inc. -Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. +Tencent is pleased to support the open source community by making RapidJSON available. -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 +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. - http://www.apache.org/licenses/LICENSE-2.0 +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at -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. +http://opensource.org/licenses/MIT + +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. -------------------------------------------------------------------------------- -vulkan-deps +rapidjson -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2025 Google Inc. +Tencent is pleased to support the open source community by making RapidJSON available. -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 +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. - http://www.apache.org/licenses/LICENSE-2.0 +Licensed under the MIT License (the "License"); you may not use this file except +in compliance with the License. You may obtain a copy of the License at -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. --------------------------------------------------------------------------------- -vulkan-deps +http://opensource.org/licenses/MIT -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2025 Google Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. +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. +-------------------------------------------------------------------------------- +rapidjson -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 +Tencent is pleased to support the open source community by making RapidJSON available. - http://www.apache.org/licenses/LICENSE-2.0 +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. -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. --------------------------------------------------------------------------------- -vulkan-deps +If you have downloaded a copy of the RapidJSON binary from Tencent, please note that the RapidJSON binary is licensed under the MIT License. +If you have downloaded a copy of the RapidJSON source code from Tencent, please note that RapidJSON source code is licensed under the MIT License, except for the third-party components listed below which are subject to different license terms. Your integration of RapidJSON into your own projects may require compliance with the MIT License, as well as the other licenses applicable to the third-party components included within RapidJSON. -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2025 Google Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. +A copy of the MIT License is included in this file. -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 +Other dependencies and licenses: - http://www.apache.org/licenses/LICENSE-2.0 +Open Source Software Licensed Under the BSD License: +-------------------------------------------------------------------- -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. --------------------------------------------------------------------------------- -vulkan-deps +The msinttypes r29 +Copyright (c) 2006-2013 Alexander Chemeris +All rights reserved. -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2025 Google Inc. -Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -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 +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - http://www.apache.org/licenses/LICENSE-2.0 +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -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. --------------------------------------------------------------------------------- -vulkan-deps -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2025 Google Inc. -Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. +Terms of the MIT License: +-------------------------------------------------------------------- -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 +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - http://www.apache.org/licenses/LICENSE-2.0 +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -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. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps +fiat -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2025 Google Inc. -Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. +The Apache License, Version 2.0 (Apache-2.0) + +Copyright 2015-2020 the fiat-crypto authors (see the AUTHORS file) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -27754,7201 +21437,1537 @@ 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. -------------------------------------------------------------------------------- -vulkan-deps +rapidjson -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2025 Google Inc. -Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022-2024 RasterGrid Kft. - -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 - - http://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. +The above software in this distribution may have been modified by +THL A29 Limited ("Tencent Modifications"). +All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. -------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (C) 2015-2025 Google Inc. -Modifications Copyright (C) 2020-2025 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022-2025 RasterGrid Kft. - -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 - - http://www.apache.org/licenses/LICENSE-2.0 +re2 -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. +The authors of this software are Rob Pike and Ken Thompson. + Copyright (c) 2002 by Lucent Technologies. +Permission to use, copy, modify, and distribute this software for any +purpose without fee is hereby granted, provided that this entire notice +is included in all copies of any software which is or includes a copy +or modification of this software and in all copies of the supporting +documentation for such software. +THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED +WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY +REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY +OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. -------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Copyright (c) 2015-2024 Google Inc. +vulkan-validation-layers -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 +The majority of files in this project use the Apache 2.0 License. +There are a few exceptions and their license can be found in the source. +Any license deviations from Apache 2.0 are "more permissive" licenses. +Any file without a license in it's source defaults to the repository Apache 2.0 License. - http://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. --------------------------------------------------------------------------------- -vulkan-deps + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -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 + 1. Definitions. - http://www.apache.org/licenses/LICENSE-2.0 + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -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. --------------------------------------------------------------------------------- -vulkan-deps + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -Copyright (c) 2015-2025 The Khronos Group Inc. -Copyright (c) 2015-2025 Valve Corporation -Copyright (c) 2015-2025 LunarG, Inc. -Modifications Copyright (C) 2020-2022 Advanced Micro Devices, Inc. All rights reserved. -Modifications Copyright (C) 2022 RasterGrid Kft. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. -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 + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. - http://www.apache.org/licenses/LICENSE-2.0 + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. -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. --------------------------------------------------------------------------------- -vulkan-deps + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. -Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. -Copyright (C) 2015-2021 LunarG, Inc. + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). -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 + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. - http://www.apache.org/licenses/LICENSE-2.0 + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." -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. --------------------------------------------------------------------------------- -vulkan-deps + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. -Copyright (c) 2016 Google Inc. + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. -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 + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. - http://www.apache.org/licenses/LICENSE-2.0 + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: -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. --------------------------------------------------------------------------------- -glfw + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and -Copyright (c) 2016 Google Inc. -Copyright (c) 2016-2017 Camilla Löwy + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -glfw + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. -Copyright (c) 2016 Google Inc. -Copyright (c) 2016-2019 Camilla Löwy + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. + END OF TERMS AND CONDITIONS -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. + APPENDIX: How to apply the Apache License to your work. -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -vulkan-deps + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. -Copyright (c) 2016 Google Inc. -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights -reserved. + Copyright [yyyy] [name of copyright owner] -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 + 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 - http://www.apache.org/licenses/LICENSE-2.0 + http://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. + 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. -------------------------------------------------------------------------------- -vulkan-deps +sqlite -Copyright (c) 2016 Google, Inc. +The source code for SQLite is in the public domain. No claim of +copyright is made on any part of the core source code. (The +documentation and test code is a different matter - some sections of +documentation and test logic are governed by open-source licenses.) +All contributors to the SQLite core software have signed affidavits +specifically disavowing any copyright interest in the code. This means +that anybody is able to legally do anything they want with the SQLite +source code. -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 +There are other SQL database engines with liberal licenses that allow +the code to be broadly and freely used. But those other engines are +still governed by copyright law. SQLite is different in that copyright +law simply does not apply. - http://www.apache.org/licenses/LICENSE-2.0 +The source code files for other SQL database engines typically begin +with a comment describing your legal rights to view and copy that +file. The SQLite source code contains no license since it is not +governed by copyright. Instead of a license, the SQLite source code +offers a blessing: -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. +May you do good and not evil +May you find forgiveness for yourself and forgive others +May you share freely, never taking more than you give. -------------------------------------------------------------------------------- -skia +libjpeg-turbo -Copyright (c) 2016 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -dart +This code is loosely based on ppmtogif from the PBMPLUS distribution +of Feb. 1991. That file contains the following copyright notice: + Based on GIFENCODE by David Rowley . + Lempel-Ziv compression based on "compress" by Spencer W. Thomas et al. + Copyright (C) 1989 by Jef Poskanzer. + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation. This software is provided "as is" without express or + implied warranty. -Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. +We are also required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." -------------------------------------------------------------------------------- -glfw - -Copyright (c) 2016-2017 Camilla Löwy +expat -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +This file is included (from xmltok.c, 1-3 times depending on XML_MIN_SIZE)! +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Benjamin Peterson +Copyright (c) 2018 Anton Maklakov +Copyright (c) 2019 David Loffredo +Copyright (c) 2020 Boris Kolpackov +Copyright (c) 2022 Martin Ettl +Licensed under the MIT license: -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -3. This notice may not be removed or altered from any source - distribution. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2016-2021 Valve Corporation -Copyright (c) 2016-2021 LunarG, Inc. +expat -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 +This file is included! +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser - http://www.apache.org/licenses/LICENSE-2.0 +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2017-2021 Sebastian Pipping +Licensed under the MIT license: -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. --------------------------------------------------------------------------------- -vulkan-deps +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Copyright (c) 2017 Google Inc. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -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 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +icu - http://www.apache.org/licenses/LICENSE-2.0 +This file was generated from RFC 3454 (http://www.ietf.org/rfc/rfc3454.txt) +Copyright (C) The Internet Society (2002). All Rights Reserved. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1994, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2017 Google Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights -reserved. - -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 - - http://www.apache.org/licenses/LICENSE-2.0 +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1995, Thomas G. Lane. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2017 Google Inc. -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights -reserved. - -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 +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code +relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2017 LunarG Inc. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +Modified 2009 by Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009, 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2017 Pierre Moreau +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009-2012, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2009-2012, 2015, D. R. Commander. +Copyright (C) 2014, MIPS Technologies, Inc., California. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -skia +libjpeg-turbo -Copyright (c) 2017 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2010, 2015-2016, D. R. Commander. +Copyright (C) 2014, MIPS Technologies, Inc., California. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -angle +libjpeg-turbo -Copyright (c) 2017 The Khronos Group Inc. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2014, MIPS Technologies, Inc., California. +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modifications: +Copyright (C) 2013, Linaro Limited. +Copyright (C) 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 1997-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2009, 2011, 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2017 The Khronos Group Inc. -Copyright (c) 2017 Valve Corporation -Copyright (c) 2017 LunarG Inc. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 1997-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2015-2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2002-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, 2016, D. R. Commander. +Copyright (C) 2013, Linaro Limited. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2003-2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2009 by Bill Allombert, Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2015, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2017 The Khronos Group Inc. -Copyright (c) 2017 Valve Corporation -Copyright (c) 2017 LunarG Inc. -Copyright (c) 2018 Google Inc. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2011 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2009, 2011-2012, 2014-2015, D. R. Commander. +Copyright (C) 2013, Linaro Limited. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +Modified 2013 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010-2011, 2013-2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009, 2011, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, 2014-2016, D. R. Commander. +Copyright (C) 2015, Matthieu Darbois. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2017 The Khronos Group Inc. -Copyright (c) 2017 Valve Corporation -Copyright (c) 2017 LunarG Inc. -Copyright (c) 2018-2021 Google LLC +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010-2011, 2015-2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2017 The Khronos Group Inc. -Copyright (c) 2017 Valve Corporation -Copyright (c) 2017 LunarG Inc. -Copyright (c) 2019 Google LLC +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +Modified 2002-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, 2013-2014, 2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +Modified 2003-2008 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2009-2011, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2017 The Khronos Group Inc. -Copyright (c) 2017 Valve Corporation -Copyright (c) 2017 LunarG Inc. -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights -reserved. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +Modified 2003-2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +Modified 2003-2011 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2013-2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2012, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-1998, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2013, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -dart -pkg +libjpeg-turbo -Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only information +relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg file. -------------------------------------------------------------------------------- -ffx_spd +libjpeg-turbo -Copyright (c) 2017-2019 Advanced Micro Devices, Inc. All rights reserved. -Copyright (c) <2014> +This file was part of the Independent JPEG Group's software: +Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2012-2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, -modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: +This file was part of the Independent JPEG Group's software: +Copyright (C) 1992-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the -Software. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1992-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994, Thomas G. Lane. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -ffx_spd +libjpeg-turbo -Copyright (c) 2017-2020 Advanced Micro Devices, Inc. All rights reserved. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, -modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the -Software. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2002-2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2010, 2015, D. R. Commander. +Copyright (C) 2013, MIPS Technologies, Inc., California. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Modified 2011 by Siarhei Siamashka. +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-validation-layers +libjpeg-turbo -Copyright (c) 2017-2024 Advanced Micro Devices, Inc. All rights reserved. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2011 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2011, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2011 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2013, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2012 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2011, 2014, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +Modified 2009-2012 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2013, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan_memory_allocator +libjpeg-turbo -Copyright (c) 2017-2025 Advanced Micro Devices, Inc. All rights reserved. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 1999-2006, MIYASAKA Masaru. +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2011, 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2015-2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2011, 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2018 Google Inc. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2013, Linaro Limited. +Copyright (C) 2014-2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1996, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2009, 2011, 2014-2015, D. R. Commander. +Copyright (C) 2013, Linaro Limited. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code and +information relevant to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2018 Google LLC +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +Modified 1997-2009 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +Modified 2009 by Bill Allombert, Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2018 Google LLC. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +Copyright (C) 2010, 2015-2016, D. R. Commander. +Copyright (C) 2015, Google, Inc. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright 2009 Pierre Ossman for Cendio AB +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1998, Thomas G. Lane. +Modified 2003-2010 by Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1998, Thomas G. Lane. +Modified 2010 by Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2018 Google LLC. -Copyright (c) 2019 NVIDIA Corporation +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1998, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1994-1998, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2016, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1995-1997, Thomas G. Lane. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1995-1997, Thomas G. Lane. +libjpeg-turbo Modifications: +Copyright (C) 2015, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +libjpeg-turbo -Copyright (c) 2018 Google LLC. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights -reserved. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1995-1998, Thomas G. Lane. +Modified 2000-2009 by Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1995-2010, Thomas G. Lane, Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, 2014, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo - http://www.apache.org/licenses/LICENSE-2.0 +This file was part of the Independent JPEG Group's software: +Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. +It was modified by The libjpeg-turbo Project to include only code relevant +to libjpeg-turbo. +For conditions of distribution and use, see the accompanying README.ijg +file. +-------------------------------------------------------------------------------- +libjpeg-turbo -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. +This file was part of the Independent JPEG Group's software: +Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. +libjpeg-turbo Modifications: +Copyright (C) 2010, D. R. Commander. +For conditions of distribution and use, see the accompanying README.ijg +file. -------------------------------------------------------------------------------- -vulkan-deps +expat -Copyright (c) 2018 Google LLC. -Modifications Copyright (C) 2020-2024 Advanced Micro Devices, Inc. All -rights reserved. +This is simple demonstration of how to use expat. This program +reads an XML document from standard input and writes a line with +the name of each element to standard output indenting child +elements by one tab stop more than their parent element. +It must be used with Expat compiled for UTF-8 output. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -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 +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2006 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 Zhongyuan Zhou +Licensed under the MIT license: - http://www.apache.org/licenses/LICENSE-2.0 +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -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. --------------------------------------------------------------------------------- -vulkan-deps +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -Copyright (c) 2018 Google LLC. -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights -reserved. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +freetype2 -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 +This software was written by Alexander Peslyak in 2001. No copyright is +claimed, and the software is hereby placed in the public domain. +In case this attempt to disclaim copyright and place the software in the +public domain is deemed null and void, then the software is +Copyright (c) 2001 Alexander Peslyak and it is hereby released to the +general public under the following terms: - http://www.apache.org/licenses/LICENSE-2.0 +Redistribution and use in source and binary forms, with or without +modification, are permitted. -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. +There's ABSOLUTELY NO WARRANTY, express or implied. -------------------------------------------------------------------------------- -vulkan-deps +icu -Copyright (c) 2018 Google LLC. -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights -reserved. -Copyright (c) 2024 NVIDIA Corporation +UNICODE LICENSE V3 -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 +COPYRIGHT AND PERMISSION NOTICE - http://www.apache.org/licenses/LICENSE-2.0 +Copyright © 2016-2023 Unicode, Inc. -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. --------------------------------------------------------------------------------- -vulkan-deps +NOTICE TO USER: Carefully read the following legal agreement. BY +DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR +SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT +DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. -Copyright (c) 2018 LunarG Inc. +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. -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 +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. - http://www.apache.org/licenses/LICENSE-2.0 +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. -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. --------------------------------------------------------------------------------- -icu -skia +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising or otherwise to promote the sale, use or other +dealings in these Data Files or Software without prior written +authorization of the copyright holder. -Copyright (c) 2018 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps +---------------------------------------------------------------------- -Copyright (c) 2018 The Khronos Group Inc. +Third-Party Software Licenses -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 +This section contains third-party software notices and/or additional +terms for licensed third-party software components included within ICU +libraries. - http://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. --------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (c) 2018 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2018 The Khronos Group Inc. -Copyright (c) 2018 Valve Corporation -Copyright (c) 2018 LunarG Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2018 The Khronos Group Inc. -Copyright (c) 2018 Valve Corporation -Copyright (c) 2018 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -volk - -Copyright (c) 2018-2019 Arseny Kapoulkine - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -angle - -Copyright (c) 2018-2020 The Khronos Group Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2018-2020 The Khronos Group Inc. -Copyright (c) 2018-2020 Valve Corporation -Copyright (c) 2018-2020 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -inja - -Copyright (c) 2018-2021 Berscheid - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -inja - -Copyright (c) 2018-2021 Lars Berscheid - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2018-2021 The Khronos Group Inc. -Copyright (c) 2018-2023 Valve Corporation -Copyright (c) 2018-2023 LunarG, Inc. -Copyright (C) 2018-2021 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2018-2024 The Khronos Group Inc. -Copyright (c) 2018-2024 Valve Corporation -Copyright (c) 2018-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2018-2025 The Khronos Group Inc. -Copyright (c) 2018-2025 Valve Corporation -Copyright (c) 2018-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019 Google LLC -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights -reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019 Google LLC. - -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 - - http://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. --------------------------------------------------------------------------------- -perfetto - -Copyright (c) 2019 The Android Open Source Project - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright (c) 2019 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019 The Khronos Group Inc. -Copyright (c) 2019 Valve Corporation -Copyright (c) 2019 LunarG Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019 The Khronos Group Inc. -Copyright (c) 2019 Valve Corporation -Copyright (c) 2019 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019 The Khronos Group Inc. -Copyright (c) 2019 Valve Corporation -Copyright (c) 2019 LunarG, Inc. -Copyright (c) 2023 RasterGrid Kft. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019 Valve Corporation -Copyright (c) 2019 LunarG Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019, 2021, 2023-2024 The Khronos Group Inc. -Copyright (c) 2019, 2021, 2023-2024 Valve Corporation -Copyright (c) 2019, 2021, 2023-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -glslang - -Copyright (c) 2019, Viktor Latypov -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019, Viktor Latypov -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright (c) 2019-2020 The Khronos Group Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019-2021 Valve Corporation -Copyright (c) 2019-2021 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019-2022 The Khronos Group Inc. -Copyright (c) 2019-2022 Valve Corporation -Copyright (c) 2019-2022 LunarG, Inc. -Copyright (c) 2023-2024 RasterGrid Kft. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019-2024 The Khronos Group Inc. -Copyright (c) 2019-2024 Valve Corporation -Copyright (c) 2019-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019-2024 The Khronos Group Inc. -Copyright (c) 2019-2024 Valve Corporation -Copyright (c) 2019-2024 LunarG, Inc. -Copyright (C) 2019-2024 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019-2024 Valve Corporation -Copyright (c) 2019-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019-2025 The Khronos Group Inc. -Copyright (c) 2019-2025 Valve Corporation -Copyright (c) 2019-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2019-2025 Valve Corporation -Copyright (c) 2019-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -ffx_spd - -Copyright (c) 2020 Advanced Micro Devices, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020 André Perez Maselco - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright (c) 2020 Google LLC. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020 Stefano Milizia - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020 Stefano Milizia -Copyright (c) 2020 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -angle - -Copyright (c) 2020 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle -vulkan-deps - -Copyright (c) 2020 The Khronos Group Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (c) 2020 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and/or associated documentation files (the -"Materials"), to deal in the Materials without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Materials, and to -permit persons to whom the Materials are furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS -KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS -SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT - https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020 The Khronos Group Inc. -Copyright (c) 2020 Valve Corporation -Copyright (c) 2020 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020 Vasyl Teliman - -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 - - http://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. --------------------------------------------------------------------------------- -glslang - -Copyright (c) 2020, Travis Fort -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020, Travis Fort -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -dart -pkg - -Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020-2021 Valve Corporation -Copyright (c) 2020-2021 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020-2022 Google LLC -Copyright (c) 2022 LunarG Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -etc_decoder - -Copyright (c) 2020-2022 Hans-Kristian Arntzen - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020-2022 Valve Corporation -Copyright (c) 2020-2022 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020-2024 The Khronos Group Inc. -Copyright (c) 2020-2024 Valve Corporation -Copyright (c) 2020-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020-2025 The Khronos Group Inc. -Copyright (c) 2020-2025 Valve Corporation -Copyright (c) 2020-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020-2025 The Khronos Group Inc. -Copyright (c) 2020-2025 Valve Corporation -Copyright (c) 2020-2025 LunarG, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2020-2025 Valve Corporation -Copyright (c) 2020-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021 Alastair F. Donaldson - -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 - - http://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. --------------------------------------------------------------------------------- -glfw - -Copyright (c) 2021 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021 Google LLC. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021 Mostafa Ashraf - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021 Shiyu Liu - -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 - - http://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. --------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (c) 2021 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021 The Khronos Group Inc. -Copyright (c) 2021 Valve Corporation -Copyright (c) 2021 LunarG Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021 ZHOU He - -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 - - http://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. --------------------------------------------------------------------------------- -ceval - -Copyright (c) 2021 e_t - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -libwebp - -Copyright (c) 2021, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - * Neither the name of Google nor the names of its contributors may - be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021-2024 The Khronos Group Inc. -Copyright (c) 2021-2024 Valve Corporation -Copyright (c) 2021-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021-2024 The Khronos Group Inc. -Copyright (c) 2021-2024 Valve Corporation -Copyright (c) 2021-2024 LunarG, Inc. -Copyright (C) 2021-2022 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021-2024 The Khronos Group Inc. -Copyright (c) 2021-2024 Valve Corporation -Copyright (c) 2021-2024 LunarG, Inc. -Copyright (C) 2021-2024 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021-2025 The Khronos Group Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021-2025 The Khronos Group Inc. -Copyright (c) 2021-2025 Valve Corporation -Copyright (c) 2021-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2021-2025 The Khronos Group Inc. -Copyright (c) 2021-2025 Valve Corporation -Copyright (c) 2021-2025 LunarG, Inc. -Copyright (C) 2021-2025 Google Inc. -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -glslang -vulkan-deps - -Copyright (c) 2022 ARM Limited - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and/or associated documentation files (the "Materials"), -to deal in the Materials without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Materials, and to permit persons to whom the -Materials are furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Materials. - -MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS -STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND -HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ - -THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS -IN THE MATERIALS. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022 Advanced Micro Devices, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -glfw - -Copyright (c) 2022 Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -web_locale_keymap - -Copyright (c) 2022 Google LLC - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022 Google LLC. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright (c) 2022 Google LLC. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022 The Khronos Group Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022 The Khronos Group Inc. -Copyright (c) 2022 LunarG Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -test_shaders - -Copyright (c) 2022 by Selman Ay (https://codepen.io/selmanays/pen/yLVmEqY) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -dart -pkg - -Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022-2023 The Khronos Group Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022-2024 The Khronos Group Inc. -Copyright (c) 2022-2024 RasterGrid Kft. -Modifications Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022-2024 The Khronos Group Inc. -Copyright (c) 2022-2024 Valve Corporation -Copyright (c) 2022-2024 LunarG, Inc. -Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2022-2024 Valve Corporation -Copyright (c) 2022-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023 Google LLC. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023 LunarG Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023 The Khronos Group Inc. -Copyright (c) 2023 Valve Corporation -Copyright (c) 2023 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023 Valve Corporation -Copyright (c) 2023 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023-2024 LunarG, Inc. -Copyright (c) 2023-2024 Valve Corporation - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023-2024 Nintendo -Copyright (c) 2023-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023-2024 Nintendo -Copyright (c) 2023-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023-2024 The Khronos Group Inc. -Copyright (c) 2023-2024 Valve Corporation -Copyright (c) 2023-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023-2024 Valve Corporation -Copyright (c) 2023-2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023-2025 LunarG, Inc. -Copyright (c) 2023-2025 Valve Corporation - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023-2025 Nintendo -Copyright (c) 2023-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2023-2025 The Khronos Group Inc. -Copyright (c) 2023-2025 Valve Corporation -Copyright (c) 2023-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024 Epic Games, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024 NVIDIA Corporation - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024 The Khronos Group Inc. -Copyright (c) 2024 LunarG, Inc. -Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024 The Khronos Group Inc. -Copyright (c) 2024 Valve Corporation -Copyright (c) 2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024 Valve Corporation -Copyright (c) 2024 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2024-2025 The Khronos Group Inc. -Copyright (c) 2024-2025 Valve Corporation -Copyright (c) 2024-2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2025 The Khronos Group Inc. -Copyright (c) 2025 Valve Corporation -Copyright (c) 2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright (c) 2025 Valve Corporation -Copyright (c) 2025 LunarG, Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -dart - -Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -glfw - -Copyright (c) Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -icu - -Copyright (c) IBM Corporation, 2000-2010. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. --------------------------------------------------------------------------------- -icu - -Copyright (c) IBM Corporation, 2000-2011. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. --------------------------------------------------------------------------------- -icu - -Copyright (c) IBM Corporation, 2000-2012. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. --------------------------------------------------------------------------------- -icu - -Copyright (c) IBM Corporation, 2000-2014. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. --------------------------------------------------------------------------------- -icu - -Copyright (c) IBM Corporation, 2000-2016. All rights reserved. - -This software is made available under the terms of the -ICU License -- ICU 1.8.1 and later. --------------------------------------------------------------------------------- -glfw - -Copyright (c) Marcus Geelnard -Copyright (c) Camilla Löwy - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would - be appreciated but is not required. - -2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source - distribution. --------------------------------------------------------------------------------- -spring_animation - -Copyright (c) Meta Platforms, Inc. and affiliates. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -harfbuzz - -Copyright (c) Microsoft Corporation. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE --------------------------------------------------------------------------------- -freetype2 - -Copyright 1990, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. --------------------------------------------------------------------------------- -re2 - -Copyright 1999-2005 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2000 Computing Research Labs, New Mexico State University -Copyright 2001-2004, 2011 Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2000 Computing Research Labs, New Mexico State University -Copyright 2001-2014 - Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2000 Computing Research Labs, New Mexico State University -Copyright 2001-2015 - Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2000, 2001, 2004 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2000-2001, 2002 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2000-2001, 2003 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2000-2010, 2012-2014 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -icu - -Copyright 2001 and onwards Google Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2001, 2002, 2012 Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT -OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR -THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -angle - -Copyright 2002 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -freetype2 - -Copyright 2003 by -Francesco Zappa Nardelli - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. --------------------------------------------------------------------------------- -re2 - -Copyright 2003-2009 Google Inc. All rights reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -re2 - -Copyright 2003-2009 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -re2 - -Copyright 2003-2010 Google Inc. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -icu - -Copyright 2004 and onwards Google Inc. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. --------------------------------------------------------------------------------- -skia - -Copyright 2005 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2006 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2006 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -re2 - -Copyright 2006 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -re2 - -Copyright 2006-2007 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -double-conversion -icu - -Copyright 2006-2008 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -dart -double-conversion - -Copyright 2006-2008 the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -double-conversion - -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2006-2012 The Android Open Source Project -Copyright 2012 Mozilla Foundation - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2007 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -re2 - -Copyright 2007 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2008 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2008 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -re2 - -Copyright 2008 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -etc1 - -Copyright 2009 Google Inc. - -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 - - http://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. --------------------------------------------------------------------------------- -libjpeg-turbo - -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2010, D. R. Commander. - -Based on the x86 SIMD extension for IJG JPEG library - version 1.02 - -Copyright (C) 1999-2006, MIYASAKA Masaru. - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. --------------------------------------------------------------------------------- -skia - -Copyright 2009 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -re2 - -Copyright 2009 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2009-2015 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2010 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2010 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -angle - -Copyright 2010 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2010 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -re2 - -Copyright 2010 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -double-conversion -icu - -Copyright 2010 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -double-conversion - -Copyright 2010 the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2011 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2011 Google Inc. -Copyright 2012 Mozilla Foundation - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2011 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -angle - -Copyright 2011 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2011 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -zlib - -Copyright 2011 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright 2011 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2012 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2012 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -skia - -Copyright 2012 Google LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2012 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2012 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -dart -zlib - -Copyright 2012 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -double-conversion -icu - -Copyright 2012 the V8 project authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -double-conversion - -Copyright 2012 the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -js - -Copyright 2012, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -dart - -Copyright 2012, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -markdown - -Copyright 2012, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -node_preamble -pkg - -Copyright 2012, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2013 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2013 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -gtest-parallel - -Copyright 2013 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2013 Google Inc. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2013 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2013 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright 2013 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility - -Copyright 2013 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -skia - -Copyright 2013 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility -cross_file -engine -file_selector -file_selector_ios -file_selector_linux -file_selector_macos -file_selector_platform_interface -file_selector_web -file_selector_windows -flutter -flutter_lints -flutter_markdown -plugin_platform_interface -pointer_interceptor -pointer_interceptor_ios -pointer_interceptor_platform_interface -pointer_interceptor_web -process -spring_animation -tonic -url_launcher -url_launcher_android -url_launcher_ios -url_launcher_linux -url_launcher_macos -url_launcher_platform_interface -url_launcher_web -url_launcher_windows -web_benchmarks -web_test_fonts -web_unicode - -Copyright 2013 The Flutter Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -dart -flutter -spring_animation -tonic -web_test_fonts -web_unicode - -Copyright 2013 The Flutter Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -flutter - -Copyright 2013 The Flutter Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -analyzer -intl -process -protobuf - -Copyright 2013, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -args -logging - -Copyright 2013, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -angle - -Copyright 2013-2020 The Khronos Group Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -skia - -Copyright 2014 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2014 Google Inc. -Copyright 2017 ARM Ltd. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2014 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2014 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -angle - -Copyright 2014 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2014 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2014 The Bazel Authors. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -dart -zlib - -Copyright 2014 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility -angle -icu - -Copyright 2014 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -angle -dart -skia - -Copyright 2014 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -flutter - -Copyright 2014 The Flutter Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -flutter - -Copyright 2014 The Flutter Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2014 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -fixnum -http_multi_server -shelf -shelf_web_socket -source_maps -stack_trace - -Copyright 2014, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -coverage -dart_style -glob -http -http_parser -json_rpc_2 -matcher -path -pkg -pool -pub_semver -source_span -string_scanner -test -watcher - -Copyright 2014, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -spirv-cross - -Copyright 2014-2016,2021 The Khronos Group, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -skia - -Copyright 2015 Google Inc. - -Use of this source code is governed by a BD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2015 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2015 Google Inc. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2015 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2015 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -angle - -Copyright 2015 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2015 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility -brotli -skia - -Copyright 2015 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -brotli -dart -icu -skia - -Copyright 2015 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -shaderc - -Copyright 2015 The Shaderc Authors. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -vector_math - -Copyright 2015, Google Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Copyright (C) 2013 Andrew Magill - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. --------------------------------------------------------------------------------- -convert -crypto -shelf_static -source_gen -source_map_stack_trace -vm_service - -Copyright 2015, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -async -cli_util -collection -mime -stream_channel -typed_data - -Copyright 2015, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2015-2017 ARM Limited -SPDX-License-Identifier: Apache-2.0 - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2015-2021 Arm Limited -SPDX-License-Identifier: Apache-2.0 - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2016 Google Inc. - -Use of this source code is governed by a BD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2016 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file - --------------------------------------------------------------------------------- -libpng -skia - -Copyright 2016 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2016 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2016 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2016 Mozilla Foundation - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2016 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2016 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility - -Copyright 2016 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -icu -skia - -Copyright 2016 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright 2016 The Dart project authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2016 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -re2 - -Copyright 2016 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -shaderc - -Copyright 2016 The Shaderc Authors. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2016 The SwiftShader Authors. All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -boolean_selector -meta -shelf_packages_handler - -Copyright 2016, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -build -build_runner -code_builder -web_socket_channel - -Copyright 2016, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2017 ARM Ltd. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2017 Google Inc. - -Use of this source code is governed by a BD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2017 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2017 Google Inc. - -Use of this source code is governed by a BSD-style license that can be found -in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2017 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -flatbuffers -gtest-parallel - -Copyright 2017 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -cpu_features - -Copyright 2017 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -cpu_features - -Copyright 2017 Google LLC -Copyright 2020 Intel Corporation - -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 - - http://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. --------------------------------------------------------------------------------- -angle - -Copyright 2017 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -zlib - -Copyright 2017 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the Chromium source repository LICENSE file. --------------------------------------------------------------------------------- -zlib - -Copyright 2017 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility -angle - -Copyright 2017 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -angle -skia - -Copyright 2017 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright 2017 The Dart project authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2017 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2017 The Glslang Authors. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2017 The Glslang Authors. All rights reserved. -Copyright (c) 2018-2023 Valve Corporation -Copyright (c) 2018-2023 LunarG, Inc. -Copyright (c) 2023-2023 RasterGrid Kft. - -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 - - http://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. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2017 The Glslang Authors. All rights reserved. -Copyright (c) 2018-2024 Valve Corporation -Copyright (c) 2018-2024 LunarG, Inc. -Copyright (c) 2023-2023 RasterGrid Kft. - -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 - - http://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. --------------------------------------------------------------------------------- -shaderc - -Copyright 2017 The Shaderc Authors. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -sync_http - -Copyright 2017, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -build_config -graphs -io -pkg -stream_transform -term_glyph - -Copyright 2017, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -pkg - -Copyright 2017, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -pkg - -Copyright 2017, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -file -json_annotation -platform - -Copyright 2017, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2018 Dan Field - -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 - - http://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. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2018 Dan Field. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2018 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2018 Google Inc. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2018 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2018 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2018 Google Inc. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2018 Google LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2018 Google LLC. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2018 Google LLC. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2018 Google LLC. -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2018 Google, LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -cpu_features - -Copyright 2018 IBM - -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 - - http://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. --------------------------------------------------------------------------------- -cpu_features - -Copyright 2018 IBM. - -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 - - http://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. --------------------------------------------------------------------------------- -angle - -Copyright 2018 The ANGLE Project Authors. All rights reserved. - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2018 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2018 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2018 The Bazel Authors. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -zlib - -Copyright 2018 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the Chromium source repository LICENSE file. --------------------------------------------------------------------------------- -_devtools -accessibility -angle -devtools_app -skia - -Copyright 2018 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -angle -skia - -Copyright 2018 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2018 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2018 The Go 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 - - http://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. --------------------------------------------------------------------------------- -re2 - -Copyright 2018 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -shaderc - -Copyright 2018 The Shaderc Authors. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2018 The SwiftShader Authors. All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2018 The SwiftShader Authors. All Rights Reserved. - -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 - -http://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. --------------------------------------------------------------------------------- -libcxx - -Copyright 2018 Ulf Adams -Copyright (c) Microsoft Corporation. All rights reserved. - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -pubspec_parse - -Copyright 2018, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -build_resolvers -build_runner_core -test_api -test_core -timing - -Copyright 2018, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google Inc. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2019 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google Inc. and Adobe Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2019 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google LLC -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google LLC. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google LLC. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google LLC. -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2019 Google, LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2019 The ANGLE Project Authors. All rights reserved. - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. --------------------------------------------------------------------------------- -angle -xxhash - -Copyright 2019 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2019 The ANGLE Project. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2019 The ANGLE project authors. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the LICENSE file --------------------------------------------------------------------------------- -angle - -Copyright 2019 The Android Open Source Project - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2019 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -zlib - -Copyright 2019 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the Chromium source repository LICENSE file. --------------------------------------------------------------------------------- -accessibility -devtools_test - -Copyright 2019 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -dart -skia - -Copyright 2019 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility - -Copyright 2019 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -devtools - -Copyright 2019 The Flutter Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file --------------------------------------------------------------------------------- -flutter - -Copyright 2019 The Flutter Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2019 The Fuchsia Authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2019 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -angle - -Copyright 2019 The Fuchsia Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2019 The Go 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 - - http://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. --------------------------------------------------------------------------------- -re2 - -Copyright 2019 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -shaderc - -Copyright 2019 The Shaderc Authors. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2019 The SwiftShader Authors. All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2019 The SwiftShader Authors. All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2019 The SwiftShader Authors. All Rights Reserved. - -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 - -http://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. --------------------------------------------------------------------------------- -_fe_analyzer_shared -sse - -Copyright 2019, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -build_daemon -characters -ffi -package_config - -Copyright 2019, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -checked_yaml - -Copyright 2019, the Dart project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -vulkan-deps - -Copyright 2019-2021 Hans-Kristian Arntzen - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2020 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2020 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2020 Google LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2020 Google LLC. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2020 Google LLC. -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2020 Google, LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2020 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2020 The ANGLE Project. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -abseil-cpp - -Copyright 2020 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -accessibility -devtools -devtools_shared - -Copyright 2020 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -accessibility -angle -perfetto -skia - -Copyright 2020 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -devtools - -Copyright 2020 The Flutter Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file --------------------------------------------------------------------------------- -pkg - -Copyright 2020 The Flutter Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -pkg - -Copyright 2020 The Flutter Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2020 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -angle -swiftshader - -Copyright 2020 The SwiftShader Authors. All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2020 The SwiftShader Authors. All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -dds_service_extensions -vm_snapshot_analysis - -Copyright 2020, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -yaml_edit - -Copyright 2020, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -frontend_server_client - -Copyright 2020, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2021 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2021 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2021 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2021 Google LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2021 Google LLC. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2021 Google LLC. -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2021 Google, LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2021 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2021 The ANGLE Project. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libjxl - -Copyright 2021 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -libjxl -skia -vulkan-deps - -Copyright 2021 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -devtools - -Copyright 2021 The Flutter Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2021 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2021 The SwiftShader Authors. All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -lints - -Copyright 2021, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -pkg - -Copyright 2021, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -pkg - -Copyright 2021, the Dart project authors. Please see the AUTHORS file -for details. All rights reserved. Use of this source code is governed by a -BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2021-2022 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -yapf - -Copyright 2022 Bill Wendling, All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2022 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -libwebp - -Copyright 2022 Google Inc. All Rights Reserved. - -Use of this source code is governed by a BSD-style license -that can be found in the COPYING file in the root of the source -tree. An additional intellectual property rights grant can be found -in the file PATENTS. All contributing project authors may -be found in the AUTHORS file in the root of the source tree. --------------------------------------------------------------------------------- -flatbuffers - -Copyright 2022 Google Inc. All rights reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -cpu_features - -Copyright 2022 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -flutter -skia - -Copyright 2022 Google LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2022 Google LLC -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2022 Google LLC. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2022 Google LLC. -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2022 Google, LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -cpu_features - -Copyright 2022 IBM - -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 - - http://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. --------------------------------------------------------------------------------- -cpu_features - -Copyright 2022 IBM. - -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 - - http://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. --------------------------------------------------------------------------------- -angle - -Copyright 2022 The ANGLE Project Authors. All rights reserved. - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2022 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -zlib - -Copyright 2022 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the Chromium source repository LICENSE file. --------------------------------------------------------------------------------- -zlib - -Copyright 2022 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -zlib - -Copyright 2022 The Chromium Authors -Use of this source code is governed by a BSD-style license that can be -found in the chromium source repository LICENSE file. --------------------------------------------------------------------------------- -dart -skia - -Copyright 2022 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -devtools - -Copyright 2022 The Flutter Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2022 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -re2 - -Copyright 2022 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -swiftshader - -Copyright 2022 The SwiftShader Authors. All Rights Reserved. - -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 - - http://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. --------------------------------------------------------------------------------- -leak_tracker -leak_tracker_flutter_testing -leak_tracker_testing - -Copyright 2022, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2023 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2023 Google Inc. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -cpu_features - -Copyright 2023 Google LLC - -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 - - http://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. --------------------------------------------------------------------------------- -skia - -Copyright 2023 Google LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2023 Google LLC - -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2023 Google LLC -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2023 Google LLC. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2023 Google, LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright 2023 The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2023 The Android Open Source Project - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -devtools_app_shared -devtools_extensions - -Copyright 2023 The Chromium Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2023 The Chromium Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -devtools - -Copyright 2023 The Flutter Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2023 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -re2 - -Copyright 2023 The RE2 Authors. All Rights Reserved. -Use of this source code is governed by a BSD-style -license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -cli_config -dart_service_protocol_shared -dtd -extension_discovery -unified_analytics -vm_service_protos - -Copyright 2023, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -web - -Copyright 2023, the Dart project authors. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +---------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia +ICU License - ICU 1.8.1 to ICU 57.1 -Copyright 2024 Google Inc. +COPYRIGHT AND PERMISSION NOTICE -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia +Copyright (c) 1995-2016 International Business Machines Corporation and others +All rights reserved. -Copyright 2024 Google LLC +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF +CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -Copyright 2024 Google LLC. +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia +All trademarks and registered trademarks mentioned herein are the +property of their respective owners. -Copyright 2024 Google LLC. -Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --------------------------------------------------------------------------------- -skia +---------------------------------------------------------------------- -Copyright 2024 Google, LLC +Chinese/Japanese Word Break Dictionary Data (cjdict.txt) -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia + # The Google Chrome software developed by Google is licensed under + # the BSD license. Other software included in this distribution is + # provided under other licenses, as set forth below. + # + # The BSD License + # http://opensource.org/licenses/bsd-license.php + # Copyright (C) 2006-2008, Google Inc. + # + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided with + # the distribution. + # Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + # + # + # The word list in cjdict.txt are generated by combining three word lists + # listed below with further processing for compound word breaking. The + # frequency is generated with an iterative training against Google web + # corpora. + # + # * Libtabe (Chinese) + # - https://sourceforge.net/project/?group_id=1519 + # - Its license terms and conditions are shown below. + # + # * IPADIC (Japanese) + # - http://chasen.aist-nara.ac.jp/chasen/distribution.html + # - Its license terms and conditions are shown below. + # + # ---------COPYING.libtabe ---- BEGIN-------------------- + # + # /* + # * Copyright (c) 1999 TaBE Project. + # * Copyright (c) 1999 Pai-Hsiang Hsiao. + # * All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the TaBE Project nor the names of its + # * contributors may be used to endorse or promote products derived + # * from this software without specific prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # /* + # * Copyright (c) 1999 Computer Systems and Communication Lab, + # * Institute of Information Science, Academia + # * Sinica. All rights reserved. + # * + # * Redistribution and use in source and binary forms, with or without + # * modification, are permitted provided that the following conditions + # * are met: + # * + # * . Redistributions of source code must retain the above copyright + # * notice, this list of conditions and the following disclaimer. + # * . Redistributions in binary form must reproduce the above copyright + # * notice, this list of conditions and the following disclaimer in + # * the documentation and/or other materials provided with the + # * distribution. + # * . Neither the name of the Computer Systems and Communication Lab + # * nor the names of its contributors may be used to endorse or + # * promote products derived from this software without specific + # * prior written permission. + # * + # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # * OF THE POSSIBILITY OF SUCH DAMAGE. + # */ + # + # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, + # University of Illinois + # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 + # + # ---------------COPYING.libtabe-----END-------------------------------- + # + # + # ---------------COPYING.ipadic-----BEGIN------------------------------- + # + # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science + # and Technology. All Rights Reserved. + # + # Use, reproduction, and distribution of this software is permitted. + # Any copy of this software, whether in its original form or modified, + # must include both the above copyright notice and the following + # paragraphs. + # + # Nara Institute of Science and Technology (NAIST), + # the copyright holders, disclaims all warranties with regard to this + # software, including all implied warranties of merchantability and + # fitness, in no event shall NAIST be liable for + # any special, indirect or consequential damages or any damages + # whatsoever resulting from loss of use, data or profits, whether in an + # action of contract, negligence or other tortuous action, arising out + # of or in connection with the use or performance of this software. + # + # A large portion of the dictionary entries + # originate from ICOT Free Software. The following conditions for ICOT + # Free Software applies to the current dictionary as well. + # + # Each User may also freely distribute the Program, whether in its + # original form or modified, to any third party or parties, PROVIDED + # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear + # on, or be attached to, the Program, which is distributed substantially + # in the same form as set out herein and that such intended + # distribution, if actually made, will neither violate or otherwise + # contravene any of the laws and regulations of the countries having + # jurisdiction over the User or the intended distribution itself. + # + # NO WARRANTY + # + # The program was produced on an experimental basis in the course of the + # research and development conducted during the project and is provided + # to users as so produced on an experimental basis. Accordingly, the + # program is provided without any warranty whatsoever, whether express, + # implied, statutory or otherwise. The term "warranty" used herein + # includes, but is not limited to, any warranty of the quality, + # performance, merchantability and fitness for a particular purpose of + # the program and the nonexistence of any infringement or violation of + # any right of any third party. + # + # Each user of the program will agree and understand, and be deemed to + # have agreed and understood, that there is no warranty whatsoever for + # the program and, accordingly, the entire risk arising from or + # otherwise connected with the program is assumed by the user. + # + # Therefore, neither ICOT, the copyright holder, or any other + # organization that participated in or was otherwise related to the + # development of the program and their respective officials, directors, + # officers and other employees shall be held liable for any and all + # damages, including, without limitation, general, special, incidental + # and consequential damages, arising out of or otherwise in connection + # with the use or inability to use the program or any product, material + # or result produced or otherwise obtained by using the program, + # regardless of whether they have been advised of, or otherwise had + # knowledge of, the possibility of such damages at any time during the + # project or thereafter. Each user will be deemed to have agreed to the + # foregoing by his or her commencement of use of the program. The term + # "use" as used herein includes, but is not limited to, the use, + # modification, copying and distribution of the program and the + # production of secondary products from the program. + # + # In the case where the program, whether in its original form or + # modified, was distributed or delivered to or received by a user from + # any person, organization or entity other than ICOT, unless it makes or + # grants independently of ICOT any specific warranty to the user in + # writing, such person, organization or entity, will also be exempted + # from and not be held liable to the user for any such damages as noted + # above as far as the program is concerned. + # + # ---------------COPYING.ipadic-----END---------------------------------- -Copyright 2024 The Android Open Source Project +---------------------------------------------------------------------- -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -devtools +Lao Word Break Dictionary Data (laodict.txt) -Copyright 2024 The Flutter Authors -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file --------------------------------------------------------------------------------- -fuchsia_sdk + # Copyright (C) 2016 and later: Unicode, Inc. and others. + # License & terms of use: http://www.unicode.org/copyright.html + # Copyright (c) 2015 International Business Machines Corporation + # and others. All Rights Reserved. + # + # Project: https://github.com/rober42539/lao-dictionary + # Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt + # License: https://github.com/rober42539/lao-dictionary/LICENSE.txt + # (copied below) + # + # This file is derived from the above dictionary version of Nov 22, 2020 + # ---------------------------------------------------------------------- + # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are met: + # + # Redistributions of source code must retain the above copyright notice, this + # list of conditions and the following disclaimer. Redistributions in binary + # form must reproduce the above copyright notice, this list of conditions and + # the following disclaimer in the documentation and/or other materials + # provided with the distribution. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + # OF THE POSSIBILITY OF SUCH DAMAGE. + # -------------------------------------------------------------------------- -Copyright 2024 The Fuchsia Authors. All rights reserved. +---------------------------------------------------------------------- -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: +Burmese Word Break Dictionary Data (burmesedict.txt) - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. + # Copyright (c) 2014 International Business Machines Corporation + # and others. All Rights Reserved. + # + # This list is part of a project hosted at: + # github.com/kanyawtech/myanmar-karen-word-lists + # + # -------------------------------------------------------------------------- + # Copyright (c) 2013, LeRoy Benjamin Sharon + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions + # are met: Redistributions of source code must retain the above + # copyright notice, this list of conditions and the following + # disclaimer. Redistributions in binary form must reproduce the + # above copyright notice, this list of conditions and the following + # disclaimer in the documentation and/or other materials provided + # with the distribution. + # + # Neither the name Myanmar Karen Word Lists, nor the names of its + # contributors may be used to endorse or promote products derived + # from this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS + # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF + # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + # SUCH DAMAGE. + # -------------------------------------------------------------------------- -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -_macros -macros +---------------------------------------------------------------------- -Copyright 2024, the Dart project authors. +Time Zone Database -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: + ICU uses the public domain data and code derived from Time Zone +Database for its time zone support. The ownership of the TZ database +is explained in BCP 175: Procedure for Maintaining the Time Zone +Database section 7. - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + # 7. Database Ownership + # + # The TZ database itself is not an IETF Contribution or an IETF + # document. Rather it is a pre-existing and regularly updated work + # that is in the public domain, and is intended to remain in the + # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do + # not apply to the TZ Database or contributions that individuals make + # to it. Should any claims be made and substantiated against the TZ + # Database, the organization that is providing the IANA + # Considerations defined in this RFC, under the memorandum of + # understanding with the IETF, currently ICANN, may act in accordance + # with all competent court orders. No ownership claims will be made + # by ICANN or the IETF Trust on the database or the code. Any person + # making a contribution to the database or code waives all rights to + # future claims in that contribution or in the TZ Database. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -web_socket +---------------------------------------------------------------------- -Copyright 2024, the Dart project authors. +Google double-conversion +Copyright 2006-2011, the V8 project authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -34959,7 +22978,7 @@ met: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google LLC nor the names of its + * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -34974,11205 +22993,7149 @@ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -skia - -Copyright 2025 Google Inc. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -dawn -skia - -Copyright 2025 Google LLC - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2025 Google LLC -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -skia - -Copyright 2025 Google LLC. - -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -dart - -Copyright 2025 The Dart Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -fuchsia_sdk - -Copyright 2025 The Fuchsia Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --------------------------------------------------------------------------------- -angle - -Copyright The ANGLE Project Authors. All rights reserved. - Use of this source code is governed by a BSD-style license that can be - found in the LICENSE file. --------------------------------------------------------------------------------- -angle - -Copyright The ANGLE Project Authors. All rights reserved. -Use of this source code is governed by a BSD-style license that can be -found in the LICENSE file. --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2004,2007,2009 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - - This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -Red Hat Author(s): Owen Taylor, Behdad Esfahbod -Google Author(s): Behdad Esfahbod - --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2004,2007,2009 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2004,2007,2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - - This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -Red Hat Author(s): Owen Taylor, Behdad Esfahbod -Google Author(s): Behdad Esfahbod - --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2004,2007,2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2006 Behdad Esfahbod -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. - - This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod - --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 1998-2004 David Turner and Werner Lemberg -Copyright © 2006 Behdad Esfahbod -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007 Chris Wilson -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - - This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -Contributor(s): -Chris Wilson -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod - --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007 Chris Wilson -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. - - This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -Red Hat Author(s): Behdad Esfahbod - --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. - -This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2010,2011,2012 Google, Inc. - - This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +---------------------------------------------------------------------- --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2010,2011,2012 Google, Inc. +File: install-sh (only for ICU4C) -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright 1991 by the Massachusetts Institute of Technology -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of M.I.T. not be used in advertising or +publicity pertaining to distribution of the software without specific, +written prior permission. M.I.T. makes no representations about the +suitability of this software for any purpose. It is provided "as is" +without express or implied warranty. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2010,2012 Google, Inc. - - This is part of HarfBuzz, a text shaping library. - -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. - -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. - -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +libcxx --------------------------------------------------------------------------------- -harfbuzz +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2010,2012 Google, Inc. +See Terms of Use +for definitions of Unicode Inc.'s Data Files and Software. - This is part of HarfBuzz, a text shaping library. +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +COPYRIGHT AND PERMISSION NOTICE -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1991-2022 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in https://www.unicode.org/copyright.html. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod, Garret Rieger +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2010,2012 Google, Inc. +llvm_libc -This is part of HarfBuzz, a text shaping library. +University of Illinois/NCSA +Open Source License -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (c) 2007-2019 University of Illinois at Urbana-Champaign. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Developed by: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz + LLVM Team -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. + University of Illinois at Urbana-Champaign - This is part of HarfBuzz, a text shaping library. + http://llvm.org -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +libcxx +libcxxabi -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. +University of Illinois/NCSA +Open Source License -This is part of HarfBuzz, a text shaping library. +Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Developed by: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz + LLVM Team -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012 Google, Inc. + University of Illinois at Urbana-Champaign - This is part of HarfBuzz, a text shaping library. + http://llvm.org -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012 Google, Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2004 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016-2019 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2018 Yury Gribov +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2005 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2016-2025 Sebastian Pipping +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2017 Rhodri James +Copyright (c) 2022 Thijs Schreijer +Copyright (c) 2023 Hanno Böck +Copyright (c) 2023 Sony Corporation / Snild Dolkow +Copyright (c) 2024 Taichi Haradaguchi <20001722@ymail.ne.jp> +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2002 Fred L. Drake, Jr. +Copyright (c) 2006 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. -Copyright © 2019, Facebook Inc. - - This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016-2024 Sebastian Pipping +Copyright (c) 2016 Pascal Cuoq +Copyright (c) 2016 Don Lewis +Copyright (c) 2017 Rhodri James +Copyright (c) 2017 Alexander Bluhm +Copyright (c) 2017 Benbuck Nason +Copyright (c) 2017 José Gutiérrez de la Concha +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Donghee Na +Copyright (c) 2022 Martin Ettl +Copyright (c) 2022 Sean McBride +Copyright (c) 2023 Hanno Böck +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod -Facebook Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2012,2013 Google, Inc. -Copyright © 2019, Facebook Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2009 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2023 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2020 Joe Orton +Copyright (c) 2020 Kleber Tarcísio +Copyright (c) 2021 Tim Bray +Copyright (c) 2022 Martin Ettl +Copyright (c) 2022 Sean McBride +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2018,2019,2020 Ebrahim Byagowi -Copyright © 2018 Khaled Hosny - - This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2001-2004 Fred L. Drake, Jr. +Copyright (c) 2002-2009 Karl Waclawek +Copyright (c) 2016-2017 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2017 Franek Korta +Copyright (c) 2022 Sean McBride +Copyright (c) 2025 Hanno Böck +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009 Red Hat, Inc. -Copyright © 2018,2019,2020 Ebrahim Byagowi -Copyright © 2018 Khaled Hosny - -This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2002-2005 Karl Waclawek +Copyright (c) 2016-2024 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2010,2012 Google, Inc. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. - This is part of HarfBuzz, a text shaping library. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2005 Karl Waclawek +Copyright (c) 2016-2023 Sebastian Pipping +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2010,2012 Google, Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2005-2006 Karl Waclawek +Copyright (c) 2016-2019 Sebastian Pipping +Copyright (c) 2019 David Loffredo +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2010,2012,2013 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2017 Sebastian Pipping +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2010,2012,2013 Google, Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2022 Martin Ettl +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2024 Sebastian Pipping +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012 Google, Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2017 Sebastian Pipping +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012,2018 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016-2023 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Donghee Na +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012,2018 Google, Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Karl Waclawek +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2017-2024 Sebastian Pipping +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012,2018 Google, Inc. -Copyright © 2019 Facebook, Inc. - - This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2004-2006 Karl Waclawek +Copyright (c) 2005-2007 Steven Solie +Copyright (c) 2016-2023 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Donghee Na +Copyright (c) 2024 Hanno Böck +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod -Facebook Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2007,2008,2009,2010 Red Hat, Inc. -Copyright © 2012,2018 Google, Inc. -Copyright © 2019 Facebook, Inc. +expat -This is part of HarfBuzz, a text shaping library. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2017-2019 Sebastian Pipping +Licensed under the MIT license: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -swiftshader +expat -Copyright © 2008 Kristian Høgsberg +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2017 Sebastian Pipping +Licensed under the MIT license: -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial -portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -swiftshader +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -Copyright © 2008-2011 Kristian Høgsberg -Copyright © 2010-2011 Intel Corporation -Copyright © 2012-2013 Collabora, Ltd. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation files -(the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial -portions of the Software. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2016-2018 Sebastian Pipping +Copyright (c) 2018 Marco Maggi +Licensed under the MIT license: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -harfbuzz +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Copyright © 2009 Red Hat, Inc. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. - This is part of HarfBuzz, a text shaping library. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2016-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2009 Red Hat, Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1999-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Fred L. Drake, Jr. +Copyright (c) 2007 Karl Waclawek +Copyright (c) 2017 Sebastian Pipping +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2009 Red Hat, Inc. -Copyright © 2009 Keith Stribley -Copyright © 2011 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +expat -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2005 Karl Waclawek +Copyright (c) 2017-2023 Sebastian Pipping +Copyright (c) 2023 Orgad Shaneh +Licensed under the MIT license: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2009 Red Hat, Inc. -Copyright © 2009 Keith Stribley -Copyright © 2011 Google, Inc. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 2000 Clark Cooper +Copyright (c) 2017 Sebastian Pipping +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2009 Red Hat, Inc. -Copyright © 2009 Keith Stribley -Copyright © 2015 Google, Inc. +expat - This is part of HarfBuzz, a text shaping library. +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (c) 2022 Mark Brand +Copyright (c) 2025 Sebastian Pipping +Licensed under the MIT license: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------- +inja +___ _ Version 3.3 +|_ _|_ __ (_) __ _ https://github.com/pantor/inja +| || '_ \ | |/ _` | Licensed under the MIT License . +| || | | || | (_| | +|___|_| |_|/ |\__,_| Copyright (c) 2018-2021 Lars Berscheid +|__/ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz +expat -Copyright © 2009 Red Hat, Inc. -Copyright © 2009 Keith Stribley -Copyright © 2015 Google, Inc. +d19ae032c224863c1527ba44d228cc34b99192c3a4c5a27af1f4e054d45ee031 (2.7.1+) +__ __ _ +___\ \/ /_ __ __ _| |_ +/ _ \\ /| '_ \ / _` | __| +| __// \| |_) | (_| | |_ +\___/_/\_\ .__/ \__,_|\__| +|_| XML parser -This is part of HarfBuzz, a text shaping library. +Copyright (c) 1997-2000 Thai Open Source Software Center Ltd +Copyright (c) 2000 Clark Cooper +Copyright (c) 2000-2006 Fred L. Drake, Jr. +Copyright (c) 2001-2002 Greg Stein +Copyright (c) 2002-2016 Karl Waclawek +Copyright (c) 2005-2009 Steven Solie +Copyright (c) 2016 Eric Rahm +Copyright (c) 2016-2025 Sebastian Pipping +Copyright (c) 2016 Gaurav +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2016 Gustavo Grieco +Copyright (c) 2016 Pascal Cuoq +Copyright (c) 2016 Ed Schouten +Copyright (c) 2017-2022 Rhodri James +Copyright (c) 2017 Václav Slavík +Copyright (c) 2017 Viktor Szakats +Copyright (c) 2017 Chanho Park +Copyright (c) 2017 Rolf Eike Beer +Copyright (c) 2017 Hans Wennborg +Copyright (c) 2018 Anton Maklakov +Copyright (c) 2018 Benjamin Peterson +Copyright (c) 2018 Marco Maggi +Copyright (c) 2018 Mariusz Zaborski +Copyright (c) 2019 David Loffredo +Copyright (c) 2019-2020 Ben Wagner +Copyright (c) 2019 Vadim Zeitlin +Copyright (c) 2021 Donghee Na +Copyright (c) 2022 Samanta Navarro +Copyright (c) 2022 Jeffrey Walton +Copyright (c) 2022 Jann Horn +Copyright (c) 2022 Sean McBride +Copyright (c) 2023 Owain Davies +Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow +Copyright (c) 2024-2025 Berkay Eren Ürün +Copyright (c) 2024 Hanno Böck +Licensed under the MIT license: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Codethink Limited -Copyright © 2010,2011,2012 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +libjpeg-turbo -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +libjpeg-turbo Licenses +====================== -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +libjpeg-turbo is covered by three compatible BSD-style open source licenses: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) -Red Hat Author(s): Behdad Esfahbod -Codethink Author(s): Ryan Lortie -Google Author(s): Behdad Esfahbod + This license applies to the libjpeg API library and associated programs + (any code inherited from libjpeg, and any modifications to that code.) --------------------------------------------------------------------------------- -harfbuzz +- The Modified (3-clause) BSD License, which is listed in + [turbojpeg.c](turbojpeg.c) -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Codethink Limited -Copyright © 2010,2011,2012 Google, Inc. + This license covers the TurboJPEG API library and associated programs. -This is part of HarfBuzz, a text shaping library. +- The zlib License, which is listed in [simd/jsimdext.inc](simd/jsimdext.inc) -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + This license is a subset of the other two, and it covers the libjpeg-turbo + SIMD extensions. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz +Complying with the libjpeg-turbo Licenses +========================================= -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Codethink Limited -Copyright © 2011,2012 Google, Inc. +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. - This is part of HarfBuzz, a text shaping library. +1. If you are distributing a modified version of the libjpeg-turbo source, + then: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + 1. You cannot alter or remove any existing copyright or license notices + from the source. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file (if + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) -Red Hat Author(s): Behdad Esfahbod -Codethink Author(s): Ryan Lortie -Google Author(s): Behdad Esfahbod + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License --------------------------------------------------------------------------------- -harfbuzz + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Codethink Limited -Copyright © 2011,2012 Google, Inc. + **Origin** + - Clause 1 of the IJG License -This is part of HarfBuzz, a text shaping library. +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + 1. Your product documentation must include a message stating: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + This software is based in part on the work of the Independent JPEG + Group. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz + **Origin** + - Clause 2 of the IJG license -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Google, Inc. + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License. - This is part of HarfBuzz, a text shaping library. + **Origin** + - Clause 2 of the Modified BSD License -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + **Origin** + - IJG License + - Clause 3 of the Modified BSD License -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod + **Origin** + - IJG License + - Modified BSD License + - zlib License -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Google, Inc. +libjpeg-turbo - This is part of HarfBuzz, a text shaping library. +libjpeg-turbo note: This file has been modified by The libjpeg-turbo Project +to include only information relevant to libjpeg-turbo, to wordsmith certain +sections, and to remove impolitic language that existed in the libjpeg v8 +README. It is included only for reference. Please see README.md for +information specific to libjpeg-turbo. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The Independent JPEG Group's JPEG software +========================================== -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +This distribution contains a release of the Independent JPEG Group's free JPEG +software. You are welcome to redistribute this software and to use it for any +purpose, subject to the conditions under LEGAL ISSUES, below. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod, Roozbeh Pournader +This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone, +Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, +Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, +and other members of the Independent JPEG Group. --------------------------------------------------------------------------------- -harfbuzz +IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee +(also known as JPEG, together with ITU-T SG16). -Copyright © 2009 Red Hat, Inc. -Copyright © 2011 Google, Inc. -This is part of HarfBuzz, a text shaping library. +DOCUMENTATION ROADMAP +===================== -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +This file contains the following sections: -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +OVERVIEW General description of JPEG and the IJG software. +LEGAL ISSUES Copyright, lack of warranty, terms of distribution. +REFERENCES Where to learn more about JPEG. +ARCHIVE LOCATIONS Where to find newer versions of this software. +FILE FORMAT WARS Software *not* to get. +TO DO Plans for future IJG releases. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz +Other documentation files in the distribution are: -Copyright © 2009 Red Hat, Inc. -Copyright © 2012 Google, Inc. +User documentation: + usage.txt Usage instructions for cjpeg, djpeg, jpegtran, + rdjpgcom, and wrjpgcom. + *.1 Unix-style man pages for programs (same info as usage.txt). + wizard.txt Advanced usage instructions for JPEG wizards only. + change.log Version-to-version change highlights. +Programmer and internal documentation: + libjpeg.txt How to use the JPEG library in your own programs. + example.c Sample code for calling the JPEG library. + structure.txt Overview of the JPEG library's internal structure. + coderules.txt Coding style rules --- please read if you contribute code. - This is part of HarfBuzz, a text shaping library. +Please read at least usage.txt. Some information can also be found in the JPEG +FAQ (Frequently Asked Questions) article. See ARCHIVE LOCATIONS below to find +out where to obtain the FAQ article. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +If you want to understand how the JPEG code works, we suggest reading one or +more of the REFERENCES, then looking at the documentation files (in roughly +the order listed) before diving into the code. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +OVERVIEW +======== -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +This package contains C software to implement JPEG image encoding, decoding, +and transcoding. JPEG (pronounced "jay-peg") is a standardized compression +method for full-color and grayscale images. JPEG's strong suit is compressing +photographic images or other types of images that have smooth color and +brightness transitions between neighboring pixels. Images with sharp lines or +other abrupt features may not compress well with JPEG, and a higher JPEG +quality may have to be used to avoid visible compression artifacts with such +images. --------------------------------------------------------------------------------- -harfbuzz +JPEG is lossy, meaning that the output pixels are not necessarily identical to +the input pixels. However, on photographic content and other "smooth" images, +very good compression ratios can be obtained with no visible compression +artifacts, and extremely high compression ratios are possible if you are +willing to sacrifice image quality (by reducing the "quality" setting in the +compressor.) -Copyright © 2009 Red Hat, Inc. -Copyright © 2012 Google, Inc. +This software implements JPEG baseline, extended-sequential, and progressive +compression processes. Provision is made for supporting all variants of these +processes, although some uncommon parameter settings aren't implemented yet. +We have made no provision for supporting the hierarchical or lossless +processes defined in the standard. -This is part of HarfBuzz, a text shaping library. +We provide a set of library routines for reading and writing JPEG image files, +plus two sample applications "cjpeg" and "djpeg", which use the library to +perform conversion between JPEG and some other popular image file formats. +The library is intended to be reused in other applications. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +In order to support file conversion and viewing software, we have included +considerable functionality beyond the bare JPEG coding/decoding capability; +for example, the color quantization modules are not strictly part of JPEG +decoding, but they are essential for output to colormapped file formats or +colormapped displays. These extra functions can be compiled out of the +library if not required for a particular application. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +We have also included "jpegtran", a utility for lossless transcoding between +different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple +applications for inserting and extracting textual comments in JFIF files. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz +The emphasis in designing this software has been on achieving portability and +flexibility, while also making it fast enough to be useful. In particular, +the software is not intended to be read as a tutorial on JPEG. (See the +REFERENCES section for introductory material.) Rather, it is intended to +be reliable, portable, industrial-strength code. We do not claim to have +achieved that goal in every aspect of the software, but we strive for it. -Copyright © 2009 Red Hat, Inc. -Copyright © 2015 Google, Inc. +We welcome the use of this software as a component of commercial products. +No royalty is required, but we do ask for an acknowledgement in product +documentation, as described under LEGAL ISSUES. - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +LEGAL ISSUES +============ -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +In plain English: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +1. We don't promise that this software works. (But if you find any bugs, + please let us know!) +2. You can use this software for whatever you want. You don't have to pay us. +3. You may not pretend that you wrote this software. If you use it in a + program, you must acknowledge somewhere in your documentation that + you've used the IJG code. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +In legalese: --------------------------------------------------------------------------------- -harfbuzz +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. -Copyright © 2009 Red Hat, Inc. -Copyright © 2015 Google, Inc. +This software is copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding. +All Rights Reserved except as specified below. -This is part of HarfBuzz, a text shaping library. +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. -Copyright © 2009 Red Hat, Inc. -Copyright © 2018 Ebrahim Byagowi - This is part of HarfBuzz, a text shaping library. +The Unix configuration script "configure" was produced with GNU Autoconf. +It is copyright by the Free Software Foundation but is freely distributable. +The same holds for its supporting scripts (config.guess, config.sub, +ltmain.sh). Another support script, install-sh, is copyright by X Consortium +but is also freely distributable. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +The IJG distribution formerly included code to read and write GIF files. +To avoid entanglement with the Unisys LZW patent (now expired), GIF reading +support has been removed altogether, and the GIF writer has been simplified +to produce "uncompressed GIFs". This technique does not use the LZW +algorithm; the resulting GIF files are larger than usual, but are readable +by all standard GIF decoders. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +We are required to state that + "The Graphics Interchange Format(c) is the Copyright property of + CompuServe Incorporated. GIF(sm) is a Service Mark property of + CompuServe Incorporated." -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Red Hat Author(s): Behdad Esfahbod +REFERENCES +========== --------------------------------------------------------------------------------- -harfbuzz +We recommend reading one or more of these references before trying to +understand the innards of the JPEG software. -Copyright © 2009 Red Hat, Inc. -Copyright © 2018 Ebrahim Byagowi +The best short technical introduction to the JPEG compression algorithm is + Wallace, Gregory K. "The JPEG Still Picture Compression Standard", + Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. +(Adjacent articles in that issue discuss MPEG motion picture compression, +applications of JPEG, and related topics.) If you don't have the CACM issue +handy, a PDF file containing a revised version of Wallace's article is +available at http://www.ijg.org/files/Wallace.JPEG.pdf. The file (actually +a preprint for an article that appeared in IEEE Trans. Consumer Electronics) +omits the sample images that appeared in CACM, but it includes corrections +and some added material. Note: the Wallace article is copyright ACM and IEEE, +and it may not be used for commercial purposes. -This is part of HarfBuzz, a text shaping library. +A somewhat less technical, more leisurely introduction to JPEG can be found in +"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by +M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides +good explanations and example C code for a multitude of compression methods +including JPEG. It is an excellent source if you are comfortable reading C +code but don't know much about data compression in general. The book's JPEG +sample code is far from industrial-strength, but when you are ready to look +at a full implementation, you've got one here... -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +The best currently available description of JPEG is the textbook "JPEG Still +Image Data Compression Standard" by William B. Pennebaker and Joan L. +Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. +Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG +standards (DIS 10918-1 and draft DIS 10918-2). -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The original JPEG standard is divided into two parts, Part 1 being the actual +specification, while Part 2 covers compliance testing methods. Part 1 is +titled "Digital Compression and Coding of Continuous-tone Still Images, +Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS +10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of +Continuous-tone Still Images, Part 2: Compliance testing" and has document +numbers ISO/IEC IS 10918-2, ITU-T T.83. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz +The JPEG standard does not specify all details of an interchangeable file +format. For the omitted details we follow the "JFIF" conventions, revision +1.02. JFIF 1.02 has been adopted as an Ecma International Technical Report +and thus received a formal publication status. It is available as a free +download in PDF format from +http://www.ecma-international.org/publications/techreports/E-TR-098.htm. +A PostScript version of the JFIF document is available at +http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at +http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures. -Copyright © 2009 Red Hat, Inc. -Copyright © 2018 Google, Inc. +The TIFF 6.0 file format specification can be obtained by FTP from +ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme +found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. +IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). +Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 +(Compression tag 7). Copies of this Note can be obtained from +http://www.ijg.org/files/. It is expected that the next revision +of the TIFF spec will replace the 6.0 JPEG design with the Note's design. +Although IJG's own code does not support TIFF/JPEG, the free libtiff library +uses our library to implement TIFF/JPEG per the Note. - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +ARCHIVE LOCATIONS +================= -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +The "official" archive site for this software is www.ijg.org. +The most recent released version can always be found there in +directory "files". -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +The JPEG FAQ (Frequently Asked Questions) article is a source of some +general information about JPEG. +It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ +and other news.answers archive sites, including the official news.answers +archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. +If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu +with body + send usenet/news.answers/jpeg-faq/part1 + send usenet/news.answers/jpeg-faq/part2 -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod --------------------------------------------------------------------------------- -harfbuzz +FILE FORMAT WARS +================ -Copyright © 2009 Red Hat, Inc. -Copyright © 2018 Google, Inc. +The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together +with ITU-T SG16) currently promotes different formats containing the name +"JPEG" which are incompatible with original DCT-based JPEG. IJG therefore does +not support these formats (see REFERENCES). Indeed, one of the original +reasons for developing this free software was to help force convergence on +common, interoperable format standards for JPEG files. +Don't use an incompatible file format! +(In any case, our decoder will remain capable of reading existing JPEG +image files indefinitely.) -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +TO DO +===== -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2012 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +freetype2 -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +version 1.2.11, January 15th, 2017 -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -harfbuzz +zlib -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2012 Google, Inc. +version 1.2.12, March 27th, 2022 -This is part of HarfBuzz, a text shaping library. +Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2012,2013 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +zlib -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +version 1.3.0.1, August xxth, 2023 -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: +1. The origin of this software must not be misrepresented; you must not +claim that you wrote the original software. If you use this software +in a product, an acknowledgment in the product documentation would be +appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be +misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -harfbuzz +xxhash -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2012,2013 Google, Inc. +xxHash Library +Copyright (c) 2012-2014, Yann Collet +All rights reserved. -This is part of HarfBuzz, a text shaping library. +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2013 Google, Inc. +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2010,2011,2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. + +-------------------------------------------------------------------------------- +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2001, International Business Machines + Corporation and others. All Rights Reserved. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2009,2010 Red Hat, Inc. -Copyright © 2011,2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (C) 2002-2006 IBM, Inc. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2010 Google, Inc. +-------------------------------------------------------------------------------- +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 1996-2013, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2010 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1996-2013, International Business Machines + Corporation and others. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2010 Red Hat, Inc. -Copyright © 2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1996-2013, International Business Machines Corporation + and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Red Hat Author(s): Behdad Esfahbod -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2010 Red Hat, Inc. -Copyright © 2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1996-2014, International Business Machines + Corporation and others. All Rights Reserved. + -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2010,2011 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1996-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2010,2011 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2005, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2010,2011,2012 Google, Inc. - This is part of HarfBuzz, a text shaping library. +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1997-2006, International Business Machines + Corporation and others. All Rights Reserved. + -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2010,2011,2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2006, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2010,2011,2013 Google, Inc. +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 1997-2011, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2010,2011,2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2010,2012 Google, Inc. - This is part of HarfBuzz, a text shaping library. +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1997-2011, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2010,2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2012, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2011 Google, Inc. - This is part of HarfBuzz, a text shaping library. +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1997-2012, International Business Machines + Corporation and others. All Rights Reserved. + -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2012, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011 Martin Hosken -Copyright © 2011 SIL International +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2013, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011 Martin Hosken -Copyright © 2011 SIL International +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2013, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2011 Martin Hosken -Copyright © 2011 SIL International -Copyright © 2011,2012 Google, Inc. +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 1997-2014, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011 Martin Hosken -Copyright © 2011 SIL International -Copyright © 2011,2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod, Roderick Sheeter + +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1998-2004, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012 Google, Inc. -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1998-2005, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012 Google, Inc. -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2006, International Business Machines + Corporation and others. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012,2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1998-2006, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012,2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2008, International Business Machines + Corporation and others. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012,2013 Google, Inc. -Copyright © 2021 Khaled Hosny +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1998-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012,2013 Google, Inc. -Copyright © 2021 Khaled Hosny +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1998-2012, International Business Machines + Corporation and others. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012,2014 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1998-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2012,2014 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1998-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2014 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1998-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod, Roozbeh Pournader -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2011,2014 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1998-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2012 Google, Inc. - This is part of HarfBuzz, a text shaping library. + +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1998-2016, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Behdad Esfahbod --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2012 Google, Inc. -This is part of HarfBuzz, a text shaping library. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 1998-2016, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2012 Mozilla Foundation. - This is part of HarfBuzz, a text shaping library. + +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1999-2001, International Business Machines + Corporation and others. All Rights Reserved. -Mozilla Author(s): Jonathan Kew + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2012 Mozilla Foundation. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2003, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -swiftshader +icu -Copyright © 2012 Intel Corporation +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial -portions of the Software. + Copyright (C) 1999-2004, International Business Machines + Corporation and others. All Rights Reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2012,2013 Google, Inc. - This is part of HarfBuzz, a text shaping library. + +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1999-2006, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2012,2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2010, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2012,2013 Mozilla Foundation. -Copyright © 2012,2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2010, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu -Mozilla Author(s): Jonathan Kew -Google Author(s): Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2010, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2012,2013 Mozilla Foundation. -Copyright © 2012,2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2012,2017 Google, Inc. -Copyright © 2021 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2012, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2012,2017 Google, Inc. -Copyright © 2021 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2013, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2012,2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2013, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google Author(s): Behdad Esfahbod + Copyright (C) 1999-2014 International Business Machines + Corporation and others. All Rights Reserved. + + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2012,2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2013 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2013 Red Hat, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 1999-2016 International Business Machines + Corporation and others. All Rights Reserved. -Red Hat Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2013 Red Hat, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2014 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2014 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000-2003, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod, Roozbeh Pournader -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2014 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000-2008, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2015 Google, Inc. -Copyright © 2019 Adobe Inc. -Copyright © 2019 Ebrahim Byagowi - - This is part of HarfBuzz, a text shaping library. +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2000-2010, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Behdad Esfahbod, Garret Rieger, Roderick Sheeter -Adobe Author(s): Michiharu Ariza + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2015 Google, Inc. -Copyright © 2019 Adobe Inc. -Copyright © 2019 Ebrahim Byagowi - -This is part of HarfBuzz, a text shaping library. +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz + Copyright (C) 2000-2011, International Business Machines + Corporation and others. All Rights Reserved. -Copyright © 2015 Mozilla Foundation. -Copyright © 2015 Google, Inc. - This is part of HarfBuzz, a text shaping library. + +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2000-2012, International Business Machines + Corporation and others. All Rights Reserved. -Mozilla Author(s): Jonathan Kew -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2015 Mozilla Foundation. -Copyright © 2015 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000-2013, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2015-2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000-2014, International Business Machines + Corporation and others. All Rights Reserved. + -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2015-2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2000-2015, International Business Machines + Corporation and others. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Elie Roux -Copyright © 2018 Google, Inc. -Copyright © 2018-2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google Author(s): Behdad Esfahbod + Copyright (C) 2000-2015, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Elie Roux -Copyright © 2018 Google, Inc. -Copyright © 2018-2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google Author(s): Behdad Esfahbod --------------------------------------------------------------------------------- -harfbuzz + Copyright (C) 2001-2008, International Business Machines + Corporation and others. All Rights Reserved. -Copyright © 2016 Google, Inc. - This is part of HarfBuzz, a text shaping library. + +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2001-2011, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Seigo Nonaka, Calder Kitagawa + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2001-2012, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Google, Inc. -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Sascha Brawer -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2016 Google, Inc. -Copyright © 2018 Ebrahim Byagowi - - This is part of HarfBuzz, a text shaping library. +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Sascha Brawer, Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Google, Inc. -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2001-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Google, Inc. -Copyright © 2018 Khaled Hosny -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Sascha Brawer, Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Google, Inc. -Copyright © 2018 Khaled Hosny -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2002-2003, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2016 Igalia S.L. - - This is part of HarfBuzz, a text shaping library. +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2002-2006, International Business Machines + Corporation and others. All Rights Reserved. -Igalia Author(s): Frédéric Wang + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2016 Igalia S.L. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2002-2010, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2017 Google, Inc. - - This is part of HarfBuzz, a text shaping library. +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2002-2011 International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2017 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2002-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Red Hat Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2017 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2002-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2017 Google, Inc. -Copyright © 2018 Ebrahim Byagowi +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 2002-2012, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2017 Google, Inc. -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2002-2012, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2013, International Business Machines + Corporation and others. All Rights Reserved. -Copyright © 2017 Google, Inc. -Copyright © 2019 Facebook, Inc. - This is part of HarfBuzz, a text shaping library. + +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2002-2014, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Behdad Esfahbod -Facebook Author(s): Behdad Esfahbod + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2017 Google, Inc. -Copyright © 2019 Facebook, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2002-2015, International Business Machines + Corporation and others. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2017,2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2002-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google Author(s): Behdad Esfahbod --------------------------------------------------------------------------------- -harfbuzz + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. -Copyright © 2017,2018 Google, Inc. -This is part of HarfBuzz, a text shaping library. + +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2003-2004, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2003-2006, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Ebrahim Byagowi -Copyright © 2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2003-2007, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu -Google Author(s): Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2003-2009, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Ebrahim Byagowi -Copyright © 2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2003-2012, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Ebrahim Byagowi -Copyright © 2020 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2003-2013, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2018 Ebrahim Byagowi -Copyright © 2020 Google, Inc. + Copyright (C) 2003-2014, International Business Machines + Corporation and others. All Rights Reserved. - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Calder Kitagawa + Copyright (C) 2003-2015, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Ebrahim Byagowi -Copyright © 2020 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2003-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2018 Ebrahim Byagowi. +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 2004-2005, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Ebrahim Byagowi. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2004-2007, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2004-2010, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu -Google Author(s): Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2018 Google, Inc. + Copyright (C) 2004-2012, International Business Machines + Corporation and others. All Rights Reserved. - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Garret Rieger + Copyright (C) 2004-2014, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2005, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu -Google Author(s): Garret Rieger, Rod Sheeter, Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2005-2012, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2005-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu -Google Author(s): Garret Rieger, Roderick Sheeter +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2005-2016, International Business Machines + Corporation and others. All Rights Reserved. + + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2007, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google Author(s): Rod Sheeter + Copyright (C) 2007-2012, International Business Machines + Corporation and others. All Rights Reserved. + + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2007-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. -Copyright © 2019 Facebook, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2007-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2008-2011, International Business Machines + Corporation, Google and others. All Rights Reserved. + -Google Author(s): Behdad Esfahbod -Facebook Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. -Copyright © 2019 Facebook, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2008-2011, International Business Machines + Corporation, Google and others. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. -Copyright © 2023 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2008-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2008-2016, International Business Machines + Corporation and others. All Rights Reserved. -Google Author(s): Garret Rieger, Roderick Sheeter + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Google, Inc. -Copyright © 2023 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2009, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Adobe Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2009-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Adobe Author(s): Michiharu Ariza +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2011, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018 Adobe Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2009-2012, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018-2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2009-2013, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2018-2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2009-2013, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Adobe Inc. -Copyright © 2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2009-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2009-2015, International Business Machines + Corporation and others. All Rights Reserved. -Adobe Author(s): Michiharu Ariza + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Adobe Inc. -Copyright © 2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2009-2015, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Adobe, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2009-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + + Copyright (C) 2011, International Business Machines + Corporation and others. All Rights Reserved. -Adobe Author(s): Michiharu Ariza + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Adobe, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2011-2014 International Business Machines + Corporation and others. All Rights Reserved. + -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2012,2014 International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2019 Ebrahim Byagowi +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 2012-2016, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2012-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Facebook, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2013-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu -Facebook Author(s): Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2019 Facebook, Inc. + Copyright (C) 2016, International Business Machines + Corporation and others. All Rights Reserved. -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Adobe Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (C) 2001-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu -Adobe Author(s): Michiharu Ariza +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2013, International Business Machines + Corporation and others. All Rights Reserved. + + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019 Adobe Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2019-2020 Ebrahim Byagowi +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (C) 2003-2015, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2019-2020 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (C) 2003-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2020 Ebrahim Byagowi +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +Copyright (C) 2008-2013, International Business Machines Corporation and +others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2020 Ebrahim Byagowi +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (C) 2009-2011, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2020 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (c) 1999-2002, International Business Machines Corporation and +others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1999-2003, International Business Machines Corporation and +others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2020 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +Copyright (c) 1999-2007, International Business Machines Corporation and +others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google Author(s): Garret Rieger + +Copyright (c) 1999-2010, International Business Machines Corporation and +others. All Rights Reserved. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2020 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1996-2015, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1996-2015, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2021 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1996-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1996-2016, International Business Machines + Corporation and others. All Rights Reserved. + -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2021 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1996-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 1996-2016, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2021 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1997-2006, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2021 Behdad Esfahbod. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1997-2009,2014 International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1997-2010, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2021 Behdad Esfahbod. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1997-2011, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1997-2011,2014-2015 International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2021 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1997-2012, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1997-2013, International Business Machines + Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2021 Google, Inc. +-------------------------------------------------------------------------------- +icu -This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2022 Behdad Esfahbod +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1997-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1997-2014, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1997-2015, International Business Machines + Corporation and others. All Rights Reserved. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1997-2015, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +icu -Google Author(s): Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1997-2015, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1997-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1998-2005, International Business Machines + Corporation and others. All Rights Reserved. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1998-2014, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1998-2016, International Business Machines + Corporation and others. All Rights Reserved. + -Google Author(s): Garret Rieger -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2005, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1999-2006, International Business Machines + Corporation and others. All Rights Reserved. + + + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Red Hat, Inc +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2006, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 1999-2006,2013 IBM Corp. All rights reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +-------------------------------------------------------------------------------- +icu -Google Author(s): Matthias Clasen +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2007, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Red Hat, Inc +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2009, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Red Hat, Inc -Copyright © 2021, 2022 Black Foundry +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Google Author(s): Matthias Clasen -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Red Hat, Inc -Copyright © 2021, 2022 Black Foundry +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Red Hat, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Red Hat Author(s): Matthias Clasen + Copyright (C) 1999-2011, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2022 Red Hat, Inc. +icu -This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 1999-2014 International Business Machines Corporation + and others. All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2014, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. --------------------------------------------------------------------------------- -harfbuzz + Copyright (C) 1999-2015 International Business Machines + Corporation and others. All Rights Reserved. -Copyright © 2022 Matthias Clasen - This is part of HarfBuzz, a text shaping library. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 1999-2015, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Matthias Clasen +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2016 International Business Machines Corporation + and others. All rights reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Red Hat, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2016 International Business Machines Corporation + and others. All rights reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. -Red Hat Author(s): Matthias Clasen -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2022 Red Hat, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2023 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2000-2004, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2023 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 2000-2006, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2000-2011, International Business Machines + Corporation and others. All Rights Reserved. + + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2023 Behdad Esfahbod -Copyright © 1999 David Turner -Copyright © 2005 Werner Lemberg -Copyright © 2013-2015 Alexei Podtelezhnikov +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 2000-2011, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2000-2012, International Business Machines + Corporation and others. All Rights Reserved. --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2023 Behdad Esfahbod -Copyright © 1999 David Turner -Copyright © 2005 Werner Lemberg -Copyright © 2013-2015 Alexei Podtelezhnikov + +-------------------------------------------------------------------------------- +icu -This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2023 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2023 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 2001, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google Author(s): Qunxin Liu + Copyright (C) 2001, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2023 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 2001-2006, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2007, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2024 David Corbett +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 2001-2008,2010 IBM and others. All rights reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2001-2010, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2001-2011 IBM and others. All rights reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2024 David Corbett +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 2001-2011, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2001-2011,2014 IBM and others. All rights reserved. + + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2024 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 2001-2012, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2001-2014 IBM and others. All rights reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2024 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 2001-2014 International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + +-------------------------------------------------------------------------------- +icu -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. -Author(s): Behdad Esfahbod --------------------------------------------------------------------------------- -harfbuzz -Copyright © 2024 Google, Inc. +-------------------------------------------------------------------------------- +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google Author(s): Behdad Esfahbod + Copyright (C) 2001-2015 IBM and others. All rights reserved. + -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2024 Google, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2025 Google, Inc. +icu - This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Author(s): Behdad Esfahbod + Copyright (C) 2002-2015 International Business Machines Corporation + and others. All rights reserved. + -------------------------------------------------------------------------------- -harfbuzz - -Copyright © 2025 Google, Inc. +icu -This is part of HarfBuzz, a text shaping library. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. + Copyright (C) 2002-2016 International Business Machines Corporation + and others. All rights reserved. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2025 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This is part of HarfBuzz, a text shaping library. + Copyright (C) 2002-2016 International Business Machines Corporation + and others. All rights reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. -Author(s): Behdad Esfahbod -------------------------------------------------------------------------------- -harfbuzz +icu -Copyright © 2025 Behdad Esfahbod +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This is part of HarfBuzz, a text shaping library. + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + +-------------------------------------------------------------------------------- +icu -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + + Copyright (C) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -glslang -vulkan-deps +icu -Copyright(C) 2021 Advanced Micro Devices, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -All rights reserved. + Copyright (C) 2003-2003, International Business Machines + Corporation and others. All Rights Reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. +-------------------------------------------------------------------------------- +icu - Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - Neither the name of 3Dlabs Inc. Ltd. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. + Copyright (C) 2003-2006, International Business Machines + Corporation and others. All Rights Reserved. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. + -------------------------------------------------------------------------------- -harfbuzz +icu -HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. -For parts of HarfBuzz that are licensed under different licenses see individual -files names COPYING in subdirectories where applicable. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright © 2010-2022 Google, Inc. -Copyright © 2015-2020 Ebrahim Byagowi -Copyright © 2019,2020 Facebook, Inc. -Copyright © 2012,2015 Mozilla Foundation -Copyright © 2011 Codethink Limited -Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) -Copyright © 2009 Keith Stribley -Copyright © 2011 Martin Hosken and SIL International -Copyright © 2007 Chris Wilson -Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod -Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. -Copyright © 1998-2005 David Turner and Werner Lemberg -Copyright © 2016 Igalia S.L. -Copyright © 2022 Matthias Clasen -Copyright © 2018,2021 Khaled Hosny -Copyright © 2018,2019,2020 Adobe, Inc -Copyright © 2013-2015 Alexei Podtelezhnikov + Copyright (C) 2003-2011, International Business Machines + Corporation and others. All Rights Reserved. -For full copyright notices consult the individual files in the package. +-------------------------------------------------------------------------------- +icu -Permission is hereby granted, without written agreement and without -license or royalty fees, to use, copy, modify, and distribute this -software and its documentation for any purpose, provided that the -above copyright notice and the following two paragraphs appear in -all copies of this software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR -DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN -IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. + Copyright (C) 2003-2013, International Business Machines + Corporation and others. All Rights Reserved. -THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS -ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO -PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + -------------------------------------------------------------------------------- -fallback_root_certificates +icu -Mozilla Public License Version 2.0 -================================== +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1. Definitions --------------- + Copyright (C) 2003-2014, International Business Machines + Corporation and others. All Rights Reserved. -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. -1.3. "Contribution" - means Covered Software of a particular Contributor. +-------------------------------------------------------------------------------- +icu -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.5. "Incompatible With Secondary Licenses" - means + Copyright (C) 2003-2014, International Business Machines + Corporation and others. All Rights Reserved. - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or + +-------------------------------------------------------------------------------- +icu - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.6. "Executable Form" - means any form of the work other than Source Code Form. + Copyright (C) 2004-2011, International Business Machines + Corporation and others. All Rights Reserved. -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. -1.8. "License" - means this document. +-------------------------------------------------------------------------------- +icu -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.10. "Modifications" - means any of the following: + Copyright (C) 2004-2015, International Business Machines + Corporation and others. All Rights Reserved. - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or + +-------------------------------------------------------------------------------- +icu - (b) any new file in Source Code Form that contains any Covered - Software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. + Copyright (C) 2004-2016, International Business Machines + Corporation and others. All Rights Reserved. -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. -1.13. "Source Code Form" - means the form of the work preferred for making modifications. +-------------------------------------------------------------------------------- +icu -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -2. License Grants and Conditions --------------------------------- + Copyright (C) 2004-2016, International Business Machines + Corporation and others. All Rights Reserved. -2.1. Grants + +-------------------------------------------------------------------------------- +icu -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and + Copyright (C) 2005-2006, International Business Machines + Corporation and others. All Rights Reserved. -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. -2.2. Effective Date +-------------------------------------------------------------------------------- +icu -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -2.3. Limitations on Grant Scope + Copyright (C) 2005-2008, International Business Machines + Corporation and others. All Rights Reserved. -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: -(a) for any code that a Contributor has removed from Covered Software; - or +-------------------------------------------------------------------------------- +icu -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. + Copyright (C) 2005-2011, International Business Machines + Corporation and others. All Rights Reserved. -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). -2.4. Subsequent Licenses -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). +-------------------------------------------------------------------------------- +icu -2.5. Representation +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. + Copyright (C) 2005-2012, International Business Machines + Corporation and others. All Rights Reserved. -2.6. Fair Use -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. +-------------------------------------------------------------------------------- +icu -2.7. Conditions +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. + Copyright (C) 2005-2013, International Business Machines + Corporation and others. All Rights Reserved. -3. Responsibilities -------------------- -3.1. Distribution of Source Form +-------------------------------------------------------------------------------- +icu -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -3.2. Distribution of Executable Form + Copyright (C) 2005-2013, International Business Machines + Corporation and others. All Rights Reserved. -If You distribute Covered Software in Executable Form then: + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and + Copyright (C) 2005-2014, International Business Machines + Corporation and others. All Rights Reserved. -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. -3.3. Distribution of a Larger Work +-------------------------------------------------------------------------------- +icu -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -3.4. Notices + Copyright (C) 2005-2015, International Business Machines + Corporation and others. All Rights Reserved. -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. -3.5. Application of Additional Terms +-------------------------------------------------------------------------------- +icu -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- + Copyright (C) 2005-2015, International Business Machines + Corporation and others. All Rights Reserved. -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. -5. Termination --------------- -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. +-------------------------------------------------------------------------------- +icu -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. + Copyright (C) 2005-2016, International Business Machines + Corporation and others. All Rights Reserved. -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ +-------------------------------------------------------------------------------- +icu -8. Litigation -------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. + Copyright (C) 2005-2016, International Business Machines + Corporation and others. All Rights Reserved. -9. Miscellaneous ----------------- -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. -10. Versions of the License ---------------------------- +-------------------------------------------------------------------------------- +icu -10.1. New Versions +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. + Copyright (C) 2006 International Business Machines Corporation + and others. All rights reserved. -10.2. Effect of New Versions -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. +-------------------------------------------------------------------------------- +icu -10.3. Modified Versions +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). + Copyright (C) 2006, International Business Machines + Corporation and others. All Rights Reserved. -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. +-------------------------------------------------------------------------------- +icu -Exhibit A - Source Code Form License Notice -------------------------------------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. + Copyright (C) 2008-2011, International Business Machines + Corporation and others. All Rights Reserved. -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. -You may add additional accurate notices of copyright ownership. -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- +-------------------------------------------------------------------------------- +icu - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -You may obtain a copy of this library's Source Code Form from: https://dart.googlesource.com/sdk/+/5ede85aff7987feca316732cfce023aa85c1bdb8 -/third_party/fallback_root_certificates/ + Copyright (C) 2008-2015, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -fallback_root_certificates +icu -Mozilla Public License Version 2.0 -================================== +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1. Definitions --------------- + Copyright (C) 2008-2016, International Business Machines + Corporation and others. All Rights Reserved. -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. +-------------------------------------------------------------------------------- +icu -1.3. "Contribution" - means Covered Software of a particular Contributor. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. + Copyright (C) 2009-2013, International Business Machines + Corporation and others. All Rights Reserved. -1.5. "Incompatible With Secondary Licenses" - means - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. +-------------------------------------------------------------------------------- +icu -1.6. "Executable Form" - means any form of the work other than Source Code Form. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. + Copyright (C) 2009-2014 International Business Machines + Corporation and others. All Rights Reserved. -1.8. "License" - means this document. -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. +-------------------------------------------------------------------------------- +icu -1.10. "Modifications" - means any of the following: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or + Copyright (C) 2009-2015, International Business Machines + Corporation and others. All Rights Reserved. - (b) any new file in Source Code Form that contains any Covered - Software. -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. +-------------------------------------------------------------------------------- +icu -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.13. "Source Code Form" - means the form of the work preferred for making modifications. + Copyright (C) 2009-2016, International Business Machines + Corporation and others. All Rights Reserved. -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. -2. License Grants and Conditions --------------------------------- +-------------------------------------------------------------------------------- +icu -2.1. Grants +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: + Copyright (C) 2009-2016, International Business Machines + Corporation and others. All Rights Reserved. -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. -2.2. Effective Date +-------------------------------------------------------------------------------- +icu -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -2.3. Limitations on Grant Scope + Copyright (C) 2010, International Business Machines + Corporation and others. All Rights Reserved. -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: + +-------------------------------------------------------------------------------- +icu -(a) for any code that a Contributor has removed from Covered Software; - or +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or + Copyright (C) 2010-2011, International Business Machines + Corporation and others. All Rights Reserved. -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. + +-------------------------------------------------------------------------------- +icu -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -2.4. Subsequent Licenses + Copyright (C) 2010-2012, International Business Machines + Corporation and others. All Rights Reserved. -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). -2.5. Representation -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. +-------------------------------------------------------------------------------- +icu -2.6. Fair Use +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. + Copyright (C) 2010-2012, International Business Machines + Corporation and others. All Rights Reserved. -2.7. Conditions + +-------------------------------------------------------------------------------- +icu -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -3. Responsibilities -------------------- + Copyright (C) 2010-2012,2014, International Business Machines + Corporation and others. All Rights Reserved. -3.1. Distribution of Source Form + +-------------------------------------------------------------------------------- +icu -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -3.2. Distribution of Executable Form + Copyright (C) 2010-2015, International Business Machines + Corporation and others. All Rights Reserved. -If You distribute Covered Software in Executable Form then: + +-------------------------------------------------------------------------------- +icu -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. + Copyright (C) 2010-2016, International Business Machines + Corporation and others. All Rights Reserved. -3.3. Distribution of a Larger Work + +-------------------------------------------------------------------------------- +icu -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -3.4. Notices + Copyright (C) 2010-2016, International Business Machines Corporation and + others. All Rights Reserved. -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. -3.5. Application of Additional Terms +-------------------------------------------------------------------------------- +icu -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- + Copyright (C) 2011, International Business Machines + Corporation and others. All Rights Reserved. -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. + +-------------------------------------------------------------------------------- +icu -5. Termination --------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. + Copyright (C) 2011-2012, International Business Machines + Corporation and others. All Rights Reserved. -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. + +-------------------------------------------------------------------------------- +icu -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ + Copyright (C) 2011-2013, International Business Machines + Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -8. Litigation -------------- + Copyright (C) 2011-2014, International Business Machines + Corporation and others. All Rights Reserved. -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. + +-------------------------------------------------------------------------------- +icu -9. Miscellaneous ----------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. + Copyright (C) 2011-2015, International Business Machines + Corporation and others. All Rights Reserved. -10. Versions of the License ---------------------------- + +-------------------------------------------------------------------------------- +icu -10.1. New Versions +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. + Copyright (C) 2012 International Business Machines Corporation + and others. All rights reserved. -10.2. Effect of New Versions + +-------------------------------------------------------------------------------- +icu -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -10.3. Modified Versions + Copyright (C) 2012-2016, International Business Machines + Corporation and others. All Rights Reserved. -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. +-------------------------------------------------------------------------------- +icu -Exhibit A - Source Code Form License Notice -------------------------------------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. + Copyright (C) 2013, International Business Machines + Corporation and others. All Rights Reserved. -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. -You may add additional accurate notices of copyright ownership. -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- +-------------------------------------------------------------------------------- +icu - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -You may obtain a copy of this library's Source Code Form from: https://dart.googlesource.com/sdk/+/d174ec16c3eabc271d553d7fed29a106cafbd8df -/third_party/fallback_root_certificates/ + Copyright (C) 2013-2016, International Business Machines + Corporation and others. All Rights Reserved. + -------------------------------------------------------------------------------- -fallback_root_certificates +icu -Mozilla Public License Version 2.0 -================================== +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1. Definitions --------------- + Copyright (C) 2014, International Business Machines + Corporation and others. All Rights Reserved. -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. -1.3. "Contribution" - means Covered Software of a particular Contributor. +-------------------------------------------------------------------------------- +icu -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.5. "Incompatible With Secondary Licenses" - means + Copyright (C) 2014-2016, International Business Machines + Corporation and others. All Rights Reserved. - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. +-------------------------------------------------------------------------------- +icu -1.6. "Executable Form" - means any form of the work other than Source Code Form. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. + Copyright (C) 2015-2016, International Business Machines + Corporation and others. All Rights Reserved. -1.8. "License" - means this document. + +-------------------------------------------------------------------------------- +icu -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.10. "Modifications" - means any of the following: + Copyright (c) 2000-2005, International Business Machines + Corporation and others. All Rights Reserved. - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or + +-------------------------------------------------------------------------------- +icu - (b) any new file in Source Code Form that contains any Covered - Software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. + Copyright (c) 2000-2007, International Business Machines + Corporation and others. All Rights Reserved. -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. + +-------------------------------------------------------------------------------- +icu -1.13. "Source Code Form" - means the form of the work preferred for making modifications. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. + Copyright (c) 2001-2007, International Business Machines + Corporation and others. All Rights Reserved. -2. License Grants and Conditions --------------------------------- + +-------------------------------------------------------------------------------- +icu -2.1. Grants +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: + Copyright (c) 2001-2011, International Business Machines + Corporation and others. All Rights Reserved. -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and + +-------------------------------------------------------------------------------- +icu -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -2.2. Effective Date + Copyright (c) 2001-2012, International Business Machines Corporation + and others. All Rights Reserved. -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. + +-------------------------------------------------------------------------------- +icu -2.3. Limitations on Grant Scope +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: + Copyright (c) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. -(a) for any code that a Contributor has removed from Covered Software; - or + +-------------------------------------------------------------------------------- +icu -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. + Copyright (c) 2001-2015, International Business Machines + Corporation and others. All Rights Reserved. -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). + +-------------------------------------------------------------------------------- +icu -2.4. Subsequent Licenses +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). + Copyright (c) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. -2.5. Representation + +-------------------------------------------------------------------------------- +icu -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -2.6. Fair Use + Copyright (c) 2002-2005, International Business Machines Corporation + and others. All Rights Reserved. -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. + +-------------------------------------------------------------------------------- +icu -2.7. Conditions +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. + Copyright (c) 2002-2010, International Business Machines Corporation + and others. All Rights Reserved. -3. Responsibilities -------------------- + +-------------------------------------------------------------------------------- +icu -3.1. Distribution of Source Form +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. + Copyright (c) 2002-2011, International Business Machines Corporation + and others. All Rights Reserved. -3.2. Distribution of Executable Form + +-------------------------------------------------------------------------------- +icu -If You distribute Covered Software in Executable Form then: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and + Copyright (c) 2002-2012, International Business Machines Corporation + and others. All Rights Reserved. -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. + +-------------------------------------------------------------------------------- +icu -3.3. Distribution of a Larger Work +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). + Copyright (c) 2002-2014, International Business Machines Corporation + and others. All Rights Reserved. -3.4. Notices + +-------------------------------------------------------------------------------- +icu -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -3.5. Application of Additional Terms + Copyright (c) 2002-2016, International Business Machines + Corporation and others. All Rights Reserved. -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- + +-------------------------------------------------------------------------------- +icu -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -5. Termination --------------- + Copyright (C) 2002-2008 International Business Machines Corporation + and others. All rights reserved. -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. + +-------------------------------------------------------------------------------- +icu -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ + Copyright (C) 2002-2008, International Business Machines Corporation and others. + All Rights Reserved. -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ + +-------------------------------------------------------------------------------- +icu -8. Litigation -------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. + Copyright (C) 2002-2011, International Business Machines Corporation and others. + All Rights Reserved. -9. Miscellaneous ----------------- + +-------------------------------------------------------------------------------- +icu -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -10. Versions of the License ---------------------------- + Copyright (C) 2002-2014 International Business Machines Corporation + and others. All rights reserved. -10.1. New Versions -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. +-------------------------------------------------------------------------------- +icu -10.2. Effect of New Versions +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. + Copyright (C) 2002-2016 International Business Machines Corporation + and others. All rights reserved. -10.3. Modified Versions -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). +-------------------------------------------------------------------------------- +icu -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. + Copyright (C) 2002-2016 International Business Machines Corporation and others. + All Rights Reserved. -Exhibit A - Source Code Form License Notice -------------------------------------------- + +-------------------------------------------------------------------------------- +icu - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. + Copyright (C) 2002-2016, International Business Machines Corporation and others. + All Rights Reserved. -You may add additional accurate notices of copyright ownership. + +-------------------------------------------------------------------------------- +icu -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. + Copyright (C) 2003-2010, International Business Machines Corporation and others. + All Rights Reserved. + -------------------------------------------------------------------------------- -libpng - -PNG Reference Library License version 2 ---------------------------------------- +icu - * Copyright (c) 1995-2024 The PNG Reference Library Authors. - * Copyright (c) 2018-2024 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -The software is supplied "as is", without warranty of any kind, -express or implied, including, without limitation, the warranties -of merchantability, fitness for a particular purpose, title, and -non-infringement. In no event shall the Copyright owners, or -anyone distributing the software, be liable for any damages or -other liability, whether in contract, tort or otherwise, arising -from, out of, or in connection with the software, or the use or -other dealings in the software, even if advised of the possibility -of such damage. + Copyright (C) 2004-2015, International Business Machines Corporation and others. + All Rights Reserved. -Permission is hereby granted to use, copy, modify, and distribute -this software, or portions hereof, for any purpose, without fee, -subject to the following restrictions: + +-------------------------------------------------------------------------------- +icu - 1. The origin of this software must not be misrepresented; you - must not claim that you wrote the original software. If you - use this software in a product, an acknowledgment in the product - documentation would be appreciated, but is not required. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - 2. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. + Copyright (c) 2001-2005, International Business Machines + Corporation and others. All Rights Reserved. - 3. This Copyright notice may not be removed or altered from any - source or altered source distribution. +-------------------------------------------------------------------------------- +icu -PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) ------------------------------------------------------------------------ +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are -Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are -derived from libpng-1.0.6, and are distributed according to the same -disclaimer and license as libpng-1.0.6 with the following individuals -added to the list of Contributing Authors: +Copyright (C) 1996-2012, International Business Machines Corporation and +others. All Rights Reserved. - Simon-Pierre Cadieux - Eric S. Raymond - Mans Rullgard - Cosmin Truta - Gilles Vollant - James Yu - Mandar Sahastrabuddhe - Google Inc. - Vadim Barkov -and with the following additions to the disclaimer: +-------------------------------------------------------------------------------- +icu - There is no warranty against interference with your enjoyment of - the library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is - with the user. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Some files in the "contrib" directory and some configure-generated -files that are distributed with libpng have other copyright owners, and -are released under other open source licenses. +Copyright (C) 1996-2014, International Business Machines +Corporation and others. All Rights Reserved. -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from -libpng-0.96, and are distributed according to the same disclaimer and -license as libpng-0.96, with the following individuals added to the -list of Contributing Authors: - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik +-------------------------------------------------------------------------------- +icu -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, -and are distributed according to the same disclaimer and license as -libpng-0.88, with the following individuals added to the list of -Contributing Authors: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner +Copyright (C) 1996-2014, International Business Machines Corporation and +others. All Rights Reserved. -Some files in the "scripts" directory have other copyright owners, -but are released under this license. -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +-------------------------------------------------------------------------------- +icu -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner +Copyright (C) 1996-2014, International Business Machines Corporation and others. +All Rights Reserved. -The PNG Reference Library is supplied "AS IS". The Contributing -Authors and Group 42, Inc. disclaim all warranties, expressed or -implied, including, without limitation, the warranties of -merchantability and of fitness for any purpose. The Contributing -Authors and Group 42, Inc. assume no liability for direct, indirect, -incidental, special, exemplary, or consequential damages, which may -result from the use of the PNG Reference Library, even if advised of -the possibility of such damage. -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - 1. The origin of this source code must not be misrepresented. +-------------------------------------------------------------------------------- +icu - 2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - 3. This Copyright notice may not be removed or altered from any - source or altered source distribution. +Copyright (C) 1996-2015, International Business Machines +Corporation and others. All Rights Reserved. -The Contributing Authors and Group 42, Inc. specifically permit, -without fee, and encourage the use of this source code as a component -to supporting the PNG file format in commercial products. If you use -this source code in a product, acknowledgment is not required but would -be appreciated. -------------------------------------------------------------------------------- -libpng - -PNG Reference Library License version 2 ---------------------------------------- +icu - * Copyright (c) 1995-2024 The PNG Reference Library Authors. - * Copyright (c) 2018-2024 Cosmin Truta. - * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. - * Copyright (c) 1996-1997 Andreas Dilger. - * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -The software is supplied "as is", without warranty of any kind, -express or implied, including, without limitation, the warranties -of merchantability, fitness for a particular purpose, title, and -non-infringement. In no event shall the Copyright owners, or -anyone distributing the software, be liable for any damages or -other liability, whether in contract, tort or otherwise, arising -from, out of, or in connection with the software, or the use or -other dealings in the software, even if advised of the possibility -of such damage. +Copyright (C) 1996-2015, International Business Machines Corporation and +others. All Rights Reserved. -Permission is hereby granted to use, copy, modify, and distribute -this software, or portions hereof, for any purpose, without fee, -subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you - must not claim that you wrote the original software. If you - use this software in a product, an acknowledgment in the product - documentation would be appreciated, but is not required. +-------------------------------------------------------------------------------- +icu - 2. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - 3. This Copyright notice may not be removed or altered from any - source or altered source distribution. +Copyright (C) 1996-2015, International Business Machines Corporation and others. +All Rights Reserved. -PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) ------------------------------------------------------------------------ +-------------------------------------------------------------------------------- +icu -libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are -Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are -derived from libpng-1.0.6, and are distributed according to the same -disclaimer and license as libpng-1.0.6 with the following individuals -added to the list of Contributing Authors: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - Simon-Pierre Cadieux - Eric S. Raymond - Mans Rullgard - Cosmin Truta - Gilles Vollant - James Yu - Mandar Sahastrabuddhe - Google Inc. - Vadim Barkov +Copyright (C) 1996-2016, International Business Machines +Corporation and others. All Rights Reserved. -and with the following additions to the disclaimer: - There is no warranty against interference with your enjoyment of - the library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is - with the user. +-------------------------------------------------------------------------------- +icu -Some files in the "contrib" directory and some configure-generated -files that are distributed with libpng have other copyright owners, and -are released under other open source licenses. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from -libpng-0.96, and are distributed according to the same disclaimer and -license as libpng-0.96, with the following individuals added to the -list of Contributing Authors: +Copyright (C) 1996-2016, International Business Machines Corporation and +others. All Rights Reserved. - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, -and are distributed according to the same disclaimer and license as -libpng-0.88, with the following individuals added to the list of -Contributing Authors: +-------------------------------------------------------------------------------- +icu - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Some files in the "scripts" directory have other copyright owners, -but are released under this license. +Copyright (C) 1997-2010, International Business Machines Corporation and +others. All Rights Reserved. -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner +-------------------------------------------------------------------------------- +icu -The PNG Reference Library is supplied "AS IS". The Contributing -Authors and Group 42, Inc. disclaim all warranties, expressed or -implied, including, without limitation, the warranties of -merchantability and of fitness for any purpose. The Contributing -Authors and Group 42, Inc. assume no liability for direct, indirect, -incidental, special, exemplary, or consequential damages, which may -result from the use of the PNG Reference Library, even if advised of -the possibility of such damage. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: +Copyright (C) 1997-2011, International Business Machines Corporation and others. +All Rights Reserved. - 1. The origin of this source code must not be misrepresented. - 2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - 3. This Copyright notice may not be removed or altered from any - source or altered source distribution. +-------------------------------------------------------------------------------- +icu -The Contributing Authors and Group 42, Inc. specifically permit, -without fee, and encourage the use of this source code as a component -to supporting the PNG file format in commercial products. If you use -this source code in a product, acknowledgment is not required but would -be appreciated. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE. +Copyright (C) 1997-2012, International Business Machines Corporation and +others. All Rights Reserved. -TRADEMARK -========= -The name "libpng" has not been registered by the Copyright owners -as a trademark in any jurisdiction. However, because libpng has -been distributed and maintained world-wide, continually since 1995, -the Copyright owners claim "common-law trademark protection" in any -jurisdiction where common-law trademark is recognized. -------------------------------------------------------------------------------- -libpng - -PNG Reference Library License version 2 ---------------------------------------- - -* Copyright (c) 1995-2024 The PNG Reference Library Authors. -* Copyright (c) 2018-2024 Cosmin Truta. -* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. -* Copyright (c) 1996-1997 Andreas Dilger. -* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +icu -The software is supplied "as is", without warranty of any kind, -express or implied, including, without limitation, the warranties -of merchantability, fitness for a particular purpose, title, and -non-infringement. In no event shall the Copyright owners, or -anyone distributing the software, be liable for any damages or -other liability, whether in contract, tort or otherwise, arising -from, out of, or in connection with the software, or the use or -other dealings in the software, even if advised of the possibility -of such damage. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted to use, copy, modify, and distribute -this software, or portions hereof, for any purpose, without fee, -subject to the following restrictions: +Copyright (C) 1997-2013, International Business Machines +Corporation and others. All Rights Reserved. -1. The origin of this software must not be misrepresented; you - must not claim that you wrote the original software. If you - use this software in a product, an acknowledgment in the product - documentation would be appreciated, but is not required. -2. Altered source versions must be plainly marked as such, and must - not be misrepresented as being the original software. -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) ------------------------------------------------------------------------ +Copyright (C) 1997-2013, International Business Machines Corporation and +others. All Rights Reserved. -libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are -Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are -derived from libpng-1.0.6, and are distributed according to the same -disclaimer and license as libpng-1.0.6 with the following individuals -added to the list of Contributing Authors: - Simon-Pierre Cadieux - Eric S. Raymond - Mans Rullgard - Cosmin Truta - Gilles Vollant - James Yu - Mandar Sahastrabuddhe - Google Inc. - Vadim Barkov -and with the following additions to the disclaimer: +-------------------------------------------------------------------------------- +icu - There is no warranty against interference with your enjoyment of - the library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is - with the user. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Some files in the "contrib" directory and some configure-generated -files that are distributed with libpng have other copyright owners, and -are released under other open source licenses. +Copyright (C) 1997-2015, International Business Machines +Corporation and others. All Rights Reserved. -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from -libpng-0.96, and are distributed according to the same disclaimer and -license as libpng-0.96, with the following individuals added to the -list of Contributing Authors: - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik +-------------------------------------------------------------------------------- +icu -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, -and are distributed according to the same disclaimer and license as -libpng-0.88, with the following individuals added to the list of -Contributing Authors: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner +Copyright (C) 1997-2015, International Business Machines Corporation +and others. All Rights Reserved. -Some files in the "scripts" directory have other copyright owners, -but are released under this license. -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. +-------------------------------------------------------------------------------- +icu -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner +Copyright (C) 1997-2015, International Business Machines Corporation and +others. All Rights Reserved. -The PNG Reference Library is supplied "AS IS". The Contributing -Authors and Group 42, Inc. disclaim all warranties, expressed or -implied, including, without limitation, the warranties of -merchantability and of fitness for any purpose. The Contributing -Authors and Group 42, Inc. assume no liability for direct, indirect, -incidental, special, exemplary, or consequential damages, which may -result from the use of the PNG Reference Library, even if advised of -the possibility of such damage. -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: -1. The origin of this source code must not be misrepresented. +-------------------------------------------------------------------------------- +icu -2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. +Copyright (C) 1997-2015, International Business Machines Corporation and others. +All Rights Reserved. -The Contributing Authors and Group 42, Inc. specifically permit, -without fee, and encourage the use of this source code as a component -to supporting the PNG file format in commercial products. If you use -this source code in a product, acknowledgment is not required but would -be appreciated. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -Portions of this code are based on the PBMPLUS library, which is: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2015, International Business Machines Corporation and others. +All Rights Reserved. -Copyright (C) 1988 by Jef Poskanzer. -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided -that the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. This software is provided "as is" without express or -implied warranty. -------------------------------------------------------------------------------- -expat +icu -Read an XML document from standard input and print -element declarations (if any) to standard output. -It must be used with Expat compiled for UTF-8 output. -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2001-2003 Fred L. Drake, Jr. -Copyright (c) 2004-2006 Karl Waclawek -Copyright (c) 2005-2007 Steven Solie -Copyright (c) 2016-2024 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2019 Zhongyuan Zhou -Copyright (c) 2024 Hanno Böck -Licensed under the MIT license: +Copyright (C) 1997-2016, International Business Machines Corporation and +others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -Read an XML document from standard input and print an element -outline on standard output. -Must be used with Expat compiled for UTF-8 output. -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1997-2016, International Business Machines Corporation and others. +All Rights Reserved. -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2003 Fred L. Drake, Jr. -Copyright (c) 2005-2007 Steven Solie -Copyright (c) 2005-2006 Karl Waclawek -Copyright (c) 2016-2022 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Licensed under the MIT license: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 1998-2012, International Business Machines Corporation and +others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -rapidjson +icu -Tencent is pleased to support the open source community by making RapidJSON available. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. +Copyright (C) 1998-2012, International Business Machines Corporation and +others. All Rights Reserved. -If you have downloaded a copy of the RapidJSON binary from Tencent, please note that the RapidJSON binary is licensed under the MIT License. -If you have downloaded a copy of the RapidJSON source code from Tencent, please note that RapidJSON source code is licensed under the MIT License, except for the third-party components listed below which are subject to different license terms. Your integration of RapidJSON into your own projects may require compliance with the MIT License, as well as the other licenses applicable to the third-party components included within RapidJSON. -A copy of the MIT License is included in this file. -Other dependencies and licenses: +-------------------------------------------------------------------------------- +icu -Open Source Software Licensed Under the BSD License: --------------------------------------------------------------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -The msinttypes r29 -Copyright (c) 2006-2013 Alexander Chemeris -All rights reserved. +Copyright (C) 1998-2016, International Business Machines Corporation +and others. All Rights Reserved. -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -* Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Terms of the MIT License: --------------------------------------------------------------------- +Copyright (C) 1999-2007, International Business Machines Corporation +and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +-------------------------------------------------------------------------------- +icu -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (C) 1999-2010, International Business Machines Corporation and others. +All Rights Reserved. + + -------------------------------------------------------------------------------- -fiat +icu -The Apache License, Version 2.0 (Apache-2.0) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright 2015-2020 the fiat-crypto authors (see the AUTHORS file) +Copyright (C) 1999-2011, International Business Machines Corporation +and others. All Rights Reserved. -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 + +-------------------------------------------------------------------------------- +icu - http://www.apache.org/licenses/LICENSE-2.0 +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -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. +Copyright (C) 1999-2012, International Business Machines Corporation and +others. All Rights Reserved. + + -------------------------------------------------------------------------------- -freetype2 +icu -The FreeType Project LICENSE ----------------------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - 2006-Jan-27 +Copyright (C) 1999-2013, International Business Machines Corporation and +others. All Rights Reserved. - Copyright 1996-2002, 2006 by - David Turner, Robert Wilhelm, and Werner Lemberg + +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1999-2014, International Business Machines +Corporation and others. All Rights Reserved. -Introduction -============ + +-------------------------------------------------------------------------------- +icu - The FreeType Project is distributed in several archive packages; - some of them may contain, in addition to the FreeType font engine, - various tools and contributions which rely on, or relate to, the - FreeType Project. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - This license applies to all files found in such packages, and - which do not fall under their own explicit license. The license - affects thus the FreeType font engine, the test programs, - documentation and makefiles, at the very least. +Copyright (C) 1999-2015, International Business Machines Corporation and +others. All Rights Reserved. - This license was inspired by the BSD, Artistic, and IJG - (Independent JPEG Group) licenses, which all encourage inclusion - and use of free software in commercial and freeware products - alike. As a consequence, its main points are that: - o We don't promise that this software works. However, we will be - interested in any kind of bug reports. (`as is' distribution) +-------------------------------------------------------------------------------- +icu - o You can use this software for whatever you want, in parts or - full form, without having to pay us. (`royalty-free' usage) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - o You may not pretend that you wrote this software. If you use - it, or only parts of it, in a program, you must acknowledge - somewhere in your documentation that you have used the - FreeType code. (`credits') +Copyright (C) 1999-2015, International Business Machines Corporation and +others. All Rights Reserved. - We specifically permit and encourage the inclusion of this - software, with or without modifications, in commercial products. - We disclaim all warranties covering The FreeType Project and - assume no liability related to The FreeType Project. + +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - Finally, many people asked us for a preferred form for a - credit/disclaimer to use in compliance with this license. We thus - encourage you to use the following text: +Copyright (C) 1999-2016, International Business Machines + Corporation and others. All Rights Reserved. - """ - Portions of this software are copyright © The FreeType - Project (www.freetype.org). All rights reserved. - """ + +-------------------------------------------------------------------------------- +icu - Please replace with the value from the FreeType version you - actually use. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1999-2016, International Business Machines Corporation + and others. All Rights Reserved. -Legal Terms -=========== + +-------------------------------------------------------------------------------- +icu -0. Definitions --------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - Throughout this license, the terms `package', `FreeType Project', - and `FreeType archive' refer to the set of files originally - distributed by the authors (David Turner, Robert Wilhelm, and - Werner Lemberg) as the `FreeType Project', be they named as alpha, - beta or final release. +Copyright (C) 1999-2016, International Business Machines Corporation +and others. All Rights Reserved. - `You' refers to the licensee, or person using the project, where - `using' is a generic term including compiling the project's source - code as well as linking it to form a `program' or `executable'. - This program is referred to as `a program using the FreeType - engine'. + +-------------------------------------------------------------------------------- +icu - This license applies to all files distributed in the original - FreeType Project, including all source code, binaries and - documentation, unless otherwise stated in the file in its - original, unmodified form as distributed in the original archive. - If you are unsure whether or not a particular file is covered by - this license, you must contact us to verify this. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - The FreeType Project is copyright (C) 1996-2000 by David Turner, - Robert Wilhelm, and Werner Lemberg. All rights reserved except as - specified below. +Copyright (C) 1999-2016, International Business Machines Corporation and +others. All Rights Reserved. -1. No Warranty --------------- - THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO - USE, OF THE FREETYPE PROJECT. -2. Redistribution ------------------ +-------------------------------------------------------------------------------- +icu - This license grants a worldwide, royalty-free, perpetual and - irrevocable right and license to use, execute, perform, compile, - display, copy, create derivative works of, distribute and - sublicense the FreeType Project (in both source and object code - forms) and derivative works thereof for any purpose; and to - authorize others to exercise some or all of the rights granted - herein, subject to the following conditions: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - o Redistribution of source code must retain this license file - (`FTL.TXT') unaltered; any additions, deletions or changes to - the original files must be clearly indicated in accompanying - documentation. The copyright notices of the unaltered, - original files must be preserved in all copies of source - files. +Copyright (C) 2000-2004, International Business Machines Corporation +and others. All Rights Reserved. - o Redistribution in binary form must provide a disclaimer that - states that the software is based in part of the work of the - FreeType Team, in the distribution documentation. We also - encourage you to put an URL to the FreeType web page in your - documentation, though this isn't mandatory. - These conditions apply to any software derived from or based on - the FreeType Project, not just the unmodified files. If you use - our work, you must acknowledge us. However, no fee need be paid - to us. -3. Advertising --------------- +-------------------------------------------------------------------------------- +icu - Neither the FreeType authors and contributors nor you shall use - the name of the other for commercial, advertising, or promotional - purposes without specific prior written permission. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - We suggest, but do not require, that you use one or more of the - following phrases to refer to this software in your documentation - or advertising materials: `FreeType Project', `FreeType Engine', - `FreeType library', or `FreeType Distribution'. +Copyright (C) 2001-2011, International Business Machines Corporation +and others. All Rights Reserved. - As you have not signed this license, you are not required to - accept it. However, as the FreeType Project is copyrighted - material, only this license, or another one contracted with the - authors, grants you the right to use, distribute, and modify it. - Therefore, by using, distributing, or modifying the FreeType - Project, you indicate that you understand and accept all the terms - of this license. + +-------------------------------------------------------------------------------- +icu -4. Contacts ------------ +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - There are two mailing lists related to FreeType: +Copyright (C) 2001-2011, International Business Machines Corporation and +others. All Rights Reserved. - o freetype@nongnu.org - Discusses general use and applications of FreeType, as well as - future and wanted additions to the library and distribution. - If you are looking for support, start in this list if you - haven't found anything to help you in the documentation. - o freetype-devel@nongnu.org - Discusses bugs, as well as engine internals, design issues, - specific licenses, porting, etc. +-------------------------------------------------------------------------------- +icu - Our home page can be found at +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - https://www.freetype.org +Copyright (C) 2001-2011, International Business Machines Corporation. +All Rights Reserved. ---- end of FTL.TXT --- -------------------------------------------------------------------------------- -rapidjson +icu -The above software in this distribution may have been modified by -THL A29 Limited ("Tencent Modifications"). -All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. --------------------------------------------------------------------------------- -rapidjson +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2001-2012, International Business Machines Corporation and +others. All Rights Reserved. -The above software in this distribution may have been modified by -THL A29 Limited ("Tencent Modifications"). -All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. --------------------------------------------------------------------------------- -re2 -The authors of this software are Rob Pike and Ken Thompson. - Copyright (c) 2002 by Lucent Technologies. -Permission to use, copy, modify, and distribute this software for any -purpose without fee is hereby granted, provided that this entire notice -is included in all copies of any software which is or includes a copy -or modification of this software and in all copies of the supporting -documentation for such software. -THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED -WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY -REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY -OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. -------------------------------------------------------------------------------- -vulkan-deps +icu -The majority of files in this project use the Apache 2.0 License. -There are a few exceptions and their license can be found in the source. -Any license deviations from Apache 2.0 are "more permissive" licenses. -Any file without a license in it's source defaults to the repository Apache 2.0 License. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -=========================================================================================== +Copyright (C) 2001-2014, International Business Machines + Corporation and others. All Rights Reserved. - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ + +-------------------------------------------------------------------------------- +icu - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - 1. Definitions. +Copyright (C) 2001-2014, International Business Machines Corporation and +others. All Rights Reserved. - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. +-------------------------------------------------------------------------------- +icu - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. +Copyright (C) 2001-2014, International Business Machines Corporation and +others. All Rights Reserved. - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. +-------------------------------------------------------------------------------- +icu - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. +Copyright (C) 2001-2014, International Business Machines Corporation. +All Rights Reserved. - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. +-------------------------------------------------------------------------------- +icu - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and +Copyright (C) 2001-2015, International Business Machines + Corporation and others. All Rights Reserved. - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and + +-------------------------------------------------------------------------------- +icu - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. +Copyright (C) 2001-2016, International Business Machines + Corporation and others. All Rights Reserved. - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. + +-------------------------------------------------------------------------------- +icu - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. +Copyright (C) 2002-2005, International Business Machines Corporation and +others. All Rights Reserved. - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - END OF TERMS AND CONDITIONS +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - APPENDIX: How to apply the Apache License to your work. +Copyright (C) 2002-2014, International Business Machines Corporation and +others. All Rights Reserved. - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - Copyright [yyyy] [name of copyright owner] +-------------------------------------------------------------------------------- +icu - 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 +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003 - 2008, International Business Machines Corporation and +others. All Rights Reserved. - http://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. -------------------------------------------------------------------------------- -sqlite +icu -The source code for SQLite is in the public domain. No claim of -copyright is made on any part of the core source code. (The -documentation and test code is a different matter - some sections of -documentation and test logic are governed by open-source licenses.) -All contributors to the SQLite core software have signed affidavits -specifically disavowing any copyright interest in the code. This means -that anybody is able to legally do anything they want with the SQLite -source code. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -There are other SQL database engines with liberal licenses that allow -the code to be broadly and freely used. But those other engines are -still governed by copyright law. SQLite is different in that copyright -law simply does not apply. +Copyright (C) 2003 - 2009, International Business Machines Corporation and +others. All Rights Reserved. -The source code files for other SQL database engines typically begin -with a comment describing your legal rights to view and copy that -file. The SQLite source code contains no license since it is not -governed by copyright. Instead of a license, the SQLite source code -offers a blessing: -May you do good and not evil -May you find forgiveness for yourself and forgive others -May you share freely, never taking more than you give. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003 - 2013, International Business Machines Corporation and +others. All Rights Reserved. -This code is loosely based on ppmtogif from the PBMPLUS distribution -of Feb. 1991. That file contains the following copyright notice: - Based on GIFENCODE by David Rowley . - Lempel-Ziv compression based on "compress" by Spencer W. Thomas et al. - Copyright (C) 1989 by Jef Poskanzer. - Permission to use, copy, modify, and distribute this software and its - documentation for any purpose and without fee is hereby granted, provided - that the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting - documentation. This software is provided "as is" without express or - implied warranty. -We are also required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." -------------------------------------------------------------------------------- -expat +icu -This file is included (from xmltok.c, 1-3 times depending on XML_MIN_SIZE)! -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2002-2016 Karl Waclawek -Copyright (c) 2016-2022 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2018 Benjamin Peterson -Copyright (c) 2018 Anton Maklakov -Copyright (c) 2019 David Loffredo -Copyright (c) 2020 Boris Kolpackov -Copyright (c) 2022 Martin Ettl -Licensed under the MIT license: +Copyright (C) 2003-2008, International Business Machines Corporation +and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -This file is included! -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Greg Stein -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2002-2006 Karl Waclawek -Copyright (c) 2017-2021 Sebastian Pipping -Licensed under the MIT license: +Copyright (C) 2003-2009,2012,2016 International Business Machines Corporation and +others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- icu -This file was generated from RFC 3454 (http://www.ietf.org/rfc/rfc3454.txt) -Copyright (C) The Internet Society (2002). All Rights Reserved. --------------------------------------------------------------------------------- -libjpeg-turbo +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1994, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo +Copyright (C) 2003-2013, International Business Machines Corporation +and others. All Rights Reserved. -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1995, Thomas G. Lane. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code -relevant to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code and -information relevant to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo +Copyright (C) 2003-2013, International Business Machines Corporation and +others. All Rights Reserved. -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -Modified 2009 by Guido Vollbeding. -It was modified by The libjpeg-turbo Project to include only code and -information relevant to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2009, 2014-2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2009, 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2009-2012, 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2010, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo +Copyright (C) 2003-2015, International Business Machines Corporation +and others. All Rights Reserved. -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2009-2012, 2015, D. R. Commander. -Copyright (C) 2014, MIPS Technologies, Inc., California. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2010, 2015-2016, D. R. Commander. -Copyright (C) 2014, MIPS Technologies, Inc., California. -Copyright (C) 2015, Google, Inc. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2014, MIPS Technologies, Inc., California. -Copyright (C) 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2003-2016, International Business Machines Corporation +and others. All Rights Reserved. -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -Modifications: -Copyright (C) 2013, Linaro Limited. -Copyright (C) 2014-2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -Modified 1997-2009 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2009, 2011, 2014-2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2004 - 2008, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -Modified 1997-2009 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2015-2016, D. R. Commander. -Copyright (C) 2015, Google, Inc. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2004-2012, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -Modified 2002-2009 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2009-2011, 2016, D. R. Commander. -Copyright (C) 2013, Linaro Limited. -Copyright (C) 2015, Google, Inc. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2006-2012, International Business Machines Corporation and others. +All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -Modified 2003-2010 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2010, 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2006-2014, International Business Machines Corporation +and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -Modified 2009 by Bill Allombert, Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2015, 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2006-2016, International Business Machines Corporation +and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -Modified 2011 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2009, 2011-2012, 2014-2015, D. R. Commander. -Copyright (C) 2013, Linaro Limited. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2008, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -Modified 2013 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2010-2011, 2013-2016, D. R. Commander. -Copyright (C) 2015, Google, Inc. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2008, International Business Machines Corporation and +others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2009, 2011, 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2012, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2009-2011, 2014-2016, D. R. Commander. -Copyright (C) 2015, Matthieu Darbois. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2013, International Business Machines Corporation +and others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2009-2011, 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2010, 2016, D. R. Commander. -Copyright (C) 2015, Google, Inc. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2014, International Business Machines Corporation +and others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2010-2011, 2015-2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1998, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo +Copyright (C) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1998, Thomas G. Lane. -Modified 2002-2009 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2009-2011, 2013-2014, 2016, D. R. Commander. -Copyright (C) 2015, Google, Inc. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1998, Thomas G. Lane. -Modified 2003-2008 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2009-2011, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1998, Thomas G. Lane. -Modified 2003-2010 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2010, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1998, Thomas G. Lane. -Modified 2003-2011 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2010, 2013-2014, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1998, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2012, 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-1998, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2013, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008, Google, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2010, 2012-2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2009, International Business Machines Corporation and +others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1992-1996, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code and -information relevant to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -This file was part of the Independent JPEG Group's software: -Copyright (C) 1992-1997, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code and -information relevant to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2013, International Business Machines Corporation +and others. All Rights Reserved. + + + -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2013, International Business Machines Corporation and +others. All Rights Reserved. + + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994, Thomas G. Lane. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2014, Google, International Business Machines Corporation +and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2014, Google, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2015, Google, International Business Machines Corporation +and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -Modified 2002-2010 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2010, 2015, D. R. Commander. -Copyright (C) 2013, MIPS Technologies, Inc., California. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -Modified 2009-2010 by Guido Vollbeding. -libjpeg-turbo Modifications: -Modified 2011 by Siarhei Siamashka. -Copyright (C) 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2015, International Business Machines Corporation +and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2015, International Business Machines Corporation and +others. All Rights Reserved. + + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -Modified 2009-2011 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2011, 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -Modified 2009-2011 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2013, 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2016, International Business Machines Corporation +and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2008-2016, International Business Machines Corporation and +others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -Modified 2009-2012 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2011, 2014, 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2010, Google, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -Modified 2009-2012 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2013, 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2010, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 1999-2006, MIYASAKA Masaru. -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2011, 2014-2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2011, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2010, 2015-2016, D. R. Commander. -Copyright (C) 2015, Google, Inc. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2010, 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2012, International Business Machines Corporation and +others. All Rights Reserved. + + -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2013, International Business Machines Corporation and +others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2011, 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2014, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2013, Linaro Limited. -Copyright (C) 2014-2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2015, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2015, International Business Machines Corporation and +others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1996, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2009, 2011, 2014-2015, D. R. Commander. -Copyright (C) 2013, Linaro Limited. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2016, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1997, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code and -information relevant to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2016, International Business Machines Corporation, +Google, and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1997, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2011, International Business Machines +Corporation and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1997, Thomas G. Lane. -Modified 1997-2009 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2014, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2012, International Business Machines +Corporation and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1997, Thomas G. Lane. -Modified 2009 by Bill Allombert, Guido Vollbeding. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2012,2015 International Business Machines +Corporation and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2014, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2013, International Business Machines +Corporation and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright 2009 Pierre Ossman for Cendio AB -Copyright (C) 2010, 2015-2016, D. R. Commander. -Copyright (C) 2015, Google, Inc. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2014, International Business Machines +Corporation and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright 2009 Pierre Ossman for Cendio AB -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2014, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1998, Thomas G. Lane. -Modified 2003-2010 by Guido Vollbeding. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2014, International Business Machines Corporation and +others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1998, Thomas G. Lane. -Modified 2010 by Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2014, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. --------------------------------------------------------------------------------- -libjpeg-turbo -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1998, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2015, International Business Machines +Corporation and others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1994-1998, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2016, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2015, International Business Machines Corporation and +others. All Rights Reserved. + + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1995-1997, Thomas G. Lane. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2010-2016, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1995-1997, Thomas G. Lane. -libjpeg-turbo Modifications: -Copyright (C) 2015, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2011-2012, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1995-1998, Thomas G. Lane. -Modified 2000-2009 by Guido Vollbeding. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2011-2015, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1995-2010, Thomas G. Lane, Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2010, 2014, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2011-2016, International Business Machines Corporation and +others. All Rights Reserved. + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. -It was modified by The libjpeg-turbo Project to include only code relevant -to libjpeg-turbo. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -libjpeg-turbo +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2011-2016, International Business Machines Corporation and +others. All Rights Reserved. + + -This file was part of the Independent JPEG Group's software: -Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding. -libjpeg-turbo Modifications: -Copyright (C) 2010, D. R. Commander. -For conditions of distribution and use, see the accompanying README.ijg -file. -------------------------------------------------------------------------------- -expat +icu -This is simple demonstration of how to use expat. This program -reads an XML document from standard input and writes a line with -the name of each element to standard output indenting child -elements by one tab stop more than their parent element. -It must be used with Expat compiled for UTF-8 output. -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2001-2003 Fred L. Drake, Jr. -Copyright (c) 2004-2006 Karl Waclawek -Copyright (c) 2005-2007 Steven Solie -Copyright (c) 2016-2022 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2019 Zhongyuan Zhou -Licensed under the MIT license: +Copyright (C) 2012-2014, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2012-2015, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -freetype2 +icu -This software was written by Alexander Peslyak in 2001. No copyright is -claimed, and the software is hereby placed in the public domain. -In case this attempt to disclaim copyright and place the software in the -public domain is deemed null and void, then the software is -Copyright (c) 2001 Alexander Peslyak and it is hereby released to the -general public under the following terms: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2012-2016, International Business Machines +Corporation and others. All Rights Reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted. -There's ABSOLUTELY NO WARRANTY, express or implied. -------------------------------------------------------------------------------- icu -UNICODE LICENSE V3 +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -COPYRIGHT AND PERMISSION NOTICE +Copyright (C) 2013, International Business Machines Corporation +and others. All Rights Reserved. -Copyright © 2016-2023 Unicode, Inc. -NOTICE TO USER: Carefully read the following legal agreement. BY -DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR -SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT -DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE. -Permission is hereby granted, free of charge, to any person obtaining a -copy of data files and any associated documentation (the "Data Files") or -software and any associated documentation (the "Software") to deal in the -Data Files or Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, and/or sell -copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that either (a) -this copyright and permission notice appear with all copies of the Data -Files or Software, or (b) this copyright and permission notice appear in -associated Documentation. +-------------------------------------------------------------------------------- +icu -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF -THIRD PARTY RIGHTS. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE -BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, -OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA -FILES OR SOFTWARE. +Copyright (C) 2013, International Business Machines Corporation and +others. All Rights Reserved. -Except as contained in this notice, the name of a copyright holder shall -not be used in advertising or otherwise to promote the sale, use or other -dealings in these Data Files or Software without prior written -authorization of the copyright holder. ----------------------------------------------------------------------- -Third-Party Software Licenses +-------------------------------------------------------------------------------- +icu -This section contains third-party software notices and/or additional -terms for licensed third-party software components included within ICU -libraries. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html ----------------------------------------------------------------------- +Copyright (C) 2013, International Business Machines Corporation and others. +All Rights Reserved. -ICU License - ICU 1.8.1 to ICU 57.1 -COPYRIGHT AND PERMISSION NOTICE +-------------------------------------------------------------------------------- +icu -Copyright (c) 1995-2016 International Business Machines Corporation and others -All rights reserved. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, provided that the above -copyright notice(s) and this permission notice appear in all copies of -the Software and that both the above copyright notice(s) and this -permission notice appear in supporting documentation. +Copyright (C) 2013-2014, International Business Machines +Corporation and others. All Rights Reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY -SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF -CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, use -or other dealings in this Software without prior written authorization -of the copyright holder. +-------------------------------------------------------------------------------- +icu -All trademarks and registered trademarks mentioned herein are the -property of their respective owners. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html ----------------------------------------------------------------------- +Copyright (C) 2013-2014, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2013-2014, International Business Machines Corporation and +others. All Rights Reserved. -Chinese/Japanese Word Break Dictionary Data (cjdict.txt) - # The Google Chrome software developed by Google is licensed under - # the BSD license. Other software included in this distribution is - # provided under other licenses, as set forth below. - # - # The BSD License - # http://opensource.org/licenses/bsd-license.php - # Copyright (C) 2006-2008, Google Inc. - # - # All rights reserved. - # - # Redistribution and use in source and binary forms, with or without - # modification, are permitted provided that the following conditions are met: - # - # Redistributions of source code must retain the above copyright notice, - # this list of conditions and the following disclaimer. - # Redistributions in binary form must reproduce the above - # copyright notice, this list of conditions and the following - # disclaimer in the documentation and/or other materials provided with - # the distribution. - # Neither the name of Google Inc. nor the names of its - # contributors may be used to endorse or promote products derived from - # this software without specific prior written permission. - # - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR - # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - # - # - # The word list in cjdict.txt are generated by combining three word lists - # listed below with further processing for compound word breaking. The - # frequency is generated with an iterative training against Google web - # corpora. - # - # * Libtabe (Chinese) - # - https://sourceforge.net/project/?group_id=1519 - # - Its license terms and conditions are shown below. - # - # * IPADIC (Japanese) - # - http://chasen.aist-nara.ac.jp/chasen/distribution.html - # - Its license terms and conditions are shown below. - # - # ---------COPYING.libtabe ---- BEGIN-------------------- - # - # /* - # * Copyright (c) 1999 TaBE Project. - # * Copyright (c) 1999 Pai-Hsiang Hsiao. - # * All rights reserved. - # * - # * Redistribution and use in source and binary forms, with or without - # * modification, are permitted provided that the following conditions - # * are met: - # * - # * . Redistributions of source code must retain the above copyright - # * notice, this list of conditions and the following disclaimer. - # * . Redistributions in binary form must reproduce the above copyright - # * notice, this list of conditions and the following disclaimer in - # * the documentation and/or other materials provided with the - # * distribution. - # * . Neither the name of the TaBE Project nor the names of its - # * contributors may be used to endorse or promote products derived - # * from this software without specific prior written permission. - # * - # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - # * OF THE POSSIBILITY OF SUCH DAMAGE. - # */ - # - # /* - # * Copyright (c) 1999 Computer Systems and Communication Lab, - # * Institute of Information Science, Academia - # * Sinica. All rights reserved. - # * - # * Redistribution and use in source and binary forms, with or without - # * modification, are permitted provided that the following conditions - # * are met: - # * - # * . Redistributions of source code must retain the above copyright - # * notice, this list of conditions and the following disclaimer. - # * . Redistributions in binary form must reproduce the above copyright - # * notice, this list of conditions and the following disclaimer in - # * the documentation and/or other materials provided with the - # * distribution. - # * . Neither the name of the Computer Systems and Communication Lab - # * nor the names of its contributors may be used to endorse or - # * promote products derived from this software without specific - # * prior written permission. - # * - # * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - # * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - # * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - # * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - # * OF THE POSSIBILITY OF SUCH DAMAGE. - # */ - # - # Copyright 1996 Chih-Hao Tsai @ Beckman Institute, - # University of Illinois - # c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4 - # - # ---------------COPYING.libtabe-----END-------------------------------- - # - # - # ---------------COPYING.ipadic-----BEGIN------------------------------- - # - # Copyright 2000, 2001, 2002, 2003 Nara Institute of Science - # and Technology. All Rights Reserved. - # - # Use, reproduction, and distribution of this software is permitted. - # Any copy of this software, whether in its original form or modified, - # must include both the above copyright notice and the following - # paragraphs. - # - # Nara Institute of Science and Technology (NAIST), - # the copyright holders, disclaims all warranties with regard to this - # software, including all implied warranties of merchantability and - # fitness, in no event shall NAIST be liable for - # any special, indirect or consequential damages or any damages - # whatsoever resulting from loss of use, data or profits, whether in an - # action of contract, negligence or other tortuous action, arising out - # of or in connection with the use or performance of this software. - # - # A large portion of the dictionary entries - # originate from ICOT Free Software. The following conditions for ICOT - # Free Software applies to the current dictionary as well. - # - # Each User may also freely distribute the Program, whether in its - # original form or modified, to any third party or parties, PROVIDED - # that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear - # on, or be attached to, the Program, which is distributed substantially - # in the same form as set out herein and that such intended - # distribution, if actually made, will neither violate or otherwise - # contravene any of the laws and regulations of the countries having - # jurisdiction over the User or the intended distribution itself. - # - # NO WARRANTY - # - # The program was produced on an experimental basis in the course of the - # research and development conducted during the project and is provided - # to users as so produced on an experimental basis. Accordingly, the - # program is provided without any warranty whatsoever, whether express, - # implied, statutory or otherwise. The term "warranty" used herein - # includes, but is not limited to, any warranty of the quality, - # performance, merchantability and fitness for a particular purpose of - # the program and the nonexistence of any infringement or violation of - # any right of any third party. - # - # Each user of the program will agree and understand, and be deemed to - # have agreed and understood, that there is no warranty whatsoever for - # the program and, accordingly, the entire risk arising from or - # otherwise connected with the program is assumed by the user. - # - # Therefore, neither ICOT, the copyright holder, or any other - # organization that participated in or was otherwise related to the - # development of the program and their respective officials, directors, - # officers and other employees shall be held liable for any and all - # damages, including, without limitation, general, special, incidental - # and consequential damages, arising out of or otherwise in connection - # with the use or inability to use the program or any product, material - # or result produced or otherwise obtained by using the program, - # regardless of whether they have been advised of, or otherwise had - # knowledge of, the possibility of such damages at any time during the - # project or thereafter. Each user will be deemed to have agreed to the - # foregoing by his or her commencement of use of the program. The term - # "use" as used herein includes, but is not limited to, the use, - # modification, copying and distribution of the program and the - # production of secondary products from the program. - # - # In the case where the program, whether in its original form or - # modified, was distributed or delivered to or received by a user from - # any person, organization or entity other than ICOT, unless it makes or - # grants independently of ICOT any specific warranty to the user in - # writing, such person, organization or entity, will also be exempted - # from and not be held liable to the user for any such damages as noted - # above as far as the program is concerned. - # - # ---------------COPYING.ipadic-----END---------------------------------- ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +icu -Lao Word Break Dictionary Data (laodict.txt) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html - # Copyright (C) 2016 and later: Unicode, Inc. and others. - # License & terms of use: http://www.unicode.org/copyright.html - # Copyright (c) 2015 International Business Machines Corporation - # and others. All Rights Reserved. - # - # Project: https://github.com/rober42539/lao-dictionary - # Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt - # License: https://github.com/rober42539/lao-dictionary/LICENSE.txt - # (copied below) - # - # This file is derived from the above dictionary version of Nov 22, 2020 - # ---------------------------------------------------------------------- - # Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell. - # All rights reserved. - # - # Redistribution and use in source and binary forms, with or without - # modification, are permitted provided that the following conditions are met: - # - # Redistributions of source code must retain the above copyright notice, this - # list of conditions and the following disclaimer. Redistributions in binary - # form must reproduce the above copyright notice, this list of conditions and - # the following disclaimer in the documentation and/or other materials - # provided with the distribution. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - # STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - # OF THE POSSIBILITY OF SUCH DAMAGE. - # -------------------------------------------------------------------------- +Copyright (C) 2013-2014, International Business Machines Corporation and others. +All Rights Reserved. ----------------------------------------------------------------------- -Burmese Word Break Dictionary Data (burmesedict.txt) - # Copyright (c) 2014 International Business Machines Corporation - # and others. All Rights Reserved. - # - # This list is part of a project hosted at: - # github.com/kanyawtech/myanmar-karen-word-lists - # - # -------------------------------------------------------------------------- - # Copyright (c) 2013, LeRoy Benjamin Sharon - # All rights reserved. - # - # Redistribution and use in source and binary forms, with or without - # modification, are permitted provided that the following conditions - # are met: Redistributions of source code must retain the above - # copyright notice, this list of conditions and the following - # disclaimer. Redistributions in binary form must reproduce the - # above copyright notice, this list of conditions and the following - # disclaimer in the documentation and/or other materials provided - # with the distribution. - # - # Neither the name Myanmar Karen Word Lists, nor the names of its - # contributors may be used to endorse or promote products derived - # from this software without specific prior written permission. - # - # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS - # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF - # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - # SUCH DAMAGE. - # -------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +icu ----------------------------------------------------------------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Time Zone Database +Copyright (C) 2013-2015, International Business Machines +Corporation and others. All Rights Reserved. - ICU uses the public domain data and code derived from Time Zone -Database for its time zone support. The ownership of the TZ database -is explained in BCP 175: Procedure for Maintaining the Time Zone -Database section 7. - # 7. Database Ownership - # - # The TZ database itself is not an IETF Contribution or an IETF - # document. Rather it is a pre-existing and regularly updated work - # that is in the public domain, and is intended to remain in the - # public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do - # not apply to the TZ Database or contributions that individuals make - # to it. Should any claims be made and substantiated against the TZ - # Database, the organization that is providing the IANA - # Considerations defined in this RFC, under the memorandum of - # understanding with the IETF, currently ICANN, may act in accordance - # with all competent court orders. No ownership claims will be made - # by ICANN or the IETF Trust on the database or the code. Any person - # making a contribution to the database or code waives all rights to - # future claims in that contribution or in the TZ Database. +-------------------------------------------------------------------------------- +icu ----------------------------------------------------------------------- +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Google double-conversion +Copyright (C) 2013-2015, International Business Machines Corporation and others. +All Rights Reserved. -Copyright 2006-2011, the V8 project authors. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. +-------------------------------------------------------------------------------- +icu -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html ----------------------------------------------------------------------- +Copyright (C) 2013-2016, International Business Machines +Corporation and others. All Rights Reserved. -File: install-sh (only for ICU4C) +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright 1991 by the Massachusetts Institute of Technology +Copyright (C) 2014, International Business Machines +Corporation and others. All Rights Reserved. -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of M.I.T. not be used in advertising or -publicity pertaining to distribution of the software without specific, -written prior permission. M.I.T. makes no representations about the -suitability of this software for any purpose. It is provided "as is" -without express or implied warranty. -------------------------------------------------------------------------------- -libcxx +icu -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -See Terms of Use -for definitions of Unicode Inc.'s Data Files and Software. +Copyright (C) 2014, International Business Machines +Corporation and others. All Rights Reserved. -NOTICE TO USER: Carefully read the following legal agreement. -BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S -DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), -YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. -IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE -THE DATA FILES OR SOFTWARE. -COPYRIGHT AND PERMISSION NOTICE +-------------------------------------------------------------------------------- +icu -Copyright (c) 1991-2022 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. +Copyright (C) 2014-2015, International Business Machines Corporation and +others. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. -------------------------------------------------------------------------------- -harfbuzz icu -web_unicode -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -See Terms of Use -for definitions of Unicode Inc.’s Data Files and Software. +Copyright (C) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. -NOTICE TO USER: Carefully read the following legal agreement. -BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S -DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), -YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. -IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE -THE DATA FILES OR SOFTWARE. -COPYRIGHT AND PERMISSION NOTICE +-------------------------------------------------------------------------------- +icu -Copyright © 1991-2022 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. +Copyright (C) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2000-2004 Fred L. Drake, Jr. -Copyright (c) 2001-2002 Greg Stein -Copyright (c) 2002-2006 Karl Waclawek -Copyright (c) 2016 Cristian Rodríguez -Copyright (c) 2016-2019 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2018 Yury Gribov -Licensed under the MIT license: +Copyright (C) 2014-2016, International Business Machines Corporation and +others. +All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2000-2005 Fred L. Drake, Jr. -Copyright (c) 2001-2002 Greg Stein -Copyright (c) 2002-2016 Karl Waclawek -Copyright (c) 2016-2025 Sebastian Pipping -Copyright (c) 2016 Cristian Rodríguez -Copyright (c) 2016 Thomas Beutlich -Copyright (c) 2017 Rhodri James -Copyright (c) 2022 Thijs Schreijer -Copyright (c) 2023 Hanno Böck -Copyright (c) 2023 Sony Corporation / Snild Dolkow -Copyright (c) 2024 Taichi Haradaguchi <20001722@ymail.ne.jp> -Licensed under the MIT license: +Copyright (C) 2014-2016, International Business Machines Corporation and +others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2014-2016, International Business Machines Corporation and +others. All Rights Reserved. -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2002 Fred L. Drake, Jr. -Copyright (c) 2006 Karl Waclawek -Copyright (c) 2016-2017 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Licensed under the MIT license: -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2003 Fred L. Drake, Jr. -Copyright (c) 2002 Greg Stein -Copyright (c) 2002-2016 Karl Waclawek -Copyright (c) 2005-2009 Steven Solie -Copyright (c) 2016-2024 Sebastian Pipping -Copyright (c) 2016 Pascal Cuoq -Copyright (c) 2016 Don Lewis -Copyright (c) 2017 Rhodri James -Copyright (c) 2017 Alexander Bluhm -Copyright (c) 2017 Benbuck Nason -Copyright (c) 2017 José Gutiérrez de la Concha -Copyright (c) 2019 David Loffredo -Copyright (c) 2021 Donghee Na -Copyright (c) 2022 Martin Ettl -Copyright (c) 2022 Sean McBride -Copyright (c) 2023 Hanno Böck -Licensed under the MIT license: +Copyright (C) 2014-2016, International Business Machines Corporation and others. +All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2003 Fred L. Drake, Jr. -Copyright (c) 2004-2009 Karl Waclawek -Copyright (c) 2005-2007 Steven Solie -Copyright (c) 2016-2023 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2019 David Loffredo -Copyright (c) 2020 Joe Orton -Copyright (c) 2020 Kleber Tarcísio -Copyright (c) 2021 Tim Bray -Copyright (c) 2022 Martin Ettl -Copyright (c) 2022 Sean McBride -Licensed under the MIT license: +Copyright (C) 2015, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015, International Business Machines Corporation +and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015, International Business Machines Corporation and +others. All Rights Reserved. + + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015-2016, International Business Machines +Corporation and others. All Rights Reserved. + + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2015-2016, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat - -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +icu -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2001-2004 Fred L. Drake, Jr. -Copyright (c) 2002-2009 Karl Waclawek -Copyright (c) 2016-2017 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2017 Franek Korta -Copyright (c) 2022 Sean McBride -Copyright (c) 2025 Hanno Böck -Licensed under the MIT license: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +Copyright (C) 2016, International Business Machines +Corporation and others. All Rights Reserved. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2002-2005 Karl Waclawek -Copyright (c) 2016-2024 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Licensed under the MIT license: +Copyright (C) 2016, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2012, International Business Machines Corporation and +others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2005 Karl Waclawek -Copyright (c) 2016-2023 Sebastian Pipping -Licensed under the MIT license: +Copyright (c) 1996-2014, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2015, International Business Machines Corporation and +others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2005-2006 Karl Waclawek -Copyright (c) 2016-2019 Sebastian Pipping -Copyright (c) 2019 David Loffredo -Licensed under the MIT license: +Copyright (c) 1996-2015, International Business Machines Corporation and others. +All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1996-2016, International Business Machines Corporation + and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2017 Sebastian Pipping -Licensed under the MIT license: +Copyright (c) 1996-2016, International Business Machines Corporation and +others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. + +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 1997-2012, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2022 Sebastian Pipping -Copyright (c) 2022 Martin Ettl -Licensed under the MIT license: +Copyright (c) 1999-2002, International Business Machines Corporation and +others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +-------------------------------------------------------------------------------- +icu -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. +Copyright (c) 2001-2012, International Business Machines +Corporation and others. All Rights Reserved. + + -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2024 Sebastian Pipping -Licensed under the MIT license: +Copyright (c) 2002-2004, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2006, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2017 Sebastian Pipping -Licensed under the MIT license: +Copyright (c) 2002-2007, International Business Machines Corporation +and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2011, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Greg Stein -Copyright (c) 2002-2006 Karl Waclawek -Copyright (c) 2002-2003 Fred L. Drake, Jr. -Copyright (c) 2005-2009 Steven Solie -Copyright (c) 2016-2023 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2019 David Loffredo -Copyright (c) 2021 Donghee Na -Licensed under the MIT license: +Copyright (c) 2002-2014, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2002-2014, International Business Machines Corporation +and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Karl Waclawek -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2017-2024 Sebastian Pipping -Licensed under the MIT license: +Copyright (c) 2002-2016, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002-2003 Fred L. Drake, Jr. -Copyright (c) 2004-2006 Karl Waclawek -Copyright (c) 2005-2007 Steven Solie -Copyright (c) 2016-2023 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Copyright (c) 2019 David Loffredo -Copyright (c) 2021 Donghee Na -Copyright (c) 2024 Hanno Böck -Licensed under the MIT license: +Copyright (c) 2003-2004, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2008, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2017-2019 Sebastian Pipping -Licensed under the MIT license: +Copyright (c) 2003-2011, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2003-2013, International Business Machines +Corporation and others. All Rights Reserved. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------------------------------------------------------------- -expat -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +-------------------------------------------------------------------------------- +icu -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2017 Sebastian Pipping -Licensed under the MIT license: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +Copyright (c) 2003-2014, International Business Machines +Corporation and others. All Rights Reserved. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat - -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +icu -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2016-2018 Sebastian Pipping -Copyright (c) 2018 Marco Maggi -Licensed under the MIT license: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +Copyright (c) 2004, International Business Machines +Corporation and others. All Rights Reserved. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat - -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +icu -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2016-2021 Sebastian Pipping -Copyright (c) 2017 Rhodri James -Licensed under the MIT license: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +Copyright (c) 2004-2006, International Business Machines +Corporation and others. All Rights Reserved. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat - -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +icu -Copyright (c) 1999-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Fred L. Drake, Jr. -Copyright (c) 2007 Karl Waclawek -Copyright (c) 2017 Sebastian Pipping -Licensed under the MIT license: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +Copyright (c) 2004-2014 International Business Machines +Corporation and others. All Rights Reserved. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat - -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +icu -Copyright (c) 2000 Clark Cooper -Copyright (c) 2002 Greg Stein -Copyright (c) 2005 Karl Waclawek -Copyright (c) 2017-2023 Sebastian Pipping -Copyright (c) 2023 Orgad Shaneh -Licensed under the MIT license: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +Copyright (c) 2004-2014, International Business Machines +Corporation and others. All Rights Reserved. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat - -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +icu -Copyright (c) 2000 Clark Cooper -Copyright (c) 2017 Sebastian Pipping -Licensed under the MIT license: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: +Copyright (c) 2004-2015, International Business Machines +Corporation and others. All Rights Reserved. -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 2022 Mark Brand -Copyright (c) 2025 Sebastian Pipping -Licensed under the MIT license: +Copyright (c) 2004-2016, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2008-2015, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -expat +icu -d19ae032c224863c1527ba44d228cc34b99192c3a4c5a27af1f4e054d45ee031 (2.7.1+) -__ __ _ -___\ \/ /_ __ __ _| |_ -/ _ \\ /| '_ \ / _` | __| -| __// \| |_) | (_| | |_ -\___/_/\_\ .__/ \__,_|\__| -|_| XML parser +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1997-2000 Thai Open Source Software Center Ltd -Copyright (c) 2000 Clark Cooper -Copyright (c) 2000-2006 Fred L. Drake, Jr. -Copyright (c) 2001-2002 Greg Stein -Copyright (c) 2002-2016 Karl Waclawek -Copyright (c) 2005-2009 Steven Solie -Copyright (c) 2016 Eric Rahm -Copyright (c) 2016-2025 Sebastian Pipping -Copyright (c) 2016 Gaurav -Copyright (c) 2016 Thomas Beutlich -Copyright (c) 2016 Gustavo Grieco -Copyright (c) 2016 Pascal Cuoq -Copyright (c) 2016 Ed Schouten -Copyright (c) 2017-2022 Rhodri James -Copyright (c) 2017 Václav Slavík -Copyright (c) 2017 Viktor Szakats -Copyright (c) 2017 Chanho Park -Copyright (c) 2017 Rolf Eike Beer -Copyright (c) 2017 Hans Wennborg -Copyright (c) 2018 Anton Maklakov -Copyright (c) 2018 Benjamin Peterson -Copyright (c) 2018 Marco Maggi -Copyright (c) 2018 Mariusz Zaborski -Copyright (c) 2019 David Loffredo -Copyright (c) 2019-2020 Ben Wagner -Copyright (c) 2019 Vadim Zeitlin -Copyright (c) 2021 Donghee Na -Copyright (c) 2022 Samanta Navarro -Copyright (c) 2022 Jeffrey Walton -Copyright (c) 2022 Jann Horn -Copyright (c) 2022 Sean McBride -Copyright (c) 2023 Owain Davies -Copyright (c) 2023-2024 Sony Corporation / Snild Dolkow -Copyright (c) 2024-2025 Berkay Eren Ürün -Copyright (c) 2024 Hanno Böck -Licensed under the MIT license: +Copyright (c) 2014, International Business Machines +Corporation and others. All Rights Reserved. -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to permit -persons to whom the Software is furnished to do so, subject to the -following conditions: -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + +Copyright (c) 2014-2016, International Business Machines +Corporation and others. All Rights Reserved. + -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- -libjpeg-turbo +icu -libjpeg-turbo Licenses -====================== +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2000-2016, International Business Machines + Corporation and others. All Rights Reserved. -libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +-------------------------------------------------------------------------------- +icu -- The IJG (Independent JPEG Group) License, which is listed in - [README.ijg](README.ijg) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008, International Business Machines + Corporation and others. All Rights Reserved. - This license applies to the libjpeg API library and associated programs - (any code inherited from libjpeg, and any modifications to that code.) -- The Modified (3-clause) BSD License, which is listed in - [turbojpeg.c](turbojpeg.c) +-------------------------------------------------------------------------------- +icu - This license covers the TurboJPEG API library and associated programs. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008-2011, International Business Machines + Corporation and others. All Rights Reserved. -- The zlib License, which is listed in [simd/jsimdext.inc](simd/jsimdext.inc) - This license is a subset of the other two, and it covers the libjpeg-turbo - SIMD extensions. +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008-2012, International Business Machines + Corporation and others. All Rights Reserved. -Complying with the libjpeg-turbo Licenses -========================================= -This section provides a roll-up of the libjpeg-turbo licensing terms, to the -best of our understanding. +-------------------------------------------------------------------------------- +icu -1. If you are distributing a modified version of the libjpeg-turbo source, - then: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008-2015, International Business Machines + Corporation and others. All Rights Reserved. - 1. You cannot alter or remove any existing copyright or license notices - from the source. - **Origin** - - Clause 1 of the IJG License - - Clause 1 of the Modified BSD License - - Clauses 1 and 3 of the zlib License +-------------------------------------------------------------------------------- +icu - 2. You must add your own copyright notice to the header of each source - file you modified, so others can tell that you modified that file (if - there is not an existing copyright header in that file, then you can - simply add a notice stating that you modified the file.) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2008-2016, International Business Machines + Corporation and others. All Rights Reserved. - **Origin** - - Clause 1 of the IJG License - - Clause 2 of the zlib License - 3. You must include the IJG README file, and you must not alter any of the - copyright or license text in that file. +-------------------------------------------------------------------------------- +icu - **Origin** - - Clause 1 of the IJG License +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2009-2013, International Business Machines + Corporation and others. All Rights Reserved. -2. If you are distributing only libjpeg-turbo binaries without the source, or - if you are distributing an application that statically links with - libjpeg-turbo, then: - 1. Your product documentation must include a message stating: +-------------------------------------------------------------------------------- +icu - This software is based in part on the work of the Independent JPEG - Group. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2009-2015, International Business Machines + Corporation and others. All Rights Reserved. - **Origin** - - Clause 2 of the IJG license - 2. If your binary distribution includes or uses the TurboJPEG API, then - your product documentation must include the text of the Modified BSD - License. +-------------------------------------------------------------------------------- +icu - **Origin** - - Clause 2 of the Modified BSD License +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html + Copyright (C) 2009-2016, International Business Machines + Corporation and others. All Rights Reserved. -3. You cannot use the name of the IJG or The libjpeg-turbo Project or the - contributors thereof in advertising, publicity, etc. - **Origin** - - IJG License - - Clause 3 of the Modified BSD License +-------------------------------------------------------------------------------- +icu -4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be - free of defects, nor do we accept any liability for undesirable - consequences resulting from your use of the software. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1996-2008, International Business Machines Corporation +and others. All Rights Reserved. - **Origin** - - IJG License - - Modified BSD License - - zlib License + -------------------------------------------------------------------------------- -libjpeg-turbo +icu -libjpeg-turbo Licenses -====================== +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1996-2012, International Business Machines Corporation +and others. All Rights Reserved. -libjpeg-turbo is covered by three compatible BSD-style open source licenses: + +-------------------------------------------------------------------------------- +icu -- The IJG (Independent JPEG Group) License, which is listed in - [README.ijg](README.ijg) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1997-2005, International Business Machines Corporation and others. All Rights Reserved. - This license applies to the libjpeg API library and associated programs - (any code inherited from libjpeg, and any modifications to that code.) -- The Modified (3-clause) BSD License, which is listed in - [turbojpeg.c](turbojpeg.c) - This license covers the TurboJPEG API library and associated programs. +-------------------------------------------------------------------------------- +icu -- The zlib License, which is listed in [simd/jsimdext.inc](simd/jsimdext.inc) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1997-2013, International Business Machines Corporation and others. +All Rights Reserved. - This license is a subset of the other two, and it covers the libjpeg-turbo - SIMD extensions. -Complying with the libjpeg-turbo Licenses -========================================= +-------------------------------------------------------------------------------- +icu -This section provides a roll-up of the libjpeg-turbo licensing terms, to the -best of our understanding. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 1997-2016, International Business Machines Corporation and +others. All Rights Reserved. -1. If you are distributing a modified version of the libjpeg-turbo source, - then: - 1. You cannot alter or remove any existing copyright or license notices - from the source. - **Origin** - - Clause 1 of the IJG License - - Clause 1 of the Modified BSD License - - Clauses 1 and 3 of the zlib License +-------------------------------------------------------------------------------- +icu - 2. You must add your own copyright notice to the header of each source - file you modified, so others can tell that you modified that file (if - there is not an existing copyright header in that file, then you can - simply add a notice stating that you modified the file.) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2001-2005, International Business Machines Corporation and others. All Rights Reserved. - **Origin** - - Clause 1 of the IJG License - - Clause 2 of the zlib License + +-------------------------------------------------------------------------------- +icu - 3. You must include the IJG README file, and you must not alter any of the - copyright or license text in that file. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2001-2011, International Business Machines Corporation +and others. All Rights Reserved. - **Origin** - - Clause 1 of the IJG License + +-------------------------------------------------------------------------------- +icu -2. If you are distributing only libjpeg-turbo binaries without the source, or - if you are distributing an application that statically links with - libjpeg-turbo, then: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2002-2016 International Business Machines Corporation + and others. All rights reserved. - 1. Your product documentation must include a message stating: - This software is based in part on the work of the Independent JPEG - Group. +-------------------------------------------------------------------------------- +icu - **Origin** - - Clause 2 of the IJG license +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2003-2014, International Business Machines Corporation +and others. All Rights Reserved. - 2. If your binary distribution includes or uses the TurboJPEG API, then - your product documentation must include the text of the Modified BSD - License. - **Origin** - - Clause 2 of the Modified BSD License -3. You cannot use the name of the IJG or The libjpeg-turbo Project or the - contributors thereof in advertising, publicity, etc. +-------------------------------------------------------------------------------- +icu - **Origin** - - IJG License - - Clause 3 of the Modified BSD License +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. -4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be - free of defects, nor do we accept any liability for undesirable - consequences resulting from your use of the software. - **Origin** - - IJG License - - Modified BSD License - - zlib License -------------------------------------------------------------------------------- -libjpeg-turbo - -libjpeg-turbo note: This file has been modified by The libjpeg-turbo Project -to include only information relevant to libjpeg-turbo, to wordsmith certain -sections, and to remove impolitic language that existed in the libjpeg v8 -README. It is included only for reference. Please see README.md for -information specific to libjpeg-turbo. +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2008, International Business Machines Corporation and +others. All Rights Reserved. -The Independent JPEG Group's JPEG software -========================================== -This distribution contains a release of the Independent JPEG Group's free JPEG -software. You are welcome to redistribute this software and to use it for any -purpose, subject to the conditions under LEGAL ISSUES, below. -This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone, -Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson, -Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers, -and other members of the Independent JPEG Group. +-------------------------------------------------------------------------------- +icu -IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee -(also known as JPEG, together with ITU-T SG16). +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2008-2014, International Business Machines Corporation and +others. All Rights Reserved. -DOCUMENTATION ROADMAP -===================== +-------------------------------------------------------------------------------- +icu -This file contains the following sections: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2008-2016, International Business Machines Corporation and +others. All Rights Reserved. -OVERVIEW General description of JPEG and the IJG software. -LEGAL ISSUES Copyright, lack of warranty, terms of distribution. -REFERENCES Where to learn more about JPEG. -ARCHIVE LOCATIONS Where to find newer versions of this software. -FILE FORMAT WARS Software *not* to get. -TO DO Plans for future IJG releases. -Other documentation files in the distribution are: -User documentation: - usage.txt Usage instructions for cjpeg, djpeg, jpegtran, - rdjpgcom, and wrjpgcom. - *.1 Unix-style man pages for programs (same info as usage.txt). - wizard.txt Advanced usage instructions for JPEG wizards only. - change.log Version-to-version change highlights. -Programmer and internal documentation: - libjpeg.txt How to use the JPEG library in your own programs. - example.c Sample code for calling the JPEG library. - structure.txt Overview of the JPEG library's internal structure. - coderules.txt Coding style rules --- please read if you contribute code. +-------------------------------------------------------------------------------- +icu -Please read at least usage.txt. Some information can also be found in the JPEG -FAQ (Frequently Asked Questions) article. See ARCHIVE LOCATIONS below to find -out where to obtain the FAQ article. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2011, International Business Machines +Corporation and others. All Rights Reserved. -If you want to understand how the JPEG code works, we suggest reading one or -more of the REFERENCES, then looking at the documentation files (in roughly -the order listed) before diving into the code. +Copyright 2007 Google Inc. All Rights Reserved. +-------------------------------------------------------------------------------- +icu -OVERVIEW -======== +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2012, International Business Machines +Corporation and others. All Rights Reserved. -This package contains C software to implement JPEG image encoding, decoding, -and transcoding. JPEG (pronounced "jay-peg") is a standardized compression -method for full-color and grayscale images. JPEG's strong suit is compressing -photographic images or other types of images that have smooth color and -brightness transitions between neighboring pixels. Images with sharp lines or -other abrupt features may not compress well with JPEG, and a higher JPEG -quality may have to be used to avoid visible compression artifacts with such -images. +Copyright 2007 Google Inc. All Rights Reserved. -JPEG is lossy, meaning that the output pixels are not necessarily identical to -the input pixels. However, on photographic content and other "smooth" images, -very good compression ratios can be obtained with no visible compression -artifacts, and extremely high compression ratios are possible if you are -willing to sacrifice image quality (by reducing the "quality" setting in the -compressor.) +-------------------------------------------------------------------------------- +icu -This software implements JPEG baseline, extended-sequential, and progressive -compression processes. Provision is made for supporting all variants of these -processes, although some uncommon parameter settings aren't implemented yet. -We have made no provision for supporting the hierarchical or lossless -processes defined in the standard. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2013, International Business Machines +Corporation and others. All Rights Reserved. -We provide a set of library routines for reading and writing JPEG image files, -plus two sample applications "cjpeg" and "djpeg", which use the library to -perform conversion between JPEG and some other popular image file formats. -The library is intended to be reused in other applications. +Copyright 2001 and onwards Google Inc. -In order to support file conversion and viewing software, we have included -considerable functionality beyond the bare JPEG coding/decoding capability; -for example, the color quantization modules are not strictly part of JPEG -decoding, but they are essential for output to colormapped file formats or -colormapped displays. These extra functions can be compiled out of the -library if not required for a particular application. +-------------------------------------------------------------------------------- +icu -We have also included "jpegtran", a utility for lossless transcoding between -different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple -applications for inserting and extracting textual comments in JFIF files. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2009-2013, International Business Machines +Corporation and others. All Rights Reserved. -The emphasis in designing this software has been on achieving portability and -flexibility, while also making it fast enough to be useful. In particular, -the software is not intended to be read as a tutorial on JPEG. (See the -REFERENCES section for introductory material.) Rather, it is intended to -be reliable, portable, industrial-strength code. We do not claim to have -achieved that goal in every aspect of the software, but we strive for it. +Copyright 2004 and onwards Google Inc. -We welcome the use of this software as a component of commercial products. -No royalty is required, but we do ask for an acknowledgement in product -documentation, as described under LEGAL ISSUES. +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) 2015, International Business Machines Corporation and +others. All Rights Reserved. -LEGAL ISSUES -============ +-------------------------------------------------------------------------------- +icu -In plain English: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (C) {1999-2001}, International Business Machines Corporation and others. All Rights Reserved. -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. + +-------------------------------------------------------------------------------- +icu -In legalese: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2011, International Business Machines Corporation and +others. All Rights Reserved. +Copyright (C) 2010 , Yahoo! Inc. -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. +-------------------------------------------------------------------------------- +icu -This software is copyright (C) 1991-2016, Thomas G. Lane, Guido Vollbeding. -All Rights Reserved except as specified below. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2012, International Business Machines Corporation and +others. All Rights Reserved. -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. + +-------------------------------------------------------------------------------- +icu -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2012, International Business Machines Corporation and +others. All Rights Reserved. +Copyright (C) 2010 , Yahoo! Inc. -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". +-------------------------------------------------------------------------------- +icu -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2015, International Business Machines Corporation and +others. All Rights Reserved. -The Unix configuration script "configure" was produced with GNU Autoconf. -It is copyright by the Free Software Foundation but is freely distributable. -The same holds for its supporting scripts (config.guess, config.sub, -ltmain.sh). Another support script, install-sh, is copyright by X Consortium -but is also freely distributable. -The IJG distribution formerly included code to read and write GIF files. -To avoid entanglement with the Unisys LZW patent (now expired), GIF reading -support has been removed altogether, and the GIF writer has been simplified -to produce "uncompressed GIFs". This technique does not use the LZW -algorithm; the resulting GIF files are larger than usual, but are readable -by all standard GIF decoders. +-------------------------------------------------------------------------------- +icu -We are required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1997-2016, International Business Machines Corporation +and others. All Rights Reserved. -REFERENCES -========== -We recommend reading one or more of these references before trying to -understand the innards of the JPEG software. +-------------------------------------------------------------------------------- +icu -The best short technical introduction to the JPEG compression algorithm is - Wallace, Gregory K. "The JPEG Still Picture Compression Standard", - Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44. -(Adjacent articles in that issue discuss MPEG motion picture compression, -applications of JPEG, and related topics.) If you don't have the CACM issue -handy, a PDF file containing a revised version of Wallace's article is -available at http://www.ijg.org/files/Wallace.JPEG.pdf. The file (actually -a preprint for an article that appeared in IEEE Trans. Consumer Electronics) -omits the sample images that appeared in CACM, but it includes corrections -and some added material. Note: the Wallace article is copyright ACM and IEEE, -and it may not be used for commercial purposes. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1999-2012, International Business Machines Corporation and +others. All Rights Reserved. -A somewhat less technical, more leisurely introduction to JPEG can be found in -"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by -M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides -good explanations and example C code for a multitude of compression methods -including JPEG. It is an excellent source if you are comfortable reading C -code but don't know much about data compression in general. The book's JPEG -sample code is far from industrial-strength, but when you are ready to look -at a full implementation, you've got one here... -The best currently available description of JPEG is the textbook "JPEG Still -Image Data Compression Standard" by William B. Pennebaker and Joan L. -Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1. -Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG -standards (DIS 10918-1 and draft DIS 10918-2). +-------------------------------------------------------------------------------- +icu -The original JPEG standard is divided into two parts, Part 1 being the actual -specification, while Part 2 covers compliance testing methods. Part 1 is -titled "Digital Compression and Coding of Continuous-tone Still Images, -Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS -10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of -Continuous-tone Still Images, Part 2: Compliance testing" and has document -numbers ISO/IEC IS 10918-2, ITU-T T.83. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 1999-2016, International Business Machines Corporation and +others. All Rights Reserved. -The JPEG standard does not specify all details of an interchangeable file -format. For the omitted details we follow the "JFIF" conventions, revision -1.02. JFIF 1.02 has been adopted as an Ecma International Technical Report -and thus received a formal publication status. It is available as a free -download in PDF format from -http://www.ecma-international.org/publications/techreports/E-TR-098.htm. -A PostScript version of the JFIF document is available at -http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at -http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures. -The TIFF 6.0 file format specification can be obtained by FTP from -ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme -found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems. -IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6). -Instead, we recommend the JPEG design proposed by TIFF Technical Note #2 -(Compression tag 7). Copies of this Note can be obtained from -http://www.ijg.org/files/. It is expected that the next revision -of the TIFF spec will replace the 6.0 JPEG design with the Note's design. -Although IJG's own code does not support TIFF/JPEG, the free libtiff library -uses our library to implement TIFF/JPEG per the Note. +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2001-2016, International Business Machines Corporation and +others. All Rights Reserved. -ARCHIVE LOCATIONS -================= +-------------------------------------------------------------------------------- +icu -The "official" archive site for this software is www.ijg.org. -The most recent released version can always be found there in -directory "files". +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2005, International Business Machines Corporation and +others. All Rights Reserved. -The JPEG FAQ (Frequently Asked Questions) article is a source of some -general information about JPEG. -It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/ -and other news.answers archive sites, including the official news.answers -archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/. -If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu -with body - send usenet/news.answers/jpeg-faq/part1 - send usenet/news.answers/jpeg-faq/part2 +-------------------------------------------------------------------------------- +icu +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2006, International Business Machines Corporation and +others. All Rights Reserved. -FILE FORMAT WARS -================ +-------------------------------------------------------------------------------- +icu -The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together -with ITU-T SG16) currently promotes different formats containing the name -"JPEG" which are incompatible with original DCT-based JPEG. IJG therefore does -not support these formats (see REFERENCES). Indeed, one of the original -reasons for developing this free software was to help force convergence on -common, interoperable format standards for JPEG files. -Don't use an incompatible file format! -(In any case, our decoder will remain capable of reading existing JPEG -image files indefinitely.) +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2012, International Business Machines Corporation and +others. All Rights Reserved. +-------------------------------------------------------------------------------- +icu -TO DO -===== +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2002-2014, International Business Machines Corporation and +others. All Rights Reserved. -Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org. -------------------------------------------------------------------------------- -zlib +icu -version 1.2.12, March 27th, 2022 +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2003-2010 International Business Machines +Corporation and others. All Rights Reserved. -Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +-------------------------------------------------------------------------------- +icu -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2004-2010, International Business Machines Corporation and +others. All Rights Reserved. -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -zlib - -version 1.3.0.1, August xxth, 2023 +icu -Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2007-2012, International Business Machines Corporation and +others. All Rights Reserved. -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. +-------------------------------------------------------------------------------- +icu -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2007-2013, International Business Machines Corporation and +others. All Rights Reserved. -1. The origin of this software must not be misrepresented; you must not -claim that you wrote the original software. If you use this software -in a product, an acknowledgment in the product documentation would be -appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be -misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -------------------------------------------------------------------------------- -xxhash +icu -xxHash Library -Copyright (c) 2012-2014, Yann Collet -All rights reserved. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2007-2014, International Business Machines Corporation and +others. All Rights Reserved. -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +-------------------------------------------------------------------------------- +icu -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2007-2016, International Business Machines Corporation and +others. All Rights Reserved. -* Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or - other materials provided with the distribution. +-------------------------------------------------------------------------------- +icu + +© 2016 and later: Unicode, Inc. and others. +License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2008-2010, International Business Machines Corporation and +others. All Rights Reserved. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- icu © 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2008-2011, International Business Machines Corporation and +others. All Rights Reserved. + -------------------------------------------------------------------------------- icu -© 2017 and later: Unicode, Inc. and others. +© 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) 2008-2014, International Business Machines Corporation and +others. All Rights Reserved. + -------------------------------------------------------------------------------- icu -© 2018 and later: Unicode, Inc. and others. +© 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2010. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. -------------------------------------------------------------------------------- icu -© 2019 and later: Unicode, Inc. and others. +© 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2011. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. -------------------------------------------------------------------------------- icu -© 2020 and later: Unicode, Inc. and others. +© 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2012. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. -------------------------------------------------------------------------------- icu -© 2021 and later: Unicode, Inc. and others. +© 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2014. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. -------------------------------------------------------------------------------- icu -© 2022 and later: Unicode, Inc. and others. +© 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html +Copyright (c) IBM Corporation, 2000-2016. All rights reserved. + +This software is made available under the terms of the +ICU License -- ICU 1.8.1 and later. -------------------------------------------------------------------------------- icu -© 2023 and later: Unicode, Inc. and others. +© 2017 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html + +Copyright (C) 2009-2017, International Business Machines Corporation, +Google, and others. All Rights Reserved. + + diff --git a/engine/src/flutter/testing/BUILD.gn b/engine/src/flutter/testing/BUILD.gn index 1a21ac33669be..819f81d6519c8 100644 --- a/engine/src/flutter/testing/BUILD.gn +++ b/engine/src/flutter/testing/BUILD.gn @@ -40,6 +40,7 @@ source_set("testing_lib") { public_deps = [ "//flutter/display_list", "//flutter/fml", + "//flutter/impeller/typographer:typographer", "//flutter/third_party/googletest:gmock", "//flutter/third_party/googletest:gtest", ] diff --git a/engine/src/flutter/testing/display_list_testing.cc b/engine/src/flutter/testing/display_list_testing.cc index 5af0ecabffa1a..c0a359c975cb7 100644 --- a/engine/src/flutter/testing/display_list_testing.cc +++ b/engine/src/flutter/testing/display_list_testing.cc @@ -12,6 +12,7 @@ #include "flutter/display_list/effects/dl_color_filters.h" #include "flutter/display_list/effects/dl_color_sources.h" #include "flutter/display_list/effects/dl_image_filters.h" +#include "flutter/impeller/typographer/text_frame.h" namespace flutter::testing { @@ -287,22 +288,19 @@ std::ostream& operator<<(std::ostream& os, DlImageSampling sampling) { } } -static std::ostream& operator<<(std::ostream& os, const SkTextBlob* blob) { - if (blob == nullptr) { - return os << "no text"; +static std::ostream& operator<<(std::ostream& os, const flutter::DlText* text) { + auto blob = text->GetTextBlob(); + if (blob != nullptr) { + return os << "&SkTextBlob(ID: " << blob->uniqueID() << ", " << blob->bounds() << ")"; } - return os << "&SkTextBlob(ID: " << blob->uniqueID() << ", " << blob->bounds() << ")"; -} - -static std::ostream& operator<<(std::ostream& os, - const impeller::TextFrame* frame) { - if (frame == nullptr) { - return os << "no text"; + auto frame = text->GetTextFrame(); + if (frame != nullptr) { + auto bounds = frame->GetBounds(); + return os << "&TextFrame(" + << bounds.GetLeft() << ", " << bounds.GetTop() << " => " + << bounds.GetRight() << ", " << bounds.GetBottom() << ")"; } - auto bounds = frame->GetBounds(); - return os << "&TextFrame(" - << bounds.GetLeft() << ", " << bounds.GetTop() << " => " - << bounds.GetRight() << ", " << bounds.GetBottom() << ")"; + return os << "no text"; } std::ostream& operator<<(std::ostream& os, const DlVertexMode& mode) { @@ -976,23 +974,14 @@ void DisplayListStreamDispatcher::drawDisplayList( << "opacity: " << opacity << ");" << std::endl; } -void DisplayListStreamDispatcher::drawTextBlob(const sk_sp blob, +void DisplayListStreamDispatcher::drawText(const std::shared_ptr& text, DlScalar x, DlScalar y) { - startl() << "drawTextBlob(" - << blob.get() << ", " + startl() << "drawText(" + << text.get() << ", " << x << ", " << y << ");" << std::endl; } -void DisplayListStreamDispatcher::drawTextFrame( - const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) { - startl() << "drawTextFrame(" - << text_frame.get() << ", " - << x << ", " << y << ");" << std::endl; -} - void DisplayListStreamDispatcher::drawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, diff --git a/engine/src/flutter/testing/display_list_testing.h b/engine/src/flutter/testing/display_list_testing.h index 92667a388f6d1..648fe948b62e4 100644 --- a/engine/src/flutter/testing/display_list_testing.h +++ b/engine/src/flutter/testing/display_list_testing.h @@ -198,12 +198,9 @@ class DisplayListStreamDispatcher final : public DlOpReceiver { bool render_with_attributes) override; void drawDisplayList(const sk_sp display_list, DlScalar opacity) override; - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override; - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override; + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override; void drawShadow(const DlPath& path, const DlColor color, const DlScalar elevation, @@ -563,15 +560,10 @@ class DisplayListGeneralReceiver : public DlOpReceiver { DlScalar opacity) override { RecordByType(DisplayListOpType::kDrawDisplayList); } - void drawTextBlob(const sk_sp blob, - DlScalar x, - DlScalar y) override { - RecordByType(DisplayListOpType::kDrawTextBlob); - } - void drawTextFrame(const std::shared_ptr& text_frame, - DlScalar x, - DlScalar y) override { - RecordByType(DisplayListOpType::kDrawTextFrame); + void drawText(const std::shared_ptr& text, + DlScalar x, + DlScalar y) override { + RecordByType(DisplayListOpType::kDrawText); } void drawShadow(const DlPath& path, const DlColor color, diff --git a/engine/src/flutter/testing/ios/IosUnitTests/IosUnitTests.xcodeproj/project.pbxproj b/engine/src/flutter/testing/ios/IosUnitTests/IosUnitTests.xcodeproj/project.pbxproj index 0b593d58ad1d2..f83b36bce7dd9 100644 --- a/engine/src/flutter/testing/ios/IosUnitTests/IosUnitTests.xcodeproj/project.pbxproj +++ b/engine/src/flutter/testing/ios/IosUnitTests/IosUnitTests.xcodeproj/project.pbxproj @@ -74,6 +74,9 @@ 3DD7D38C27D2B81000DA365C /* FlutterUndoManagerPluginTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FlutterUndoManagerPluginTest.mm; sourceTree = ""; }; 689EC1E2281B30D3008FEB58 /* FlutterSpellCheckPluginTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FlutterSpellCheckPluginTest.mm; sourceTree = ""; }; 68B6091227F62F990036AC78 /* VsyncWaiterIosTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = VsyncWaiterIosTest.mm; sourceTree = ""; }; + 7802C4F12E67A0CC002C7D6D /* FlutterSceneDelegateTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FlutterSceneDelegateTest.m; sourceTree = ""; }; + 78136AF72E68D14D00900DCE /* FlutterSceneLifecycleTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FlutterSceneLifecycleTest.mm; sourceTree = ""; }; + 78A9D2512E6F56DA00BEE2FC /* FlutterViewTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FlutterViewTest.mm; sourceTree = ""; }; 78E4ED342D88A77C00FD954E /* FlutterSharedApplicationTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FlutterSharedApplicationTest.mm; sourceTree = ""; }; D2D361A52B234EAC0018964E /* FlutterMetalLayerTest.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FlutterMetalLayerTest.mm; sourceTree = ""; }; F7521D7226BB671E005F15C5 /* libios_test_flutter.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libios_test_flutter.dylib; path = "../../../../out/$(FLUTTER_ENGINE)/libios_test_flutter.dylib"; sourceTree = ""; }; @@ -104,6 +107,8 @@ 0AC232E924BA71D300A85907 /* Source */ = { isa = PBXGroup; children = ( + 78136AF72E68D14D00900DCE /* FlutterSceneLifecycleTest.mm */, + 7802C4F12E67A0CC002C7D6D /* FlutterSceneDelegateTest.m */, 78E4ED342D88A77C00FD954E /* FlutterSharedApplicationTest.mm */, F76A3A892BE48F2F00A654F1 /* FlutterPlatformViewsTest.mm */, 689EC1E2281B30D3008FEB58 /* FlutterSpellCheckPluginTest.mm */, @@ -112,6 +117,7 @@ F7A3FDE026B9E0A300EADD61 /* FlutterAppDelegateTest.mm */, 0AC232F424BA71D300A85907 /* SemanticsObjectTest.mm */, 0AC232F724BA71D300A85907 /* FlutterEngineTest.mm */, + 78A9D2512E6F56DA00BEE2FC /* FlutterViewTest.mm */, 0AC2330324BA71D300A85907 /* accessibility_bridge_test.mm */, 0AC2330B24BA71D300A85907 /* FlutterTextInputPluginTest.mm */, 0AC2331024BA71D300A85907 /* connection_collection_test.mm */, diff --git a/engine/src/flutter/testing/ios_scenario_app/lib/src/locale_initialization.dart b/engine/src/flutter/testing/ios_scenario_app/lib/src/locale_initialization.dart index c7e4559307130..4306a3a828c2e 100644 --- a/engine/src/flutter/testing/ios_scenario_app/lib/src/locale_initialization.dart +++ b/engine/src/flutter/testing/ios_scenario_app/lib/src/locale_initialization.dart @@ -78,7 +78,7 @@ class LocaleInitialization extends Scenario { ); final SemanticsUpdate semanticsUpdate = semanticsUpdateBuilder.build(); - + view.platformDispatcher.setSemanticsTreeEnabled(true); view.updateSemantics(semanticsUpdate); } diff --git a/engine/src/flutter/testing/run_tests.py b/engine/src/flutter/testing/run_tests.py index 97676a9c0ff5a..bfd5872374658 100755 --- a/engine/src/flutter/testing/run_tests.py +++ b/engine/src/flutter/testing/run_tests.py @@ -431,6 +431,7 @@ def make_test(name, flags=None, extra_env=None): make_test('embedder_proctable_unittests'), make_test('embedder_unittests'), make_test('fml_unittests'), + make_test('geometry_unittests'), make_test('no_dart_plugin_registrant_unittests'), make_test('runtime_unittests'), make_test('testing_unittests'), diff --git a/engine/src/flutter/third_party/.gitignore b/engine/src/flutter/third_party/.gitignore index bf3e9d89a4d9d..57e0aa4f510eb 100644 --- a/engine/src/flutter/third_party/.gitignore +++ b/engine/src/flutter/third_party/.gitignore @@ -21,4 +21,3 @@ !txt/ !web_locale_keymap/ !web_test_fonts/ -!web_unicode/ diff --git a/engine/src/flutter/third_party/accessibility/ax/ax_event_intent.cc b/engine/src/flutter/third_party/accessibility/ax/ax_event_intent.cc index 6c571482a97a0..56b447a109482 100644 --- a/engine/src/flutter/third_party/accessibility/ax/ax_event_intent.cc +++ b/engine/src/flutter/third_party/accessibility/ax/ax_event_intent.cc @@ -28,10 +28,6 @@ bool operator==(const AXEventIntent& a, const AXEventIntent& b) { a.move_direction == b.move_direction; } -bool operator!=(const AXEventIntent& a, const AXEventIntent& b) { - return !(a == b); -} - std::string AXEventIntent::ToString() const { return std::string("AXEventIntent(") + ui::ToString(command) + ',' + ui::ToString(text_boundary) + ',' + ui::ToString(move_direction) + ')'; diff --git a/engine/src/flutter/third_party/accessibility/ax/ax_event_intent.h b/engine/src/flutter/third_party/accessibility/ax/ax_event_intent.h index 6ecfec10b68a3..73916cd7befb7 100644 --- a/engine/src/flutter/third_party/accessibility/ax/ax_event_intent.h +++ b/engine/src/flutter/third_party/accessibility/ax/ax_event_intent.h @@ -27,8 +27,6 @@ struct AX_BASE_EXPORT AXEventIntent final { friend AX_BASE_EXPORT bool operator==(const AXEventIntent& a, const AXEventIntent& b); - friend AX_BASE_EXPORT bool operator!=(const AXEventIntent& a, - const AXEventIntent& b); ax::mojom::Command command = ax::mojom::Command::kType; // TODO(nektar): Split TextBoundary into TextUnit and TextBoundary. diff --git a/engine/src/flutter/third_party/accessibility/ax/ax_node_position_unittest.cc b/engine/src/flutter/third_party/accessibility/ax/ax_node_position_unittest.cc index 0d028c2270aa4..f3efb840b7168 100644 --- a/engine/src/flutter/third_party/accessibility/ax/ax_node_position_unittest.cc +++ b/engine/src/flutter/third_party/accessibility/ax/ax_node_position_unittest.cc @@ -113,6 +113,16 @@ class AXPositionTest : public testing::Test, public TestAXTreeManager { struct ExpandToEnclosingTextBoundaryTestParam { ExpandToEnclosingTextBoundaryTestParam() = default; + ExpandToEnclosingTextBoundaryTestParam( + ax::mojom::TextBoundary p_boundary, + AXRangeExpandBehavior p_expand_behavior, + std::string p_expected_anchor_position, + std::string p_expected_focus_position) + : boundary(p_boundary), + expand_behavior(p_expand_behavior), + expected_anchor_position(std::move(p_expected_anchor_position)), + expected_focus_position(std::move(p_expected_focus_position)) {} + // Required by GTest framework. ExpandToEnclosingTextBoundaryTestParam( const ExpandToEnclosingTextBoundaryTestParam& other) = default; @@ -157,6 +167,15 @@ class AXPositionExpandToEnclosingTextBoundaryTestWithParam struct CreatePositionAtTextBoundaryTestParam { CreatePositionAtTextBoundaryTestParam() = default; + CreatePositionAtTextBoundaryTestParam(ax::mojom::TextBoundary p_boundary, + ax::mojom::MoveDirection p_direction, + AXBoundaryBehavior p_boundary_behavior, + std::string p_expected_text_position) + : boundary(p_boundary), + direction(p_direction), + boundary_behavior(p_boundary_behavior), + expected_text_position(std::move(p_expected_text_position)) {} + // Required by GTest framework. CreatePositionAtTextBoundaryTestParam( const CreatePositionAtTextBoundaryTestParam& other) = default; @@ -203,6 +222,16 @@ class AXPositionCreatePositionAtTextBoundaryTestWithParam struct TextNavigationTestParam { TextNavigationTestParam() = default; + TextNavigationTestParam( + std::function p_TestMethod, + AXNode::AXID p_start_node_id, + int p_start_offset, + std::vector p_expectations) + : TestMethod(std::move(p_TestMethod)), + start_node_id(p_start_node_id), + start_offset(p_start_offset), + expectations(std::move(p_expectations)) {} + // Required by GTest framework. TextNavigationTestParam(const TextNavigationTestParam& other) = default; TextNavigationTestParam& operator=(const TextNavigationTestParam& other) = diff --git a/engine/src/flutter/third_party/boringssl/BUILD.gn b/engine/src/flutter/third_party/boringssl/BUILD.gn index 8d185ba722b71..acf5cacfdee00 100644 --- a/engine/src/flutter/third_party/boringssl/BUILD.gn +++ b/engine/src/flutter/third_party/boringssl/BUILD.gn @@ -90,4 +90,4 @@ source_set("boringssl") { configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] -} \ No newline at end of file +} diff --git a/engine/src/flutter/third_party/canvaskit/BUILD.gn b/engine/src/flutter/third_party/canvaskit/BUILD.gn index 09e64613ddc41..5cae86f6bfc9d 100644 --- a/engine/src/flutter/third_party/canvaskit/BUILD.gn +++ b/engine/src/flutter/third_party/canvaskit/BUILD.gn @@ -75,15 +75,24 @@ wasm_toolchain("canvaskit_experimental_webparagraph") { # ICU data. skia_use_icu = false skia_use_client_icu = false - skia_icu_bidi_third_party_dir = "//flutter/third_party/canvaskit/icu_bidi" + # We still need BiDi information since there's no browser API for it. skia_use_bidi = true skia_canvaskit_enable_bidi = true + skia_icu_bidi_third_party_dir = "//flutter/third_party/canvaskit/icu_bidi" + # Remove all other text-related features that we don't need with WebParagraph. skia_enable_skparagraph = false - # TODO(mdebbar): This can't be set to false now because it causes font registration to fail. - # Once we update the font registration logic, we can come back and uncomment the next line. - # skia_canvaskit_enable_paragraph = false + skia_canvaskit_enable_paragraph = false + skia_enable_shaper = false + skia_enable_harfbuzz = false + skia_use_harfbuzz = false + skia_use_freetype = false + flutter_use_freetype_woff2 = false + skia_enable_fontmgr_custom_embedded = false + skia_enable_fontmgr_custom_empty = false + skia_canvaskit_enable_font = false + skia_canvaskit_enable_alias_font = false # TODO(mdebbar): Set these to false once all image decoding can be done # using the browser's built-in codecs. @@ -99,22 +108,26 @@ wasm_toolchain("canvaskit_experimental_webparagraph") { copy("canvaskit_experimental_webparagraph_group") { visibility = [ "//flutter/web_sdk:*" ] - public_deps = [ "//flutter/skia/modules/canvaskit(:canvaskit_experimental_webparagraph)" ] + public_deps = [ + "//flutter/skia/modules/canvaskit(:canvaskit_experimental_webparagraph)", + ] sources = [ "$root_out_dir/canvaskit_experimental_webparagraph/canvaskit.js", "$root_out_dir/canvaskit_experimental_webparagraph/canvaskit.js.symbols", "$root_out_dir/canvaskit_experimental_webparagraph/canvaskit.wasm", ] - outputs = [ - "$root_out_dir/flutter_web_sdk/canvaskit/experimental_webparagraph/{{source_file_part}}", - ] + outputs = [ "$root_out_dir/flutter_web_sdk/canvaskit/experimental_webparagraph/{{source_file_part}}" ] } # This toolchain is only to be used by skwasm_group below. template("skwasm_toolchain") { assert(defined(invoker.skwasm_is_heavy)) - forward_variables_from(invoker, ["skwasm_is_mt", "skwasm_is_heavy"]) + forward_variables_from(invoker, + [ + "skwasm_is_mt", + "skwasm_is_heavy", + ]) wasm_toolchain(target_name) { extra_toolchain_args = { # In Chromium browsers, we can use the browser's APIs to get the necessary @@ -122,7 +135,8 @@ template("skwasm_toolchain") { skia_use_icu = skwasm_is_heavy skia_use_client_icu = !skwasm_is_heavy if (!skwasm_is_heavy) { - skia_icu_bidi_third_party_dir = "//flutter/third_party/canvaskit/icu_bidi" + skia_icu_bidi_third_party_dir = + "//flutter/third_party/canvaskit/icu_bidi" } skia_use_libjpeg_turbo_decode = skwasm_is_heavy diff --git a/engine/src/flutter/third_party/tonic/common/build_config.h b/engine/src/flutter/third_party/tonic/common/build_config.h index 365808a1a78ed..7174b618165aa 100644 --- a/engine/src/flutter/third_party/tonic/common/build_config.h +++ b/engine/src/flutter/third_party/tonic/common/build_config.h @@ -88,6 +88,16 @@ #define ARCH_CPU_ARM64 1 #define ARCH_CPU_64_BITS 1 #define ARCH_CPU_LITTLE_ENDIAN 1 +#elif defined(__riscv) && __SIZEOF_POINTER__ == 4 +#define ARCH_CPU_RISCV_FAMILY 1 +#define ARCH_CPU_RISCV32 1 +#define ARCH_CPU_32_BITS 1 +#define ARCH_CPU_LITTLE_ENDIAN 1 +#elif defined(__riscv) && __SIZEOF_POINTER__ == 8 +#define ARCH_CPU_RISCV_FAMILY 1 +#define ARCH_CPU_RISCV64 1 +#define ARCH_CPU_64_BITS 1 +#define ARCH_CPU_LITTLE_ENDIAN 1 #elif defined(__pnacl__) #define ARCH_CPU_32_BITS 1 #define ARCH_CPU_LITTLE_ENDIAN 1 diff --git a/engine/src/flutter/third_party/web_unicode/LICENSE b/engine/src/flutter/third_party/web_unicode/LICENSE deleted file mode 100644 index 85d0d580d230c..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/LICENSE +++ /dev/null @@ -1,46 +0,0 @@ -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE - -See Terms of Use -for definitions of Unicode Inc.’s Data Files and Software. - -NOTICE TO USER: Carefully read the following legal agreement. -BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S -DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), -YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. -IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE -THE DATA FILES OR SOFTWARE. - -COPYRIGHT AND PERMISSION NOTICE - -Copyright © 1991-2022 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. diff --git a/engine/src/flutter/third_party/web_unicode/README.md b/engine/src/flutter/third_party/web_unicode/README.md deleted file mode 100644 index bb3922d50e330..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/README.md +++ /dev/null @@ -1,25 +0,0 @@ -## Usage ## - -To generate code for line/word break properties, follow these steps: - -### 1. **Download the unicode files:** - -The properties files can be found on the unicode.org website, for example [LineBreak.txt](https://www.unicode.org/Public/13.0.0/ucd/LineBreak.txt) and [WordBreakProperty.txt](https://www.unicode.org/Public/13.0.0/ucd/auxiliary/WordBreakProperty.txt). The codegen script expects the files to be located at `third_party/web_unicode/properties/`. - -### 2. **Run the codegen script:** - -Inside the `third_party/web_unicode` directory: -``` -dart tool/unicode_sync_script.dart -``` - -## Check Mode ## - -If you don't want to generate code, but you want to make sure that the properties files and the codegen files are still in sync, you can run the codegen script in "check mode". - -Inside the `third_party/web_unicode` directory: -``` -dart tool/unicode_sync_script.dart --check -``` - -This command won't overwite the existing codegen files. It only checks whether they are still in sync with the properties files or not. If not, it exits with a non-zero exit code. diff --git a/engine/src/flutter/third_party/web_unicode/lib/web_unicode.dart b/engine/src/flutter/third_party/web_unicode/lib/web_unicode.dart deleted file mode 100644 index a1dc084549c0a..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/lib/web_unicode.dart +++ /dev/null @@ -1,8 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -library web_unicode; - -export 'web_unicode/codegen/line_break_properties.dart'; -export 'web_unicode/codegen/word_break_properties.dart'; diff --git a/engine/src/flutter/third_party/web_unicode/lib/web_unicode/codegen/line_break_properties.dart b/engine/src/flutter/third_party/web_unicode/lib/web_unicode/codegen/line_break_properties.dart deleted file mode 100644 index 132d6dde9ef09..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/lib/web_unicode/codegen/line_break_properties.dart +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2022 Google LLC -// -// For terms of use, see https://www.unicode.org/copyright.html - -// AUTO-GENERATED FILE. -// Generated by: tool/unicode_sync_script.dart - -// ignore_for_file: public_member_api_docs - -/// For an explanation of these enum values, see: -/// -/// * https://www.unicode.org/reports/tr14/tr14-45.html#DescriptionOfProperties -enum LineCharProperty { - CM, // serialized as "A" - BA, // serialized as "B" - LF, // serialized as "C" - // Normalized from: NL - BK, // serialized as "D" - CR, // serialized as "E" - SP, // serialized as "F" - EX, // serialized as "G" - QU, // serialized as "H" - // Normalized from: AI, SA, SG, XX - AL, // serialized as "I" - PR, // serialized as "J" - PO, // serialized as "K" - OP, // serialized as "L" - CP, // serialized as "M" - IS, // serialized as "N" - HY, // serialized as "O" - SY, // serialized as "P" - NU, // serialized as "Q" - CL, // serialized as "R" - GL, // serialized as "S" - BB, // serialized as "T" - HL, // serialized as "U" - JL, // serialized as "V" - JV, // serialized as "W" - JT, // serialized as "X" - // Normalized from: CJ - NS, // serialized as "Y" - ZW, // serialized as "Z" - ZWJ, // serialized as "a" - B2, // serialized as "b" - IN, // serialized as "c" - WJ, // serialized as "d" - ID, // serialized as "e" - EB, // serialized as "f" - H2, // serialized as "g" - H3, // serialized as "h" - CB, // serialized as "i" - RI, // serialized as "j" - EM, // serialized as "k" -} - -const String packedLineBreakProperties = - '00000008A0009!B000a!C000b000cD000d!E000e000vA000w!F000x!G000y!H000z!I0010!J0011!K0012!I0013!H0014!L0015!M0016!I0017!J0018!N0019!O001a!N001b!P001c001lQ001m001nN001o001qI001r!G001s002iI002j!L002k!J002l!M002m003eI003f!L003g!B003h!R003i!I003j003oA003p!D003q004fA004g!S004h!L004i!K004j004lJ004m004qI004r!H004s!I004t!B004u004vI004w!K004x!J004y004zI0050!T00510056I0057!H0058005aI005b!L005c00jrI00js!T00jt00jvI00jw!T00jx00keI00kf!T00kg00lbI00lc00niA00nj!S00nk00nvA00nw00o2S00o300ofA00og00otI00ou!N00ov00w2I00w300w9A00wa013cI013d!N013e!B013h013iI013j!J013l014tA014u!B014v!A014w!I014x014yA014z!I01500151A0152!G0153!A015c0162U0167016aU016b016wI016x016zK01700171N01720173I0174017eA017f!G017g!A017i017jG017k018qI018r019bA019c019lQ019m!K019n019oQ019p019rI019s!A019t01cjI01ck!G01cl!I01cm01csA01ct01cuI01cv01d0A01d101d2I01d301d4A01d5!I01d601d9A01da01dbI01dc01dlQ01dm01e8I01e9!A01ea01f3I01f401fuA01fx01idI01ie01ioA01ip!I01j401jdQ01je01kaI01kb01kjA01kk01knI01ko!N01kp!G01kq!I01kt!A01ku01kvJ01kw01lhI01li01llA01lm!I01ln01lvA01lw!I01lx01lzA01m0!I01m101m5A01m801ncI01nd01nfA01ni01qfI01qr01r5A01r6!I01r701s3A01s401tlI01tm01toA01tp!I01tq01u7A01u8!I01u901ufA01ug01upI01uq01urA01us01utB01uu01v3Q01v401vkI01vl01vnA01vp01x5I01x8!A01x9!I01xa01xgA01xj01xkA01xn01xpA01xq!I01xz!A01y401y9I01ya01ybA01ye01ynQ01yo01ypI01yq01yrK01ys01ywI01yx!K01yy!I01yz!J01z001z1I01z2!A01z501z7A01z9020pI020s!A020u020yA02130214A02170219A021d!A021l021qI021y0227Q02280229A022a022cI022d!A022e!I022p022rA022t0249I024c!A024d!I024e024lA024n024pA024r024tA024w025dI025e025fA025i025rQ025s!I025t!J0261!I02620267A0269026bA026d027tI027w!A027x!I027y0284A02870288A028b028dA028l028nA028s028xI028y028zA0292029bQ029c029jI029u!A029v02bdI02bi02bmA02bq02bsA02bu02bxA02c0!I02c7!A02cm02cvQ02cw02d4I02d5!J02d6!I02dc02dgA02dh02f1I02f202f8A02fa02fcA02fe02fhA02fp02fqA02fs02g1I02g202g3A02g602gfQ02gn!T02go02gwI02gx02gzA02h0!T02h102ihI02ik!A02il!I02im02isA02iu02iwA02iy02j1A02j902jaA02ji02jlI02jm02jnA02jq02jzQ02k102k2I02kg02kjA02kk02m2I02m302m4A02m5!I02m602mcA02me02mgA02mi02mlA02mm02muI02mv!A02mw02n5I02n602n7A02na02njQ02nk02nsI02nt!K02nu02nzI02o102o3A02o502pyI02q2!A02q702qcA02qe!A02qg02qnA02qu02r3Q02r602r7A02r802t6I02tb!J02tc02trI02ts02u1Q02u202u3B02v502x9I02xc02xlQ02xo02yoI02yp02ysT02yt!I02yu02yvT02yw!S02yx02yyT02yz!B02z0!S02z102z5G02z6!S02z7!I02z8!G02z902zbI02zc02zdA02ze02zjI02zk02ztQ02zu0303I0304!B0305!A0306!I0307!A0308!I0309!A030a!L030b!R030c!L030d!R030e030fA030g031oI031t0326A0327!B0328032cA032d!B032e032fA032g032kI032l032vA032x033wA033y033zB03400345I0346!A0347034fI034g034hT034i!B034j!T034k034oI034p034qS035s037jI037k037tQ037u037vB037w039rI039s03a1Q03a203cvI03cw03fjV03fk03hjW03hk03jzX03k003tmI03tp03trA03ts!I03tt!B03tu03y5I03y8!B03y904fzI04g0!B04g104gqI04gr!L04gs!R04gw04iyI04iz04j1B04j204k1I04k204k4A04kg04kxI04ky04l0A04l104l2B04lc04ltI04lu04lvA04m804moI04mq04mrA04n404pfI04pg04phB04pi!Y04pj!I04pk!B04pl!I04pm!B04pn!J04po04ppI04ps04q1Q04q804qpI04qq04qrG04qs04qtB04qu!T04qv!I04qw04qxG04qy!I04qz04r1A04r2!S04r404rdQ04rk04ucI04ud04ueA04uf04vcI04vd!A04ve04ymI04yo04yzA04z404zfA04zk!I04zo04zpG04zq04zzQ0500053dI053k053tQ053u055iI055j055nA055q058cI058f!A058g058pQ058w0595Q059c059pI059s05a8A05c005c4A05c505dfI05dg05dwA05dx05e3I05e805ehQ05ei05ejB05ek!I05el05eoB05ep05eyI05ez05f7A05f805fgI05fk05fmA05fn05ggI05gh05gtA05gu05gvI05gw05h5Q05h605idI05ie05irA05j005k3I05k405knA05kr05kvB05kw05l5Q05l905lbI05lc05llQ05lm05mlI05mm05mnB05mo05onI05ow05oyA05oz!I05p005pkA05pl05poI05pp!A05pq05pvI05pw!A05px05pyI05pz05q1A05q205vjI05vk05x5A05x705xbA05xc06bgI06bh!T06bi!I06bk06bqB06br!S06bs06buB06bv!Z06bw!A06bx!a06by06bzA06c0!B06c1!S06c206c3B06c4!b06c506c7I06c806c9H06ca!L06cb06cdH06ce!L06cf!H06cg06cjI06ck06cmc06cn!B06co06cpD06cq06cuA06cv!S06cw06d3K06d4!I06d506d6H06d7!I06d806d9Y06da06dfI06dg!N06dh!L06di!R06dj06dlY06dm06dxI06dy!B06dz!I06e006e3B06e4!I06e506e7B06e8!d06e906ecI06ee06enA06eo06f0I06f1!L06f2!R06f306fgI06fh!L06fi!R06fk06fwI06g006g6J06g7!K06g806glJ06gm!K06gn06gqJ06gr!K06gs06gtJ06gu!K06gv06hbJ06hc06i8A06io06iqI06ir!K06is06iwI06ix!K06iy06j9I06ja!J06jb06q9I06qa06qbJ06qc06weI06wf!c06wg06x3I06x4!L06x5!R06x6!L06x7!R06x806xlI06xm06xne06xo06y0I06y1!L06y2!R06y3073jI073k073ne073o07i7I07i807ibe07ic07irI07is07ite07iu07ivI07iw!e07ix!I07iy07j0e07j1!f07j207j3e07j407jsI07jt07jve07jw07l3I07l4!e07l507lqI07lr!e07ls07ngI07nh07nse07nt07nwI07nx!e07ny!I07nz07o1e07o2!I07o307o4e07o507o7I07o807o9e07oa07obI07oc!e07od07oeI07of07ohe07oi07opI07oq!e07or07owI07ox07p1e07p2!I07p307p4e07p5!f07p6!e07p707p8I07p907pge07ph07pjI07pk07ple07pm07ppf07pq07ruI07rv07s0H07s1!I07s207s3G07s4!e07s507s7I07s8!L07s9!R07sa!L07sb!R07sc!L07sd!R07se!L07sf!R07sg!L07sh!R07si!L07sj!R07sk!L07sl!R07sm07usI07ut!L07uu!R07uv07vpI07vq!L07vr!R07vs!L07vt!R07vu!L07vv!R07vw!L07vx!R07vy!L07vz!R07w00876I0877!L0878!R0879!L087a!R087b!L087c!R087d!L087e!R087f!L087g!R087h!L087i!R087j!L087k!R087l!L087m!R087n!L087o!R087p!L087q!R087r!L087s!R087t089jI089k!L089l!R089m!L089n!R089o08ajI08ak!L08al!R08am08viI08vj08vlA08vm08vnI08vt!G08vu08vwB08vx!I08vy!G08vz!B08w008z3I08z4!B08zj!A08zk0926I09280933A0934093hH093i093pB093q!I093r!B093s!L093t!B093u093vI093w093xH093y093zI09400941H0942!L0943!R0944!L0945!R0946!L0947!R0948!L0949!R094a094dB094e!G094f!I094g094hB094i!I094j094kB094l094pI094q094rb094s094uB094v!I094w094xB094y!L094z0956B0957!I0958!B0959!I095a095bB095c095eI096o097de097f099ve09a809g5e09gw09h7e09hc!B09hd09heR09hf09hge09hh!Y09hi09hje09hk!L09hl!R09hm!L09hn!R09ho!L09hp!R09hq!L09hr!R09hs!L09ht!R09hu09hve09hw!L09hx!R09hy!L09hz!R09i0!L09i1!R09i2!L09i3!R09i4!Y09i5!L09i609i7R09i809ihe09ii09inA09io09ise09it!A09iu09iye09iz09j0Y09j109j3e09j5!Y09j6!e09j7!Y09j8!e09j9!Y09ja!e09jb!Y09jc!e09jd!Y09je09k2e09k3!Y09k409kye09kz!Y09l0!e09l1!Y09l2!e09l3!Y09l409l9e09la!Y09lb09lge09lh09liY09ll09lmA09ln09lqY09lr!e09ls09ltY09lu!e09lv!Y09lw!e09lx!Y09ly!e09lz!Y09m0!e09m1!Y09m209mqe09mr!Y09ms09nme09nn!Y09no!e09np!Y09nq!e09nr!Y09ns09nxe09ny!Y09nz09o4e09o509o6Y09o709oae09ob09oeY09of!e09ol09pre09pt09see09sg09ure09v409vjY09vk09wee09wg09xje09xk09xrI09xs0fcve0fcw0fenI0feo0vmce0vmd!Y0vme0wi4e0wi80wjqe0wk00wl9I0wla0wlbB0wlc0wssI0wst!B0wsu!G0wsv!B0wsw0wtbI0wtc0wtlQ0wtm0wviI0wvj0wvmA0wvn!I0wvo0wvxA0wvy0wwtI0wwu0wwvA0www0wz3I0wz40wz5A0wz6!I0wz70wzbB0wzk0x6pI0x6q!A0x6r0x6tI0x6u!A0x6v0x6yI0x6z!A0x700x7mI0x7n0x7rA0x7s0x7vI0x7w!A0x800x87I0x88!K0x890x9vI0x9w0x9xT0x9y0x9zG0xa80xa9A0xaa0xbnI0xbo0xc5A0xce0xcfB0xcg0xcpQ0xcw0xddA0xde0xdnI0xdo!T0xdp0xdqI0xdr!A0xds0xe1Q0xe20xetI0xeu0xf1A0xf20xf3B0xf40xfqI0xfr0xg3A0xgf!I0xgg0xh8V0xhc0xhfA0xhg0xiqI0xir0xj4A0xj50xjaI0xjb0xjdB0xje0xjjI0xjk0xjtQ0xjy0xkfI0xkg0xkpQ0xkq0xm0I0xm10xmeA0xmo0xmqI0xmr!A0xms0xmzI0xn00xn1A0xn40xndQ0xng!I0xnh0xnjB0xnk0xreI0xrf0xrjA0xrk0xrlB0xrm0xroI0xrp0xrqA0xs10xyaI0xyb0xyiA0xyj!B0xyk0xylA0xyo0xyxQ0xz4!g0xz50xzvh0xzw!g0xzx0y0nh0y0o!g0y0p0y1fh0y1g!g0y1h0y27h0y28!g0y290y2zh0y30!g0y310y3rh0y3s!g0y3t0y4jh0y4k!g0y4l0y5bh0y5c!g0y5d0y63h0y64!g0y650y6vh0y6w!g0y6x0y7nh0y7o!g0y7p0y8fh0y8g!g0y8h0y97h0y98!g0y990y9zh0ya0!g0ya10yarh0yas!g0yat0ybjh0ybk!g0ybl0ycbh0ycc!g0ycd0yd3h0yd4!g0yd50ydvh0ydw!g0ydx0yenh0yeo!g0yep0yffh0yfg!g0yfh0yg7h0yg8!g0yg90ygzh0yh0!g0yh10yhrh0yhs!g0yht0yijh0yik!g0yil0yjbh0yjc!g0yjd0yk3h0yk4!g0yk50ykvh0ykw!g0ykx0ylnh0ylo!g0ylp0ymfh0ymg!g0ymh0yn7h0yn8!g0yn90ynzh0yo0!g0yo10yorh0yos!g0yot0ypjh0ypk!g0ypl0yqbh0yqc!g0yqd0yr3h0yr4!g0yr50yrvh0yrw!g0yrx0ysnh0yso!g0ysp0ytfh0ytg!g0yth0yu7h0yu8!g0yu90yuzh0yv0!g0yv10yvrh0yvs!g0yvt0ywjh0ywk!g0ywl0yxbh0yxc!g0yxd0yy3h0yy4!g0yy50yyvh0yyw!g0yyx0yznh0yzo!g0yzp0z0fh0z0g!g0z0h0z17h0z18!g0z190z1zh0z20!g0z210z2rh0z2s!g0z2t0z3jh0z3k!g0z3l0z4bh0z4c!g0z4d0z53h0z54!g0z550z5vh0z5w!g0z5x0z6nh0z6o!g0z6p0z7fh0z7g!g0z7h0z87h0z88!g0z890z8zh0z90!g0z910z9rh0z9s!g0z9t0zajh0zak!g0zal0zbbh0zbc!g0zbd0zc3h0zc4!g0zc50zcvh0zcw!g0zcx0zdnh0zdo!g0zdp0zefh0zeg!g0zeh0zf7h0zf8!g0zf90zfzh0zg0!g0zg10zgrh0zgs!g0zgt0zhjh0zhk!g0zhl0zibh0zic!g0zid0zj3h0zj4!g0zj50zjvh0zjw!g0zjx0zknh0zko!g0zkp0zlfh0zlg!g0zlh0zm7h0zm8!g0zm90zmzh0zn0!g0zn10znrh0zns!g0znt0zojh0zok!g0zol0zpbh0zpc!g0zpd0zq3h0zq4!g0zq50zqvh0zqw!g0zqx0zrnh0zro!g0zrp0zsfh0zsg!g0zsh0zt7h0zt8!g0zt90ztzh0zu0!g0zu10zurh0zus!g0zut0zvjh0zvk!g0zvl0zwbh0zwc!g0zwd0zx3h0zx4!g0zx50zxvh0zxw!g0zxx0zynh0zyo!g0zyp0zzfh0zzg!g0zzh1007h1008!g1009100zh1010!g1011101rh101s!g101t102jh102k!g102l103bh103c!g103d1043h1044!g1045104vh104w!g104x105nh105o!g105p106fh106g!g106h1077h1078!g1079107zh1080!g1081108rh108s!g108t109jh109k!g109l10abh10ac!g10ad10b3h10b4!g10b510bvh10bw!g10bx10cnh10co!g10cp10dfh10dg!g10dh10e7h10e8!g10e910ezh10f0!g10f110frh10fs!g10ft10gjh10gk!g10gl10hbh10hc!g10hd10i3h10i4!g10i510ivh10iw!g10ix10jnh10jo!g10jp10kfh10kg!g10kh10l7h10l8!g10l910lzh10m0!g10m110mrh10ms!g10mt10njh10nk!g10nl10obh10oc!g10od10p3h10p4!g10p510pvh10pw!g10px10qnh10qo!g10qp10rfh10rg!g10rh10s7h10s8!g10s910szh10t0!g10t110trh10ts!g10tt10ujh10uk!g10ul10vbh10vc!g10vd10w3h10w4!g10w510wvh10ww!g10wx10xnh10xo!g10xp10yfh10yg!g10yh10z7h10z8!g10z910zzh1100!g1101110rh110s!g110t111jh111k!g111l112bh112c!g112d1133h1134!g1135113vh113w!g113x114nh114o!g114p115fh115g!g115h1167h1168!g1169116zh1170!g1171117rh117s!g117t118jh118k!g118l119bh119c!g119d11a3h11a4!g11a511avh11aw!g11ax11bnh11bo!g11bp11cfh11cg!g11ch11d7h11d8!g11d911dzh11e0!g11e111erh11es!g11et11fjh11fk!g11fl11gbh11gc!g11gd11h3h11h4!g11h511hvh11hw!g11hx11inh11io!g11ip11jfh11jg!g11jh11k7h11k8!g11k911kzh11l0!g11l111lrh11ls!g11lt11mjh11mk!g11ml11nbh11nc!g11nd11o3h11o4!g11o511ovh11ow!g11ox11pnh11po!g11pp11qfh11qg!g11qh11r7h11r8!g11r911rzh11s0!g11s111srh11ss!g11st11tjh11tk!g11tl11ubh11uc!g11ud11v3h11v4!g11v511vvh11vw!g11vx11wnh11wo!g11wp11xfh11xg!g11xh11y7h11y8!g11y911yzh11z0!g11z111zrh11zs!g11zt120jh120k!g120l121bh121c!g121d1223h1224!g1225122vh122w!g122x123nh123o!g123p124fh124g!g124h1257h1258!g1259125zh1260!g1261126rh126s!g126t127jh127k!g127l128bh128c!g128d1293h1294!g1295129vh129w!g129x12anh12ao!g12ap12bfh12bg!g12bh12c7h12c8!g12c912czh12d0!g12d112drh12ds!g12dt12ejh12ek!g12el12fbh12fc!g12fd12g3h12g4!g12g512gvh12gw!g12gx12hnh12ho!g12hp12ifh12ig!g12ih12j7h12j8!g12j912jzh12k0!g12k112krh12ks!g12kt12ljh12lk!g12ll12mbh12mc!g12md12n3h12n4!g12n512nvh12nw!g12nx12onh12oo!g12op12pfh12pg!g12ph12q7h12q8!g12q912qzh12r0!g12r112rrh12rs!g12rt12sjh12sk!g12sl12tbh12tc!g12td12u3h12u4!g12u512uvh12uw!g12ux12vnh12vo!g12vp12wfh12wg!g12wh12x7h12x8!g12x912xzh12y0!g12y112yrh12ys!g12yt12zjh12zk!g12zl130bh130c!g130d1313h1314!g1315131vh131w!g131x132nh132o!g132p133fh133g!g133h1347h1348!g1349134zh1350!g1351135rh135s!g135t136jh136k!g136l137bh137c!g137d1383h1384!g1385138vh138w!g138x139nh139o!g139p13afh13ag!g13ah13b7h13b8!g13b913bzh13c0!g13c113crh13cs!g13ct13djh13dk!g13dl13ebh13ec!g13ed13f3h13f4!g13f513fvh13fw!g13fx13gnh13go!g13gp13hfh13hg!g13hh13i7h13i8!g13i913izh13j0!g13j113jrh13js!g13jt13kjh13kk!g13kl13lbh13lc!g13ld13m3h13m4!g13m513mvh13mw!g13mx13nnh13no!g13np13ofh13og!g13oh13p7h13p8!g13p913pzh13q0!g13q113qrh13qs!g13qt13rjh13rk!g13rl13sbh13sc!g13sd13t3h13t4!g13t513tvh13tw!g13tx13unh13uo!g13up13vfh13vg!g13vh13w7h13w8!g13w913wzh13x0!g13x113xrh13xs!g13xt13yjh13yk!g13yl13zbh13zc!g13zd1403h1404!g1405140vh140w!g140x141nh141o!g141p142fh142g!g142h1437h1438!g1439143zh1440!g1441144rh144s!g144t145jh145k!g145l146bh146c!g146d1473h1474!g1475147vh147w!g147x148nh148o!g148p149fh149g!g149h14a7h14a8!g14a914azh14b0!g14b114brh14bs!g14bt14cjh14ck!g14cl14dbh14dc!g14dd14e3h14e4!g14e514evh14ew!g14ex14fnh14fo!g14fp14gfh14gg!g14gh14h7h14h8!g14h914hzh14i0!g14i114irh14is!g14it14jjh14jk!g14jl14kbh14kc!g14kd14l3h14l4!g14l514lvh14lw!g14lx14mnh14mo!g14mp14nfh14ng!g14nh14o7h14o8!g14o914ozh14p0!g14p114prh14ps!g14pt14qjh14qk!g14ql14rbh14rc!g14rd14s3h14s4!g14s514svh14sw!g14sx14tnh14to!g14tp14ufh14ug!g14uh14v7h14v8!g14v914vzh14w0!g14w114wrh14ws!g14wt14xjh14xk!g14xl14ybh14yc!g14yd14z3h14z4!g14z514zvh14zw!g14zx150nh150o!g150p151fh151g!g151h1527h1528!g1529152zh1530!g1531153rh153s!g153t154jh154k!g154l155bh155c!g155d1563h1564!g1565156vh156w!g156x157nh157o!g157p158fh158g!g158h1597h1598!g1599159zh15a0!g15a115arh15as!g15at15bjh15bk!g15bl15cbh15cc!g15cd15d3h15d4!g15d515dvh15dw!g15dx15enh15eo!g15ep15ffh15fg!g15fh15g7h15g8!g15g915gzh15h0!g15h115hrh15hs!g15ht15ijh15ik!g15il15jbh15jc!g15jd15k3h15k4!g15k515kvh15kw!g15kx15lnh15lo!g15lp15mfh15mg!g15mh15n7h15n8!g15n915nzh15o0!g15o115orh15os!g15ot15pjh15pk!g15pl15qbh15qc!g15qd15r3h15r4!g15r515rvh15rw!g15rx15snh15so!g15sp15tfh15tg!g15th15u7h15u8!g15u915uzh15v0!g15v115vrh15vs!g15vt15wjh15wk!g15wl15xbh15xc!g15xd15y3h15y4!g15y515yvh15yw!g15yx15znh15zo!g15zp160fh160g!g160h1617h1618!g1619161zh1620!g1621162rh162s!g162t163jh163k!g163l164bh164c!g164d1653h1654!g1655165vh165w!g165x166nh166o!g166p167fh167g!g167h1687h1688!g1689168zh1690!g1691169rh169s!g169t16ajh16ak!g16al16bbh16bc!g16bd16c3h16c4!g16c516cvh16cw!g16cx16dnh16do!g16dp16efh16eg!g16eh16f7h16f8!g16f916fzh16g0!g16g116grh16gs!g16gt16hjh16hk!g16hl16ibh16ic!g16id16j3h16j4!g16j516jvh16jw!g16jx16knh16ko!g16kp16lfh16ls16meW16mj16nvX16o01d6nI1d6o1dkve1dkw1dljI1dlp!U1dlq!A1dlr1dm0U1dm1!I1dm21dmeU1dmg1dmkU1dmm!U1dmo1dmpU1dmr1dmsU1dmu1dn3U1dn41e0tI1e0u!R1e0v!L1e1c1e63I1e64!K1e65!I1e681e6nA1e6o!N1e6p1e6qR1e6r1e6sN1e6t1e6uG1e6v!L1e6w!R1e6x!c1e741e7jA1e7k1e7oe1e7p!L1e7q!R1e7r!L1e7s!R1e7t!L1e7u!R1e7v!L1e7w!R1e7x!L1e7y!R1e7z!L1e80!R1e81!L1e82!R1e83!L1e84!R1e851e86e1e87!L1e88!R1e891e8fe1e8g!R1e8h!e1e8i!R1e8k1e8lY1e8m1e8nG1e8o!e1e8p!L1e8q!R1e8r!L1e8s!R1e8t!L1e8u!R1e8v1e92e1e94!e1e95!J1e96!K1e97!e1e9c1ed8I1edb!d1edd!G1ede1edfe1edg!J1edh!K1edi1edje1edk!L1edl!R1edm1edne1edo!R1edp!e1edq!R1edr1ee1e1ee21ee3Y1ee41ee6e1ee7!G1ee81eeye1eez!L1ef0!e1ef1!R1ef21efue1efv!L1efw!e1efx!R1efy!e1efz!L1eg01eg1R1eg2!L1eg31eg4R1eg5!Y1eg6!e1eg71eggY1egh1ehpe1ehq1ehrY1ehs1eime1eiq1eive1eiy1ej3e1ej61ejbe1eje1ejge1ejk!K1ejl!J1ejm1ejoe1ejp1ejqJ1ejs1ejyI1ek91ekbA1ekc!i1ekd1ereI1erk1ermB1err1eykI1eyl!A1f281f4gI1f4w!A1f4x1f91I1f921f96A1f9c1fa5I1fa7!B1fa81fbjI1fbk!B1fbl1fh9I1fhc1fhlQ1fhs1g7pI1g7r!B1g7s1gd7I1gdb!B1gdc1gjkI1gjl1gjnA1gjp1gjqA1gjw1gjzA1gk01gl1I1gl41gl6A1glb!A1glc1glkI1gls1glzB1gm01gpwI1gpx1gpyA1gq31gq7I1gq81gqdB1gqe!c1gqo1gs5I1gs91gsfB1gsg1h5vI1h5w1h5zA1h681h6hQ1heo1hgpI1hgr1hgsA1hgt!B1hgw1hl1I1hl21hlcA1hld1hpyI1hq81hqaA1hqb1hrrI1hrs1hs6A1hs71hs8B1hs91ht1I1ht21htbQ1htr1htuA1htv1hv3I1hv41hveA1hvf1hvhI1hvi1hvlB1hvx1hwoI1hww1hx5Q1hxc1hxeA1hxf1hyeI1hyf1hysA1hyu1hz3Q1hz41hz7B1hz8!I1hz91hzaA1hzb1i0iI1i0j!A1i0k!I1i0l!T1i0m!I1i0w1i0yA1i0z1i2aI1i2b1i2oA1i2p1i2sI1i2t1i2uB1i2v!I1i2w!B1i2x1i30A1i31!I1i321i33A1i341i3dQ1i3e!I1i3f!T1i3g!I1i3h1i3jB1i3l1i5nI1i5o1i5zA1i601i61B1i62!I1i631i64B1i65!I1i66!A1i801i94I1i95!B1i9c1iamI1ian1iayA1ib41ibdQ1ibk1ibnA1ibp1id5I1id71id8A1id9!I1ida1idgA1idj1idkA1idn1idpA1ids!I1idz!A1ie51ie9I1iea1iebA1iee1iekA1ieo1iesA1iio1ik4I1ik51ikmA1ikn1ikqI1ikr1ikuB1ikv!I1ikw1il5Q1il61il7B1il9!I1ila!A1ilb1injI1ink1io3A1io41io7I1iog1iopQ1itc1iumI1iun1iutA1iuw1iv4A1iv5!T1iv61iv7B1iv81iv9G1iva1ivcI1ivd1ivrB1ivs1ivvI1ivw1ivxA1iww1iy7I1iy81iyoA1iyp1iyqB1iyr1iysI1iz41izdQ1izk1izwT1j0g1j1mI1j1n1j1zA1j20!I1j281j2hQ1j401j57I1j5c1j5lQ1j5m1j5nI1j5o1j5qB1j5r1jcbI1jcc1jcqA1jcr1jhbI1jhc1jhlQ1jhm1jjjI1jjk1jjpA1jjr1jjsA1jjv1jjyA1jjz!I1jk0!A1jk1!I1jk21jk3A1jk41jk6B1jkg1jkpQ1jmo1jo0I1jo11jo7A1joa1jogA1joh!I1joi!T1joj!I1jok!A1jpc!I1jpd1jpmA1jpn1jqqI1jqr1jqxA1jqy!I1jqz1jr2A1jr3!T1jr4!I1jr51jr8B1jr9!T1jra!I1jrb!A1jrk!I1jrl1jrvA1jrw1jt5I1jt61jtlA1jtm1jtoB1jtp!I1jtq1jtsT1jtt1jtuB1juo1k4uI1k4v1k52A1k541k5bA1k5c!I1k5d1k5hB1k5s1k61Q1k621k6kI1k6o!T1k6p!G1k6q1k7jI1k7m1k87A1k891k8mA1kao1kc0I1kc11kc6A1kca!A1kcc1kcdA1kcf1kclA1kcm!I1kcn!A1kcw1kd5Q1kdc1kehI1kei1kemA1keo1kepA1ker1kevA1kew!I1kf41kfdQ1ko01koiI1koj1komA1kon1kv0I1kv11kv4K1kv51kvlI1kvz!B1kw01lriI1lrk1lroB1ls01oifI1oig1oiiL1oij1oilR1oim1ojlI1ojm!R1ojn1ojpI1ojq!L1ojr!R1ojs!L1ojt!R1oju1oqgI1oqh!L1oqi1oqjR1oqk1oviI1ovk1ovqS1ovr!L1ovs!R1s001sctI1scu!L1scv!R1scw1zkuI1zkw1zl5Q1zla1zlbB1zo01zotI1zow1zp0A1zp1!B1zpc1zqnI1zqo1zquA1zqv1zqxB1zqy1zr7I1zr8!B1zr9!I1zrk1zrtQ1zrv20euI20ev20ewB20ex20juI20jz!A20k0!I20k120ljA20lr20luA20lv20m7I20o020o3Y20o4!S20og20ohA20ow25fbe25fk260ve260w26dxI26f426fce2dc02djye2dlc2dleY2dlw2dlzY2dm82dx7e2fpc2ftoI2ftp2ftqA2ftr!B2fts2ftvA2jnk2jxgI2jxh2jxlA2jxm2jxoI2jxp2jyaA2jyb2jycI2jyd2jyjA2jyk2jzdI2jze2jzhA2jzi2k3lI2k3m2k3oA2k3p2l6zI2l722l8fQ2l8g2lmnI2lmo2lo6A2lo72loaI2lob2lpoA2lpp2lpwI2lpx!A2lpy2lqbI2lqc!A2lqd2lqeI2lqf2lqiB2lqj!I2lqz2lr3A2lr52lrjA2mtc2mtiA2mtk2mu0A2mu32mu9A2mub2mucA2mue2muiA2n0g2n1oI2n1s2n1yA2n1z2n25I2n282n2hQ2n2m2ne3I2ne42ne7A2ne82nehQ2nen!J2oe82ojzI2ok02ok6A2olc2on7I2on82oneA2onf!I2onk2ontQ2ony2onzL2p9t2pbfI2pbg!K2pbh2pbjI2pbk!K2pbl2prlI2pz42q67e2q682q6kI2q6l2q6ne2q6o2q98I2q992q9be2q9c2qb0I2qb12qcle2qcm2qdbj2qdc2qo4e2qo5!f2qo62qore2qos2qotI2qou2qpge2qph2qpiI2qpj2qpne2qpo!I2qpp2qpte2qpu2qpwf2qpx2qpye2qpz!f2qq02qq1e2qq22qq4f2qq52qree2qrf2qrjk2qrk2qtde2qte2qtff2qtg2qthe2qti2qtsf2qtt2qude2que2quwf2qux2quze2qv0!f2qv12qv4e2qv52qv7f2qv8!e2qv92qvbf2qvc2qvie2qvj!f2qvk!e2qvl!f2qvm2qvze2qw0!I2qw1!e2qw2!I2qw3!e2qw4!I2qw52qw9e2qwa!f2qwb2qwee2qwf!I2qwg!e2qwh2qwiI2qwj2qyne2qyo2qyuI2qyv2qzae2qzb2qzoI2qzp2r01e2r022r0pI2r0q2r1ve2r1w2r1xf2r1y2r21e2r22!f2r232r2ne2r2o!f2r2p2r2se2r2t2r2uf2r2v2r4je2r4k2r4rI2r4s2r5fe2r5g2r5lI2r5m2r7oe2r7p2r7rf2r7s2r7ue2r7v2r7zf2r802r91I2r922r94H2r952r97Y2r982r9bI2r9c2raae2rab!f2rac2rare2ras2rauf2rav2rb3e2rb4!f2rb52rbfe2rbg!f2rbh2rcve2rcw2rg3I2rg42rgfe2rgg2risI2rit2rjze2rk02rkbI2rkc2rkfe2rkg2rlzI2rm02rm7e2rm82rmhI2rmi2rmne2rmo2rnrI2rns2rnze2ro02rotI2rou2rr3e2rr42rrfI2rrg!f2rrh2rrie2rrj!f2rrk2rrre2rrs2rrzf2rs02rs5e2rs6!f2rs72rsfe2rsg2rspf2rsq2rsre2rss2rsuf2rsv2ruee2ruf!f2rug2rw4e2rw52rw6f2rw7!e2rw82rw9f2rwa!e2rwb!f2rwc2rwse2rwt2rwvf2rww!e2rwx2rx9f2rxa2ry7e2ry82s0jI2s0k2s5be2s5c2sayI2sc02sc9Q2scg2t4te2t4w47p9e47pc5m9pejny9!Ajnz4jo1rAjo5cjobzAl2ionvnhI'; - -const int singleLineBreakRangesCount = 937; - -const LineCharProperty defaultLineCharProperty = LineCharProperty.AL; diff --git a/engine/src/flutter/third_party/web_unicode/lib/web_unicode/codegen/word_break_properties.dart b/engine/src/flutter/third_party/web_unicode/lib/web_unicode/codegen/word_break_properties.dart deleted file mode 100644 index e909207c97a62..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/lib/web_unicode/codegen/word_break_properties.dart +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright 2022 Google LLC -// -// For terms of use, see https://www.unicode.org/copyright.html - -// AUTO-GENERATED FILE. -// Generated by: tool/unicode_sync_script.dart - -// ignore_for_file: public_member_api_docs - -/// For an explanation of these enum values, see: -/// -/// * http://unicode.org/reports/tr29/#Table_Word_Break_Property_Values -enum WordCharProperty { - DoubleQuote, // serialized as "A" - SingleQuote, // serialized as "B" - HebrewLetter, // serialized as "C" - CR, // serialized as "D" - LF, // serialized as "E" - Newline, // serialized as "F" - Extend, // serialized as "G" - RegionalIndicator, // serialized as "H" - Format, // serialized as "I" - Katakana, // serialized as "J" - ALetter, // serialized as "K" - MidLetter, // serialized as "L" - MidNum, // serialized as "M" - MidNumLet, // serialized as "N" - Numeric, // serialized as "O" - ExtendNumLet, // serialized as "P" - ZWJ, // serialized as "Q" - WSegSpace, // serialized as "R" - Unknown, // serialized as "S" -} - -const String packedWordBreakProperties = - '000a!E000b000cF000d!D000w!R000y!A0013!B0018!M001a!N001c001lO001m!L001n!M001t002iK002n!P002p003eK003p!F004q!K004t!I0051!K0053!L0056!K005c005yK0060006uK006w00k7K00ke00lbK00lc00ofG00og00okK00om00onK00oq00otK00ou!M00ov!K00p2!K00p3!L00p400p6K00p8!K00pa00ptK00pv00s5K00s700w1K00w300w9G00wa010vK010x011yK01210124K0126!K0127!L0128013cK013d!M013e!K013l014tG014v!G014x014yG01500151G0153!G015c0162C0167016aC016b!K016c!L016o016tI01700171M0174017eG017g!I017k018qK018r019bG019c019lO019n!O019o!M019q019rK019s!G019t01cjK01cl!K01cm01csG01ct!I01cv01d0G01d101d2K01d301d4G01d601d9G01da01dbK01dc01dlO01dm01doK01dr!K01e7!I01e8!K01e9!G01ea01f3K01f401fuG01fx01idK01ie01ioG01ip!K01j401jdO01je01kaK01kb01kjG01kk01klK01ko!M01kq!K01kt!G01kw01lhK01li01llG01lm!K01ln01lvG01lw!K01lx01lzG01m0!K01m101m5G01mo01ncK01nd01nfG01nk01nuK01pc01pwK01py01qfK01qr01r5G01r6!I01r701s3G01s401tlK01tm01toG01tp!K01tq01u7G01u8!K01u901ufG01ug01upK01uq01urG01uu01v3O01v501vkK01vl01vnG01vp01vwK01vz01w0K01w301woK01wq01wwK01wy!K01x201x5K01x8!G01x9!K01xa01xgG01xj01xkG01xn01xpG01xq!K01xz!G01y401y5K01y701y9K01ya01ybG01ye01ynO01yo01ypK01z0!K01z2!G01z501z7G01z901zeK01zj01zkK01zn0208K020a020gK020i020jK020l020mK020o020pK020s!G020u020yG02130214G02170219G021d!G021l021oK021q!K021y0227O02280229G022a022cK022d!G022p022rG022t0231K02330235K0237023sK023u0240K02420243K02450249K024c!G024d!K024e024lG024n024pG024r024tG024w!K025c025dK025e025fG025i025rO0261!K02620267G0269026bG026d026kK026n026oK026r027cK027e027kK027m027nK027p027tK027w!G027x!K027y0284G02870288G028b028dG028l028nG028s028tK028v028xK028y028zG0292029bO029d!K029u!G029v!K029x02a2K02a602a8K02aa02adK02ah02aiK02ak!K02am02anK02ar02asK02aw02ayK02b202bdK02bi02bmG02bq02bsG02bu02bxG02c0!K02c7!G02cm02cvO02dc02dgG02dh02doK02dq02dsK02du02egK02ei02exK02f1!K02f202f8G02fa02fcG02fe02fhG02fp02fqG02fs02fuK02g002g1K02g202g3G02g602gfO02gw!K02gx02gzG02h102h8K02ha02hcK02he02i0K02i202ibK02id02ihK02ik!G02il!K02im02isG02iu02iwG02iy02j1G02j902jaG02ji!K02jk02jlK02jm02jnG02jq02jzO02k102k2K02kg02kjG02kk02ksK02ku02kwK02ky02m2K02m302m4G02m5!K02m602mcG02me02mgG02mi02mlG02mm!K02ms02muK02mv!G02n302n5K02n602n7G02na02njO02nu02nzK02o102o3G02o502omK02oq02pdK02pf02pnK02pp!K02ps02pyK02q2!G02q702qcG02qe!G02qg02qnG02qu02r3O02r602r7G02sx!G02t002t6G02tj02tqG02ts02u1O02wh!G02wk02wsG02x402x9G02xc02xlO02yo!K02zc02zdG02zk02ztO0305!G0307!G0309!G030e030fG030g030nK030p031oK031t032cG032e032fG032g032kK032l032vG032x033wG0346!G036z037iG037k037tO03860389G038e038gG038i038kG038n038tG038x0390G039e039pG039r!G039s03a1O03a203a5G03a803b9K03bb!K03bh!K03bk03cqK03cs03m0K03m203m5K03m803meK03mg!K03mi03mlK03mo03nsK03nu03nxK03o003owK03oy03p1K03p403paK03pc!K03pe03phK03pk03pyK03q003rkK03rm03rpK03rs03tmK03tp03trG03uo03v3K03vk03xxK03y003y5K03y904fgK04fj04fzK04g0!R04g104gqK04gw04iyK04j204jcK04jk04jwK04jy04k1K04k204k4G04kg04kxK04ky04l0G04lc04ltK04lu04lvG04m804mkK04mm04moK04mq04mrG04ok04pfG04pp!G04ps04q1O04qz04r1G04r2!I04r404rdO04rk04u0K04u804ucK04ud04ueG04uf04vcK04vd!G04ve!K04vk04xhK04xs04ymK04yo04yzG04z404zfG04zq04zzO053k053tO054w055iK055j055nG0579057iG057k058cG058f!G058g058pO058w0595O059s05a8G05c005c4G05c505dfK05dg05dwG05dx05e3K05e805ehO05ez05f7G05fk05fmG05fn05ggK05gh05gtG05gu05gvK05gw05h5O05h605idK05ie05irG05j405k3K05k405knG05kw05l5O05l905lbK05lc05llO05lm05mlK05mo05mwK05n405oaK05od05ofK05ow05oyG05p005pkG05pl05poK05pp!G05pq05pvK05pw!G05px05pyK05pz05q1G05q2!K05q805vjK05vk05x5G05x705xbG05xc0651K06540659K065c066dK066g066lK066o066vK066x!K066z!K0671!K0673067xK0680069gK069i069oK069q!K069u069wK069y06a4K06a806abK06ae06ajK06ao06b0K06b606b8K06ba06bgK06bk06bqR06bs06buR06bw!G06bx!Q06by06bzI06c806c9N06ck!N06cn!L06co06cpF06cq06cuI06cv!P06db06dcP06dg!M06dw!P06e7!R06e806ecI06ee06enI06ep!K06f3!K06fk06fwK06hc06i8G06iq!K06iv!K06iy06j7K06j9!K06jd06jhK06jo!K06jq!K06js!K06ju06jxK06jz06k9K06kc06kfK06kl06kpK06ku!K06lc06mgK079207ahK08ow08q6K08q808riK08rk08v8K08vf08viK08vj08vlG08vm08vnK08w008x1K08x3!K08x9!K08xc08yvK08z3!K08zj!G08zk0906K090g090mK090o090uK090w0912K0914091aK091c091iK091k091qK091s091yK09200926K09280933G094f!K09hc!R09hh!K09ii09inG09ip09itJ09iz09j0K09ll09lmG09ln09loJ09ls09oaJ09oc09ofJ09ol09prK09pt09seK09sw09trK09v409vjJ0a1c0a2mJ0a2o0a53J0vls0wi4K0wk00wl9K0wlc0wssK0wsw0wtbK0wtc0wtlO0wtm0wtnK0wu80wviK0wvj0wvmG0wvo0wvxG0wvz0wwtK0wwu0wwvG0www0wz3K0wz40wz5G0wzs0x4vK0x4y0x56K0x6d0x6pK0x6q!G0x6r0x6tK0x6u!G0x6v0x6yK0x6z!G0x700x7mK0x7n0x7rG0x7w!G0x8g0x9vK0xa80xa9G0xaa0xbnK0xbo0xc5G0xcg0xcpO0xcw0xddG0xde0xdjK0xdn!K0xdp0xdqK0xdr!G0xds0xe1O0xe20xetK0xeu0xf1G0xf40xfqK0xfr0xg3G0xgg0xh8K0xhc0xhfG0xhg0xiqK0xir0xj4G0xjj!K0xjk0xjtO0xk5!G0xkg0xkpO0xkw0xm0K0xm10xmeG0xmo0xmqK0xmr!G0xms0xmzK0xn00xn1G0xn40xndO0xob0xodG0xps!G0xpu0xpwG0xpz0xq0G0xq60xq7G0xq9!G0xr40xreK0xrf0xrjG0xrm0xroK0xrp0xrqG0xs10xs6K0xs90xseK0xsh0xsmK0xsw0xt2K0xt40xtaK0xtc0xuxK0xv40xyaK0xyb0xyiG0xyk0xylG0xyo0xyxO0xz416lfK16ls16meK16mj16nvK1dkw1dl2K1dlf1dljK1dlp!C1dlq!G1dlr1dm0C1dm21dmeC1dmg1dmkC1dmm!C1dmo1dmpC1dmr1dmsC1dmu1dn3C1dn41dptK1dqr1e0tK1e1c1e33K1e361e4nK1e5s1e63K1e681e6nG1e6o!M1e6r!L1e6s!M1e741e7jG1e7n1e7oP1e8d1e8fP1e8g!M1e8i!N1e8k!M1e8l!L1e9c1e9gK1e9i1ed8K1edb!I1edj!N1edo!M1edq!N1eds1ee1O1ee2!L1ee3!M1ee91eeyK1ef3!P1ef51efuK1eg61ehpJ1ehq1ehrG1ehs1eimK1eiq1eivK1eiy1ej3K1ej61ejbK1eje1ejgK1ek91ekbI1ekg1ekrK1ekt1eliK1elk1em2K1em41em5K1em71emlK1emo1en1K1eo01ereK1etc1eusK1eyl!G1f281f30K1f341f4gK1f4w!G1f5s1f6nK1f711f7uK1f801f91K1f921f96G1f9c1fa5K1fa81fb7K1fbc1fbjK1fbl1fbpK1fcw1fh9K1fhc1fhlO1fhs1firK1fiw1fjvK1fk01fl3K1flc1fmrK1fr41fzqK1g001g0lK1g0w1g13K1g5c1g5hK1g5k!K1g5m1g6tK1g6v1g6wK1g70!K1g731g7pK1g801g8mK1g8w1g9qK1gbk1gc2K1gc41gc5K1gcg1gd1K1gdc1ge1K1gg01ghjK1ghq1ghrK1gjk!K1gjl1gjnG1gjp1gjqG1gjw1gjzG1gk01gk3K1gk51gk7K1gk91gl1K1gl41gl6G1glb!G1gm81gn0K1gn41gnwK1gow1gp3K1gp51gpwK1gpx1gpyG1gqo1gs5K1gsg1gt1K1gtc1gtuK1gu81gupK1gxs1gzsK1h1c1h2qK1h341h4iK1h4w1h5vK1h5w1h5zG1h681h6hO1hfk1hgpK1hgr1hgsG1hgw1hgxK1hj41hjwK1hk7!K1hkg1hl1K1hl21hlcG1ho01hokK1hpc1hpyK1hq81hqaG1hqb1hrrK1hrs1hs6G1ht21htbO1htr1htuG1htv1hv3K1hv41hveG1hvh!I1hvx!I1hw01hwoK1hww1hx5O1hxc1hxeG1hxf1hyeK1hyf1hysG1hyu1hz3O1hz8!K1hz91hzaG1hzb!K1hzk1i0iK1i0j!G1i0m!K1i0w1i0yG1i0z1i2aK1i2b1i2oG1i2p1i2sK1i2x1i30G1i321i33G1i341i3dO1i3e!K1i3g!K1i4g1i4xK1i4z1i5nK1i5o1i5zG1i66!G1i801i86K1i88!K1i8a1i8dK1i8f1i8tK1i8v1i94K1i9c1iamK1ian1iayG1ib41ibdO1ibk1ibnG1ibp1ibwK1ibz1ic0K1ic31icoK1icq1icwK1icy1iczK1id11id5K1id71id8G1id9!K1ida1idgG1idj1idkG1idn1idpG1ids!K1idz!G1ie51ie9K1iea1iebG1iee1iekG1ieo1iesG1iio1ik4K1ik51ikmG1ikn1ikqK1ikw1il5O1ila!G1ilb1ildK1im81injK1ink1io3G1io41io5K1io7!K1iog1iopO1itc1iumK1iun1iutG1iuw1iv4G1ivs1ivvK1ivw1ivxG1iww1iy7K1iy81iyoG1iys!K1iz41izdO1j0g1j1mK1j1n1j1zG1j20!K1j281j2hO1j4t1j57G1j5c1j5lO1jb41jcbK1jcc1jcqG1jfk1jhbK1jhc1jhlO1ji71jieK1jih!K1jik1jirK1jit1jiuK1jiw1jjjK1jjk1jjpG1jjr1jjsG1jjv1jjyG1jjz!K1jk0!G1jk1!K1jk21jk3G1jkg1jkpO1jmo1jmvK1jmy1jo0K1jo11jo7G1joa1jogG1joh!K1joj!K1jok!G1jpc!K1jpd1jpmG1jpn1jqqK1jqr1jqxG1jqy!K1jqz1jr2G1jrb!G1jrk!K1jrl1jrvG1jrw1jt5K1jt61jtlG1jtp!K1juo1jw8K1k3k1k3sK1k3u1k4uK1k4v1k52G1k541k5bG1k5c!K1k5s1k61O1k6q1k7jK1k7m1k87G1k891k8mG1kao1kauK1kaw1kaxK1kaz1kc0K1kc11kc6G1kca!G1kcc1kcdG1kcf1kclG1kcm!K1kcn!G1kcw1kd5O1kdc1kdhK1kdj1kdkK1kdm1kehK1kei1kemG1keo1kepG1ker1kevG1kew!K1kf41kfdO1ko01koiK1koj1komG1kts!K1kw01lllK1log1lriK1ls01lxfK1o1s1oviK1ovk1ovsI1s001sg6K1z401zjsK1zk01zkuK1zkw1zl5O1zo01zotK1zow1zp0G1zpc1zqnK1zqo1zquG1zr41zr7K1zrk1zrtO1zs31zsnK1zst1ztbK20cg20e7K20hs20juK20jz!G20k0!K20k120ljG20lr20luG20lv20m7K20o020o1K20o3!K20o4!G20og20ohG2dc0!J2dlw2dlzJ2fpc2fsaK2fsg2fssK2fsw2ft4K2ftc2ftlK2ftp2ftqG2fts2ftvI2jxh2jxlG2jxp2jxuG2jxv2jy2I2jy32jyaG2jyd2jyjG2jze2jzhG2k3m2k3oG2kg02kicK2kie2kkcK2kke2kkfK2kki!K2kkl2kkmK2kkp2kksK2kku2kl5K2kl7!K2kl92klfK2klh2kn9K2knb2kneK2knh2knoK2knq2knwK2kny2kopK2kor2kouK2kow2kp0K2kp2!K2kp62kpcK2kpe2kytK2kyw2kzkK2kzm2l0aK2l0c2l16K2l182l1wK2l1y2l2sK2l2u2l3iK2l3k2l4eK2l4g2l54K2l562l60K2l622l6qK2l6s2l6zK2l722l8fO2lmo2lo6G2lob2lpoG2lpx!G2lqc!G2lqz2lr3G2lr52lrjG2mtc2mtiG2mtk2mu0G2mu32mu9G2mub2mucG2mue2muiG2n0g2n1oK2n1s2n1yG2n1z2n25K2n282n2hO2n2m!K2ncw2ne3K2ne42ne7G2ne82nehO2oe82ojoK2ok02ok6G2olc2on7K2on82oneG2onf!K2onk2ontO2pkw2pkzK2pl12plrK2plt2pluK2plw!K2plz!K2pm12pmaK2pmc2pmfK2pmh!K2pmj!K2pmq!K2pmv!K2pmx!K2pmz!K2pn12pn3K2pn52pn6K2pn8!K2pnb!K2pnd!K2pnf!K2pnh!K2pnj!K2pnl2pnmK2pno!K2pnr2pnuK2pnw2po2K2po42po7K2po92pocK2poe!K2pog2popK2por2pp7K2ppd2ppfK2pph2pplK2ppn2pq3K2q7k2q89K2q8g2q95K2q9c2qa1K2qcm2qdbH2qrf2qrjG2sc02sc9Ojny9!Ijnz4jo1rGjo5cjobzG'; - -const int singleWordBreakRangesCount = 231; - -const WordCharProperty defaultWordCharProperty = WordCharProperty.Unknown; diff --git a/engine/src/flutter/third_party/web_unicode/properties/LineBreak.txt b/engine/src/flutter/third_party/web_unicode/properties/LineBreak.txt deleted file mode 100644 index 22abddcd90e02..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/properties/LineBreak.txt +++ /dev/null @@ -1,3487 +0,0 @@ -# LineBreak-13.0.0.txt -# Date: 2020-02-17, 07:43:02 GMT [KW, LI] -# © 2020 Unicode®, Inc. -# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. -# For terms of use, see http://www.unicode.org/terms_of_use.html -# -# Unicode Character Database -# For documentation, see http://www.unicode.org/reports/tr44/ -# -# Line_Break Property -# -# This file is a normative contributory data file in the -# Unicode Character Database. -# -# The format is two fields separated by a semicolon. -# Field 0: Unicode code point value or range of code point values -# Field 1: Line_Break property, consisting of one of the following values: -# Non-tailorable: -# "BK", "CM", "CR", "GL", "LF", "NL", "SP", "WJ", "ZW", "ZWJ" -# Tailorable: -# "AI", "AL", "B2", "BA", "BB", "CB", "CJ", "CL", "CP", "EB", -# "EM", "EX", "H2", "H3", "HL", "HY", "ID", "IN", "IS", "JL", -# "JT", "JV", "NS", "NU", "OP", "PO", "PR", "QU", "RI", "SA", -# "SG", "SY", "XX" -# - All code points, assigned and unassigned, that are not listed -# explicitly are given the value "XX". -# - The unassigned code points in the following blocks default to "ID": -# CJK Unified Ideographs Extension A: U+3400..U+4DBF -# CJK Unified Ideographs: U+4E00..U+9FFF -# CJK Compatibility Ideographs: U+F900..U+FAFF -# - All undesignated code points in Planes 2 and 3, whether inside or -# outside of allocated blocks, default to "ID": -# Plane 2: U+20000..U+2FFFD -# Plane 3: U+30000..U+3FFFD -# - All unassigned code points in the following Plane 1 ranges, whether -# inside or outside of allocated blocks, also default to "ID": -# Plane 1 range: U+1F000..U+1FAFF -# Plane 1 range: U+1FC00..U+1FFFD -# - The unassigned code points in the following block default to "PR": -# Currency Symbols: U+20A0..U+20CF -# -# Character ranges are specified as for other property files in the -# Unicode Character Database. -# -# For legacy reasons, there are no spaces before or after the semicolon -# which separates the two fields. The comments following the number sign -# "#" list the General_Category property value or the L& alias of the -# derived value LC, the Unicode character name or names, and, in lines -# with ranges of code points, the code point count in square brackets. -# -# For more information, see UAX #14: Unicode Line Breaking Algorithm, -# at http://www.unicode.org/reports/tr14/ -# -# @missing: 0000..10FFFF; XX -0000..0008;CM # Cc [9] .. -0009;BA # Cc -000A;LF # Cc -000B..000C;BK # Cc [2] .. -000D;CR # Cc -000E..001F;CM # Cc [18] .. -0020;SP # Zs SPACE -0021;EX # Po EXCLAMATION MARK -0022;QU # Po QUOTATION MARK -0023;AL # Po NUMBER SIGN -0024;PR # Sc DOLLAR SIGN -0025;PO # Po PERCENT SIGN -0026;AL # Po AMPERSAND -0027;QU # Po APOSTROPHE -0028;OP # Ps LEFT PARENTHESIS -0029;CP # Pe RIGHT PARENTHESIS -002A;AL # Po ASTERISK -002B;PR # Sm PLUS SIGN -002C;IS # Po COMMA -002D;HY # Pd HYPHEN-MINUS -002E;IS # Po FULL STOP -002F;SY # Po SOLIDUS -0030..0039;NU # Nd [10] DIGIT ZERO..DIGIT NINE -003A..003B;IS # Po [2] COLON..SEMICOLON -003C..003E;AL # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN -003F;EX # Po QUESTION MARK -0040;AL # Po COMMERCIAL AT -0041..005A;AL # Lu [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z -005B;OP # Ps LEFT SQUARE BRACKET -005C;PR # Po REVERSE SOLIDUS -005D;CP # Pe RIGHT SQUARE BRACKET -005E;AL # Sk CIRCUMFLEX ACCENT -005F;AL # Pc LOW LINE -0060;AL # Sk GRAVE ACCENT -0061..007A;AL # Ll [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z -007B;OP # Ps LEFT CURLY BRACKET -007C;BA # Sm VERTICAL LINE -007D;CL # Pe RIGHT CURLY BRACKET -007E;AL # Sm TILDE -007F;CM # Cc -0080..0084;CM # Cc [5] .. -0085;NL # Cc -0086..009F;CM # Cc [26] .. -00A0;GL # Zs NO-BREAK SPACE -00A1;OP # Po INVERTED EXCLAMATION MARK -00A2;PO # Sc CENT SIGN -00A3..00A5;PR # Sc [3] POUND SIGN..YEN SIGN -00A6;AL # So BROKEN BAR -00A7;AI # Po SECTION SIGN -00A8;AI # Sk DIAERESIS -00A9;AL # So COPYRIGHT SIGN -00AA;AI # Lo FEMININE ORDINAL INDICATOR -00AB;QU # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -00AC;AL # Sm NOT SIGN -00AD;BA # Cf SOFT HYPHEN -00AE;AL # So REGISTERED SIGN -00AF;AL # Sk MACRON -00B0;PO # So DEGREE SIGN -00B1;PR # Sm PLUS-MINUS SIGN -00B2..00B3;AI # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE -00B4;BB # Sk ACUTE ACCENT -00B5;AL # Ll MICRO SIGN -00B6..00B7;AI # Po [2] PILCROW SIGN..MIDDLE DOT -00B8;AI # Sk CEDILLA -00B9;AI # No SUPERSCRIPT ONE -00BA;AI # Lo MASCULINE ORDINAL INDICATOR -00BB;QU # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -00BC..00BE;AI # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS -00BF;OP # Po INVERTED QUESTION MARK -00C0..00D6;AL # Lu [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS -00D7;AI # Sm MULTIPLICATION SIGN -00D8..00F6;AL # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS -00F7;AI # Sm DIVISION SIGN -00F8..00FF;AL # Ll [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS -0100..017F;AL # L& [128] LATIN CAPITAL LETTER A WITH MACRON..LATIN SMALL LETTER LONG S -0180..01BA;AL # L& [59] LATIN SMALL LETTER B WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL -01BB;AL # Lo LATIN LETTER TWO WITH STROKE -01BC..01BF;AL # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN -01C0..01C3;AL # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK -01C4..024F;AL # L& [140] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER Y WITH STROKE -0250..0293;AL # Ll [68] LATIN SMALL LETTER TURNED A..LATIN SMALL LETTER EZH WITH CURL -0294;AL # Lo LATIN LETTER GLOTTAL STOP -0295..02AF;AL # Ll [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL -02B0..02C1;AL # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP -02C2..02C5;AL # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD -02C6;AL # Lm MODIFIER LETTER CIRCUMFLEX ACCENT -02C7;AI # Lm CARON -02C8;BB # Lm MODIFIER LETTER VERTICAL LINE -02C9..02CB;AI # Lm [3] MODIFIER LETTER MACRON..MODIFIER LETTER GRAVE ACCENT -02CC;BB # Lm MODIFIER LETTER LOW VERTICAL LINE -02CD;AI # Lm MODIFIER LETTER LOW MACRON -02CE..02CF;AL # Lm [2] MODIFIER LETTER LOW GRAVE ACCENT..MODIFIER LETTER LOW ACUTE ACCENT -02D0;AI # Lm MODIFIER LETTER TRIANGULAR COLON -02D1;AL # Lm MODIFIER LETTER HALF TRIANGULAR COLON -02D2..02D7;AL # Sk [6] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER MINUS SIGN -02D8..02DB;AI # Sk [4] BREVE..OGONEK -02DC;AL # Sk SMALL TILDE -02DD;AI # Sk DOUBLE ACUTE ACCENT -02DE;AL # Sk MODIFIER LETTER RHOTIC HOOK -02DF;BB # Sk MODIFIER LETTER CROSS ACCENT -02E0..02E4;AL # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP -02E5..02EB;AL # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK -02EC;AL # Lm MODIFIER LETTER VOICING -02ED;AL # Sk MODIFIER LETTER UNASPIRATED -02EE;AL # Lm MODIFIER LETTER DOUBLE APOSTROPHE -02EF..02FF;AL # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW -0300..034E;CM # Mn [79] COMBINING GRAVE ACCENT..COMBINING UPWARDS ARROW BELOW -034F;GL # Mn COMBINING GRAPHEME JOINER -0350..035B;CM # Mn [12] COMBINING RIGHT ARROWHEAD ABOVE..COMBINING ZIGZAG ABOVE -035C..0362;GL # Mn [7] COMBINING DOUBLE BREVE BELOW..COMBINING DOUBLE RIGHTWARDS ARROW BELOW -0363..036F;CM # Mn [13] COMBINING LATIN SMALL LETTER A..COMBINING LATIN SMALL LETTER X -0370..0373;AL # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI -0374;AL # Lm GREEK NUMERAL SIGN -0375;AL # Sk GREEK LOWER NUMERAL SIGN -0376..0377;AL # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA -037A;AL # Lm GREEK YPOGEGRAMMENI -037B..037D;AL # Ll [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL -037E;IS # Po GREEK QUESTION MARK -037F;AL # Lu GREEK CAPITAL LETTER YOT -0384..0385;AL # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS -0386;AL # Lu GREEK CAPITAL LETTER ALPHA WITH TONOS -0387;AL # Po GREEK ANO TELEIA -0388..038A;AL # Lu [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS -038C;AL # Lu GREEK CAPITAL LETTER OMICRON WITH TONOS -038E..03A1;AL # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO -03A3..03F5;AL # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL -03F6;AL # Sm GREEK REVERSED LUNATE EPSILON SYMBOL -03F7..03FF;AL # L& [9] GREEK CAPITAL LETTER SHO..GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL -0400..0481;AL # L& [130] CYRILLIC CAPITAL LETTER IE WITH GRAVE..CYRILLIC SMALL LETTER KOPPA -0482;AL # So CYRILLIC THOUSANDS SIGN -0483..0487;CM # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE -0488..0489;CM # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN -048A..04FF;AL # L& [118] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER HA WITH STROKE -0500..052F;AL # L& [48] CYRILLIC CAPITAL LETTER KOMI DE..CYRILLIC SMALL LETTER EL WITH DESCENDER -0531..0556;AL # Lu [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH -0559;AL # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING -055A..055F;AL # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK -0560..0588;AL # Ll [41] ARMENIAN SMALL LETTER TURNED AYB..ARMENIAN SMALL LETTER YI WITH STROKE -0589;IS # Po ARMENIAN FULL STOP -058A;BA # Pd ARMENIAN HYPHEN -058D..058E;AL # So [2] RIGHT-FACING ARMENIAN ETERNITY SIGN..LEFT-FACING ARMENIAN ETERNITY SIGN -058F;PR # Sc ARMENIAN DRAM SIGN -0591..05BD;CM # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG -05BE;BA # Pd HEBREW PUNCTUATION MAQAF -05BF;CM # Mn HEBREW POINT RAFE -05C0;AL # Po HEBREW PUNCTUATION PASEQ -05C1..05C2;CM # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT -05C3;AL # Po HEBREW PUNCTUATION SOF PASUQ -05C4..05C5;CM # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT -05C6;EX # Po HEBREW PUNCTUATION NUN HAFUKHA -05C7;CM # Mn HEBREW POINT QAMATS QATAN -05D0..05EA;HL # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV -05EF..05F2;HL # Lo [4] HEBREW YOD TRIANGLE..HEBREW LIGATURE YIDDISH DOUBLE YOD -05F3..05F4;AL # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM -0600..0605;AL # Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE -0606..0608;AL # Sm [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY -0609..060A;PO # Po [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN -060B;PO # Sc AFGHANI SIGN -060C..060D;IS # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR -060E..060F;AL # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA -0610..061A;CM # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA -061B;EX # Po ARABIC SEMICOLON -061C;CM # Cf ARABIC LETTER MARK -061E..061F;EX # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK -0620..063F;AL # Lo [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE -0640;AL # Lm ARABIC TATWEEL -0641..064A;AL # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH -064B..065F;CM # Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW -0660..0669;NU # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE -066A;PO # Po ARABIC PERCENT SIGN -066B..066C;NU # Po [2] ARABIC DECIMAL SEPARATOR..ARABIC THOUSANDS SEPARATOR -066D;AL # Po ARABIC FIVE POINTED STAR -066E..066F;AL # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF -0670;CM # Mn ARABIC LETTER SUPERSCRIPT ALEF -0671..06D3;AL # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE -06D4;EX # Po ARABIC FULL STOP -06D5;AL # Lo ARABIC LETTER AE -06D6..06DC;CM # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN -06DD;AL # Cf ARABIC END OF AYAH -06DE;AL # So ARABIC START OF RUB EL HIZB -06DF..06E4;CM # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA -06E5..06E6;AL # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH -06E7..06E8;CM # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON -06E9;AL # So ARABIC PLACE OF SAJDAH -06EA..06ED;CM # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM -06EE..06EF;AL # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V -06F0..06F9;NU # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE -06FA..06FC;AL # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW -06FD..06FE;AL # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN -06FF;AL # Lo ARABIC LETTER HEH WITH INVERTED V -0700..070D;AL # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS -070F;AL # Cf SYRIAC ABBREVIATION MARK -0710;AL # Lo SYRIAC LETTER ALAPH -0711;CM # Mn SYRIAC LETTER SUPERSCRIPT ALAPH -0712..072F;AL # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH -0730..074A;CM # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH -074D..074F;AL # Lo [3] SYRIAC LETTER SOGDIAN ZHAIN..SYRIAC LETTER SOGDIAN FE -0750..077F;AL # Lo [48] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE -0780..07A5;AL # Lo [38] THAANA LETTER HAA..THAANA LETTER WAAVU -07A6..07B0;CM # Mn [11] THAANA ABAFILI..THAANA SUKUN -07B1;AL # Lo THAANA LETTER NAA -07C0..07C9;NU # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE -07CA..07EA;AL # Lo [33] NKO LETTER A..NKO LETTER JONA RA -07EB..07F3;CM # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE -07F4..07F5;AL # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE -07F6;AL # So NKO SYMBOL OO DENNEN -07F7;AL # Po NKO SYMBOL GBAKURUNEN -07F8;IS # Po NKO COMMA -07F9;EX # Po NKO EXCLAMATION MARK -07FA;AL # Lm NKO LAJANYALAN -07FD;CM # Mn NKO DANTAYALAN -07FE..07FF;PR # Sc [2] NKO DOROME SIGN..NKO TAMAN SIGN -0800..0815;AL # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF -0816..0819;CM # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH -081A;AL # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT -081B..0823;CM # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A -0824;AL # Lm SAMARITAN MODIFIER LETTER SHORT A -0825..0827;CM # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U -0828;AL # Lm SAMARITAN MODIFIER LETTER I -0829..082D;CM # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA -0830..083E;AL # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU -0840..0858;AL # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN -0859..085B;CM # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -085E;AL # Po MANDAIC PUNCTUATION -0860..086A;AL # Lo [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA -08A0..08B4;AL # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW -08B6..08C7;AL # Lo [18] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER LAM WITH SMALL ARABIC LETTER TAH ABOVE -08D3..08E1;CM # Mn [15] ARABIC SMALL LOW WAW..ARABIC SMALL HIGH SIGN SAFHA -08E2;AL # Cf ARABIC DISPUTED END OF AYAH -08E3..08FF;CM # Mn [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA -0900..0902;CM # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA -0903;CM # Mc DEVANAGARI SIGN VISARGA -0904..0939;AL # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA -093A;CM # Mn DEVANAGARI VOWEL SIGN OE -093B;CM # Mc DEVANAGARI VOWEL SIGN OOE -093C;CM # Mn DEVANAGARI SIGN NUKTA -093D;AL # Lo DEVANAGARI SIGN AVAGRAHA -093E..0940;CM # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II -0941..0948;CM # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI -0949..094C;CM # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU -094D;CM # Mn DEVANAGARI SIGN VIRAMA -094E..094F;CM # Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW -0950;AL # Lo DEVANAGARI OM -0951..0957;CM # Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE -0958..0961;AL # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL -0962..0963;CM # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL -0964..0965;BA # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA -0966..096F;NU # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE -0970;AL # Po DEVANAGARI ABBREVIATION SIGN -0971;AL # Lm DEVANAGARI SIGN HIGH SPACING DOT -0972..097F;AL # Lo [14] DEVANAGARI LETTER CANDRA A..DEVANAGARI LETTER BBA -0980;AL # Lo BENGALI ANJI -0981;CM # Mn BENGALI SIGN CANDRABINDU -0982..0983;CM # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA -0985..098C;AL # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L -098F..0990;AL # Lo [2] BENGALI LETTER E..BENGALI LETTER AI -0993..09A8;AL # Lo [22] BENGALI LETTER O..BENGALI LETTER NA -09AA..09B0;AL # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA -09B2;AL # Lo BENGALI LETTER LA -09B6..09B9;AL # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA -09BC;CM # Mn BENGALI SIGN NUKTA -09BD;AL # Lo BENGALI SIGN AVAGRAHA -09BE..09C0;CM # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II -09C1..09C4;CM # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR -09C7..09C8;CM # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI -09CB..09CC;CM # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU -09CD;CM # Mn BENGALI SIGN VIRAMA -09CE;AL # Lo BENGALI LETTER KHANDA TA -09D7;CM # Mc BENGALI AU LENGTH MARK -09DC..09DD;AL # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA -09DF..09E1;AL # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL -09E2..09E3;CM # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL -09E6..09EF;NU # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE -09F0..09F1;AL # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL -09F2..09F3;PO # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN -09F4..09F8;AL # No [5] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR -09F9;PO # No BENGALI CURRENCY DENOMINATOR SIXTEEN -09FA;AL # So BENGALI ISSHAR -09FB;PR # Sc BENGALI GANDA MARK -09FC;AL # Lo BENGALI LETTER VEDIC ANUSVARA -09FD;AL # Po BENGALI ABBREVIATION SIGN -09FE;CM # Mn BENGALI SANDHI MARK -0A01..0A02;CM # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI -0A03;CM # Mc GURMUKHI SIGN VISARGA -0A05..0A0A;AL # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU -0A0F..0A10;AL # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI -0A13..0A28;AL # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA -0A2A..0A30;AL # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA -0A32..0A33;AL # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA -0A35..0A36;AL # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA -0A38..0A39;AL # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA -0A3C;CM # Mn GURMUKHI SIGN NUKTA -0A3E..0A40;CM # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II -0A41..0A42;CM # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU -0A47..0A48;CM # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI -0A4B..0A4D;CM # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA -0A51;CM # Mn GURMUKHI SIGN UDAAT -0A59..0A5C;AL # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA -0A5E;AL # Lo GURMUKHI LETTER FA -0A66..0A6F;NU # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE -0A70..0A71;CM # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK -0A72..0A74;AL # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR -0A75;CM # Mn GURMUKHI SIGN YAKASH -0A76;AL # Po GURMUKHI ABBREVIATION SIGN -0A81..0A82;CM # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA -0A83;CM # Mc GUJARATI SIGN VISARGA -0A85..0A8D;AL # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E -0A8F..0A91;AL # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O -0A93..0AA8;AL # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA -0AAA..0AB0;AL # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA -0AB2..0AB3;AL # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA -0AB5..0AB9;AL # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA -0ABC;CM # Mn GUJARATI SIGN NUKTA -0ABD;AL # Lo GUJARATI SIGN AVAGRAHA -0ABE..0AC0;CM # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II -0AC1..0AC5;CM # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E -0AC7..0AC8;CM # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI -0AC9;CM # Mc GUJARATI VOWEL SIGN CANDRA O -0ACB..0ACC;CM # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU -0ACD;CM # Mn GUJARATI SIGN VIRAMA -0AD0;AL # Lo GUJARATI OM -0AE0..0AE1;AL # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL -0AE2..0AE3;CM # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL -0AE6..0AEF;NU # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE -0AF0;AL # Po GUJARATI ABBREVIATION SIGN -0AF1;PR # Sc GUJARATI RUPEE SIGN -0AF9;AL # Lo GUJARATI LETTER ZHA -0AFA..0AFF;CM # Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE -0B01;CM # Mn ORIYA SIGN CANDRABINDU -0B02..0B03;CM # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA -0B05..0B0C;AL # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L -0B0F..0B10;AL # Lo [2] ORIYA LETTER E..ORIYA LETTER AI -0B13..0B28;AL # Lo [22] ORIYA LETTER O..ORIYA LETTER NA -0B2A..0B30;AL # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA -0B32..0B33;AL # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA -0B35..0B39;AL # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA -0B3C;CM # Mn ORIYA SIGN NUKTA -0B3D;AL # Lo ORIYA SIGN AVAGRAHA -0B3E;CM # Mc ORIYA VOWEL SIGN AA -0B3F;CM # Mn ORIYA VOWEL SIGN I -0B40;CM # Mc ORIYA VOWEL SIGN II -0B41..0B44;CM # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR -0B47..0B48;CM # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI -0B4B..0B4C;CM # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU -0B4D;CM # Mn ORIYA SIGN VIRAMA -0B55..0B56;CM # Mn [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK -0B57;CM # Mc ORIYA AU LENGTH MARK -0B5C..0B5D;AL # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA -0B5F..0B61;AL # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL -0B62..0B63;CM # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL -0B66..0B6F;NU # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE -0B70;AL # So ORIYA ISSHAR -0B71;AL # Lo ORIYA LETTER WA -0B72..0B77;AL # No [6] ORIYA FRACTION ONE QUARTER..ORIYA FRACTION THREE SIXTEENTHS -0B82;CM # Mn TAMIL SIGN ANUSVARA -0B83;AL # Lo TAMIL SIGN VISARGA -0B85..0B8A;AL # Lo [6] TAMIL LETTER A..TAMIL LETTER UU -0B8E..0B90;AL # Lo [3] TAMIL LETTER E..TAMIL LETTER AI -0B92..0B95;AL # Lo [4] TAMIL LETTER O..TAMIL LETTER KA -0B99..0B9A;AL # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA -0B9C;AL # Lo TAMIL LETTER JA -0B9E..0B9F;AL # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA -0BA3..0BA4;AL # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA -0BA8..0BAA;AL # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA -0BAE..0BB9;AL # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA -0BBE..0BBF;CM # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I -0BC0;CM # Mn TAMIL VOWEL SIGN II -0BC1..0BC2;CM # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU -0BC6..0BC8;CM # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI -0BCA..0BCC;CM # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU -0BCD;CM # Mn TAMIL SIGN VIRAMA -0BD0;AL # Lo TAMIL OM -0BD7;CM # Mc TAMIL AU LENGTH MARK -0BE6..0BEF;NU # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE -0BF0..0BF2;AL # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND -0BF3..0BF8;AL # So [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN -0BF9;PR # Sc TAMIL RUPEE SIGN -0BFA;AL # So TAMIL NUMBER SIGN -0C00;CM # Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE -0C01..0C03;CM # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA -0C04;CM # Mn TELUGU SIGN COMBINING ANUSVARA ABOVE -0C05..0C0C;AL # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L -0C0E..0C10;AL # Lo [3] TELUGU LETTER E..TELUGU LETTER AI -0C12..0C28;AL # Lo [23] TELUGU LETTER O..TELUGU LETTER NA -0C2A..0C39;AL # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA -0C3D;AL # Lo TELUGU SIGN AVAGRAHA -0C3E..0C40;CM # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II -0C41..0C44;CM # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR -0C46..0C48;CM # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI -0C4A..0C4D;CM # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA -0C55..0C56;CM # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C58..0C5A;AL # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA -0C60..0C61;AL # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL -0C62..0C63;CM # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL -0C66..0C6F;NU # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE -0C77;BB # Po TELUGU SIGN SIDDHAM -0C78..0C7E;AL # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR -0C7F;AL # So TELUGU SIGN TUUMU -0C80;AL # Lo KANNADA SIGN SPACING CANDRABINDU -0C81;CM # Mn KANNADA SIGN CANDRABINDU -0C82..0C83;CM # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA -0C84;BB # Po KANNADA SIGN SIDDHAM -0C85..0C8C;AL # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L -0C8E..0C90;AL # Lo [3] KANNADA LETTER E..KANNADA LETTER AI -0C92..0CA8;AL # Lo [23] KANNADA LETTER O..KANNADA LETTER NA -0CAA..0CB3;AL # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA -0CB5..0CB9;AL # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA -0CBC;CM # Mn KANNADA SIGN NUKTA -0CBD;AL # Lo KANNADA SIGN AVAGRAHA -0CBE;CM # Mc KANNADA VOWEL SIGN AA -0CBF;CM # Mn KANNADA VOWEL SIGN I -0CC0..0CC4;CM # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR -0CC6;CM # Mn KANNADA VOWEL SIGN E -0CC7..0CC8;CM # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI -0CCA..0CCB;CM # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO -0CCC..0CCD;CM # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA -0CD5..0CD6;CM # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK -0CDE;AL # Lo KANNADA LETTER FA -0CE0..0CE1;AL # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL -0CE2..0CE3;CM # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL -0CE6..0CEF;NU # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE -0CF1..0CF2;AL # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA -0D00..0D01;CM # Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU -0D02..0D03;CM # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA -0D04..0D0C;AL # Lo [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L -0D0E..0D10;AL # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI -0D12..0D3A;AL # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA -0D3B..0D3C;CM # Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA -0D3D;AL # Lo MALAYALAM SIGN AVAGRAHA -0D3E..0D40;CM # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II -0D41..0D44;CM # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR -0D46..0D48;CM # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI -0D4A..0D4C;CM # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU -0D4D;CM # Mn MALAYALAM SIGN VIRAMA -0D4E;AL # Lo MALAYALAM LETTER DOT REPH -0D4F;AL # So MALAYALAM SIGN PARA -0D54..0D56;AL # Lo [3] MALAYALAM LETTER CHILLU M..MALAYALAM LETTER CHILLU LLL -0D57;CM # Mc MALAYALAM AU LENGTH MARK -0D58..0D5E;AL # No [7] MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH..MALAYALAM FRACTION ONE FIFTH -0D5F..0D61;AL # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL -0D62..0D63;CM # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL -0D66..0D6F;NU # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE -0D70..0D78;AL # No [9] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE SIXTEENTHS -0D79;PO # So MALAYALAM DATE MARK -0D7A..0D7F;AL # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K -0D81;CM # Mn SINHALA SIGN CANDRABINDU -0D82..0D83;CM # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA -0D85..0D96;AL # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA -0D9A..0DB1;AL # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA -0DB3..0DBB;AL # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA -0DBD;AL # Lo SINHALA LETTER DANTAJA LAYANNA -0DC0..0DC6;AL # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA -0DCA;CM # Mn SINHALA SIGN AL-LAKUNA -0DCF..0DD1;CM # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA -0DD2..0DD4;CM # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA -0DD6;CM # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA -0DD8..0DDF;CM # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA -0DE6..0DEF;NU # Nd [10] SINHALA LITH DIGIT ZERO..SINHALA LITH DIGIT NINE -0DF2..0DF3;CM # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA -0DF4;AL # Po SINHALA PUNCTUATION KUNDDALIYA -0E01..0E30;SA # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A -0E31;SA # Mn THAI CHARACTER MAI HAN-AKAT -0E32..0E33;SA # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM -0E34..0E3A;SA # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU -0E3F;PR # Sc THAI CURRENCY SYMBOL BAHT -0E40..0E45;SA # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO -0E46;SA # Lm THAI CHARACTER MAIYAMOK -0E47..0E4E;SA # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN -0E4F;AL # Po THAI CHARACTER FONGMAN -0E50..0E59;NU # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE -0E5A..0E5B;BA # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT -0E81..0E82;SA # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG -0E84;SA # Lo LAO LETTER KHO TAM -0E86..0E8A;SA # Lo [5] LAO LETTER PALI GHA..LAO LETTER SO TAM -0E8C..0EA3;SA # Lo [24] LAO LETTER PALI JHA..LAO LETTER LO LING -0EA5;SA # Lo LAO LETTER LO LOOT -0EA7..0EB0;SA # Lo [10] LAO LETTER WO..LAO VOWEL SIGN A -0EB1;SA # Mn LAO VOWEL SIGN MAI KAN -0EB2..0EB3;SA # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM -0EB4..0EBC;SA # Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO -0EBD;SA # Lo LAO SEMIVOWEL SIGN NYO -0EC0..0EC4;SA # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI -0EC6;SA # Lm LAO KO LA -0EC8..0ECD;SA # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA -0ED0..0ED9;NU # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE -0EDC..0EDF;SA # Lo [4] LAO HO NO..LAO LETTER KHMU NYO -0F00;AL # Lo TIBETAN SYLLABLE OM -0F01..0F03;BB # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA -0F04;BB # Po TIBETAN MARK INITIAL YIG MGO MDUN MA -0F05;AL # Po TIBETAN MARK CLOSING YIG MGO SGAB MA -0F06..0F07;BB # Po [2] TIBETAN MARK CARET YIG MGO PHUR SHAD MA..TIBETAN MARK YIG MGO TSHEG SHAD MA -0F08;GL # Po TIBETAN MARK SBRUL SHAD -0F09..0F0A;BB # Po [2] TIBETAN MARK BSKUR YIG MGO..TIBETAN MARK BKA- SHOG YIG MGO -0F0B;BA # Po TIBETAN MARK INTERSYLLABIC TSHEG -0F0C;GL # Po TIBETAN MARK DELIMITER TSHEG BSTAR -0F0D..0F11;EX # Po [5] TIBETAN MARK SHAD..TIBETAN MARK RIN CHEN SPUNGS SHAD -0F12;GL # Po TIBETAN MARK RGYA GRAM SHAD -0F13;AL # So TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN -0F14;EX # Po TIBETAN MARK GTER TSHEG -0F15..0F17;AL # So [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS -0F18..0F19;CM # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS -0F1A..0F1F;AL # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG -0F20..0F29;NU # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE -0F2A..0F33;AL # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO -0F34;BA # So TIBETAN MARK BSDUS RTAGS -0F35;CM # Mn TIBETAN MARK NGAS BZUNG NYI ZLA -0F36;AL # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN -0F37;CM # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS -0F38;AL # So TIBETAN MARK CHE MGO -0F39;CM # Mn TIBETAN MARK TSA -PHRU -0F3A;OP # Ps TIBETAN MARK GUG RTAGS GYON -0F3B;CL # Pe TIBETAN MARK GUG RTAGS GYAS -0F3C;OP # Ps TIBETAN MARK ANG KHANG GYON -0F3D;CL # Pe TIBETAN MARK ANG KHANG GYAS -0F3E..0F3F;CM # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES -0F40..0F47;AL # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA -0F49..0F6C;AL # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA -0F71..0F7E;CM # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO -0F7F;BA # Mc TIBETAN SIGN RNAM BCAD -0F80..0F84;CM # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA -0F85;BA # Po TIBETAN MARK PALUTA -0F86..0F87;CM # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS -0F88..0F8C;AL # Lo [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN -0F8D..0F97;CM # Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA -0F99..0FBC;CM # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA -0FBE..0FBF;BA # So [2] TIBETAN KU RU KHA..TIBETAN KU RU KHA BZHI MIG CAN -0FC0..0FC5;AL # So [6] TIBETAN CANTILLATION SIGN HEAVY BEAT..TIBETAN SYMBOL RDO RJE -0FC6;CM # Mn TIBETAN SYMBOL PADMA GDAN -0FC7..0FCC;AL # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL -0FCE..0FCF;AL # So [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM -0FD0..0FD1;BB # Po [2] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK MNYAM YIG GI MGO RGYAN -0FD2;BA # Po TIBETAN MARK NYIS TSHEG -0FD3;BB # Po TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA -0FD4;AL # Po TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA -0FD5..0FD8;AL # So [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS -0FD9..0FDA;GL # Po [2] TIBETAN MARK LEADING MCHAN RTAGS..TIBETAN MARK TRAILING MCHAN RTAGS -1000..102A;SA # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU -102B..102C;SA # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA -102D..1030;SA # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU -1031;SA # Mc MYANMAR VOWEL SIGN E -1032..1037;SA # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW -1038;SA # Mc MYANMAR SIGN VISARGA -1039..103A;SA # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT -103B..103C;SA # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA -103D..103E;SA # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA -103F;SA # Lo MYANMAR LETTER GREAT SA -1040..1049;NU # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE -104A..104B;BA # Po [2] MYANMAR SIGN LITTLE SECTION..MYANMAR SIGN SECTION -104C..104F;AL # Po [4] MYANMAR SYMBOL LOCATIVE..MYANMAR SYMBOL GENITIVE -1050..1055;SA # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL -1056..1057;SA # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR -1058..1059;SA # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL -105A..105D;SA # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE -105E..1060;SA # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA -1061;SA # Lo MYANMAR LETTER SGAW KAREN SHA -1062..1064;SA # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO -1065..1066;SA # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA -1067..106D;SA # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5 -106E..1070;SA # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA -1071..1074;SA # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE -1075..1081;SA # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA -1082;SA # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA -1083..1084;SA # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E -1085..1086;SA # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y -1087..108C;SA # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3 -108D;SA # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE -108E;SA # Lo MYANMAR LETTER RUMAI PALAUNG FA -108F;SA # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5 -1090..1099;NU # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE -109A..109C;SA # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A -109D;SA # Mn MYANMAR VOWEL SIGN AITON AI -109E..109F;SA # So [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION -10A0..10C5;AL # Lu [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE -10C7;AL # Lu GEORGIAN CAPITAL LETTER YN -10CD;AL # Lu GEORGIAN CAPITAL LETTER AEN -10D0..10FA;AL # Ll [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN -10FB;AL # Po GEORGIAN PARAGRAPH SEPARATOR -10FC;AL # Lm MODIFIER LETTER GEORGIAN NAR -10FD..10FF;AL # Ll [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN -1100..115F;JL # Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER -1160..11A7;JV # Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE -11A8..11FF;JT # Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN -1200..1248;AL # Lo [73] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE QWA -124A..124D;AL # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE -1250..1256;AL # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO -1258;AL # Lo ETHIOPIC SYLLABLE QHWA -125A..125D;AL # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE -1260..1288;AL # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA -128A..128D;AL # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE -1290..12B0;AL # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA -12B2..12B5;AL # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE -12B8..12BE;AL # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO -12C0;AL # Lo ETHIOPIC SYLLABLE KXWA -12C2..12C5;AL # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE -12C8..12D6;AL # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O -12D8..1310;AL # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA -1312..1315;AL # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE -1318..135A;AL # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA -135D..135F;CM # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK -1360;AL # Po ETHIOPIC SECTION MARK -1361;BA # Po ETHIOPIC WORDSPACE -1362..1368;AL # Po [7] ETHIOPIC FULL STOP..ETHIOPIC PARAGRAPH SEPARATOR -1369..137C;AL # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND -1380..138F;AL # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -1390..1399;AL # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT -13A0..13F5;AL # Lu [86] CHEROKEE LETTER A..CHEROKEE LETTER MV -13F8..13FD;AL # Ll [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV -1400;BA # Pd CANADIAN SYLLABICS HYPHEN -1401..166C;AL # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA -166D;AL # So CANADIAN SYLLABICS CHI SIGN -166E;AL # Po CANADIAN SYLLABICS FULL STOP -166F..167F;AL # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W -1680;BA # Zs OGHAM SPACE MARK -1681..169A;AL # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH -169B;OP # Ps OGHAM FEATHER MARK -169C;CL # Pe OGHAM REVERSED FEATHER MARK -16A0..16EA;AL # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X -16EB..16ED;BA # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION -16EE..16F0;AL # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL -16F1..16F8;AL # Lo [8] RUNIC LETTER K..RUNIC LETTER FRANKS CASKET AESC -1700..170C;AL # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA -170E..1711;AL # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA -1712..1714;CM # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA -1720..1731;AL # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA -1732..1734;CM # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD -1735..1736;BA # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION -1740..1751;AL # Lo [18] BUHID LETTER A..BUHID LETTER HA -1752..1753;CM # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U -1760..176C;AL # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA -176E..1770;AL # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA -1772..1773;CM # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U -1780..17B3;SA # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU -17B4..17B5;SA # Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA -17B6;SA # Mc KHMER VOWEL SIGN AA -17B7..17BD;SA # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA -17BE..17C5;SA # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU -17C6;SA # Mn KHMER SIGN NIKAHIT -17C7..17C8;SA # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU -17C9..17D3;SA # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT -17D4..17D5;BA # Po [2] KHMER SIGN KHAN..KHMER SIGN BARIYOOSAN -17D6;NS # Po KHMER SIGN CAMNUC PII KUUH -17D7;SA # Lm KHMER SIGN LEK TOO -17D8;BA # Po KHMER SIGN BEYYAL -17D9;AL # Po KHMER SIGN PHNAEK MUAN -17DA;BA # Po KHMER SIGN KOOMUUT -17DB;PR # Sc KHMER CURRENCY SYMBOL RIEL -17DC;SA # Lo KHMER SIGN AVAKRAHASANYA -17DD;SA # Mn KHMER SIGN ATTHACAN -17E0..17E9;NU # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE -17F0..17F9;AL # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON -1800..1801;AL # Po [2] MONGOLIAN BIRGA..MONGOLIAN ELLIPSIS -1802..1803;EX # Po [2] MONGOLIAN COMMA..MONGOLIAN FULL STOP -1804..1805;BA # Po [2] MONGOLIAN COLON..MONGOLIAN FOUR DOTS -1806;BB # Pd MONGOLIAN TODO SOFT HYPHEN -1807;AL # Po MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER -1808..1809;EX # Po [2] MONGOLIAN MANCHU COMMA..MONGOLIAN MANCHU FULL STOP -180A;AL # Po MONGOLIAN NIRUGU -180B..180D;CM # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE -180E;GL # Cf MONGOLIAN VOWEL SEPARATOR -1810..1819;NU # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE -1820..1842;AL # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI -1843;AL # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN -1844..1878;AL # Lo [53] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER CHA WITH TWO DOTS -1880..1884;AL # Lo [5] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER ALI GALI INVERTED UBADAMA -1885..1886;CM # Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA -1887..18A8;AL # Lo [34] MONGOLIAN LETTER ALI GALI A..MONGOLIAN LETTER MANCHU ALI GALI BHA -18A9;CM # Mn MONGOLIAN LETTER ALI GALI DAGALGA -18AA;AL # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA -18B0..18F5;AL # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S -1900..191E;AL # Lo [31] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER TRA -1920..1922;CM # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U -1923..1926;CM # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU -1927..1928;CM # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O -1929..192B;CM # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA -1930..1931;CM # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA -1932;CM # Mn LIMBU SMALL LETTER ANUSVARA -1933..1938;CM # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA -1939..193B;CM # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I -1940;AL # So LIMBU SIGN LOO -1944..1945;EX # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK -1946..194F;NU # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE -1950..196D;SA # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI -1970..1974;SA # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 -1980..19AB;SA # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA -19B0..19C9;SA # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 -19D0..19D9;NU # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE -19DA;SA # No NEW TAI LUE THAM DIGIT ONE -19DE..19DF;SA # So [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV -19E0..19FF;AL # So [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC -1A00..1A16;AL # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA -1A17..1A18;CM # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U -1A19..1A1A;CM # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O -1A1B;CM # Mn BUGINESE VOWEL SIGN AE -1A1E..1A1F;AL # Po [2] BUGINESE PALLAWA..BUGINESE END OF SECTION -1A20..1A54;SA # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA -1A55;SA # Mc TAI THAM CONSONANT SIGN MEDIAL RA -1A56;SA # Mn TAI THAM CONSONANT SIGN MEDIAL LA -1A57;SA # Mc TAI THAM CONSONANT SIGN LA TANG LAI -1A58..1A5E;SA # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA -1A60;SA # Mn TAI THAM SIGN SAKOT -1A61;SA # Mc TAI THAM VOWEL SIGN A -1A62;SA # Mn TAI THAM VOWEL SIGN MAI SAT -1A63..1A64;SA # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA -1A65..1A6C;SA # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW -1A6D..1A72;SA # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI -1A73..1A7C;SA # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN -1A7F;CM # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT -1A80..1A89;NU # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE -1A90..1A99;NU # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE -1AA0..1AA6;SA # Po [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA -1AA7;SA # Lm TAI THAM SIGN MAI YAMOK -1AA8..1AAD;SA # Po [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG -1AB0..1ABD;CM # Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW -1ABE;CM # Me COMBINING PARENTHESES OVERLAY -1ABF..1AC0;CM # Mn [2] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER TURNED W BELOW -1B00..1B03;CM # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG -1B04;CM # Mc BALINESE SIGN BISAH -1B05..1B33;AL # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA -1B34;CM # Mn BALINESE SIGN REREKAN -1B35;CM # Mc BALINESE VOWEL SIGN TEDUNG -1B36..1B3A;CM # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA -1B3B;CM # Mc BALINESE VOWEL SIGN RA REPA TEDUNG -1B3C;CM # Mn BALINESE VOWEL SIGN LA LENGA -1B3D..1B41;CM # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG -1B42;CM # Mn BALINESE VOWEL SIGN PEPET -1B43..1B44;CM # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG -1B45..1B4B;AL # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK -1B50..1B59;NU # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE -1B5A..1B5B;BA # Po [2] BALINESE PANTI..BALINESE PAMADA -1B5C;AL # Po BALINESE WINDU -1B5D..1B60;BA # Po [4] BALINESE CARIK PAMUNGKAH..BALINESE PAMENENG -1B61..1B6A;AL # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE -1B6B..1B73;CM # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG -1B74..1B7C;AL # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING -1B80..1B81;CM # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR -1B82;CM # Mc SUNDANESE SIGN PANGWISAD -1B83..1BA0;AL # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA -1BA1;CM # Mc SUNDANESE CONSONANT SIGN PAMINGKAL -1BA2..1BA5;CM # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU -1BA6..1BA7;CM # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG -1BA8..1BA9;CM # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG -1BAA;CM # Mc SUNDANESE SIGN PAMAAEH -1BAB..1BAD;CM # Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA -1BAE..1BAF;AL # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA -1BB0..1BB9;NU # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE -1BBA..1BBF;AL # Lo [6] SUNDANESE AVAGRAHA..SUNDANESE LETTER FINAL M -1BC0..1BE5;AL # Lo [38] BATAK LETTER A..BATAK LETTER U -1BE6;CM # Mn BATAK SIGN TOMPI -1BE7;CM # Mc BATAK VOWEL SIGN E -1BE8..1BE9;CM # Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE -1BEA..1BEC;CM # Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O -1BED;CM # Mn BATAK VOWEL SIGN KARO O -1BEE;CM # Mc BATAK VOWEL SIGN U -1BEF..1BF1;CM # Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H -1BF2..1BF3;CM # Mc [2] BATAK PANGOLAT..BATAK PANONGONAN -1BFC..1BFF;AL # Po [4] BATAK SYMBOL BINDU NA METEK..BATAK SYMBOL BINDU PANGOLAT -1C00..1C23;AL # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A -1C24..1C2B;CM # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU -1C2C..1C33;CM # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T -1C34..1C35;CM # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG -1C36..1C37;CM # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA -1C3B..1C3F;BA # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK -1C40..1C49;NU # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE -1C4D..1C4F;AL # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA -1C50..1C59;NU # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE -1C5A..1C77;AL # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH -1C78..1C7D;AL # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD -1C7E..1C7F;BA # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD -1C80..1C88;AL # Ll [9] CYRILLIC SMALL LETTER ROUNDED VE..CYRILLIC SMALL LETTER UNBLENDED UK -1C90..1CBA;AL # Lu [43] GEORGIAN MTAVRULI CAPITAL LETTER AN..GEORGIAN MTAVRULI CAPITAL LETTER AIN -1CBD..1CBF;AL # Lu [3] GEORGIAN MTAVRULI CAPITAL LETTER AEN..GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN -1CC0..1CC7;AL # Po [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA -1CD0..1CD2;CM # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA -1CD3;AL # Po VEDIC SIGN NIHSHVASA -1CD4..1CE0;CM # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA -1CE1;CM # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA -1CE2..1CE8;CM # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL -1CE9..1CEC;AL # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL -1CED;CM # Mn VEDIC SIGN TIRYAK -1CEE..1CF3;AL # Lo [6] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ROTATED ARDHAVISARGA -1CF4;CM # Mn VEDIC TONE CANDRA ABOVE -1CF5..1CF6;AL # Lo [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA -1CF7;CM # Mc VEDIC SIGN ATIKRAMA -1CF8..1CF9;CM # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE -1CFA;AL # Lo VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA -1D00..1D2B;AL # Ll [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL -1D2C..1D6A;AL # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI -1D6B..1D77;AL # Ll [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G -1D78;AL # Lm MODIFIER LETTER CYRILLIC EN -1D79..1D7F;AL # Ll [7] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER UPSILON WITH STROKE -1D80..1D9A;AL # Ll [27] LATIN SMALL LETTER B WITH PALATAL HOOK..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK -1D9B..1DBF;AL # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA -1DC0..1DF9;CM # Mn [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW -1DFB..1DFF;CM # Mn [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW -1E00..1EFF;AL # L& [256] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH LOOP -1F00..1F15;AL # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA -1F18..1F1D;AL # Lu [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA -1F20..1F45;AL # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA -1F48..1F4D;AL # Lu [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA -1F50..1F57;AL # Ll [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI -1F59;AL # Lu GREEK CAPITAL LETTER UPSILON WITH DASIA -1F5B;AL # Lu GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA -1F5D;AL # Lu GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA -1F5F..1F7D;AL # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA -1F80..1FB4;AL # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI -1FB6..1FBC;AL # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI -1FBD;AL # Sk GREEK KORONIS -1FBE;AL # Ll GREEK PROSGEGRAMMENI -1FBF..1FC1;AL # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI -1FC2..1FC4;AL # Ll [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI -1FC6..1FCC;AL # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI -1FCD..1FCF;AL # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI -1FD0..1FD3;AL # Ll [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA -1FD6..1FDB;AL # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA -1FDD..1FDF;AL # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI -1FE0..1FEC;AL # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA -1FED..1FEF;AL # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA -1FF2..1FF4;AL # Ll [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI -1FF6..1FFC;AL # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI -1FFD;BB # Sk GREEK OXIA -1FFE;AL # Sk GREEK DASIA -2000..2006;BA # Zs [7] EN QUAD..SIX-PER-EM SPACE -2007;GL # Zs FIGURE SPACE -2008..200A;BA # Zs [3] PUNCTUATION SPACE..HAIR SPACE -200B;ZW # Cf ZERO WIDTH SPACE -200C;CM # Cf ZERO WIDTH NON-JOINER -200D;ZWJ # Cf ZERO WIDTH JOINER -200E..200F;CM # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK -2010;BA # Pd HYPHEN -2011;GL # Pd NON-BREAKING HYPHEN -2012..2013;BA # Pd [2] FIGURE DASH..EN DASH -2014;B2 # Pd EM DASH -2015;AI # Pd HORIZONTAL BAR -2016;AI # Po DOUBLE VERTICAL LINE -2017;AL # Po DOUBLE LOW LINE -2018;QU # Pi LEFT SINGLE QUOTATION MARK -2019;QU # Pf RIGHT SINGLE QUOTATION MARK -201A;OP # Ps SINGLE LOW-9 QUOTATION MARK -201B..201C;QU # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK -201D;QU # Pf RIGHT DOUBLE QUOTATION MARK -201E;OP # Ps DOUBLE LOW-9 QUOTATION MARK -201F;QU # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK -2020..2021;AI # Po [2] DAGGER..DOUBLE DAGGER -2022..2023;AL # Po [2] BULLET..TRIANGULAR BULLET -2024..2026;IN # Po [3] ONE DOT LEADER..HORIZONTAL ELLIPSIS -2027;BA # Po HYPHENATION POINT -2028;BK # Zl LINE SEPARATOR -2029;BK # Zp PARAGRAPH SEPARATOR -202A..202E;CM # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE -202F;GL # Zs NARROW NO-BREAK SPACE -2030..2037;PO # Po [8] PER MILLE SIGN..REVERSED TRIPLE PRIME -2038;AL # Po CARET -2039;QU # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK -203A;QU # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK -203B;AI # Po REFERENCE MARK -203C..203D;NS # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG -203E;AL # Po OVERLINE -203F..2040;AL # Pc [2] UNDERTIE..CHARACTER TIE -2041..2043;AL # Po [3] CARET INSERTION POINT..HYPHEN BULLET -2044;IS # Sm FRACTION SLASH -2045;OP # Ps LEFT SQUARE BRACKET WITH QUILL -2046;CL # Pe RIGHT SQUARE BRACKET WITH QUILL -2047..2049;NS # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK -204A..2051;AL # Po [8] TIRONIAN SIGN ET..TWO ASTERISKS ALIGNED VERTICALLY -2052;AL # Sm COMMERCIAL MINUS SIGN -2053;AL # Po SWUNG DASH -2054;AL # Pc INVERTED UNDERTIE -2055;AL # Po FLOWER PUNCTUATION MARK -2056;BA # Po THREE DOT PUNCTUATION -2057;AL # Po QUADRUPLE PRIME -2058..205B;BA # Po [4] FOUR DOT PUNCTUATION..FOUR DOT MARK -205C;AL # Po DOTTED CROSS -205D..205E;BA # Po [2] TRICOLON..VERTICAL FOUR DOTS -205F;BA # Zs MEDIUM MATHEMATICAL SPACE -2060;WJ # Cf WORD JOINER -2061..2064;AL # Cf [4] FUNCTION APPLICATION..INVISIBLE PLUS -2066..206F;CM # Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES -2070;AL # No SUPERSCRIPT ZERO -2071;AL # Lm SUPERSCRIPT LATIN SMALL LETTER I -2074;AI # No SUPERSCRIPT FOUR -2075..2079;AL # No [5] SUPERSCRIPT FIVE..SUPERSCRIPT NINE -207A..207C;AL # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN -207D;OP # Ps SUPERSCRIPT LEFT PARENTHESIS -207E;CL # Pe SUPERSCRIPT RIGHT PARENTHESIS -207F;AI # Lm SUPERSCRIPT LATIN SMALL LETTER N -2080;AL # No SUBSCRIPT ZERO -2081..2084;AI # No [4] SUBSCRIPT ONE..SUBSCRIPT FOUR -2085..2089;AL # No [5] SUBSCRIPT FIVE..SUBSCRIPT NINE -208A..208C;AL # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN -208D;OP # Ps SUBSCRIPT LEFT PARENTHESIS -208E;CL # Pe SUBSCRIPT RIGHT PARENTHESIS -2090..209C;AL # Lm [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T -20A0..20A6;PR # Sc [7] EURO-CURRENCY SIGN..NAIRA SIGN -20A7;PO # Sc PESETA SIGN -20A8..20B5;PR # Sc [14] RUPEE SIGN..CEDI SIGN -20B6;PO # Sc LIVRE TOURNOIS SIGN -20B7..20BA;PR # Sc [4] SPESMILO SIGN..TURKISH LIRA SIGN -20BB;PO # Sc NORDIC MARK SIGN -20BC..20BD;PR # Sc [2] MANAT SIGN..RUBLE SIGN -20BE;PO # Sc LARI SIGN -20BF;PR # Sc BITCOIN SIGN -20C0..20CF;PR # Cn [16] .. -20D0..20DC;CM # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE -20DD..20E0;CM # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH -20E1;CM # Mn COMBINING LEFT RIGHT ARROW ABOVE -20E2..20E4;CM # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE -20E5..20F0;CM # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE -2100..2101;AL # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT -2102;AL # Lu DOUBLE-STRUCK CAPITAL C -2103;PO # So DEGREE CELSIUS -2104;AL # So CENTRE LINE SYMBOL -2105;AI # So CARE OF -2106;AL # So CADA UNA -2107;AL # Lu EULER CONSTANT -2108;AL # So SCRUPLE -2109;PO # So DEGREE FAHRENHEIT -210A..2112;AL # L& [9] SCRIPT SMALL G..SCRIPT CAPITAL L -2113;AI # Ll SCRIPT SMALL L -2114;AL # So L B BAR SYMBOL -2115;AL # Lu DOUBLE-STRUCK CAPITAL N -2116;PR # So NUMERO SIGN -2117;AL # So SOUND RECORDING COPYRIGHT -2118;AL # Sm SCRIPT CAPITAL P -2119..211D;AL # Lu [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R -211E..2120;AL # So [3] PRESCRIPTION TAKE..SERVICE MARK -2121..2122;AI # So [2] TELEPHONE SIGN..TRADE MARK SIGN -2123;AL # So VERSICLE -2124;AL # Lu DOUBLE-STRUCK CAPITAL Z -2125;AL # So OUNCE SIGN -2126;AL # Lu OHM SIGN -2127;AL # So INVERTED OHM SIGN -2128;AL # Lu BLACK-LETTER CAPITAL Z -2129;AL # So TURNED GREEK SMALL LETTER IOTA -212A;AL # Lu KELVIN SIGN -212B;AI # Lu ANGSTROM SIGN -212C..212D;AL # Lu [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C -212E;AL # So ESTIMATED SYMBOL -212F..2134;AL # L& [6] SCRIPT SMALL E..SCRIPT SMALL O -2135..2138;AL # Lo [4] ALEF SYMBOL..DALET SYMBOL -2139;AL # Ll INFORMATION SOURCE -213A..213B;AL # So [2] ROTATED CAPITAL Q..FACSIMILE SIGN -213C..213F;AL # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI -2140..2144;AL # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y -2145..2149;AL # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J -214A;AL # So PROPERTY LINE -214B;AL # Sm TURNED AMPERSAND -214C..214D;AL # So [2] PER SIGN..AKTIESELSKAB -214E;AL # Ll TURNED SMALL F -214F;AL # So SYMBOL FOR SAMARITAN SOURCE -2150..2153;AL # No [4] VULGAR FRACTION ONE SEVENTH..VULGAR FRACTION ONE THIRD -2154..2155;AI # No [2] VULGAR FRACTION TWO THIRDS..VULGAR FRACTION ONE FIFTH -2156..215A;AL # No [5] VULGAR FRACTION TWO FIFTHS..VULGAR FRACTION FIVE SIXTHS -215B;AI # No VULGAR FRACTION ONE EIGHTH -215C..215D;AL # No [2] VULGAR FRACTION THREE EIGHTHS..VULGAR FRACTION FIVE EIGHTHS -215E;AI # No VULGAR FRACTION SEVEN EIGHTHS -215F;AL # No FRACTION NUMERATOR ONE -2160..216B;AI # Nl [12] ROMAN NUMERAL ONE..ROMAN NUMERAL TWELVE -216C..216F;AL # Nl [4] ROMAN NUMERAL FIFTY..ROMAN NUMERAL ONE THOUSAND -2170..2179;AI # Nl [10] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL TEN -217A..2182;AL # Nl [9] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TEN THOUSAND -2183..2184;AL # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C -2185..2188;AL # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND -2189;AI # No VULGAR FRACTION ZERO THIRDS -218A..218B;AL # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE -2190..2194;AI # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW -2195..2199;AI # So [5] UP DOWN ARROW..SOUTH WEST ARROW -219A..219B;AL # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE -219C..219F;AL # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW -21A0;AL # Sm RIGHTWARDS TWO HEADED ARROW -21A1..21A2;AL # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL -21A3;AL # Sm RIGHTWARDS ARROW WITH TAIL -21A4..21A5;AL # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR -21A6;AL # Sm RIGHTWARDS ARROW FROM BAR -21A7..21AD;AL # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW -21AE;AL # Sm LEFT RIGHT ARROW WITH STROKE -21AF..21CD;AL # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE -21CE..21CF;AL # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE -21D0..21D1;AL # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW -21D2;AI # Sm RIGHTWARDS DOUBLE ARROW -21D3;AL # So DOWNWARDS DOUBLE ARROW -21D4;AI # Sm LEFT RIGHT DOUBLE ARROW -21D5..21F3;AL # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW -21F4..21FF;AL # Sm [12] RIGHT ARROW WITH SMALL CIRCLE..LEFT RIGHT OPEN-HEADED ARROW -2200;AI # Sm FOR ALL -2201;AL # Sm COMPLEMENT -2202..2203;AI # Sm [2] PARTIAL DIFFERENTIAL..THERE EXISTS -2204..2206;AL # Sm [3] THERE DOES NOT EXIST..INCREMENT -2207..2208;AI # Sm [2] NABLA..ELEMENT OF -2209..220A;AL # Sm [2] NOT AN ELEMENT OF..SMALL ELEMENT OF -220B;AI # Sm CONTAINS AS MEMBER -220C..220E;AL # Sm [3] DOES NOT CONTAIN AS MEMBER..END OF PROOF -220F;AI # Sm N-ARY PRODUCT -2210;AL # Sm N-ARY COPRODUCT -2211;AI # Sm N-ARY SUMMATION -2212..2213;PR # Sm [2] MINUS SIGN..MINUS-OR-PLUS SIGN -2214;AL # Sm DOT PLUS -2215;AI # Sm DIVISION SLASH -2216..2219;AL # Sm [4] SET MINUS..BULLET OPERATOR -221A;AI # Sm SQUARE ROOT -221B..221C;AL # Sm [2] CUBE ROOT..FOURTH ROOT -221D..2220;AI # Sm [4] PROPORTIONAL TO..ANGLE -2221..2222;AL # Sm [2] MEASURED ANGLE..SPHERICAL ANGLE -2223;AI # Sm DIVIDES -2224;AL # Sm DOES NOT DIVIDE -2225;AI # Sm PARALLEL TO -2226;AL # Sm NOT PARALLEL TO -2227..222C;AI # Sm [6] LOGICAL AND..DOUBLE INTEGRAL -222D;AL # Sm TRIPLE INTEGRAL -222E;AI # Sm CONTOUR INTEGRAL -222F..2233;AL # Sm [5] SURFACE INTEGRAL..ANTICLOCKWISE CONTOUR INTEGRAL -2234..2237;AI # Sm [4] THEREFORE..PROPORTION -2238..223B;AL # Sm [4] DOT MINUS..HOMOTHETIC -223C..223D;AI # Sm [2] TILDE OPERATOR..REVERSED TILDE -223E..2247;AL # Sm [10] INVERTED LAZY S..NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO -2248;AI # Sm ALMOST EQUAL TO -2249..224B;AL # Sm [3] NOT ALMOST EQUAL TO..TRIPLE TILDE -224C;AI # Sm ALL EQUAL TO -224D..2251;AL # Sm [5] EQUIVALENT TO..GEOMETRICALLY EQUAL TO -2252;AI # Sm APPROXIMATELY EQUAL TO OR THE IMAGE OF -2253..225F;AL # Sm [13] IMAGE OF OR APPROXIMATELY EQUAL TO..QUESTIONED EQUAL TO -2260..2261;AI # Sm [2] NOT EQUAL TO..IDENTICAL TO -2262..2263;AL # Sm [2] NOT IDENTICAL TO..STRICTLY EQUIVALENT TO -2264..2267;AI # Sm [4] LESS-THAN OR EQUAL TO..GREATER-THAN OVER EQUAL TO -2268..2269;AL # Sm [2] LESS-THAN BUT NOT EQUAL TO..GREATER-THAN BUT NOT EQUAL TO -226A..226B;AI # Sm [2] MUCH LESS-THAN..MUCH GREATER-THAN -226C..226D;AL # Sm [2] BETWEEN..NOT EQUIVALENT TO -226E..226F;AI # Sm [2] NOT LESS-THAN..NOT GREATER-THAN -2270..2281;AL # Sm [18] NEITHER LESS-THAN NOR EQUAL TO..DOES NOT SUCCEED -2282..2283;AI # Sm [2] SUBSET OF..SUPERSET OF -2284..2285;AL # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF -2286..2287;AI # Sm [2] SUBSET OF OR EQUAL TO..SUPERSET OF OR EQUAL TO -2288..2294;AL # Sm [13] NEITHER A SUBSET OF NOR EQUAL TO..SQUARE CUP -2295;AI # Sm CIRCLED PLUS -2296..2298;AL # Sm [3] CIRCLED MINUS..CIRCLED DIVISION SLASH -2299;AI # Sm CIRCLED DOT OPERATOR -229A..22A4;AL # Sm [11] CIRCLED RING OPERATOR..DOWN TACK -22A5;AI # Sm UP TACK -22A6..22BE;AL # Sm [25] ASSERTION..RIGHT ANGLE WITH ARC -22BF;AI # Sm RIGHT TRIANGLE -22C0..22EE;AL # Sm [47] N-ARY LOGICAL AND..VERTICAL ELLIPSIS -22EF;IN # Sm MIDLINE HORIZONTAL ELLIPSIS -22F0..22FF;AL # Sm [16] UP RIGHT DIAGONAL ELLIPSIS..Z NOTATION BAG MEMBERSHIP -2300..2307;AL # So [8] DIAMETER SIGN..WAVY LINE -2308;OP # Ps LEFT CEILING -2309;CL # Pe RIGHT CEILING -230A;OP # Ps LEFT FLOOR -230B;CL # Pe RIGHT FLOOR -230C..2311;AL # So [6] BOTTOM RIGHT CROP..SQUARE LOZENGE -2312;AI # So ARC -2313..2319;AL # So [7] SEGMENT..TURNED NOT SIGN -231A..231B;ID # So [2] WATCH..HOURGLASS -231C..231F;AL # So [4] TOP LEFT CORNER..BOTTOM RIGHT CORNER -2320..2321;AL # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL -2322..2328;AL # So [7] FROWN..KEYBOARD -2329;OP # Ps LEFT-POINTING ANGLE BRACKET -232A;CL # Pe RIGHT-POINTING ANGLE BRACKET -232B..237B;AL # So [81] ERASE TO THE LEFT..NOT CHECK MARK -237C;AL # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW -237D..239A;AL # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL -239B..23B3;AL # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM -23B4..23DB;AL # So [40] TOP SQUARE BRACKET..FUSE -23DC..23E1;AL # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET -23E2..23EF;AL # So [14] WHITE TRAPEZIUM..BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR -23F0..23F3;ID # So [4] ALARM CLOCK..HOURGLASS WITH FLOWING SAND -23F4..23FF;AL # So [12] BLACK MEDIUM LEFT-POINTING TRIANGLE..OBSERVER EYE SYMBOL -2400..2426;AL # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO -2440..244A;AL # So [11] OCR HOOK..OCR DOUBLE BACKSLASH -2460..249B;AI # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP -249C..24E9;AI # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z -24EA..24FE;AI # No [21] CIRCLED DIGIT ZERO..DOUBLE CIRCLED NUMBER TEN -24FF;AL # No NEGATIVE CIRCLED DIGIT ZERO -2500..254B;AI # So [76] BOX DRAWINGS LIGHT HORIZONTAL..BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL -254C..254F;AL # So [4] BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL..BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL -2550..2574;AI # So [37] BOX DRAWINGS DOUBLE HORIZONTAL..BOX DRAWINGS LIGHT LEFT -2575..257F;AL # So [11] BOX DRAWINGS LIGHT UP..BOX DRAWINGS HEAVY UP AND LIGHT DOWN -2580..258F;AI # So [16] UPPER HALF BLOCK..LEFT ONE EIGHTH BLOCK -2590..2591;AL # So [2] RIGHT HALF BLOCK..LIGHT SHADE -2592..2595;AI # So [4] MEDIUM SHADE..RIGHT ONE EIGHTH BLOCK -2596..259F;AL # So [10] QUADRANT LOWER LEFT..QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT -25A0..25A1;AI # So [2] BLACK SQUARE..WHITE SQUARE -25A2;AL # So WHITE SQUARE WITH ROUNDED CORNERS -25A3..25A9;AI # So [7] WHITE SQUARE CONTAINING BLACK SMALL SQUARE..SQUARE WITH DIAGONAL CROSSHATCH FILL -25AA..25B1;AL # So [8] BLACK SMALL SQUARE..WHITE PARALLELOGRAM -25B2..25B3;AI # So [2] BLACK UP-POINTING TRIANGLE..WHITE UP-POINTING TRIANGLE -25B4..25B5;AL # So [2] BLACK UP-POINTING SMALL TRIANGLE..WHITE UP-POINTING SMALL TRIANGLE -25B6;AI # So BLACK RIGHT-POINTING TRIANGLE -25B7;AI # Sm WHITE RIGHT-POINTING TRIANGLE -25B8..25BB;AL # So [4] BLACK RIGHT-POINTING SMALL TRIANGLE..WHITE RIGHT-POINTING POINTER -25BC..25BD;AI # So [2] BLACK DOWN-POINTING TRIANGLE..WHITE DOWN-POINTING TRIANGLE -25BE..25BF;AL # So [2] BLACK DOWN-POINTING SMALL TRIANGLE..WHITE DOWN-POINTING SMALL TRIANGLE -25C0;AI # So BLACK LEFT-POINTING TRIANGLE -25C1;AI # Sm WHITE LEFT-POINTING TRIANGLE -25C2..25C5;AL # So [4] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE LEFT-POINTING POINTER -25C6..25C8;AI # So [3] BLACK DIAMOND..WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND -25C9..25CA;AL # So [2] FISHEYE..LOZENGE -25CB;AI # So WHITE CIRCLE -25CC..25CD;AL # So [2] DOTTED CIRCLE..CIRCLE WITH VERTICAL FILL -25CE..25D1;AI # So [4] BULLSEYE..CIRCLE WITH RIGHT HALF BLACK -25D2..25E1;AL # So [16] CIRCLE WITH LOWER HALF BLACK..LOWER HALF CIRCLE -25E2..25E5;AI # So [4] BLACK LOWER RIGHT TRIANGLE..BLACK UPPER RIGHT TRIANGLE -25E6..25EE;AL # So [9] WHITE BULLET..UP-POINTING TRIANGLE WITH RIGHT HALF BLACK -25EF;AI # So LARGE CIRCLE -25F0..25F7;AL # So [8] WHITE SQUARE WITH UPPER LEFT QUADRANT..WHITE CIRCLE WITH UPPER RIGHT QUADRANT -25F8..25FF;AL # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE -2600..2603;ID # So [4] BLACK SUN WITH RAYS..SNOWMAN -2604;AL # So COMET -2605..2606;AI # So [2] BLACK STAR..WHITE STAR -2607..2608;AL # So [2] LIGHTNING..THUNDERSTORM -2609;AI # So SUN -260A..260D;AL # So [4] ASCENDING NODE..OPPOSITION -260E..260F;AI # So [2] BLACK TELEPHONE..WHITE TELEPHONE -2610..2613;AL # So [4] BALLOT BOX..SALTIRE -2614..2615;ID # So [2] UMBRELLA WITH RAIN DROPS..HOT BEVERAGE -2616..2617;AI # So [2] WHITE SHOGI PIECE..BLACK SHOGI PIECE -2618;ID # So SHAMROCK -2619;AL # So REVERSED ROTATED FLORAL HEART BULLET -261A..261C;ID # So [3] BLACK LEFT POINTING INDEX..WHITE LEFT POINTING INDEX -261D;EB # So WHITE UP POINTING INDEX -261E..261F;ID # So [2] WHITE RIGHT POINTING INDEX..WHITE DOWN POINTING INDEX -2620..2638;AL # So [25] SKULL AND CROSSBONES..WHEEL OF DHARMA -2639..263B;ID # So [3] WHITE FROWNING FACE..BLACK SMILING FACE -263C..263F;AL # So [4] WHITE SUN WITH RAYS..MERCURY -2640;AI # So FEMALE SIGN -2641;AL # So EARTH -2642;AI # So MALE SIGN -2643..265F;AL # So [29] JUPITER..BLACK CHESS PAWN -2660..2661;AI # So [2] BLACK SPADE SUIT..WHITE HEART SUIT -2662;AL # So WHITE DIAMOND SUIT -2663..2665;AI # So [3] BLACK CLUB SUIT..BLACK HEART SUIT -2666;AL # So BLACK DIAMOND SUIT -2667;AI # So WHITE CLUB SUIT -2668;ID # So HOT SPRINGS -2669..266A;AI # So [2] QUARTER NOTE..EIGHTH NOTE -266B;AL # So BEAMED EIGHTH NOTES -266C..266D;AI # So [2] BEAMED SIXTEENTH NOTES..MUSIC FLAT SIGN -266E;AL # So MUSIC NATURAL SIGN -266F;AI # Sm MUSIC SHARP SIGN -2670..267E;AL # So [15] WEST SYRIAC CROSS..PERMANENT PAPER SIGN -267F;ID # So WHEELCHAIR SYMBOL -2680..269D;AL # So [30] DIE FACE-1..OUTLINED WHITE STAR -269E..269F;AI # So [2] THREE LINES CONVERGING RIGHT..THREE LINES CONVERGING LEFT -26A0..26BC;AL # So [29] WARNING SIGN..SESQUIQUADRATE -26BD..26C8;ID # So [12] SOCCER BALL..THUNDER CLOUD AND RAIN -26C9..26CC;AI # So [4] TURNED WHITE SHOGI PIECE..CROSSING LANES -26CD;ID # So DISABLED CAR -26CE;AL # So OPHIUCHUS -26CF..26D1;ID # So [3] PICK..HELMET WITH WHITE CROSS -26D2;AI # So CIRCLED CROSSING LANES -26D3..26D4;ID # So [2] CHAINS..NO ENTRY -26D5..26D7;AI # So [3] ALTERNATE ONE-WAY LEFT WAY TRAFFIC..WHITE TWO-WAY LEFT WAY TRAFFIC -26D8..26D9;ID # So [2] BLACK LEFT LANE MERGE..WHITE LEFT LANE MERGE -26DA..26DB;AI # So [2] DRIVE SLOW SIGN..HEAVY WHITE DOWN-POINTING TRIANGLE -26DC;ID # So LEFT CLOSED ENTRY -26DD..26DE;AI # So [2] SQUARED SALTIRE..FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE -26DF..26E1;ID # So [3] BLACK TRUCK..RESTRICTED LEFT ENTRY-2 -26E2;AL # So ASTRONOMICAL SYMBOL FOR URANUS -26E3;AI # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE -26E4..26E7;AL # So [4] PENTAGRAM..INVERTED PENTAGRAM -26E8..26E9;AI # So [2] BLACK CROSS ON SHIELD..SHINTO SHRINE -26EA;ID # So CHURCH -26EB..26F0;AI # So [6] CASTLE..MOUNTAIN -26F1..26F5;ID # So [5] UMBRELLA ON GROUND..SAILBOAT -26F6;AI # So SQUARE FOUR CORNERS -26F7..26F8;ID # So [2] SKIER..ICE SKATE -26F9;EB # So PERSON WITH BALL -26FA;ID # So TENT -26FB..26FC;AI # So [2] JAPANESE BANK SYMBOL..HEADSTONE GRAVEYARD SYMBOL -26FD..26FF;ID # So [3] FUEL PUMP..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE -2700..2704;ID # So [5] BLACK SAFETY SCISSORS..WHITE SCISSORS -2705..2707;AL # So [3] WHITE HEAVY CHECK MARK..TAPE DRIVE -2708..2709;ID # So [2] AIRPLANE..ENVELOPE -270A..270D;EB # So [4] RAISED FIST..WRITING HAND -270E..2756;AL # So [73] LOWER RIGHT PENCIL..BLACK DIAMOND MINUS WHITE X -2757;AI # So HEAVY EXCLAMATION MARK SYMBOL -2758..275A;AL # So [3] LIGHT VERTICAL BAR..HEAVY VERTICAL BAR -275B..2760;QU # So [6] HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT..HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT -2761;AL # So CURVED STEM PARAGRAPH SIGN ORNAMENT -2762..2763;EX # So [2] HEAVY EXCLAMATION MARK ORNAMENT..HEAVY HEART EXCLAMATION MARK ORNAMENT -2764;ID # So HEAVY BLACK HEART -2765..2767;AL # So [3] ROTATED HEAVY BLACK HEART BULLET..ROTATED FLORAL HEART BULLET -2768;OP # Ps MEDIUM LEFT PARENTHESIS ORNAMENT -2769;CL # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT -276A;OP # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT -276B;CL # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT -276C;OP # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT -276D;CL # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT -276E;OP # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT -276F;CL # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT -2770;OP # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT -2771;CL # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT -2772;OP # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT -2773;CL # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT -2774;OP # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT -2775;CL # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT -2776..2793;AI # No [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN -2794..27BF;AL # So [44] HEAVY WIDE-HEADED RIGHTWARDS ARROW..DOUBLE CURLY LOOP -27C0..27C4;AL # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET -27C5;OP # Ps LEFT S-SHAPED BAG DELIMITER -27C6;CL # Pe RIGHT S-SHAPED BAG DELIMITER -27C7..27E5;AL # Sm [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK -27E6;OP # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET -27E7;CL # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET -27E8;OP # Ps MATHEMATICAL LEFT ANGLE BRACKET -27E9;CL # Pe MATHEMATICAL RIGHT ANGLE BRACKET -27EA;OP # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET -27EB;CL # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET -27EC;OP # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET -27ED;CL # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET -27EE;OP # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS -27EF;CL # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS -27F0..27FF;AL # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW -2800..28FF;AL # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678 -2900..297F;AL # Sm [128] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..DOWN FISH TAIL -2980..2982;AL # Sm [3] TRIPLE VERTICAL BAR DELIMITER..Z NOTATION TYPE COLON -2983;OP # Ps LEFT WHITE CURLY BRACKET -2984;CL # Pe RIGHT WHITE CURLY BRACKET -2985;OP # Ps LEFT WHITE PARENTHESIS -2986;CL # Pe RIGHT WHITE PARENTHESIS -2987;OP # Ps Z NOTATION LEFT IMAGE BRACKET -2988;CL # Pe Z NOTATION RIGHT IMAGE BRACKET -2989;OP # Ps Z NOTATION LEFT BINDING BRACKET -298A;CL # Pe Z NOTATION RIGHT BINDING BRACKET -298B;OP # Ps LEFT SQUARE BRACKET WITH UNDERBAR -298C;CL # Pe RIGHT SQUARE BRACKET WITH UNDERBAR -298D;OP # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER -298E;CL # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER -298F;OP # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER -2990;CL # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER -2991;OP # Ps LEFT ANGLE BRACKET WITH DOT -2992;CL # Pe RIGHT ANGLE BRACKET WITH DOT -2993;OP # Ps LEFT ARC LESS-THAN BRACKET -2994;CL # Pe RIGHT ARC GREATER-THAN BRACKET -2995;OP # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET -2996;CL # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET -2997;OP # Ps LEFT BLACK TORTOISE SHELL BRACKET -2998;CL # Pe RIGHT BLACK TORTOISE SHELL BRACKET -2999..29D7;AL # Sm [63] DOTTED FENCE..BLACK HOURGLASS -29D8;OP # Ps LEFT WIGGLY FENCE -29D9;CL # Pe RIGHT WIGGLY FENCE -29DA;OP # Ps LEFT DOUBLE WIGGLY FENCE -29DB;CL # Pe RIGHT DOUBLE WIGGLY FENCE -29DC..29FB;AL # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS -29FC;OP # Ps LEFT-POINTING CURVED ANGLE BRACKET -29FD;CL # Pe RIGHT-POINTING CURVED ANGLE BRACKET -29FE..29FF;AL # Sm [2] TINY..MINY -2A00..2AFF;AL # Sm [256] N-ARY CIRCLED DOT OPERATOR..N-ARY WHITE VERTICAL BAR -2B00..2B2F;AL # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE -2B30..2B44;AL # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET -2B45..2B46;AL # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW -2B47..2B4C;AL # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR -2B4D..2B54;AL # So [8] DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW..WHITE RIGHT-POINTING PENTAGON -2B55..2B59;AI # So [5] HEAVY LARGE CIRCLE..HEAVY CIRCLED SALTIRE -2B5A..2B73;AL # So [26] SLANTED NORTH ARROW WITH HOOKED HEAD..DOWNWARDS TRIANGLE-HEADED ARROW TO BAR -2B76..2B95;AL # So [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW -2B97..2BFF;AL # So [105] SYMBOL FOR TYPE A ELECTRONICS..HELLSCHREIBER PAUSE SYMBOL -2C00..2C2E;AL # Lu [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE -2C30..2C5E;AL # Ll [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE -2C60..2C7B;AL # L& [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E -2C7C..2C7D;AL # Lm [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V -2C7E..2C7F;AL # Lu [2] LATIN CAPITAL LETTER S WITH SWASH TAIL..LATIN CAPITAL LETTER Z WITH SWASH TAIL -2C80..2CE4;AL # L& [101] COPTIC CAPITAL LETTER ALFA..COPTIC SYMBOL KAI -2CE5..2CEA;AL # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA -2CEB..2CEE;AL # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA -2CEF..2CF1;CM # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS -2CF2..2CF3;AL # L& [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI -2CF9;EX # Po COPTIC OLD NUBIAN FULL STOP -2CFA..2CFC;BA # Po [3] COPTIC OLD NUBIAN DIRECT QUESTION MARK..COPTIC OLD NUBIAN VERSE DIVIDER -2CFD;AL # No COPTIC FRACTION ONE HALF -2CFE;EX # Po COPTIC FULL STOP -2CFF;BA # Po COPTIC MORPHOLOGICAL DIVIDER -2D00..2D25;AL # Ll [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE -2D27;AL # Ll GEORGIAN SMALL LETTER YN -2D2D;AL # Ll GEORGIAN SMALL LETTER AEN -2D30..2D67;AL # Lo [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO -2D6F;AL # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK -2D70;BA # Po TIFINAGH SEPARATOR MARK -2D7F;CM # Mn TIFINAGH CONSONANT JOINER -2D80..2D96;AL # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE -2DA0..2DA6;AL # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO -2DA8..2DAE;AL # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO -2DB0..2DB6;AL # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO -2DB8..2DBE;AL # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO -2DC0..2DC6;AL # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO -2DC8..2DCE;AL # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO -2DD0..2DD6;AL # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO -2DD8..2DDE;AL # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO -2DE0..2DFF;CM # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS -2E00..2E01;QU # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER -2E02;QU # Pi LEFT SUBSTITUTION BRACKET -2E03;QU # Pf RIGHT SUBSTITUTION BRACKET -2E04;QU # Pi LEFT DOTTED SUBSTITUTION BRACKET -2E05;QU # Pf RIGHT DOTTED SUBSTITUTION BRACKET -2E06..2E08;QU # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER -2E09;QU # Pi LEFT TRANSPOSITION BRACKET -2E0A;QU # Pf RIGHT TRANSPOSITION BRACKET -2E0B;QU # Po RAISED SQUARE -2E0C;QU # Pi LEFT RAISED OMISSION BRACKET -2E0D;QU # Pf RIGHT RAISED OMISSION BRACKET -2E0E..2E15;BA # Po [8] EDITORIAL CORONIS..UPWARDS ANCORA -2E16;AL # Po DOTTED RIGHT-POINTING ANGLE -2E17;BA # Pd DOUBLE OBLIQUE HYPHEN -2E18;OP # Po INVERTED INTERROBANG -2E19;BA # Po PALM BRANCH -2E1A;AL # Pd HYPHEN WITH DIAERESIS -2E1B;AL # Po TILDE WITH RING ABOVE -2E1C;QU # Pi LEFT LOW PARAPHRASE BRACKET -2E1D;QU # Pf RIGHT LOW PARAPHRASE BRACKET -2E1E..2E1F;AL # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW -2E20;QU # Pi LEFT VERTICAL BAR WITH QUILL -2E21;QU # Pf RIGHT VERTICAL BAR WITH QUILL -2E22;OP # Ps TOP LEFT HALF BRACKET -2E23;CL # Pe TOP RIGHT HALF BRACKET -2E24;OP # Ps BOTTOM LEFT HALF BRACKET -2E25;CL # Pe BOTTOM RIGHT HALF BRACKET -2E26;OP # Ps LEFT SIDEWAYS U BRACKET -2E27;CL # Pe RIGHT SIDEWAYS U BRACKET -2E28;OP # Ps LEFT DOUBLE PARENTHESIS -2E29;CL # Pe RIGHT DOUBLE PARENTHESIS -2E2A..2E2D;BA # Po [4] TWO DOTS OVER ONE DOT PUNCTUATION..FIVE DOT MARK -2E2E;EX # Po REVERSED QUESTION MARK -2E2F;AL # Lm VERTICAL TILDE -2E30..2E31;BA # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT -2E32;AL # Po TURNED COMMA -2E33..2E34;BA # Po [2] RAISED DOT..RAISED COMMA -2E35..2E39;AL # Po [5] TURNED SEMICOLON..TOP HALF SECTION SIGN -2E3A..2E3B;B2 # Pd [2] TWO-EM DASH..THREE-EM DASH -2E3C..2E3E;BA # Po [3] STENOGRAPHIC FULL STOP..WIGGLY VERTICAL LINE -2E3F;AL # Po CAPITULUM -2E40;BA # Pd DOUBLE HYPHEN -2E41;BA # Po REVERSED COMMA -2E42;OP # Ps DOUBLE LOW-REVERSED-9 QUOTATION MARK -2E43..2E4A;BA # Po [8] DASH WITH LEFT UPTURN..DOTTED SOLIDUS -2E4B;AL # Po TRIPLE DAGGER -2E4C;BA # Po MEDIEVAL COMMA -2E4D;AL # Po PARAGRAPHUS MARK -2E4E..2E4F;BA # Po [2] PUNCTUS ELEVATUS MARK..CORNISH VERSE DIVIDER -2E50..2E51;AL # So [2] CROSS PATTY WITH RIGHT CROSSBAR..CROSS PATTY WITH LEFT CROSSBAR -2E52;AL # Po TIRONIAN SIGN CAPITAL ET -2E80..2E99;ID # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP -2E9B..2EF3;ID # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE -2F00..2FD5;ID # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE -2FF0..2FFB;ID # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID -3000;BA # Zs IDEOGRAPHIC SPACE -3001..3002;CL # Po [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP -3003;ID # Po DITTO MARK -3004;ID # So JAPANESE INDUSTRIAL STANDARD SYMBOL -3005;NS # Lm IDEOGRAPHIC ITERATION MARK -3006;ID # Lo IDEOGRAPHIC CLOSING MARK -3007;ID # Nl IDEOGRAPHIC NUMBER ZERO -3008;OP # Ps LEFT ANGLE BRACKET -3009;CL # Pe RIGHT ANGLE BRACKET -300A;OP # Ps LEFT DOUBLE ANGLE BRACKET -300B;CL # Pe RIGHT DOUBLE ANGLE BRACKET -300C;OP # Ps LEFT CORNER BRACKET -300D;CL # Pe RIGHT CORNER BRACKET -300E;OP # Ps LEFT WHITE CORNER BRACKET -300F;CL # Pe RIGHT WHITE CORNER BRACKET -3010;OP # Ps LEFT BLACK LENTICULAR BRACKET -3011;CL # Pe RIGHT BLACK LENTICULAR BRACKET -3012..3013;ID # So [2] POSTAL MARK..GETA MARK -3014;OP # Ps LEFT TORTOISE SHELL BRACKET -3015;CL # Pe RIGHT TORTOISE SHELL BRACKET -3016;OP # Ps LEFT WHITE LENTICULAR BRACKET -3017;CL # Pe RIGHT WHITE LENTICULAR BRACKET -3018;OP # Ps LEFT WHITE TORTOISE SHELL BRACKET -3019;CL # Pe RIGHT WHITE TORTOISE SHELL BRACKET -301A;OP # Ps LEFT WHITE SQUARE BRACKET -301B;CL # Pe RIGHT WHITE SQUARE BRACKET -301C;NS # Pd WAVE DASH -301D;OP # Ps REVERSED DOUBLE PRIME QUOTATION MARK -301E..301F;CL # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK -3020;ID # So POSTAL MARK FACE -3021..3029;ID # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE -302A..302D;CM # Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK -302E..302F;CM # Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK -3030;ID # Pd WAVY DASH -3031..3034;ID # Lm [4] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF -3035;CM # Lm VERTICAL KANA REPEAT MARK LOWER HALF -3036..3037;ID # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL -3038..303A;ID # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY -303B;NS # Lm VERTICAL IDEOGRAPHIC ITERATION MARK -303C;NS # Lo MASU MARK -303D;ID # Po PART ALTERNATION MARK -303E..303F;ID # So [2] IDEOGRAPHIC VARIATION INDICATOR..IDEOGRAPHIC HALF FILL SPACE -3041;CJ # Lo HIRAGANA LETTER SMALL A -3042;ID # Lo HIRAGANA LETTER A -3043;CJ # Lo HIRAGANA LETTER SMALL I -3044;ID # Lo HIRAGANA LETTER I -3045;CJ # Lo HIRAGANA LETTER SMALL U -3046;ID # Lo HIRAGANA LETTER U -3047;CJ # Lo HIRAGANA LETTER SMALL E -3048;ID # Lo HIRAGANA LETTER E -3049;CJ # Lo HIRAGANA LETTER SMALL O -304A..3062;ID # Lo [25] HIRAGANA LETTER O..HIRAGANA LETTER DI -3063;CJ # Lo HIRAGANA LETTER SMALL TU -3064..3082;ID # Lo [31] HIRAGANA LETTER TU..HIRAGANA LETTER MO -3083;CJ # Lo HIRAGANA LETTER SMALL YA -3084;ID # Lo HIRAGANA LETTER YA -3085;CJ # Lo HIRAGANA LETTER SMALL YU -3086;ID # Lo HIRAGANA LETTER YU -3087;CJ # Lo HIRAGANA LETTER SMALL YO -3088..308D;ID # Lo [6] HIRAGANA LETTER YO..HIRAGANA LETTER RO -308E;CJ # Lo HIRAGANA LETTER SMALL WA -308F..3094;ID # Lo [6] HIRAGANA LETTER WA..HIRAGANA LETTER VU -3095..3096;CJ # Lo [2] HIRAGANA LETTER SMALL KA..HIRAGANA LETTER SMALL KE -3099..309A;CM # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -309B..309C;NS # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -309D..309E;NS # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK -309F;ID # Lo HIRAGANA DIGRAPH YORI -30A0;NS # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN -30A1;CJ # Lo KATAKANA LETTER SMALL A -30A2;ID # Lo KATAKANA LETTER A -30A3;CJ # Lo KATAKANA LETTER SMALL I -30A4;ID # Lo KATAKANA LETTER I -30A5;CJ # Lo KATAKANA LETTER SMALL U -30A6;ID # Lo KATAKANA LETTER U -30A7;CJ # Lo KATAKANA LETTER SMALL E -30A8;ID # Lo KATAKANA LETTER E -30A9;CJ # Lo KATAKANA LETTER SMALL O -30AA..30C2;ID # Lo [25] KATAKANA LETTER O..KATAKANA LETTER DI -30C3;CJ # Lo KATAKANA LETTER SMALL TU -30C4..30E2;ID # Lo [31] KATAKANA LETTER TU..KATAKANA LETTER MO -30E3;CJ # Lo KATAKANA LETTER SMALL YA -30E4;ID # Lo KATAKANA LETTER YA -30E5;CJ # Lo KATAKANA LETTER SMALL YU -30E6;ID # Lo KATAKANA LETTER YU -30E7;CJ # Lo KATAKANA LETTER SMALL YO -30E8..30ED;ID # Lo [6] KATAKANA LETTER YO..KATAKANA LETTER RO -30EE;CJ # Lo KATAKANA LETTER SMALL WA -30EF..30F4;ID # Lo [6] KATAKANA LETTER WA..KATAKANA LETTER VU -30F5..30F6;CJ # Lo [2] KATAKANA LETTER SMALL KA..KATAKANA LETTER SMALL KE -30F7..30FA;ID # Lo [4] KATAKANA LETTER VA..KATAKANA LETTER VO -30FB;NS # Po KATAKANA MIDDLE DOT -30FC;CJ # Lm KATAKANA-HIRAGANA PROLONGED SOUND MARK -30FD..30FE;NS # Lm [2] KATAKANA ITERATION MARK..KATAKANA VOICED ITERATION MARK -30FF;ID # Lo KATAKANA DIGRAPH KOTO -3105..312F;ID # Lo [43] BOPOMOFO LETTER B..BOPOMOFO LETTER NN -3131..318E;ID # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE -3190..3191;ID # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK -3192..3195;ID # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK -3196..319F;ID # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK -31A0..31BF;ID # Lo [32] BOPOMOFO LETTER BU..BOPOMOFO LETTER AH -31C0..31E3;ID # So [36] CJK STROKE T..CJK STROKE Q -31F0..31FF;CJ # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO -3200..321E;ID # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU -3220..3229;ID # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN -322A..3247;ID # So [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO -3248..324F;AI # No [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE -3250;ID # So PARTNERSHIP SIGN -3251..325F;ID # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE -3260..327F;ID # So [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL -3280..3289;ID # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN -328A..32B0;ID # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT -32B1..32BF;ID # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY -32C0..32FF;ID # So [64] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..SQUARE ERA NAME REIWA -3300..33FF;ID # So [256] SQUARE APAATO..SQUARE GAL -3400..4DBF;ID # Lo [6592] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DBF -4DC0..4DFF;AL # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION -4E00..9FFC;ID # Lo [20989] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FFC -9FFD..9FFF;ID # Cn [3] .. -A000..A014;ID # Lo [21] YI SYLLABLE IT..YI SYLLABLE E -A015;NS # Lm YI SYLLABLE WU -A016..A48C;ID # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR -A490..A4C6;ID # So [55] YI RADICAL QOT..YI RADICAL KE -A4D0..A4F7;AL # Lo [40] LISU LETTER BA..LISU LETTER OE -A4F8..A4FD;AL # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU -A4FE..A4FF;BA # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP -A500..A60B;AL # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG -A60C;AL # Lm VAI SYLLABLE LENGTHENER -A60D;BA # Po VAI COMMA -A60E;EX # Po VAI FULL STOP -A60F;BA # Po VAI QUESTION MARK -A610..A61F;AL # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG -A620..A629;NU # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE -A62A..A62B;AL # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO -A640..A66D;AL # L& [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O -A66E;AL # Lo CYRILLIC LETTER MULTIOCULAR O -A66F;CM # Mn COMBINING CYRILLIC VZMET -A670..A672;CM # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN -A673;AL # Po SLAVONIC ASTERISK -A674..A67D;CM # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A67E;AL # Po CYRILLIC KAVYKA -A67F;AL # Lm CYRILLIC PAYEROK -A680..A69B;AL # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O -A69C..A69D;AL # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A69E..A69F;CM # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E -A6A0..A6E5;AL # Lo [70] BAMUM LETTER A..BAMUM LETTER KI -A6E6..A6EF;AL # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM -A6F0..A6F1;CM # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS -A6F2;AL # Po BAMUM NJAEMLI -A6F3..A6F7;BA # Po [5] BAMUM FULL STOP..BAMUM QUESTION MARK -A700..A716;AL # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR -A717..A71F;AL # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK -A720..A721;AL # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE -A722..A76F;AL # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON -A770;AL # Lm MODIFIER LETTER US -A771..A787;AL # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T -A788;AL # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT -A789..A78A;AL # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN -A78B..A78E;AL # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT -A78F;AL # Lo LATIN LETTER SINOLOGICAL DOT -A790..A7BF;AL # L& [48] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER GLOTTAL U -A7C2..A7CA;AL # L& [9] LATIN CAPITAL LETTER ANGLICANA W..LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY -A7F5..A7F6;AL # L& [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H -A7F7;AL # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I -A7F8..A7F9;AL # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE -A7FA;AL # Ll LATIN LETTER SMALL CAPITAL TURNED M -A7FB..A7FF;AL # Lo [5] LATIN EPIGRAPHIC LETTER REVERSED F..LATIN EPIGRAPHIC LETTER ARCHAIC M -A800..A801;AL # Lo [2] SYLOTI NAGRI LETTER A..SYLOTI NAGRI LETTER I -A802;CM # Mn SYLOTI NAGRI SIGN DVISVARA -A803..A805;AL # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O -A806;CM # Mn SYLOTI NAGRI SIGN HASANTA -A807..A80A;AL # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO -A80B;CM # Mn SYLOTI NAGRI SIGN ANUSVARA -A80C..A822;AL # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO -A823..A824;CM # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I -A825..A826;CM # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E -A827;CM # Mc SYLOTI NAGRI VOWEL SIGN OO -A828..A82B;AL # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4 -A82C;CM # Mn SYLOTI NAGRI SIGN ALTERNATE HASANTA -A830..A835;AL # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS -A836..A837;AL # So [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK -A838;PO # Sc NORTH INDIC RUPEE MARK -A839;AL # So NORTH INDIC QUANTITY MARK -A840..A873;AL # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU -A874..A875;BB # Po [2] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA DOUBLE HEAD MARK -A876..A877;EX # Po [2] PHAGS-PA MARK SHAD..PHAGS-PA MARK DOUBLE SHAD -A880..A881;CM # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA -A882..A8B3;AL # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA -A8B4..A8C3;CM # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU -A8C4..A8C5;CM # Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU -A8CE..A8CF;BA # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA -A8D0..A8D9;NU # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE -A8E0..A8F1;CM # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA -A8F2..A8F7;AL # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA -A8F8..A8FA;AL # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET -A8FB;AL # Lo DEVANAGARI HEADSTROKE -A8FC;BB # Po DEVANAGARI SIGN SIDDHAM -A8FD..A8FE;AL # Lo [2] DEVANAGARI JAIN OM..DEVANAGARI LETTER AY -A8FF;CM # Mn DEVANAGARI VOWEL SIGN AY -A900..A909;NU # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE -A90A..A925;AL # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO -A926..A92D;CM # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU -A92E..A92F;BA # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA -A930..A946;AL # Lo [23] REJANG LETTER KA..REJANG LETTER A -A947..A951;CM # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R -A952..A953;CM # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA -A95F;AL # Po REJANG SECTION MARK -A960..A97C;JL # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH -A980..A982;CM # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR -A983;CM # Mc JAVANESE SIGN WIGNYAN -A984..A9B2;AL # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA -A9B3;CM # Mn JAVANESE SIGN CECAK TELU -A9B4..A9B5;CM # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG -A9B6..A9B9;CM # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT -A9BA..A9BB;CM # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE -A9BC..A9BD;CM # Mn [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET -A9BE..A9C0;CM # Mc [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON -A9C1..A9C6;AL # Po [6] JAVANESE LEFT RERENGGAN..JAVANESE PADA WINDU -A9C7..A9C9;BA # Po [3] JAVANESE PADA PANGKAT..JAVANESE PADA LUNGSI -A9CA..A9CD;AL # Po [4] JAVANESE PADA ADEG..JAVANESE TURNED PADA PISELEH -A9CF;AL # Lm JAVANESE PANGRANGKEP -A9D0..A9D9;NU # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE -A9DE..A9DF;AL # Po [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN -A9E0..A9E4;SA # Lo [5] MYANMAR LETTER SHAN GHA..MYANMAR LETTER SHAN BHA -A9E5;SA # Mn MYANMAR SIGN SHAN SAW -A9E6;SA # Lm MYANMAR MODIFIER LETTER SHAN REDUPLICATION -A9E7..A9EF;SA # Lo [9] MYANMAR LETTER TAI LAING NYA..MYANMAR LETTER TAI LAING NNA -A9F0..A9F9;NU # Nd [10] MYANMAR TAI LAING DIGIT ZERO..MYANMAR TAI LAING DIGIT NINE -A9FA..A9FE;SA # Lo [5] MYANMAR LETTER TAI LAING LLA..MYANMAR LETTER TAI LAING BHA -AA00..AA28;AL # Lo [41] CHAM LETTER A..CHAM LETTER HA -AA29..AA2E;CM # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE -AA2F..AA30;CM # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI -AA31..AA32;CM # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE -AA33..AA34;CM # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA -AA35..AA36;CM # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA -AA40..AA42;AL # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG -AA43;CM # Mn CHAM CONSONANT SIGN FINAL NG -AA44..AA4B;AL # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS -AA4C;CM # Mn CHAM CONSONANT SIGN FINAL M -AA4D;CM # Mc CHAM CONSONANT SIGN FINAL H -AA50..AA59;NU # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE -AA5C;AL # Po CHAM PUNCTUATION SPIRAL -AA5D..AA5F;BA # Po [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA -AA60..AA6F;SA # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA -AA70;SA # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION -AA71..AA76;SA # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM -AA77..AA79;SA # So [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO -AA7A;SA # Lo MYANMAR LETTER AITON RA -AA7B;SA # Mc MYANMAR SIGN PAO KAREN TONE -AA7C;SA # Mn MYANMAR SIGN TAI LAING TONE-2 -AA7D;SA # Mc MYANMAR SIGN TAI LAING TONE-5 -AA7E..AA7F;SA # Lo [2] MYANMAR LETTER SHWE PALAUNG CHA..MYANMAR LETTER SHWE PALAUNG SHA -AA80..AAAF;SA # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O -AAB0;SA # Mn TAI VIET MAI KANG -AAB1;SA # Lo TAI VIET VOWEL AA -AAB2..AAB4;SA # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U -AAB5..AAB6;SA # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O -AAB7..AAB8;SA # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA -AAB9..AABD;SA # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN -AABE..AABF;SA # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK -AAC0;SA # Lo TAI VIET TONE MAI NUENG -AAC1;SA # Mn TAI VIET TONE MAI THO -AAC2;SA # Lo TAI VIET TONE MAI SONG -AADB..AADC;SA # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG -AADD;SA # Lm TAI VIET SYMBOL SAM -AADE..AADF;SA # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI -AAE0..AAEA;AL # Lo [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA -AAEB;CM # Mc MEETEI MAYEK VOWEL SIGN II -AAEC..AAED;CM # Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI -AAEE..AAEF;CM # Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU -AAF0..AAF1;BA # Po [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM -AAF2;AL # Lo MEETEI MAYEK ANJI -AAF3..AAF4;AL # Lm [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK -AAF5;CM # Mc MEETEI MAYEK VOWEL SIGN VISARGA -AAF6;CM # Mn MEETEI MAYEK VIRAMA -AB01..AB06;AL # Lo [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO -AB09..AB0E;AL # Lo [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO -AB11..AB16;AL # Lo [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO -AB20..AB26;AL # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO -AB28..AB2E;AL # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO -AB30..AB5A;AL # Ll [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG -AB5B;AL # Sk MODIFIER BREVE WITH INVERTED BREVE -AB5C..AB5F;AL # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB60..AB68;AL # Ll [9] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER TURNED R WITH MIDDLE TILDE -AB69;AL # Lm MODIFIER LETTER SMALL TURNED W -AB6A..AB6B;AL # Sk [2] MODIFIER LETTER LEFT TACK..MODIFIER LETTER RIGHT TACK -AB70..ABBF;AL # Ll [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA -ABC0..ABE2;AL # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM -ABE3..ABE4;CM # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP -ABE5;CM # Mn MEETEI MAYEK VOWEL SIGN ANAP -ABE6..ABE7;CM # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP -ABE8;CM # Mn MEETEI MAYEK VOWEL SIGN UNAP -ABE9..ABEA;CM # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG -ABEB;BA # Po MEETEI MAYEK CHEIKHEI -ABEC;CM # Mc MEETEI MAYEK LUM IYEK -ABED;CM # Mn MEETEI MAYEK APUN IYEK -ABF0..ABF9;NU # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE -AC00;H2 # Lo HANGUL SYLLABLE GA -AC01..AC1B;H3 # Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH -AC1C;H2 # Lo HANGUL SYLLABLE GAE -AC1D..AC37;H3 # Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH -AC38;H2 # Lo HANGUL SYLLABLE GYA -AC39..AC53;H3 # Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH -AC54;H2 # Lo HANGUL SYLLABLE GYAE -AC55..AC6F;H3 # Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH -AC70;H2 # Lo HANGUL SYLLABLE GEO -AC71..AC8B;H3 # Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH -AC8C;H2 # Lo HANGUL SYLLABLE GE -AC8D..ACA7;H3 # Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH -ACA8;H2 # Lo HANGUL SYLLABLE GYEO -ACA9..ACC3;H3 # Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH -ACC4;H2 # Lo HANGUL SYLLABLE GYE -ACC5..ACDF;H3 # Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH -ACE0;H2 # Lo HANGUL SYLLABLE GO -ACE1..ACFB;H3 # Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH -ACFC;H2 # Lo HANGUL SYLLABLE GWA -ACFD..AD17;H3 # Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH -AD18;H2 # Lo HANGUL SYLLABLE GWAE -AD19..AD33;H3 # Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH -AD34;H2 # Lo HANGUL SYLLABLE GOE -AD35..AD4F;H3 # Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH -AD50;H2 # Lo HANGUL SYLLABLE GYO -AD51..AD6B;H3 # Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH -AD6C;H2 # Lo HANGUL SYLLABLE GU -AD6D..AD87;H3 # Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH -AD88;H2 # Lo HANGUL SYLLABLE GWEO -AD89..ADA3;H3 # Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH -ADA4;H2 # Lo HANGUL SYLLABLE GWE -ADA5..ADBF;H3 # Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH -ADC0;H2 # Lo HANGUL SYLLABLE GWI -ADC1..ADDB;H3 # Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH -ADDC;H2 # Lo HANGUL SYLLABLE GYU -ADDD..ADF7;H3 # Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH -ADF8;H2 # Lo HANGUL SYLLABLE GEU -ADF9..AE13;H3 # Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH -AE14;H2 # Lo HANGUL SYLLABLE GYI -AE15..AE2F;H3 # Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH -AE30;H2 # Lo HANGUL SYLLABLE GI -AE31..AE4B;H3 # Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH -AE4C;H2 # Lo HANGUL SYLLABLE GGA -AE4D..AE67;H3 # Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH -AE68;H2 # Lo HANGUL SYLLABLE GGAE -AE69..AE83;H3 # Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH -AE84;H2 # Lo HANGUL SYLLABLE GGYA -AE85..AE9F;H3 # Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH -AEA0;H2 # Lo HANGUL SYLLABLE GGYAE -AEA1..AEBB;H3 # Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH -AEBC;H2 # Lo HANGUL SYLLABLE GGEO -AEBD..AED7;H3 # Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH -AED8;H2 # Lo HANGUL SYLLABLE GGE -AED9..AEF3;H3 # Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH -AEF4;H2 # Lo HANGUL SYLLABLE GGYEO -AEF5..AF0F;H3 # Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH -AF10;H2 # Lo HANGUL SYLLABLE GGYE -AF11..AF2B;H3 # Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH -AF2C;H2 # Lo HANGUL SYLLABLE GGO -AF2D..AF47;H3 # Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH -AF48;H2 # Lo HANGUL SYLLABLE GGWA -AF49..AF63;H3 # Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH -AF64;H2 # Lo HANGUL SYLLABLE GGWAE -AF65..AF7F;H3 # Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH -AF80;H2 # Lo HANGUL SYLLABLE GGOE -AF81..AF9B;H3 # Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH -AF9C;H2 # Lo HANGUL SYLLABLE GGYO -AF9D..AFB7;H3 # Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH -AFB8;H2 # Lo HANGUL SYLLABLE GGU -AFB9..AFD3;H3 # Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH -AFD4;H2 # Lo HANGUL SYLLABLE GGWEO -AFD5..AFEF;H3 # Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH -AFF0;H2 # Lo HANGUL SYLLABLE GGWE -AFF1..B00B;H3 # Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH -B00C;H2 # Lo HANGUL SYLLABLE GGWI -B00D..B027;H3 # Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH -B028;H2 # Lo HANGUL SYLLABLE GGYU -B029..B043;H3 # Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH -B044;H2 # Lo HANGUL SYLLABLE GGEU -B045..B05F;H3 # Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH -B060;H2 # Lo HANGUL SYLLABLE GGYI -B061..B07B;H3 # Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH -B07C;H2 # Lo HANGUL SYLLABLE GGI -B07D..B097;H3 # Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH -B098;H2 # Lo HANGUL SYLLABLE NA -B099..B0B3;H3 # Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH -B0B4;H2 # Lo HANGUL SYLLABLE NAE -B0B5..B0CF;H3 # Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH -B0D0;H2 # Lo HANGUL SYLLABLE NYA -B0D1..B0EB;H3 # Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH -B0EC;H2 # Lo HANGUL SYLLABLE NYAE -B0ED..B107;H3 # Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH -B108;H2 # Lo HANGUL SYLLABLE NEO -B109..B123;H3 # Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH -B124;H2 # Lo HANGUL SYLLABLE NE -B125..B13F;H3 # Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH -B140;H2 # Lo HANGUL SYLLABLE NYEO -B141..B15B;H3 # Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH -B15C;H2 # Lo HANGUL SYLLABLE NYE -B15D..B177;H3 # Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH -B178;H2 # Lo HANGUL SYLLABLE NO -B179..B193;H3 # Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH -B194;H2 # Lo HANGUL SYLLABLE NWA -B195..B1AF;H3 # Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH -B1B0;H2 # Lo HANGUL SYLLABLE NWAE -B1B1..B1CB;H3 # Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH -B1CC;H2 # Lo HANGUL SYLLABLE NOE -B1CD..B1E7;H3 # Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH -B1E8;H2 # Lo HANGUL SYLLABLE NYO -B1E9..B203;H3 # Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH -B204;H2 # Lo HANGUL SYLLABLE NU -B205..B21F;H3 # Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH -B220;H2 # Lo HANGUL SYLLABLE NWEO -B221..B23B;H3 # Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH -B23C;H2 # Lo HANGUL SYLLABLE NWE -B23D..B257;H3 # Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH -B258;H2 # Lo HANGUL SYLLABLE NWI -B259..B273;H3 # Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH -B274;H2 # Lo HANGUL SYLLABLE NYU -B275..B28F;H3 # Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH -B290;H2 # Lo HANGUL SYLLABLE NEU -B291..B2AB;H3 # Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH -B2AC;H2 # Lo HANGUL SYLLABLE NYI -B2AD..B2C7;H3 # Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH -B2C8;H2 # Lo HANGUL SYLLABLE NI -B2C9..B2E3;H3 # Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH -B2E4;H2 # Lo HANGUL SYLLABLE DA -B2E5..B2FF;H3 # Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH -B300;H2 # Lo HANGUL SYLLABLE DAE -B301..B31B;H3 # Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH -B31C;H2 # Lo HANGUL SYLLABLE DYA -B31D..B337;H3 # Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH -B338;H2 # Lo HANGUL SYLLABLE DYAE -B339..B353;H3 # Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH -B354;H2 # Lo HANGUL SYLLABLE DEO -B355..B36F;H3 # Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH -B370;H2 # Lo HANGUL SYLLABLE DE -B371..B38B;H3 # Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH -B38C;H2 # Lo HANGUL SYLLABLE DYEO -B38D..B3A7;H3 # Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH -B3A8;H2 # Lo HANGUL SYLLABLE DYE -B3A9..B3C3;H3 # Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH -B3C4;H2 # Lo HANGUL SYLLABLE DO -B3C5..B3DF;H3 # Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH -B3E0;H2 # Lo HANGUL SYLLABLE DWA -B3E1..B3FB;H3 # Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH -B3FC;H2 # Lo HANGUL SYLLABLE DWAE -B3FD..B417;H3 # Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH -B418;H2 # Lo HANGUL SYLLABLE DOE -B419..B433;H3 # Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH -B434;H2 # Lo HANGUL SYLLABLE DYO -B435..B44F;H3 # Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH -B450;H2 # Lo HANGUL SYLLABLE DU -B451..B46B;H3 # Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH -B46C;H2 # Lo HANGUL SYLLABLE DWEO -B46D..B487;H3 # Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH -B488;H2 # Lo HANGUL SYLLABLE DWE -B489..B4A3;H3 # Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH -B4A4;H2 # Lo HANGUL SYLLABLE DWI -B4A5..B4BF;H3 # Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH -B4C0;H2 # Lo HANGUL SYLLABLE DYU -B4C1..B4DB;H3 # Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH -B4DC;H2 # Lo HANGUL SYLLABLE DEU -B4DD..B4F7;H3 # Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH -B4F8;H2 # Lo HANGUL SYLLABLE DYI -B4F9..B513;H3 # Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH -B514;H2 # Lo HANGUL SYLLABLE DI -B515..B52F;H3 # Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH -B530;H2 # Lo HANGUL SYLLABLE DDA -B531..B54B;H3 # Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH -B54C;H2 # Lo HANGUL SYLLABLE DDAE -B54D..B567;H3 # Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH -B568;H2 # Lo HANGUL SYLLABLE DDYA -B569..B583;H3 # Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH -B584;H2 # Lo HANGUL SYLLABLE DDYAE -B585..B59F;H3 # Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH -B5A0;H2 # Lo HANGUL SYLLABLE DDEO -B5A1..B5BB;H3 # Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH -B5BC;H2 # Lo HANGUL SYLLABLE DDE -B5BD..B5D7;H3 # Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH -B5D8;H2 # Lo HANGUL SYLLABLE DDYEO -B5D9..B5F3;H3 # Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH -B5F4;H2 # Lo HANGUL SYLLABLE DDYE -B5F5..B60F;H3 # Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH -B610;H2 # Lo HANGUL SYLLABLE DDO -B611..B62B;H3 # Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH -B62C;H2 # Lo HANGUL SYLLABLE DDWA -B62D..B647;H3 # Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH -B648;H2 # Lo HANGUL SYLLABLE DDWAE -B649..B663;H3 # Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH -B664;H2 # Lo HANGUL SYLLABLE DDOE -B665..B67F;H3 # Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH -B680;H2 # Lo HANGUL SYLLABLE DDYO -B681..B69B;H3 # Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH -B69C;H2 # Lo HANGUL SYLLABLE DDU -B69D..B6B7;H3 # Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH -B6B8;H2 # Lo HANGUL SYLLABLE DDWEO -B6B9..B6D3;H3 # Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH -B6D4;H2 # Lo HANGUL SYLLABLE DDWE -B6D5..B6EF;H3 # Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH -B6F0;H2 # Lo HANGUL SYLLABLE DDWI -B6F1..B70B;H3 # Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH -B70C;H2 # Lo HANGUL SYLLABLE DDYU -B70D..B727;H3 # Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH -B728;H2 # Lo HANGUL SYLLABLE DDEU -B729..B743;H3 # Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH -B744;H2 # Lo HANGUL SYLLABLE DDYI -B745..B75F;H3 # Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH -B760;H2 # Lo HANGUL SYLLABLE DDI -B761..B77B;H3 # Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH -B77C;H2 # Lo HANGUL SYLLABLE RA -B77D..B797;H3 # Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH -B798;H2 # Lo HANGUL SYLLABLE RAE -B799..B7B3;H3 # Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH -B7B4;H2 # Lo HANGUL SYLLABLE RYA -B7B5..B7CF;H3 # Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH -B7D0;H2 # Lo HANGUL SYLLABLE RYAE -B7D1..B7EB;H3 # Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH -B7EC;H2 # Lo HANGUL SYLLABLE REO -B7ED..B807;H3 # Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH -B808;H2 # Lo HANGUL SYLLABLE RE -B809..B823;H3 # Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH -B824;H2 # Lo HANGUL SYLLABLE RYEO -B825..B83F;H3 # Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH -B840;H2 # Lo HANGUL SYLLABLE RYE -B841..B85B;H3 # Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH -B85C;H2 # Lo HANGUL SYLLABLE RO -B85D..B877;H3 # Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH -B878;H2 # Lo HANGUL SYLLABLE RWA -B879..B893;H3 # Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH -B894;H2 # Lo HANGUL SYLLABLE RWAE -B895..B8AF;H3 # Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH -B8B0;H2 # Lo HANGUL SYLLABLE ROE -B8B1..B8CB;H3 # Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH -B8CC;H2 # Lo HANGUL SYLLABLE RYO -B8CD..B8E7;H3 # Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH -B8E8;H2 # Lo HANGUL SYLLABLE RU -B8E9..B903;H3 # Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH -B904;H2 # Lo HANGUL SYLLABLE RWEO -B905..B91F;H3 # Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH -B920;H2 # Lo HANGUL SYLLABLE RWE -B921..B93B;H3 # Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH -B93C;H2 # Lo HANGUL SYLLABLE RWI -B93D..B957;H3 # Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH -B958;H2 # Lo HANGUL SYLLABLE RYU -B959..B973;H3 # Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH -B974;H2 # Lo HANGUL SYLLABLE REU -B975..B98F;H3 # Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH -B990;H2 # Lo HANGUL SYLLABLE RYI -B991..B9AB;H3 # Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH -B9AC;H2 # Lo HANGUL SYLLABLE RI -B9AD..B9C7;H3 # Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH -B9C8;H2 # Lo HANGUL SYLLABLE MA -B9C9..B9E3;H3 # Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH -B9E4;H2 # Lo HANGUL SYLLABLE MAE -B9E5..B9FF;H3 # Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH -BA00;H2 # Lo HANGUL SYLLABLE MYA -BA01..BA1B;H3 # Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH -BA1C;H2 # Lo HANGUL SYLLABLE MYAE -BA1D..BA37;H3 # Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH -BA38;H2 # Lo HANGUL SYLLABLE MEO -BA39..BA53;H3 # Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH -BA54;H2 # Lo HANGUL SYLLABLE ME -BA55..BA6F;H3 # Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH -BA70;H2 # Lo HANGUL SYLLABLE MYEO -BA71..BA8B;H3 # Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH -BA8C;H2 # Lo HANGUL SYLLABLE MYE -BA8D..BAA7;H3 # Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH -BAA8;H2 # Lo HANGUL SYLLABLE MO -BAA9..BAC3;H3 # Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH -BAC4;H2 # Lo HANGUL SYLLABLE MWA -BAC5..BADF;H3 # Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH -BAE0;H2 # Lo HANGUL SYLLABLE MWAE -BAE1..BAFB;H3 # Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH -BAFC;H2 # Lo HANGUL SYLLABLE MOE -BAFD..BB17;H3 # Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH -BB18;H2 # Lo HANGUL SYLLABLE MYO -BB19..BB33;H3 # Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH -BB34;H2 # Lo HANGUL SYLLABLE MU -BB35..BB4F;H3 # Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH -BB50;H2 # Lo HANGUL SYLLABLE MWEO -BB51..BB6B;H3 # Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH -BB6C;H2 # Lo HANGUL SYLLABLE MWE -BB6D..BB87;H3 # Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH -BB88;H2 # Lo HANGUL SYLLABLE MWI -BB89..BBA3;H3 # Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH -BBA4;H2 # Lo HANGUL SYLLABLE MYU -BBA5..BBBF;H3 # Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH -BBC0;H2 # Lo HANGUL SYLLABLE MEU -BBC1..BBDB;H3 # Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH -BBDC;H2 # Lo HANGUL SYLLABLE MYI -BBDD..BBF7;H3 # Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH -BBF8;H2 # Lo HANGUL SYLLABLE MI -BBF9..BC13;H3 # Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH -BC14;H2 # Lo HANGUL SYLLABLE BA -BC15..BC2F;H3 # Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH -BC30;H2 # Lo HANGUL SYLLABLE BAE -BC31..BC4B;H3 # Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH -BC4C;H2 # Lo HANGUL SYLLABLE BYA -BC4D..BC67;H3 # Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH -BC68;H2 # Lo HANGUL SYLLABLE BYAE -BC69..BC83;H3 # Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH -BC84;H2 # Lo HANGUL SYLLABLE BEO -BC85..BC9F;H3 # Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH -BCA0;H2 # Lo HANGUL SYLLABLE BE -BCA1..BCBB;H3 # Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH -BCBC;H2 # Lo HANGUL SYLLABLE BYEO -BCBD..BCD7;H3 # Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH -BCD8;H2 # Lo HANGUL SYLLABLE BYE -BCD9..BCF3;H3 # Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH -BCF4;H2 # Lo HANGUL SYLLABLE BO -BCF5..BD0F;H3 # Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH -BD10;H2 # Lo HANGUL SYLLABLE BWA -BD11..BD2B;H3 # Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH -BD2C;H2 # Lo HANGUL SYLLABLE BWAE -BD2D..BD47;H3 # Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH -BD48;H2 # Lo HANGUL SYLLABLE BOE -BD49..BD63;H3 # Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH -BD64;H2 # Lo HANGUL SYLLABLE BYO -BD65..BD7F;H3 # Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH -BD80;H2 # Lo HANGUL SYLLABLE BU -BD81..BD9B;H3 # Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH -BD9C;H2 # Lo HANGUL SYLLABLE BWEO -BD9D..BDB7;H3 # Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH -BDB8;H2 # Lo HANGUL SYLLABLE BWE -BDB9..BDD3;H3 # Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH -BDD4;H2 # Lo HANGUL SYLLABLE BWI -BDD5..BDEF;H3 # Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH -BDF0;H2 # Lo HANGUL SYLLABLE BYU -BDF1..BE0B;H3 # Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH -BE0C;H2 # Lo HANGUL SYLLABLE BEU -BE0D..BE27;H3 # Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH -BE28;H2 # Lo HANGUL SYLLABLE BYI -BE29..BE43;H3 # Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH -BE44;H2 # Lo HANGUL SYLLABLE BI -BE45..BE5F;H3 # Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH -BE60;H2 # Lo HANGUL SYLLABLE BBA -BE61..BE7B;H3 # Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH -BE7C;H2 # Lo HANGUL SYLLABLE BBAE -BE7D..BE97;H3 # Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH -BE98;H2 # Lo HANGUL SYLLABLE BBYA -BE99..BEB3;H3 # Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH -BEB4;H2 # Lo HANGUL SYLLABLE BBYAE -BEB5..BECF;H3 # Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH -BED0;H2 # Lo HANGUL SYLLABLE BBEO -BED1..BEEB;H3 # Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH -BEEC;H2 # Lo HANGUL SYLLABLE BBE -BEED..BF07;H3 # Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH -BF08;H2 # Lo HANGUL SYLLABLE BBYEO -BF09..BF23;H3 # Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH -BF24;H2 # Lo HANGUL SYLLABLE BBYE -BF25..BF3F;H3 # Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH -BF40;H2 # Lo HANGUL SYLLABLE BBO -BF41..BF5B;H3 # Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH -BF5C;H2 # Lo HANGUL SYLLABLE BBWA -BF5D..BF77;H3 # Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH -BF78;H2 # Lo HANGUL SYLLABLE BBWAE -BF79..BF93;H3 # Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH -BF94;H2 # Lo HANGUL SYLLABLE BBOE -BF95..BFAF;H3 # Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH -BFB0;H2 # Lo HANGUL SYLLABLE BBYO -BFB1..BFCB;H3 # Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH -BFCC;H2 # Lo HANGUL SYLLABLE BBU -BFCD..BFE7;H3 # Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH -BFE8;H2 # Lo HANGUL SYLLABLE BBWEO -BFE9..C003;H3 # Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH -C004;H2 # Lo HANGUL SYLLABLE BBWE -C005..C01F;H3 # Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH -C020;H2 # Lo HANGUL SYLLABLE BBWI -C021..C03B;H3 # Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH -C03C;H2 # Lo HANGUL SYLLABLE BBYU -C03D..C057;H3 # Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH -C058;H2 # Lo HANGUL SYLLABLE BBEU -C059..C073;H3 # Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH -C074;H2 # Lo HANGUL SYLLABLE BBYI -C075..C08F;H3 # Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH -C090;H2 # Lo HANGUL SYLLABLE BBI -C091..C0AB;H3 # Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH -C0AC;H2 # Lo HANGUL SYLLABLE SA -C0AD..C0C7;H3 # Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH -C0C8;H2 # Lo HANGUL SYLLABLE SAE -C0C9..C0E3;H3 # Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH -C0E4;H2 # Lo HANGUL SYLLABLE SYA -C0E5..C0FF;H3 # Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH -C100;H2 # Lo HANGUL SYLLABLE SYAE -C101..C11B;H3 # Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH -C11C;H2 # Lo HANGUL SYLLABLE SEO -C11D..C137;H3 # Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH -C138;H2 # Lo HANGUL SYLLABLE SE -C139..C153;H3 # Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH -C154;H2 # Lo HANGUL SYLLABLE SYEO -C155..C16F;H3 # Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH -C170;H2 # Lo HANGUL SYLLABLE SYE -C171..C18B;H3 # Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH -C18C;H2 # Lo HANGUL SYLLABLE SO -C18D..C1A7;H3 # Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH -C1A8;H2 # Lo HANGUL SYLLABLE SWA -C1A9..C1C3;H3 # Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH -C1C4;H2 # Lo HANGUL SYLLABLE SWAE -C1C5..C1DF;H3 # Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH -C1E0;H2 # Lo HANGUL SYLLABLE SOE -C1E1..C1FB;H3 # Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH -C1FC;H2 # Lo HANGUL SYLLABLE SYO -C1FD..C217;H3 # Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH -C218;H2 # Lo HANGUL SYLLABLE SU -C219..C233;H3 # Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH -C234;H2 # Lo HANGUL SYLLABLE SWEO -C235..C24F;H3 # Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH -C250;H2 # Lo HANGUL SYLLABLE SWE -C251..C26B;H3 # Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH -C26C;H2 # Lo HANGUL SYLLABLE SWI -C26D..C287;H3 # Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH -C288;H2 # Lo HANGUL SYLLABLE SYU -C289..C2A3;H3 # Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH -C2A4;H2 # Lo HANGUL SYLLABLE SEU -C2A5..C2BF;H3 # Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH -C2C0;H2 # Lo HANGUL SYLLABLE SYI -C2C1..C2DB;H3 # Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH -C2DC;H2 # Lo HANGUL SYLLABLE SI -C2DD..C2F7;H3 # Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH -C2F8;H2 # Lo HANGUL SYLLABLE SSA -C2F9..C313;H3 # Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH -C314;H2 # Lo HANGUL SYLLABLE SSAE -C315..C32F;H3 # Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH -C330;H2 # Lo HANGUL SYLLABLE SSYA -C331..C34B;H3 # Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH -C34C;H2 # Lo HANGUL SYLLABLE SSYAE -C34D..C367;H3 # Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH -C368;H2 # Lo HANGUL SYLLABLE SSEO -C369..C383;H3 # Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH -C384;H2 # Lo HANGUL SYLLABLE SSE -C385..C39F;H3 # Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH -C3A0;H2 # Lo HANGUL SYLLABLE SSYEO -C3A1..C3BB;H3 # Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH -C3BC;H2 # Lo HANGUL SYLLABLE SSYE -C3BD..C3D7;H3 # Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH -C3D8;H2 # Lo HANGUL SYLLABLE SSO -C3D9..C3F3;H3 # Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH -C3F4;H2 # Lo HANGUL SYLLABLE SSWA -C3F5..C40F;H3 # Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH -C410;H2 # Lo HANGUL SYLLABLE SSWAE -C411..C42B;H3 # Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH -C42C;H2 # Lo HANGUL SYLLABLE SSOE -C42D..C447;H3 # Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH -C448;H2 # Lo HANGUL SYLLABLE SSYO -C449..C463;H3 # Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH -C464;H2 # Lo HANGUL SYLLABLE SSU -C465..C47F;H3 # Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH -C480;H2 # Lo HANGUL SYLLABLE SSWEO -C481..C49B;H3 # Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH -C49C;H2 # Lo HANGUL SYLLABLE SSWE -C49D..C4B7;H3 # Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH -C4B8;H2 # Lo HANGUL SYLLABLE SSWI -C4B9..C4D3;H3 # Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH -C4D4;H2 # Lo HANGUL SYLLABLE SSYU -C4D5..C4EF;H3 # Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH -C4F0;H2 # Lo HANGUL SYLLABLE SSEU -C4F1..C50B;H3 # Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH -C50C;H2 # Lo HANGUL SYLLABLE SSYI -C50D..C527;H3 # Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH -C528;H2 # Lo HANGUL SYLLABLE SSI -C529..C543;H3 # Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH -C544;H2 # Lo HANGUL SYLLABLE A -C545..C55F;H3 # Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH -C560;H2 # Lo HANGUL SYLLABLE AE -C561..C57B;H3 # Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH -C57C;H2 # Lo HANGUL SYLLABLE YA -C57D..C597;H3 # Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH -C598;H2 # Lo HANGUL SYLLABLE YAE -C599..C5B3;H3 # Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH -C5B4;H2 # Lo HANGUL SYLLABLE EO -C5B5..C5CF;H3 # Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH -C5D0;H2 # Lo HANGUL SYLLABLE E -C5D1..C5EB;H3 # Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH -C5EC;H2 # Lo HANGUL SYLLABLE YEO -C5ED..C607;H3 # Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH -C608;H2 # Lo HANGUL SYLLABLE YE -C609..C623;H3 # Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH -C624;H2 # Lo HANGUL SYLLABLE O -C625..C63F;H3 # Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH -C640;H2 # Lo HANGUL SYLLABLE WA -C641..C65B;H3 # Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH -C65C;H2 # Lo HANGUL SYLLABLE WAE -C65D..C677;H3 # Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH -C678;H2 # Lo HANGUL SYLLABLE OE -C679..C693;H3 # Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH -C694;H2 # Lo HANGUL SYLLABLE YO -C695..C6AF;H3 # Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH -C6B0;H2 # Lo HANGUL SYLLABLE U -C6B1..C6CB;H3 # Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH -C6CC;H2 # Lo HANGUL SYLLABLE WEO -C6CD..C6E7;H3 # Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH -C6E8;H2 # Lo HANGUL SYLLABLE WE -C6E9..C703;H3 # Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH -C704;H2 # Lo HANGUL SYLLABLE WI -C705..C71F;H3 # Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH -C720;H2 # Lo HANGUL SYLLABLE YU -C721..C73B;H3 # Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH -C73C;H2 # Lo HANGUL SYLLABLE EU -C73D..C757;H3 # Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH -C758;H2 # Lo HANGUL SYLLABLE YI -C759..C773;H3 # Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH -C774;H2 # Lo HANGUL SYLLABLE I -C775..C78F;H3 # Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH -C790;H2 # Lo HANGUL SYLLABLE JA -C791..C7AB;H3 # Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH -C7AC;H2 # Lo HANGUL SYLLABLE JAE -C7AD..C7C7;H3 # Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH -C7C8;H2 # Lo HANGUL SYLLABLE JYA -C7C9..C7E3;H3 # Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH -C7E4;H2 # Lo HANGUL SYLLABLE JYAE -C7E5..C7FF;H3 # Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH -C800;H2 # Lo HANGUL SYLLABLE JEO -C801..C81B;H3 # Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH -C81C;H2 # Lo HANGUL SYLLABLE JE -C81D..C837;H3 # Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH -C838;H2 # Lo HANGUL SYLLABLE JYEO -C839..C853;H3 # Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH -C854;H2 # Lo HANGUL SYLLABLE JYE -C855..C86F;H3 # Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH -C870;H2 # Lo HANGUL SYLLABLE JO -C871..C88B;H3 # Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH -C88C;H2 # Lo HANGUL SYLLABLE JWA -C88D..C8A7;H3 # Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH -C8A8;H2 # Lo HANGUL SYLLABLE JWAE -C8A9..C8C3;H3 # Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH -C8C4;H2 # Lo HANGUL SYLLABLE JOE -C8C5..C8DF;H3 # Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH -C8E0;H2 # Lo HANGUL SYLLABLE JYO -C8E1..C8FB;H3 # Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH -C8FC;H2 # Lo HANGUL SYLLABLE JU -C8FD..C917;H3 # Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH -C918;H2 # Lo HANGUL SYLLABLE JWEO -C919..C933;H3 # Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH -C934;H2 # Lo HANGUL SYLLABLE JWE -C935..C94F;H3 # Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH -C950;H2 # Lo HANGUL SYLLABLE JWI -C951..C96B;H3 # Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH -C96C;H2 # Lo HANGUL SYLLABLE JYU -C96D..C987;H3 # Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH -C988;H2 # Lo HANGUL SYLLABLE JEU -C989..C9A3;H3 # Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH -C9A4;H2 # Lo HANGUL SYLLABLE JYI -C9A5..C9BF;H3 # Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH -C9C0;H2 # Lo HANGUL SYLLABLE JI -C9C1..C9DB;H3 # Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH -C9DC;H2 # Lo HANGUL SYLLABLE JJA -C9DD..C9F7;H3 # Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH -C9F8;H2 # Lo HANGUL SYLLABLE JJAE -C9F9..CA13;H3 # Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH -CA14;H2 # Lo HANGUL SYLLABLE JJYA -CA15..CA2F;H3 # Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH -CA30;H2 # Lo HANGUL SYLLABLE JJYAE -CA31..CA4B;H3 # Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH -CA4C;H2 # Lo HANGUL SYLLABLE JJEO -CA4D..CA67;H3 # Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH -CA68;H2 # Lo HANGUL SYLLABLE JJE -CA69..CA83;H3 # Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH -CA84;H2 # Lo HANGUL SYLLABLE JJYEO -CA85..CA9F;H3 # Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH -CAA0;H2 # Lo HANGUL SYLLABLE JJYE -CAA1..CABB;H3 # Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH -CABC;H2 # Lo HANGUL SYLLABLE JJO -CABD..CAD7;H3 # Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH -CAD8;H2 # Lo HANGUL SYLLABLE JJWA -CAD9..CAF3;H3 # Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH -CAF4;H2 # Lo HANGUL SYLLABLE JJWAE -CAF5..CB0F;H3 # Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH -CB10;H2 # Lo HANGUL SYLLABLE JJOE -CB11..CB2B;H3 # Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH -CB2C;H2 # Lo HANGUL SYLLABLE JJYO -CB2D..CB47;H3 # Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH -CB48;H2 # Lo HANGUL SYLLABLE JJU -CB49..CB63;H3 # Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH -CB64;H2 # Lo HANGUL SYLLABLE JJWEO -CB65..CB7F;H3 # Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH -CB80;H2 # Lo HANGUL SYLLABLE JJWE -CB81..CB9B;H3 # Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH -CB9C;H2 # Lo HANGUL SYLLABLE JJWI -CB9D..CBB7;H3 # Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH -CBB8;H2 # Lo HANGUL SYLLABLE JJYU -CBB9..CBD3;H3 # Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH -CBD4;H2 # Lo HANGUL SYLLABLE JJEU -CBD5..CBEF;H3 # Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH -CBF0;H2 # Lo HANGUL SYLLABLE JJYI -CBF1..CC0B;H3 # Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH -CC0C;H2 # Lo HANGUL SYLLABLE JJI -CC0D..CC27;H3 # Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH -CC28;H2 # Lo HANGUL SYLLABLE CA -CC29..CC43;H3 # Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH -CC44;H2 # Lo HANGUL SYLLABLE CAE -CC45..CC5F;H3 # Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH -CC60;H2 # Lo HANGUL SYLLABLE CYA -CC61..CC7B;H3 # Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH -CC7C;H2 # Lo HANGUL SYLLABLE CYAE -CC7D..CC97;H3 # Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH -CC98;H2 # Lo HANGUL SYLLABLE CEO -CC99..CCB3;H3 # Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH -CCB4;H2 # Lo HANGUL SYLLABLE CE -CCB5..CCCF;H3 # Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH -CCD0;H2 # Lo HANGUL SYLLABLE CYEO -CCD1..CCEB;H3 # Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH -CCEC;H2 # Lo HANGUL SYLLABLE CYE -CCED..CD07;H3 # Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH -CD08;H2 # Lo HANGUL SYLLABLE CO -CD09..CD23;H3 # Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH -CD24;H2 # Lo HANGUL SYLLABLE CWA -CD25..CD3F;H3 # Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH -CD40;H2 # Lo HANGUL SYLLABLE CWAE -CD41..CD5B;H3 # Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH -CD5C;H2 # Lo HANGUL SYLLABLE COE -CD5D..CD77;H3 # Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH -CD78;H2 # Lo HANGUL SYLLABLE CYO -CD79..CD93;H3 # Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH -CD94;H2 # Lo HANGUL SYLLABLE CU -CD95..CDAF;H3 # Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH -CDB0;H2 # Lo HANGUL SYLLABLE CWEO -CDB1..CDCB;H3 # Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH -CDCC;H2 # Lo HANGUL SYLLABLE CWE -CDCD..CDE7;H3 # Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH -CDE8;H2 # Lo HANGUL SYLLABLE CWI -CDE9..CE03;H3 # Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH -CE04;H2 # Lo HANGUL SYLLABLE CYU -CE05..CE1F;H3 # Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH -CE20;H2 # Lo HANGUL SYLLABLE CEU -CE21..CE3B;H3 # Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH -CE3C;H2 # Lo HANGUL SYLLABLE CYI -CE3D..CE57;H3 # Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH -CE58;H2 # Lo HANGUL SYLLABLE CI -CE59..CE73;H3 # Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH -CE74;H2 # Lo HANGUL SYLLABLE KA -CE75..CE8F;H3 # Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH -CE90;H2 # Lo HANGUL SYLLABLE KAE -CE91..CEAB;H3 # Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH -CEAC;H2 # Lo HANGUL SYLLABLE KYA -CEAD..CEC7;H3 # Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH -CEC8;H2 # Lo HANGUL SYLLABLE KYAE -CEC9..CEE3;H3 # Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH -CEE4;H2 # Lo HANGUL SYLLABLE KEO -CEE5..CEFF;H3 # Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH -CF00;H2 # Lo HANGUL SYLLABLE KE -CF01..CF1B;H3 # Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH -CF1C;H2 # Lo HANGUL SYLLABLE KYEO -CF1D..CF37;H3 # Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH -CF38;H2 # Lo HANGUL SYLLABLE KYE -CF39..CF53;H3 # Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH -CF54;H2 # Lo HANGUL SYLLABLE KO -CF55..CF6F;H3 # Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH -CF70;H2 # Lo HANGUL SYLLABLE KWA -CF71..CF8B;H3 # Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH -CF8C;H2 # Lo HANGUL SYLLABLE KWAE -CF8D..CFA7;H3 # Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH -CFA8;H2 # Lo HANGUL SYLLABLE KOE -CFA9..CFC3;H3 # Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH -CFC4;H2 # Lo HANGUL SYLLABLE KYO -CFC5..CFDF;H3 # Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH -CFE0;H2 # Lo HANGUL SYLLABLE KU -CFE1..CFFB;H3 # Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH -CFFC;H2 # Lo HANGUL SYLLABLE KWEO -CFFD..D017;H3 # Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH -D018;H2 # Lo HANGUL SYLLABLE KWE -D019..D033;H3 # Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH -D034;H2 # Lo HANGUL SYLLABLE KWI -D035..D04F;H3 # Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH -D050;H2 # Lo HANGUL SYLLABLE KYU -D051..D06B;H3 # Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH -D06C;H2 # Lo HANGUL SYLLABLE KEU -D06D..D087;H3 # Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH -D088;H2 # Lo HANGUL SYLLABLE KYI -D089..D0A3;H3 # Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH -D0A4;H2 # Lo HANGUL SYLLABLE KI -D0A5..D0BF;H3 # Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH -D0C0;H2 # Lo HANGUL SYLLABLE TA -D0C1..D0DB;H3 # Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH -D0DC;H2 # Lo HANGUL SYLLABLE TAE -D0DD..D0F7;H3 # Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH -D0F8;H2 # Lo HANGUL SYLLABLE TYA -D0F9..D113;H3 # Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH -D114;H2 # Lo HANGUL SYLLABLE TYAE -D115..D12F;H3 # Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH -D130;H2 # Lo HANGUL SYLLABLE TEO -D131..D14B;H3 # Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH -D14C;H2 # Lo HANGUL SYLLABLE TE -D14D..D167;H3 # Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH -D168;H2 # Lo HANGUL SYLLABLE TYEO -D169..D183;H3 # Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH -D184;H2 # Lo HANGUL SYLLABLE TYE -D185..D19F;H3 # Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH -D1A0;H2 # Lo HANGUL SYLLABLE TO -D1A1..D1BB;H3 # Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH -D1BC;H2 # Lo HANGUL SYLLABLE TWA -D1BD..D1D7;H3 # Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH -D1D8;H2 # Lo HANGUL SYLLABLE TWAE -D1D9..D1F3;H3 # Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH -D1F4;H2 # Lo HANGUL SYLLABLE TOE -D1F5..D20F;H3 # Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH -D210;H2 # Lo HANGUL SYLLABLE TYO -D211..D22B;H3 # Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH -D22C;H2 # Lo HANGUL SYLLABLE TU -D22D..D247;H3 # Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH -D248;H2 # Lo HANGUL SYLLABLE TWEO -D249..D263;H3 # Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH -D264;H2 # Lo HANGUL SYLLABLE TWE -D265..D27F;H3 # Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH -D280;H2 # Lo HANGUL SYLLABLE TWI -D281..D29B;H3 # Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH -D29C;H2 # Lo HANGUL SYLLABLE TYU -D29D..D2B7;H3 # Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH -D2B8;H2 # Lo HANGUL SYLLABLE TEU -D2B9..D2D3;H3 # Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH -D2D4;H2 # Lo HANGUL SYLLABLE TYI -D2D5..D2EF;H3 # Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH -D2F0;H2 # Lo HANGUL SYLLABLE TI -D2F1..D30B;H3 # Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH -D30C;H2 # Lo HANGUL SYLLABLE PA -D30D..D327;H3 # Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH -D328;H2 # Lo HANGUL SYLLABLE PAE -D329..D343;H3 # Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH -D344;H2 # Lo HANGUL SYLLABLE PYA -D345..D35F;H3 # Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH -D360;H2 # Lo HANGUL SYLLABLE PYAE -D361..D37B;H3 # Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH -D37C;H2 # Lo HANGUL SYLLABLE PEO -D37D..D397;H3 # Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH -D398;H2 # Lo HANGUL SYLLABLE PE -D399..D3B3;H3 # Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH -D3B4;H2 # Lo HANGUL SYLLABLE PYEO -D3B5..D3CF;H3 # Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH -D3D0;H2 # Lo HANGUL SYLLABLE PYE -D3D1..D3EB;H3 # Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH -D3EC;H2 # Lo HANGUL SYLLABLE PO -D3ED..D407;H3 # Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH -D408;H2 # Lo HANGUL SYLLABLE PWA -D409..D423;H3 # Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH -D424;H2 # Lo HANGUL SYLLABLE PWAE -D425..D43F;H3 # Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH -D440;H2 # Lo HANGUL SYLLABLE POE -D441..D45B;H3 # Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH -D45C;H2 # Lo HANGUL SYLLABLE PYO -D45D..D477;H3 # Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH -D478;H2 # Lo HANGUL SYLLABLE PU -D479..D493;H3 # Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH -D494;H2 # Lo HANGUL SYLLABLE PWEO -D495..D4AF;H3 # Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH -D4B0;H2 # Lo HANGUL SYLLABLE PWE -D4B1..D4CB;H3 # Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH -D4CC;H2 # Lo HANGUL SYLLABLE PWI -D4CD..D4E7;H3 # Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH -D4E8;H2 # Lo HANGUL SYLLABLE PYU -D4E9..D503;H3 # Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH -D504;H2 # Lo HANGUL SYLLABLE PEU -D505..D51F;H3 # Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH -D520;H2 # Lo HANGUL SYLLABLE PYI -D521..D53B;H3 # Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH -D53C;H2 # Lo HANGUL SYLLABLE PI -D53D..D557;H3 # Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH -D558;H2 # Lo HANGUL SYLLABLE HA -D559..D573;H3 # Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH -D574;H2 # Lo HANGUL SYLLABLE HAE -D575..D58F;H3 # Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH -D590;H2 # Lo HANGUL SYLLABLE HYA -D591..D5AB;H3 # Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH -D5AC;H2 # Lo HANGUL SYLLABLE HYAE -D5AD..D5C7;H3 # Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH -D5C8;H2 # Lo HANGUL SYLLABLE HEO -D5C9..D5E3;H3 # Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH -D5E4;H2 # Lo HANGUL SYLLABLE HE -D5E5..D5FF;H3 # Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH -D600;H2 # Lo HANGUL SYLLABLE HYEO -D601..D61B;H3 # Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH -D61C;H2 # Lo HANGUL SYLLABLE HYE -D61D..D637;H3 # Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH -D638;H2 # Lo HANGUL SYLLABLE HO -D639..D653;H3 # Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH -D654;H2 # Lo HANGUL SYLLABLE HWA -D655..D66F;H3 # Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH -D670;H2 # Lo HANGUL SYLLABLE HWAE -D671..D68B;H3 # Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH -D68C;H2 # Lo HANGUL SYLLABLE HOE -D68D..D6A7;H3 # Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH -D6A8;H2 # Lo HANGUL SYLLABLE HYO -D6A9..D6C3;H3 # Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH -D6C4;H2 # Lo HANGUL SYLLABLE HU -D6C5..D6DF;H3 # Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH -D6E0;H2 # Lo HANGUL SYLLABLE HWEO -D6E1..D6FB;H3 # Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH -D6FC;H2 # Lo HANGUL SYLLABLE HWE -D6FD..D717;H3 # Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH -D718;H2 # Lo HANGUL SYLLABLE HWI -D719..D733;H3 # Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH -D734;H2 # Lo HANGUL SYLLABLE HYU -D735..D74F;H3 # Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH -D750;H2 # Lo HANGUL SYLLABLE HEU -D751..D76B;H3 # Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH -D76C;H2 # Lo HANGUL SYLLABLE HYI -D76D..D787;H3 # Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH -D788;H2 # Lo HANGUL SYLLABLE HI -D789..D7A3;H3 # Lo [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH -D7B0..D7C6;JV # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E -D7CB..D7FB;JT # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH -D800..DB7F;SG # Cs [896] .. -DB80..DBFF;SG # Cs [128] .. -DC00..DFFF;SG # Cs [1024] .. -E000..F8FF;XX # Co [6400] .. -F900..FA6D;ID # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D -FA6E..FA6F;ID # Cn [2] .. -FA70..FAD9;ID # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9 -FADA..FAFF;ID # Cn [38] .. -FB00..FB06;AL # Ll [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST -FB13..FB17;AL # Ll [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH -FB1D;HL # Lo HEBREW LETTER YOD WITH HIRIQ -FB1E;CM # Mn HEBREW POINT JUDEO-SPANISH VARIKA -FB1F..FB28;HL # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV -FB29;AL # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN -FB2A..FB36;HL # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH -FB38..FB3C;HL # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH -FB3E;HL # Lo HEBREW LETTER MEM WITH DAGESH -FB40..FB41;HL # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH -FB43..FB44;HL # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH -FB46..FB4F;HL # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED -FB50..FBB1;AL # Lo [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM -FBB2..FBC1;AL # Sk [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW -FBD3..FD3D;AL # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM -FD3E;CL # Pe ORNATE LEFT PARENTHESIS -FD3F;OP # Ps ORNATE RIGHT PARENTHESIS -FD50..FD8F;AL # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM -FD92..FDC7;AL # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM -FDF0..FDFB;AL # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU -FDFC;PO # Sc RIAL SIGN -FDFD;AL # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM -FE00..FE0F;CM # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE10;IS # Po PRESENTATION FORM FOR VERTICAL COMMA -FE11..FE12;CL # Po [2] PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA..PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP -FE13..FE14;IS # Po [2] PRESENTATION FORM FOR VERTICAL COLON..PRESENTATION FORM FOR VERTICAL SEMICOLON -FE15..FE16;EX # Po [2] PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK..PRESENTATION FORM FOR VERTICAL QUESTION MARK -FE17;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET -FE18;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET -FE19;IN # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS -FE20..FE2F;CM # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF -FE30;ID # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER -FE31..FE32;ID # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH -FE33..FE34;ID # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE -FE35;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS -FE36;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS -FE37;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET -FE38;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET -FE39;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET -FE3A;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET -FE3B;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET -FE3C;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET -FE3D;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET -FE3E;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET -FE3F;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET -FE40;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET -FE41;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET -FE42;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET -FE43;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET -FE44;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET -FE45..FE46;ID # Po [2] SESAME DOT..WHITE SESAME DOT -FE47;OP # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET -FE48;CL # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET -FE49..FE4C;ID # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE -FE4D..FE4F;ID # Pc [3] DASHED LOW LINE..WAVY LOW LINE -FE50;CL # Po SMALL COMMA -FE51;ID # Po SMALL IDEOGRAPHIC COMMA -FE52;CL # Po SMALL FULL STOP -FE54..FE55;NS # Po [2] SMALL SEMICOLON..SMALL COLON -FE56..FE57;EX # Po [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK -FE58;ID # Pd SMALL EM DASH -FE59;OP # Ps SMALL LEFT PARENTHESIS -FE5A;CL # Pe SMALL RIGHT PARENTHESIS -FE5B;OP # Ps SMALL LEFT CURLY BRACKET -FE5C;CL # Pe SMALL RIGHT CURLY BRACKET -FE5D;OP # Ps SMALL LEFT TORTOISE SHELL BRACKET -FE5E;CL # Pe SMALL RIGHT TORTOISE SHELL BRACKET -FE5F..FE61;ID # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK -FE62;ID # Sm SMALL PLUS SIGN -FE63;ID # Pd SMALL HYPHEN-MINUS -FE64..FE66;ID # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN -FE68;ID # Po SMALL REVERSE SOLIDUS -FE69;PR # Sc SMALL DOLLAR SIGN -FE6A;PO # Po SMALL PERCENT SIGN -FE6B;ID # Po SMALL COMMERCIAL AT -FE70..FE74;AL # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM -FE76..FEFC;AL # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM -FEFF;WJ # Cf ZERO WIDTH NO-BREAK SPACE -FF01;EX # Po FULLWIDTH EXCLAMATION MARK -FF02..FF03;ID # Po [2] FULLWIDTH QUOTATION MARK..FULLWIDTH NUMBER SIGN -FF04;PR # Sc FULLWIDTH DOLLAR SIGN -FF05;PO # Po FULLWIDTH PERCENT SIGN -FF06..FF07;ID # Po [2] FULLWIDTH AMPERSAND..FULLWIDTH APOSTROPHE -FF08;OP # Ps FULLWIDTH LEFT PARENTHESIS -FF09;CL # Pe FULLWIDTH RIGHT PARENTHESIS -FF0A;ID # Po FULLWIDTH ASTERISK -FF0B;ID # Sm FULLWIDTH PLUS SIGN -FF0C;CL # Po FULLWIDTH COMMA -FF0D;ID # Pd FULLWIDTH HYPHEN-MINUS -FF0E;CL # Po FULLWIDTH FULL STOP -FF0F;ID # Po FULLWIDTH SOLIDUS -FF10..FF19;ID # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE -FF1A..FF1B;NS # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON -FF1C..FF1E;ID # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN -FF1F;EX # Po FULLWIDTH QUESTION MARK -FF20;ID # Po FULLWIDTH COMMERCIAL AT -FF21..FF3A;ID # Lu [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z -FF3B;OP # Ps FULLWIDTH LEFT SQUARE BRACKET -FF3C;ID # Po FULLWIDTH REVERSE SOLIDUS -FF3D;CL # Pe FULLWIDTH RIGHT SQUARE BRACKET -FF3E;ID # Sk FULLWIDTH CIRCUMFLEX ACCENT -FF3F;ID # Pc FULLWIDTH LOW LINE -FF40;ID # Sk FULLWIDTH GRAVE ACCENT -FF41..FF5A;ID # Ll [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z -FF5B;OP # Ps FULLWIDTH LEFT CURLY BRACKET -FF5C;ID # Sm FULLWIDTH VERTICAL LINE -FF5D;CL # Pe FULLWIDTH RIGHT CURLY BRACKET -FF5E;ID # Sm FULLWIDTH TILDE -FF5F;OP # Ps FULLWIDTH LEFT WHITE PARENTHESIS -FF60;CL # Pe FULLWIDTH RIGHT WHITE PARENTHESIS -FF61;CL # Po HALFWIDTH IDEOGRAPHIC FULL STOP -FF62;OP # Ps HALFWIDTH LEFT CORNER BRACKET -FF63;CL # Pe HALFWIDTH RIGHT CORNER BRACKET -FF64;CL # Po HALFWIDTH IDEOGRAPHIC COMMA -FF65;NS # Po HALFWIDTH KATAKANA MIDDLE DOT -FF66;ID # Lo HALFWIDTH KATAKANA LETTER WO -FF67..FF6F;CJ # Lo [9] HALFWIDTH KATAKANA LETTER SMALL A..HALFWIDTH KATAKANA LETTER SMALL TU -FF70;CJ # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK -FF71..FF9D;ID # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N -FF9E..FF9F;NS # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK -FFA0..FFBE;ID # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH -FFC2..FFC7;ID # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E -FFCA..FFCF;ID # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE -FFD2..FFD7;ID # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU -FFDA..FFDC;ID # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I -FFE0;PO # Sc FULLWIDTH CENT SIGN -FFE1;PR # Sc FULLWIDTH POUND SIGN -FFE2;ID # Sm FULLWIDTH NOT SIGN -FFE3;ID # Sk FULLWIDTH MACRON -FFE4;ID # So FULLWIDTH BROKEN BAR -FFE5..FFE6;PR # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN -FFE8;AL # So HALFWIDTH FORMS LIGHT VERTICAL -FFE9..FFEC;AL # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW -FFED..FFEE;AL # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE -FFF9..FFFB;CM # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR -FFFC;CB # So OBJECT REPLACEMENT CHARACTER -FFFD;AI # So REPLACEMENT CHARACTER -10000..1000B;AL # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE -1000D..10026;AL # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO -10028..1003A;AL # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO -1003C..1003D;AL # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE -1003F..1004D;AL # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO -10050..1005D;AL # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089 -10080..100FA;AL # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305 -10100..10102;BA # Po [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK -10107..10133;AL # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND -10137..1013F;AL # So [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT -10140..10174;AL # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS -10175..10178;AL # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN -10179..10189;AL # So [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN -1018A..1018B;AL # No [2] GREEK ZERO SIGN..GREEK ONE QUARTER SIGN -1018C..1018E;AL # So [3] GREEK SINUSOID SIGN..NOMISMA SIGN -10190..1019C;AL # So [13] ROMAN SEXTANS SIGN..ASCIA SYMBOL -101A0;AL # So GREEK SYMBOL TAU RHO -101D0..101FC;AL # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND -101FD;CM # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE -10280..1029C;AL # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X -102A0..102D0;AL # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3 -102E0;CM # Mn COPTIC EPACT THOUSANDS MARK -102E1..102FB;AL # No [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED -10300..1031F;AL # Lo [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS -10320..10323;AL # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY -1032D..1032F;AL # Lo [3] OLD ITALIC LETTER YE..OLD ITALIC LETTER SOUTHERN TSE -10330..10340;AL # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA -10341;AL # Nl GOTHIC LETTER NINETY -10342..10349;AL # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL -1034A;AL # Nl GOTHIC LETTER NINE HUNDRED -10350..10375;AL # Lo [38] OLD PERMIC LETTER AN..OLD PERMIC LETTER IA -10376..1037A;CM # Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII -10380..1039D;AL # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU -1039F;BA # Po UGARITIC WORD DIVIDER -103A0..103C3;AL # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA -103C8..103CF;AL # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH -103D0;BA # Po OLD PERSIAN WORD DIVIDER -103D1..103D5;AL # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED -10400..1044F;AL # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW -10450..1047F;AL # Lo [48] SHAVIAN LETTER PEEP..SHAVIAN LETTER YEW -10480..1049D;AL # Lo [30] OSMANYA LETTER ALEF..OSMANYA LETTER OO -104A0..104A9;NU # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE -104B0..104D3;AL # Lu [36] OSAGE CAPITAL LETTER A..OSAGE CAPITAL LETTER ZHA -104D8..104FB;AL # Ll [36] OSAGE SMALL LETTER A..OSAGE SMALL LETTER ZHA -10500..10527;AL # Lo [40] ELBASAN LETTER A..ELBASAN LETTER KHE -10530..10563;AL # Lo [52] CAUCASIAN ALBANIAN LETTER ALT..CAUCASIAN ALBANIAN LETTER KIW -1056F;AL # Po CAUCASIAN ALBANIAN CITATION MARK -10600..10736;AL # Lo [311] LINEAR A SIGN AB001..LINEAR A SIGN A664 -10740..10755;AL # Lo [22] LINEAR A SIGN A701 A..LINEAR A SIGN A732 JE -10760..10767;AL # Lo [8] LINEAR A SIGN A800..LINEAR A SIGN A807 -10800..10805;AL # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA -10808;AL # Lo CYPRIOT SYLLABLE JO -1080A..10835;AL # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO -10837..10838;AL # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE -1083C;AL # Lo CYPRIOT SYLLABLE ZA -1083F;AL # Lo CYPRIOT SYLLABLE ZO -10840..10855;AL # Lo [22] IMPERIAL ARAMAIC LETTER ALEPH..IMPERIAL ARAMAIC LETTER TAW -10857;BA # Po IMPERIAL ARAMAIC SECTION SIGN -10858..1085F;AL # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND -10860..10876;AL # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW -10877..10878;AL # So [2] PALMYRENE LEFT-POINTING FLEURON..PALMYRENE RIGHT-POINTING FLEURON -10879..1087F;AL # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY -10880..1089E;AL # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW -108A7..108AF;AL # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED -108E0..108F2;AL # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH -108F4..108F5;AL # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW -108FB..108FF;AL # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED -10900..10915;AL # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU -10916..1091B;AL # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE -1091F;BA # Po PHOENICIAN WORD SEPARATOR -10920..10939;AL # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C -1093F;AL # Po LYDIAN TRIANGULAR MARK -10980..1099F;AL # Lo [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2 -109A0..109B7;AL # Lo [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA -109BC..109BD;AL # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF -109BE..109BF;AL # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN -109C0..109CF;AL # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY -109D2..109FF;AL # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS -10A00;AL # Lo KHAROSHTHI LETTER A -10A01..10A03;CM # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R -10A05..10A06;CM # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O -10A0C..10A0F;CM # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA -10A10..10A13;AL # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA -10A15..10A17;AL # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA -10A19..10A35;AL # Lo [29] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER VHA -10A38..10A3A;CM # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW -10A3F;CM # Mn KHAROSHTHI VIRAMA -10A40..10A48;AL # No [9] KHAROSHTHI DIGIT ONE..KHAROSHTHI FRACTION ONE HALF -10A50..10A57;BA # Po [8] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION DOUBLE DANDA -10A58;AL # Po KHAROSHTHI PUNCTUATION LINES -10A60..10A7C;AL # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH -10A7D..10A7E;AL # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY -10A7F;AL # Po OLD SOUTH ARABIAN NUMERIC INDICATOR -10A80..10A9C;AL # Lo [29] OLD NORTH ARABIAN LETTER HEH..OLD NORTH ARABIAN LETTER ZAH -10A9D..10A9F;AL # No [3] OLD NORTH ARABIAN NUMBER ONE..OLD NORTH ARABIAN NUMBER TWENTY -10AC0..10AC7;AL # Lo [8] MANICHAEAN LETTER ALEPH..MANICHAEAN LETTER WAW -10AC8;AL # So MANICHAEAN SIGN UD -10AC9..10AE4;AL # Lo [28] MANICHAEAN LETTER ZAYIN..MANICHAEAN LETTER TAW -10AE5..10AE6;CM # Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW -10AEB..10AEF;AL # No [5] MANICHAEAN NUMBER ONE..MANICHAEAN NUMBER ONE HUNDRED -10AF0..10AF5;BA # Po [6] MANICHAEAN PUNCTUATION STAR..MANICHAEAN PUNCTUATION TWO DOTS -10AF6;IN # Po MANICHAEAN PUNCTUATION LINE FILLER -10B00..10B35;AL # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE -10B39..10B3F;BA # Po [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION -10B40..10B55;AL # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW -10B58..10B5F;AL # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND -10B60..10B72;AL # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW -10B78..10B7F;AL # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND -10B80..10B91;AL # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW -10B99..10B9C;AL # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT -10BA9..10BAF;AL # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED -10C00..10C48;AL # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH -10C80..10CB2;AL # Lu [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US -10CC0..10CF2;AL # Ll [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US -10CFA..10CFF;AL # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND -10D00..10D23;AL # Lo [36] HANIFI ROHINGYA LETTER A..HANIFI ROHINGYA MARK NA KHONNA -10D24..10D27;CM # Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI -10D30..10D39;NU # Nd [10] HANIFI ROHINGYA DIGIT ZERO..HANIFI ROHINGYA DIGIT NINE -10E60..10E7E;AL # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS -10E80..10EA9;AL # Lo [42] YEZIDI LETTER ELIF..YEZIDI LETTER ET -10EAB..10EAC;CM # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK -10EAD;BA # Pd YEZIDI HYPHENATION MARK -10EB0..10EB1;AL # Lo [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE -10F00..10F1C;AL # Lo [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL -10F1D..10F26;AL # No [10] OLD SOGDIAN NUMBER ONE..OLD SOGDIAN FRACTION ONE HALF -10F27;AL # Lo OLD SOGDIAN LIGATURE AYIN-DALETH -10F30..10F45;AL # Lo [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN -10F46..10F50;CM # Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW -10F51..10F54;AL # No [4] SOGDIAN NUMBER ONE..SOGDIAN NUMBER ONE HUNDRED -10F55..10F59;AL # Po [5] SOGDIAN PUNCTUATION TWO VERTICAL BARS..SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT -10FB0..10FC4;AL # Lo [21] CHORASMIAN LETTER ALEPH..CHORASMIAN LETTER TAW -10FC5..10FCB;AL # No [7] CHORASMIAN NUMBER ONE..CHORASMIAN NUMBER ONE HUNDRED -10FE0..10FF6;AL # Lo [23] ELYMAIC LETTER ALEPH..ELYMAIC LIGATURE ZAYIN-YODH -11000;CM # Mc BRAHMI SIGN CANDRABINDU -11001;CM # Mn BRAHMI SIGN ANUSVARA -11002;CM # Mc BRAHMI SIGN VISARGA -11003..11037;AL # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA -11038..11046;CM # Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA -11047..11048;BA # Po [2] BRAHMI DANDA..BRAHMI DOUBLE DANDA -11049..1104D;AL # Po [5] BRAHMI PUNCTUATION DOT..BRAHMI PUNCTUATION LOTUS -11052..11065;AL # No [20] BRAHMI NUMBER ONE..BRAHMI NUMBER ONE THOUSAND -11066..1106F;NU # Nd [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE -1107F;CM # Mn BRAHMI NUMBER JOINER -11080..11081;CM # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA -11082;CM # Mc KAITHI SIGN VISARGA -11083..110AF;AL # Lo [45] KAITHI LETTER A..KAITHI LETTER HA -110B0..110B2;CM # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II -110B3..110B6;CM # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI -110B7..110B8;CM # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU -110B9..110BA;CM # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA -110BB..110BC;AL # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN -110BD;AL # Cf KAITHI NUMBER SIGN -110BE..110C1;BA # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA -110CD;AL # Cf KAITHI NUMBER SIGN ABOVE -110D0..110E8;AL # Lo [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE -110F0..110F9;NU # Nd [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE -11100..11102;CM # Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA -11103..11126;AL # Lo [36] CHAKMA LETTER AA..CHAKMA LETTER HAA -11127..1112B;CM # Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU -1112C;CM # Mc CHAKMA VOWEL SIGN E -1112D..11134;CM # Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA -11136..1113F;NU # Nd [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE -11140..11143;BA # Po [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK -11144;AL # Lo CHAKMA LETTER LHAA -11145..11146;CM # Mc [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI -11147;AL # Lo CHAKMA LETTER VAA -11150..11172;AL # Lo [35] MAHAJANI LETTER A..MAHAJANI LETTER RRA -11173;CM # Mn MAHAJANI SIGN NUKTA -11174;AL # Po MAHAJANI ABBREVIATION SIGN -11175;BB # Po MAHAJANI SECTION MARK -11176;AL # Lo MAHAJANI LIGATURE SHRI -11180..11181;CM # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA -11182;CM # Mc SHARADA SIGN VISARGA -11183..111B2;AL # Lo [48] SHARADA LETTER A..SHARADA LETTER HA -111B3..111B5;CM # Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II -111B6..111BE;CM # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O -111BF..111C0;CM # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA -111C1..111C4;AL # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM -111C5..111C6;BA # Po [2] SHARADA DANDA..SHARADA DOUBLE DANDA -111C7;AL # Po SHARADA ABBREVIATION SIGN -111C8;BA # Po SHARADA SEPARATOR -111C9..111CC;CM # Mn [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK -111CD;AL # Po SHARADA SUTRA MARK -111CE;CM # Mc SHARADA VOWEL SIGN PRISHTHAMATRA E -111CF;CM # Mn SHARADA SIGN INVERTED CANDRABINDU -111D0..111D9;NU # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE -111DA;AL # Lo SHARADA EKAM -111DB;BB # Po SHARADA SIGN SIDDHAM -111DC;AL # Lo SHARADA HEADSTROKE -111DD..111DF;BA # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 -111E1..111F4;AL # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND -11200..11211;AL # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA -11213..1122B;AL # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA -1122C..1122E;CM # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II -1122F..11231;CM # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI -11232..11233;CM # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU -11234;CM # Mn KHOJKI SIGN ANUSVARA -11235;CM # Mc KHOJKI SIGN VIRAMA -11236..11237;CM # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA -11238..11239;BA # Po [2] KHOJKI DANDA..KHOJKI DOUBLE DANDA -1123A;AL # Po KHOJKI WORD SEPARATOR -1123B..1123C;BA # Po [2] KHOJKI SECTION MARK..KHOJKI DOUBLE SECTION MARK -1123D;AL # Po KHOJKI ABBREVIATION SIGN -1123E;CM # Mn KHOJKI SIGN SUKUN -11280..11286;AL # Lo [7] MULTANI LETTER A..MULTANI LETTER GA -11288;AL # Lo MULTANI LETTER GHA -1128A..1128D;AL # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA -1128F..1129D;AL # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA -1129F..112A8;AL # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA -112A9;BA # Po MULTANI SECTION MARK -112B0..112DE;AL # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA -112DF;CM # Mn KHUDAWADI SIGN ANUSVARA -112E0..112E2;CM # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II -112E3..112EA;CM # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -112F0..112F9;NU # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -11300..11301;CM # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU -11302..11303;CM # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA -11305..1130C;AL # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L -1130F..11310;AL # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI -11313..11328;AL # Lo [22] GRANTHA LETTER OO..GRANTHA LETTER NA -1132A..11330;AL # Lo [7] GRANTHA LETTER PA..GRANTHA LETTER RA -11332..11333;AL # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA -11335..11339;AL # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA -1133B..1133C;CM # Mn [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA -1133D;AL # Lo GRANTHA SIGN AVAGRAHA -1133E..1133F;CM # Mc [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I -11340;CM # Mn GRANTHA VOWEL SIGN II -11341..11344;CM # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR -11347..11348;CM # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI -1134B..1134D;CM # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA -11350;AL # Lo GRANTHA OM -11357;CM # Mc GRANTHA AU LENGTH MARK -1135D..11361;AL # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL -11362..11363;CM # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL -11366..1136C;CM # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX -11370..11374;CM # Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA -11400..11434;AL # Lo [53] NEWA LETTER A..NEWA LETTER HA -11435..11437;CM # Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II -11438..1143F;CM # Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI -11440..11441;CM # Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU -11442..11444;CM # Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA -11445;CM # Mc NEWA SIGN VISARGA -11446;CM # Mn NEWA SIGN NUKTA -11447..1144A;AL # Lo [4] NEWA SIGN AVAGRAHA..NEWA SIDDHI -1144B..1144E;BA # Po [4] NEWA DANDA..NEWA GAP FILLER -1144F;AL # Po NEWA ABBREVIATION SIGN -11450..11459;NU # Nd [10] NEWA DIGIT ZERO..NEWA DIGIT NINE -1145A..1145B;BA # Po [2] NEWA DOUBLE COMMA..NEWA PLACEHOLDER MARK -1145D;AL # Po NEWA INSERTION SIGN -1145E;CM # Mn NEWA SANDHI MARK -1145F..11461;AL # Lo [3] NEWA LETTER VEDIC ANUSVARA..NEWA SIGN UPADHMANIYA -11480..114AF;AL # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA -114B0..114B2;CM # Mc [3] TIRHUTA VOWEL SIGN AA..TIRHUTA VOWEL SIGN II -114B3..114B8;CM # Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL -114B9;CM # Mc TIRHUTA VOWEL SIGN E -114BA;CM # Mn TIRHUTA VOWEL SIGN SHORT E -114BB..114BE;CM # Mc [4] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN AU -114BF..114C0;CM # Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA -114C1;CM # Mc TIRHUTA SIGN VISARGA -114C2..114C3;CM # Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA -114C4..114C5;AL # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG -114C6;AL # Po TIRHUTA ABBREVIATION SIGN -114C7;AL # Lo TIRHUTA OM -114D0..114D9;NU # Nd [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE -11580..115AE;AL # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA -115AF..115B1;CM # Mc [3] SIDDHAM VOWEL SIGN AA..SIDDHAM VOWEL SIGN II -115B2..115B5;CM # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR -115B8..115BB;CM # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU -115BC..115BD;CM # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA -115BE;CM # Mc SIDDHAM SIGN VISARGA -115BF..115C0;CM # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA -115C1;BB # Po SIDDHAM SIGN SIDDHAM -115C2..115C3;BA # Po [2] SIDDHAM DANDA..SIDDHAM DOUBLE DANDA -115C4..115C5;EX # Po [2] SIDDHAM SEPARATOR DOT..SIDDHAM SEPARATOR BAR -115C6..115C8;AL # Po [3] SIDDHAM REPETITION MARK-1..SIDDHAM REPETITION MARK-3 -115C9..115D7;BA # Po [15] SIDDHAM END OF TEXT MARK..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES -115D8..115DB;AL # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U -115DC..115DD;CM # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU -11600..1162F;AL # Lo [48] MODI LETTER A..MODI LETTER LLA -11630..11632;CM # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II -11633..1163A;CM # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI -1163B..1163C;CM # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU -1163D;CM # Mn MODI SIGN ANUSVARA -1163E;CM # Mc MODI SIGN VISARGA -1163F..11640;CM # Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA -11641..11642;BA # Po [2] MODI DANDA..MODI DOUBLE DANDA -11643;AL # Po MODI ABBREVIATION SIGN -11644;AL # Lo MODI SIGN HUVA -11650..11659;NU # Nd [10] MODI DIGIT ZERO..MODI DIGIT NINE -11660..1166C;BB # Po [13] MONGOLIAN BIRGA WITH ORNAMENT..MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT -11680..116AA;AL # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA -116AB;CM # Mn TAKRI SIGN ANUSVARA -116AC;CM # Mc TAKRI SIGN VISARGA -116AD;CM # Mn TAKRI VOWEL SIGN AA -116AE..116AF;CM # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II -116B0..116B5;CM # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU -116B6;CM # Mc TAKRI SIGN VIRAMA -116B7;CM # Mn TAKRI SIGN NUKTA -116B8;AL # Lo TAKRI LETTER ARCHAIC KHA -116C0..116C9;NU # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE -11700..1171A;SA # Lo [27] AHOM LETTER KA..AHOM LETTER ALTERNATE BA -1171D..1171F;SA # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA -11720..11721;SA # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA -11722..11725;SA # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU -11726;SA # Mc AHOM VOWEL SIGN E -11727..1172B;SA # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER -11730..11739;NU # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE -1173A..1173B;SA # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY -1173C..1173E;BA # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI -1173F;SA # So AHOM SYMBOL VI -11800..1182B;AL # Lo [44] DOGRA LETTER A..DOGRA LETTER RRA -1182C..1182E;CM # Mc [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II -1182F..11837;CM # Mn [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA -11838;CM # Mc DOGRA SIGN VISARGA -11839..1183A;CM # Mn [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA -1183B;AL # Po DOGRA ABBREVIATION SIGN -118A0..118DF;AL # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO -118E0..118E9;NU # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE -118EA..118F2;AL # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY -118FF;AL # Lo WARANG CITI OM -11900..11906;AL # Lo [7] DIVES AKURU LETTER A..DIVES AKURU LETTER E -11909;AL # Lo DIVES AKURU LETTER O -1190C..11913;AL # Lo [8] DIVES AKURU LETTER KA..DIVES AKURU LETTER JA -11915..11916;AL # Lo [2] DIVES AKURU LETTER NYA..DIVES AKURU LETTER TTA -11918..1192F;AL # Lo [24] DIVES AKURU LETTER DDA..DIVES AKURU LETTER ZA -11930..11935;CM # Mc [6] DIVES AKURU VOWEL SIGN AA..DIVES AKURU VOWEL SIGN E -11937..11938;CM # Mc [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O -1193B..1193C;CM # Mn [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU -1193D;CM # Mc DIVES AKURU SIGN HALANTA -1193E;CM # Mn DIVES AKURU VIRAMA -1193F;AL # Lo DIVES AKURU PREFIXED NASAL SIGN -11940;CM # Mc DIVES AKURU MEDIAL YA -11941;AL # Lo DIVES AKURU INITIAL RA -11942;CM # Mc DIVES AKURU MEDIAL RA -11943;CM # Mn DIVES AKURU SIGN NUKTA -11944..11946;BA # Po [3] DIVES AKURU DOUBLE DANDA..DIVES AKURU END OF TEXT MARK -11950..11959;NU # Nd [10] DIVES AKURU DIGIT ZERO..DIVES AKURU DIGIT NINE -119A0..119A7;AL # Lo [8] NANDINAGARI LETTER A..NANDINAGARI LETTER VOCALIC RR -119AA..119D0;AL # Lo [39] NANDINAGARI LETTER E..NANDINAGARI LETTER RRA -119D1..119D3;CM # Mc [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II -119D4..119D7;CM # Mn [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR -119DA..119DB;CM # Mn [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI -119DC..119DF;CM # Mc [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA -119E0;CM # Mn NANDINAGARI SIGN VIRAMA -119E1;AL # Lo NANDINAGARI SIGN AVAGRAHA -119E2;BB # Po NANDINAGARI SIGN SIDDHAM -119E3;AL # Lo NANDINAGARI HEADSTROKE -119E4;CM # Mc NANDINAGARI VOWEL SIGN PRISHTHAMATRA E -11A00;AL # Lo ZANABAZAR SQUARE LETTER A -11A01..11A0A;CM # Mn [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK -11A0B..11A32;AL # Lo [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA -11A33..11A38;CM # Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA -11A39;CM # Mc ZANABAZAR SQUARE SIGN VISARGA -11A3A;AL # Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA -11A3B..11A3E;CM # Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA -11A3F;BB # Po ZANABAZAR SQUARE INITIAL HEAD MARK -11A40;AL # Po ZANABAZAR SQUARE CLOSING HEAD MARK -11A41..11A44;BA # Po [4] ZANABAZAR SQUARE MARK TSHEG..ZANABAZAR SQUARE MARK LONG TSHEG -11A45;BB # Po ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK -11A46;AL # Po ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK -11A47;CM # Mn ZANABAZAR SQUARE SUBJOINER -11A50;AL # Lo SOYOMBO LETTER A -11A51..11A56;CM # Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE -11A57..11A58;CM # Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU -11A59..11A5B;CM # Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK -11A5C..11A89;AL # Lo [46] SOYOMBO LETTER KA..SOYOMBO CLUSTER-INITIAL LETTER SA -11A8A..11A96;CM # Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA -11A97;CM # Mc SOYOMBO SIGN VISARGA -11A98..11A99;CM # Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER -11A9A..11A9C;BA # Po [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD -11A9D;AL # Lo SOYOMBO MARK PLUTA -11A9E..11AA0;BB # Po [3] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO HEAD MARK WITH MOON AND SUN -11AA1..11AA2;BA # Po [2] SOYOMBO TERMINAL MARK-1..SOYOMBO TERMINAL MARK-2 -11AC0..11AF8;AL # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -11C00..11C08;AL # Lo [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L -11C0A..11C2E;AL # Lo [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA -11C2F;CM # Mc BHAIKSUKI VOWEL SIGN AA -11C30..11C36;CM # Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L -11C38..11C3D;CM # Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA -11C3E;CM # Mc BHAIKSUKI SIGN VISARGA -11C3F;CM # Mn BHAIKSUKI SIGN VIRAMA -11C40;AL # Lo BHAIKSUKI SIGN AVAGRAHA -11C41..11C45;BA # Po [5] BHAIKSUKI DANDA..BHAIKSUKI GAP FILLER-2 -11C50..11C59;NU # Nd [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE -11C5A..11C6C;AL # No [19] BHAIKSUKI NUMBER ONE..BHAIKSUKI HUNDREDS UNIT MARK -11C70;BB # Po MARCHEN HEAD MARK -11C71;EX # Po MARCHEN MARK SHAD -11C72..11C8F;AL # Lo [30] MARCHEN LETTER KA..MARCHEN LETTER A -11C92..11CA7;CM # Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA -11CA9;CM # Mc MARCHEN SUBJOINED LETTER YA -11CAA..11CB0;CM # Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA -11CB1;CM # Mc MARCHEN VOWEL SIGN I -11CB2..11CB3;CM # Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E -11CB4;CM # Mc MARCHEN VOWEL SIGN O -11CB5..11CB6;CM # Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU -11D00..11D06;AL # Lo [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E -11D08..11D09;AL # Lo [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O -11D0B..11D30;AL # Lo [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA -11D31..11D36;CM # Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R -11D3A;CM # Mn MASARAM GONDI VOWEL SIGN E -11D3C..11D3D;CM # Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O -11D3F..11D45;CM # Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA -11D46;AL # Lo MASARAM GONDI REPHA -11D47;CM # Mn MASARAM GONDI RA-KARA -11D50..11D59;NU # Nd [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE -11D60..11D65;AL # Lo [6] GUNJALA GONDI LETTER A..GUNJALA GONDI LETTER UU -11D67..11D68;AL # Lo [2] GUNJALA GONDI LETTER EE..GUNJALA GONDI LETTER AI -11D6A..11D89;AL # Lo [32] GUNJALA GONDI LETTER OO..GUNJALA GONDI LETTER SA -11D8A..11D8E;CM # Mc [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA GONDI VOWEL SIGN UU -11D90..11D91;CM # Mn [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI -11D93..11D94;CM # Mc [2] GUNJALA GONDI VOWEL SIGN OO..GUNJALA GONDI VOWEL SIGN AU -11D95;CM # Mn GUNJALA GONDI SIGN ANUSVARA -11D96;CM # Mc GUNJALA GONDI SIGN VISARGA -11D97;CM # Mn GUNJALA GONDI VIRAMA -11D98;AL # Lo GUNJALA GONDI OM -11DA0..11DA9;NU # Nd [10] GUNJALA GONDI DIGIT ZERO..GUNJALA GONDI DIGIT NINE -11EE0..11EF2;AL # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA -11EF3..11EF4;CM # Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U -11EF5..11EF6;CM # Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O -11EF7..11EF8;AL # Po [2] MAKASAR PASSIMBANG..MAKASAR END OF SECTION -11FB0;AL # Lo LISU LETTER YHA -11FC0..11FD4;AL # No [21] TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH..TAMIL FRACTION DOWNSCALING FACTOR KIIZH -11FD5..11FDC;AL # So [8] TAMIL SIGN NEL..TAMIL SIGN MUKKURUNI -11FDD..11FE0;PO # Sc [4] TAMIL SIGN KAACU..TAMIL SIGN VARAAKAN -11FE1..11FF1;AL # So [17] TAMIL SIGN PAARAM..TAMIL SIGN VAKAIYARAA -11FFF;BA # Po TAMIL PUNCTUATION END OF TEXT -12000..12399;AL # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U -12400..1246E;AL # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM -12470..12474;BA # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON -12480..12543;AL # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU -13000..13257;AL # Lo [600] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH O006 -13258..1325A;OP # Lo [3] EGYPTIAN HIEROGLYPH O006A..EGYPTIAN HIEROGLYPH O006C -1325B..1325D;CL # Lo [3] EGYPTIAN HIEROGLYPH O006D..EGYPTIAN HIEROGLYPH O006F -1325E..13281;AL # Lo [36] EGYPTIAN HIEROGLYPH O007..EGYPTIAN HIEROGLYPH O033 -13282;CL # Lo EGYPTIAN HIEROGLYPH O033A -13283..13285;AL # Lo [3] EGYPTIAN HIEROGLYPH O034..EGYPTIAN HIEROGLYPH O036 -13286;OP # Lo EGYPTIAN HIEROGLYPH O036A -13287;CL # Lo EGYPTIAN HIEROGLYPH O036B -13288;OP # Lo EGYPTIAN HIEROGLYPH O036C -13289;CL # Lo EGYPTIAN HIEROGLYPH O036D -1328A..13378;AL # Lo [239] EGYPTIAN HIEROGLYPH O037..EGYPTIAN HIEROGLYPH V011 -13379;OP # Lo EGYPTIAN HIEROGLYPH V011A -1337A..1337B;CL # Lo [2] EGYPTIAN HIEROGLYPH V011B..EGYPTIAN HIEROGLYPH V011C -1337C..1342E;AL # Lo [179] EGYPTIAN HIEROGLYPH V012..EGYPTIAN HIEROGLYPH AA032 -13430..13436;GL # Cf [7] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH OVERLAY MIDDLE -13437;OP # Cf EGYPTIAN HIEROGLYPH BEGIN SEGMENT -13438;CL # Cf EGYPTIAN HIEROGLYPH END SEGMENT -14400..145CD;AL # Lo [462] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A409 -145CE;OP # Lo ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK -145CF;CL # Lo ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK -145D0..14646;AL # Lo [119] ANATOLIAN HIEROGLYPH A411..ANATOLIAN HIEROGLYPH A530 -16800..16A38;AL # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ -16A40..16A5E;AL # Lo [31] MRO LETTER TA..MRO LETTER TEK -16A60..16A69;NU # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE -16A6E..16A6F;BA # Po [2] MRO DANDA..MRO DOUBLE DANDA -16AD0..16AED;AL # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I -16AF0..16AF4;CM # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE -16AF5;BA # Po BASSA VAH FULL STOP -16B00..16B2F;AL # Lo [48] PAHAWH HMONG VOWEL KEEB..PAHAWH HMONG CONSONANT CAU -16B30..16B36;CM # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM -16B37..16B39;BA # Po [3] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN CIM CHEEM -16B3A..16B3B;AL # Po [2] PAHAWH HMONG SIGN VOS THIAB..PAHAWH HMONG SIGN VOS FEEM -16B3C..16B3F;AL # So [4] PAHAWH HMONG SIGN XYEEM NTXIV..PAHAWH HMONG SIGN XYEEM FAIB -16B40..16B43;AL # Lm [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM -16B44;BA # Po PAHAWH HMONG SIGN XAUS -16B45;AL # So PAHAWH HMONG SIGN CIM TSOV ROG -16B50..16B59;NU # Nd [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE -16B5B..16B61;AL # No [7] PAHAWH HMONG NUMBER TENS..PAHAWH HMONG NUMBER TRILLIONS -16B63..16B77;AL # Lo [21] PAHAWH HMONG SIGN VOS LUB..PAHAWH HMONG SIGN CIM NRES TOS -16B7D..16B8F;AL # Lo [19] PAHAWH HMONG CLAN SIGN TSHEEJ..PAHAWH HMONG CLAN SIGN VWJ -16E40..16E7F;AL # L& [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y -16E80..16E96;AL # No [23] MEDEFAIDRIN DIGIT ZERO..MEDEFAIDRIN DIGIT THREE ALTERNATE FORM -16E97..16E98;BA # Po [2] MEDEFAIDRIN COMMA..MEDEFAIDRIN FULL STOP -16E99..16E9A;AL # Po [2] MEDEFAIDRIN SYMBOL AIVA..MEDEFAIDRIN EXCLAMATION OH -16F00..16F4A;AL # Lo [75] MIAO LETTER PA..MIAO LETTER RTE -16F4F;CM # Mn MIAO SIGN CONSONANT MODIFIER BAR -16F50;AL # Lo MIAO LETTER NASALIZATION -16F51..16F87;CM # Mc [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI -16F8F..16F92;CM # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW -16F93..16F9F;AL # Lm [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8 -16FE0..16FE1;NS # Lm [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK -16FE2;NS # Po OLD CHINESE HOOK MARK -16FE3;NS # Lm OLD CHINESE ITERATION MARK -16FE4;GL # Mn KHITAN SMALL SCRIPT FILLER -16FF0..16FF1;CM # Mc [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY -17000..187F7;ID # Lo [6136] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187F7 -18800..18AFF;ID # Lo [768] TANGUT COMPONENT-001..TANGUT COMPONENT-768 -18B00..18CD5;AL # Lo [470] KHITAN SMALL SCRIPT CHARACTER-18B00..KHITAN SMALL SCRIPT CHARACTER-18CD5 -18D00..18D08;ID # Lo [9] TANGUT IDEOGRAPH-18D00..TANGUT IDEOGRAPH-18D08 -1B000..1B0FF;ID # Lo [256] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER RE-2 -1B100..1B11E;ID # Lo [31] HENTAIGANA LETTER RE-3..HENTAIGANA LETTER N-MU-MO-2 -1B150..1B152;CJ # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO -1B164..1B167;CJ # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N -1B170..1B2FB;ID # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB -1BC00..1BC6A;AL # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M -1BC70..1BC7C;AL # Lo [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK -1BC80..1BC88;AL # Lo [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL -1BC90..1BC99;AL # Lo [10] DUPLOYAN AFFIX LOW ACUTE..DUPLOYAN AFFIX LOW ARROW -1BC9C;AL # So DUPLOYAN SIGN O WITH CROSS -1BC9D..1BC9E;CM # Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK -1BC9F;BA # Po DUPLOYAN PUNCTUATION CHINOOK FULL STOP -1BCA0..1BCA3;CM # Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP -1D000..1D0F5;AL # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO -1D100..1D126;AL # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2 -1D129..1D164;AL # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE -1D165..1D166;CM # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM -1D167..1D169;CM # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3 -1D16A..1D16C;AL # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3 -1D16D..1D172;CM # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5 -1D173..1D17A;CM # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE -1D17B..1D182;CM # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE -1D183..1D184;AL # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN -1D185..1D18B;CM # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE -1D18C..1D1A9;AL # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH -1D1AA..1D1AD;CM # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO -1D1AE..1D1E8;AL # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN -1D200..1D241;AL # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 -1D242..1D244;CM # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME -1D245;AL # So GREEK MUSICAL LEIMMA -1D2E0..1D2F3;AL # No [20] MAYAN NUMERAL ZERO..MAYAN NUMERAL NINETEEN -1D300..1D356;AL # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING -1D360..1D378;AL # No [25] COUNTING ROD UNIT DIGIT ONE..TALLY MARK FIVE -1D400..1D454;AL # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G -1D456..1D49C;AL # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A -1D49E..1D49F;AL # Lu [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D -1D4A2;AL # Lu MATHEMATICAL SCRIPT CAPITAL G -1D4A5..1D4A6;AL # Lu [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K -1D4A9..1D4AC;AL # Lu [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q -1D4AE..1D4B9;AL # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D -1D4BB;AL # Ll MATHEMATICAL SCRIPT SMALL F -1D4BD..1D4C3;AL # Ll [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N -1D4C5..1D505;AL # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B -1D507..1D50A;AL # Lu [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G -1D50D..1D514;AL # Lu [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q -1D516..1D51C;AL # Lu [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y -1D51E..1D539;AL # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B -1D53B..1D53E;AL # Lu [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G -1D540..1D544;AL # Lu [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M -1D546;AL # Lu MATHEMATICAL DOUBLE-STRUCK CAPITAL O -1D54A..1D550;AL # Lu [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y -1D552..1D6A5;AL # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J -1D6A8..1D6C0;AL # Lu [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA -1D6C1;AL # Sm MATHEMATICAL BOLD NABLA -1D6C2..1D6DA;AL # Ll [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA -1D6DB;AL # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL -1D6DC..1D6FA;AL # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA -1D6FB;AL # Sm MATHEMATICAL ITALIC NABLA -1D6FC..1D714;AL # Ll [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA -1D715;AL # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL -1D716..1D734;AL # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA -1D735;AL # Sm MATHEMATICAL BOLD ITALIC NABLA -1D736..1D74E;AL # Ll [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA -1D74F;AL # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL -1D750..1D76E;AL # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA -1D76F;AL # Sm MATHEMATICAL SANS-SERIF BOLD NABLA -1D770..1D788;AL # Ll [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA -1D789;AL # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL -1D78A..1D7A8;AL # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA -1D7A9;AL # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA -1D7AA..1D7C2;AL # Ll [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA -1D7C3;AL # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL -1D7C4..1D7CB;AL # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA -1D7CE..1D7FF;NU # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE -1D800..1D9FF;AL # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD -1DA00..1DA36;CM # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN -1DA37..1DA3A;AL # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE -1DA3B..1DA6C;CM # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT -1DA6D..1DA74;AL # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING -1DA75;CM # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS -1DA76..1DA83;AL # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH -1DA84;CM # Mn SIGNWRITING LOCATION HEAD NECK -1DA85..1DA86;AL # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS -1DA87..1DA8A;BA # Po [4] SIGNWRITING COMMA..SIGNWRITING COLON -1DA8B;AL # Po SIGNWRITING PARENTHESIS -1DA9B..1DA9F;CM # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 -1DAA1..1DAAF;CM # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 -1E000..1E006;CM # Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE -1E008..1E018;CM # Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU -1E01B..1E021;CM # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI -1E023..1E024;CM # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS -1E026..1E02A;CM # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA -1E100..1E12C;AL # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W -1E130..1E136;CM # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D -1E137..1E13D;AL # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER -1E140..1E149;NU # Nd [10] NYIAKENG PUACHUE HMONG DIGIT ZERO..NYIAKENG PUACHUE HMONG DIGIT NINE -1E14E;AL # Lo NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ -1E14F;AL # So NYIAKENG PUACHUE HMONG CIRCLED CA -1E2C0..1E2EB;AL # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH -1E2EC..1E2EF;CM # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI -1E2F0..1E2F9;NU # Nd [10] WANCHO DIGIT ZERO..WANCHO DIGIT NINE -1E2FF;PR # Sc WANCHO NGUN SIGN -1E800..1E8C4;AL # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON -1E8C7..1E8CF;AL # No [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE -1E8D0..1E8D6;CM # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS -1E900..1E943;AL # L& [68] ADLAM CAPITAL LETTER ALIF..ADLAM SMALL LETTER SHA -1E944..1E94A;CM # Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA -1E94B;AL # Lm ADLAM NASALIZATION MARK -1E950..1E959;NU # Nd [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE -1E95E..1E95F;OP # Po [2] ADLAM INITIAL EXCLAMATION MARK..ADLAM INITIAL QUESTION MARK -1EC71..1ECAB;AL # No [59] INDIC SIYAQ NUMBER ONE..INDIC SIYAQ NUMBER PREFIXED NINE -1ECAC;PO # So INDIC SIYAQ PLACEHOLDER -1ECAD..1ECAF;AL # No [3] INDIC SIYAQ FRACTION ONE QUARTER..INDIC SIYAQ FRACTION THREE QUARTERS -1ECB0;PO # Sc INDIC SIYAQ RUPEE MARK -1ECB1..1ECB4;AL # No [4] INDIC SIYAQ NUMBER ALTERNATE ONE..INDIC SIYAQ ALTERNATE LAKH MARK -1ED01..1ED2D;AL # No [45] OTTOMAN SIYAQ NUMBER ONE..OTTOMAN SIYAQ NUMBER NINETY THOUSAND -1ED2E;AL # So OTTOMAN SIYAQ MARRATAN -1ED2F..1ED3D;AL # No [15] OTTOMAN SIYAQ ALTERNATE NUMBER TWO..OTTOMAN SIYAQ FRACTION ONE SIXTH -1EE00..1EE03;AL # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL -1EE05..1EE1F;AL # Lo [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF -1EE21..1EE22;AL # Lo [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM -1EE24;AL # Lo ARABIC MATHEMATICAL INITIAL HEH -1EE27;AL # Lo ARABIC MATHEMATICAL INITIAL HAH -1EE29..1EE32;AL # Lo [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF -1EE34..1EE37;AL # Lo [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH -1EE39;AL # Lo ARABIC MATHEMATICAL INITIAL DAD -1EE3B;AL # Lo ARABIC MATHEMATICAL INITIAL GHAIN -1EE42;AL # Lo ARABIC MATHEMATICAL TAILED JEEM -1EE47;AL # Lo ARABIC MATHEMATICAL TAILED HAH -1EE49;AL # Lo ARABIC MATHEMATICAL TAILED YEH -1EE4B;AL # Lo ARABIC MATHEMATICAL TAILED LAM -1EE4D..1EE4F;AL # Lo [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN -1EE51..1EE52;AL # Lo [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF -1EE54;AL # Lo ARABIC MATHEMATICAL TAILED SHEEN -1EE57;AL # Lo ARABIC MATHEMATICAL TAILED KHAH -1EE59;AL # Lo ARABIC MATHEMATICAL TAILED DAD -1EE5B;AL # Lo ARABIC MATHEMATICAL TAILED GHAIN -1EE5D;AL # Lo ARABIC MATHEMATICAL TAILED DOTLESS NOON -1EE5F;AL # Lo ARABIC MATHEMATICAL TAILED DOTLESS QAF -1EE61..1EE62;AL # Lo [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM -1EE64;AL # Lo ARABIC MATHEMATICAL STRETCHED HEH -1EE67..1EE6A;AL # Lo [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF -1EE6C..1EE72;AL # Lo [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF -1EE74..1EE77;AL # Lo [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH -1EE79..1EE7C;AL # Lo [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH -1EE7E;AL # Lo ARABIC MATHEMATICAL STRETCHED DOTLESS FEH -1EE80..1EE89;AL # Lo [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH -1EE8B..1EE9B;AL # Lo [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN -1EEA1..1EEA3;AL # Lo [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL -1EEA5..1EEA9;AL # Lo [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH -1EEAB..1EEBB;AL # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN -1EEF0..1EEF1;AL # Sm [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL -1F000..1F02B;ID # So [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK -1F02C..1F02F;ID # Cn [4] .. -1F030..1F093;ID # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06 -1F094..1F09F;ID # Cn [12] .. -1F0A0..1F0AE;ID # So [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES -1F0AF..1F0B0;ID # Cn [2] .. -1F0B1..1F0BF;ID # So [15] PLAYING CARD ACE OF HEARTS..PLAYING CARD RED JOKER -1F0C0;ID # Cn -1F0C1..1F0CF;ID # So [15] PLAYING CARD ACE OF DIAMONDS..PLAYING CARD BLACK JOKER -1F0D0;ID # Cn -1F0D1..1F0F5;ID # So [37] PLAYING CARD ACE OF CLUBS..PLAYING CARD TRUMP-21 -1F0F6..1F0FF;ID # Cn [10] .. -1F100..1F10C;AI # No [13] DIGIT ZERO FULL STOP..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO -1F10D..1F10F;ID # So [3] CIRCLED ZERO WITH SLASH..CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH -1F110..1F12D;AI # So [30] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED CD -1F12E..1F12F;AL # So [2] CIRCLED WZ..COPYLEFT SYMBOL -1F130..1F169;AI # So [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z -1F16A..1F16C;AL # So [3] RAISED MC SIGN..RAISED MR SIGN -1F16D..1F16F;ID # So [3] CIRCLED CC..CIRCLED HUMAN FIGURE -1F170..1F1AC;AI # So [61] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VOD -1F1AD;ID # So MASK WORK SYMBOL -1F1AE..1F1E5;ID # Cn [56] .. -1F1E6..1F1FF;RI # So [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z -1F200..1F202;ID # So [3] SQUARE HIRAGANA HOKA..SQUARED KATAKANA SA -1F203..1F20F;ID # Cn [13] .. -1F210..1F23B;ID # So [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D -1F23C..1F23F;ID # Cn [4] .. -1F240..1F248;ID # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 -1F249..1F24F;ID # Cn [7] .. -1F250..1F251;ID # So [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT -1F252..1F25F;ID # Cn [14] .. -1F260..1F265;ID # So [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI -1F266..1F2FF;ID # Cn [154] .. -1F300..1F384;ID # So [133] CYCLONE..CHRISTMAS TREE -1F385;EB # So FATHER CHRISTMAS -1F386..1F39B;ID # So [22] FIREWORKS..CONTROL KNOBS -1F39C..1F39D;AL # So [2] BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES -1F39E..1F3B4;ID # So [23] FILM FRAMES..FLOWER PLAYING CARDS -1F3B5..1F3B6;AL # So [2] MUSICAL NOTE..MULTIPLE MUSICAL NOTES -1F3B7..1F3BB;ID # So [5] SAXOPHONE..VIOLIN -1F3BC;AL # So MUSICAL SCORE -1F3BD..1F3C1;ID # So [5] RUNNING SHIRT WITH SASH..CHEQUERED FLAG -1F3C2..1F3C4;EB # So [3] SNOWBOARDER..SURFER -1F3C5..1F3C6;ID # So [2] SPORTS MEDAL..TROPHY -1F3C7;EB # So HORSE RACING -1F3C8..1F3C9;ID # So [2] AMERICAN FOOTBALL..RUGBY FOOTBALL -1F3CA..1F3CC;EB # So [3] SWIMMER..GOLFER -1F3CD..1F3FA;ID # So [46] RACING MOTORCYCLE..AMPHORA -1F3FB..1F3FF;EM # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 -1F400..1F441;ID # So [66] RAT..EYE -1F442..1F443;EB # So [2] EAR..NOSE -1F444..1F445;ID # So [2] MOUTH..TONGUE -1F446..1F450;EB # So [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN -1F451..1F465;ID # So [21] CROWN..BUSTS IN SILHOUETTE -1F466..1F478;EB # So [19] BOY..PRINCESS -1F479..1F47B;ID # So [3] JAPANESE OGRE..GHOST -1F47C;EB # So BABY ANGEL -1F47D..1F480;ID # So [4] EXTRATERRESTRIAL ALIEN..SKULL -1F481..1F483;EB # So [3] INFORMATION DESK PERSON..DANCER -1F484;ID # So LIPSTICK -1F485..1F487;EB # So [3] NAIL POLISH..HAIRCUT -1F488..1F48E;ID # So [7] BARBER POLE..GEM STONE -1F48F;EB # So KISS -1F490;ID # So BOUQUET -1F491;EB # So COUPLE WITH HEART -1F492..1F49F;ID # So [14] WEDDING..HEART DECORATION -1F4A0;AL # So DIAMOND SHAPE WITH A DOT INSIDE -1F4A1;ID # So ELECTRIC LIGHT BULB -1F4A2;AL # So ANGER SYMBOL -1F4A3;ID # So BOMB -1F4A4;AL # So SLEEPING SYMBOL -1F4A5..1F4A9;ID # So [5] COLLISION SYMBOL..PILE OF POO -1F4AA;EB # So FLEXED BICEPS -1F4AB..1F4AE;ID # So [4] DIZZY SYMBOL..WHITE FLOWER -1F4AF;AL # So HUNDRED POINTS SYMBOL -1F4B0;ID # So MONEY BAG -1F4B1..1F4B2;AL # So [2] CURRENCY EXCHANGE..HEAVY DOLLAR SIGN -1F4B3..1F4FF;ID # So [77] CREDIT CARD..PRAYER BEADS -1F500..1F506;AL # So [7] TWISTED RIGHTWARDS ARROWS..HIGH BRIGHTNESS SYMBOL -1F507..1F516;ID # So [16] SPEAKER WITH CANCELLATION STROKE..BOOKMARK -1F517..1F524;AL # So [14] LINK SYMBOL..INPUT SYMBOL FOR LATIN LETTERS -1F525..1F531;ID # So [13] FIRE..TRIDENT EMBLEM -1F532..1F549;AL # So [24] BLACK SQUARE BUTTON..OM SYMBOL -1F54A..1F573;ID # So [42] DOVE OF PEACE..HOLE -1F574..1F575;EB # So [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY -1F576..1F579;ID # So [4] DARK SUNGLASSES..JOYSTICK -1F57A;EB # So MAN DANCING -1F57B..1F58F;ID # So [21] LEFT HAND TELEPHONE RECEIVER..TURNED OK HAND SIGN -1F590;EB # So RAISED HAND WITH FINGERS SPLAYED -1F591..1F594;ID # So [4] REVERSED RAISED HAND WITH FINGERS SPLAYED..REVERSED VICTORY HAND -1F595..1F596;EB # So [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS -1F597..1F5D3;ID # So [61] WHITE DOWN POINTING LEFT HAND INDEX..SPIRAL CALENDAR PAD -1F5D4..1F5DB;AL # So [8] DESKTOP WINDOW..DECREASE FONT SIZE SYMBOL -1F5DC..1F5F3;ID # So [24] COMPRESSION..BALLOT BOX WITH BALLOT -1F5F4..1F5F9;AL # So [6] BALLOT SCRIPT X..BALLOT BOX WITH BOLD CHECK -1F5FA..1F5FF;ID # So [6] WORLD MAP..MOYAI -1F600..1F644;ID # So [69] GRINNING FACE..FACE WITH ROLLING EYES -1F645..1F647;EB # So [3] FACE WITH NO GOOD GESTURE..PERSON BOWING DEEPLY -1F648..1F64A;ID # So [3] SEE-NO-EVIL MONKEY..SPEAK-NO-EVIL MONKEY -1F64B..1F64F;EB # So [5] HAPPY PERSON RAISING ONE HAND..PERSON WITH FOLDED HANDS -1F650..1F675;AL # So [38] NORTH WEST POINTING LEAF..SWASH AMPERSAND ORNAMENT -1F676..1F678;QU # So [3] SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT..SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT -1F679..1F67B;NS # So [3] HEAVY INTERROBANG ORNAMENT..HEAVY SANS-SERIF INTERROBANG ORNAMENT -1F67C..1F67F;AL # So [4] VERY HEAVY SOLIDUS..REVERSE CHECKER BOARD -1F680..1F6A2;ID # So [35] ROCKET..SHIP -1F6A3;EB # So ROWBOAT -1F6A4..1F6B3;ID # So [16] SPEEDBOAT..NO BICYCLES -1F6B4..1F6B6;EB # So [3] BICYCLIST..PEDESTRIAN -1F6B7..1F6BF;ID # So [9] NO PEDESTRIANS..SHOWER -1F6C0;EB # So BATH -1F6C1..1F6CB;ID # So [11] BATHTUB..COUCH AND LAMP -1F6CC;EB # So SLEEPING ACCOMMODATION -1F6CD..1F6D7;ID # So [11] SHOPPING BAGS..ELEVATOR -1F6D8..1F6DF;ID # Cn [8] .. -1F6E0..1F6EC;ID # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING -1F6ED..1F6EF;ID # Cn [3] .. -1F6F0..1F6FC;ID # So [13] SATELLITE..ROLLER SKATE -1F6FD..1F6FF;ID # Cn [3] .. -1F700..1F773;AL # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE -1F774..1F77F;ID # Cn [12] .. -1F780..1F7D4;AL # So [85] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..HEAVY TWELVE POINTED PINWHEEL STAR -1F7D5..1F7D8;ID # So [4] CIRCLED TRIANGLE..NEGATIVE CIRCLED SQUARE -1F7D9..1F7DF;ID # Cn [7] .. -1F7E0..1F7EB;ID # So [12] LARGE ORANGE CIRCLE..LARGE BROWN SQUARE -1F7EC..1F7FF;ID # Cn [20] .. -1F800..1F80B;AL # So [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD -1F80C..1F80F;ID # Cn [4] .. -1F810..1F847;AL # So [56] LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD..DOWNWARDS HEAVY ARROW -1F848..1F84F;ID # Cn [8] .. -1F850..1F859;AL # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW -1F85A..1F85F;ID # Cn [6] .. -1F860..1F887;AL # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW -1F888..1F88F;ID # Cn [8] .. -1F890..1F8AD;AL # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS -1F8AE..1F8AF;ID # Cn [2] .. -1F8B0..1F8B1;ID # So [2] ARROW POINTING UPWARDS THEN NORTH WEST..ARROW POINTING RIGHTWARDS THEN CURVING SOUTH WEST -1F8B2..1F8FF;ID # Cn [78] .. -1F900..1F90B;AL # So [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT -1F90C;EB # So PINCHED FINGERS -1F90D..1F90E;ID # So [2] WHITE HEART..BROWN HEART -1F90F;EB # So PINCHING HAND -1F910..1F917;ID # So [8] ZIPPER-MOUTH FACE..HUGGING FACE -1F918..1F91F;EB # So [8] SIGN OF THE HORNS..I LOVE YOU HAND SIGN -1F920..1F925;ID # So [6] FACE WITH COWBOY HAT..LYING FACE -1F926;EB # So FACE PALM -1F927..1F92F;ID # So [9] SNEEZING FACE..SHOCKED FACE WITH EXPLODING HEAD -1F930..1F939;EB # So [10] PREGNANT WOMAN..JUGGLING -1F93A..1F93B;ID # So [2] FENCER..MODERN PENTATHLON -1F93C..1F93E;EB # So [3] WRESTLERS..HANDBALL -1F93F..1F976;ID # So [56] DIVING MASK..FREEZING FACE -1F977;EB # So NINJA -1F978;ID # So DISGUISED FACE -1F979;ID # Cn -1F97A..1F9B4;ID # So [59] FACE WITH PLEADING EYES..BONE -1F9B5..1F9B6;EB # So [2] LEG..FOOT -1F9B7;ID # So TOOTH -1F9B8..1F9B9;EB # So [2] SUPERHERO..SUPERVILLAIN -1F9BA;ID # So SAFETY VEST -1F9BB;EB # So EAR WITH HEARING AID -1F9BC..1F9CB;ID # So [16] MOTORIZED WHEELCHAIR..BUBBLE TEA -1F9CC;ID # Cn -1F9CD..1F9CF;EB # So [3] STANDING PERSON..DEAF PERSON -1F9D0;ID # So FACE WITH MONOCLE -1F9D1..1F9DD;EB # So [13] ADULT..ELF -1F9DE..1F9FF;ID # So [34] GENIE..NAZAR AMULET -1FA00..1FA53;AL # So [84] NEUTRAL CHESS KING..BLACK CHESS KNIGHT-BISHOP -1FA54..1FA5F;ID # Cn [12] .. -1FA60..1FA6D;ID # So [14] XIANGQI RED GENERAL..XIANGQI BLACK SOLDIER -1FA6E..1FA6F;ID # Cn [2] .. -1FA70..1FA74;ID # So [5] BALLET SHOES..THONG SANDAL -1FA75..1FA77;ID # Cn [3] .. -1FA78..1FA7A;ID # So [3] DROP OF BLOOD..STETHOSCOPE -1FA7B..1FA7F;ID # Cn [5] .. -1FA80..1FA86;ID # So [7] YO-YO..NESTING DOLLS -1FA87..1FA8F;ID # Cn [9] .. -1FA90..1FAA8;ID # So [25] RINGED PLANET..ROCK -1FAA9..1FAAF;ID # Cn [7] .. -1FAB0..1FAB6;ID # So [7] FLY..FEATHER -1FAB7..1FABF;ID # Cn [9] .. -1FAC0..1FAC2;ID # So [3] ANATOMICAL HEART..PEOPLE HUGGING -1FAC3..1FACF;ID # Cn [13] .. -1FAD0..1FAD6;ID # So [7] BLUEBERRIES..TEAPOT -1FAD7..1FAFF;ID # Cn [41] .. -1FB00..1FB92;AL # So [147] BLOCK SEXTANT-1..UPPER HALF INVERSE MEDIUM SHADE AND LOWER HALF BLOCK -1FB94..1FBCA;AL # So [55] LEFT HALF INVERSE MEDIUM SHADE AND RIGHT HALF BLOCK..WHITE UP-POINTING CHEVRON -1FBF0..1FBF9;NU # Nd [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE -1FC00..1FFFD;ID # Cn [1022] .. -20000..2A6DD;ID # Lo [42718] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DD -2A6DE..2A6FF;ID # Cn [34] .. -2A700..2B734;ID # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 -2B735..2B73F;ID # Cn [11] .. -2B740..2B81D;ID # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D -2B81E..2B81F;ID # Cn [2] .. -2B820..2CEA1;ID # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 -2CEA2..2CEAF;ID # Cn [14] .. -2CEB0..2EBE0;ID # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0 -2EBE1..2F7FF;ID # Cn [3103] .. -2F800..2FA1D;ID # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D -2FA1E..2FA1F;ID # Cn [2] .. -2FA20..2FFFD;ID # Cn [1502] .. -30000..3134A;ID # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A -3134B..3FFFD;ID # Cn [60595] .. -E0001;CM # Cf LANGUAGE TAG -E0020..E007F;CM # Cf [96] TAG SPACE..CANCEL TAG -E0100..E01EF;CM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 -F0000..FFFFD;XX # Co [65534] .. -100000..10FFFD;XX # Co [65534] .. - -# EOF diff --git a/engine/src/flutter/third_party/web_unicode/properties/WordBreakProperty.txt b/engine/src/flutter/third_party/web_unicode/properties/WordBreakProperty.txt deleted file mode 100644 index 36d1438c26c9c..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/properties/WordBreakProperty.txt +++ /dev/null @@ -1,1397 +0,0 @@ -# WordBreakProperty-13.0.0.txt -# Date: 2020-01-22, 00:07:44 GMT -# © 2020 Unicode®, Inc. -# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. -# For terms of use, see http://www.unicode.org/terms_of_use.html -# -# Unicode Character Database -# For documentation, see http://www.unicode.org/reports/tr44/ - -# ================================================ - -# Property: Word_Break - -# All code points not explicitly listed for Word_Break -# have the value Other (XX). - -# @missing: 0000..10FFFF; Other - -# ================================================ - -0022 ; Double_Quote # Po QUOTATION MARK - -# Total code points: 1 - -# ================================================ - -0027 ; Single_Quote # Po APOSTROPHE - -# Total code points: 1 - -# ================================================ - -05D0..05EA ; Hebrew_Letter # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV -05EF..05F2 ; Hebrew_Letter # Lo [4] HEBREW YOD TRIANGLE..HEBREW LIGATURE YIDDISH DOUBLE YOD -FB1D ; Hebrew_Letter # Lo HEBREW LETTER YOD WITH HIRIQ -FB1F..FB28 ; Hebrew_Letter # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV -FB2A..FB36 ; Hebrew_Letter # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH -FB38..FB3C ; Hebrew_Letter # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH -FB3E ; Hebrew_Letter # Lo HEBREW LETTER MEM WITH DAGESH -FB40..FB41 ; Hebrew_Letter # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH -FB43..FB44 ; Hebrew_Letter # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH -FB46..FB4F ; Hebrew_Letter # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED - -# Total code points: 75 - -# ================================================ - -000D ; CR # Cc - -# Total code points: 1 - -# ================================================ - -000A ; LF # Cc - -# Total code points: 1 - -# ================================================ - -000B..000C ; Newline # Cc [2] .. -0085 ; Newline # Cc -2028 ; Newline # Zl LINE SEPARATOR -2029 ; Newline # Zp PARAGRAPH SEPARATOR - -# Total code points: 5 - -# ================================================ - -0300..036F ; Extend # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X -0483..0487 ; Extend # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE -0488..0489 ; Extend # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN -0591..05BD ; Extend # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG -05BF ; Extend # Mn HEBREW POINT RAFE -05C1..05C2 ; Extend # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT -05C4..05C5 ; Extend # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT -05C7 ; Extend # Mn HEBREW POINT QAMATS QATAN -0610..061A ; Extend # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA -064B..065F ; Extend # Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW -0670 ; Extend # Mn ARABIC LETTER SUPERSCRIPT ALEF -06D6..06DC ; Extend # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN -06DF..06E4 ; Extend # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA -06E7..06E8 ; Extend # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON -06EA..06ED ; Extend # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM -0711 ; Extend # Mn SYRIAC LETTER SUPERSCRIPT ALAPH -0730..074A ; Extend # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH -07A6..07B0 ; Extend # Mn [11] THAANA ABAFILI..THAANA SUKUN -07EB..07F3 ; Extend # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE -07FD ; Extend # Mn NKO DANTAYALAN -0816..0819 ; Extend # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH -081B..0823 ; Extend # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A -0825..0827 ; Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U -0829..082D ; Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA -0859..085B ; Extend # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK -08D3..08E1 ; Extend # Mn [15] ARABIC SMALL LOW WAW..ARABIC SMALL HIGH SIGN SAFHA -08E3..0902 ; Extend # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA -0903 ; Extend # Mc DEVANAGARI SIGN VISARGA -093A ; Extend # Mn DEVANAGARI VOWEL SIGN OE -093B ; Extend # Mc DEVANAGARI VOWEL SIGN OOE -093C ; Extend # Mn DEVANAGARI SIGN NUKTA -093E..0940 ; Extend # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II -0941..0948 ; Extend # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI -0949..094C ; Extend # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU -094D ; Extend # Mn DEVANAGARI SIGN VIRAMA -094E..094F ; Extend # Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW -0951..0957 ; Extend # Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE -0962..0963 ; Extend # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL -0981 ; Extend # Mn BENGALI SIGN CANDRABINDU -0982..0983 ; Extend # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA -09BC ; Extend # Mn BENGALI SIGN NUKTA -09BE..09C0 ; Extend # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II -09C1..09C4 ; Extend # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR -09C7..09C8 ; Extend # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI -09CB..09CC ; Extend # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU -09CD ; Extend # Mn BENGALI SIGN VIRAMA -09D7 ; Extend # Mc BENGALI AU LENGTH MARK -09E2..09E3 ; Extend # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL -09FE ; Extend # Mn BENGALI SANDHI MARK -0A01..0A02 ; Extend # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI -0A03 ; Extend # Mc GURMUKHI SIGN VISARGA -0A3C ; Extend # Mn GURMUKHI SIGN NUKTA -0A3E..0A40 ; Extend # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II -0A41..0A42 ; Extend # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU -0A47..0A48 ; Extend # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI -0A4B..0A4D ; Extend # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA -0A51 ; Extend # Mn GURMUKHI SIGN UDAAT -0A70..0A71 ; Extend # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK -0A75 ; Extend # Mn GURMUKHI SIGN YAKASH -0A81..0A82 ; Extend # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA -0A83 ; Extend # Mc GUJARATI SIGN VISARGA -0ABC ; Extend # Mn GUJARATI SIGN NUKTA -0ABE..0AC0 ; Extend # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II -0AC1..0AC5 ; Extend # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E -0AC7..0AC8 ; Extend # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI -0AC9 ; Extend # Mc GUJARATI VOWEL SIGN CANDRA O -0ACB..0ACC ; Extend # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU -0ACD ; Extend # Mn GUJARATI SIGN VIRAMA -0AE2..0AE3 ; Extend # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL -0AFA..0AFF ; Extend # Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE -0B01 ; Extend # Mn ORIYA SIGN CANDRABINDU -0B02..0B03 ; Extend # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA -0B3C ; Extend # Mn ORIYA SIGN NUKTA -0B3E ; Extend # Mc ORIYA VOWEL SIGN AA -0B3F ; Extend # Mn ORIYA VOWEL SIGN I -0B40 ; Extend # Mc ORIYA VOWEL SIGN II -0B41..0B44 ; Extend # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR -0B47..0B48 ; Extend # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI -0B4B..0B4C ; Extend # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU -0B4D ; Extend # Mn ORIYA SIGN VIRAMA -0B55..0B56 ; Extend # Mn [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK -0B57 ; Extend # Mc ORIYA AU LENGTH MARK -0B62..0B63 ; Extend # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL -0B82 ; Extend # Mn TAMIL SIGN ANUSVARA -0BBE..0BBF ; Extend # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I -0BC0 ; Extend # Mn TAMIL VOWEL SIGN II -0BC1..0BC2 ; Extend # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU -0BC6..0BC8 ; Extend # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI -0BCA..0BCC ; Extend # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU -0BCD ; Extend # Mn TAMIL SIGN VIRAMA -0BD7 ; Extend # Mc TAMIL AU LENGTH MARK -0C00 ; Extend # Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE -0C01..0C03 ; Extend # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA -0C04 ; Extend # Mn TELUGU SIGN COMBINING ANUSVARA ABOVE -0C3E..0C40 ; Extend # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II -0C41..0C44 ; Extend # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR -0C46..0C48 ; Extend # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI -0C4A..0C4D ; Extend # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA -0C55..0C56 ; Extend # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK -0C62..0C63 ; Extend # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL -0C81 ; Extend # Mn KANNADA SIGN CANDRABINDU -0C82..0C83 ; Extend # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA -0CBC ; Extend # Mn KANNADA SIGN NUKTA -0CBE ; Extend # Mc KANNADA VOWEL SIGN AA -0CBF ; Extend # Mn KANNADA VOWEL SIGN I -0CC0..0CC4 ; Extend # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR -0CC6 ; Extend # Mn KANNADA VOWEL SIGN E -0CC7..0CC8 ; Extend # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI -0CCA..0CCB ; Extend # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO -0CCC..0CCD ; Extend # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA -0CD5..0CD6 ; Extend # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK -0CE2..0CE3 ; Extend # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL -0D00..0D01 ; Extend # Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU -0D02..0D03 ; Extend # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA -0D3B..0D3C ; Extend # Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA -0D3E..0D40 ; Extend # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II -0D41..0D44 ; Extend # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR -0D46..0D48 ; Extend # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI -0D4A..0D4C ; Extend # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU -0D4D ; Extend # Mn MALAYALAM SIGN VIRAMA -0D57 ; Extend # Mc MALAYALAM AU LENGTH MARK -0D62..0D63 ; Extend # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL -0D81 ; Extend # Mn SINHALA SIGN CANDRABINDU -0D82..0D83 ; Extend # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA -0DCA ; Extend # Mn SINHALA SIGN AL-LAKUNA -0DCF..0DD1 ; Extend # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA -0DD2..0DD4 ; Extend # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA -0DD6 ; Extend # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA -0DD8..0DDF ; Extend # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA -0DF2..0DF3 ; Extend # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA -0E31 ; Extend # Mn THAI CHARACTER MAI HAN-AKAT -0E34..0E3A ; Extend # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU -0E47..0E4E ; Extend # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN -0EB1 ; Extend # Mn LAO VOWEL SIGN MAI KAN -0EB4..0EBC ; Extend # Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO -0EC8..0ECD ; Extend # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA -0F18..0F19 ; Extend # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS -0F35 ; Extend # Mn TIBETAN MARK NGAS BZUNG NYI ZLA -0F37 ; Extend # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS -0F39 ; Extend # Mn TIBETAN MARK TSA -PHRU -0F3E..0F3F ; Extend # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES -0F71..0F7E ; Extend # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO -0F7F ; Extend # Mc TIBETAN SIGN RNAM BCAD -0F80..0F84 ; Extend # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA -0F86..0F87 ; Extend # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS -0F8D..0F97 ; Extend # Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA -0F99..0FBC ; Extend # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA -0FC6 ; Extend # Mn TIBETAN SYMBOL PADMA GDAN -102B..102C ; Extend # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA -102D..1030 ; Extend # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU -1031 ; Extend # Mc MYANMAR VOWEL SIGN E -1032..1037 ; Extend # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW -1038 ; Extend # Mc MYANMAR SIGN VISARGA -1039..103A ; Extend # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT -103B..103C ; Extend # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA -103D..103E ; Extend # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA -1056..1057 ; Extend # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR -1058..1059 ; Extend # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL -105E..1060 ; Extend # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA -1062..1064 ; Extend # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO -1067..106D ; Extend # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5 -1071..1074 ; Extend # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE -1082 ; Extend # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA -1083..1084 ; Extend # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E -1085..1086 ; Extend # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y -1087..108C ; Extend # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3 -108D ; Extend # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE -108F ; Extend # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5 -109A..109C ; Extend # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A -109D ; Extend # Mn MYANMAR VOWEL SIGN AITON AI -135D..135F ; Extend # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK -1712..1714 ; Extend # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA -1732..1734 ; Extend # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD -1752..1753 ; Extend # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U -1772..1773 ; Extend # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U -17B4..17B5 ; Extend # Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA -17B6 ; Extend # Mc KHMER VOWEL SIGN AA -17B7..17BD ; Extend # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA -17BE..17C5 ; Extend # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU -17C6 ; Extend # Mn KHMER SIGN NIKAHIT -17C7..17C8 ; Extend # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU -17C9..17D3 ; Extend # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT -17DD ; Extend # Mn KHMER SIGN ATTHACAN -180B..180D ; Extend # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE -1885..1886 ; Extend # Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA -18A9 ; Extend # Mn MONGOLIAN LETTER ALI GALI DAGALGA -1920..1922 ; Extend # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U -1923..1926 ; Extend # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU -1927..1928 ; Extend # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O -1929..192B ; Extend # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA -1930..1931 ; Extend # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA -1932 ; Extend # Mn LIMBU SMALL LETTER ANUSVARA -1933..1938 ; Extend # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA -1939..193B ; Extend # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I -1A17..1A18 ; Extend # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U -1A19..1A1A ; Extend # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O -1A1B ; Extend # Mn BUGINESE VOWEL SIGN AE -1A55 ; Extend # Mc TAI THAM CONSONANT SIGN MEDIAL RA -1A56 ; Extend # Mn TAI THAM CONSONANT SIGN MEDIAL LA -1A57 ; Extend # Mc TAI THAM CONSONANT SIGN LA TANG LAI -1A58..1A5E ; Extend # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA -1A60 ; Extend # Mn TAI THAM SIGN SAKOT -1A61 ; Extend # Mc TAI THAM VOWEL SIGN A -1A62 ; Extend # Mn TAI THAM VOWEL SIGN MAI SAT -1A63..1A64 ; Extend # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA -1A65..1A6C ; Extend # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW -1A6D..1A72 ; Extend # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI -1A73..1A7C ; Extend # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN -1A7F ; Extend # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT -1AB0..1ABD ; Extend # Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW -1ABE ; Extend # Me COMBINING PARENTHESES OVERLAY -1ABF..1AC0 ; Extend # Mn [2] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER TURNED W BELOW -1B00..1B03 ; Extend # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG -1B04 ; Extend # Mc BALINESE SIGN BISAH -1B34 ; Extend # Mn BALINESE SIGN REREKAN -1B35 ; Extend # Mc BALINESE VOWEL SIGN TEDUNG -1B36..1B3A ; Extend # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA -1B3B ; Extend # Mc BALINESE VOWEL SIGN RA REPA TEDUNG -1B3C ; Extend # Mn BALINESE VOWEL SIGN LA LENGA -1B3D..1B41 ; Extend # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG -1B42 ; Extend # Mn BALINESE VOWEL SIGN PEPET -1B43..1B44 ; Extend # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG -1B6B..1B73 ; Extend # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG -1B80..1B81 ; Extend # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR -1B82 ; Extend # Mc SUNDANESE SIGN PANGWISAD -1BA1 ; Extend # Mc SUNDANESE CONSONANT SIGN PAMINGKAL -1BA2..1BA5 ; Extend # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU -1BA6..1BA7 ; Extend # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG -1BA8..1BA9 ; Extend # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG -1BAA ; Extend # Mc SUNDANESE SIGN PAMAAEH -1BAB..1BAD ; Extend # Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA -1BE6 ; Extend # Mn BATAK SIGN TOMPI -1BE7 ; Extend # Mc BATAK VOWEL SIGN E -1BE8..1BE9 ; Extend # Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE -1BEA..1BEC ; Extend # Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O -1BED ; Extend # Mn BATAK VOWEL SIGN KARO O -1BEE ; Extend # Mc BATAK VOWEL SIGN U -1BEF..1BF1 ; Extend # Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H -1BF2..1BF3 ; Extend # Mc [2] BATAK PANGOLAT..BATAK PANONGONAN -1C24..1C2B ; Extend # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU -1C2C..1C33 ; Extend # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T -1C34..1C35 ; Extend # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG -1C36..1C37 ; Extend # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA -1CD0..1CD2 ; Extend # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA -1CD4..1CE0 ; Extend # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA -1CE1 ; Extend # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA -1CE2..1CE8 ; Extend # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL -1CED ; Extend # Mn VEDIC SIGN TIRYAK -1CF4 ; Extend # Mn VEDIC TONE CANDRA ABOVE -1CF7 ; Extend # Mc VEDIC SIGN ATIKRAMA -1CF8..1CF9 ; Extend # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE -1DC0..1DF9 ; Extend # Mn [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW -1DFB..1DFF ; Extend # Mn [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW -200C ; Extend # Cf ZERO WIDTH NON-JOINER -20D0..20DC ; Extend # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE -20DD..20E0 ; Extend # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH -20E1 ; Extend # Mn COMBINING LEFT RIGHT ARROW ABOVE -20E2..20E4 ; Extend # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE -20E5..20F0 ; Extend # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE -2CEF..2CF1 ; Extend # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS -2D7F ; Extend # Mn TIFINAGH CONSONANT JOINER -2DE0..2DFF ; Extend # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS -302A..302D ; Extend # Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK -302E..302F ; Extend # Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK -3099..309A ; Extend # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -A66F ; Extend # Mn COMBINING CYRILLIC VZMET -A670..A672 ; Extend # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN -A674..A67D ; Extend # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK -A69E..A69F ; Extend # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E -A6F0..A6F1 ; Extend # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS -A802 ; Extend # Mn SYLOTI NAGRI SIGN DVISVARA -A806 ; Extend # Mn SYLOTI NAGRI SIGN HASANTA -A80B ; Extend # Mn SYLOTI NAGRI SIGN ANUSVARA -A823..A824 ; Extend # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I -A825..A826 ; Extend # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E -A827 ; Extend # Mc SYLOTI NAGRI VOWEL SIGN OO -A82C ; Extend # Mn SYLOTI NAGRI SIGN ALTERNATE HASANTA -A880..A881 ; Extend # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA -A8B4..A8C3 ; Extend # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU -A8C4..A8C5 ; Extend # Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU -A8E0..A8F1 ; Extend # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA -A8FF ; Extend # Mn DEVANAGARI VOWEL SIGN AY -A926..A92D ; Extend # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU -A947..A951 ; Extend # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R -A952..A953 ; Extend # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA -A980..A982 ; Extend # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR -A983 ; Extend # Mc JAVANESE SIGN WIGNYAN -A9B3 ; Extend # Mn JAVANESE SIGN CECAK TELU -A9B4..A9B5 ; Extend # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG -A9B6..A9B9 ; Extend # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT -A9BA..A9BB ; Extend # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE -A9BC..A9BD ; Extend # Mn [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET -A9BE..A9C0 ; Extend # Mc [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON -A9E5 ; Extend # Mn MYANMAR SIGN SHAN SAW -AA29..AA2E ; Extend # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE -AA2F..AA30 ; Extend # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI -AA31..AA32 ; Extend # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE -AA33..AA34 ; Extend # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA -AA35..AA36 ; Extend # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA -AA43 ; Extend # Mn CHAM CONSONANT SIGN FINAL NG -AA4C ; Extend # Mn CHAM CONSONANT SIGN FINAL M -AA4D ; Extend # Mc CHAM CONSONANT SIGN FINAL H -AA7B ; Extend # Mc MYANMAR SIGN PAO KAREN TONE -AA7C ; Extend # Mn MYANMAR SIGN TAI LAING TONE-2 -AA7D ; Extend # Mc MYANMAR SIGN TAI LAING TONE-5 -AAB0 ; Extend # Mn TAI VIET MAI KANG -AAB2..AAB4 ; Extend # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U -AAB7..AAB8 ; Extend # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA -AABE..AABF ; Extend # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK -AAC1 ; Extend # Mn TAI VIET TONE MAI THO -AAEB ; Extend # Mc MEETEI MAYEK VOWEL SIGN II -AAEC..AAED ; Extend # Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI -AAEE..AAEF ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU -AAF5 ; Extend # Mc MEETEI MAYEK VOWEL SIGN VISARGA -AAF6 ; Extend # Mn MEETEI MAYEK VIRAMA -ABE3..ABE4 ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP -ABE5 ; Extend # Mn MEETEI MAYEK VOWEL SIGN ANAP -ABE6..ABE7 ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP -ABE8 ; Extend # Mn MEETEI MAYEK VOWEL SIGN UNAP -ABE9..ABEA ; Extend # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG -ABEC ; Extend # Mc MEETEI MAYEK LUM IYEK -ABED ; Extend # Mn MEETEI MAYEK APUN IYEK -FB1E ; Extend # Mn HEBREW POINT JUDEO-SPANISH VARIKA -FE00..FE0F ; Extend # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 -FE20..FE2F ; Extend # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF -FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK -101FD ; Extend # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE -102E0 ; Extend # Mn COPTIC EPACT THOUSANDS MARK -10376..1037A ; Extend # Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII -10A01..10A03 ; Extend # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R -10A05..10A06 ; Extend # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O -10A0C..10A0F ; Extend # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA -10A38..10A3A ; Extend # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW -10A3F ; Extend # Mn KHAROSHTHI VIRAMA -10AE5..10AE6 ; Extend # Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW -10D24..10D27 ; Extend # Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI -10EAB..10EAC ; Extend # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK -10F46..10F50 ; Extend # Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW -11000 ; Extend # Mc BRAHMI SIGN CANDRABINDU -11001 ; Extend # Mn BRAHMI SIGN ANUSVARA -11002 ; Extend # Mc BRAHMI SIGN VISARGA -11038..11046 ; Extend # Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA -1107F..11081 ; Extend # Mn [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA -11082 ; Extend # Mc KAITHI SIGN VISARGA -110B0..110B2 ; Extend # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II -110B3..110B6 ; Extend # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI -110B7..110B8 ; Extend # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU -110B9..110BA ; Extend # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA -11100..11102 ; Extend # Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA -11127..1112B ; Extend # Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU -1112C ; Extend # Mc CHAKMA VOWEL SIGN E -1112D..11134 ; Extend # Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA -11145..11146 ; Extend # Mc [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI -11173 ; Extend # Mn MAHAJANI SIGN NUKTA -11180..11181 ; Extend # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA -11182 ; Extend # Mc SHARADA SIGN VISARGA -111B3..111B5 ; Extend # Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II -111B6..111BE ; Extend # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O -111BF..111C0 ; Extend # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA -111C9..111CC ; Extend # Mn [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK -111CE ; Extend # Mc SHARADA VOWEL SIGN PRISHTHAMATRA E -111CF ; Extend # Mn SHARADA SIGN INVERTED CANDRABINDU -1122C..1122E ; Extend # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II -1122F..11231 ; Extend # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI -11232..11233 ; Extend # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU -11234 ; Extend # Mn KHOJKI SIGN ANUSVARA -11235 ; Extend # Mc KHOJKI SIGN VIRAMA -11236..11237 ; Extend # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA -1123E ; Extend # Mn KHOJKI SIGN SUKUN -112DF ; Extend # Mn KHUDAWADI SIGN ANUSVARA -112E0..112E2 ; Extend # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II -112E3..112EA ; Extend # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA -11300..11301 ; Extend # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU -11302..11303 ; Extend # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA -1133B..1133C ; Extend # Mn [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA -1133E..1133F ; Extend # Mc [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I -11340 ; Extend # Mn GRANTHA VOWEL SIGN II -11341..11344 ; Extend # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR -11347..11348 ; Extend # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI -1134B..1134D ; Extend # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA -11357 ; Extend # Mc GRANTHA AU LENGTH MARK -11362..11363 ; Extend # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL -11366..1136C ; Extend # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX -11370..11374 ; Extend # Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA -11435..11437 ; Extend # Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II -11438..1143F ; Extend # Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI -11440..11441 ; Extend # Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU -11442..11444 ; Extend # Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA -11445 ; Extend # Mc NEWA SIGN VISARGA -11446 ; Extend # Mn NEWA SIGN NUKTA -1145E ; Extend # Mn NEWA SANDHI MARK -114B0..114B2 ; Extend # Mc [3] TIRHUTA VOWEL SIGN AA..TIRHUTA VOWEL SIGN II -114B3..114B8 ; Extend # Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL -114B9 ; Extend # Mc TIRHUTA VOWEL SIGN E -114BA ; Extend # Mn TIRHUTA VOWEL SIGN SHORT E -114BB..114BE ; Extend # Mc [4] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN AU -114BF..114C0 ; Extend # Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA -114C1 ; Extend # Mc TIRHUTA SIGN VISARGA -114C2..114C3 ; Extend # Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA -115AF..115B1 ; Extend # Mc [3] SIDDHAM VOWEL SIGN AA..SIDDHAM VOWEL SIGN II -115B2..115B5 ; Extend # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR -115B8..115BB ; Extend # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU -115BC..115BD ; Extend # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA -115BE ; Extend # Mc SIDDHAM SIGN VISARGA -115BF..115C0 ; Extend # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA -115DC..115DD ; Extend # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU -11630..11632 ; Extend # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II -11633..1163A ; Extend # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI -1163B..1163C ; Extend # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU -1163D ; Extend # Mn MODI SIGN ANUSVARA -1163E ; Extend # Mc MODI SIGN VISARGA -1163F..11640 ; Extend # Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA -116AB ; Extend # Mn TAKRI SIGN ANUSVARA -116AC ; Extend # Mc TAKRI SIGN VISARGA -116AD ; Extend # Mn TAKRI VOWEL SIGN AA -116AE..116AF ; Extend # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II -116B0..116B5 ; Extend # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU -116B6 ; Extend # Mc TAKRI SIGN VIRAMA -116B7 ; Extend # Mn TAKRI SIGN NUKTA -1171D..1171F ; Extend # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA -11720..11721 ; Extend # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA -11722..11725 ; Extend # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU -11726 ; Extend # Mc AHOM VOWEL SIGN E -11727..1172B ; Extend # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER -1182C..1182E ; Extend # Mc [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II -1182F..11837 ; Extend # Mn [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA -11838 ; Extend # Mc DOGRA SIGN VISARGA -11839..1183A ; Extend # Mn [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA -11930..11935 ; Extend # Mc [6] DIVES AKURU VOWEL SIGN AA..DIVES AKURU VOWEL SIGN E -11937..11938 ; Extend # Mc [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O -1193B..1193C ; Extend # Mn [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU -1193D ; Extend # Mc DIVES AKURU SIGN HALANTA -1193E ; Extend # Mn DIVES AKURU VIRAMA -11940 ; Extend # Mc DIVES AKURU MEDIAL YA -11942 ; Extend # Mc DIVES AKURU MEDIAL RA -11943 ; Extend # Mn DIVES AKURU SIGN NUKTA -119D1..119D3 ; Extend # Mc [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II -119D4..119D7 ; Extend # Mn [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR -119DA..119DB ; Extend # Mn [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI -119DC..119DF ; Extend # Mc [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA -119E0 ; Extend # Mn NANDINAGARI SIGN VIRAMA -119E4 ; Extend # Mc NANDINAGARI VOWEL SIGN PRISHTHAMATRA E -11A01..11A0A ; Extend # Mn [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK -11A33..11A38 ; Extend # Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA -11A39 ; Extend # Mc ZANABAZAR SQUARE SIGN VISARGA -11A3B..11A3E ; Extend # Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA -11A47 ; Extend # Mn ZANABAZAR SQUARE SUBJOINER -11A51..11A56 ; Extend # Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE -11A57..11A58 ; Extend # Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU -11A59..11A5B ; Extend # Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK -11A8A..11A96 ; Extend # Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA -11A97 ; Extend # Mc SOYOMBO SIGN VISARGA -11A98..11A99 ; Extend # Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER -11C2F ; Extend # Mc BHAIKSUKI VOWEL SIGN AA -11C30..11C36 ; Extend # Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L -11C38..11C3D ; Extend # Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA -11C3E ; Extend # Mc BHAIKSUKI SIGN VISARGA -11C3F ; Extend # Mn BHAIKSUKI SIGN VIRAMA -11C92..11CA7 ; Extend # Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA -11CA9 ; Extend # Mc MARCHEN SUBJOINED LETTER YA -11CAA..11CB0 ; Extend # Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA -11CB1 ; Extend # Mc MARCHEN VOWEL SIGN I -11CB2..11CB3 ; Extend # Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E -11CB4 ; Extend # Mc MARCHEN VOWEL SIGN O -11CB5..11CB6 ; Extend # Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU -11D31..11D36 ; Extend # Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R -11D3A ; Extend # Mn MASARAM GONDI VOWEL SIGN E -11D3C..11D3D ; Extend # Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O -11D3F..11D45 ; Extend # Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA -11D47 ; Extend # Mn MASARAM GONDI RA-KARA -11D8A..11D8E ; Extend # Mc [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA GONDI VOWEL SIGN UU -11D90..11D91 ; Extend # Mn [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI -11D93..11D94 ; Extend # Mc [2] GUNJALA GONDI VOWEL SIGN OO..GUNJALA GONDI VOWEL SIGN AU -11D95 ; Extend # Mn GUNJALA GONDI SIGN ANUSVARA -11D96 ; Extend # Mc GUNJALA GONDI SIGN VISARGA -11D97 ; Extend # Mn GUNJALA GONDI VIRAMA -11EF3..11EF4 ; Extend # Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U -11EF5..11EF6 ; Extend # Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O -16AF0..16AF4 ; Extend # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE -16B30..16B36 ; Extend # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM -16F4F ; Extend # Mn MIAO SIGN CONSONANT MODIFIER BAR -16F51..16F87 ; Extend # Mc [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI -16F8F..16F92 ; Extend # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW -16FE4 ; Extend # Mn KHITAN SMALL SCRIPT FILLER -16FF0..16FF1 ; Extend # Mc [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY -1BC9D..1BC9E ; Extend # Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK -1D165..1D166 ; Extend # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM -1D167..1D169 ; Extend # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3 -1D16D..1D172 ; Extend # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5 -1D17B..1D182 ; Extend # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE -1D185..1D18B ; Extend # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE -1D1AA..1D1AD ; Extend # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO -1D242..1D244 ; Extend # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME -1DA00..1DA36 ; Extend # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN -1DA3B..1DA6C ; Extend # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT -1DA75 ; Extend # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS -1DA84 ; Extend # Mn SIGNWRITING LOCATION HEAD NECK -1DA9B..1DA9F ; Extend # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 -1DAA1..1DAAF ; Extend # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 -1E000..1E006 ; Extend # Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE -1E008..1E018 ; Extend # Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU -1E01B..1E021 ; Extend # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI -1E023..1E024 ; Extend # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS -1E026..1E02A ; Extend # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA -1E130..1E136 ; Extend # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D -1E2EC..1E2EF ; Extend # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI -1E8D0..1E8D6 ; Extend # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS -1E944..1E94A ; Extend # Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA -1F3FB..1F3FF ; Extend # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 -E0020..E007F ; Extend # Cf [96] TAG SPACE..CANCEL TAG -E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 - -# Total code points: 2399 - -# ================================================ - -1F1E6..1F1FF ; Regional_Indicator # So [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z - -# Total code points: 26 - -# ================================================ - -00AD ; Format # Cf SOFT HYPHEN -0600..0605 ; Format # Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE -061C ; Format # Cf ARABIC LETTER MARK -06DD ; Format # Cf ARABIC END OF AYAH -070F ; Format # Cf SYRIAC ABBREVIATION MARK -08E2 ; Format # Cf ARABIC DISPUTED END OF AYAH -180E ; Format # Cf MONGOLIAN VOWEL SEPARATOR -200E..200F ; Format # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK -202A..202E ; Format # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE -2060..2064 ; Format # Cf [5] WORD JOINER..INVISIBLE PLUS -2066..206F ; Format # Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES -FEFF ; Format # Cf ZERO WIDTH NO-BREAK SPACE -FFF9..FFFB ; Format # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR -110BD ; Format # Cf KAITHI NUMBER SIGN -110CD ; Format # Cf KAITHI NUMBER SIGN ABOVE -13430..13438 ; Format # Cf [9] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END SEGMENT -1BCA0..1BCA3 ; Format # Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP -1D173..1D17A ; Format # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE -E0001 ; Format # Cf LANGUAGE TAG - -# Total code points: 62 - -# ================================================ - -3031..3035 ; Katakana # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF -309B..309C ; Katakana # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK -30A0 ; Katakana # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN -30A1..30FA ; Katakana # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO -30FC..30FE ; Katakana # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK -30FF ; Katakana # Lo KATAKANA DIGRAPH KOTO -31F0..31FF ; Katakana # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO -32D0..32FE ; Katakana # So [47] CIRCLED KATAKANA A..CIRCLED KATAKANA WO -3300..3357 ; Katakana # So [88] SQUARE APAATO..SQUARE WATTO -FF66..FF6F ; Katakana # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU -FF70 ; Katakana # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK -FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N -1B000 ; Katakana # Lo KATAKANA LETTER ARCHAIC E -1B164..1B167 ; Katakana # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N - -# Total code points: 314 - -# ================================================ - -0041..005A ; ALetter # L& [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z -0061..007A ; ALetter # L& [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z -00AA ; ALetter # Lo FEMININE ORDINAL INDICATOR -00B5 ; ALetter # L& MICRO SIGN -00BA ; ALetter # Lo MASCULINE ORDINAL INDICATOR -00C0..00D6 ; ALetter # L& [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS -00D8..00F6 ; ALetter # L& [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS -00F8..01BA ; ALetter # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL -01BB ; ALetter # Lo LATIN LETTER TWO WITH STROKE -01BC..01BF ; ALetter # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN -01C0..01C3 ; ALetter # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK -01C4..0293 ; ALetter # L& [208] LATIN CAPITAL LETTER DZ WITH CARON..LATIN SMALL LETTER EZH WITH CURL -0294 ; ALetter # Lo LATIN LETTER GLOTTAL STOP -0295..02AF ; ALetter # L& [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL -02B0..02C1 ; ALetter # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP -02C2..02C5 ; ALetter # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD -02C6..02D1 ; ALetter # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON -02D2..02D7 ; ALetter # Sk [6] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER MINUS SIGN -02DE..02DF ; ALetter # Sk [2] MODIFIER LETTER RHOTIC HOOK..MODIFIER LETTER CROSS ACCENT -02E0..02E4 ; ALetter # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP -02E5..02EB ; ALetter # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK -02EC ; ALetter # Lm MODIFIER LETTER VOICING -02ED ; ALetter # Sk MODIFIER LETTER UNASPIRATED -02EE ; ALetter # Lm MODIFIER LETTER DOUBLE APOSTROPHE -02EF..02FF ; ALetter # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW -0370..0373 ; ALetter # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI -0374 ; ALetter # Lm GREEK NUMERAL SIGN -0376..0377 ; ALetter # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA -037A ; ALetter # Lm GREEK YPOGEGRAMMENI -037B..037D ; ALetter # L& [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL -037F ; ALetter # L& GREEK CAPITAL LETTER YOT -0386 ; ALetter # L& GREEK CAPITAL LETTER ALPHA WITH TONOS -0388..038A ; ALetter # L& [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS -038C ; ALetter # L& GREEK CAPITAL LETTER OMICRON WITH TONOS -038E..03A1 ; ALetter # L& [20] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK CAPITAL LETTER RHO -03A3..03F5 ; ALetter # L& [83] GREEK CAPITAL LETTER SIGMA..GREEK LUNATE EPSILON SYMBOL -03F7..0481 ; ALetter # L& [139] GREEK CAPITAL LETTER SHO..CYRILLIC SMALL LETTER KOPPA -048A..052F ; ALetter # L& [166] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER EL WITH DESCENDER -0531..0556 ; ALetter # L& [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH -0559 ; ALetter # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING -055A..055C ; ALetter # Po [3] ARMENIAN APOSTROPHE..ARMENIAN EXCLAMATION MARK -055E ; ALetter # Po ARMENIAN QUESTION MARK -0560..0588 ; ALetter # L& [41] ARMENIAN SMALL LETTER TURNED AYB..ARMENIAN SMALL LETTER YI WITH STROKE -058A ; ALetter # Pd ARMENIAN HYPHEN -05F3 ; ALetter # Po HEBREW PUNCTUATION GERESH -0620..063F ; ALetter # Lo [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE -0640 ; ALetter # Lm ARABIC TATWEEL -0641..064A ; ALetter # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH -066E..066F ; ALetter # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF -0671..06D3 ; ALetter # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE -06D5 ; ALetter # Lo ARABIC LETTER AE -06E5..06E6 ; ALetter # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH -06EE..06EF ; ALetter # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V -06FA..06FC ; ALetter # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW -06FF ; ALetter # Lo ARABIC LETTER HEH WITH INVERTED V -0710 ; ALetter # Lo SYRIAC LETTER ALAPH -0712..072F ; ALetter # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH -074D..07A5 ; ALetter # Lo [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU -07B1 ; ALetter # Lo THAANA LETTER NAA -07CA..07EA ; ALetter # Lo [33] NKO LETTER A..NKO LETTER JONA RA -07F4..07F5 ; ALetter # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE -07FA ; ALetter # Lm NKO LAJANYALAN -0800..0815 ; ALetter # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF -081A ; ALetter # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT -0824 ; ALetter # Lm SAMARITAN MODIFIER LETTER SHORT A -0828 ; ALetter # Lm SAMARITAN MODIFIER LETTER I -0840..0858 ; ALetter # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN -0860..086A ; ALetter # Lo [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA -08A0..08B4 ; ALetter # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW -08B6..08C7 ; ALetter # Lo [18] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER LAM WITH SMALL ARABIC LETTER TAH ABOVE -0904..0939 ; ALetter # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA -093D ; ALetter # Lo DEVANAGARI SIGN AVAGRAHA -0950 ; ALetter # Lo DEVANAGARI OM -0958..0961 ; ALetter # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL -0971 ; ALetter # Lm DEVANAGARI SIGN HIGH SPACING DOT -0972..0980 ; ALetter # Lo [15] DEVANAGARI LETTER CANDRA A..BENGALI ANJI -0985..098C ; ALetter # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L -098F..0990 ; ALetter # Lo [2] BENGALI LETTER E..BENGALI LETTER AI -0993..09A8 ; ALetter # Lo [22] BENGALI LETTER O..BENGALI LETTER NA -09AA..09B0 ; ALetter # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA -09B2 ; ALetter # Lo BENGALI LETTER LA -09B6..09B9 ; ALetter # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA -09BD ; ALetter # Lo BENGALI SIGN AVAGRAHA -09CE ; ALetter # Lo BENGALI LETTER KHANDA TA -09DC..09DD ; ALetter # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA -09DF..09E1 ; ALetter # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL -09F0..09F1 ; ALetter # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL -09FC ; ALetter # Lo BENGALI LETTER VEDIC ANUSVARA -0A05..0A0A ; ALetter # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU -0A0F..0A10 ; ALetter # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI -0A13..0A28 ; ALetter # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA -0A2A..0A30 ; ALetter # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA -0A32..0A33 ; ALetter # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA -0A35..0A36 ; ALetter # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA -0A38..0A39 ; ALetter # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA -0A59..0A5C ; ALetter # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA -0A5E ; ALetter # Lo GURMUKHI LETTER FA -0A72..0A74 ; ALetter # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR -0A85..0A8D ; ALetter # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E -0A8F..0A91 ; ALetter # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O -0A93..0AA8 ; ALetter # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA -0AAA..0AB0 ; ALetter # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA -0AB2..0AB3 ; ALetter # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA -0AB5..0AB9 ; ALetter # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA -0ABD ; ALetter # Lo GUJARATI SIGN AVAGRAHA -0AD0 ; ALetter # Lo GUJARATI OM -0AE0..0AE1 ; ALetter # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL -0AF9 ; ALetter # Lo GUJARATI LETTER ZHA -0B05..0B0C ; ALetter # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L -0B0F..0B10 ; ALetter # Lo [2] ORIYA LETTER E..ORIYA LETTER AI -0B13..0B28 ; ALetter # Lo [22] ORIYA LETTER O..ORIYA LETTER NA -0B2A..0B30 ; ALetter # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA -0B32..0B33 ; ALetter # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA -0B35..0B39 ; ALetter # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA -0B3D ; ALetter # Lo ORIYA SIGN AVAGRAHA -0B5C..0B5D ; ALetter # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA -0B5F..0B61 ; ALetter # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL -0B71 ; ALetter # Lo ORIYA LETTER WA -0B83 ; ALetter # Lo TAMIL SIGN VISARGA -0B85..0B8A ; ALetter # Lo [6] TAMIL LETTER A..TAMIL LETTER UU -0B8E..0B90 ; ALetter # Lo [3] TAMIL LETTER E..TAMIL LETTER AI -0B92..0B95 ; ALetter # Lo [4] TAMIL LETTER O..TAMIL LETTER KA -0B99..0B9A ; ALetter # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA -0B9C ; ALetter # Lo TAMIL LETTER JA -0B9E..0B9F ; ALetter # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA -0BA3..0BA4 ; ALetter # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA -0BA8..0BAA ; ALetter # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA -0BAE..0BB9 ; ALetter # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA -0BD0 ; ALetter # Lo TAMIL OM -0C05..0C0C ; ALetter # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L -0C0E..0C10 ; ALetter # Lo [3] TELUGU LETTER E..TELUGU LETTER AI -0C12..0C28 ; ALetter # Lo [23] TELUGU LETTER O..TELUGU LETTER NA -0C2A..0C39 ; ALetter # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA -0C3D ; ALetter # Lo TELUGU SIGN AVAGRAHA -0C58..0C5A ; ALetter # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA -0C60..0C61 ; ALetter # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL -0C80 ; ALetter # Lo KANNADA SIGN SPACING CANDRABINDU -0C85..0C8C ; ALetter # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L -0C8E..0C90 ; ALetter # Lo [3] KANNADA LETTER E..KANNADA LETTER AI -0C92..0CA8 ; ALetter # Lo [23] KANNADA LETTER O..KANNADA LETTER NA -0CAA..0CB3 ; ALetter # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA -0CB5..0CB9 ; ALetter # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA -0CBD ; ALetter # Lo KANNADA SIGN AVAGRAHA -0CDE ; ALetter # Lo KANNADA LETTER FA -0CE0..0CE1 ; ALetter # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL -0CF1..0CF2 ; ALetter # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA -0D04..0D0C ; ALetter # Lo [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L -0D0E..0D10 ; ALetter # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI -0D12..0D3A ; ALetter # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA -0D3D ; ALetter # Lo MALAYALAM SIGN AVAGRAHA -0D4E ; ALetter # Lo MALAYALAM LETTER DOT REPH -0D54..0D56 ; ALetter # Lo [3] MALAYALAM LETTER CHILLU M..MALAYALAM LETTER CHILLU LLL -0D5F..0D61 ; ALetter # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL -0D7A..0D7F ; ALetter # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K -0D85..0D96 ; ALetter # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA -0D9A..0DB1 ; ALetter # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA -0DB3..0DBB ; ALetter # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA -0DBD ; ALetter # Lo SINHALA LETTER DANTAJA LAYANNA -0DC0..0DC6 ; ALetter # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA -0F00 ; ALetter # Lo TIBETAN SYLLABLE OM -0F40..0F47 ; ALetter # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA -0F49..0F6C ; ALetter # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA -0F88..0F8C ; ALetter # Lo [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN -10A0..10C5 ; ALetter # L& [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE -10C7 ; ALetter # L& GEORGIAN CAPITAL LETTER YN -10CD ; ALetter # L& GEORGIAN CAPITAL LETTER AEN -10D0..10FA ; ALetter # L& [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN -10FC ; ALetter # Lm MODIFIER LETTER GEORGIAN NAR -10FD..10FF ; ALetter # L& [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN -1100..1248 ; ALetter # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA -124A..124D ; ALetter # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE -1250..1256 ; ALetter # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO -1258 ; ALetter # Lo ETHIOPIC SYLLABLE QHWA -125A..125D ; ALetter # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE -1260..1288 ; ALetter # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA -128A..128D ; ALetter # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE -1290..12B0 ; ALetter # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA -12B2..12B5 ; ALetter # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE -12B8..12BE ; ALetter # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO -12C0 ; ALetter # Lo ETHIOPIC SYLLABLE KXWA -12C2..12C5 ; ALetter # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE -12C8..12D6 ; ALetter # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O -12D8..1310 ; ALetter # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA -1312..1315 ; ALetter # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE -1318..135A ; ALetter # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA -1380..138F ; ALetter # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE -13A0..13F5 ; ALetter # L& [86] CHEROKEE LETTER A..CHEROKEE LETTER MV -13F8..13FD ; ALetter # L& [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV -1401..166C ; ALetter # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA -166F..167F ; ALetter # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W -1681..169A ; ALetter # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH -16A0..16EA ; ALetter # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X -16EE..16F0 ; ALetter # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL -16F1..16F8 ; ALetter # Lo [8] RUNIC LETTER K..RUNIC LETTER FRANKS CASKET AESC -1700..170C ; ALetter # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA -170E..1711 ; ALetter # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA -1720..1731 ; ALetter # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA -1740..1751 ; ALetter # Lo [18] BUHID LETTER A..BUHID LETTER HA -1760..176C ; ALetter # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA -176E..1770 ; ALetter # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA -1820..1842 ; ALetter # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI -1843 ; ALetter # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN -1844..1878 ; ALetter # Lo [53] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER CHA WITH TWO DOTS -1880..1884 ; ALetter # Lo [5] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER ALI GALI INVERTED UBADAMA -1887..18A8 ; ALetter # Lo [34] MONGOLIAN LETTER ALI GALI A..MONGOLIAN LETTER MANCHU ALI GALI BHA -18AA ; ALetter # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA -18B0..18F5 ; ALetter # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S -1900..191E ; ALetter # Lo [31] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER TRA -1A00..1A16 ; ALetter # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA -1B05..1B33 ; ALetter # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA -1B45..1B4B ; ALetter # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK -1B83..1BA0 ; ALetter # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA -1BAE..1BAF ; ALetter # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA -1BBA..1BE5 ; ALetter # Lo [44] SUNDANESE AVAGRAHA..BATAK LETTER U -1C00..1C23 ; ALetter # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A -1C4D..1C4F ; ALetter # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA -1C5A..1C77 ; ALetter # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH -1C78..1C7D ; ALetter # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD -1C80..1C88 ; ALetter # L& [9] CYRILLIC SMALL LETTER ROUNDED VE..CYRILLIC SMALL LETTER UNBLENDED UK -1C90..1CBA ; ALetter # L& [43] GEORGIAN MTAVRULI CAPITAL LETTER AN..GEORGIAN MTAVRULI CAPITAL LETTER AIN -1CBD..1CBF ; ALetter # L& [3] GEORGIAN MTAVRULI CAPITAL LETTER AEN..GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN -1CE9..1CEC ; ALetter # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL -1CEE..1CF3 ; ALetter # Lo [6] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ROTATED ARDHAVISARGA -1CF5..1CF6 ; ALetter # Lo [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA -1CFA ; ALetter # Lo VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA -1D00..1D2B ; ALetter # L& [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL -1D2C..1D6A ; ALetter # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI -1D6B..1D77 ; ALetter # L& [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G -1D78 ; ALetter # Lm MODIFIER LETTER CYRILLIC EN -1D79..1D9A ; ALetter # L& [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK -1D9B..1DBF ; ALetter # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA -1E00..1F15 ; ALetter # L& [278] LATIN CAPITAL LETTER A WITH RING BELOW..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA -1F18..1F1D ; ALetter # L& [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA -1F20..1F45 ; ALetter # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA -1F48..1F4D ; ALetter # L& [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA -1F50..1F57 ; ALetter # L& [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI -1F59 ; ALetter # L& GREEK CAPITAL LETTER UPSILON WITH DASIA -1F5B ; ALetter # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA -1F5D ; ALetter # L& GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA -1F5F..1F7D ; ALetter # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA -1F80..1FB4 ; ALetter # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI -1FB6..1FBC ; ALetter # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI -1FBE ; ALetter # L& GREEK PROSGEGRAMMENI -1FC2..1FC4 ; ALetter # L& [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI -1FC6..1FCC ; ALetter # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI -1FD0..1FD3 ; ALetter # L& [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA -1FD6..1FDB ; ALetter # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA -1FE0..1FEC ; ALetter # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA -1FF2..1FF4 ; ALetter # L& [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI -1FF6..1FFC ; ALetter # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI -2071 ; ALetter # Lm SUPERSCRIPT LATIN SMALL LETTER I -207F ; ALetter # Lm SUPERSCRIPT LATIN SMALL LETTER N -2090..209C ; ALetter # Lm [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T -2102 ; ALetter # L& DOUBLE-STRUCK CAPITAL C -2107 ; ALetter # L& EULER CONSTANT -210A..2113 ; ALetter # L& [10] SCRIPT SMALL G..SCRIPT SMALL L -2115 ; ALetter # L& DOUBLE-STRUCK CAPITAL N -2119..211D ; ALetter # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R -2124 ; ALetter # L& DOUBLE-STRUCK CAPITAL Z -2126 ; ALetter # L& OHM SIGN -2128 ; ALetter # L& BLACK-LETTER CAPITAL Z -212A..212D ; ALetter # L& [4] KELVIN SIGN..BLACK-LETTER CAPITAL C -212F..2134 ; ALetter # L& [6] SCRIPT SMALL E..SCRIPT SMALL O -2135..2138 ; ALetter # Lo [4] ALEF SYMBOL..DALET SYMBOL -2139 ; ALetter # L& INFORMATION SOURCE -213C..213F ; ALetter # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI -2145..2149 ; ALetter # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J -214E ; ALetter # L& TURNED SMALL F -2160..2182 ; ALetter # Nl [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND -2183..2184 ; ALetter # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C -2185..2188 ; ALetter # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND -24B6..24E9 ; ALetter # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z -2C00..2C2E ; ALetter # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE -2C30..2C5E ; ALetter # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE -2C60..2C7B ; ALetter # L& [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E -2C7C..2C7D ; ALetter # Lm [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V -2C7E..2CE4 ; ALetter # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI -2CEB..2CEE ; ALetter # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA -2CF2..2CF3 ; ALetter # L& [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI -2D00..2D25 ; ALetter # L& [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE -2D27 ; ALetter # L& GEORGIAN SMALL LETTER YN -2D2D ; ALetter # L& GEORGIAN SMALL LETTER AEN -2D30..2D67 ; ALetter # Lo [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO -2D6F ; ALetter # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK -2D80..2D96 ; ALetter # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE -2DA0..2DA6 ; ALetter # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO -2DA8..2DAE ; ALetter # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO -2DB0..2DB6 ; ALetter # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO -2DB8..2DBE ; ALetter # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO -2DC0..2DC6 ; ALetter # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO -2DC8..2DCE ; ALetter # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO -2DD0..2DD6 ; ALetter # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO -2DD8..2DDE ; ALetter # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO -2E2F ; ALetter # Lm VERTICAL TILDE -3005 ; ALetter # Lm IDEOGRAPHIC ITERATION MARK -303B ; ALetter # Lm VERTICAL IDEOGRAPHIC ITERATION MARK -303C ; ALetter # Lo MASU MARK -3105..312F ; ALetter # Lo [43] BOPOMOFO LETTER B..BOPOMOFO LETTER NN -3131..318E ; ALetter # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE -31A0..31BF ; ALetter # Lo [32] BOPOMOFO LETTER BU..BOPOMOFO LETTER AH -A000..A014 ; ALetter # Lo [21] YI SYLLABLE IT..YI SYLLABLE E -A015 ; ALetter # Lm YI SYLLABLE WU -A016..A48C ; ALetter # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR -A4D0..A4F7 ; ALetter # Lo [40] LISU LETTER BA..LISU LETTER OE -A4F8..A4FD ; ALetter # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU -A500..A60B ; ALetter # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG -A60C ; ALetter # Lm VAI SYLLABLE LENGTHENER -A610..A61F ; ALetter # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG -A62A..A62B ; ALetter # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO -A640..A66D ; ALetter # L& [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O -A66E ; ALetter # Lo CYRILLIC LETTER MULTIOCULAR O -A67F ; ALetter # Lm CYRILLIC PAYEROK -A680..A69B ; ALetter # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O -A69C..A69D ; ALetter # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN -A6A0..A6E5 ; ALetter # Lo [70] BAMUM LETTER A..BAMUM LETTER KI -A6E6..A6EF ; ALetter # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM -A708..A716 ; ALetter # Sk [15] MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR -A717..A71F ; ALetter # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK -A720..A721 ; ALetter # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE -A722..A76F ; ALetter # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON -A770 ; ALetter # Lm MODIFIER LETTER US -A771..A787 ; ALetter # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T -A788 ; ALetter # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT -A789..A78A ; ALetter # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN -A78B..A78E ; ALetter # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT -A78F ; ALetter # Lo LATIN LETTER SINOLOGICAL DOT -A790..A7BF ; ALetter # L& [48] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER GLOTTAL U -A7C2..A7CA ; ALetter # L& [9] LATIN CAPITAL LETTER ANGLICANA W..LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY -A7F5..A7F6 ; ALetter # L& [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H -A7F7 ; ALetter # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I -A7F8..A7F9 ; ALetter # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE -A7FA ; ALetter # L& LATIN LETTER SMALL CAPITAL TURNED M -A7FB..A801 ; ALetter # Lo [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I -A803..A805 ; ALetter # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O -A807..A80A ; ALetter # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO -A80C..A822 ; ALetter # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO -A840..A873 ; ALetter # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU -A882..A8B3 ; ALetter # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA -A8F2..A8F7 ; ALetter # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA -A8FB ; ALetter # Lo DEVANAGARI HEADSTROKE -A8FD..A8FE ; ALetter # Lo [2] DEVANAGARI JAIN OM..DEVANAGARI LETTER AY -A90A..A925 ; ALetter # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO -A930..A946 ; ALetter # Lo [23] REJANG LETTER KA..REJANG LETTER A -A960..A97C ; ALetter # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH -A984..A9B2 ; ALetter # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA -A9CF ; ALetter # Lm JAVANESE PANGRANGKEP -AA00..AA28 ; ALetter # Lo [41] CHAM LETTER A..CHAM LETTER HA -AA40..AA42 ; ALetter # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG -AA44..AA4B ; ALetter # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS -AAE0..AAEA ; ALetter # Lo [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA -AAF2 ; ALetter # Lo MEETEI MAYEK ANJI -AAF3..AAF4 ; ALetter # Lm [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK -AB01..AB06 ; ALetter # Lo [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO -AB09..AB0E ; ALetter # Lo [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO -AB11..AB16 ; ALetter # Lo [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO -AB20..AB26 ; ALetter # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO -AB28..AB2E ; ALetter # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO -AB30..AB5A ; ALetter # L& [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG -AB5B ; ALetter # Sk MODIFIER BREVE WITH INVERTED BREVE -AB5C..AB5F ; ALetter # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK -AB60..AB68 ; ALetter # L& [9] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER TURNED R WITH MIDDLE TILDE -AB69 ; ALetter # Lm MODIFIER LETTER SMALL TURNED W -AB70..ABBF ; ALetter # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA -ABC0..ABE2 ; ALetter # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM -AC00..D7A3 ; ALetter # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH -D7B0..D7C6 ; ALetter # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E -D7CB..D7FB ; ALetter # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH -FB00..FB06 ; ALetter # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST -FB13..FB17 ; ALetter # L& [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH -FB50..FBB1 ; ALetter # Lo [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM -FBD3..FD3D ; ALetter # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM -FD50..FD8F ; ALetter # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM -FD92..FDC7 ; ALetter # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM -FDF0..FDFB ; ALetter # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU -FE70..FE74 ; ALetter # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM -FE76..FEFC ; ALetter # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM -FF21..FF3A ; ALetter # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z -FF41..FF5A ; ALetter # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z -FFA0..FFBE ; ALetter # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH -FFC2..FFC7 ; ALetter # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E -FFCA..FFCF ; ALetter # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE -FFD2..FFD7 ; ALetter # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU -FFDA..FFDC ; ALetter # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I -10000..1000B ; ALetter # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE -1000D..10026 ; ALetter # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO -10028..1003A ; ALetter # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO -1003C..1003D ; ALetter # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE -1003F..1004D ; ALetter # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO -10050..1005D ; ALetter # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089 -10080..100FA ; ALetter # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305 -10140..10174 ; ALetter # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS -10280..1029C ; ALetter # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X -102A0..102D0 ; ALetter # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3 -10300..1031F ; ALetter # Lo [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS -1032D..10340 ; ALetter # Lo [20] OLD ITALIC LETTER YE..GOTHIC LETTER PAIRTHRA -10341 ; ALetter # Nl GOTHIC LETTER NINETY -10342..10349 ; ALetter # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL -1034A ; ALetter # Nl GOTHIC LETTER NINE HUNDRED -10350..10375 ; ALetter # Lo [38] OLD PERMIC LETTER AN..OLD PERMIC LETTER IA -10380..1039D ; ALetter # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU -103A0..103C3 ; ALetter # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA -103C8..103CF ; ALetter # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH -103D1..103D5 ; ALetter # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED -10400..1044F ; ALetter # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW -10450..1049D ; ALetter # Lo [78] SHAVIAN LETTER PEEP..OSMANYA LETTER OO -104B0..104D3 ; ALetter # L& [36] OSAGE CAPITAL LETTER A..OSAGE CAPITAL LETTER ZHA -104D8..104FB ; ALetter # L& [36] OSAGE SMALL LETTER A..OSAGE SMALL LETTER ZHA -10500..10527 ; ALetter # Lo [40] ELBASAN LETTER A..ELBASAN LETTER KHE -10530..10563 ; ALetter # Lo [52] CAUCASIAN ALBANIAN LETTER ALT..CAUCASIAN ALBANIAN LETTER KIW -10600..10736 ; ALetter # Lo [311] LINEAR A SIGN AB001..LINEAR A SIGN A664 -10740..10755 ; ALetter # Lo [22] LINEAR A SIGN A701 A..LINEAR A SIGN A732 JE -10760..10767 ; ALetter # Lo [8] LINEAR A SIGN A800..LINEAR A SIGN A807 -10800..10805 ; ALetter # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA -10808 ; ALetter # Lo CYPRIOT SYLLABLE JO -1080A..10835 ; ALetter # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO -10837..10838 ; ALetter # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE -1083C ; ALetter # Lo CYPRIOT SYLLABLE ZA -1083F..10855 ; ALetter # Lo [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW -10860..10876 ; ALetter # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW -10880..1089E ; ALetter # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW -108E0..108F2 ; ALetter # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH -108F4..108F5 ; ALetter # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW -10900..10915 ; ALetter # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU -10920..10939 ; ALetter # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C -10980..109B7 ; ALetter # Lo [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA -109BE..109BF ; ALetter # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN -10A00 ; ALetter # Lo KHAROSHTHI LETTER A -10A10..10A13 ; ALetter # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA -10A15..10A17 ; ALetter # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA -10A19..10A35 ; ALetter # Lo [29] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER VHA -10A60..10A7C ; ALetter # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH -10A80..10A9C ; ALetter # Lo [29] OLD NORTH ARABIAN LETTER HEH..OLD NORTH ARABIAN LETTER ZAH -10AC0..10AC7 ; ALetter # Lo [8] MANICHAEAN LETTER ALEPH..MANICHAEAN LETTER WAW -10AC9..10AE4 ; ALetter # Lo [28] MANICHAEAN LETTER ZAYIN..MANICHAEAN LETTER TAW -10B00..10B35 ; ALetter # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE -10B40..10B55 ; ALetter # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW -10B60..10B72 ; ALetter # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW -10B80..10B91 ; ALetter # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW -10C00..10C48 ; ALetter # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH -10C80..10CB2 ; ALetter # L& [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US -10CC0..10CF2 ; ALetter # L& [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US -10D00..10D23 ; ALetter # Lo [36] HANIFI ROHINGYA LETTER A..HANIFI ROHINGYA MARK NA KHONNA -10E80..10EA9 ; ALetter # Lo [42] YEZIDI LETTER ELIF..YEZIDI LETTER ET -10EB0..10EB1 ; ALetter # Lo [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE -10F00..10F1C ; ALetter # Lo [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL -10F27 ; ALetter # Lo OLD SOGDIAN LIGATURE AYIN-DALETH -10F30..10F45 ; ALetter # Lo [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN -10FB0..10FC4 ; ALetter # Lo [21] CHORASMIAN LETTER ALEPH..CHORASMIAN LETTER TAW -10FE0..10FF6 ; ALetter # Lo [23] ELYMAIC LETTER ALEPH..ELYMAIC LIGATURE ZAYIN-YODH -11003..11037 ; ALetter # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA -11083..110AF ; ALetter # Lo [45] KAITHI LETTER A..KAITHI LETTER HA -110D0..110E8 ; ALetter # Lo [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE -11103..11126 ; ALetter # Lo [36] CHAKMA LETTER AA..CHAKMA LETTER HAA -11144 ; ALetter # Lo CHAKMA LETTER LHAA -11147 ; ALetter # Lo CHAKMA LETTER VAA -11150..11172 ; ALetter # Lo [35] MAHAJANI LETTER A..MAHAJANI LETTER RRA -11176 ; ALetter # Lo MAHAJANI LIGATURE SHRI -11183..111B2 ; ALetter # Lo [48] SHARADA LETTER A..SHARADA LETTER HA -111C1..111C4 ; ALetter # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM -111DA ; ALetter # Lo SHARADA EKAM -111DC ; ALetter # Lo SHARADA HEADSTROKE -11200..11211 ; ALetter # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA -11213..1122B ; ALetter # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA -11280..11286 ; ALetter # Lo [7] MULTANI LETTER A..MULTANI LETTER GA -11288 ; ALetter # Lo MULTANI LETTER GHA -1128A..1128D ; ALetter # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA -1128F..1129D ; ALetter # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA -1129F..112A8 ; ALetter # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA -112B0..112DE ; ALetter # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA -11305..1130C ; ALetter # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L -1130F..11310 ; ALetter # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI -11313..11328 ; ALetter # Lo [22] GRANTHA LETTER OO..GRANTHA LETTER NA -1132A..11330 ; ALetter # Lo [7] GRANTHA LETTER PA..GRANTHA LETTER RA -11332..11333 ; ALetter # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA -11335..11339 ; ALetter # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA -1133D ; ALetter # Lo GRANTHA SIGN AVAGRAHA -11350 ; ALetter # Lo GRANTHA OM -1135D..11361 ; ALetter # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL -11400..11434 ; ALetter # Lo [53] NEWA LETTER A..NEWA LETTER HA -11447..1144A ; ALetter # Lo [4] NEWA SIGN AVAGRAHA..NEWA SIDDHI -1145F..11461 ; ALetter # Lo [3] NEWA LETTER VEDIC ANUSVARA..NEWA SIGN UPADHMANIYA -11480..114AF ; ALetter # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA -114C4..114C5 ; ALetter # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG -114C7 ; ALetter # Lo TIRHUTA OM -11580..115AE ; ALetter # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA -115D8..115DB ; ALetter # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U -11600..1162F ; ALetter # Lo [48] MODI LETTER A..MODI LETTER LLA -11644 ; ALetter # Lo MODI SIGN HUVA -11680..116AA ; ALetter # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA -116B8 ; ALetter # Lo TAKRI LETTER ARCHAIC KHA -11800..1182B ; ALetter # Lo [44] DOGRA LETTER A..DOGRA LETTER RRA -118A0..118DF ; ALetter # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO -118FF..11906 ; ALetter # Lo [8] WARANG CITI OM..DIVES AKURU LETTER E -11909 ; ALetter # Lo DIVES AKURU LETTER O -1190C..11913 ; ALetter # Lo [8] DIVES AKURU LETTER KA..DIVES AKURU LETTER JA -11915..11916 ; ALetter # Lo [2] DIVES AKURU LETTER NYA..DIVES AKURU LETTER TTA -11918..1192F ; ALetter # Lo [24] DIVES AKURU LETTER DDA..DIVES AKURU LETTER ZA -1193F ; ALetter # Lo DIVES AKURU PREFIXED NASAL SIGN -11941 ; ALetter # Lo DIVES AKURU INITIAL RA -119A0..119A7 ; ALetter # Lo [8] NANDINAGARI LETTER A..NANDINAGARI LETTER VOCALIC RR -119AA..119D0 ; ALetter # Lo [39] NANDINAGARI LETTER E..NANDINAGARI LETTER RRA -119E1 ; ALetter # Lo NANDINAGARI SIGN AVAGRAHA -119E3 ; ALetter # Lo NANDINAGARI HEADSTROKE -11A00 ; ALetter # Lo ZANABAZAR SQUARE LETTER A -11A0B..11A32 ; ALetter # Lo [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA -11A3A ; ALetter # Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA -11A50 ; ALetter # Lo SOYOMBO LETTER A -11A5C..11A89 ; ALetter # Lo [46] SOYOMBO LETTER KA..SOYOMBO CLUSTER-INITIAL LETTER SA -11A9D ; ALetter # Lo SOYOMBO MARK PLUTA -11AC0..11AF8 ; ALetter # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL -11C00..11C08 ; ALetter # Lo [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L -11C0A..11C2E ; ALetter # Lo [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA -11C40 ; ALetter # Lo BHAIKSUKI SIGN AVAGRAHA -11C72..11C8F ; ALetter # Lo [30] MARCHEN LETTER KA..MARCHEN LETTER A -11D00..11D06 ; ALetter # Lo [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E -11D08..11D09 ; ALetter # Lo [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O -11D0B..11D30 ; ALetter # Lo [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA -11D46 ; ALetter # Lo MASARAM GONDI REPHA -11D60..11D65 ; ALetter # Lo [6] GUNJALA GONDI LETTER A..GUNJALA GONDI LETTER UU -11D67..11D68 ; ALetter # Lo [2] GUNJALA GONDI LETTER EE..GUNJALA GONDI LETTER AI -11D6A..11D89 ; ALetter # Lo [32] GUNJALA GONDI LETTER OO..GUNJALA GONDI LETTER SA -11D98 ; ALetter # Lo GUNJALA GONDI OM -11EE0..11EF2 ; ALetter # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA -11FB0 ; ALetter # Lo LISU LETTER YHA -12000..12399 ; ALetter # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U -12400..1246E ; ALetter # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM -12480..12543 ; ALetter # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU -13000..1342E ; ALetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 -14400..14646 ; ALetter # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 -16800..16A38 ; ALetter # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ -16A40..16A5E ; ALetter # Lo [31] MRO LETTER TA..MRO LETTER TEK -16AD0..16AED ; ALetter # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I -16B00..16B2F ; ALetter # Lo [48] PAHAWH HMONG VOWEL KEEB..PAHAWH HMONG CONSONANT CAU -16B40..16B43 ; ALetter # Lm [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM -16B63..16B77 ; ALetter # Lo [21] PAHAWH HMONG SIGN VOS LUB..PAHAWH HMONG SIGN CIM NRES TOS -16B7D..16B8F ; ALetter # Lo [19] PAHAWH HMONG CLAN SIGN TSHEEJ..PAHAWH HMONG CLAN SIGN VWJ -16E40..16E7F ; ALetter # L& [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y -16F00..16F4A ; ALetter # Lo [75] MIAO LETTER PA..MIAO LETTER RTE -16F50 ; ALetter # Lo MIAO LETTER NASALIZATION -16F93..16F9F ; ALetter # Lm [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8 -16FE0..16FE1 ; ALetter # Lm [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK -16FE3 ; ALetter # Lm OLD CHINESE ITERATION MARK -1BC00..1BC6A ; ALetter # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M -1BC70..1BC7C ; ALetter # Lo [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK -1BC80..1BC88 ; ALetter # Lo [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL -1BC90..1BC99 ; ALetter # Lo [10] DUPLOYAN AFFIX LOW ACUTE..DUPLOYAN AFFIX LOW ARROW -1D400..1D454 ; ALetter # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G -1D456..1D49C ; ALetter # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A -1D49E..1D49F ; ALetter # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D -1D4A2 ; ALetter # L& MATHEMATICAL SCRIPT CAPITAL G -1D4A5..1D4A6 ; ALetter # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K -1D4A9..1D4AC ; ALetter # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q -1D4AE..1D4B9 ; ALetter # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D -1D4BB ; ALetter # L& MATHEMATICAL SCRIPT SMALL F -1D4BD..1D4C3 ; ALetter # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N -1D4C5..1D505 ; ALetter # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B -1D507..1D50A ; ALetter # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G -1D50D..1D514 ; ALetter # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q -1D516..1D51C ; ALetter # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y -1D51E..1D539 ; ALetter # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B -1D53B..1D53E ; ALetter # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G -1D540..1D544 ; ALetter # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M -1D546 ; ALetter # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O -1D54A..1D550 ; ALetter # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y -1D552..1D6A5 ; ALetter # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J -1D6A8..1D6C0 ; ALetter # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA -1D6C2..1D6DA ; ALetter # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA -1D6DC..1D6FA ; ALetter # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA -1D6FC..1D714 ; ALetter # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA -1D716..1D734 ; ALetter # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA -1D736..1D74E ; ALetter # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA -1D750..1D76E ; ALetter # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA -1D770..1D788 ; ALetter # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA -1D78A..1D7A8 ; ALetter # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA -1D7AA..1D7C2 ; ALetter # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA -1D7C4..1D7CB ; ALetter # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA -1E100..1E12C ; ALetter # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W -1E137..1E13D ; ALetter # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER -1E14E ; ALetter # Lo NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ -1E2C0..1E2EB ; ALetter # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH -1E800..1E8C4 ; ALetter # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON -1E900..1E943 ; ALetter # L& [68] ADLAM CAPITAL LETTER ALIF..ADLAM SMALL LETTER SHA -1E94B ; ALetter # Lm ADLAM NASALIZATION MARK -1EE00..1EE03 ; ALetter # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL -1EE05..1EE1F ; ALetter # Lo [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF -1EE21..1EE22 ; ALetter # Lo [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM -1EE24 ; ALetter # Lo ARABIC MATHEMATICAL INITIAL HEH -1EE27 ; ALetter # Lo ARABIC MATHEMATICAL INITIAL HAH -1EE29..1EE32 ; ALetter # Lo [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF -1EE34..1EE37 ; ALetter # Lo [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH -1EE39 ; ALetter # Lo ARABIC MATHEMATICAL INITIAL DAD -1EE3B ; ALetter # Lo ARABIC MATHEMATICAL INITIAL GHAIN -1EE42 ; ALetter # Lo ARABIC MATHEMATICAL TAILED JEEM -1EE47 ; ALetter # Lo ARABIC MATHEMATICAL TAILED HAH -1EE49 ; ALetter # Lo ARABIC MATHEMATICAL TAILED YEH -1EE4B ; ALetter # Lo ARABIC MATHEMATICAL TAILED LAM -1EE4D..1EE4F ; ALetter # Lo [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN -1EE51..1EE52 ; ALetter # Lo [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF -1EE54 ; ALetter # Lo ARABIC MATHEMATICAL TAILED SHEEN -1EE57 ; ALetter # Lo ARABIC MATHEMATICAL TAILED KHAH -1EE59 ; ALetter # Lo ARABIC MATHEMATICAL TAILED DAD -1EE5B ; ALetter # Lo ARABIC MATHEMATICAL TAILED GHAIN -1EE5D ; ALetter # Lo ARABIC MATHEMATICAL TAILED DOTLESS NOON -1EE5F ; ALetter # Lo ARABIC MATHEMATICAL TAILED DOTLESS QAF -1EE61..1EE62 ; ALetter # Lo [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM -1EE64 ; ALetter # Lo ARABIC MATHEMATICAL STRETCHED HEH -1EE67..1EE6A ; ALetter # Lo [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF -1EE6C..1EE72 ; ALetter # Lo [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF -1EE74..1EE77 ; ALetter # Lo [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH -1EE79..1EE7C ; ALetter # Lo [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH -1EE7E ; ALetter # Lo ARABIC MATHEMATICAL STRETCHED DOTLESS FEH -1EE80..1EE89 ; ALetter # Lo [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH -1EE8B..1EE9B ; ALetter # Lo [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN -1EEA1..1EEA3 ; ALetter # Lo [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL -1EEA5..1EEA9 ; ALetter # Lo [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH -1EEAB..1EEBB ; ALetter # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN -1F130..1F149 ; ALetter # So [26] SQUARED LATIN CAPITAL LETTER A..SQUARED LATIN CAPITAL LETTER Z -1F150..1F169 ; ALetter # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z -1F170..1F189 ; ALetter # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z - -# Total code points: 28854 - -# ================================================ - -003A ; MidLetter # Po COLON -00B7 ; MidLetter # Po MIDDLE DOT -0387 ; MidLetter # Po GREEK ANO TELEIA -055F ; MidLetter # Po ARMENIAN ABBREVIATION MARK -05F4 ; MidLetter # Po HEBREW PUNCTUATION GERSHAYIM -2027 ; MidLetter # Po HYPHENATION POINT -FE13 ; MidLetter # Po PRESENTATION FORM FOR VERTICAL COLON -FE55 ; MidLetter # Po SMALL COLON -FF1A ; MidLetter # Po FULLWIDTH COLON - -# Total code points: 9 - -# ================================================ - -002C ; MidNum # Po COMMA -003B ; MidNum # Po SEMICOLON -037E ; MidNum # Po GREEK QUESTION MARK -0589 ; MidNum # Po ARMENIAN FULL STOP -060C..060D ; MidNum # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR -066C ; MidNum # Po ARABIC THOUSANDS SEPARATOR -07F8 ; MidNum # Po NKO COMMA -2044 ; MidNum # Sm FRACTION SLASH -FE10 ; MidNum # Po PRESENTATION FORM FOR VERTICAL COMMA -FE14 ; MidNum # Po PRESENTATION FORM FOR VERTICAL SEMICOLON -FE50 ; MidNum # Po SMALL COMMA -FE54 ; MidNum # Po SMALL SEMICOLON -FF0C ; MidNum # Po FULLWIDTH COMMA -FF1B ; MidNum # Po FULLWIDTH SEMICOLON - -# Total code points: 15 - -# ================================================ - -002E ; MidNumLet # Po FULL STOP -2018 ; MidNumLet # Pi LEFT SINGLE QUOTATION MARK -2019 ; MidNumLet # Pf RIGHT SINGLE QUOTATION MARK -2024 ; MidNumLet # Po ONE DOT LEADER -FE52 ; MidNumLet # Po SMALL FULL STOP -FF07 ; MidNumLet # Po FULLWIDTH APOSTROPHE -FF0E ; MidNumLet # Po FULLWIDTH FULL STOP - -# Total code points: 7 - -# ================================================ - -0030..0039 ; Numeric # Nd [10] DIGIT ZERO..DIGIT NINE -0660..0669 ; Numeric # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE -066B ; Numeric # Po ARABIC DECIMAL SEPARATOR -06F0..06F9 ; Numeric # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE -07C0..07C9 ; Numeric # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE -0966..096F ; Numeric # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE -09E6..09EF ; Numeric # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE -0A66..0A6F ; Numeric # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE -0AE6..0AEF ; Numeric # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE -0B66..0B6F ; Numeric # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE -0BE6..0BEF ; Numeric # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE -0C66..0C6F ; Numeric # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE -0CE6..0CEF ; Numeric # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE -0D66..0D6F ; Numeric # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE -0DE6..0DEF ; Numeric # Nd [10] SINHALA LITH DIGIT ZERO..SINHALA LITH DIGIT NINE -0E50..0E59 ; Numeric # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE -0ED0..0ED9 ; Numeric # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE -0F20..0F29 ; Numeric # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE -1040..1049 ; Numeric # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE -1090..1099 ; Numeric # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE -17E0..17E9 ; Numeric # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE -1810..1819 ; Numeric # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE -1946..194F ; Numeric # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE -19D0..19D9 ; Numeric # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE -1A80..1A89 ; Numeric # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE -1A90..1A99 ; Numeric # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE -1B50..1B59 ; Numeric # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE -1BB0..1BB9 ; Numeric # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE -1C40..1C49 ; Numeric # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE -1C50..1C59 ; Numeric # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE -A620..A629 ; Numeric # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE -A8D0..A8D9 ; Numeric # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE -A900..A909 ; Numeric # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE -A9D0..A9D9 ; Numeric # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE -A9F0..A9F9 ; Numeric # Nd [10] MYANMAR TAI LAING DIGIT ZERO..MYANMAR TAI LAING DIGIT NINE -AA50..AA59 ; Numeric # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE -ABF0..ABF9 ; Numeric # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE -FF10..FF19 ; Numeric # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE -104A0..104A9 ; Numeric # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE -10D30..10D39 ; Numeric # Nd [10] HANIFI ROHINGYA DIGIT ZERO..HANIFI ROHINGYA DIGIT NINE -11066..1106F ; Numeric # Nd [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE -110F0..110F9 ; Numeric # Nd [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE -11136..1113F ; Numeric # Nd [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE -111D0..111D9 ; Numeric # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE -112F0..112F9 ; Numeric # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE -11450..11459 ; Numeric # Nd [10] NEWA DIGIT ZERO..NEWA DIGIT NINE -114D0..114D9 ; Numeric # Nd [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE -11650..11659 ; Numeric # Nd [10] MODI DIGIT ZERO..MODI DIGIT NINE -116C0..116C9 ; Numeric # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE -11730..11739 ; Numeric # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE -118E0..118E9 ; Numeric # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE -11950..11959 ; Numeric # Nd [10] DIVES AKURU DIGIT ZERO..DIVES AKURU DIGIT NINE -11C50..11C59 ; Numeric # Nd [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE -11D50..11D59 ; Numeric # Nd [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE -11DA0..11DA9 ; Numeric # Nd [10] GUNJALA GONDI DIGIT ZERO..GUNJALA GONDI DIGIT NINE -16A60..16A69 ; Numeric # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE -16B50..16B59 ; Numeric # Nd [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE -1D7CE..1D7FF ; Numeric # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE -1E140..1E149 ; Numeric # Nd [10] NYIAKENG PUACHUE HMONG DIGIT ZERO..NYIAKENG PUACHUE HMONG DIGIT NINE -1E2F0..1E2F9 ; Numeric # Nd [10] WANCHO DIGIT ZERO..WANCHO DIGIT NINE -1E950..1E959 ; Numeric # Nd [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE -1FBF0..1FBF9 ; Numeric # Nd [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE - -# Total code points: 651 - -# ================================================ - -005F ; ExtendNumLet # Pc LOW LINE -202F ; ExtendNumLet # Zs NARROW NO-BREAK SPACE -203F..2040 ; ExtendNumLet # Pc [2] UNDERTIE..CHARACTER TIE -2054 ; ExtendNumLet # Pc INVERTED UNDERTIE -FE33..FE34 ; ExtendNumLet # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE -FE4D..FE4F ; ExtendNumLet # Pc [3] DASHED LOW LINE..WAVY LOW LINE -FF3F ; ExtendNumLet # Pc FULLWIDTH LOW LINE - -# Total code points: 11 - -# ================================================ - -200D ; ZWJ # Cf ZERO WIDTH JOINER - -# Total code points: 1 - -# ================================================ - -0020 ; WSegSpace # Zs SPACE -1680 ; WSegSpace # Zs OGHAM SPACE MARK -2000..2006 ; WSegSpace # Zs [7] EN QUAD..SIX-PER-EM SPACE -2008..200A ; WSegSpace # Zs [3] PUNCTUATION SPACE..HAIR SPACE -205F ; WSegSpace # Zs MEDIUM MATHEMATICAL SPACE -3000 ; WSegSpace # Zs IDEOGRAPHIC SPACE - -# Total code points: 14 - -# EOF diff --git a/engine/src/flutter/third_party/web_unicode/pubspec.yaml b/engine/src/flutter/third_party/web_unicode/pubspec.yaml deleted file mode 100644 index f003c2e14bf83..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/pubspec.yaml +++ /dev/null @@ -1,10 +0,0 @@ -name: web_unicode - -publish_to: none - -environment: - sdk: ^3.7.0-0 - -dev_dependencies: - args: any - path: any diff --git a/engine/src/flutter/third_party/web_unicode/tool/unicode_sync_script.dart b/engine/src/flutter/third_party/web_unicode/tool/unicode_sync_script.dart deleted file mode 100644 index 141ed4bf0db7f..0000000000000 --- a/engine/src/flutter/third_party/web_unicode/tool/unicode_sync_script.dart +++ /dev/null @@ -1,414 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// ignore_for_file: avoid_print - -import 'dart:io'; - -import 'package:args/args.dart'; -import 'package:path/path.dart' as path; - -const int _kChar_A = 65; -const int _kChar_a = 97; - -final ArgParser argParser = ArgParser() - ..addFlag( - 'check', - help: - 'Check mode does not write anything to disk. ' - 'It just checks if the generated files are still in sync or not.', - ); - -/// A map of properties that could safely be normalized into other properties. -/// -/// For example, a NL behaves exactly the same as BK so it gets normalized to BK -/// in the generated code. -const Map normalizationTable = { - // NL behaves exactly the same as BK. - // See: https://www.unicode.org/reports/tr14/tr14-45.html#NL - 'NL': 'BK', - // In the absence of extra data (ICU data and language dictionaries), the - // following properties will be treated as AL (alphabetic): AI, SA, SG and XX. - // See LB1: https://www.unicode.org/reports/tr14/tr14-45.html#LB1 - 'AI': 'AL', - 'SA': 'AL', - 'SG': 'AL', - 'XX': 'AL', - // https://unicode.org/reports/tr14/tr14-45.html#CJ - 'CJ': 'NS', -}; - -/// A tuple that holds a [start] and [end] of a unicode range and a [property]. -class UnicodeRange { - const UnicodeRange(this.start, this.end, this.property); - - final int start; - final int end; - final EnumValue property; - - /// Checks if there's an overlap between this range and the [other] range. - bool isOverlapping(UnicodeRange other) { - return start <= other.end && end >= other.start; - } - - /// Checks if the [other] range is adjacent to this range. - /// - /// Two ranges are considered adjacent if: - /// - The new range immediately follows this range, and - /// - The new range has the same property as this range. - bool isAdjacent(UnicodeRange other) { - return other.start == end + 1 && property == other.property; - } - - /// Merges the ranges of the 2 [UnicodeRange]s if they are adjacent. - UnicodeRange extendRange(UnicodeRange extension) { - assert(isAdjacent(extension)); - return UnicodeRange(start, extension.end, property); - } -} - -final String webUnicodeRoot = path.dirname(path.dirname(Platform.script.toFilePath())); - -final String propertiesDir = path.join(webUnicodeRoot, 'properties'); -final String wordProperties = path.join(propertiesDir, 'WordBreakProperty.txt'); -final String lineProperties = path.join(propertiesDir, 'LineBreak.txt'); - -final String codegenDir = path.join(webUnicodeRoot, 'lib', 'codegen'); -final String wordBreakCodegen = path.join(codegenDir, 'word_break_properties.dart'); -final String lineBreakCodegen = path.join(codegenDir, 'line_break_properties.dart'); - -/// This script parses the unicode word/line break properties(1) and generates Dart -/// code(2) that can perform lookups in the unicode ranges to find what property -/// a letter has. -/// -/// (1) The word break properties file can be downloaded from: -/// https://www.unicode.org/Public/13.0.0/ucd/auxiliary/WordBreakProperty.txt -/// -/// The line break properties file can be downloaded from: -/// https://www.unicode.org/Public/13.0.0/ucd/LineBreak.txt -/// -/// Both files need to be located at third_party/web_unicode/properties. -/// -/// (2) The codegen'd Dart files are located at: -/// third_party/web_unicode/lib/codegen/word_break_properties.dart -/// third_party/web_unicode/lib/codegen/line_break_properties.dart -Future main(List arguments) async { - final ArgResults result = argParser.parse(arguments); - final bool isCheck = result['check'] as bool; - final List syncers = [ - WordBreakPropertiesSyncer(isCheck: isCheck), - LineBreakPropertiesSyncer(isCheck: isCheck), - ]; - - for (final PropertiesSyncer syncer in syncers) { - await syncer.perform(); - } -} - -/// Base class that provides common logic for syncing all kinds of unicode -/// properties (e.g. word break properties, line break properties, etc). -/// -/// Subclasses implement the [template] method which receives as argument the -/// list of data parsed by [processLines]. -abstract class PropertiesSyncer { - PropertiesSyncer(this._src, this._dest, {required this.isCheck}); - - final String _src; - final String _dest; - final bool isCheck; - - String get prefix; - String get enumDocLink; - - /// The default property to be used when a certain code point doesn't belong - /// to any known range. - String get defaultProperty; - - Future perform() async { - final List lines = await File(_src).readAsLines(); - final PropertyCollection data = PropertyCollection.fromLines(lines, defaultProperty); - - final String output = template(data); - - if (isCheck) { - // Read from destination and compare to the generated output. - final String existing = await File(_dest).readAsString(); - if (existing != output) { - final String relativeDest = path.relative(_dest, from: webUnicodeRoot); - print('ERROR: $relativeDest is out of sync.'); - print('Please run "dart tool/unicode_sync_script.dart" to update it.'); - exit(1); - } - } else { - final IOSink sink = File(_dest).openWrite(); - sink.write(output); - } - } - - String template(PropertyCollection data) { - return ''' -// Copyright 2022 Google LLC -// -// For terms of use, see https://www.unicode.org/copyright.html - -// AUTO-GENERATED FILE. -// Generated by: tool/unicode_sync_script.dart - -// ignore_for_file: public_member_api_docs - -/// For an explanation of these enum values, see: -/// -/// * $enumDocLink -enum ${prefix}CharProperty { - ${_getEnumValues(data.enumCollection).join('\n ')} -} - -const String packed${prefix}BreakProperties = - '${_packProperties(data)}'; - -const int single${prefix}BreakRangesCount = ${_getSingleRangesCount(data)}; - -const ${prefix}CharProperty default${prefix}CharProperty = ${prefix}CharProperty.$defaultProperty; -'''; - } - - Iterable _getEnumValues(EnumCollection enumCollection) { - return enumCollection.values.expand( - (EnumValue value) => [ - if (value.normalizedFrom.isNotEmpty) - '// Normalized from: ${value.normalizedFrom.join(', ')}', - '${value.enumName}, // serialized as "${value.serialized}"', - ], - ); - } - - int _getSingleRangesCount(PropertyCollection data) { - int count = 0; - for (final UnicodeRange range in data.ranges) { - if (range.start == range.end) { - count++; - } - } - return count; - } - - String _packProperties(PropertyCollection data) { - final StringBuffer buffer = StringBuffer(); - for (final UnicodeRange range in data.ranges) { - buffer.write(range.start.toRadixString(36).padLeft(4, '0')); - if (range.start == range.end) { - buffer.write('!'); - } else { - buffer.write(range.end.toRadixString(36).padLeft(4, '0')); - } - buffer.write(range.property.serialized); - } - return buffer.toString(); - } -} - -/// Syncs Unicode's word break properties. -class WordBreakPropertiesSyncer extends PropertiesSyncer { - WordBreakPropertiesSyncer({required bool isCheck}) - : super(wordProperties, wordBreakCodegen, isCheck: isCheck); - - @override - final String prefix = 'Word'; - - @override - final String enumDocLink = 'http://unicode.org/reports/tr29/#Table_Word_Break_Property_Values'; - - @override - final String defaultProperty = 'Unknown'; -} - -/// Syncs Unicode's line break properties. -class LineBreakPropertiesSyncer extends PropertiesSyncer { - LineBreakPropertiesSyncer({required bool isCheck}) - : super(lineProperties, lineBreakCodegen, isCheck: isCheck); - - @override - final String prefix = 'Line'; - - @override - final String enumDocLink = - 'https://www.unicode.org/reports/tr14/tr14-45.html#DescriptionOfProperties'; - - @override - final String defaultProperty = 'AL'; -} - -/// Holds the collection of properties parsed from the unicode spec file. -class PropertyCollection { - PropertyCollection.fromLines(List lines, String defaultProperty) { - final List unprocessedRanges = lines - .map(removeCommentFromLine) - .where((String line) => line.isNotEmpty) - .map(parseLineIntoUnicodeRange) - .toList(); - // Insert the default property if it doesn't exist. - final EnumValue? found = enumCollection.values.cast().firstWhere( - (EnumValue? property) => property!.name == defaultProperty, - orElse: () => null, - ); - if (found == null) { - enumCollection.add(defaultProperty); - } - ranges = processRanges(unprocessedRanges, defaultProperty).toList(); - } - - late List ranges; - - final EnumCollection enumCollection = EnumCollection(); - - /// Examples: - /// - /// 00C0..00D6 ; ALetter - /// 037F ; ALetter - /// - /// Would be parsed into: - /// - /// ```dart - /// UnicodeRange(192, 214, EnumValue('ALetter')); - /// UnicodeRange(895, 895, EnumValue('ALetter')); - /// ``` - UnicodeRange parseLineIntoUnicodeRange(String line) { - final List split = line.split(';'); - final String rangeStr = split[0].trim(); - final String propertyStr = split[1].trim(); - - final EnumValue property = normalizationTable.containsKey(propertyStr) - ? enumCollection.add(normalizationTable[propertyStr]!, propertyStr) - : enumCollection.add(propertyStr); - - return UnicodeRange(getRangeStart(rangeStr), getRangeEnd(rangeStr), property); - } -} - -/// Represents the collection of values of an enum. -class EnumCollection { - final List values = []; - - EnumValue add(String name, [String? normalizedFrom]) { - final int index = values.indexWhere((EnumValue value) => value.name == name); - EnumValue value; - if (index == -1) { - value = EnumValue(values.length, name); - values.add(value); - } else { - value = values[index]; - } - - if (normalizedFrom != null) { - value.normalizedFrom.add(normalizedFrom); - } - return value; - } -} - -/// Represents a single value in an [EnumCollection]. -class EnumValue { - EnumValue(this.index, this.name); - - final int index; - final String name; - - /// The properties that were normalized to this value. - final Set normalizedFrom = {}; - - /// Returns a serialized, compact format of the enum value. - /// - /// Enum values are serialized based on their index. We start serializing them - /// to "A", "B", "C", etc until we reach "Z". Then we continue with "a", "b", - /// "c", etc. - String get serialized { - // We assign uppercase letters to the first 26 enum values. - if (index < 26) { - return String.fromCharCode(_kChar_A + index); - } - // Enum values above 26 will be assigned a lowercase letter. - return String.fromCharCode(_kChar_a + index - 26); - } - - /// Returns the enum name that'll be used in the Dart code. - /// - /// ```dart - /// enum CharProperty { - /// ALetter, // <-- this is the name returned by this method ("ALetter"). - /// Numeric, - /// // etc... - /// } - /// ``` - String get enumName { - return name.replaceAll('_', ''); - } -} - -/// Sorts ranges and combines adjacent ranges that have the same property and -/// can be merged. -Iterable processRanges(List data, String defaultProperty) { - data.sort( - // Ranges don't overlap so it's safe to sort based on the start of each - // range. - (UnicodeRange range1, UnicodeRange range2) => range1.start.compareTo(range2.start), - ); - verifyNoOverlappingRanges(data); - return combineAdjacentRanges(data, defaultProperty); -} - -/// Example: -/// -/// ```none -/// 0x01C4..0x0293; ALetter -/// 0x0294..0x0294; ALetter -/// 0x0295..0x02AF; ALetter -/// ``` -/// -/// will get combined into: -/// -/// ```none -/// 0x01C4..0x02AF; ALetter -/// ``` -List combineAdjacentRanges(List data, String defaultProperty) { - final List result = [data.first]; - for (int i = 1; i < data.length; i++) { - final UnicodeRange prev = result.last; - final UnicodeRange next = data[i]; - if (prev.isAdjacent(next)) { - result.last = prev.extendRange(next); - } else if (prev.property == next.property && prev.property.name == defaultProperty) { - // When there's a gap between two ranges, but they both have the default - // property, it's safe to combine them. - result.last = prev.extendRange(next); - } else { - // Check if there's a gap between the previous range and this range. - result.add(next); - } - } - return result; -} - -int getRangeStart(String range) { - return int.parse(range.split('..')[0], radix: 16); -} - -int getRangeEnd(String range) { - if (range.contains('..')) { - return int.parse(range.split('..')[1], radix: 16); - } - return int.parse(range, radix: 16); -} - -void verifyNoOverlappingRanges(List data) { - for (int i = 1; i < data.length; i++) { - if (data[i].isOverlapping(data[i - 1])) { - throw Exception('Data contains overlapping ranges.'); - } - } -} - -String removeCommentFromLine(String line) { - final int poundIdx = line.indexOf('#'); - return (poundIdx == -1) ? line : line.substring(0, poundIdx); -} diff --git a/engine/src/flutter/tools/android_sdk/packages.txt b/engine/src/flutter/tools/android_sdk/packages.txt index e102a0d847abc..1f7c96c05a53c 100644 --- a/engine/src/flutter/tools/android_sdk/packages.txt +++ b/engine/src/flutter/tools/android_sdk/packages.txt @@ -3,4 +3,4 @@ cmdline-tools;latest:cmdline-tools build-tools;36.0.0:build-tools platform-tools:platform-tools tools:tools -ndk;27.0.12077973:ndk +ndk;28.2.13676358:ndk diff --git a/engine/src/flutter/tools/engine_tool/README.md b/engine/src/flutter/tools/engine_tool/README.md index 560461a436e40..35697c3390998 100644 --- a/engine/src/flutter/tools/engine_tool/README.md +++ b/engine/src/flutter/tools/engine_tool/README.md @@ -39,7 +39,7 @@ source on a supported platform (see: run at all outside of a valid repository setup. [architectural layers]: https://docs.flutter.dev/resources/architectural-overview#architectural-layers -[setting up the engine development environment]: https://github.com/flutter/flutter/blob/main/engine/src/flutter/docs/contributing/Setting-up-the-Engine-development-environment.md +[setting up the engine development environment]: https://github.com/flutter/flutter/blob/main/docs/engine/contributing/Setting-up-the-Engine-development-environment.md It is recommended to add `et` to your `PATH` by adding the [`bin` folder][]: @@ -108,7 +108,7 @@ See [building a host engine](#building-a-host-engine) and > [!CAUTION] > Each build configuration (sometimes called a _variant_) produces a different -> set of output files in `$ENGINE/src/out`, e.g. ``$ENGINE/src/out/host_debug`; +> set of output files in `$ENGINE/src/out`, e.g. `$ENGINE/src/out/host_debug`; > these outputs can be multiple GBs, and add up quickly. Consider using > [`et cleanup`](#reclaiming-older-output-directories) to delete older output > directories automatically. @@ -203,7 +203,7 @@ et build --config android_debug_unopt_arm64 //flutter/shell/platform:all ### Running C++ tests -C++ unit tests can be simulatenously rebuilt and run using `et test`: +C++ unit tests can be simultaneously rebuilt and run using `et test`: ```sh et test //flutter/impeller:impeller_unittests @@ -258,7 +258,8 @@ cd to/project/dir et run ``` -> [!NOTE] > `et run` will rebuild (if necessary) host and target builds, which can take +> [!NOTE] +> `et run` will rebuild (if necessary) host and target builds, which can take > a significant amount of time. ## Advanced Features @@ -381,7 +382,7 @@ We welcome contributions to improve `et` for our all developers. conventions that go beyond code formatting, which we'll follow even if using `dart format` in the future. - Do not call directly into `dart:io` except from `main.dart`. Instead access - the system only through the `Enviroment` object. + the system only through the `Environment` object. - All commands must have unit tests. If some functionality needs a fake implementation, then write a fake implementation. - When adding or changing functionality, update this README.md file. diff --git a/engine/src/flutter/tools/engine_tool/lib/src/commands/run_command.dart b/engine/src/flutter/tools/engine_tool/lib/src/commands/run_command.dart index c47fcd8695113..95db79113e574 100644 --- a/engine/src/flutter/tools/engine_tool/lib/src/commands/run_command.dart +++ b/engine/src/flutter/tools/engine_tool/lib/src/commands/run_command.dart @@ -234,6 +234,7 @@ final class RunTarget { TargetPlatform.androidX86 => 'android_${mode}_x86', TargetPlatform.androidX64 => 'android_${mode}_x64', TargetPlatform.androidArm64 => 'android_${mode}_arm64', + TargetPlatform.androidRiscv64 => 'android_${mode}_riscv64', // DESKTOP (MacOS, Linux, Windows) // We do not support cross-builds, so implicitly assume the host platform. @@ -291,6 +292,7 @@ final class RunTarget { TargetPlatform.androidUnspecified || TargetPlatform.androidX86 || TargetPlatform.androidX64 || + TargetPlatform.androidRiscv64 || TargetPlatform.androidArm64 => [ Label.parseGn('//flutter/shell/platform/android:android_jar'), ], diff --git a/engine/src/flutter/tools/engine_tool/lib/src/flutter_tool_interop/target_platform.dart b/engine/src/flutter/tools/engine_tool/lib/src/flutter_tool_interop/target_platform.dart index 7306f31e990c9..73918c8080744 100644 --- a/engine/src/flutter/tools/engine_tool/lib/src/flutter_tool_interop/target_platform.dart +++ b/engine/src/flutter/tools/engine_tool/lib/src/flutter_tool_interop/target_platform.dart @@ -23,6 +23,9 @@ final class TargetPlatform { /// Android ARM64. static const androidArm64 = TargetPlatform._('android-arm64'); + /// Android RISCV64. + static const androidRiscv64 = TargetPlatform._('android-riscv64'); + /// Android x64. static const androidX64 = TargetPlatform._('android-x64'); @@ -87,6 +90,7 @@ final class TargetPlatform { androidUnspecified, androidArm, androidArm64, + androidRiscv64, androidX64, androidX86, linuxArm64, diff --git a/engine/src/flutter/tools/engine_tool/test/run_target_test.dart b/engine/src/flutter/tools/engine_tool/test/run_target_test.dart index 861adda06b508..4480d6a27ed0b 100644 --- a/engine/src/flutter/tools/engine_tool/test/run_target_test.dart +++ b/engine/src/flutter/tools/engine_tool/test/run_target_test.dart @@ -63,6 +63,7 @@ void main() { TargetPlatform.androidX86: 'android_debug_x86', TargetPlatform.androidX64: 'android_debug_x64', TargetPlatform.androidArm64: 'android_debug_arm64', + TargetPlatform.androidRiscv64: 'android_debug_riscv64', TargetPlatform.darwinUnspecified: 'host_debug', TargetPlatform.darwinX64: 'host_debug', TargetPlatform.darwinArm64: 'host_debug_arm64', @@ -100,6 +101,9 @@ void main() { TargetPlatform.androidX86: [Label.parseGn('//flutter/shell/platform/android:android_jar')], TargetPlatform.androidX64: [Label.parseGn('//flutter/shell/platform/android:android_jar')], TargetPlatform.androidArm64: [Label.parseGn('//flutter/shell/platform/android:android_jar')], + TargetPlatform.androidRiscv64: [ + Label.parseGn('//flutter/shell/platform/android:android_jar'), + ], TargetPlatform.iOSUnspecified: [ Label.parseGn('//flutter/shell/platform/darwin/ios:flutter_framework'), ], diff --git a/engine/src/flutter/tools/fuchsia/build_fuchsia_artifacts.py b/engine/src/flutter/tools/fuchsia/build_fuchsia_artifacts.py index 96d295440cd02..49203d68f2508 100755 --- a/engine/src/flutter/tools/fuchsia/build_fuchsia_artifacts.py +++ b/engine/src/flutter/tools/fuchsia/build_fuchsia_artifacts.py @@ -199,12 +199,10 @@ def CopyBuildToBucket(runtime_mode, arch, optimized, product): # Copy the license files from the source directory to be next to the bucket we # are about to package. bucket_root = os.path.join(_bucket_directory, 'flutter') - licenses_root = os.path.join(_src_root_dir, 'flutter/ci/licenses_golden') - license_files = ['licenses_flutter', 'licenses_fuchsia', 'licenses_skia'] - for license in license_files: - src_path = os.path.join(licenses_root, license) - dst_path = os.path.join(bucket_root, license) - CopyPath(src_path, dst_path) + CopyPath( + os.path.join(_src_root_dir, 'flutter/sky/packages/sky_engine/LICENSE'), + os.path.join(bucket_root, 'LICENSE') + ) def CheckCIPDPackageExists(package_name, tag): diff --git a/engine/src/flutter/tools/gn b/engine/src/flutter/tools/gn index c9352aea16603..3f910272891f6 100755 --- a/engine/src/flutter/tools/gn +++ b/engine/src/flutter/tools/gn @@ -749,6 +749,9 @@ def to_gn_args(args): if args.enable_minimal_linux: gn_args['is_minimal_linux'] = True + if args.ccache: + gn_args['use_ccache'] = True + enable_vulkan_validation = args.enable_vulkan_validation_layers # Enable Vulkan validation layer automatically on debug builds for arm64. @@ -860,6 +863,7 @@ def to_gn_wasm_args(args, gn_args): gn_args['skia_use_freetype'] = True gn_args['flutter_use_freetype_woff2'] = True gn_args['skia_use_harfbuzz'] = True + gn_args['skia_use_fontations'] = False gn_args['skia_use_fontconfig'] = False gn_args['skia_use_libheif'] = False gn_args['skia_enable_fontmgr_custom_directory'] = False @@ -947,7 +951,7 @@ def parse_args(args): ) parser.add_argument('--android', dest='target_os', action='store_const', const='android') parser.add_argument( - '--android-cpu', type=str, choices=['arm', 'x64', 'x86', 'arm64'], default='arm' + '--android-cpu', type=str, choices=['arm', 'x64', 'x86', 'arm64', 'riscv64'], default='arm' ) parser.add_argument('--ios', dest='target_os', action='store_const', const='ios') parser.add_argument('--mac', dest='target_os', action='store_const', const='mac') @@ -1230,6 +1234,13 @@ def parse_args(args): help='Whether the produced Flutter.framework is app extension safe. Only for iOS.' ) + parser.add_argument( + '--ccache', + default=False, + action='store_true', + help='Use ccache to speed up compilation. Requires ccache to be installed.' + ) + # Verbose output. parser.add_argument('--verbose', default=False, action='store_true') diff --git a/engine/src/flutter/tools/licenses/.gitignore b/engine/src/flutter/tools/licenses/.gitignore deleted file mode 100644 index 0eb63bff4ca4c..0000000000000 --- a/engine/src/flutter/tools/licenses/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -.packages - diff --git a/engine/src/flutter/tools/licenses/README.md b/engine/src/flutter/tools/licenses/README.md deleted file mode 100644 index de9f42f59c4b6..0000000000000 --- a/engine/src/flutter/tools/licenses/README.md +++ /dev/null @@ -1,101 +0,0 @@ -# Update License Files - -## Apply patch generated by CI -If you're not working on a Linux box then you can't auto-generate license -files. A workaround is provided via CI. - -Your build will fail one or more CI checks if your license files are not -correct. Open the failing CI check. In the CI output you will find a -patch diff that represents the changes that need to be made to your -license files. - -> [!WARNING] -> Do this only if the diff does not change _which_ licenses are being -> included, but affects just the `FILE:` metadata and so forth in the -> golden files. If the actual content of the licenses has changed, you -> will need to rerun the script from a Linux box to update the actual -> LICENSE file, as described below. - -```sh -cd flutter/ci/licenses_golden -``` - -If the file is to `my/patch/file` locally. The `-p2` strips two path -components from the file paths in the diff. Adjust as necessary. - -```sh -patch -p2 < my/patch/file -``` - -If the patch file is copied in your clipboard. On Mac, you may apply the patch from there. - -```sh -pbpaste | patch -p2 -``` - -## Check for license changes - -> [!WARNING] -> Only works on Linux. - -This script has two sets of output files: "goldens", which describe -the current license state of the repository, and the actual real -LICENSE file, which is what matters. - -We look at changes to the goldens to determine if there are any actual -changes to the licenses. - -To update the goldens, make sure you've rebased your branch to the -latest upstream main and then run the following in this directory: - -``` -dart pub get -gclient sync -D -rm -rf ../../../out/licenses -dart --enable-asserts lib/main.dart --src ../../.. --out ../../../out/licenses --golden ../../ci/licenses_golden -``` - -In order for the license script to work correctly, you need to remove -any untracked files inside `engine/src` (the buildroot), not just -`engine/src/flutter`. - -Once the script has finished, copy any affected files from -`../../../out/licenses` to `../../ci/licenses_golden` and add them to -your change, and examine the diffs to see what changed. - -``` -cp ../../../out/licenses/* ../../ci/licenses_golden -git diff -``` - -> [!IMPORTANT] -> If the only changes are to what files are included, then you're good -> to go. However, if any of the _licenses_ changed, whether new licenses -> are added, old ones removed, or any have their content changed in -> _any_ way (including, e.g., whitespace changes), or if the affected -> libraries change, **you must update the actual license file**. - -The `sky/packages/sky_engine/LICENSE` file is the one actually -included in product releases and the one that should be updated any -time the golden file changes in a way that involves changes to -anything other than the `FILE` lines. To update this file, run: - -``` -dart pub get -gclient sync -D -dart --enable-asserts lib/main.dart --release --src ../../.. > ../../sky/packages/sky_engine/LICENSE -``` - -The bots do not verify that you did this step, it's important that you -do it! When reviewing patches, if you see a change to the golden -files, check to see if there's a corresponding change to the LICENSE -file! - -## Testing - -To run the tests: - -``` -dart pub get -find -name "*_test.dart" | xargs -n 1 dart --enable-asserts -``` diff --git a/engine/src/flutter/tools/licenses/analysis_options.yaml b/engine/src/flutter/tools/licenses/analysis_options.yaml deleted file mode 100644 index 59f1179822908..0000000000000 --- a/engine/src/flutter/tools/licenses/analysis_options.yaml +++ /dev/null @@ -1,7 +0,0 @@ -include: ../../analysis_options.yaml - -linter: - rules: - avoid_print: false - only_throw_errors: false - public_member_api_docs: false diff --git a/engine/src/flutter/tools/licenses/data/README b/engine/src/flutter/tools/licenses/data/README deleted file mode 100644 index 128d95b08ab05..0000000000000 --- a/engine/src/flutter/tools/licenses/data/README +++ /dev/null @@ -1,7 +0,0 @@ -This directory contains canonical text files representing licenses -that are often referenced (by name or URL), so that the license script -doesn't need to actively go out to the network to find the license -files. - -The mapping of URL to these files is in ../lib/license.dart in the -License.fromUrl constructor. diff --git a/engine/src/flutter/tools/licenses/data/academic-3.0 b/engine/src/flutter/tools/licenses/data/academic-3.0 deleted file mode 100644 index 1d366b94556c5..0000000000000 --- a/engine/src/flutter/tools/licenses/data/academic-3.0 +++ /dev/null @@ -1,47 +0,0 @@ -Academic Free License ("AFL") v. 3.0 - -This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following licensing notice adjacent to the copyright notice for the Original Work: - -Licensed under the Academic Free License version 3.0 - -1) Grant of Copyright License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, for the duration of the copyright, to do the following: - -a) to reproduce the Original Work in copies, either alone or as part of a collective work; - -b) to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby creating derivative works ("Derivative Works") based upon the Original Work; - -c) to distribute or communicate copies of the Original Work and Derivative Works to the public, under any license of your choice that does not contradict the terms and conditions, including Licensor's reserved rights and remedies, in this Academic Free License; - -d) to perform the Original Work publicly; and - -e) to display the Original Work publicly. - -2) Grant of Patent License. Licensor grants You a worldwide, royalty-free, non-exclusive, sublicensable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, for the duration of the patents, to make, use, sell, offer for sale, have made, and import the Original Work and Derivative Works. - -3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work. - -4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior permission of the Licensor. Except as expressly stated herein, nothing in this License grants any license to Licensor's trademarks, copyrights, patents, trade secrets or any other intellectual property. No patent license is granted to make, use, sell, offer for sale, have made, or import embodiments of any patent claims other than the licensed claims defined in Section 2. No license is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under terms different from this License any Original Work that Licensor otherwise would have a right to license. - -5) External Deployment. The term "External Deployment" means the use, distribution, or communication of the Original Work or Derivative Works in any way such that the Original Work or Derivative Works may be used by anyone other than You, whether those works are distributed or communicated to those persons or made available as an application intended for use over a network. As an express condition for the grants of license hereunder, You must treat any External Deployment by You of the Original Work or a Derivative Work as a distribution under section 1(c). - -6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent, or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work. - -7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately preceding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of non-infringement, merchantability or fitness for a particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to the Original Work is granted by this License except under this disclaimer. - -8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to anyone for any indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to the extent applicable law prohibits such limitation. - -9) Acceptance and Termination. If, at any time, You expressly assented to this License, that assent indicates your clear and irrevocable acceptance of this License and all of its terms and conditions. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. This License conditions your rights to undertake the activities listed in Section 1, including your right to create Derivative Works based upon the Original Work, and doing so without honoring these terms and conditions is prohibited by copyright law and international treaty. Nothing in this License is intended to affect copyright exceptions and limitations (including "fair use" or "fair dealing"). This License shall terminate immediately and You may no longer exercise any of the rights granted to You by this License upon your failure to honor the conditions in Section 1(c). - -10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware. - -11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of copyright or patent law in the appropriate jurisdiction. This section shall survive the termination of this License. - -12) Attorneys' Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License. - -13) Miscellaneous. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. - -14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You. - -16) Modification of This License. This License is Copyright © 2005 Lawrence Rosen. Permission is granted to copy, distribute, or communicate this License without modification. Nothing in this License permits You to modify this License as applied to the Original Work or to Derivative Works. However, You may modify the text of this License and copy, distribute or communicate your modified version (the "Modified License") and apply it to other original works of authorship subject to the following conditions: (i) You may not indicate in any way that your Modified License is the "Academic Free License" or "AFL" and you may not use those names in the name of your Modified License; (ii) You must replace the notice specified in the first paragraph above with the notice "Licensed under " or with a notice of your own that is not confusingly similar to the notice in this License; and (iii) You may not claim that your original works are open source software unless your Modified License has been approved by Open Source Initiative (OSI) and You comply with its license review and certification process. diff --git a/engine/src/flutter/tools/licenses/data/apache-license-2.0 b/engine/src/flutter/tools/licenses/data/apache-license-2.0 deleted file mode 100644 index 261eeb9e9f8b2..0000000000000 --- a/engine/src/flutter/tools/licenses/data/apache-license-2.0 +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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 - - http://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. diff --git a/engine/src/flutter/tools/licenses/data/apache-license-2.0-with-llvm-exception b/engine/src/flutter/tools/licenses/data/apache-license-2.0-with-llvm-exception deleted file mode 100644 index 1bd4fd7710cd6..0000000000000 --- a/engine/src/flutter/tools/licenses/data/apache-license-2.0-with-llvm-exception +++ /dev/null @@ -1,219 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -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 - - http://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. - - ---- LLVM Exceptions to the Apache 2.0 License ---- - -As an exception, if, as a result of your compiling your source code, portions -of this Software are embedded into an Object form of such source code, you -may redistribute such embedded portions in such Object form without complying -with the conditions of Sections 4(a), 4(b) and 4(d) of the License. - -In addition, if you combine or link compiled forms of this Software with -software that is licensed under the GPLv2 ("Combined Software") and if a -court of competent jurisdiction determines that the patent provision (Section -3), the indemnity provision (Section 9) or other Section of the License -conflicts with the conditions of the GPLv2, you may retroactively and -prospectively choose to deem waived or otherwise exclude such Section(s) of -the License, but only in their entirety and only with respect to the Combined -Software. - diff --git a/engine/src/flutter/tools/licenses/data/google-bsd b/engine/src/flutter/tools/licenses/data/google-bsd deleted file mode 100644 index 0c9e304431c6a..0000000000000 --- a/engine/src/flutter/tools/licenses/data/google-bsd +++ /dev/null @@ -1,12 +0,0 @@ -Copyright (c) 2013, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -* Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/engine/src/flutter/tools/licenses/data/gpl-3.0 b/engine/src/flutter/tools/licenses/data/gpl-3.0 deleted file mode 100644 index 94a9ed024d385..0000000000000 --- a/engine/src/flutter/tools/licenses/data/gpl-3.0 +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/engine/src/flutter/tools/licenses/data/gpl-gcc-exception-3.1 b/engine/src/flutter/tools/licenses/data/gpl-gcc-exception-3.1 deleted file mode 100644 index e86f7fb58a465..0000000000000 --- a/engine/src/flutter/tools/licenses/data/gpl-gcc-exception-3.1 +++ /dev/null @@ -1,72 +0,0 @@ -GCC RUNTIME LIBRARY EXCEPTION - -Version 3.1, 31 March 2009 - -Copyright (C) 2009 Free Software Foundation, Inc. - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - -This GCC Runtime Library Exception ("Exception") is an additional -permission under section 7 of the GNU General Public License, version -3 ("GPLv3"). It applies to a given file (the "Runtime Library") that -bears a notice placed by the copyright holder of the file stating that -the file is governed by GPLv3 along with this Exception. - -When you use GCC to compile a program, GCC may combine portions of -certain GCC header files and runtime libraries with the compiled -program. The purpose of this Exception is to allow compilation of -non-GPL (including proprietary) programs to use, in this way, the -header files and runtime libraries covered by this Exception. - -0. Definitions. - -A file is an "Independent Module" if it either requires the Runtime -Library for execution after a Compilation Process, or makes use of an -interface provided by the Runtime Library, but is not otherwise based -on the Runtime Library. - -"GCC" means a version of the GNU Compiler Collection, with or without -modifications, governed by version 3 (or a specified later version) of -the GNU General Public License (GPL) with the option of using any -subsequent versions published by the FSF. - -"GPL-compatible Software" is software whose conditions of propagation, -modification and use would permit combination with GCC in accord with -the license of GCC. - -"Target Code" refers to output from any compiler for a real or virtual -target processor architecture, in executable form or suitable for -input to an assembler, loader, linker and/or execution -phase. Notwithstanding that, Target Code does not include data in any -format that is used as a compiler intermediate representation, or used -for producing a compiler intermediate representation. - -The "Compilation Process" transforms code entirely represented in -non-intermediate languages designed for human-written code, and/or in -Java Virtual Machine byte code, into Target Code. Thus, for example, -use of source code generators and preprocessors need not be considered -part of the Compilation Process, since the Compilation Process can be -understood as starting with the output of the generators or -preprocessors. - -A Compilation Process is "Eligible" if it is done using GCC, alone or -with other GPL-compatible software, or if it is done without using any -work based on GCC. For example, using non-GPL-compatible Software to -optimize any GCC intermediate representations would not qualify as an -Eligible Compilation Process. - -1. Grant of Additional Permission. - -You have permission to propagate a work of Target Code formed by -combining the Runtime Library with Independent Modules, even if such -propagation would otherwise violate the terms of GPLv3, provided that -all Target Code was generated by Eligible Compilation Processes. You -may then convey such a combination under terms of your choice, -consistent with the licensing of the Independent Modules. - -2. No Weakening of GCC Copyleft. - -The availability of this Exception does not imply any general -presumption that third-party software is unaffected by the copyleft -requirements of the license of GCC. diff --git a/engine/src/flutter/tools/licenses/data/ietf b/engine/src/flutter/tools/licenses/data/ietf deleted file mode 100644 index 5f6366fbbbb67..0000000000000 --- a/engine/src/flutter/tools/licenses/data/ietf +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (C) The Internet Society (2002). All Rights Reserved. - -This document and translations of it may be copied and furnished to -others, and derivative works that comment on or otherwise explain it -or assist in its implementation may be prepared, copied, published -and distributed, in whole or in part, without restriction of any -kind, provided that the above copyright notice and this paragraph are -included on all such copies and derivative works. However, this -document itself may not be modified in any way, such as by removing -the copyright notice or references to the Internet Society or other -Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for -copyrights defined in the Internet Standards process must be -followed, or as required to translate it into languages other than -English. - -The limited permissions granted above are perpetual and will not be -revoked by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an -"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. diff --git a/engine/src/flutter/tools/licenses/data/lesser-gpl-2.1 b/engine/src/flutter/tools/licenses/data/lesser-gpl-2.1 deleted file mode 100644 index 4362b49151d7b..0000000000000 --- a/engine/src/flutter/tools/licenses/data/lesser-gpl-2.1 +++ /dev/null @@ -1,502 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/engine/src/flutter/tools/licenses/data/library-gpl-2.0 b/engine/src/flutter/tools/licenses/data/library-gpl-2.0 deleted file mode 100644 index 12735e6c21959..0000000000000 --- a/engine/src/flutter/tools/licenses/data/library-gpl-2.0 +++ /dev/null @@ -1,481 +0,0 @@ - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if -you distribute copies of the library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, so that any problems introduced by others will not reflect on -the original authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the source code distributed need not include anything that is normally -distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/engine/src/flutter/tools/licenses/data/mit b/engine/src/flutter/tools/licenses/data/mit deleted file mode 100644 index 1f95d26c5ac2d..0000000000000 --- a/engine/src/flutter/tools/licenses/data/mit +++ /dev/null @@ -1,5 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/engine/src/flutter/tools/licenses/data/mozilla-1.1 b/engine/src/flutter/tools/licenses/data/mozilla-1.1 deleted file mode 100644 index 566908108012c..0000000000000 --- a/engine/src/flutter/tools/licenses/data/mozilla-1.1 +++ /dev/null @@ -1,469 +0,0 @@ - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the MPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (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.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] diff --git a/engine/src/flutter/tools/licenses/data/mozilla-2.0 b/engine/src/flutter/tools/licenses/data/mozilla-2.0 deleted file mode 100644 index 1c226ee1a652e..0000000000000 --- a/engine/src/flutter/tools/licenses/data/mozilla-2.0 +++ /dev/null @@ -1,194 +0,0 @@ -Mozilla Public License -Version 2.0 - -1. Definitions - -1.1. “Contributor” - -means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. - -1.2. “Contributor Version” - -means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution. - -1.3. “Contribution” - -means Covered Software of a particular Contributor. - -1.4. “Covered Software” - -means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. - -1.5. “Incompatible With Secondary Licenses” - -means - - a. that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. - -1.6. “Executable Form” - -means any form of the work other than Source Code Form. - -1.7. “Larger Work” - -means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. - -1.8. “License” - -means this document. - -1.9. “Licensable” - -means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. - -1.10. “Modifications” - -means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - -1.11. “Patent Claims” of a Contributor - -means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. - -1.12. “Secondary License” - -means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. - -1.13. “Source Code Form” - -means the form of the work preferred for making modifications. - -1.14. “You” (or “Your”) - -means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. - -2. License Grants and Conditions - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its Contributions. - -This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. - -3. Responsibilities - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. - -4. Inability to Comply Due to Statute or Regulation - -If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Termination - -5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. - -6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer. - -7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You. - -8. Litigation - -Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims. - -9. Miscellaneous - -This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. - -10. Versions of the License - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - -If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0. diff --git a/engine/src/flutter/tools/licenses/data/polymer-bsd b/engine/src/flutter/tools/licenses/data/polymer-bsd deleted file mode 100644 index 95987bac8689c..0000000000000 --- a/engine/src/flutter/tools/licenses/data/polymer-bsd +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) 2014 The Polymer Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/engine/src/flutter/tools/licenses/data/unicode b/engine/src/flutter/tools/licenses/data/unicode deleted file mode 100644 index 192a068a857b5..0000000000000 --- a/engine/src/flutter/tools/licenses/data/unicode +++ /dev/null @@ -1,94 +0,0 @@ -Unicode® Copyright and Terms of Use -For the general privacy policy governing access to this site, see the Unicode Privacy Policy. - -A. Unicode Copyright -1. Copyright © 1991-2022 Unicode, Inc. All rights reserved. -B. Definitions -Unicode Data Files ("DATA FILES") include all data files under the directories: -https://www.unicode.org/Public/ -https://www.unicode.org/reports/ -https://www.unicode.org/ivd/data/ - -Unicode Data Files do not include PDF online code charts under the directory: -https://www.unicode.org/Public/ - -Unicode Software ("SOFTWARE") includes any source code published in the Unicode Standard -or any source code or compiled code under the directories: -https://www.unicode.org/Public/PROGRAMS/ -https://www.unicode.org/Public/cldr/ -http://site.icu-project.org/download/ -C. Terms of Use -1. Certain documents and files on this website contain a legend indicating that "Modification is permitted." Any person is hereby authorized, without fee, to modify such documents and files to create derivative works conforming to the Unicode® Standard, subject to Terms and Conditions herein. -2. Any person is hereby authorized, without fee, to view, use, reproduce, and distribute all documents and files, subject to the Terms and Conditions herein. -3. Further specifications of rights and restrictions pertaining to the use of the Unicode DATA FILES and SOFTWARE can be found in the Unicode Data Files and Software License. -4. Each version of the Unicode Standard has further specifications of rights and restrictions of use. For the book editions (Unicode 5.0 and earlier), these are found on the back of the title page. -5. The Unicode PDF online code charts carry specific restrictions. Those restrictions are incorporated as the first page of each PDF code chart. -6. All other files, including online documentation of the core specification for Unicode 6.0 and later, are covered under these general Terms of Use. -7. No license is granted to "mirror" the Unicode website where a fee is charged for access to the "mirror" site. -8. Modification is not permitted with respect to this document. All copies of this document must be verbatim. -D. Restricted Rights Legend -1. Any technical data or software which is licensed to the United States of America, its agencies and/or instrumentalities under this Agreement is commercial technical data or commercial computer software developed exclusively at private expense as defined in FAR 2.101, or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, duplication, or disclosure by the Government is subject to restrictions as set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov 1995) and this Agreement. For Software, in accordance with FAR 12-212 or DFARS 227-7202, as applicable, use, duplication or disclosure by the Government is subject to the restrictions set forth in this Agreement. -E.Warranties and Disclaimers -1. This publication and/or website may include technical or typographical errors or other inaccuracies. Changes are periodically added to the information herein; these changes will be incorporated in new editions of the publication and/or website. Unicode, Inc. may make improvements and/or changes in the product(s) and/or program(s) described in this publication and/or website at any time. -2. If this file has been purchased on magnetic or optical media from Unicode, Inc. the sole and exclusive remedy for any claim will be exchange of the defective media within ninety (90) days of original purchase. -3. EXCEPT AS PROVIDED IN SECTION E.2, THIS PUBLICATION AND/OR SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UNICODE, INC. AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE. -F. Waiver of Damages -1. In no event shall Unicode, Inc. or its licensors be liable for any special, incidental, indirect or consequential damages of any kind, or any damages whatsoever, whether or not Unicode, Inc. was advised of the possibility of the damage, including, without limitation, those resulting from the following: loss of use, data or profits, in connection with the use, modification or distribution of this information or its derivatives. -G. Trademarks & Logos -1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of Unicode, Inc. Use of the information and materials found on this website indicates your acknowledgement of Unicode, Inc.’s exclusive worldwide rights in the Unicode Word Mark, the Unicode Logo, and the Unicode trade names. -3. The Unicode Consortium Name and Trademark Usage Policy (“Trademark Policy”) are incorporated herein by reference and you agree to abide by the provisions of the Trademark Policy, which may be changed from time to time in the sole discretion of Unicode, Inc. -4. All third party trademarks referenced herein are the property of their respective owners. -H. Miscellaneous -1. Jurisdiction and Venue. This website is operated from a location in the State of California, United States of America. Unicode, Inc. makes no representation that the materials are appropriate for use in other locations. If you access this website from other locations, you are responsible for compliance with local laws. This Agreement, all use of this website and any claims and damages resulting from use of this website are governed solely by the laws of the State of California without regard to any principles which would apply the laws of a different jurisdiction. The user agrees that any disputes regarding this website shall be resolved solely in the courts located in Santa Clara County, California. The user agrees said courts have personal jurisdiction and agree to waive any right to transfer the dispute to any other forum. -2. Modification by Unicode, Inc. Unicode, Inc. shall have the right to modify this Agreement at any time by posting it to this website. The user may not assign any part of this Agreement without Unicode, Inc.’s prior written consent. -3. Taxes. The user agrees to pay any taxes arising from access to this website or use of the information herein, except for those based on Unicode’s net income. -4. Severability. If any provision of this Agreement is declared invalid or unenforceable, the remaining provisions of this Agreement shall remain in effect. -5. Entire Agreement. This Agreement constitutes the entire agreement between the parties. - -EXHIBIT 1 -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE - -See Terms of Use -for definitions of Unicode Inc.’s Data Files and Software. - -NOTICE TO USER: Carefully read the following legal agreement. -BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S -DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), -YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE -TERMS AND CONDITIONS OF THIS AGREEMENT. -IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE -THE DATA FILES OR SOFTWARE. - -COPYRIGHT AND PERMISSION NOTICE - -Copyright © 1991-2022 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in https://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that either -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, or -(b) this copyright and permission notice appear in associated -Documentation. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. diff --git a/engine/src/flutter/tools/licenses/lib/README b/engine/src/flutter/tools/licenses/lib/README deleted file mode 100644 index 7874f4fa6f56d..0000000000000 --- a/engine/src/flutter/tools/licenses/lib/README +++ /dev/null @@ -1,94 +0,0 @@ -This license collection script is, fundamentally, one giant pile of -special cases. As such, while there is an attempt to model the rules -that apply to licenses and apply some sort of order to the process, -the code is less than clear. This file attempts to provide an overview. - -main.dart is the core of the operation. It first walks the entire -directory tree starting from the root of the repository (which is to -be specified on the command line as the only argument), creating an -in-memory representation of the project (make sure to run this only -after you've run gclient sync, so that all dependencies are on disk). -This is the step that is labeled "Preparing data structures". - -Then, it walks this in-memory representation, attempting to assign to -each file one or more licenses. This is the step labeled "Collecting -licenses", which takes a long time. - -Finally, it prints out these licenses. - -The in-memory representation is a tree of RepositoryEntry objects. -There's three important types of these objects: RepositoryDirectory -objects, which represent directories; RepositoryLicensedFile, which -represents source files and resources that might end up in the binary, -and RepositoryLicenseFile, which represents license files that do not -themselves end up in the binary other than as a side-effect of this -script. - -RepositoryDirectory objects contain three lists, the list of -RepositoryDirectory subdirectories, the list of RepositoryLicensedFile -children, and the list of RepositoryLicenseFile children. - -RepositoryDirectory objects are the objects that crawl the filesystem. - -While the script is pretty conservative (including probably more -licenses than strictly necessary), it tries to avoid including -material that isn't actually used. To do this, RepositoryDirectory -objects only crawl directories and files for which shouldRecurse -returns true. For example, shouldRecurse returns false for ".git" -files. To simplify the configuration of such rules, the default is to -apply the rules in the paths.dart file. - -Some directories and files require special handling, and have specific -subclasses of the above classes. To create the appropriate objects, -RepositoryDirectory calls createSubdirectory and createFile to create -the nodes of the tree. - - -The low-level handling of files is done by classes in filesystem.dart. -This code supports transparently crawling into archives (e.g. .jar -files), as well as handling UTF-8 vs latin1. It contains much magic -and hard-coded file names and so on to handle distinguishing binary -files from text files, and so forth. - -This code uses the cache described in cache.dart to try to avoid -having to repeatedly reopen the same file many times in a row. - - -In the case of a binary file, the license is found by crawling around -the directory structure looking for a "default" license file. In the -case of text files, though, it's often the case that the file itself -mentions the license and therefore the file itself is inspected -looking for copyright or license text. This scanning is done by -determineLicensesFor() in licenses.dart. - -This function uses patterns that are themselves in patterns.dart. In -this file we find all manner of long complicated and somewhat crazy -regular expressions. This is where you see quite how absurd this work -can actually be. It is left as an exercise to the reader to look for -the implications of many of the regular expressions; as one example, -though, consider the case of the pattern that matches the AFL/LGPL -dual license statement: there is one file in which the ZIP code for -the Free Software Foundation is off by one, for no clear reason, -leading to the pattern ending with "MA 0211[01]-1307, USA". - - -The license.dart file also contains the License object, the code that -attempts to determine what copyrights apply to which licenses, and the -code that attempts to identify the licenses themselves (at a high -level), to make sure that appropriate clauses are followed (e.g. -including the copyright with a BSD notice). - - -In formatter.dart you will find the only part of this codebase that is -actually tested at this time; this is the code that reformats blobs of -text to remove comments and decorations and the like. - - -The biggest problem with this script right now is that it is absurdly -slow, largely because of the many, many applications of regular -expressions in pattern.dart (especially the ones that use _linebreak). -In regexp_debug.dart we have a wrapper around RegExp that attempts to -quantify this cost, you can see the results if you run the script with -`--verbose`. Long term, the right solution is to change from these -all-in-one patterns to a world where we first tokenize each file, then -apply word-by-word pattern matching to the tokenized input. diff --git a/engine/src/flutter/tools/licenses/lib/cache.dart b/engine/src/flutter/tools/licenses/lib/cache.dart deleted file mode 100644 index ac0b311bf82d5..0000000000000 --- a/engine/src/flutter/tools/licenses/lib/cache.dart +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -Map _cache = {}; -const int _maxSize = 10; - -T cache(Key key, T Function() getter) { - T result; - if (_cache[key] != null) { - result = _cache[key] as T; - _cache.remove(key); - } else { - if (_cache.length == _maxSize) { - _cache.remove(_cache.keys.first); - } - result = getter(); - assert(result is! Function); - } - _cache[key] = result; - return result; -} - -abstract class Key { - Key(this._value); - - final dynamic _value; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - if (runtimeType != other.runtimeType) { - return false; - } - return other is Key && other._value == _value; - } - - @override - int get hashCode => runtimeType.hashCode ^ _value.hashCode; - - @override - String toString() => '$runtimeType($_value)'; -} diff --git a/engine/src/flutter/tools/licenses/lib/filesystem.dart b/engine/src/flutter/tools/licenses/lib/filesystem.dart deleted file mode 100644 index f044738f13996..0000000000000 --- a/engine/src/flutter/tools/licenses/lib/filesystem.dart +++ /dev/null @@ -1,963 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:collection'; -import 'dart:convert'; -import 'dart:io' as io; - -import 'package:archive/archive.dart' as a; -import 'package:path/path.dart' as path; - -import 'cache.dart'; -import 'limits.dart'; -import 'patterns.dart'; - -enum FileType { - binary, // won't have its own license block - text, // might have its own UTF-8 license block - latin1Text, // might have its own Windows-1252 license block - zip, // should be parsed as an archive and drilled into - tar, // should be parsed as an archive and drilled into - gz, // should be parsed as a single compressed file and exposed - bzip2, // should be parsed as a single compressed file and exposed - notPartOfBuild, // can be skipped entirely (e.g. Mac OS X ._foo files, bash scripts) -} - -typedef Reader = List Function(); - -class BytesOf extends Key { - BytesOf(super.value); -} - -class UTF8Of extends Key { - UTF8Of(super.value); -} - -class Latin1Of extends Key { - Latin1Of(super.value); -} - -bool matchesSignature(List bytes, List signature) { - if (bytes.length < signature.length) { - return false; - } - for (int index = 0; index < signature.length; index += 1) { - if (signature[index] != -1 && bytes[index] != signature[index]) { - return false; - } - } - return true; -} - -bool hasSubsequence(List bytes, List signature, int limit) { - if (bytes.length < limit) { - limit = bytes.length; - } - for (int index = 0; index < limit; index += 1) { - if (bytes.length - index < signature.length) { - return false; - } - for (int offset = 0; offset < signature.length; offset += 1) { - if (signature[offset] != -1 && bytes[index + offset] != signature[offset]) { - break; - } - if (offset + 1 == signature.length) { - return true; - } - } - } - return false; -} - -const String kMultiLicenseFileHeader = 'Notices for files contained in'; - -bool isMultiLicenseNotice(Reader reader) { - final List bytes = reader(); - return ascii.decode(bytes.take(kMultiLicenseFileHeader.length).toList(), allowInvalid: true) == - kMultiLicenseFileHeader; -} - -FileType identifyFile(String name, Reader reader) { - List? bytes; - if ((path.split(name).reversed.take(6).toList().reversed.join('/') == - 'third_party/icu/source/extra/uconv/README') || // This specific ICU README isn't in UTF-8. - (path.split(name).reversed.take(6).toList().reversed.join('/') == - 'third_party/icu/source/samples/uresb/sr.txt') || // This specific sample contains non-UTF-8 data (unlike other sr.txt files). - (path.split(name).reversed.take(2).toList().reversed.join('/') == - 'builds/detect.mk') || // This specific freetype sample contains non-UTF-8 data (unlike other .mk files). - (path.split(name).reversed.take(3).toList().reversed.join('/') == - 'third_party/cares/cares.rc')) { - return FileType.latin1Text; - } - if (path.split(name).reversed.take(6).toList().reversed.join('/') == - 'dart/runtime/tests/vm/dart/bad_snapshot') { - // Not any particular format - return FileType.binary; - } - if (path.split(name).reversed.take(9).toList().reversed.join('/') == - 'fuchsia/sdk/linux/dart/zircon/lib/src/fakes/handle_disposition.dart' || // has bogus but benign "authors" reference, reported to jamesr@ - path.split(name).reversed.take(6).toList().reversed.join('/') == - 'third_party/angle/src/common/fuchsia_egl/fuchsia_egl.c' || // has bogus but benign "authors" reference, reported to author and legal team - path.split(name).reversed.take(6).toList().reversed.join('/') == - 'third_party/angle/src/common/fuchsia_egl/fuchsia_egl.h' || // has bogus but benign "authors" reference, reported to author and legal team - path.split(name).reversed.take(6).toList().reversed.join('/') == - 'third_party/angle/src/common/fuchsia_egl/fuchsia_egl_backend.h') { - // has bogus but benign "authors" reference, reported to author and legal team - return FileType.binary; - } - if (path.split(name).reversed.take(6).toList().reversed.join('/') == - 'flutter/third_party/brotli/c/common/dictionary.bin.br') { - // Brotli-compressed Brotli dictionary - return FileType.binary; - } - final String base = path.basename(name); - if (base.startsWith('._')) { - bytes ??= reader(); - if (matchesSignature(bytes, [ - 0x00, - 0x05, - 0x16, - 0x07, - 0x00, - 0x02, - 0x00, - 0x00, - 0x4d, - 0x61, - 0x63, - 0x20, - 0x4f, - 0x53, - 0x20, - 0x58, - ])) { - return FileType.notPartOfBuild; - } // The ._* files in Mac OS X archives that gives icons and stuff - } - if (path.split(name).contains('cairo')) { - bytes ??= reader(); - // "Copyright " - if (hasSubsequence(bytes, [ - 0x43, - 0x6f, - 0x70, - 0x79, - 0x72, - 0x69, - 0x67, - 0x68, - 0x74, - 0x20, - 0xA9, - 0x20, - ], kMaxSize)) { - return FileType.latin1Text; - } - } - switch (base) { - // Build files - case 'DEPS': - return FileType.text; - case 'MANIFEST': - return FileType.text; - // Licenses - case 'COPYING': - return FileType.text; - case 'LICENSE': - return FileType.text; - case 'NOTICE.txt': - return isMultiLicenseNotice(reader) ? FileType.binary : FileType.text; - case 'NOTICE': - return FileType.text; - // Documentation - case 'Changes': - return FileType.text; - case 'change.log': - return FileType.text; - case 'ChangeLog': - return FileType.text; - case 'CHANGES.0': - return FileType.latin1Text; - case 'README': - return FileType.text; - case 'TODO': - return FileType.text; - case 'NEWS': - return FileType.text; - case 'README.chromium': - return FileType.text; - case 'README.flutter': - return FileType.text; - case 'README.tests': - return FileType.text; - case 'OWNERS': - return FileType.text; - case 'AUTHORS': - return FileType.text; - // Signatures (found in .jar files typically) - case 'CERT.RSA': - return FileType.binary; - case 'ECLIPSE_.RSA': - return FileType.binary; - // Binary data files - case 'tzdata': - return FileType.binary; - case 'compressed_atrace_data.txt': - return FileType.binary; - // Source files that don't use UTF-8 - case 'Messages_de_DE.properties': // has a few non-ASCII characters they forgot to escape (from gnu-libstdc++) - case 'mmx_blendtmp.h': // author name in comment contains latin1 (mesa) - case 'calling_convention.txt': // contains a soft hyphen instead of a real hyphen for some reason (mesa) - // Character encoding data files - case 'danish-ISO-8859-1.txt': - case 'eucJP.txt': - case 'hangul-eucKR.txt': - case 'hania-eucKR.txt': - case 'ibm-37-test.txt': - case 'iso8859-1.txt': - case 'ISO-8859-2.txt': - case 'ISO-8859-3.txt': - case 'koi8r.txt': - return FileType.latin1Text; - // Giant data files - case 'icudtl_dat.S': - case 'icudtl.dat': - case 'icudtl.dat.hash': - return FileType.binary; - } - switch (path.extension(name)) { - // C/C++ code - case '.h': - return FileType.text; - case '.c': - return FileType.text; - case '.cc': - return FileType.text; - case '.cpp': - return FileType.text; - case '.inc': - return FileType.text; - // Go code - case '.go': - return FileType.text; - // ObjectiveC code - case '.m': - return FileType.text; - // Assembler - case '.asm': - return FileType.text; - // Shell - case '.sh': - return FileType.notPartOfBuild; - case '.bat': - return FileType.notPartOfBuild; - // Build files - case '.ac': - return FileType.notPartOfBuild; - case '.am': - return FileType.notPartOfBuild; - case '.gn': - return FileType.notPartOfBuild; - case '.gni': - return FileType.notPartOfBuild; - case '.gyp': - return FileType.notPartOfBuild; - case '.gypi': - return FileType.notPartOfBuild; - // Java code - case '.java': - return FileType.text; - case '.jar': - return FileType.zip; // Java package - case '.class': - return FileType.binary; // compiled Java bytecode (usually found inside .jar archives) - case '.dex': - return FileType.binary; // Dalvik Executable (usually found inside .jar archives) - // Dart code - case '.dart': - return FileType.text; - case '.dill': - return FileType.binary; // Compiled Dart code - // LLVM bitcode - case '.bc': - return FileType.binary; - // Python code - case '.py': - bytes ??= reader(); - // # -*- coding: Latin-1 -*- - if (matchesSignature(bytes, [ - 0x23, - 0x20, - 0x2d, - 0x2a, - 0x2d, - 0x20, - 0x63, - 0x6f, - 0x64, - 0x69, - 0x6e, - 0x67, - 0x3a, - 0x20, - 0x4c, - 0x61, - 0x74, - 0x69, - 0x6e, - 0x2d, - 0x31, - 0x20, - 0x2d, - 0x2a, - 0x2d, - ])) { - return FileType.latin1Text; - } - return FileType.text; - case '.pyc': - return FileType.binary; // compiled Python bytecode - // Machine code - case '.so': - return FileType.binary; // ELF shared object - case '.xpt': - return FileType.binary; // XPCOM Type Library - // Graphics code - case '.glsl': - return FileType.text; - case '.spvasm': - return FileType.text; - // Documentation - case '.md': - return FileType.text; - case '.txt': - return FileType.text; - case '.html': - return FileType.text; - // Fonts - case '.ttf': - return FileType.binary; // TrueType Font - case '.ttcf': // (mac) - case '.ttc': - return FileType.binary; // TrueType Collection (windows) - case '.woff': - return FileType.binary; // Web Open Font Format - case '.otf': - return FileType.binary; // OpenType Font - // Graphics formats - case '.gif': - return FileType.binary; // GIF - case '.png': - return FileType.binary; // PNG - case '.tga': - return FileType.binary; // Truevision TGA (TARGA) - case '.dng': - return FileType.binary; // Digial Negative (Adobe RAW format) - case '.jpg': - case '.jpeg': - return FileType.binary; // JPEG - case '.ico': - return FileType.binary; // Windows icon format - case '.icns': - return FileType.binary; // macOS icon format - case '.bmp': - return FileType.binary; // Windows bitmap format - case '.wbmp': - return FileType.binary; // Wireless bitmap format - case '.webp': - return FileType.binary; // WEBP - case '.pdf': - return FileType.binary; // PDF - case '.emf': - return FileType.binary; // Windows enhanced metafile format - case '.skp': - return FileType.binary; // Skia picture format - case '.mskp': - return FileType.binary; // Skia picture format - case '.spv': - return FileType.binary; // SPIR-V - // Videos - case '.ogg': - return FileType.binary; // Ogg media - case '.mp4': - return FileType.binary; // MPEG media - case '.ts': - return FileType.binary; // MPEG2 transport stream - // Other binary files - case '.raw': - return FileType.binary; // raw audio or graphical data - case '.bin': - return FileType.binary; // some sort of binary data - case '.rsc': - return FileType.binary; // some sort of resource data - case '.arsc': - return FileType.binary; // Android compiled resources - case '.apk': - return FileType.zip; // Android Package - case '.crx': - return FileType.binary; // Chrome extension - case '.keystore': - return FileType.binary; - case '.icc': - return FileType.binary; // Color profile - case '.swp': - return FileType.binary; // Vim swap file - case '.bfbs': - return FileType.binary; // Flatbuffers Binary Schema - // Archives - case '.zip': - return FileType.zip; // ZIP - case '.tar': - return FileType.tar; // Tar - case '.gz': - return FileType.gz; // GZip - case '.bzip2': - return FileType.bzip2; // BZip2 - // Image file types from the Fuchsia SDK. - case '.blk': - case '.vboot': - case '.snapshot': - case '.zbi': - return FileType.binary; - // Special cases - case '.patch': - case '.diff': - // Don't try to read the copyright out of patch files, since there'll be fragments. - return FileType.binary; - case '.plist': - // These commonly include the word "copyright" but in a way that isn't necessarily a copyright statement that applies to the file. - // Since there's so few of them, and none have their own copyright statement, we just treat them as binary files. - return FileType.binary; - } - bytes ??= reader(); - assert(bytes.isNotEmpty); - if (matchesSignature(bytes, [0x1F, 0x8B])) { - return FileType.gz; - } // GZip archive - if (matchesSignature(bytes, [0x42, 0x5A])) { - return FileType.bzip2; - } // BZip2 archive - if (matchesSignature(bytes, [0x42, 0x43])) { - return FileType.binary; - } // LLVM Bitcode - if (matchesSignature(bytes, [0xAC, 0xED])) { - return FileType.binary; - } // Java serialized object - if (matchesSignature(bytes, [0x4D, 0x5A])) { - return FileType.binary; - } // MZ executable (DOS, Windows PEs, etc) - if (matchesSignature(bytes, [0xFF, 0xD8, 0xFF])) { - return FileType.binary; - } // JPEG - if (matchesSignature(bytes, [-1, -1, 0xda, 0x27])) { - return FileType.binary; - } // ICU data files (.brk, .dict, etc) - if (matchesSignature(bytes, [0x03, 0x00, 0x08, 0x00])) { - return FileType.binary; - } // Android Binary XML - if (matchesSignature(bytes, [0x25, 0x50, 0x44, 0x46])) { - return FileType.binary; - } // PDF - if (matchesSignature(bytes, [0x43, 0x72, 0x32, 0x34])) { - return FileType.binary; - } // Chrome extension - if (matchesSignature(bytes, [0x4F, 0x67, 0x67, 0x53])) { - return FileType.binary; - } // Ogg media - if (matchesSignature(bytes, [0x50, 0x4B, 0x03, 0x04])) { - return FileType.zip; - } // ZIP archive - if (matchesSignature(bytes, [0x7F, 0x45, 0x4C, 0x46])) { - return FileType.binary; - } // ELF - if (matchesSignature(bytes, [0xCA, 0xFE, 0xBA, 0xBE])) { - return FileType.binary; - } // compiled Java bytecode (usually found inside .jar archives) - if (matchesSignature(bytes, [0xCE, 0xFA, 0xED, 0xFE])) { - return FileType.binary; - } // Mach-O binary, 32 bit, reverse byte ordering scheme - if (matchesSignature(bytes, [0xCF, 0xFA, 0xED, 0xFE])) { - return FileType.binary; - } // Mach-O binary, 64 bit, reverse byte ordering scheme - if (matchesSignature(bytes, [0xFE, 0xED, 0xFA, 0xCE])) { - return FileType.binary; - } // Mach-O binary, 32 bit - if (matchesSignature(bytes, [0xFE, 0xED, 0xFA, 0xCF])) { - return FileType.binary; - } // Mach-O binary, 64 bit - if (matchesSignature(bytes, [0x75, 0x73, 0x74, 0x61, 0x72])) { - return FileType.bzip2; - } // Tar - if (matchesSignature(bytes, [0x47, 0x49, 0x46, 0x38, 0x37, 0x61])) { - return FileType.binary; - } // GIF87a - if (matchesSignature(bytes, [0x47, 0x49, 0x46, 0x38, 0x39, 0x61])) { - return FileType.binary; - } // GIF89a - if (matchesSignature(bytes, [0x64, 0x65, 0x78, 0x0A, 0x30, 0x33, 0x35, 0x00])) { - return FileType.binary; - } // Dalvik Executable - if (matchesSignature(bytes, [0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E, 0x0A])) { - // TODO(ianh): implement .ar parser, https://github.com/flutter/flutter/issues/25633 - return FileType.binary; // Unix archiver (ar) - } - if (matchesSignature(bytes, [0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0a])) { - return FileType.binary; - } // PNG - if (matchesSignature(bytes, [ - 0x58, - 0x50, - 0x43, - 0x4f, - 0x4d, - 0x0a, - 0x54, - 0x79, - 0x70, - 0x65, - 0x4c, - 0x69, - 0x62, - 0x0d, - 0x0a, - 0x1a, - ])) { - return FileType.binary; - } // XPCOM Type Library - if (matchesSignature(bytes, [0x23, 0x21])) { - // #! indicates a shell script, those are not part of the build - return FileType.notPartOfBuild; - } - return FileType.text; -} - -String _normalize(String fileContents) { - fileContents = fileContents.replaceAll(newlinePattern, '\n'); - fileContents = fileContents.replaceAll('\t', ' ' * 4); - return fileContents; -} - -// INTERFACE - -// base class -abstract class IoNode { - // Subclasses of IoNode are not mutually exclusive. - // For example, a ZIP file is represented as a File that also implements Directory. - String get name; - String get fullName; - - @override - String toString() => fullName; -} - -// interface -abstract class File extends IoNode { - List? readBytes(); -} - -// interface -abstract class TextFile extends File { - String readString(); -} - -mixin UTF8TextFile implements TextFile { - @override - String readString() { - try { - return cache(UTF8Of(this), () => _normalize(utf8.decode(readBytes()!))); - } on FormatException { - print(fullName); - rethrow; - } - } -} - -mixin Latin1TextFile implements TextFile { - @override - String readString() { - return cache(Latin1Of(this), () { - final List bytes = readBytes()!; - if (bytes.any((int byte) => byte == 0x00)) { - throw '$fullName contains a U+0000 NULL and is probably not actually encoded as Win1252'; - } - bool isUTF8 = false; - try { - cache(UTF8Of(this), () => utf8.decode(readBytes()!)); - isUTF8 = true; - } on FormatException { - // Exceptions are fine/expected for non-UTF8 text, which we test for - // immediately below. - } - if (isUTF8) { - throw '$fullName contains valid UTF-8 and is probably not actually encoded as Win1252'; - } - return _normalize(latin1.decode(bytes)); - }); - } -} - -// interface -abstract class Directory extends IoNode { - // lists children (shallow walk, not deep walk) - Iterable get walk; -} - -// interface -abstract class Link extends IoNode {} - -mixin ZipFile on File implements Directory { - ArchiveDirectory? _root; - - @override - Iterable get walk { - try { - _root ??= ArchiveDirectory.parseArchive(a.ZipDecoder().decodeBytes(readBytes()!), fullName); - return _root!.walk; - } catch (exception) { - print('failed to parse archive:\n$fullName'); - rethrow; - } - } -} - -mixin TarFile on File implements Directory { - ArchiveDirectory? _root; - - @override - Iterable get walk { - try { - _root ??= ArchiveDirectory.parseArchive(a.TarDecoder().decodeBytes(readBytes()!), fullName); - return _root!.walk; - } catch (exception) { - print('failed to parse archive:\n$fullName'); - rethrow; - } - } -} - -mixin GZipFile on File implements Directory { - InMemoryFile? _data; - - @override - Iterable get walk sync* { - try { - final String innerName = path.basenameWithoutExtension(fullName); - _data ??= InMemoryFile.parse( - '$fullName!$innerName', - a.GZipDecoder().decodeBytes(readBytes()!), - )!; - if (_data != null) { - yield _data!; - } - } catch (exception) { - print('failed to parse archive:\n$fullName'); - rethrow; - } - } -} - -mixin BZip2File on File implements Directory { - InMemoryFile? _data; - - @override - Iterable get walk sync* { - try { - final String innerName = path.basenameWithoutExtension(fullName); - _data ??= InMemoryFile.parse( - '$fullName!$innerName', - a.BZip2Decoder().decodeBytes(readBytes()!), - )!; - if (_data != null) { - yield _data!; - } - } catch (exception) { - print('failed to parse archive:\n$fullName'); - rethrow; - } - } -} - -// FILESYSTEM IMPLEMENTATIoN - -class FileSystemDirectory extends IoNode implements Directory { - FileSystemDirectory(this._directory); - - factory FileSystemDirectory.fromPath(String name) { - return FileSystemDirectory(io.Directory(name)); - } - - final io.Directory _directory; - - @override - String get name => path.basename(_directory.path); - - @override - String get fullName => _directory.path; - - List _readBytes(io.File file) { - return cache(BytesOf(file), () => file.readAsBytesSync()); - } - - @override - Iterable get walk sync* { - final List list = _directory.listSync().toList(); - list.sort((io.FileSystemEntity a, io.FileSystemEntity b) => a.path.compareTo(b.path)); - for (final io.FileSystemEntity entity in list) { - if (entity is io.Directory) { - yield FileSystemDirectory(entity); - } else if (entity is io.Link) { - yield FileSystemLink(entity); - } else { - assert(entity is io.File); - final io.File fileEntity = entity as io.File; - if (fileEntity.lengthSync() > 0) { - switch (identifyFile(fileEntity.path, () => _readBytes(fileEntity))) { - case FileType.binary: - yield FileSystemFile(fileEntity); - case FileType.zip: - yield FileSystemZipFile(fileEntity); - case FileType.tar: - yield FileSystemTarFile(fileEntity); - case FileType.gz: - yield FileSystemGZipFile(fileEntity); - case FileType.bzip2: - yield FileSystemBZip2File(fileEntity); - case FileType.text: - yield FileSystemUTF8TextFile(fileEntity); - case FileType.latin1Text: - yield FileSystemLatin1TextFile(fileEntity); - case FileType.notPartOfBuild: - break; // ignore this file - } - } - } - } - } -} - -class FileSystemLink extends IoNode implements Link { - FileSystemLink(this._link); - - final io.Link _link; - - @override - String get name => path.basename(_link.path); - - @override - String get fullName => _link.path; -} - -class FileSystemFile extends IoNode implements File { - FileSystemFile(this._file); - - final io.File _file; - - @override - String get name => path.basename(_file.path); - - @override - String get fullName => _file.path; - - @override - List readBytes() { - return cache(BytesOf(_file), () => _file.readAsBytesSync()); - } -} - -class FileSystemUTF8TextFile extends FileSystemFile with UTF8TextFile { - FileSystemUTF8TextFile(super.file); -} - -class FileSystemLatin1TextFile extends FileSystemFile with Latin1TextFile { - FileSystemLatin1TextFile(super.file); -} - -class FileSystemZipFile extends FileSystemFile with ZipFile { - FileSystemZipFile(super.file); -} - -class FileSystemTarFile extends FileSystemFile with TarFile { - FileSystemTarFile(super.file); -} - -class FileSystemGZipFile extends FileSystemFile with GZipFile { - FileSystemGZipFile(super.file); -} - -class FileSystemBZip2File extends FileSystemFile with BZip2File { - FileSystemBZip2File(super.file); -} - -// ARCHIVES - -class ArchiveDirectory extends IoNode implements Directory { - ArchiveDirectory(this.fullName, this.name); - - @override - final String fullName; - - @override - final String name; - - final Map _subdirectories = SplayTreeMap(); - final List _files = []; - - void _add(a.ArchiveFile entry, List remainingPath) { - if (remainingPath.length > 1) { - final String subdirectoryName = remainingPath.removeAt(0); - _subdirectories - .putIfAbsent( - subdirectoryName, - () => ArchiveDirectory('$fullName/$subdirectoryName', subdirectoryName), - ) - ._add(entry, remainingPath); - } else { - if (entry.size > 0) { - final String entryFullName = '$fullName/${path.basename(entry.name)}'; - switch (identifyFile(entry.name, () => entry.content as List)) { - case FileType.binary: - _files.add(ArchiveFile(entryFullName, entry)); - case FileType.zip: - _files.add(ArchiveZipFile(entryFullName, entry)); - case FileType.tar: - _files.add(ArchiveTarFile(entryFullName, entry)); - case FileType.gz: - _files.add(ArchiveGZipFile(entryFullName, entry)); - case FileType.bzip2: - _files.add(ArchiveBZip2File(entryFullName, entry)); - case FileType.text: - _files.add(ArchiveUTF8TextFile(entryFullName, entry)); - case FileType.latin1Text: - _files.add(ArchiveLatin1TextFile(entryFullName, entry)); - case FileType.notPartOfBuild: - break; // ignore this file - } - } - } - } - - static ArchiveDirectory parseArchive(a.Archive archive, String ownerPath) { - final ArchiveDirectory root = ArchiveDirectory('$ownerPath!', ''); - for (final a.ArchiveFile file in archive.files) { - if (file.size > 0) { - root._add(file, file.name.split('/')); - } - } - return root; - } - - @override - Iterable get walk sync* { - yield* _subdirectories.values; - yield* _files; - } -} - -class ArchiveFile extends IoNode implements File { - ArchiveFile(this.fullName, this._file); - - final a.ArchiveFile _file; - - @override - String get name => path.basename(_file.name); - - @override - final String fullName; - - @override - List? readBytes() { - return _file.content as List?; - } -} - -class ArchiveUTF8TextFile extends ArchiveFile with UTF8TextFile { - ArchiveUTF8TextFile(super.fullName, super.file); -} - -class ArchiveLatin1TextFile extends ArchiveFile with Latin1TextFile { - ArchiveLatin1TextFile(super.fullName, super.file); -} - -class ArchiveZipFile extends ArchiveFile with ZipFile { - ArchiveZipFile(super.fullName, super.file); -} - -class ArchiveTarFile extends ArchiveFile with TarFile { - ArchiveTarFile(super.fullName, super.file); -} - -class ArchiveGZipFile extends ArchiveFile with GZipFile { - ArchiveGZipFile(super.fullName, super.file); -} - -class ArchiveBZip2File extends ArchiveFile with BZip2File { - ArchiveBZip2File(super.fullName, super.file); -} - -// IN-MEMORY FILES (e.g. contents of GZipped files) - -class InMemoryFile extends IoNode implements File { - InMemoryFile(this.fullName, this._bytes); - - static InMemoryFile? parse(String fullName, List bytes) { - if (bytes.isEmpty) { - return null; - } - switch (identifyFile(fullName, () => bytes)) { - case FileType.binary: - return InMemoryFile(fullName, bytes); - case FileType.zip: - return InMemoryZipFile(fullName, bytes); - case FileType.tar: - return InMemoryTarFile(fullName, bytes); - case FileType.gz: - return InMemoryGZipFile(fullName, bytes); - case FileType.bzip2: - return InMemoryBZip2File(fullName, bytes); - case FileType.text: - return InMemoryUTF8TextFile(fullName, bytes); - case FileType.latin1Text: - return InMemoryLatin1TextFile(fullName, bytes); - case FileType.notPartOfBuild: - break; // ignore this file - } - assert(false); - return null; - } - - final List _bytes; - - @override - String get name => ''; - - @override - final String fullName; - - @override - List readBytes() => _bytes; -} - -class InMemoryUTF8TextFile extends InMemoryFile with UTF8TextFile { - InMemoryUTF8TextFile(super.fullName, super.file); -} - -class InMemoryLatin1TextFile extends InMemoryFile with Latin1TextFile { - InMemoryLatin1TextFile(super.fullName, super.file); -} - -class InMemoryZipFile extends InMemoryFile with ZipFile { - InMemoryZipFile(super.fullName, super.file); -} - -class InMemoryTarFile extends InMemoryFile with TarFile { - InMemoryTarFile(super.fullName, super.file); -} - -class InMemoryGZipFile extends InMemoryFile with GZipFile { - InMemoryGZipFile(super.fullName, super.file); -} - -class InMemoryBZip2File extends InMemoryFile with BZip2File { - InMemoryBZip2File(super.fullName, super.file); -} diff --git a/engine/src/flutter/tools/licenses/lib/formatter.dart b/engine/src/flutter/tools/licenses/lib/formatter.dart deleted file mode 100644 index 418d2326fa6f8..0000000000000 --- a/engine/src/flutter/tools/licenses/lib/formatter.dart +++ /dev/null @@ -1,201 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:core' hide RegExp; - -import 'patterns.dart'; - -void _stripFullLines(List lines) { - // Strip full-line decorations, e.g. horizontal lines, and trailing whitespace. - for (int index = 0; index < lines.length; index += 1) { - lines[index] = lines[index].trimRight(); - if (fullDecorations.matchAsPrefix(lines[index]) != null) { - if (index == 0 || lines[index].length != lines[index - 1].length) { - // (we leave the decorations if it's just underlining the previous line) - lines[index] = ''; - } - } - } - // Remove leading and trailing blank lines - while (lines.isNotEmpty && lines.first == '') { - lines.removeAt(0); - } - while (lines.isNotEmpty && lines.last == '') { - lines.removeLast(); - } -} - -bool _stripIndentation(List lines) { - // Try stripping leading indentation. - String? prefix; - bool removeTrailingBlockEnd = false; - if (lines.first.startsWith('/*') && lines.last.startsWith(' *')) { - // In addition to the leadingDecorations, we also support one specific - // kind of multiline decoration, the /*...*/ block comment. - prefix = ' *'; - removeTrailingBlockEnd = true; - } else { - prefix = leadingDecorations.matchAsPrefix(lines.first)?.group(0); - } - if (prefix != null && - lines.skip(1).every((String line) => line.startsWith(prefix!) || prefix.startsWith(line))) { - final int prefixLength = prefix.length; - for (int index = 0; index < lines.length; index += 1) { - final String line = lines[index]; - if (line.length > prefixLength) { - lines[index] = line.substring(prefixLength); - } else { - lines[index] = ''; - } - } - if (removeTrailingBlockEnd) { - if (lines.last == '/') { - // This removes the line with the trailing "*/" when we had a "/*" at the top. - lines.removeLast(); - } - } - return true; - } - return false; -} - -bool _unindentLeadingParagraphs(List lines) { - // Try removing leading spaces - // (we know that this loop terminates before the end of the block because - // otherwise the previous section would have stripped a common prefix across - // the entire block) - // - // For example, this will change: - // - // foo - // bar - // - // ...into: - // - // foo - // bar - // - assert(' '.startsWith(leadingDecorations)); - if (lines.first.startsWith(' ')) { - int lineCount = 0; - String line = lines.first; - int leadingBlockIndent = line.length; // arbitrarily big number - do { - int indentWidth = 1; - while (indentWidth < line.length && line[indentWidth] == ' ') { - indentWidth += 1; - } - if (indentWidth < leadingBlockIndent) { - leadingBlockIndent = indentWidth; - } - lineCount += 1; - assert(lineCount < lines.length); - line = lines[lineCount]; - } while (line.startsWith(' ')); - assert(leadingBlockIndent > 0); - for (int index = 0; index < lineCount; index += 1) { - lines[index] = lines[index].substring(leadingBlockIndent, lines[index].length); - } - return true; - } - return false; -} - -bool _minorRemovals(List lines) { - bool didEdits = false; - // Try removing stray leading spaces (but only one space). - for (int index = 0; index < lines.length; index += 1) { - if (lines[index].startsWith(' ') && !lines[index].startsWith(' ')) { - lines[index] = lines[index].substring(1, lines[index].length); - didEdits = true; - } - } - // Try stripping HTML leading and trailing block () comment markers. - if (lines.first.contains('')) { - lines.first = lines[0].replaceFirst('', ''); - didEdits = true; - } - // Try stripping C-style leading block comment markers. - // We don't do this earlier because if it's a multiline block comment - // we want to be careful about stripping the trailing aligned "*/". - if (lines.first.startsWith('/*')) { - lines.first = lines.first.substring(2, lines.first.length); - didEdits = true; - } - // Try stripping trailing decorations (specifically, stray "*/"s). - for (int index = 0; index < lines.length; index += 1) { - if (lines[index].endsWith('*/')) { - lines[index] = lines[index].substring(0, lines[index].length - 2); - didEdits = true; - } - } - return didEdits; -} - -/// This function takes a block of text potentially decorated with leading -/// prefix indents, horizontal lines, C-style comment blocks, blank lines, etc, -/// and removes all such incidental material leaving only the significant text. -String reformat(String body) { - final List lines = body.split('\n'); - while (true) { - // The order of the following checks is important. If any test changes - // something that could affect an earlier test, then we should "continue" back - // to the top of the loop. - _stripFullLines(lines); - if (lines.isEmpty) { - // We've stripped everything, give up. - return ''; - } - if (_stripIndentation(lines)) { - continue; // Go back to top since we may have more blank lines to strip now. - } - if (_unindentLeadingParagraphs(lines)) { - continue; // Go back to the top since we may have more indentation to strip now. - } - if (_minorRemovals(lines)) { - continue; // Go back to the top since we may have new stuff to strip. - } - // If we get here, we could not find anything else to do to the text to clean it up. - break; - } - return lines.join('\n'); -} - -String stripAsciiArt(String input) { - // Look for images so that we can remove them. - final List lines = input.split('\n'); - for (final List image in asciiArtImages) { - assert(image.isNotEmpty); - // Look for the image starting on each line. - search: - for (int index = 0; index < lines.length - image.length; index += 1) { - final int x = lines[index].indexOf(image[0]); - if (x >= 0) { - int width = image[0].length; - // Found the first line, check to see if we have a complete image. - for (int imageLine = 1; imageLine < image.length; imageLine += 1) { - if (lines[index + imageLine].indexOf(image[imageLine]) != x) { - continue search; // Not a complete image. - } - if (image[imageLine].length > width) { - width = image[imageLine].length; - } - } - // Now remove the image. - for (int imageLine = 0; imageLine < image.length; imageLine += 1) { - final String text = lines[index + imageLine]; - assert(text.length > x); - if (text.length >= x + width) { - lines[index + imageLine] = - text.substring(0, x) + text.substring(x + width, text.length); - } else { - lines[index + imageLine] = text.substring(0, x); - } - } - } - } - } - return lines.join('\n'); -} diff --git a/engine/src/flutter/tools/licenses/lib/licenses.dart b/engine/src/flutter/tools/licenses/lib/licenses.dart deleted file mode 100644 index fe2c0f139fa83..0000000000000 --- a/engine/src/flutter/tools/licenses/lib/licenses.dart +++ /dev/null @@ -1,1726 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:convert'; -import 'dart:core' hide RegExp; -import 'dart:io' as system; - -import 'cache.dart'; -import 'formatter.dart'; -import 'limits.dart'; -import 'patterns.dart'; -import 'regexp_debug.dart'; - -class FetchedContentsOf extends Key { - FetchedContentsOf(super.value); -} - -enum LicenseType { - afl, - apache, - apacheNotice, - apsl, - bison, - bsd, - eclipse, - freetype, - gpl, - icu, - defaultTemplate, // metatype: a license that applies to a file without an internal license; only used when searching for a license - ietf, - ijg, - lgpl, - libpng, - llvm, - mit, - mpl, - openssl, - unicode, - unknown, - vulkan, - zlib, -} - -LicenseType convertLicenseNameToType(String? name) { - switch (name) { - case 'Apache': - case 'Apache-2.0.txt': - case 'LICENSE-APACHE-2.0.txt': - case 'LICENSE.vulkan': - case 'APACHE-LICENSE-2.0': - return LicenseType.apache; - case 'BSD': - case 'BSD-3-Clause.txt': - case 'BSD.txt': - return LicenseType.bsd; - case 'COPYING-LGPL-2.1': - case 'LICENSE-LGPL-2': - case 'LICENSE-LGPL-2.1': - return LicenseType.lgpl; - case 'COPYING-GPL-3': - case 'GPL-3.0-only.txt': - case 'GPLv2.TXT': - return LicenseType.gpl; - case 'FTL.TXT': - return LicenseType.freetype; - case 'zlib.h': - return LicenseType.zlib; - case 'png.h': - return LicenseType.libpng; - case 'ICU': - return LicenseType.icu; - case 'Apple Public Source License': - return LicenseType.apsl; - case 'OpenSSL': - return LicenseType.openssl; - case 'COPYING-MPL-1.1': - case 'LICENSE.MPLv2': - case 'http://mozilla.org/MPL/2.0/': - return LicenseType.mpl; - case 'COPYRIGHT.vulkan': - return LicenseType.vulkan; - case 'LICENSE.MIT': - case 'MIT': - case 'MIT.txt': - return LicenseType.mit; - // file names that don't say what the type is - case 'COPYING': - case 'COPYING.LIB': // lgpl usually - case 'COPYING.RUNTIME': // gcc exception usually - case 'COPYING.txt': - case 'COPYRIGHT.musl': - case 'Copyright': - case 'LICENSE': - case 'LICENSE-APPLE': - case 'LICENSE.TXT': - case 'LICENSE.cssmin': - case 'LICENSE.md': - case 'LICENSE.rst': - case 'LICENSE.txt': - case 'License.txt': - case 'NOTICE': - case 'NOTICE.txt': - case 'copyright': - case 'extreme.indiana.edu.license.TXT': - case 'extreme.indiana.edu.license.txt': - case 'javolution.license.TXT': - case 'javolution.license.txt': - case 'libyaml-license.txt': - case 'license.html': - case 'license.patch': - case 'license.txt': - case 'mh-bsd-gcc': - case 'pivotal.labs.license.txt': - return LicenseType.unknown; - } - throw 'unknown license type: $name'; -} - -LicenseType convertBodyToType(String body) { - if (body.startsWith(lrApache) && body.contains(lrLLVM)) { - return LicenseType.llvm; - } - if (body.startsWith(lrApache)) { - return LicenseType.apache; - } - if (body.startsWith(lrMPL)) { - return LicenseType.mpl; - } - if (body.startsWith(lrGPL)) { - return LicenseType.gpl; - } - if (body.startsWith(lrAPSL)) { - return LicenseType.apsl; - } - if (body.contains(lrOpenSSL)) { - return LicenseType.openssl; - } - if (body.contains(lrBSD)) { - return LicenseType.bsd; - } - if (body.contains(lrMIT)) { - return LicenseType.mit; - } - if (body.contains(lrZlib)) { - return LicenseType.zlib; - } - if (body.contains(lrPNG)) { - return LicenseType.libpng; - } - if (body.contains(lrBison)) { - return LicenseType.bison; - } - return LicenseType.unknown; -} - -// API exposed by the classes in main.dart -abstract class LicenseSource { - String get name; - String get libraryName; - String get officialSourceLocation; - List? nearestLicensesFor(String name); - License? nearestLicenseOfType(LicenseType type); - License? nearestLicenseWithName(String name, {String? authors}); -} - -// Represents a license/file pairing, with metadata saying where the license came from. -class Assignment { - const Assignment(this.license, this.target, this.source); - final License license; - final String target; - final LicenseSource source; -} - -// Represents a group of files assigned to the same license, so that we can avoid -// duplicating licenses in the output. -class GroupedLicense { - GroupedLicense(this.type, this.body); - final LicenseType type; - final String body; - - // The names of files to which this license applies. - final Set targets = {}; - - // The libraries from which those files originate. - final Set libraries = {}; - - // How we determined the license applied to these files. - final Set origins = {}; - - String toStringDebug() { - final StringBuffer result = StringBuffer(); - result.writeln('=' * 100); - (libraries.map((String s) => 'LIBRARY: $s').toList()..sort()).forEach(result.writeln); - (origins.map((String s) => 'ORIGIN: $s').toList()..sort()).forEach(result.writeln); - result.writeln('TYPE: $type'); - (targets.map((String s) => 'FILE: $s').toList()..sort()).forEach(result.writeln); - result.writeln('-' * 100); - if (body.isEmpty) { - result.writeln(''); - } else { - result.writeln(body); - } - result.writeln('=' * 100); - return result.toString(); - } - - String toStringFormal() { - final StringBuffer result = StringBuffer(); - (libraries.toList()..sort()).forEach(result.writeln); - result.writeln(); - assert(body.isNotEmpty); - result.write(body); - return result.toString(); - } -} - -List groupLicenses(Iterable assignments) { - final Map groups = {}; - for (final Assignment assignment in assignments) { - final String body = assignment.license.toStringBody(assignment.source); - final GroupedLicense entry = groups.putIfAbsent( - body, - () => GroupedLicense(assignment.license.type, body), - ); - entry.targets.add(assignment.target); - entry.libraries.add(assignment.source.libraryName); - entry.origins.add(assignment.license.origin); - } - final List results = groups.values.toList(); - results.sort((GroupedLicense a, GroupedLicense b) => a.body.compareTo(b.body)); - return results; -} - -abstract class License { - factory License.unique( - String body, - LicenseType type, { - bool reformatted = false, - required String origin, - String? authors, - bool yesWeKnowWhatItLooksLikeButItIsNot = false, - }) { - if (!reformatted) { - body = reformat(body); - } - final License result = UniqueLicense._( - body, - type, - origin: origin, - yesWeKnowWhatItLooksLikeButItIsNot: yesWeKnowWhatItLooksLikeButItIsNot, - authors: authors, - ); - assert(() { - if (result is! UniqueLicense || result.type != type) { - throw 'tried to add a UniqueLicense $type, but it was a duplicate of a ${result.runtimeType} ${result.type}'; - } - return true; - }()); - return result; - } - - factory License.template( - String body, - LicenseType type, { - bool reformatted = false, - required String origin, - String? authors, - }) { - if (!reformatted) { - body = reformat(body); - } - final License result = TemplateLicense._autosplit(body, type, origin: origin, authors: authors); - assert(() { - if (result is! TemplateLicense || result.type != type) { - throw 'tried to add a TemplateLicense $type, but it was a duplicate of a ${result.runtimeType} ${result.type}'; - } - return true; - }()); - return result; - } - - factory License.multiLicense( - String body, - LicenseType type, { - bool reformatted = false, - String? authors, - required String origin, - }) { - if (!reformatted) { - body = reformat(body); - } - final License result = MultiLicense._(body, type, origin: origin, authors: authors); - assert(() { - if (result is! MultiLicense || result.type != type) { - throw 'tried to add a MultiLicense $type, but it was a duplicate of a ${result.runtimeType} ${result.type}'; - } - return true; - }()); - return result; - } - - factory License.message( - String body, - LicenseType type, { - bool reformatted = false, - required String origin, - }) { - if (!reformatted) { - body = reformat(body); - } - final License result = MessageLicense._(body, type, origin: origin); - assert(() { - if (result is! MessageLicense || result.type != type) { - throw 'tried to add a MessageLicense $type, but it was a duplicate of a ${result.runtimeType} ${result.type}'; - } - return true; - }()); - return result; - } - - factory License.blank(String body, LicenseType type, {required String origin}) { - final License result = BlankLicense._(reformat(body), type, origin: origin); - assert(() { - if (result is! BlankLicense || result.type != type) { - throw 'tried to add a BlankLicense $type, but it was a duplicate of a ${result.runtimeType} ${result.type}'; - } - return true; - }()); - return result; - } - - factory License.mozilla(String body, {required String origin}) { - body = reformat(body); - final License result = MozillaLicense._(body, LicenseType.mpl, origin: origin); - assert(() { - if (result is! MozillaLicense) { - throw 'tried to add a MozillaLicense, but it was a duplicate of a ${result.runtimeType} ${result.type}'; - } - return true; - }()); - return result; - } - - factory License.fromMultipleBlocks( - List bodies, - LicenseType type, { - String? authors, - required String origin, - bool yesWeKnowWhatItLooksLikeButItIsNot = false, - }) { - final String body = bodies.map((String s) => reformat(s)).join('\n\n'); - return MultiLicense._( - body, - type, - authors: authors, - origin: origin, - yesWeKnowWhatItLooksLikeButItIsNot: yesWeKnowWhatItLooksLikeButItIsNot, - ); - } - - factory License.fromBodyAndType( - String body, - LicenseType type, { - bool reformatted = false, - required String origin, - }) { - if (!reformatted) { - body = reformat(body); - } - final License result; - switch (type) { - case LicenseType.bsd: - case LicenseType.mit: - result = TemplateLicense._autosplit(body, type, origin: origin); - case LicenseType.apache: - case LicenseType.freetype: - case LicenseType.ijg: - case LicenseType.ietf: - case LicenseType.libpng: - case LicenseType.llvm: // The LLVM license is an Apache variant - case LicenseType.unicode: - case LicenseType.unknown: - case LicenseType.vulkan: - case LicenseType.zlib: - result = MessageLicense._(body, type, origin: origin); - case LicenseType.apacheNotice: - result = UniqueLicense._(body, type, origin: origin); - case LicenseType.mpl: - result = MozillaLicense._(body, type, origin: origin); - // The exception in the license of Bison allows redistributing larger - // works "under terms of your choice"; we choose terms that don't require - // any notice in the binary distribution. - case LicenseType.bison: - result = BlankLicense._(body, type, origin: origin); - case LicenseType.icu: - case LicenseType.openssl: - throw 'Use License.fromMultipleBlocks rather than License.fromBodyAndType for the ICU and OpenSSL licenses.'; - case LicenseType.afl: - case LicenseType.apsl: - case LicenseType.eclipse: - case LicenseType.gpl: - case LicenseType.lgpl: - result = DisallowedLicense._(body, type, origin: origin); - case LicenseType.defaultTemplate: - throw 'should not be creating a LicenseType.defaultTemplate license, it is not a real type'; - } - assert(result.type == type); - return result; - } - - factory License.fromBodyAndName(String body, String name, {required String origin}) { - body = reformat(body); - LicenseType type = convertLicenseNameToType(name); - if (type == LicenseType.unknown) { - type = convertBodyToType(body); - } - return License.fromBodyAndType(body, type, reformatted: true, origin: origin); - } - - factory License.fromBody(String body, {required String origin, bool reformatted = false}) { - if (!reformatted) { - body = reformat(body); - } - final LicenseType type = convertBodyToType(body); - return License.fromBodyAndType(body, type, reformatted: true, origin: origin); - } - - factory License.fromCopyrightAndLicense( - String copyright, - String template, - LicenseType type, { - required String origin, - }) { - copyright = reformat(copyright); - template = reformat(template); - return TemplateLicense._(copyright, template, type, origin: origin); - } - - factory License.fromIdentifyingReference( - String identifyingReference, { - required String referencer, - }) { - String body; - LicenseType type = LicenseType.unknown; - switch (identifyingReference) { - case 'Apache-2.0 OR MIT': // SPDX ID - case 'Apache-2.0': // SPDX ID - case 'Apache:2.0': - case 'http://www.apache.org/licenses/LICENSE-2.0': - case 'https://www.apache.org/licenses/LICENSE-2.0': - // If you're wondering why Abseil has what appears to be a duplicate copy of - // the Apache license, it's because of this: - // https://github.com/abseil/abseil-cpp/pull/270/files#r793181143 - body = system.File('data/apache-license-2.0').readAsStringSync(); - type = LicenseType.apache; - case 'Apache-2.0 WITH LLVM-exception': // SPDX ID - case 'https://llvm.org/LICENSE.txt': - body = system.File('data/apache-license-2.0-with-llvm-exception').readAsStringSync(); - type = LicenseType.llvm; - case 'https://developers.google.com/open-source/licenses/bsd': - body = system.File('data/google-bsd').readAsStringSync(); - type = LicenseType.bsd; - case 'http://polymer.github.io/LICENSE.txt': - body = system.File('data/polymer-bsd').readAsStringSync(); - type = LicenseType.bsd; - case 'http://www.eclipse.org/legal/epl-v10.html': - body = system.File('data/eclipse-1.0').readAsStringSync(); - type = LicenseType.eclipse; - case 'COPYING3:3': - body = system.File('data/gpl-3.0').readAsStringSync(); - type = LicenseType.gpl; - case 'COPYING.LIB:2': - case 'COPYING.LIother.m_:2': // blame hyatt - body = system.File('data/library-gpl-2.0').readAsStringSync(); - type = LicenseType.lgpl; - case 'GNU Lesser:2': - // there has never been such a license, but the authors said they meant the LGPL2.1 - case 'GNU Lesser:2.1': - body = system.File('data/lesser-gpl-2.1').readAsStringSync(); - type = LicenseType.lgpl; - case 'COPYING.RUNTIME:3.1': - case 'GCC Runtime Library Exception:3.1': - body = system.File('data/gpl-gcc-exception-3.1').readAsStringSync(); - case 'Academic Free License:3.0': - body = system.File('data/academic-3.0').readAsStringSync(); - type = LicenseType.afl; - case 'Mozilla Public License:1.1': - body = system.File('data/mozilla-1.1').readAsStringSync(); - type = LicenseType.mpl; - case 'http://mozilla.org/MPL/2.0/:2.0': - body = system.File('data/mozilla-2.0').readAsStringSync(); - type = LicenseType.mpl; - case 'MIT': // SPDX ID - case 'http://opensource->org/licenses/MIT': // i don't even - case 'http://opensource.org/licenses/MIT': - case 'https://opensource.org/licenses/MIT': - body = system.File('data/mit').readAsStringSync(); - type = LicenseType.mit; - case 'Unicode-DFS-2016': // SPDX ID - case 'http://unicode.org/copyright.html#Exhibit1': - case 'http://www.unicode.org/copyright.html#License': - case 'http://www.unicode.org/copyright.html': - case 'http://www.unicode.org/terms_of_use.html': // redirects to copyright.html - case 'https://www.unicode.org/copyright.html': - case 'https://www.unicode.org/terms_of_use.html': // redirects to copyright.html - body = system.File('data/unicode').readAsStringSync(); - type = LicenseType.unicode; - case 'http://www.ietf.org/rfc/rfc3454.txt': - body = system.File('data/ietf').readAsStringSync(); - type = LicenseType.ietf; - default: - throw 'unknown identifyingReference $identifyingReference'; - } - return License.fromBodyAndType( - body, - type, - origin: '$identifyingReference referenced by $referencer', - ); - } - - License._( - String body, - this.type, { - required this.origin, - String? authors, - bool yesWeKnowWhatItLooksLikeButItIsNot = false, - }) : authors = authors ?? _readAuthors(body) { - assert(() { - try { - switch (type) { - case LicenseType.afl: - case LicenseType.apsl: - case LicenseType.eclipse: - case LicenseType.gpl: - case LicenseType.lgpl: - // We do not want this kind of license in our build. - assert(this is DisallowedLicense); - case LicenseType.apache: - case LicenseType.freetype: - case LicenseType.ijg: - case LicenseType.ietf: - case LicenseType.libpng: - case LicenseType.llvm: - case LicenseType.unicode: - case LicenseType.vulkan: - case LicenseType.zlib: - assert(this is MessageLicense); - case LicenseType.apacheNotice: - assert(this is UniqueLicense); - case LicenseType.bison: - assert(this is BlankLicense); - case LicenseType.bsd: - case LicenseType.mit: - assert(this is TemplateLicense); - case LicenseType.icu: - case LicenseType.openssl: - assert(this is MultiLicense); - case LicenseType.mpl: - assert(this is MozillaLicense); - case LicenseType.unknown: - assert(this is MessageLicense || this is UniqueLicense); - case LicenseType.defaultTemplate: - assert(false, 'should not be creating LicenseType.defaultTemplate license'); - } - } on AssertionError { - throw 'incorrectly created a $runtimeType for a $type'; - } - return true; - }()); - final LicenseType detectedType = convertBodyToType(body); - if (detectedType != LicenseType.unknown && - detectedType != type && - !yesWeKnowWhatItLooksLikeButItIsNot) { - throw 'Created a license of type $type but it looks like $detectedType:\n---------\n$body\n-----------'; - } - if (type != LicenseType.apache && - type != LicenseType.llvm && - type != LicenseType.vulkan && - type != LicenseType.apacheNotice && - body.contains('Apache')) { - throw 'Non-Apache license (type=$type, detectedType=$detectedType) contains the word "Apache"; maybe it\'s a notice?:\n---\n$body\n---'; - } - if (detectedType != LicenseType.unknown && - detectedType != type && - !yesWeKnowWhatItLooksLikeButItIsNot) { - throw 'Created a license of type $type but it looks like $detectedType.'; - } - if (body.contains(trailingColon)) { - throw 'incomplete license detected:\n---\n$body\n---'; - } - bool isUTF8 = true; - late List latin1Encoded; - try { - latin1Encoded = latin1.encode(body); - isUTF8 = false; - } on ArgumentError { - /* Fall through to next encoding check. */ - } - if (!isUTF8) { - bool isAscii = false; - try { - ascii.decode(latin1Encoded); - isAscii = true; - } on FormatException { - /* Fall through to next encoding check */ - } - if (isAscii) { - return; - } - try { - utf8.decode(latin1Encoded); - isUTF8 = true; - } on FormatException { - /* We check isUTF8 below and throw if necessary */ - } - if (isUTF8) { - throw 'tried to create a License object with text that appears to have been misdecoded as Latin1 instead of as UTF-8:\n$body'; - } - } - } - - final String? authors; - final String origin; - final LicenseType type; - - Assignment assignLicenses(String target, LicenseSource source) { - return Assignment(this, target, source); - } - - // This takes a second license, which has been pre-split into copyright and - // licenseBody, and uses this license to expand it into a new license. How - // this works depends on this license; for example BSD licenses typically take - // their body and put on the given copyright, (and the licenseBody argument - // here in those cases is usually a reference to that license); some other - // licenses turn into two, one for the original license and one for this - // copyright/body pair. - Iterable _expandTemplate(String copyright, String licenseBody, {required String origin}); - - String toStringBody(LicenseSource source); - - static final RegExp _copyrightForAuthors = RegExp( - r'Copyright [-0-9 ,(cC)©]+\b(The .+ Authors)\.', - caseSensitive: false, - ); - - static String? _readAuthors(String body) { - final List matches = _copyrightForAuthors.allMatches(body).toList(); - if (matches.isEmpty) { - return null; - } - if (matches.length > 1) { - throw 'found too many authors for this copyright:\n$body\n\n${StackTrace.current}\n\n'; - } - return matches[0].group(1); - } - - @override - String toString() => '$runtimeType ($type) from $origin'; -} - -class _LineRange { - _LineRange(this.start, this.end, this._body); - final int start; - final int end; - final String _body; - String? _value; - String get value { - _value ??= _body.substring(start, end); - return _value!; - } -} - -Iterable<_LineRange> _walkLinesBackwards(String body, int start) sync* { - int? end; - while (start > 0) { - start -= 1; - if (body[start] == '\n') { - if (end != null) { - yield _LineRange(start + 1, end, body); - } - end = start; - } - } - if (end != null) { - yield _LineRange(start, end, body); - } -} - -Iterable<_LineRange> _walkLinesForwards(String body, {int start = 0, int? end}) sync* { - int? startIndex = start == 0 || body[start - 1] == '\n' ? start : null; - int endIndex = startIndex ?? start; - end ??= body.length; - while (endIndex < end) { - if (body[endIndex] == '\n') { - if (startIndex != null) { - yield _LineRange(startIndex, endIndex, body); - } - startIndex = endIndex + 1; - } - endIndex += 1; - } - if (startIndex != null) { - yield _LineRange(startIndex, endIndex, body); - } -} - -class _SplitLicense { - _SplitLicense(this._body, this._split) - : assert(_split == 0 || _split == _body.length || _body[_split] == '\n'); - - final String _body; - final int _split; - String getCopyright() => _body.substring(0, _split); - String getConditions() => - _split >= _body.length ? '' : _body.substring(_split == 0 ? 0 : _split + 1); -} - -_SplitLicense _splitLicense(String body, {bool verifyResults = true}) { - final Iterator<_LineRange> lines = _walkLinesForwards(body).iterator; - if (!lines.moveNext()) { - throw 'tried to split empty license'; - } - int end = 0; - String endReason; - while (true) { - final String line = lines.current.value; - if (line == 'Author:' || - line == 'This code is derived from software contributed to Berkeley by' || - line == 'The Initial Developer of the Original Code is') { - if (!lines.moveNext()) { - throw 'unexpected end of block instead of author when looking for copyright'; - } - if (lines.current.value.trim() == '') { - throw 'unexpectedly blank line instead of author when looking for copyright'; - } - end = lines.current.end; - if (!lines.moveNext()) { - endReason = 'ran out of text after author'; - break; - } - } else if (line.startsWith('Authors:') || line == 'Other contributors:') { - if (line != 'Authors:') { - // assume this line contained an author as well - end = lines.current.end; - } - if (!lines.moveNext()) { - throw 'unexpected end of license when reading list of authors while looking for copyright'; - } - final String firstAuthor = lines.current.value; - int subindex = 0; - while (subindex < firstAuthor.length && (firstAuthor[subindex] == ' ')) { - subindex += 1; - } - if (subindex == 0 || subindex > firstAuthor.length) { - throw 'unexpected blank line instead of authors found when looking for copyright'; - } - end = lines.current.end; - final String prefix = firstAuthor.substring(0, subindex); - bool hadMoreLines; - while ((hadMoreLines = lines.moveNext()) && lines.current.value.startsWith(prefix)) { - final String nextAuthor = lines.current.value.substring(prefix.length); - if (nextAuthor == '' || nextAuthor[0] == ' ') { - throw 'unexpectedly ragged author list when looking for copyright'; - } - end = lines.current.end; - } - if (!hadMoreLines) { - endReason = 'ran out of text while collecting authors'; - break; - } - } else if (line.contains(halfCopyrightPattern)) { - do { - if (!lines.moveNext()) { - throw 'unexpected end of block instead of copyright holder when looking for copyright'; - } - if (lines.current.value.trim() == '') { - throw 'unexpectedly blank line instead of copyright holder when looking for copyright'; - } - end = lines.current.end; - } while (lines.current.value.contains(trailingComma)); - if (!lines.moveNext()) { - endReason = 'ran out of text after matching halfCopyrightPattern/trailingComma sequence'; - break; - } - } else if (copyrightStatementPatterns.any(line.contains)) { - end = lines.current.end; - if (!lines.moveNext()) { - endReason = 'ran out of text after copyright statement pattern'; - break; - } - } else { - endReason = 'line did not match any copyright patterns ("$line")'; - break; - } - } - if (verifyResults && - 'Copyright ('.allMatches(body, end).isNotEmpty && - !body.startsWith('If you modify libpng')) { - throw 'the license seems to contain a copyright:\n===copyright===\n${body.substring(0, end)}\n===license===\n${body.substring(end)}\n=========\ntermination reason: $endReason'; - } - return _SplitLicense(body, end); -} - -class _PartialLicenseMatch { - _PartialLicenseMatch( - this._body, - this.start, - this.split, - this.end, - this._match, { - required this.hasCopyrights, - }) : assert(split >= start), - assert(split == start || _body[split] == '\n'); - - final String _body; - final int start; - final int split; - final int end; - final Match _match; - String? group(int? index) => _match.group(index!); - String? getAuthors() { - final Match? match = authorPattern.firstMatch(getCopyrights()); - if (match != null) { - return match.group(1); - } - return null; - } - - String getCopyrights() => _body.substring(start, split); - String getConditions() => _body.substring(split + 1, end); - String getEntireLicense() => _body.substring(start, end); - final bool hasCopyrights; -} - -// Look for all matches of `pattern` in `body` and return them along with associated copyrights. -Iterable<_PartialLicenseMatch> _findLicenseBlocks( - String body, - RegExp pattern, - int firstPrefixIndex, - int indentPrefixIndex, { - bool needsCopyright = true, -}) sync* { - // I tried doing this with one big RegExp initially, but that way lay madness. - for (final Match match in pattern.allMatches(body)) { - assert(match.groupCount >= firstPrefixIndex); - assert(match.groupCount >= indentPrefixIndex); - int start = match.start; - final String fullPrefix = '${match.group(firstPrefixIndex)}${match.group(indentPrefixIndex)}'; - // first we walk back to the start of the block that has the same prefix (e.g. - // the start of this comment block) - int firstLineOffset = 0; - bool lastWasBlank = false; - bool foundNonBlank = false; - for (final _LineRange range in _walkLinesBackwards(body, start)) { - String line = range.value; - bool isBlockCommentLine; - if (line.length > 3 && line.endsWith('*/')) { - int index = line.length - 3; - while (line[index] == ' ') { - index -= 1; - } - line = line.substring(0, index + 1); - isBlockCommentLine = true; - } else { - isBlockCommentLine = false; - } - if (line.isEmpty || fullPrefix.startsWith(line)) { - // this is a blank line - if (lastWasBlank && (foundNonBlank || !needsCopyright)) { - break; - } - lastWasBlank = true; - } else if (!isBlockCommentLine && line.startsWith('/*')) { - start = range.start; - firstLineOffset = 2; - break; - } else if (line.startsWith(' + + + + diff --git a/examples/multiple_windows/windows/runner/utils.cpp b/examples/multiple_windows/windows/runner/utils.cpp new file mode 100644 index 0000000000000..6abcd65042070 --- /dev/null +++ b/examples/multiple_windows/windows/runner/utils.cpp @@ -0,0 +1,68 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + unsigned int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + std::string utf8_string; + if (target_length == 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/examples/multiple_windows/windows/runner/utils.h b/examples/multiple_windows/windows/runner/utils.h new file mode 100644 index 0000000000000..54414c989ba71 --- /dev/null +++ b/examples/multiple_windows/windows/runner/utils.h @@ -0,0 +1,23 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/packages/flutter/lib/fix_data/fix_material/fix_theme_data.yaml b/packages/flutter/lib/fix_data/fix_material/fix_theme_data.yaml index dc9a897d75d17..1c8cd481913c3 100644 --- a/packages/flutter/lib/fix_data/fix_material/fix_theme_data.yaml +++ b/packages/flutter/lib/fix_data/fix_material/fix_theme_data.yaml @@ -886,11 +886,11 @@ transforms: style: optional_named argumentValue: expression: "CheckboxThemeData(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -903,11 +903,11 @@ transforms: style: optional_named argumentValue: expression: "{% checkboxTheme %}.copyWith(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -920,11 +920,11 @@ transforms: style: optional_named argumentValue: expression: "RadioThemeData(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -937,11 +937,11 @@ transforms: style: optional_named argumentValue: expression: "{% radioTheme %}.copyWith(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -954,20 +954,20 @@ transforms: style: optional_named argumentValue: expression: "SwitchThemeData(\n - thumbColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n }),\n - trackColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + trackColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -980,20 +980,20 @@ transforms: style: optional_named argumentValue: expression: "{% switchTheme %}.copyWith(\n - thumbColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n }),\n - trackColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + trackColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1030,11 +1030,11 @@ transforms: style: optional_named argumentValue: expression: "CheckboxThemeData(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1047,11 +1047,11 @@ transforms: style: optional_named argumentValue: expression: "{% checkboxTheme %}.copyWith(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1064,11 +1064,11 @@ transforms: style: optional_named argumentValue: expression: "RadioThemeData(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1081,11 +1081,11 @@ transforms: style: optional_named argumentValue: expression: "{% radioTheme %}.copyWith(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1098,20 +1098,20 @@ transforms: style: optional_named argumentValue: expression: "SwitchThemeData(\n - thumbColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n }),\n - trackColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + trackColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1124,20 +1124,20 @@ transforms: style: optional_named argumentValue: expression: "{% switchTheme %}.copyWith(\n - thumbColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n }),\n - trackColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + trackColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1174,11 +1174,11 @@ transforms: style: optional_named argumentValue: expression: "CheckboxThemeData(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1191,11 +1191,11 @@ transforms: style: optional_named argumentValue: expression: "{% checkboxTheme %}.copyWith(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1208,11 +1208,11 @@ transforms: style: optional_named argumentValue: expression: "RadioThemeData(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1225,11 +1225,11 @@ transforms: style: optional_named argumentValue: expression: "{% radioTheme %}.copyWith(\n - fillColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + fillColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1242,20 +1242,20 @@ transforms: style: optional_named argumentValue: expression: "SwitchThemeData(\n - thumbColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n }),\n - trackColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + trackColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n @@ -1268,20 +1268,20 @@ transforms: style: optional_named argumentValue: expression: "{% switchTheme %}.copyWith(\n - thumbColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n }),\n - trackColor: MaterialStateProperty.resolveWith((Set states) {\n - if (states.contains(MaterialState.disabled)) { + trackColor: WidgetStateProperty.resolveWith((Set states) {\n + if (states.contains(WidgetState.disabled)) { return null; }\n - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return {% toggleableActiveColor %}; }\n return null;\n diff --git a/packages/flutter/lib/src/cupertino/activity_indicator.dart b/packages/flutter/lib/src/cupertino/activity_indicator.dart index 0d15ab27738a6..910af01fcdd49 100644 --- a/packages/flutter/lib/src/cupertino/activity_indicator.dart +++ b/packages/flutter/lib/src/cupertino/activity_indicator.dart @@ -4,6 +4,7 @@ import 'dart:math' as math; +import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'colors.dart'; @@ -28,6 +29,7 @@ const Color _kActiveTickColor = CupertinoDynamicColor.withBrightness( /// /// See also: /// +/// * [CupertinoLinearActivityIndicator], which displays progress along a line. /// * class CupertinoActivityIndicator extends StatefulWidget { /// Creates an iOS-style activity indicator that spins clockwise. @@ -194,3 +196,105 @@ class _CupertinoActivityIndicatorPainter extends CustomPainter { oldPainter.progress != progress; } } + +/// An iOS-style linear activity indicator. +/// +/// The [CupertinoLinearActivityIndicator] is a linear progress bar that +/// displays a colored bar to indicate the progress of an ongoing task. +/// +/// {@tool dartpad} +/// This example shows how [CupertinoLinearActivityIndicator] can be customized. +/// +/// ** See code in examples/api/lib/cupertino/activity_indicator/cupertino_linear_activity_indicator.0.dart ** +/// {@end-tool} +/// +/// See also: +/// +/// * [CupertinoActivityIndicator], which is an iOS-style activity indicator that spins clockwise. +/// * +class CupertinoLinearActivityIndicator extends StatelessWidget { + /// Creates a linear iOS-style activity indicator. + const CupertinoLinearActivityIndicator({ + super.key, + required this.progress, + this.height = 4.5, + this.color, + }) : assert(height > 0), + assert(progress >= 0.0 && progress <= 1.0); + + /// The current progress of the linear activity indicator. + /// + /// This value must be between 0.0 and 1.0. A value of 0.0 means no progress + /// and 1.0 means that progress is complete. + final double progress; + + /// The height of the line used to draw the linear activity indicator. + /// + /// Defaults to 4.5 units. Must be positive. + final double height; + + /// The color of the progress bar. + /// + /// This color represents the portion of the bar that indicates progress. + /// + /// Defaults to [CupertinoColors.activeBlue] if no color is specified. + final Color? color; + + @override + Widget build(BuildContext context) { + return ConstrainedBox( + constraints: BoxConstraints(minHeight: height, minWidth: double.infinity), + child: CustomPaint( + painter: _CupertinoLinearActivityIndicator(progress: progress, color: color), + ), + ); + } +} + +class _CupertinoLinearActivityIndicator extends CustomPainter { + _CupertinoLinearActivityIndicator({required this.progress, this.color}) + : _backgroundPaint = Paint() + ..color = CupertinoColors.systemFill + ..style = PaintingStyle.fill, + _progressPaint = Paint() + ..color = color ?? CupertinoColors.activeBlue + ..style = PaintingStyle.fill; + + final double progress; + + final Color? color; + + /// The background paint used to draw the full width of the progress bar. + /// + /// This paint object is created once and reused to fill the background + /// with a system fill color. + final Paint _backgroundPaint; + + /// The paint used to draw the progress portion of the progress bar. + /// + /// This paint object is created once and reused to fill the progress area. + final Paint _progressPaint; + + @override + void paint(Canvas canvas, Size size) { + // Draw the background of the progress bar. + canvas.drawRRect( + BorderRadius.all(Radius.circular(size.height / 2)).toRRect(Offset.zero & size), + _backgroundPaint, + ); + + // Draw the progress portion of the bar. + if (progress > 0) { + canvas.drawRRect( + BorderRadius.all( + Radius.circular(size.height / 2), + ).toRRect(Offset.zero & Size(clampDouble(progress, 0.0, 1.0) * size.width, size.height)), + _progressPaint, + ); + } + } + + @override + bool shouldRepaint(_CupertinoLinearActivityIndicator old) => + old.progress != progress || old.color != color; +} diff --git a/packages/flutter/lib/src/cupertino/adaptive_text_selection_toolbar.dart b/packages/flutter/lib/src/cupertino/adaptive_text_selection_toolbar.dart index 99b700545fe13..8f3198bd7147f 100644 --- a/packages/flutter/lib/src/cupertino/adaptive_text_selection_toolbar.dart +++ b/packages/flutter/lib/src/cupertino/adaptive_text_selection_toolbar.dart @@ -209,7 +209,7 @@ class CupertinoAdaptiveTextSelectionToolbar extends StatelessWidget { @override Widget build(BuildContext context) { // If there aren't any buttons to build, build an empty toolbar. - if ((children?.isEmpty ?? false) || (buttonItems?.isEmpty ?? false)) { + if ((children ?? buttonItems)?.isEmpty ?? true) { return const SizedBox.shrink(); } diff --git a/packages/flutter/lib/src/cupertino/checkbox.dart b/packages/flutter/lib/src/cupertino/checkbox.dart index c7fd48478692c..76d69ff16f04d 100644 --- a/packages/flutter/lib/src/cupertino/checkbox.dart +++ b/packages/flutter/lib/src/cupertino/checkbox.dart @@ -66,6 +66,13 @@ const List _kDisabledDarkGradientOpacities = [0.08, 0.14]; /// ([CupertinoSwitch] in Flutter) instead, or to find a creative custom /// solution. /// +/// Visually, the checkbox is a square of [CupertinoCheckbox.width] pixels. +/// However, the widget's tap target and layout size depend on the platform: +/// * On desktop devices, the tap target matches the visual size. +/// * On mobile devices, the tap target expands to a square of +/// [kMinInteractiveDimensionCupertino] pixels to meet accessibility +/// guidelines. +/// /// {@tool dartpad} /// This example shows a toggleable [CupertinoCheckbox]. /// @@ -113,6 +120,7 @@ class CupertinoCheckbox extends StatefulWidget { this.autofocus = false, this.side, this.shape, + this.tapTargetSize, this.semanticLabel, }) : assert(tristate || value != null); @@ -290,6 +298,13 @@ class CupertinoCheckbox extends StatefulWidget { /// [RoundedRectangleBorder] with a circular corner radius of 4.0. final OutlinedBorder? shape; + /// The tap target and layout size of the checkbox. + /// + /// If this property is null, the tap target size defaults to a square of + /// [CupertinoCheckbox.width] pixels on desktop devices and + /// [kMinInteractiveDimensionCupertino] pixels on mobile devices. + final Size? tapTargetSize; + /// The semantic label for the checkbox that will be announced by screen readers. /// /// This is announced by assistive technologies (e.g TalkBack/VoiceOver). @@ -422,6 +437,17 @@ class _CupertinoCheckboxState extends State : SystemMouseCursors.basic); }); + final Size effectiveSize = + widget.tapTargetSize ?? + switch (defaultTargetPlatform) { + TargetPlatform.iOS || + TargetPlatform.android || + TargetPlatform.fuchsia => const Size.square(kMinInteractiveDimensionCupertino), + TargetPlatform.macOS || + TargetPlatform.linux || + TargetPlatform.windows => const Size.square(CupertinoCheckbox.width), + }; + return Semantics( label: widget.semanticLabel, checked: widget.value ?? false, @@ -430,7 +456,7 @@ class _CupertinoCheckboxState extends State mouseCursor: effectiveMouseCursor, focusNode: widget.focusNode, autofocus: widget.autofocus, - size: const Size.square(kMinInteractiveDimensionCupertino), + size: effectiveSize, painter: _painter ..position = position ..reaction = reaction diff --git a/packages/flutter/lib/src/cupertino/context_menu.dart b/packages/flutter/lib/src/cupertino/context_menu.dart index 75cd2ffc3c8ec..66e767f8f3280 100644 --- a/packages/flutter/lib/src/cupertino/context_menu.dart +++ b/packages/flutter/lib/src/cupertino/context_menu.dart @@ -1463,10 +1463,17 @@ class _ContextMenuAlignedChildrenDelegate extends MultiChildLayoutDelegate { final double availableHeightForChild = screenBounds.height - _ContextMenuRouteStaticState._kPadding; + final double availableWidth = screenBounds.width - _ContextMenuRouteStaticState._kPadding * 2; + final double availableWidthForChild = switch (orientation) { + Orientation.portrait => availableWidth, + Orientation.landscape => availableWidth - _ContextMenuSheetState._kMenuWidth, + }; + assert(availableWidthForChild >= 0.0); + assert(availableHeightForChild >= 0.0); final Size childSize = layoutChild( _ContextMenuChild.child, - constraints.copyWith(maxHeight: availableHeightForChild), + constraints.copyWith(maxHeight: availableHeightForChild, maxWidth: availableWidthForChild), ); // In portrait orientation, the child is atop the menu, while in landscape diff --git a/packages/flutter/lib/src/cupertino/date_picker.dart b/packages/flutter/lib/src/cupertino/date_picker.dart index 15d1609baffc0..4833b68d901df 100644 --- a/packages/flutter/lib/src/cupertino/date_picker.dart +++ b/packages/flutter/lib/src/cupertino/date_picker.dart @@ -308,6 +308,7 @@ class CupertinoDatePicker extends StatefulWidget { this.showTimeSeparator = false, this.itemExtent = _kItemExtent, this.selectionOverlayBuilder, + this.selectableDayPredicate, this.changeReportingBehavior = ChangeReportingBehavior.onScrollUpdate, }) : initialDateTime = initialDateTime ?? DateTime.now(), assert(itemExtent > 0, 'item extent should be greater than 0'), @@ -363,6 +364,12 @@ class CupertinoDatePicker extends StatefulWidget { mode == CupertinoDatePickerMode.dateAndTime || mode == CupertinoDatePickerMode.time, 'showTimeSeparator is only supported in time or dateAndTime modes', + ), + assert( + selectableDayPredicate == null || + initialDateTime == null || + selectableDayPredicate(initialDateTime), + '$initialDateTime must satisfy provided selectableDayPredicate.', ); /// The mode of the date picker as one of [CupertinoDatePickerMode]. Defaults @@ -457,6 +464,9 @@ class CupertinoDatePicker extends StatefulWidget { /// Defaults to false. final bool showTimeSeparator; + /// Function to provide full control over which [DateTime] can be selected. + final SelectableDayPredicate? selectableDayPredicate; + /// {@macro flutter.cupertino.picker.itemExtent} /// /// Defaults to a value that matches the default iOS date picker wheel. @@ -815,17 +825,22 @@ class _CupertinoDatePickerDateTimeState extends State { // Only reports datetime change when the date time is valid. void _onSelectedItemChange(int index) { - final DateTime selected = selectedDateTime; - final bool isDateInvalid = - (widget.minimumDate?.isAfter(selected) ?? false) || - (widget.maximumDate?.isBefore(selected) ?? false); + (widget.minimumDate?.isAfter(selectedDateTime) ?? false) || + (widget.maximumDate?.isBefore(selectedDateTime) ?? false); if (isDateInvalid) { return; + } else if (!_isSelectableDate(selectedDateTime)) { + return; } - widget.onDateTimeChanged(selected); + widget.onDateTimeChanged(selectedDateTime); + } + + /// Returns whether the given date is selectable. + bool _isSelectableDate(DateTime date) { + return widget.selectableDayPredicate?.call(date) ?? true; } // Builds the date column. The date is displayed in medium date format (e.g. Fri Aug 31). @@ -884,7 +899,10 @@ class _CupertinoDatePickerDateTimeState extends State { ? localizations.todayLabel : localizations.datePickerMediumDate(rangeStart); - return itemPositioningBuilder(context, Text(dateText, style: _themeTextStyle(context))); + return itemPositioningBuilder( + context, + Text(dateText, style: _themeTextStyle(context, isValid: _isSelectableDate(rangeStart))), + ); }, selectionOverlay: selectionOverlay, ), @@ -1104,6 +1122,21 @@ class _CupertinoDatePickerDateTimeState extends State { ); } + // Scrolls to the first selectable date if the current date is not selectable. + void _scrollToFirstSelectableDate() { + if (!_isSelectableDate(selectedDateTime)) { + const int daysThreshold = 1; + final DateTime targetDate = selectedDateTime.add(const Duration(days: daysThreshold)); + + _scrollToDate( + targetDate, + selectedDateTime, + false, + focusedIndex: dateController.selectedItem + daysThreshold, + ); + } + } + // One or more pickers have just stopped scrolling. void _pickerDidStopScrolling() { // Call setState to update the greyed out date/hour/minute/meridiem. @@ -1120,6 +1153,7 @@ class _CupertinoDatePickerDateTimeState extends State { final bool minCheck = widget.minimumDate?.isAfter(selectedDate) ?? false; final bool maxCheck = widget.maximumDate?.isBefore(selectedDate) ?? false; + _scrollToFirstSelectableDate(); if (minCheck || maxCheck) { // We have minCheck === !maxCheck. final DateTime targetDate = minCheck ? widget.minimumDate! : widget.maximumDate!; @@ -1127,12 +1161,12 @@ class _CupertinoDatePickerDateTimeState extends State { } } - void _scrollToDate(DateTime newDate, DateTime fromDate, bool minCheck) { + void _scrollToDate(DateTime newDate, DateTime fromDate, bool minCheck, {int? focusedIndex}) { SchedulerBinding.instance.addPostFrameCallback((Duration timestamp) { if (fromDate.year != newDate.year || fromDate.month != newDate.month || fromDate.day != newDate.day) { - _animateColumnControllerToItem(dateController, selectedDayFromInitial); + _animateColumnControllerToItem(dateController, focusedIndex ?? selectedDayFromInitial); } if (fromDate.hour != newDate.hour) { diff --git a/packages/flutter/lib/src/cupertino/expansion_tile.dart b/packages/flutter/lib/src/cupertino/expansion_tile.dart index 597cec6a10d7f..ba491b747a3d9 100644 --- a/packages/flutter/lib/src/cupertino/expansion_tile.dart +++ b/packages/flutter/lib/src/cupertino/expansion_tile.dart @@ -7,11 +7,13 @@ /// @docImport 'list_section.dart'; library; +import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'colors.dart'; import 'icons.dart'; import 'list_tile.dart'; +import 'localizations.dart'; import 'theme.dart'; /// The curve of the animation used to expand or collapse the @@ -168,12 +170,33 @@ class _CupertinoExpansionTileState extends State { } Widget _buildHeader(BuildContext context, Animation animation) { - return CupertinoListTile( - key: _headerKey, - onTap: _onHeaderTap, - title: widget.title, - trailing: _buildIcon(context, animation), - backgroundColorActivated: CupertinoColors.transparent, + final CupertinoLocalizations localizations = CupertinoLocalizations.of(context); + final String onTapHint = _tileController.isExpanded + ? localizations.expansionTileExpandedTapHint + : localizations.expansionTileCollapsedTapHint; + String? semanticsHint; + switch (defaultTargetPlatform) { + case TargetPlatform.iOS: + case TargetPlatform.macOS: + semanticsHint = _tileController.isExpanded + ? '${localizations.collapsedHint}\n ${localizations.expansionTileExpandedHint}' + : '${localizations.expandedHint}\n ${localizations.expansionTileCollapsedHint}'; + case TargetPlatform.android: + case TargetPlatform.fuchsia: + case TargetPlatform.linux: + case TargetPlatform.windows: + break; + } + return Semantics( + hint: semanticsHint, + onTapHint: onTapHint, + child: CupertinoListTile( + key: _headerKey, + onTap: _onHeaderTap, + title: widget.title, + trailing: _buildIcon(context, animation), + backgroundColorActivated: CupertinoColors.transparent, + ), ); } diff --git a/packages/flutter/lib/src/cupertino/localizations.dart b/packages/flutter/lib/src/cupertino/localizations.dart index a6d973d46b659..88113a7479069 100644 --- a/packages/flutter/lib/src/cupertino/localizations.dart +++ b/packages/flutter/lib/src/cupertino/localizations.dart @@ -4,6 +4,8 @@ /// @docImport 'bottom_tab_bar.dart'; /// @docImport 'date_picker.dart'; +/// @docImport 'expansion_tile.dart'; +/// @docImport 'nav_bar.dart'; /// @docImport 'search_field.dart'; library; @@ -308,6 +310,30 @@ abstract class CupertinoLocalizations { /// The label for the back button, used in [CupertinoNavigationBar] and [CupertinoSliverNavigationBar]. String get backButtonLabel; + /// The semantics hint to describe the tap action on an expanded + /// [CupertinoExpansionTile] on iOS and macOS. This is appended to the [collapsedHint] + /// hint to provide a more detailed description of the action, e.g. "Expanded + /// double tap to collapse". + String get expansionTileExpandedHint => 'double tap to collapse'; + + /// The semantics hint to describe the tap action on a collapsed + /// [CupertinoExpansionTile] on iOS and macOS. This is appended to the [expandedHint] + /// hint to provide a more detailed description of the action, e.g. "Collapsed + /// double tap to expand". + String get expansionTileCollapsedHint => 'double tap to expand'; + + /// The semantics hint to describe the tap action on an expanded [CupertinoExpansionTile]. + String get expansionTileExpandedTapHint => 'Collapse'; + + /// The semantics hint to describe the tap action on a collapsed [CupertinoExpansionTile]. + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + /// The semantics hint to describe the [CupertinoExpansionTile] expanded state. + String get expandedHint => 'Collapsed'; + + /// The semantics hint to describe the [CupertinoExpansionTile] collapsed state. + String get collapsedHint => 'Expanded'; + /// The `CupertinoLocalizations` from the closest [Localizations] instance /// that encloses the given context. /// @@ -532,6 +558,24 @@ class DefaultCupertinoLocalizations implements CupertinoLocalizations { @override String get backButtonLabel => 'Back'; + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expandedHint => 'Collapsed'; + + @override + String get collapsedHint => 'Expanded'; + /// Creates an object that provides US English resource values for the /// cupertino library widgets. /// diff --git a/packages/flutter/lib/src/cupertino/nav_bar.dart b/packages/flutter/lib/src/cupertino/nav_bar.dart index 30c9477b11640..75d6905ab06e2 100644 --- a/packages/flutter/lib/src/cupertino/nav_bar.dart +++ b/packages/flutter/lib/src/cupertino/nav_bar.dart @@ -643,8 +643,13 @@ class CupertinoNavigationBar extends StatefulWidget implements ObstructingPrefer @override Size get preferredSize { - final double heightForDrawer = bottom?.preferredSize.height ?? 0.0; - return Size.fromHeight(_kNavBarPersistentHeight + heightForDrawer); + final double bottomHeight = bottom?.preferredSize.height ?? 0.0; + + final double effectiveLargeHeight = largeTitle != null + ? _kNavBarLargeTitleHeightExtension + : 0.0; + + return Size.fromHeight(_kNavBarPersistentHeight + bottomHeight + effectiveLargeHeight); } @override @@ -1202,11 +1207,19 @@ class _CupertinoSliverNavigationBarState extends State +// running iOS 18.0 simulators. +const double _kStretchedTopGapRatio = 0.072; + // Tween for animating a Cupertino sheet onto the screen. // // Begins fully offscreen below the screen and ends onscreen with a small gap at @@ -353,7 +360,14 @@ class CupertinoSheetTransition extends StatefulWidget { State createState() => _CupertinoSheetTransitionState(); } -class _CupertinoSheetTransitionState extends State { +class _CupertinoSheetTransitionState extends State + with SingleTickerProviderStateMixin { + // Controls the top padding animation when the sheet is being slightly stretched upward. + late AnimationController _stretchDragController; + + // Animates the top padding of the sheet based on the _stretchDragController’s value. + late Animation _stretchDragAnimation; + // The offset animation when this page is being covered by another sheet. late Animation _secondaryPositionAnimation; @@ -369,6 +383,7 @@ class _CupertinoSheetTransitionState extends State { @override void initState() { super.initState(); + _setupAnimation(); } @@ -399,11 +414,19 @@ class _CupertinoSheetTransitionState extends State { reverseCurve: Curves.easeInToLinear, parent: widget.secondaryRouteAnimation, ); + _stretchDragController = AnimationController( + duration: const Duration(microseconds: 1), + vsync: this, + ); + _stretchDragAnimation = _stretchDragController.drive( + Tween(begin: _kTopGapRatio, end: _kStretchedTopGapRatio), + ); _secondaryPositionAnimation = _secondaryPositionCurve!.drive(_kMidUpTween); _secondaryScaleAnimation = _secondaryPositionCurve!.drive(_kScaleTween); } void _disposeCurve() { + _stretchDragController.dispose(); _primaryPositionCurve?.dispose(); _secondaryPositionCurve?.dispose(); _primaryPositionCurve = null; @@ -448,20 +471,49 @@ class _CupertinoSheetTransitionState extends State { @override Widget build(BuildContext context) { - return SizedBox.expand( - child: _coverSheetSecondaryTransition( - widget.secondaryRouteAnimation, - _coverSheetPrimaryTransition( - context, - widget.primaryRouteAnimation, - widget.linearTransition, - widget.child, + return _StretchDragControllerProvider( + controller: _stretchDragController, + child: SizedBox.expand( + child: AnimatedBuilder( + animation: _stretchDragAnimation, + builder: (BuildContext context, Widget? child) { + return Padding( + padding: EdgeInsets.only( + top: MediaQuery.heightOf(context) * _stretchDragAnimation.value, + ), + child: _coverSheetSecondaryTransition( + widget.secondaryRouteAnimation, + _coverSheetPrimaryTransition( + context, + widget.primaryRouteAnimation, + widget.linearTransition, + widget.child, + ), + ), + ); + }, ), ), ); } } +// Internally used to provide the controller for upward stretch animation. +class _StretchDragControllerProvider extends InheritedWidget { + const _StretchDragControllerProvider({required this.controller, required super.child}); + + final AnimationController controller; + + static _StretchDragControllerProvider? maybeOf(BuildContext context) { + return context.getInheritedWidgetOfExactType<_StretchDragControllerProvider>(); + } + + @override + bool updateShouldNotify(_StretchDragControllerProvider oldWidget) { + return false; + } +} + /// Route for displaying an iOS sheet styled page. /// /// {@youtube 560 315 https://www.youtube.com/watch?v=5H-WvH5O29I} @@ -508,18 +560,14 @@ class CupertinoSheetRoute extends PageRoute with _CupertinoSheetRouteTrans @override Widget buildContent(BuildContext context) { - final double topPadding = MediaQuery.heightOf(context) * _kTopGapRatio; return MediaQuery.removePadding( context: context, removeTop: true, - child: Padding( - padding: EdgeInsets.only(top: topPadding), - child: ClipRSuperellipse( - borderRadius: const BorderRadius.vertical(top: Radius.circular(12)), - child: CupertinoUserInterfaceLevel( - data: CupertinoUserInterfaceLevelData.elevated, - child: _CupertinoSheetScope(child: builder(context)), - ), + child: ClipRSuperellipse( + borderRadius: const BorderRadius.vertical(top: Radius.circular(12)), + child: CupertinoUserInterfaceLevel( + data: CupertinoUserInterfaceLevelData.elevated, + child: _CupertinoSheetScope(child: builder(context)), ), ), ); @@ -601,12 +649,12 @@ mixin _CupertinoSheetRouteTransitionMixin on PageRoute { return buildContent(context); } - static _CupertinoDownGestureController _startPopGesture(ModalRoute route) { - return _CupertinoDownGestureController( + static _CupertinoDragGestureController _startPopGesture(ModalRoute route) { + return _CupertinoDragGestureController( navigator: route.navigator!, getIsCurrent: () => route.isCurrent, getIsActive: () => route.isActive, - controller: route.controller!, // protected access + popDragController: route.controller!, // protected access ); } @@ -624,7 +672,7 @@ mixin _CupertinoSheetRouteTransitionMixin on PageRoute { primaryRouteAnimation: animation, secondaryRouteAnimation: secondaryAnimation, linearTransition: linearTransition, - child: _CupertinoDownGestureDetector( + child: _CupertinoDragGestureDetector( enabledCallback: () => enableDrag, onStartPopGesture: () => _startPopGesture(route), child: child, @@ -648,8 +696,8 @@ mixin _CupertinoSheetRouteTransitionMixin on PageRoute { } } -class _CupertinoDownGestureDetector extends StatefulWidget { - const _CupertinoDownGestureDetector({ +class _CupertinoDragGestureDetector extends StatefulWidget { + const _CupertinoDragGestureDetector({ super.key, required this.enabledCallback, required this.onStartPopGesture, @@ -660,20 +708,23 @@ class _CupertinoDownGestureDetector extends StatefulWidget { final ValueGetter enabledCallback; - final ValueGetter<_CupertinoDownGestureController> onStartPopGesture; + final ValueGetter<_CupertinoDragGestureController> onStartPopGesture; @override - _CupertinoDownGestureDetectorState createState() => _CupertinoDownGestureDetectorState(); + _CupertinoDragGestureDetectorState createState() => _CupertinoDragGestureDetectorState(); } -class _CupertinoDownGestureDetectorState extends State<_CupertinoDownGestureDetector> { - _CupertinoDownGestureController? _downGestureController; +class _CupertinoDragGestureDetectorState extends State<_CupertinoDragGestureDetector> { + _CupertinoDragGestureController? _dragGestureController; late VerticalDragGestureRecognizer _recognizer; + _StretchDragControllerProvider? _stretchDragController; @override void initState() { super.initState(); + assert(_stretchDragController == null); + _stretchDragController = _StretchDragControllerProvider.maybeOf(context); _recognizer = VerticalDragGestureRecognizer(debugOwner: this) ..onStart = _handleDragStart ..onUpdate = _handleDragUpdate @@ -681,17 +732,23 @@ class _CupertinoDownGestureDetectorState extends State<_CupertinoDownGestureD ..onCancel = _handleDragCancel; } + @override + void didChangeDependencies() { + super.didChangeDependencies(); + _stretchDragController = _StretchDragControllerProvider.maybeOf(context); + } + @override void dispose() { _recognizer.dispose(); // If this is disposed during a drag, call navigator.didStopUserGesture. - if (_downGestureController != null) { + if (_dragGestureController != null) { WidgetsBinding.instance.addPostFrameCallback((_) { - if (_downGestureController?.navigator.mounted ?? false) { - _downGestureController?.navigator.didStopUserGesture(); + if (_dragGestureController?.navigator.mounted ?? false) { + _dragGestureController?.navigator.didStopUserGesture(); } - _downGestureController = null; + _dragGestureController = null; }); } super.dispose(); @@ -699,32 +756,43 @@ class _CupertinoDownGestureDetectorState extends State<_CupertinoDownGestureD void _handleDragStart(DragStartDetails details) { assert(mounted); - assert(_downGestureController == null); - _downGestureController = widget.onStartPopGesture(); + assert(_dragGestureController == null); + _dragGestureController = widget.onStartPopGesture(); } void _handleDragUpdate(DragUpdateDetails details) { assert(mounted); - assert(_downGestureController != null); - _downGestureController!.dragUpdate( - // Divide by size of the sheet. - details.primaryDelta! / (context.size!.height - (context.size!.height * _kTopGapRatio)), - ); + assert(_dragGestureController != null); + if (_stretchDragController == null) { + return; + } + _dragGestureController!.dragUpdate(details.primaryDelta!, _stretchDragController!.controller); } void _handleDragEnd(DragEndDetails details) { assert(mounted); - assert(_downGestureController != null); - _downGestureController!.dragEnd(details.velocity.pixelsPerSecond.dy / context.size!.height); - _downGestureController = null; + assert(_dragGestureController != null); + if (_stretchDragController == null) { + _dragGestureController = null; + return; + } + _dragGestureController!.dragEnd( + details.velocity.pixelsPerSecond.dy / context.size!.height, + _stretchDragController!.controller, + ); + _dragGestureController = null; } void _handleDragCancel() { assert(mounted); // This can be called even if start is not called, paired with the "down" event // that we don't consider here. - _downGestureController?.dragEnd(0.0); - _downGestureController = null; + if (_stretchDragController == null) { + _dragGestureController = null; + return; + } + _dragGestureController?.dragEnd(0.0, _stretchDragController!.controller); + _dragGestureController = null; } void _handlePointerDown(PointerDownEvent event) { @@ -743,31 +811,52 @@ class _CupertinoDownGestureDetectorState extends State<_CupertinoDownGestureD } } -class _CupertinoDownGestureController { +class _CupertinoDragGestureController { /// Creates a controller for an iOS-style back gesture. - _CupertinoDownGestureController({ + _CupertinoDragGestureController({ required this.navigator, - required this.controller, + required this.popDragController, required this.getIsActive, required this.getIsCurrent, }) { navigator.didStartUserGesture(); } - final AnimationController controller; + final AnimationController popDragController; final NavigatorState navigator; final ValueGetter getIsActive; final ValueGetter getIsCurrent; /// The drag gesture has changed by [delta]. The total range of the drag /// should be 0.0 to 1.0. - void dragUpdate(double delta) { - controller.value -= delta; + void dragUpdate(double delta, AnimationController upController) { + if (popDragController.value == 1.0 && delta < 0) { + // Divide by stretchable range (when dragging upward at max extent). + upController.value -= + delta / (navigator.context.size!.height * (_kTopGapRatio - _kStretchedTopGapRatio)); + } else { + // Divide by size of the sheet. + popDragController.value -= + delta / + (navigator.context.size!.height - (navigator.context.size!.height * _kTopGapRatio)); + } } /// The drag gesture has ended with a vertical motion of [velocity] as a /// fraction of screen height per second. - void dragEnd(double velocity) { + void dragEnd(double velocity, AnimationController upController) { + // If the sheet is in a stretched state (dragged upward beyond max size), + // reverse the stretch to return to the normal max height. + if (upController.value > 0) { + upController.animateBack( + 0.0, + duration: const Duration(milliseconds: 180), + curve: Curves.easeOut, + ); + navigator.didStopUserGesture(); + return; + } + // Fling in the appropriate direction. // // This curve has been determined through rigorously eyeballing native iOS @@ -793,11 +882,11 @@ class _CupertinoDownGestureController { // If the drag is dropped with low velocity, the sheet will pop if the // the drag goes a little past the halfway point on the screen. This is // eyeballed on a simulator running iOS 18.0. - animateForward = controller.value > 0.52; + animateForward = popDragController.value > 0.52; } if (animateForward) { - controller.animateTo( + popDragController.animateTo( 1.0, duration: _kDroppedSheetDragAnimationDuration, curve: animationCurve, @@ -805,12 +894,11 @@ class _CupertinoDownGestureController { } else { if (isCurrent) { // This route is destined to pop at this point. Reuse navigator's pop. - final NavigatorState rootNavigator = Navigator.of(navigator.context, rootNavigator: true); - rootNavigator.pop(); + navigator.pop(); } - if (controller.isAnimating) { - controller.animateBack( + if (popDragController.isAnimating) { + popDragController.animateBack( 0.0, duration: _kDroppedSheetDragAnimationDuration, curve: animationCurve, @@ -818,17 +906,17 @@ class _CupertinoDownGestureController { } } - if (controller.isAnimating) { + if (popDragController.isAnimating) { // Keep the userGestureInProgress in true state so we don't change the // curve of the page transition mid-flight since CupertinoPageTransition // depends on userGestureInProgress. // late AnimationStatusListener animationStatusCallback; void animationStatusCallback(AnimationStatus status) { navigator.didStopUserGesture(); - controller.removeStatusListener(animationStatusCallback); + popDragController.removeStatusListener(animationStatusCallback); } - controller.addStatusListener(animationStatusCallback); + popDragController.addStatusListener(animationStatusCallback); } else { navigator.didStopUserGesture(); } diff --git a/packages/flutter/lib/src/cupertino/text_field.dart b/packages/flutter/lib/src/cupertino/text_field.dart index aa1b6e0870e9a..6c80f81438f1e 100644 --- a/packages/flutter/lib/src/cupertino/text_field.dart +++ b/packages/flutter/lib/src/cupertino/text_field.dart @@ -1780,6 +1780,38 @@ class _RenderBaselineAlignedStack extends RenderBox return child!; } + @override + double computeMinIntrinsicHeight(double width) { + return math.max( + _placeholderChild?.getMinIntrinsicHeight(width) ?? 0.0, + _editableTextChild.getMinIntrinsicHeight(width), + ); + } + + @override + double computeMaxIntrinsicHeight(double width) { + return math.max( + _placeholderChild?.getMaxIntrinsicHeight(width) ?? 0.0, + _editableTextChild.getMaxIntrinsicHeight(width), + ); + } + + @override + double computeMinIntrinsicWidth(double height) { + return math.max( + _placeholderChild?.getMinIntrinsicWidth(height) ?? 0.0, + _editableTextChild.getMinIntrinsicWidth(height), + ); + } + + @override + double computeMaxIntrinsicWidth(double height) { + return math.max( + _placeholderChild?.getMaxIntrinsicWidth(height) ?? 0.0, + _editableTextChild.getMaxIntrinsicWidth(height), + ); + } + @override void performLayout() { assert(constraints.hasTightWidth); diff --git a/packages/flutter/lib/src/foundation/_features.dart b/packages/flutter/lib/src/foundation/_features.dart index 283d43bf6edef..f9a6aca962403 100644 --- a/packages/flutter/lib/src/foundation/_features.dart +++ b/packages/flutter/lib/src/foundation/_features.dart @@ -14,6 +14,9 @@ import 'package:meta/meta.dart'; /// files will throw an `UnsupportedError`: /// /// 1. packages/flutter/lib/src/widgets/_window.dart +/// 2. packages/flutter/lib/src/widgets/_window_io.dart +/// 3. packages/flutter/lib/src/widgets/_window_web.dart +/// 4. packages/flutter/lib/src/widgets/_window_win32.dart /// /// See: https://github.com/flutter/flutter/issues/30701. @internal @@ -23,6 +26,6 @@ bool isWindowingEnabled = debugEnabledFeatureFlags.contains('windowing'); /// /// Do not use this API. Flutter can and will make breaking changes to this API. @internal -Set debugEnabledFeatureFlags = { +final Set debugEnabledFeatureFlags = { ...const String.fromEnvironment('FLUTTER_ENABLED_FEATURE_FLAGS').split(','), }; diff --git a/packages/flutter/lib/src/foundation/diagnostics.dart b/packages/flutter/lib/src/foundation/diagnostics.dart index 5a6158ba64eb4..d40371dfa0c60 100644 --- a/packages/flutter/lib/src/foundation/diagnostics.dart +++ b/packages/flutter/lib/src/foundation/diagnostics.dart @@ -1647,11 +1647,11 @@ abstract class DiagnosticsNode { result = { 'description': toDescription(), 'type': runtimeType.toString(), - if (name != null) 'name': name, + 'name': ?name, if (!showSeparator) 'showSeparator': showSeparator, if (level != DiagnosticLevel.info) 'level': level.name, if (!showName) 'showName': showName, - if (emptyBodyDescription != null) 'emptyBodyDescription': emptyBodyDescription, + 'emptyBodyDescription': ?emptyBodyDescription, if (style != DiagnosticsTreeStyle.sparse) 'style': style!.name, if (allowTruncate) 'allowTruncate': allowTruncate, if (hasChildren) 'hasChildren': hasChildren, diff --git a/packages/flutter/lib/src/material/action_chip.dart b/packages/flutter/lib/src/material/action_chip.dart index bd2f0a4ebd065..43ec50094575b 100644 --- a/packages/flutter/lib/src/material/action_chip.dart +++ b/packages/flutter/lib/src/material/action_chip.dart @@ -19,7 +19,6 @@ import 'chip_theme.dart'; import 'color_scheme.dart'; import 'colors.dart'; import 'debug.dart'; -import 'material_state.dart'; import 'text_theme.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -188,7 +187,7 @@ class ActionChip extends StatelessWidget @override final bool autofocus; @override - final MaterialStateProperty? color; + final WidgetStateProperty? color; @override final Color? backgroundColor; @override @@ -294,9 +293,9 @@ class _ActionChipDefaultsM3 extends ChipThemeData { ); @override - MaterialStateProperty? get color => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get color => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _chipVariant == _ChipVariant.flat ? null : _colors.onSurface.withOpacity(0.12); diff --git a/packages/flutter/lib/src/material/adaptive_text_selection_toolbar.dart b/packages/flutter/lib/src/material/adaptive_text_selection_toolbar.dart index e9adb1375599b..092bc7ca78509 100644 --- a/packages/flutter/lib/src/material/adaptive_text_selection_toolbar.dart +++ b/packages/flutter/lib/src/material/adaptive_text_selection_toolbar.dart @@ -297,7 +297,7 @@ class AdaptiveTextSelectionToolbar extends StatelessWidget { @override Widget build(BuildContext context) { // If there aren't any buttons to build, build an empty toolbar. - if ((children != null && children!.isEmpty) || (buttonItems != null && buttonItems!.isEmpty)) { + if ((children ?? buttonItems)?.isEmpty ?? true) { return const SizedBox.shrink(); } diff --git a/packages/flutter/lib/src/material/app_bar.dart b/packages/flutter/lib/src/material/app_bar.dart index 1ff0fc79c17c2..6d8ac31725abc 100644 --- a/packages/flutter/lib/src/material/app_bar.dart +++ b/packages/flutter/lib/src/material/app_bar.dart @@ -29,7 +29,6 @@ import 'icon_button.dart'; import 'icon_button_theme.dart'; import 'icons.dart'; import 'material.dart'; -import 'material_state.dart'; import 'scaffold.dart'; import 'tabs.dart'; import 'text_theme.dart'; @@ -864,21 +863,21 @@ class _AppBarState extends State { if (_scrolledUnder != oldScrolledUnder) { setState(() { - // React to a change in MaterialState.scrolledUnder + // React to a change in WidgetState.scrolledUnder }); } } } Color _resolveColor( - Set states, + Set states, Color? widgetColor, Color? themeColor, Color defaultColor, ) { - return MaterialStateProperty.resolveAs(widgetColor, states) ?? - MaterialStateProperty.resolveAs(themeColor, states) ?? - MaterialStateProperty.resolveAs(defaultColor, states); + return WidgetStateProperty.resolveAs(widgetColor, states) ?? + WidgetStateProperty.resolveAs(themeColor, states) ?? + WidgetStateProperty.resolveAs(defaultColor, states); } SystemUiOverlayStyle _systemOverlayStyleForBrightness( @@ -912,8 +911,8 @@ class _AppBarState extends State { final FlexibleSpaceBarSettings? settings = context .dependOnInheritedWidgetOfExactType(); - final Set states = { - if (settings?.isScrolledUnder ?? _scrolledUnder) MaterialState.scrolledUnder, + final Set states = { + if (settings?.isScrolledUnder ?? _scrolledUnder) WidgetState.scrolledUnder, }; final bool hasDrawer = scaffold?.hasDrawer ?? false; @@ -937,7 +936,7 @@ class _AppBarState extends State { Theme.of(context).colorScheme.surfaceContainer, ); - final Color effectiveBackgroundColor = states.contains(MaterialState.scrolledUnder) + final Color effectiveBackgroundColor = states.contains(WidgetState.scrolledUnder) ? scrolledUnderBackground : backgroundColor; @@ -946,7 +945,7 @@ class _AppBarState extends State { final double elevation = widget.elevation ?? appBarTheme.elevation ?? defaults.elevation!; - final double effectiveElevation = states.contains(MaterialState.scrolledUnder) + final double effectiveElevation = states.contains(WidgetState.scrolledUnder) ? widget.scrolledUnderElevation ?? appBarTheme.scrolledUnderElevation ?? defaults.scrolledUnderElevation ?? diff --git a/packages/flutter/lib/src/material/autocomplete.dart b/packages/flutter/lib/src/material/autocomplete.dart index 77d11a9c76598..584b71321fb59 100644 --- a/packages/flutter/lib/src/material/autocomplete.dart +++ b/packages/flutter/lib/src/material/autocomplete.dart @@ -291,20 +291,23 @@ class _AutocompleteOptionsListState extends State<_Autocomplet itemCount: widget.options.length, itemBuilder: (BuildContext context, int index) { final T option = widget.options.elementAt(index); - return InkWell( - key: GlobalObjectKey(option), - onTap: () { - widget.onSelected(option); - }, - child: Builder( - builder: (BuildContext context) { - final bool highlight = highlightedIndex == index; - return Container( - color: highlight ? Theme.of(context).focusColor : null, - padding: const EdgeInsets.all(16.0), - child: Text(widget.displayStringForOption(option)), - ); + return Semantics( + button: true, + child: InkWell( + key: GlobalObjectKey(option), + onTap: () { + widget.onSelected(option); }, + child: Builder( + builder: (BuildContext context) { + final bool highlight = highlightedIndex == index; + return Container( + color: highlight ? Theme.of(context).focusColor : null, + padding: const EdgeInsets.all(16.0), + child: Text(widget.displayStringForOption(option)), + ); + }, + ), ), ); }, diff --git a/packages/flutter/lib/src/material/bottom_navigation_bar.dart b/packages/flutter/lib/src/material/bottom_navigation_bar.dart index 84616835287d5..2edc2a76c7906 100644 --- a/packages/flutter/lib/src/material/bottom_navigation_bar.dart +++ b/packages/flutter/lib/src/material/bottom_navigation_bar.dart @@ -1045,12 +1045,12 @@ class _BottomNavigationBarState extends State with TickerPr final List tiles = []; for (int i = 0; i < widget.items.length; i++) { - final Set states = { - if (i == widget.currentIndex) MaterialState.selected, + final Set states = { + if (i == widget.currentIndex) WidgetState.selected, }; final MouseCursor effectiveMouseCursor = - MaterialStateProperty.resolveAs(widget.mouseCursor, states) ?? + WidgetStateProperty.resolveAs(widget.mouseCursor, states) ?? bottomTheme.mouseCursor?.resolve(states) ?? MaterialStateMouseCursor.clickable.resolve(states); diff --git a/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart b/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart index 264fbbedf1f3d..cbc5d17726984 100644 --- a/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart +++ b/packages/flutter/lib/src/material/bottom_navigation_bar_theme.dart @@ -8,7 +8,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'bottom_navigation_bar.dart'; -import 'material_state.dart'; import 'theme.dart'; // Examples can assume: @@ -130,7 +129,7 @@ class BottomNavigationBarThemeData with Diagnosticable { final BottomNavigationBarLandscapeLayout? landscapeLayout; /// If specified, overrides the default value of [BottomNavigationBar.mouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// Creates a copy of this object but with the given fields replaced with the /// new values. @@ -148,7 +147,7 @@ class BottomNavigationBarThemeData with Diagnosticable { BottomNavigationBarType? type, bool? enableFeedback, BottomNavigationBarLandscapeLayout? landscapeLayout, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, }) { return BottomNavigationBarThemeData( backgroundColor: backgroundColor ?? this.backgroundColor, @@ -287,7 +286,7 @@ class BottomNavigationBarThemeData with Diagnosticable { ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: null, diff --git a/packages/flutter/lib/src/material/button.dart b/packages/flutter/lib/src/material/button.dart index 913b81bb80a38..b5a735b0df6e0 100644 --- a/packages/flutter/lib/src/material/button.dart +++ b/packages/flutter/lib/src/material/button.dart @@ -314,19 +314,19 @@ class _RawMaterialButtonState extends State with MaterialStat @override void initState() { super.initState(); - setMaterialState(MaterialState.disabled, !widget.enabled); + setMaterialState(WidgetState.disabled, !widget.enabled); } @override void didUpdateWidget(RawMaterialButton oldWidget) { super.didUpdateWidget(oldWidget); - setMaterialState(MaterialState.disabled, !widget.enabled); + setMaterialState(WidgetState.disabled, !widget.enabled); // If the button is disabled while a press gesture is currently ongoing, // InkWell makes a call to handleHighlightChanged. This causes an exception // because it calls setState in the middle of a build. To preempt this, we // manually update pressed to false when this situation occurs. if (isDisabled && isPressed) { - removeMaterialState(MaterialState.pressed); + removeMaterialState(WidgetState.pressed); } } @@ -350,11 +350,11 @@ class _RawMaterialButtonState extends State with MaterialStat @override Widget build(BuildContext context) { - final Color? effectiveTextColor = MaterialStateProperty.resolveAs( + final Color? effectiveTextColor = WidgetStateProperty.resolveAs( widget.textStyle?.color, materialStates, ); - final ShapeBorder? effectiveShape = MaterialStateProperty.resolveAs( + final ShapeBorder? effectiveShape = WidgetStateProperty.resolveAs( widget.shape, materialStates, ); @@ -362,7 +362,7 @@ class _RawMaterialButtonState extends State with MaterialStat final BoxConstraints effectiveConstraints = widget.visualDensity.effectiveConstraints( widget.constraints, ); - final MouseCursor? effectiveMouseCursor = MaterialStateProperty.resolveAs( + final MouseCursor? effectiveMouseCursor = WidgetStateProperty.resolveAs( widget.mouseCursor ?? MaterialStateMouseCursor.clickable, materialStates, ); @@ -392,17 +392,17 @@ class _RawMaterialButtonState extends State with MaterialStat child: InkWell( focusNode: widget.focusNode, canRequestFocus: widget.enabled, - onFocusChange: updateMaterialState(MaterialState.focused), + onFocusChange: updateMaterialState(WidgetState.focused), autofocus: widget.autofocus, onHighlightChanged: updateMaterialState( - MaterialState.pressed, + WidgetState.pressed, onChanged: widget.onHighlightChanged, ), splashColor: widget.splashColor, highlightColor: widget.highlightColor, focusColor: widget.focusColor, hoverColor: widget.hoverColor, - onHover: updateMaterialState(MaterialState.hovered), + onHover: updateMaterialState(WidgetState.hovered), onTap: widget.onPressed, onLongPress: widget.onLongPress, enableFeedback: widget.enableFeedback, diff --git a/packages/flutter/lib/src/material/button_style.dart b/packages/flutter/lib/src/material/button_style.dart index 7bcac2fa73c6a..8d48999ed78df 100644 --- a/packages/flutter/lib/src/material/button_style.dart +++ b/packages/flutter/lib/src/material/button_style.dart @@ -25,7 +25,6 @@ import 'package:flutter/widgets.dart'; import 'button_style_button.dart'; import 'ink_well.dart'; -import 'material_state.dart'; import 'theme_data.dart'; // Examples can assume: @@ -37,7 +36,7 @@ import 'theme_data.dart'; /// The [states] parameter is the button's current pressed/hovered/etc state. The [child] is /// typically a descendant of the returned widget. typedef ButtonLayerBuilder = - Widget Function(BuildContext context, Set states, Widget? child); + Widget Function(BuildContext context, Set states, Widget? child); /// The visual properties that most buttons have in common. /// @@ -194,10 +193,10 @@ class ButtonStyle with Diagnosticable { /// /// The color of the [textStyle] is typically not used directly, the /// [foregroundColor] is used instead. - final MaterialStateProperty? textStyle; + final WidgetStateProperty? textStyle; /// The button's background fill color. - final MaterialStateProperty? backgroundColor; + final WidgetStateProperty? backgroundColor; /// The color for the button's [Text] widget descendants. /// @@ -205,11 +204,11 @@ class ButtonStyle with Diagnosticable { /// of the components that compute defaults from [ButtonStyle] values /// compute a default [foregroundColor] and use that instead of the /// [textStyle]'s color. - final MaterialStateProperty? foregroundColor; + final WidgetStateProperty? foregroundColor; /// The highlight color that's typically used to indicate that /// the button is focused, hovered, or pressed. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// The shadow color of the button's [Material]. /// @@ -217,15 +216,15 @@ class ButtonStyle with Diagnosticable { /// dark themes, so by default the button classes add a /// semi-transparent overlay to indicate elevation. See /// [ThemeData.applyElevationOverlayColor]. - final MaterialStateProperty? shadowColor; + final WidgetStateProperty? shadowColor; /// The surface tint color of the button's [Material]. /// /// See [Material.surfaceTintColor] for more details. - final MaterialStateProperty? surfaceTintColor; + final WidgetStateProperty? surfaceTintColor; /// The elevation of the button's [Material]. - final MaterialStateProperty? elevation; + final WidgetStateProperty? elevation; /// The padding between the button's boundary and its child. /// @@ -247,7 +246,7 @@ class ButtonStyle with Diagnosticable { /// are not changed. The visual density defaults to [VisualDensity.standard] on mobile. /// /// See [ThemeData.visualDensity] for more details. - final MaterialStateProperty? padding; + final WidgetStateProperty? padding; /// The minimum size of the button itself before applying [visualDensity]. /// @@ -266,7 +265,7 @@ class ButtonStyle with Diagnosticable { /// /// When visual density is [VisualDensity.standard], the minimum size is /// [minimumSize]. - final MaterialStateProperty? minimumSize; + final WidgetStateProperty? minimumSize; /// The button's size. /// @@ -280,7 +279,7 @@ class ButtonStyle with Diagnosticable { /// To specify buttons with a fixed width and the default height use /// `fixedSize: Size.fromWidth(320)`. Similarly, to specify a fixed /// height and the default width use `fixedSize: Size.fromHeight(100)`. - final MaterialStateProperty? fixedSize; + final WidgetStateProperty? fixedSize; /// The maximum size of the button itself. /// @@ -288,13 +287,13 @@ class ButtonStyle with Diagnosticable { /// the button's maximum size is not constrained. /// /// This value must be greater than or equal to [minimumSize]. - final MaterialStateProperty? maximumSize; + final WidgetStateProperty? maximumSize; /// The icon's color inside of the button. - final MaterialStateProperty? iconColor; + final WidgetStateProperty? iconColor; /// The icon's size inside of the button. - final MaterialStateProperty? iconSize; + final WidgetStateProperty? iconSize; /// The alignment of the button's icon. /// @@ -316,17 +315,17 @@ class ButtonStyle with Diagnosticable { /// /// This value is combined with [shape] to create a shape decorated /// with an outline. - final MaterialStateProperty? side; + final WidgetStateProperty? side; /// The shape of the button's underlying [Material]. /// /// This shape is combined with [side] to create a shape decorated /// with an outline. - final MaterialStateProperty? shape; + final WidgetStateProperty? shape; /// The cursor for a mouse pointer when it enters or is hovering over /// this button's [InkWell]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// Defines how compact the button's layout will be. /// @@ -427,23 +426,23 @@ class ButtonStyle with Diagnosticable { /// Returns a copy of this ButtonStyle with the given fields replaced with /// the new values. ButtonStyle copyWith({ - MaterialStateProperty? textStyle, - MaterialStateProperty? backgroundColor, - MaterialStateProperty? foregroundColor, - MaterialStateProperty? overlayColor, - MaterialStateProperty? shadowColor, - MaterialStateProperty? surfaceTintColor, - MaterialStateProperty? elevation, - MaterialStateProperty? padding, - MaterialStateProperty? minimumSize, - MaterialStateProperty? fixedSize, - MaterialStateProperty? maximumSize, - MaterialStateProperty? iconColor, - MaterialStateProperty? iconSize, + WidgetStateProperty? textStyle, + WidgetStateProperty? backgroundColor, + WidgetStateProperty? foregroundColor, + WidgetStateProperty? overlayColor, + WidgetStateProperty? shadowColor, + WidgetStateProperty? surfaceTintColor, + WidgetStateProperty? elevation, + WidgetStateProperty? padding, + WidgetStateProperty? minimumSize, + WidgetStateProperty? fixedSize, + WidgetStateProperty? maximumSize, + WidgetStateProperty? iconColor, + WidgetStateProperty? iconSize, IconAlignment? iconAlignment, - MaterialStateProperty? side, - MaterialStateProperty? shape, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? side, + WidgetStateProperty? shape, + WidgetStateProperty? mouseCursor, VisualDensity? visualDensity, MaterialTapTargetSize? tapTargetSize, Duration? animationDuration, @@ -592,101 +591,89 @@ class ButtonStyle with Diagnosticable { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'textStyle', textStyle, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'backgroundColor', backgroundColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'foregroundColor', foregroundColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'overlayColor', overlayColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'shadowColor', shadowColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'surfaceTintColor', surfaceTintColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( - 'elevation', - elevation, - defaultValue: null, - ), + DiagnosticsProperty>('elevation', elevation, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'padding', padding, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'minimumSize', minimumSize, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>('fixedSize', fixedSize, defaultValue: null), + DiagnosticsProperty>('fixedSize', fixedSize, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'maximumSize', maximumSize, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( - 'iconColor', - iconColor, - defaultValue: null, - ), + DiagnosticsProperty>('iconColor', iconColor, defaultValue: null), ); properties.add( - DiagnosticsProperty>('iconSize', iconSize, defaultValue: null), + DiagnosticsProperty>('iconSize', iconSize, defaultValue: null), ); properties.add(EnumProperty('iconAlignment', iconAlignment, defaultValue: null)); properties.add( - DiagnosticsProperty>('side', side, defaultValue: null), + DiagnosticsProperty>('side', side, defaultValue: null), ); properties.add( - DiagnosticsProperty>( - 'shape', - shape, - defaultValue: null, - ), + DiagnosticsProperty>('shape', shape, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: null, @@ -727,62 +714,52 @@ class ButtonStyle with Diagnosticable { return a; } return ButtonStyle( - textStyle: MaterialStateProperty.lerp( + textStyle: WidgetStateProperty.lerp( a?.textStyle, b?.textStyle, t, TextStyle.lerp, ), - backgroundColor: MaterialStateProperty.lerp( + backgroundColor: WidgetStateProperty.lerp( a?.backgroundColor, b?.backgroundColor, t, Color.lerp, ), - foregroundColor: MaterialStateProperty.lerp( + foregroundColor: WidgetStateProperty.lerp( a?.foregroundColor, b?.foregroundColor, t, Color.lerp, ), - overlayColor: MaterialStateProperty.lerp( + overlayColor: WidgetStateProperty.lerp( a?.overlayColor, b?.overlayColor, t, Color.lerp, ), - shadowColor: MaterialStateProperty.lerp( - a?.shadowColor, - b?.shadowColor, - t, - Color.lerp, - ), - surfaceTintColor: MaterialStateProperty.lerp( + shadowColor: WidgetStateProperty.lerp(a?.shadowColor, b?.shadowColor, t, Color.lerp), + surfaceTintColor: WidgetStateProperty.lerp( a?.surfaceTintColor, b?.surfaceTintColor, t, Color.lerp, ), - elevation: MaterialStateProperty.lerp(a?.elevation, b?.elevation, t, lerpDouble), - padding: MaterialStateProperty.lerp( + elevation: WidgetStateProperty.lerp(a?.elevation, b?.elevation, t, lerpDouble), + padding: WidgetStateProperty.lerp( a?.padding, b?.padding, t, EdgeInsetsGeometry.lerp, ), - minimumSize: MaterialStateProperty.lerp(a?.minimumSize, b?.minimumSize, t, Size.lerp), - fixedSize: MaterialStateProperty.lerp(a?.fixedSize, b?.fixedSize, t, Size.lerp), - maximumSize: MaterialStateProperty.lerp(a?.maximumSize, b?.maximumSize, t, Size.lerp), - iconColor: MaterialStateProperty.lerp(a?.iconColor, b?.iconColor, t, Color.lerp), - iconSize: MaterialStateProperty.lerp(a?.iconSize, b?.iconSize, t, lerpDouble), + minimumSize: WidgetStateProperty.lerp(a?.minimumSize, b?.minimumSize, t, Size.lerp), + fixedSize: WidgetStateProperty.lerp(a?.fixedSize, b?.fixedSize, t, Size.lerp), + maximumSize: WidgetStateProperty.lerp(a?.maximumSize, b?.maximumSize, t, Size.lerp), + iconColor: WidgetStateProperty.lerp(a?.iconColor, b?.iconColor, t, Color.lerp), + iconSize: WidgetStateProperty.lerp(a?.iconSize, b?.iconSize, t, lerpDouble), iconAlignment: t < 0.5 ? a?.iconAlignment : b?.iconAlignment, - side: _lerpSides(a?.side, b?.side, t), - shape: MaterialStateProperty.lerp( - a?.shape, - b?.shape, - t, - OutlinedBorder.lerp, - ), + side: WidgetStateBorderSide.lerp(a?.side, b?.side, t), + shape: WidgetStateProperty.lerp(a?.shape, b?.shape, t, OutlinedBorder.lerp), mouseCursor: t < 0.5 ? a?.mouseCursor : b?.mouseCursor, visualDensity: t < 0.5 ? a?.visualDensity : b?.visualDensity, tapTargetSize: t < 0.5 ? a?.tapTargetSize : b?.tapTargetSize, @@ -794,16 +771,4 @@ class ButtonStyle with Diagnosticable { foregroundBuilder: t < 0.5 ? a?.foregroundBuilder : b?.foregroundBuilder, ); } - - // Special case because BorderSide.lerp() doesn't support null arguments - static MaterialStateProperty? _lerpSides( - MaterialStateProperty? a, - MaterialStateProperty? b, - double t, - ) { - if (a == null && b == null) { - return null; - } - return MaterialStateBorderSide.lerp(a, b, t); - } } diff --git a/packages/flutter/lib/src/material/button_style_button.dart b/packages/flutter/lib/src/material/button_style_button.dart index c1c971203d4bc..6e11f1644c6bc 100644 --- a/packages/flutter/lib/src/material/button_style_button.dart +++ b/packages/flutter/lib/src/material/button_style_button.dart @@ -255,7 +255,7 @@ abstract class ButtonStyleButton extends StatefulWidget { /// Returns null if [value] is null, otherwise `WidgetStatePropertyAll(value)`. /// /// A convenience method for subclasses. - static MaterialStateProperty? allOrNull(T? value) => + static WidgetStateProperty? allOrNull(T? value) => value == null ? null : MaterialStatePropertyAll(value); /// Returns null if [enabled] and [disabled] are null. @@ -322,7 +322,7 @@ class _ButtonStyleState extends State with TickerProviderStat MaterialStatesController? internalStatesController; void handleStatesControllerChange() { - // Force a rebuild to resolve MaterialStateProperty properties + // Force a rebuild to resolve WidgetStateProperty properties setState(() {}); } @@ -333,7 +333,7 @@ class _ButtonStyleState extends State with TickerProviderStat if (widget.statesController == null) { internalStatesController = MaterialStatesController(); } - statesController.update(MaterialState.disabled, !widget.enabled); + statesController.update(WidgetState.disabled, !widget.enabled); statesController.addListener(handleStatesControllerChange); } @@ -355,10 +355,10 @@ class _ButtonStyleState extends State with TickerProviderStat initStatesController(); } if (widget.enabled != oldWidget.enabled) { - statesController.update(MaterialState.disabled, !widget.enabled); + statesController.update(WidgetState.disabled, !widget.enabled); if (!widget.enabled) { // The button may have been disabled while a press gesture is currently underway. - statesController.update(MaterialState.pressed, false); + statesController.update(WidgetState.pressed, false); } } } @@ -386,7 +386,7 @@ class _ButtonStyleState extends State with TickerProviderStat return widgetValue ?? themeValue ?? defaultValue; } - T? resolve(MaterialStateProperty? Function(ButtonStyle? style) getProperty) { + T? resolve(WidgetStateProperty? Function(ButtonStyle? style) getProperty) { return effectiveValue((ButtonStyle? style) { return getProperty(style)?.resolve(statesController.value); }); @@ -430,12 +430,12 @@ class _ButtonStyleState extends State with TickerProviderStat ); final MaterialStateMouseCursor mouseCursor = _MouseCursor( - (Set states) => + (Set states) => effectiveValue((ButtonStyle? style) => style?.mouseCursor?.resolve(states)), ); - final MaterialStateProperty overlayColor = MaterialStateProperty.resolveWith( - (Set states) => + final WidgetStateProperty overlayColor = WidgetStateProperty.resolveWith( + (Set states) => effectiveValue((ButtonStyle? style) => style?.overlayColor?.resolve(states)), ); @@ -618,10 +618,10 @@ class _ButtonStyleState extends State with TickerProviderStat class _MouseCursor extends MaterialStateMouseCursor { const _MouseCursor(this.resolveCallback); - final MaterialPropertyResolver resolveCallback; + final WidgetPropertyResolver resolveCallback; @override - MouseCursor resolve(Set states) => resolveCallback(states)!; + MouseCursor resolve(Set states) => resolveCallback(states)!; @override String get debugDescription => 'ButtonStyleButton_MouseCursor'; diff --git a/packages/flutter/lib/src/material/calendar_date_picker.dart b/packages/flutter/lib/src/material/calendar_date_picker.dart index d9d877225a567..1b55a732fe72c 100644 --- a/packages/flutter/lib/src/material/calendar_date_picker.dart +++ b/packages/flutter/lib/src/material/calendar_date_picker.dart @@ -21,6 +21,7 @@ import 'icon_button.dart'; import 'icons.dart'; import 'ink_decoration.dart'; import 'ink_well.dart'; +import 'material.dart'; import 'material_localizations.dart'; import 'material_state.dart'; import 'theme.dart'; @@ -864,13 +865,23 @@ class _MonthPickerState extends State<_MonthPicker> { children: [ const Spacer(), IconButton( - icon: const Icon(Icons.chevron_left), + icon: Icon( + Icons.chevron_left, + semanticLabel: _isDisplayingFirstMonth + ? _localizations.previousMonthTooltip + : null, + ), color: subHeaderForegroundColor, tooltip: _isDisplayingFirstMonth ? null : _localizations.previousMonthTooltip, onPressed: _isDisplayingFirstMonth ? null : _handlePreviousMonth, ), IconButton( - icon: const Icon(Icons.chevron_right), + icon: Icon( + Icons.chevron_right, + semanticLabel: _isDisplayingLastMonth + ? _localizations.nextMonthTooltip + : null, + ), color: subHeaderForegroundColor, tooltip: _isDisplayingLastMonth ? null : _localizations.nextMonthTooltip, onPressed: _isDisplayingLastMonth ? null : _handleNextMonth, @@ -888,13 +899,18 @@ class _MonthPickerState extends State<_MonthPicker> { child: _FocusedDate( calendarDelegate: widget.calendarDelegate, date: _dayGridFocus.hasFocus ? _focusedDay : null, - child: PageView.builder( - key: _pageViewKey, - controller: _pageController, - itemBuilder: _buildItems, - itemCount: - widget.calendarDelegate.monthDelta(widget.firstDate, widget.lastDate) + 1, - onPageChanged: _handleMonthPageChanged, + // Wrap the PageView with `Material`, so when its child paints on materials + // the content won't go out of boundary during page transition. + child: Material( + type: MaterialType.transparency, + child: PageView.builder( + key: _pageViewKey, + controller: _pageController, + itemBuilder: _buildItems, + itemCount: + widget.calendarDelegate.monthDelta(widget.firstDate, widget.lastDate) + 1, + onPageChanged: _handleMonthPageChanged, + ), ), ), ), @@ -1158,8 +1174,8 @@ class _DayState extends State<_Day> { } T? resolve( - MaterialStateProperty? Function(DatePickerThemeData? theme) getProperty, - Set states, + WidgetStateProperty? Function(DatePickerThemeData? theme) getProperty, + Set states, ) { return effectiveValue((DatePickerThemeData? theme) { return getProperty(theme)?.resolve(states); @@ -1169,9 +1185,9 @@ class _DayState extends State<_Day> { final MaterialLocalizations localizations = MaterialLocalizations.of(context); final String semanticLabelSuffix = widget.isToday ? ', ${localizations.currentDateLabel}' : ''; - final Set states = { - if (widget.isDisabled) MaterialState.disabled, - if (widget.isSelectedDay) MaterialState.selected, + final Set states = { + if (widget.isDisabled) WidgetState.disabled, + if (widget.isSelectedDay) WidgetState.selected, }; _statesController.value = states; @@ -1186,8 +1202,8 @@ class _DayState extends State<_Day> { widget.isToday ? theme?.todayBackgroundColor : theme?.dayBackgroundColor, states, ); - final MaterialStateProperty dayOverlayColor = MaterialStateProperty.resolveWith( - (Set states) => + final WidgetStateProperty dayOverlayColor = WidgetStateProperty.resolveWith( + (Set states) => effectiveValue((DatePickerThemeData? theme) => theme?.dayOverlayColor?.resolve(states)), ); final OutlinedBorder dayShape = resolve( @@ -1221,10 +1237,24 @@ class _DayState extends State<_Day> { if (Theme.of(context).useMaterial3 && orientation == Orientation.portrait) { dayWidget = Padding(padding: const EdgeInsets.all(4.0), child: dayWidget); } + dayWidget = Semantics( + // We want the day of month to be spoken first irrespective of the + // locale-specific preferences or TextDirection. This is because + // an accessibility user is more likely to be interested in the + // day of month before the rest of the date, as they are looking + // for the day of month. To do that we prepend day of month to the + // formatted full date. + label: + '${localizations.formatDecimal(widget.day.day)}, ${widget.calendarDelegate.formatFullDate(widget.day, localizations)}$semanticLabelSuffix', + // Set button to true to make the date selectable. + button: true, + selected: widget.isSelectedDay, + enabled: !widget.isDisabled, + excludeSemantics: true, + child: dayWidget, + ); - if (widget.isDisabled) { - dayWidget = ExcludeSemantics(child: dayWidget); - } else { + if (!widget.isDisabled) { dayWidget = InkResponse( focusNode: widget.focusNode, onTap: () => widget.onChanged(widget.day), @@ -1232,21 +1262,7 @@ class _DayState extends State<_Day> { overlayColor: dayOverlayColor, customBorder: dayShape, containedInkWell: true, - child: Semantics( - // We want the day of month to be spoken first irrespective of the - // locale-specific preferences or TextDirection. This is because - // an accessibility user is more likely to be interested in the - // day of month before the rest of the date, as they are looking - // for the day of month. To do that we prepend day of month to the - // formatted full date. - label: - '${localizations.formatDecimal(widget.day.day)}, ${widget.calendarDelegate.formatFullDate(widget.day, localizations)}$semanticLabelSuffix', - // Set button to true to make the date selectable. - button: true, - selected: widget.isSelectedDay, - excludeSemantics: true, - child: dayWidget, - ), + child: dayWidget, ); } @@ -1411,8 +1427,8 @@ class _YearPickerState extends State { } T? resolve( - MaterialStateProperty? Function(DatePickerThemeData? theme) getProperty, - Set states, + WidgetStateProperty? Function(DatePickerThemeData? theme) getProperty, + Set states, ) { return effectiveValue((DatePickerThemeData? theme) { return getProperty(theme)?.resolve(states); @@ -1432,9 +1448,9 @@ class _YearPickerState extends State { final double decorationHeight = 36.0 * textScaleFactor; final double decorationWidth = 72.0 * textScaleFactor; - final Set states = { - if (isDisabled) MaterialState.disabled, - if (isSelected) MaterialState.selected, + final Set states = { + if (isDisabled) WidgetState.disabled, + if (isSelected) WidgetState.selected, }; final Color? textColor = resolve( @@ -1447,8 +1463,8 @@ class _YearPickerState extends State { isCurrentYear ? theme?.todayBackgroundColor : theme?.yearBackgroundColor, states, ); - final MaterialStateProperty overlayColor = MaterialStateProperty.resolveWith( - (Set states) => + final WidgetStateProperty overlayColor = WidgetStateProperty.resolveWith( + (Set states) => effectiveValue((DatePickerThemeData? theme) => theme?.yearOverlayColor?.resolve(states)), ); @@ -1481,15 +1497,14 @@ class _YearPickerState extends State { alignment: Alignment.center, child: Semantics( selected: isSelected, + enabled: !isDisabled, button: true, child: Text(widget.calendarDelegate.formatYear(year, localizations), style: itemStyle), ), ), ); - if (isDisabled) { - yearItem = ExcludeSemantics(child: yearItem); - } else { + if (!isDisabled) { DateTime date = widget.calendarDelegate.getMonth( year, widget.selectedDate?.month ?? DateTime.january, @@ -1557,9 +1572,11 @@ class _YearPickerGridDelegate extends SliverGridDelegate { final int scaledYearPickerColumnCount = textScaleFactor > 1.65 ? _yearPickerColumnCount - 1 : _yearPickerColumnCount; - final double tileWidth = - (constraints.crossAxisExtent - (scaledYearPickerColumnCount - 1) * _yearPickerRowSpacing) / - scaledYearPickerColumnCount; + final double tileWidth = math.max( + (constraints.crossAxisExtent - (scaledYearPickerColumnCount - 1) * _yearPickerRowSpacing) / + scaledYearPickerColumnCount, + 0.0, + ); final double scaledYearPickerRowHeight = textScaleFactor > 1 ? _yearPickerRowHeight + ((textScaleFactor - 1) * 9) : _yearPickerRowHeight; diff --git a/packages/flutter/lib/src/material/carousel.dart b/packages/flutter/lib/src/material/carousel.dart index ae5cdd51530a1..c8c18dd1b8f90 100644 --- a/packages/flutter/lib/src/material/carousel.dart +++ b/packages/flutter/lib/src/material/carousel.dart @@ -134,6 +134,7 @@ class CarouselView extends StatefulWidget { this.backgroundColor, this.elevation, this.shape, + this.itemClipBehavior, this.overlayColor, this.itemSnapping = false, this.shrinkExtent = 0.0, @@ -194,6 +195,7 @@ class CarouselView extends StatefulWidget { this.backgroundColor, this.elevation, this.shape, + this.itemClipBehavior, this.overlayColor, this.itemSnapping = false, this.shrinkExtent = 0.0, @@ -230,6 +232,14 @@ class CarouselView extends StatefulWidget { /// of 28.0. final ShapeBorder? shape; + /// The clip behavior for each carousel item. + /// + /// The item content will be clipped (or not) according to this option. + /// Refer to the [Clip] enum for more details on the different clip options. + /// + /// Defaults to [Clip.antiAlias]. + final Clip? itemClipBehavior; + /// The highlight color to indicate the carousel items are in pressed, hovered /// or focused states. /// @@ -415,6 +425,8 @@ class _CarouselViewState extends State { widget.shape ?? carouselTheme.shape ?? const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(28.0))); + final Clip effectiveItemClipBehavior = + widget.itemClipBehavior ?? carouselTheme.itemClipBehavior ?? Clip.antiAlias; final WidgetStateProperty effectiveOverlayColor = widget.overlayColor ?? carouselTheme.overlayColor ?? @@ -453,7 +465,7 @@ class _CarouselViewState extends State { return Padding( padding: effectivePadding, child: Material( - clipBehavior: Clip.antiAlias, + clipBehavior: effectiveItemClipBehavior, color: effectiveBackgroundColor, elevation: effectiveElevation, shape: effectiveShape, diff --git a/packages/flutter/lib/src/material/carousel_theme.dart b/packages/flutter/lib/src/material/carousel_theme.dart index 20b8075387286..ddcaa11e98045 100644 --- a/packages/flutter/lib/src/material/carousel_theme.dart +++ b/packages/flutter/lib/src/material/carousel_theme.dart @@ -39,6 +39,7 @@ class CarouselViewThemeData with Diagnosticable { this.overlayColor, this.shape, this.padding, + this.itemClipBehavior, }); /// The amount of space to surround each carousel item with. @@ -63,6 +64,14 @@ class CarouselViewThemeData with Diagnosticable { /// Overrides the default value for [CarouselView.shape]. final OutlinedBorder? shape; + /// The clip behavior for each carousel item. + /// + /// The item content will be clipped (or not) according to this option. + /// Refer to the [Clip] enum for more details on the different clip options. + /// + /// Overrides the default value for [CarouselView.itemClipBehavior]. + final Clip? itemClipBehavior; + /// The highlight color to indicate the carousel items are in pressed, hovered /// or focused states. /// @@ -77,6 +86,7 @@ class CarouselViewThemeData with Diagnosticable { OutlinedBorder? shape, WidgetStateProperty? overlayColor, EdgeInsets? padding, + Clip? itemClipBehavior, }) { return CarouselViewThemeData( backgroundColor: backgroundColor ?? this.backgroundColor, @@ -84,6 +94,7 @@ class CarouselViewThemeData with Diagnosticable { shape: shape ?? this.shape, overlayColor: overlayColor ?? this.overlayColor, padding: padding ?? this.padding, + itemClipBehavior: itemClipBehavior ?? this.itemClipBehavior, ); } @@ -105,11 +116,13 @@ class CarouselViewThemeData with Diagnosticable { Color.lerp, ), padding: EdgeInsets.lerp(a?.padding, b?.padding, t), + itemClipBehavior: t < 0.5 ? a?.itemClipBehavior : b?.itemClipBehavior, ); } @override - int get hashCode => Object.hash(backgroundColor, elevation, shape, overlayColor, padding); + int get hashCode => + Object.hash(backgroundColor, elevation, shape, overlayColor, padding, itemClipBehavior); @override bool operator ==(Object other) { @@ -124,7 +137,8 @@ class CarouselViewThemeData with Diagnosticable { other.elevation == elevation && other.shape == shape && other.overlayColor == overlayColor && - other.padding == padding; + other.padding == padding && + other.itemClipBehavior == itemClipBehavior; } @override @@ -141,6 +155,7 @@ class CarouselViewThemeData with Diagnosticable { ), ); properties.add(DiagnosticsProperty('padding', padding, defaultValue: null)); + properties.add(EnumProperty('itemClipBehavior', itemClipBehavior, defaultValue: null)); } } diff --git a/packages/flutter/lib/src/material/checkbox.dart b/packages/flutter/lib/src/material/checkbox.dart index 74b0ed903f4b4..cc58a10efeff9 100644 --- a/packages/flutter/lib/src/material/checkbox.dart +++ b/packages/flutter/lib/src/material/checkbox.dart @@ -225,7 +225,7 @@ class Checkbox extends StatefulWidget { /// Checkbox( /// value: true, /// onChanged: (_){}, - /// fillColor: MaterialStateProperty.resolveWith((Set states) { + /// fillColor: WidgetStateProperty.resolveWith((Set states) { /// if (states.contains(WidgetState.disabled)) { /// return Colors.orange.withOpacity(.32); /// } @@ -242,7 +242,7 @@ class Checkbox extends StatefulWidget { /// the disabled state, [ColorScheme.secondary] is used in the /// selected state, and [ThemeData.unselectedWidgetColor] is used in the /// default state. - final MaterialStateProperty? fillColor; + final WidgetStateProperty? fillColor; /// {@template flutter.material.checkbox.checkColor} /// The color to use for the check icon when this checkbox is checked. @@ -333,7 +333,7 @@ class Checkbox extends StatefulWidget { /// also null, then the value of [ColorScheme.secondary] with alpha /// [kRadialReactionAlpha], [ThemeData.focusColor] and [ThemeData.hoverColor] /// is used in the pressed, focused and hovered state. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@template flutter.material.checkbox.splashRadius} /// The splash radius of the circular [Material] ink response. @@ -449,23 +449,23 @@ class _CheckboxState extends State with TickerProviderStateMixin, Togg @override Duration? get reactionAnimationDuration => kRadialReactionDuration; - MaterialStateProperty get _widgetFillColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty get _widgetFillColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return null; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return widget.activeColor; } return null; }); } - BorderSide? _resolveSide(BorderSide? side, Set states) { + BorderSide? _resolveSide(BorderSide? side, Set states) { if (side is MaterialStateBorderSide) { - return MaterialStateProperty.resolveAs(side, states); + return WidgetStateProperty.resolveAs(side, states); } - if (!states.contains(MaterialState.selected)) { + if (!states.contains(WidgetState.selected)) { return side; } return null; @@ -527,19 +527,19 @@ class _CheckboxState extends State with TickerProviderStateMixin, Togg }; size += effectiveVisualDensity.baseSizeAdjustment; - final MaterialStateProperty effectiveMouseCursor = - MaterialStateProperty.resolveWith((Set states) { - return MaterialStateProperty.resolveAs(widget.mouseCursor, states) ?? + final WidgetStateProperty effectiveMouseCursor = + WidgetStateProperty.resolveWith((Set states) { + return WidgetStateProperty.resolveAs(widget.mouseCursor, states) ?? checkboxTheme.mouseCursor?.resolve(states) ?? MaterialStateMouseCursor.clickable.resolve(states); }); // Colors need to be resolved in selected and non selected states separately - final Set activeStates = states..add(MaterialState.selected); - final Set inactiveStates = states..remove(MaterialState.selected); + final Set activeStates = states..add(WidgetState.selected); + final Set inactiveStates = states..remove(WidgetState.selected); if (widget.isError) { - activeStates.add(MaterialState.error); - inactiveStates.add(MaterialState.error); + activeStates.add(WidgetState.error); + inactiveStates.add(WidgetState.error); } final Color? activeColor = widget.fillColor?.resolve(activeStates) ?? @@ -562,9 +562,9 @@ class _CheckboxState extends State with TickerProviderStateMixin, Togg _resolveSide(checkboxTheme.side, inactiveStates) ?? _resolveSide(defaults.side, inactiveStates)!; - final Set focusedStates = states..add(MaterialState.focused); + final Set focusedStates = states..add(WidgetState.focused); if (widget.isError) { - focusedStates.add(MaterialState.error); + focusedStates.add(WidgetState.error); } Color effectiveFocusOverlayColor = widget.overlayColor?.resolve(focusedStates) ?? @@ -572,9 +572,9 @@ class _CheckboxState extends State with TickerProviderStateMixin, Togg checkboxTheme.overlayColor?.resolve(focusedStates) ?? defaults.overlayColor!.resolve(focusedStates)!; - final Set hoveredStates = states..add(MaterialState.hovered); + final Set hoveredStates = states..add(WidgetState.hovered); if (widget.isError) { - hoveredStates.add(MaterialState.error); + hoveredStates.add(WidgetState.error); } Color effectiveHoverOverlayColor = widget.overlayColor?.resolve(hoveredStates) ?? @@ -582,14 +582,14 @@ class _CheckboxState extends State with TickerProviderStateMixin, Togg checkboxTheme.overlayColor?.resolve(hoveredStates) ?? defaults.overlayColor!.resolve(hoveredStates)!; - final Set activePressedStates = activeStates..add(MaterialState.pressed); + final Set activePressedStates = activeStates..add(WidgetState.pressed); final Color effectiveActivePressedOverlayColor = widget.overlayColor?.resolve(activePressedStates) ?? checkboxTheme.overlayColor?.resolve(activePressedStates) ?? activeColor?.withAlpha(kRadialReactionAlpha) ?? defaults.overlayColor!.resolve(activePressedStates)!; - final Set inactivePressedStates = inactiveStates..add(MaterialState.pressed); + final Set inactivePressedStates = inactiveStates..add(WidgetState.pressed); final Color effectiveInactivePressedOverlayColor = widget.overlayColor?.resolve(inactivePressedStates) ?? checkboxTheme.overlayColor?.resolve(inactivePressedStates) ?? @@ -597,17 +597,15 @@ class _CheckboxState extends State with TickerProviderStateMixin, Togg defaults.overlayColor!.resolve(inactivePressedStates)!; if (downPosition != null) { - effectiveHoverOverlayColor = states.contains(MaterialState.selected) + effectiveHoverOverlayColor = states.contains(WidgetState.selected) ? effectiveActivePressedOverlayColor : effectiveInactivePressedOverlayColor; - effectiveFocusOverlayColor = states.contains(MaterialState.selected) + effectiveFocusOverlayColor = states.contains(WidgetState.selected) ? effectiveActivePressedOverlayColor : effectiveInactivePressedOverlayColor; } - final Set checkStates = widget.isError - ? (states..add(MaterialState.error)) - : states; + final Set checkStates = widget.isError ? (states..add(WidgetState.error)) : states; final Color effectiveCheckColor = widget.checkColor ?? checkboxTheme.checkColor?.resolve(checkStates) ?? @@ -636,8 +634,8 @@ class _CheckboxState extends State with TickerProviderStateMixin, Togg ..focusColor = effectiveFocusOverlayColor ..splashRadius = effectiveSplashRadius ..downPosition = downPosition - ..isFocused = states.contains(MaterialState.focused) - ..isHovered = states.contains(MaterialState.hovered) + ..isFocused = states.contains(WidgetState.focused) + ..isHovered = states.contains(WidgetState.hovered) ..activeColor = effectiveActiveColor ..inactiveColor = effectiveInactiveColor ..checkColor = effectiveCheckColor @@ -847,14 +845,14 @@ class _CheckboxDefaultsM2 extends CheckboxThemeData { @override MaterialStateBorderSide? get side { - return MaterialStateBorderSide.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + return MaterialStateBorderSide.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return const BorderSide(width: 2.0, color: Colors.transparent); } return BorderSide(width: 2.0, color: _theme.disabledColor); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return const BorderSide(width: 2.0, color: Colors.transparent); } return BorderSide(width: 2.0, color: _theme.unselectedWidgetColor); @@ -862,15 +860,15 @@ class _CheckboxDefaultsM2 extends CheckboxThemeData { } @override - MaterialStateProperty get fillColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get fillColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return _theme.disabledColor; } return Colors.transparent; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.secondary; } return Colors.transparent; @@ -878,20 +876,20 @@ class _CheckboxDefaultsM2 extends CheckboxThemeData { } @override - MaterialStateProperty get checkColor { - return MaterialStateProperty.all(const Color(0xFFFFFFFF)); + WidgetStateProperty get checkColor { + return WidgetStateProperty.all(const Color(0xFFFFFFFF)); } @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return fillColor.resolve(states).withAlpha(kRadialReactionAlpha); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _theme.hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _theme.focusColor; } return Colors.transparent; @@ -930,26 +928,26 @@ class _CheckboxDefaultsM3 extends CheckboxThemeData { @override MaterialStateBorderSide? get side { - return MaterialStateBorderSide.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + return MaterialStateBorderSide.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return const BorderSide(width: 2.0, color: Colors.transparent); } return BorderSide(width: 2.0, color: _colors.onSurface.withOpacity(0.38)); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return const BorderSide(width: 0.0, color: Colors.transparent); } - if (states.contains(MaterialState.error)) { + if (states.contains(WidgetState.error)) { return BorderSide(width: 2.0, color: _colors.error); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return BorderSide(width: 2.0, color: _colors.onSurface); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return BorderSide(width: 2.0, color: _colors.onSurface); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return BorderSide(width: 2.0, color: _colors.onSurface); } return BorderSide(width: 2.0, color: _colors.onSurfaceVariant); @@ -957,16 +955,16 @@ class _CheckboxDefaultsM3 extends CheckboxThemeData { } @override - MaterialStateProperty get fillColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get fillColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return _colors.onSurface.withOpacity(0.38); } return Colors.transparent; } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.error)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.error)) { return _colors.error; } return _colors.primary; @@ -976,16 +974,16 @@ class _CheckboxDefaultsM3 extends CheckboxThemeData { } @override - MaterialStateProperty get checkColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get checkColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return _colors.surface; } return Colors.transparent; // No icons available when the checkbox is unselected. } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.error)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.error)) { return _colors.onError; } return _colors.onPrimary; @@ -995,38 +993,38 @@ class _CheckboxDefaultsM3 extends CheckboxThemeData { } @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.pressed)) { return _colors.error.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.error.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.error.withOpacity(0.1); } } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } return Colors.transparent; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface.withOpacity(0.1); } return Colors.transparent; diff --git a/packages/flutter/lib/src/material/checkbox_list_tile.dart b/packages/flutter/lib/src/material/checkbox_list_tile.dart index 372c468f56a7c..87b94c6d56dbb 100644 --- a/packages/flutter/lib/src/material/checkbox_list_tile.dart +++ b/packages/flutter/lib/src/material/checkbox_list_tile.dart @@ -20,7 +20,6 @@ import 'checkbox.dart'; import 'checkbox_theme.dart'; import 'list_tile.dart'; import 'list_tile_theme.dart'; -import 'material_state.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -319,7 +318,7 @@ class CheckboxListTile extends StatelessWidget { /// If null, then the value of [activeColor] is used in the selected /// state. If that is also null, the value of [CheckboxThemeData.fillColor] /// is used. If that is also null, then the default value is used. - final MaterialStateProperty? fillColor; + final WidgetStateProperty? fillColor; /// The color to use for the check icon when this checkbox is checked. /// @@ -340,7 +339,7 @@ class CheckboxListTile extends StatelessWidget { /// and [hoverColor] is used in the pressed and hovered state. If that is also null, /// the value of [CheckboxThemeData.overlayColor] is used. If that is also null, /// then the default value is used in the pressed and hovered state. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@macro flutter.material.checkbox.splashRadius} /// @@ -575,7 +574,7 @@ class CheckboxListTile extends StatelessWidget { final ThemeData theme = Theme.of(context); final CheckboxThemeData checkboxTheme = CheckboxTheme.of(context); - final Set states = {if (selected) MaterialState.selected}; + final Set states = {if (selected) WidgetState.selected}; final Color effectiveActiveColor = activeColor ?? checkboxTheme.fillColor?.resolve(states) ?? theme.colorScheme.secondary; return MergeSemantics( diff --git a/packages/flutter/lib/src/material/checkbox_theme.dart b/packages/flutter/lib/src/material/checkbox_theme.dart index a63c3fae8ec46..f5f8205683360 100644 --- a/packages/flutter/lib/src/material/checkbox_theme.dart +++ b/packages/flutter/lib/src/material/checkbox_theme.dart @@ -11,7 +11,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -54,12 +53,12 @@ class CheckboxThemeData with Diagnosticable { /// {@macro flutter.material.checkbox.mouseCursor} /// /// If specified, overrides the default value of [Checkbox.mouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// {@macro flutter.material.checkbox.fillColor} /// /// If specified, overrides the default value of [Checkbox.fillColor]. - final MaterialStateProperty? fillColor; + final WidgetStateProperty? fillColor; /// {@macro flutter.material.checkbox.checkColor} /// @@ -70,12 +69,12 @@ class CheckboxThemeData with Diagnosticable { /// * [WidgetState.disabled]. /// /// If specified, overrides the default value of [Checkbox.checkColor]. - final MaterialStateProperty? checkColor; + final WidgetStateProperty? checkColor; /// {@macro flutter.material.checkbox.overlayColor} /// /// If specified, overrides the default value of [Checkbox.overlayColor]. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@macro flutter.material.checkbox.splashRadius} /// @@ -106,10 +105,10 @@ class CheckboxThemeData with Diagnosticable { /// Creates a copy of this object but with the given fields replaced with the /// new values. CheckboxThemeData copyWith({ - MaterialStateProperty? mouseCursor, - MaterialStateProperty? fillColor, - MaterialStateProperty? checkColor, - MaterialStateProperty? overlayColor, + WidgetStateProperty? mouseCursor, + WidgetStateProperty? fillColor, + WidgetStateProperty? checkColor, + WidgetStateProperty? overlayColor, double? splashRadius, MaterialTapTargetSize? materialTapTargetSize, VisualDensity? visualDensity, @@ -138,9 +137,9 @@ class CheckboxThemeData with Diagnosticable { } return CheckboxThemeData( mouseCursor: t < 0.5 ? a?.mouseCursor : b?.mouseCursor, - fillColor: MaterialStateProperty.lerp(a?.fillColor, b?.fillColor, t, Color.lerp), - checkColor: MaterialStateProperty.lerp(a?.checkColor, b?.checkColor, t, Color.lerp), - overlayColor: MaterialStateProperty.lerp( + fillColor: WidgetStateProperty.lerp(a?.fillColor, b?.fillColor, t, Color.lerp), + checkColor: WidgetStateProperty.lerp(a?.checkColor, b?.checkColor, t, Color.lerp), + overlayColor: WidgetStateProperty.lerp( a?.overlayColor, b?.overlayColor, t, @@ -191,28 +190,24 @@ class CheckboxThemeData with Diagnosticable { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( - 'fillColor', - fillColor, - defaultValue: null, - ), + DiagnosticsProperty>('fillColor', fillColor, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'checkColor', checkColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'overlayColor', overlayColor, defaultValue: null, @@ -235,19 +230,19 @@ class CheckboxThemeData with Diagnosticable { // Special case because BorderSide.lerp() doesn't support null arguments static BorderSide? _lerpSides(BorderSide? a, BorderSide? b, double t) { - if (a == null || b == null) { + if (a == null && b == null) { return null; } - if (identical(a, b)) { - return a; + if (a is WidgetStateBorderSide) { + a = a.resolve(const {}); } - if (a is MaterialStateBorderSide) { - a = a.resolve({}); + if (b is WidgetStateBorderSide) { + b = b.resolve(const {}); } - if (b is MaterialStateBorderSide) { - b = b.resolve({}); - } - return BorderSide.lerp(a!, b!, t); + a ??= BorderSide(width: 0, color: b!.color.withAlpha(0)); + b ??= BorderSide(width: 0, color: a.color.withAlpha(0)); + + return BorderSide.lerp(a, b, t); } } diff --git a/packages/flutter/lib/src/material/chip.dart b/packages/flutter/lib/src/material/chip.dart index ff2149e80038f..87ed84e010a8c 100644 --- a/packages/flutter/lib/src/material/chip.dart +++ b/packages/flutter/lib/src/material/chip.dart @@ -27,7 +27,6 @@ import 'ink_decoration.dart'; import 'ink_well.dart'; import 'material.dart'; import 'material_localizations.dart'; -import 'material_state.dart'; import 'text_theme.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -1278,13 +1277,15 @@ class _RawChipState extends State with TickerProviderStateMixin? get color => null; // Subclasses override this getter + WidgetStateProperty? get color => null; // Subclasses override this getter @override Color? get shadowColor => Colors.transparent; diff --git a/packages/flutter/lib/src/material/chip_theme.dart b/packages/flutter/lib/src/material/chip_theme.dart index f2210e64f4c1b..b866e51872b7b 100644 --- a/packages/flutter/lib/src/material/chip_theme.dart +++ b/packages/flutter/lib/src/material/chip_theme.dart @@ -18,7 +18,6 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'colors.dart'; -import 'material_state.dart'; import 'theme.dart'; /// Applies a chip theme to descendant [RawChip]-based widgets, like [Chip], @@ -286,7 +285,7 @@ class ChipThemeData with Diagnosticable { /// /// This property applies to [ActionChip], [Chip], [ChoiceChip], /// [FilterChip], [InputChip], [RawChip]. - final MaterialStateProperty? color; + final WidgetStateProperty? color; /// Overrides the default for [ChipAttributes.backgroundColor] /// which is used for unselected, enabled chip backgrounds. @@ -466,7 +465,7 @@ class ChipThemeData with Diagnosticable { /// Creates a copy of this object but with the given fields replaced with the /// new values. ChipThemeData copyWith({ - MaterialStateProperty? color, + WidgetStateProperty? color, Color? backgroundColor, Color? deleteIconColor, Color? disabledColor, @@ -525,7 +524,7 @@ class ChipThemeData with Diagnosticable { return a; } return ChipThemeData( - color: MaterialStateProperty.lerp(a?.color, b?.color, t, Color.lerp), + color: WidgetStateProperty.lerp(a?.color, b?.color, t, Color.lerp), backgroundColor: Color.lerp(a?.backgroundColor, b?.backgroundColor, t), deleteIconColor: Color.lerp(a?.deleteIconColor, b?.deleteIconColor, t), disabledColor: Color.lerp(a?.disabledColor, b?.disabledColor, t), @@ -539,7 +538,7 @@ class ChipThemeData with Diagnosticable { labelPadding: EdgeInsetsGeometry.lerp(a?.labelPadding, b?.labelPadding, t), padding: EdgeInsetsGeometry.lerp(a?.padding, b?.padding, t), side: _lerpSides(a?.side, b?.side, t), - shape: _lerpShapes(a?.shape, b?.shape, t), + shape: OutlinedBorder.lerp(a?.shape, b?.shape, t), labelStyle: TextStyle.lerp(a?.labelStyle, b?.labelStyle, t), secondaryLabelStyle: TextStyle.lerp(a?.secondaryLabelStyle, b?.secondaryLabelStyle, t), brightness: t < 0.5 ? a?.brightness ?? Brightness.light : b?.brightness ?? Brightness.light, @@ -566,27 +565,16 @@ class ChipThemeData with Diagnosticable { if (a == null && b == null) { return null; } - if (a is MaterialStateBorderSide) { - a = a.resolve({}); + if (a is WidgetStateBorderSide) { + a = a.resolve(const {}); } - if (b is MaterialStateBorderSide) { - b = b.resolve({}); + if (b is WidgetStateBorderSide) { + b = b.resolve(const {}); } - if (a == null) { - return BorderSide.lerp(BorderSide(width: 0, color: b!.color.withAlpha(0)), b, t); - } - if (b == null) { - return BorderSide.lerp(BorderSide(width: 0, color: a.color.withAlpha(0)), a, t); - } - return BorderSide.lerp(a, b, t); - } + a ??= BorderSide(width: 0, color: b!.color.withAlpha(0)); + b ??= BorderSide(width: 0, color: a.color.withAlpha(0)); - // TODO(perclasson): OutlinedBorder needs a lerp method - https://github.com/flutter/flutter/issues/60555. - static OutlinedBorder? _lerpShapes(OutlinedBorder? a, OutlinedBorder? b, double t) { - if (a == null && b == null) { - return null; - } - return ShapeBorder.lerp(a, b, t) as OutlinedBorder?; + return BorderSide.lerp(a, b, t); } @override @@ -654,7 +642,7 @@ class ChipThemeData with Diagnosticable { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.add( - DiagnosticsProperty>('color', color, defaultValue: null), + DiagnosticsProperty>('color', color, defaultValue: null), ); properties.add(ColorProperty('backgroundColor', backgroundColor, defaultValue: null)); properties.add(ColorProperty('deleteIconColor', deleteIconColor, defaultValue: null)); diff --git a/packages/flutter/lib/src/material/choice_chip.dart b/packages/flutter/lib/src/material/choice_chip.dart index c6e0c1111564d..ba0461f3beeaa 100644 --- a/packages/flutter/lib/src/material/choice_chip.dart +++ b/packages/flutter/lib/src/material/choice_chip.dart @@ -17,7 +17,6 @@ import 'chip_theme.dart'; import 'color_scheme.dart'; import 'colors.dart'; import 'debug.dart'; -import 'material_state.dart'; import 'text_theme.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -180,7 +179,7 @@ class ChoiceChip extends StatelessWidget @override final bool autofocus; @override - final MaterialStateProperty? color; + final WidgetStateProperty? color; @override final Color? backgroundColor; @override @@ -306,19 +305,19 @@ class _ChoiceChipDefaultsM3 extends ChipThemeData { ); @override - MaterialStateProperty? get color => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected) && states.contains(MaterialState.disabled)) { + WidgetStateProperty? get color => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected) && states.contains(WidgetState.disabled)) { return _chipVariant == _ChipVariant.flat ? _colors.onSurface.withOpacity(0.12) : _colors.onSurface.withOpacity(0.12); } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return _chipVariant == _ChipVariant.flat ? null : _colors.onSurface.withOpacity(0.12); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _chipVariant == _ChipVariant.flat ? _colors.secondaryContainer : _colors.secondaryContainer; diff --git a/packages/flutter/lib/src/material/color_scheme.dart b/packages/flutter/lib/src/material/color_scheme.dart index dd1a4ba6a59ce..4da27176ddd09 100644 --- a/packages/flutter/lib/src/material/color_scheme.dart +++ b/packages/flutter/lib/src/material/color_scheme.dart @@ -2144,8 +2144,9 @@ class ColorScheme with Diagnosticable { imageCompleter.complete(info.image); }, onError: (Object exception, StackTrace? stackTrace) { + loadFailureTimeout?.cancel(); stream.removeListener(listener); - throw Exception('Failed to render image: $exception'); + imageCompleter.completeError(Exception('Failed to render image: $exception'), stackTrace); }, ); diff --git a/packages/flutter/lib/src/material/data_table.dart b/packages/flutter/lib/src/material/data_table.dart index 983d48a30e7ae..2e3b03753a960 100644 --- a/packages/flutter/lib/src/material/data_table.dart +++ b/packages/flutter/lib/src/material/data_table.dart @@ -20,7 +20,6 @@ import 'dropdown.dart'; import 'icons.dart'; import 'ink_well.dart'; import 'material.dart'; -import 'material_state.dart'; import 'theme.dart'; import 'tooltip.dart'; @@ -118,7 +117,7 @@ class DataColumn { /// /// See also: /// * [WidgetStateMouseCursor], which can be used to create a [MouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// Defines the horizontal layout of the [label] and sort indicator in the /// heading row. @@ -148,6 +147,7 @@ class DataRow { this.selected = false, this.onSelectChanged, this.onLongPress, + this.onHover, this.color, this.mouseCursor, required this.cells, @@ -160,6 +160,7 @@ class DataRow { this.selected = false, this.onSelectChanged, this.onLongPress, + this.onHover, this.color, this.mouseCursor, required this.cells, @@ -200,6 +201,12 @@ class DataRow { /// that particular cell. final GestureLongPressCallback? onLongPress; + /// Called when a pointer enters or exits the row. + /// + /// The boolean value passed to the callback is true if a pointer has entered the row and false + /// when a pointer has exited the row. + final ValueChanged? onHover; + /// Whether the row is selected. /// /// If [onSelectChanged] is non-null for any row in the table, then @@ -248,7 +255,7 @@ class DataRow { /// * The Material Design specification for overlay colors and how they /// match a component's state: /// . - final MaterialStateProperty? color; + final WidgetStateProperty? color; /// The cursor for a mouse pointer when it enters or is hovering over the /// data row. @@ -262,7 +269,7 @@ class DataRow { /// /// See also: /// * [WidgetStateMouseCursor], which can be used to create a [MouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; bool get _debugInteractive => onSelectChanged != null || cells.any((DataCell cell) => cell._debugInteractive); @@ -596,7 +603,7 @@ class DataTable extends StatelessWidget { /// match a component's state: /// . /// {@endtemplate} - final MaterialStateProperty? dataRowColor; + final WidgetStateProperty? dataRowColor; /// {@template flutter.material.dataTable.dataRowHeight} /// The height of each row (excluding the row that contains column headings). @@ -669,7 +676,7 @@ class DataTable extends StatelessWidget { /// match a component's state: /// . /// {@endtemplate} - final MaterialStateProperty? headingRowColor; + final WidgetStateProperty? headingRowColor; /// {@template flutter.material.dataTable.headingRowHeight} /// The height of the heading row. @@ -826,7 +833,7 @@ class DataTable extends StatelessWidget { required bool? checked, required VoidCallback? onRowTap, required ValueChanged? onCheckboxChanged, - required MaterialStateProperty? overlayColor, + required WidgetStateProperty? overlayColor, required bool tristate, MouseCursor? rowMouseCursor, }) { @@ -873,7 +880,7 @@ class DataTable extends StatelessWidget { required VoidCallback? onSort, required bool sorted, required bool ascending, - required MaterialStateProperty? overlayColor, + required WidgetStateProperty? overlayColor, required MouseCursor? mouseCursor, required MainAxisAlignment headingRowAlignment, }) { @@ -949,8 +956,9 @@ class DataTable extends StatelessWidget { required GestureLongPressCallback? onLongPress, required GestureTapDownCallback? onTapDown, required GestureTapCancelCallback? onTapCancel, - required MaterialStateProperty? overlayColor, + required WidgetStateProperty? overlayColor, required GestureLongPressCallback? onRowLongPress, + required ValueChanged? onRowHover, required MouseCursor? mouseCursor, }) { final ThemeData themeData = Theme.of(context); @@ -1007,10 +1015,11 @@ class DataTable extends StatelessWidget { overlayColor: overlayColor, child: label, ); - } else if (onSelectChanged != null || onRowLongPress != null) { + } else if (onSelectChanged != null || onRowLongPress != null || onRowHover != null) { label = TableRowInkWell( onTap: onSelectChanged, onLongPress: onRowLongPress, + onHover: onRowHover, overlayColor: overlayColor, mouseCursor: mouseCursor, child: label, @@ -1025,14 +1034,14 @@ class DataTable extends StatelessWidget { final ThemeData theme = Theme.of(context); final DataTableThemeData dataTableTheme = DataTableTheme.of(context); - final MaterialStateProperty? effectiveHeadingRowColor = + final WidgetStateProperty? effectiveHeadingRowColor = headingRowColor ?? dataTableTheme.headingRowColor ?? theme.dataTableTheme.headingRowColor; - final MaterialStateProperty? effectiveDataRowColor = + final WidgetStateProperty? effectiveDataRowColor = dataRowColor ?? dataTableTheme.dataRowColor ?? theme.dataTableTheme.dataRowColor; - final MaterialStateProperty defaultRowColor = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty defaultRowColor = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return theme.colorScheme.primary.withOpacity(0.08); } return null; @@ -1077,14 +1086,14 @@ class DataTable extends StatelessWidget { final bool isSelected = index > 0 && rows[index - 1].selected; final bool isDisabled = index > 0 && anyRowSelectable && rows[index - 1].onSelectChanged == null; - final Set states = { - if (isSelected) MaterialState.selected, - if (isDisabled) MaterialState.disabled, + final Set states = { + if (isSelected) WidgetState.selected, + if (isDisabled) WidgetState.disabled, }; final Color? resolvedDataRowColor = index > 0 ? (rows[index - 1].color ?? effectiveDataRowColor)?.resolve(states) : null; - final Color? resolvedHeadingRowColor = effectiveHeadingRowColor?.resolve({}); + final Color? resolvedHeadingRowColor = effectiveHeadingRowColor?.resolve({}); final Color? rowColor = index > 0 ? resolvedDataRowColor : resolvedHeadingRowColor; final BorderSide borderSide = Divider.createBorderSide( context, @@ -1129,7 +1138,7 @@ class DataTable extends StatelessWidget { ); rowIndex = 1; for (final DataRow row in rows) { - final Set states = {if (row.selected) MaterialState.selected}; + final Set states = {if (row.selected) WidgetState.selected}; tableRows[rowIndex].children[0] = _buildCheckbox( context: context, checked: row.selected, @@ -1176,8 +1185,8 @@ class DataTable extends StatelessWidget { tableColumns[displayColumnIndex] = const IntrinsicColumnWidth(); } - final Set headerStates = { - if (column.onSort == null) MaterialState.disabled, + final Set headerStates = { + if (column.onSort == null) WidgetState.disabled, }; tableRows[0].children[displayColumnIndex] = _buildHeadingCell( context: context, @@ -1204,7 +1213,7 @@ class DataTable extends StatelessWidget { ); rowIndex = 1; for (final DataRow row in rows) { - final Set states = {if (row.selected) MaterialState.selected}; + final Set states = {if (row.selected) WidgetState.selected}; final DataCell cell = row.cells[dataColumnIndex]; tableRows[rowIndex].children[displayColumnIndex] = _buildDataCell( context: context, @@ -1223,6 +1232,7 @@ class DataTable extends StatelessWidget { : () => row.onSelectChanged?.call(!row.selected), overlayColor: row.color ?? effectiveDataRowColor, onRowLongPress: row.onLongPress, + onRowHover: row.onHover, mouseCursor: row.mouseCursor?.resolve(states) ?? dataTableTheme.dataRowCursor?.resolve(states), ); @@ -1276,6 +1286,7 @@ class TableRowInkWell extends InkResponse { super.onDoubleTap, super.onLongPress, super.onHighlightChanged, + super.onHover, super.onSecondaryTap, super.onSecondaryTapDown, super.overlayColor, diff --git a/packages/flutter/lib/src/material/data_table_theme.dart b/packages/flutter/lib/src/material/data_table_theme.dart index 8f695c6dc22a4..044e840666bbc 100644 --- a/packages/flutter/lib/src/material/data_table_theme.dart +++ b/packages/flutter/lib/src/material/data_table_theme.dart @@ -10,7 +10,6 @@ import 'dart:ui' show lerpDouble; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'theme.dart'; // Examples can assume: @@ -78,7 +77,7 @@ class DataTableThemeData with Diagnosticable { /// {@macro flutter.material.dataTable.dataRowColor} /// {@macro flutter.material.DataTable.dataRowColor} - final MaterialStateProperty? dataRowColor; + final WidgetStateProperty? dataRowColor; /// {@macro flutter.material.dataTable.dataRowHeight} @Deprecated( @@ -98,7 +97,7 @@ class DataTableThemeData with Diagnosticable { /// {@macro flutter.material.dataTable.headingRowColor} /// {@macro flutter.material.DataTable.headingRowColor} - final MaterialStateProperty? headingRowColor; + final WidgetStateProperty? headingRowColor; /// {@macro flutter.material.dataTable.headingRowHeight} final double? headingRowHeight; @@ -119,10 +118,10 @@ class DataTableThemeData with Diagnosticable { final double? checkboxHorizontalMargin; /// If specified, overrides the default value of [DataColumn.mouseCursor]. - final MaterialStateProperty? headingCellCursor; + final WidgetStateProperty? headingCellCursor; /// If specified, overrides the default value of [DataRow.mouseCursor]. - final MaterialStateProperty? dataRowCursor; + final WidgetStateProperty? dataRowCursor; /// If specified, overrides the default value of [DataColumn.headingRowAlignment]. final MainAxisAlignment? headingRowAlignment; @@ -131,7 +130,7 @@ class DataTableThemeData with Diagnosticable { /// new values. DataTableThemeData copyWith({ Decoration? decoration, - MaterialStateProperty? dataRowColor, + WidgetStateProperty? dataRowColor, @Deprecated( 'Migrate to use dataRowMinHeight and dataRowMaxHeight instead. ' 'This feature was deprecated after v3.7.0-5.0.pre.', @@ -140,15 +139,15 @@ class DataTableThemeData with Diagnosticable { double? dataRowMinHeight, double? dataRowMaxHeight, TextStyle? dataTextStyle, - MaterialStateProperty? headingRowColor, + WidgetStateProperty? headingRowColor, double? headingRowHeight, TextStyle? headingTextStyle, double? horizontalMargin, double? columnSpacing, double? dividerThickness, double? checkboxHorizontalMargin, - MaterialStateProperty? headingCellCursor, - MaterialStateProperty? dataRowCursor, + WidgetStateProperty? headingCellCursor, + WidgetStateProperty? dataRowCursor, MainAxisAlignment? headingRowAlignment, }) { assert( @@ -186,16 +185,11 @@ class DataTableThemeData with Diagnosticable { } return DataTableThemeData( decoration: Decoration.lerp(a.decoration, b.decoration, t), - dataRowColor: MaterialStateProperty.lerp( - a.dataRowColor, - b.dataRowColor, - t, - Color.lerp, - ), + dataRowColor: WidgetStateProperty.lerp(a.dataRowColor, b.dataRowColor, t, Color.lerp), dataRowMinHeight: lerpDouble(a.dataRowMinHeight, b.dataRowMinHeight, t), dataRowMaxHeight: lerpDouble(a.dataRowMaxHeight, b.dataRowMaxHeight, t), dataTextStyle: TextStyle.lerp(a.dataTextStyle, b.dataTextStyle, t), - headingRowColor: MaterialStateProperty.lerp( + headingRowColor: WidgetStateProperty.lerp( a.headingRowColor, b.headingRowColor, t, @@ -267,7 +261,7 @@ class DataTableThemeData with Diagnosticable { super.debugFillProperties(properties); properties.add(DiagnosticsProperty('decoration', decoration, defaultValue: null)); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'dataRowColor', dataRowColor, defaultValue: null, @@ -279,7 +273,7 @@ class DataTableThemeData with Diagnosticable { DiagnosticsProperty('dataTextStyle', dataTextStyle, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'headingRowColor', headingRowColor, defaultValue: null, @@ -296,14 +290,14 @@ class DataTableThemeData with Diagnosticable { DoubleProperty('checkboxHorizontalMargin', checkboxHorizontalMargin, defaultValue: null), ); properties.add( - DiagnosticsProperty?>( + DiagnosticsProperty?>( 'headingCellCursor', headingCellCursor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty?>( + DiagnosticsProperty?>( 'dataRowCursor', dataRowCursor, defaultValue: null, diff --git a/packages/flutter/lib/src/material/date.dart b/packages/flutter/lib/src/material/date.dart index 4458d0cb8a536..f518d11e0df5f 100644 --- a/packages/flutter/lib/src/material/date.dart +++ b/packages/flutter/lib/src/material/date.dart @@ -437,12 +437,6 @@ enum DatePickerMode { year, } -/// Signature for predicating dates for enabled date selections. -/// -/// See [showDatePicker], which has a [SelectableDayPredicate] parameter used -/// to specify allowable days in the date picker. -typedef SelectableDayPredicate = bool Function(DateTime day); - /// Encapsulates a start and end [DateTime] that represent the range of dates. /// /// The range includes the [start] and [end] dates. The [start] and [end] dates diff --git a/packages/flutter/lib/src/material/dropdown.dart b/packages/flutter/lib/src/material/dropdown.dart index 8392216fc2727..a5df4480a89f4 100644 --- a/packages/flutter/lib/src/material/dropdown.dart +++ b/packages/flutter/lib/src/material/dropdown.dart @@ -1626,9 +1626,9 @@ class _DropdownButtonState extends State> with WidgetsBindi ); } - final MouseCursor effectiveMouseCursor = MaterialStateProperty.resolveAs( + final MouseCursor effectiveMouseCursor = WidgetStateProperty.resolveAs( MaterialStateMouseCursor.clickable, - {if (!_enabled) MaterialState.disabled}, + {if (!_enabled) WidgetState.disabled}, ); // When an InputDecoration is provided, use it instead of using an InkWell @@ -1887,6 +1887,10 @@ class DropdownButtonFormField extends FormField { ); /// {@macro flutter.material.dropdownButton.onChanged} + /// + /// This callback is invoked after the parent [Form]'s [Form.onChanged] callback. + /// The field's updated value is available in the [Form.onChanged] callback + /// via [FormFieldState.value]. final ValueChanged? onChanged; /// The decoration to show around the dropdown button form field. diff --git a/packages/flutter/lib/src/material/dropdown_menu.dart b/packages/flutter/lib/src/material/dropdown_menu.dart index 9d3504bbe5e4b..f044a849698fd 100644 --- a/packages/flutter/lib/src/material/dropdown_menu.dart +++ b/packages/flutter/lib/src/material/dropdown_menu.dart @@ -167,6 +167,7 @@ class DropdownMenu extends StatefulWidget { this.leadingIcon, this.trailingIcon, this.showTrailingIcon = true, + this.trailingIconFocusNode, this.label, this.hintText, this.helperText, @@ -196,12 +197,14 @@ class DropdownMenu extends StatefulWidget { this.textInputAction, this.cursorHeight, this.restorationId, + this.menuController, }) : assert(filterCallback == null || enableFilter), assert( inputDecorationTheme == null || (inputDecorationTheme is InputDecorationTheme || inputDecorationTheme is InputDecorationThemeData), ), + assert(trailingIconFocusNode == null || showTrailingIcon), _inputDecorationTheme = inputDecorationTheme; /// Determine if the [DropdownMenu] is enabled. @@ -245,9 +248,37 @@ class DropdownMenu extends StatefulWidget { /// If [trailingIcon] is set, [DropdownMenu] will use that trailing icon, /// otherwise a default trailing icon will be created. /// + /// If [showTrailingIcon] is false, [trailingIconFocusNode] must be null. + /// /// Defaults to true. final bool showTrailingIcon; + /// Defines the FocusNode for the trailing icon. + /// + /// If [showTrailingIcon] is false, [trailingIconFocusNode] must be null. + /// + /// The [focusNode] is a long-lived object that's typically managed by a + /// [StatefulWidget] parent. See [FocusNode] for more information. + /// + /// To give the keyboard focus to this widget, provide a [focusNode] and then + /// use the current [FocusScope] to request the focus: + /// + /// ```dart + /// FocusScope.of(context).requestFocus(myFocusNode); + /// ``` + /// + /// This happens automatically when the widget is tapped. + /// + /// To be notified when the widget gains or loses the focus, add a listener + /// to the [focusNode]: + /// + /// ```dart + /// myFocusNode.addListener(() { print(myFocusNode.hasFocus); }); + /// ``` + /// + /// If null, this widget will create its own [FocusNode]. + final FocusNode? trailingIconFocusNode; + /// Optional widget that describes the input field. /// /// When the input field is empty and unfocused, the label is displayed on @@ -565,6 +596,10 @@ class DropdownMenu extends StatefulWidget { /// {@macro flutter.material.textfield.restorationId} final String? restorationId; + /// An optional controller that allows opening and closing of the menu from + /// other widgets. + final MenuController? menuController; + @override State> createState() => _DropdownMenuState(); } @@ -573,7 +608,7 @@ class _DropdownMenuState extends State> { final GlobalKey _anchorKey = GlobalKey(); final GlobalKey _leadingKey = GlobalKey(); late List buttonItemKeys; - final MenuController _controller = MenuController(); + late MenuController _controller; bool _enableFilter = false; late bool _enableSearch; late List> filteredEntries; @@ -588,6 +623,10 @@ class _DropdownMenuState extends State> { int? _selectedEntryIndex; late final void Function() _clearSelectedEntryIndex; + FocusNode? _localTrailingIconButtonFocusNode; + FocusNode get _trailingIconButtonFocusNode => + widget.trailingIconFocusNode ?? (_localTrailingIconButtonFocusNode ??= FocusNode()); + @override void initState() { super.initState(); @@ -608,6 +647,7 @@ class _DropdownMenuState extends State> { _selectedEntryIndex = index; } refreshLeadingPadding(); + _controller = widget.menuController ?? MenuController(); } @override @@ -616,6 +656,8 @@ class _DropdownMenuState extends State> { _localTextEditingController?.dispose(); _localTextEditingController = null; _internalFocudeNode.dispose(); + _localTrailingIconButtonFocusNode?.dispose(); + _localTrailingIconButtonFocusNode = null; super.dispose(); } @@ -676,6 +718,9 @@ class _DropdownMenuState extends State> { _selectedEntryIndex = index; } } + if (oldWidget.menuController != widget.menuController) { + _controller = widget.menuController ?? MenuController(); + } } bool canRequestFocus() { @@ -808,7 +853,7 @@ class _DropdownMenuState extends State> { final ButtonStyle defaultStyle = const MenuItemButton().defaultStyleOf(context); Color? resolveFocusedColor(WidgetStateProperty? colorStateProperty) { - return colorStateProperty?.resolve({MaterialState.focused}); + return colorStateProperty?.resolve({WidgetState.focused}); } final Color focusedForegroundColor = resolveFocusedColor( @@ -1040,20 +1085,20 @@ class _DropdownMenuState extends State> { final double? anchorWidth = getWidth(_anchorKey); if (widget.width != null) { effectiveMenuStyle = effectiveMenuStyle.copyWith( - minimumSize: MaterialStateProperty.resolveWith((Set states) { + minimumSize: WidgetStateProperty.resolveWith((Set states) { final double? effectiveMaximumWidth = effectiveMenuStyle!.maximumSize ?.resolve(states) ?.width; - return Size(math.min(widget.width!, effectiveMaximumWidth ?? 0.0), 0.0); + return Size(math.min(widget.width!, effectiveMaximumWidth ?? widget.width!), 0.0); }), ); } else if (anchorWidth != null) { effectiveMenuStyle = effectiveMenuStyle.copyWith( - minimumSize: MaterialStateProperty.resolveWith((Set states) { + minimumSize: WidgetStateProperty.resolveWith((Set states) { final double? effectiveMaximumWidth = effectiveMenuStyle!.maximumSize ?.resolve(states) ?.width; - return Size(math.min(anchorWidth, effectiveMaximumWidth ?? 0.0), 0.0); + return Size(math.min(anchorWidth, effectiveMaximumWidth ?? anchorWidth), 0.0); }), ); } @@ -1074,6 +1119,7 @@ class _DropdownMenuState extends State> { Widget menuAnchor = MenuAnchor( style: effectiveMenuStyle, alignmentOffset: widget.alignmentOffset, + reservedPadding: EdgeInsets.zero, controller: _controller, menuChildren: menu, crossAxisUnconstrained: false, @@ -1084,6 +1130,7 @@ class _DropdownMenuState extends State> { ? Padding( padding: isCollapsed ? EdgeInsets.zero : const EdgeInsets.all(4.0), child: IconButton( + focusNode: _trailingIconButtonFocusNode, isSelected: controller.isOpen, constraints: widget.inputDecorationTheme?.suffixIconConstraints, padding: isCollapsed ? EdgeInsets.zero : null, @@ -1404,16 +1451,16 @@ class _RenderDropdownMenuBody extends RenderBox child = childParentData.nextSibling; continue; } - final double maxIntrinsicWidth = child.getMinIntrinsicWidth(height); + final double minIntrinsicWidth = child.getMinIntrinsicWidth(height); // Add the width of leading icon. if (child == lastChild) { - width += maxIntrinsicWidth; + width += minIntrinsicWidth; } // Add the width of trailing icon. if (child == childBefore(lastChild!)) { - width += maxIntrinsicWidth; + width += minIntrinsicWidth; } - width = math.max(width, maxIntrinsicWidth); + width = math.max(width, minIntrinsicWidth); final _DropdownMenuBodyParentData childParentData = child.parentData! as _DropdownMenuBodyParentData; child = childParentData.nextSibling; diff --git a/packages/flutter/lib/src/material/dropdown_menu_form_field.dart b/packages/flutter/lib/src/material/dropdown_menu_form_field.dart index eede6b455eab2..8eb425f82cbb9 100644 --- a/packages/flutter/lib/src/material/dropdown_menu_form_field.dart +++ b/packages/flutter/lib/src/material/dropdown_menu_form_field.dart @@ -75,11 +75,6 @@ class DropdownMenuFormField extends FormField { autovalidateMode: autovalidateMode, builder: (FormFieldState field) { final _DropdownMenuFormFieldState state = field as _DropdownMenuFormFieldState; - void onSelectedHandler(T? value) { - field.didChange(value); - onSelected?.call(value); - } - return UnmanagedRestorationScope( bucket: field.bucket, child: DropdownMenu( @@ -101,9 +96,9 @@ class DropdownMenuFormField extends FormField { textAlign: textAlign, inputDecorationTheme: inputDecorationTheme, menuStyle: menuStyle, - controller: controller, + controller: state.textFieldController, initialSelection: state.value, - onSelected: onSelectedHandler, + onSelected: field.didChange, focusNode: focusNode, requestFocusOnTap: requestFocusOnTap, expandedInsets: expandedInsets, @@ -144,8 +139,14 @@ class DropdownMenuFormField extends FormField { class _DropdownMenuFormFieldState extends FormFieldState { DropdownMenuFormField get _dropdownMenuFormField => widget as DropdownMenuFormField; + // The controller used to restore the selected item. RestorableTextEditingController? _restorableController; + // The controller used to reset the content of the DropdownMenu inner TextField. + TextEditingController? _localTextFieldController; + TextEditingController get textFieldController => + _dropdownMenuFormField.controller ?? (_localTextFieldController ??= TextEditingController()); + @override void initState() { super.initState(); @@ -168,11 +169,16 @@ class _DropdownMenuFormFieldState extends FormFieldState { if (oldWidget.initialValue != widget.initialValue && !hasInteractedByUser) { setValue(widget.initialValue); } + if (oldWidget.controller != _dropdownMenuFormField.controller) { + _localTextFieldController?.dispose(); + _localTextFieldController = null; + } } @override void dispose() { _restorableController?.dispose(); + _localTextFieldController?.dispose(); super.dispose(); } @@ -188,6 +194,9 @@ class _DropdownMenuFormFieldState extends FormFieldState { super.reset(); _dropdownMenuFormField.onSelected?.call(value); _updateRestorableController(widget.initialValue); + if (widget.initialValue == null) { + textFieldController.clear(); + } } void _updateRestorableController(T? value) { diff --git a/packages/flutter/lib/src/material/elevated_button.dart b/packages/flutter/lib/src/material/elevated_button.dart index bfb42cfef56da..a55194cde7c34 100644 --- a/packages/flutter/lib/src/material/elevated_button.dart +++ b/packages/flutter/lib/src/material/elevated_button.dart @@ -234,10 +234,7 @@ class ElevatedButton extends ButtonStyleButton { ButtonLayerBuilder? backgroundBuilder, ButtonLayerBuilder? foregroundBuilder, }) { - final MaterialStateProperty? overlayColorProp = switch (( - foregroundColor, - overlayColor, - )) { + final WidgetStateProperty? overlayColorProp = switch ((foregroundColor, overlayColor)) { (null, null) => null, (_, Color(a: 0.0)) => WidgetStatePropertyAll(overlayColor), (_, final Color color) || @@ -496,7 +493,7 @@ class _ElevatedButtonWithIcon extends ElevatedButton { final bool useMaterial3 = Theme.of(context).useMaterial3; final ButtonStyle buttonStyle = super.defaultStyleOf(context); final double defaultFontSize = - buttonStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; + buttonStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; final double effectiveTextScale = MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0; @@ -535,7 +532,7 @@ class _ElevatedButtonWithIconChild extends StatelessWidget { @override Widget build(BuildContext context) { final double defaultFontSize = - buttonStyle?.textStyle?.resolve(const {})?.fontSize ?? 14.0; + buttonStyle?.textStyle?.resolve(const {})?.fontSize ?? 14.0; final double scale = clampDouble(MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0, 1.0, 2.0) - 1.0; final ElevatedButtonThemeData elevatedButtonTheme = ElevatedButtonTheme.of(context); @@ -574,95 +571,95 @@ class _ElevatedButtonDefaultsM3 extends ButtonStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get textStyle => + WidgetStateProperty get textStyle => MaterialStatePropertyAll(Theme.of(context).textTheme.labelLarge); @override - MaterialStateProperty? get backgroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get backgroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.12); } return _colors.surfaceContainerLow; }); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } return _colors.primary; }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } return null; }); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => MaterialStatePropertyAll(_colors.shadow); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get elevation => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get elevation => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return 0.0; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return 1.0; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return 3.0; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return 1.0; } return 1.0; }); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => MaterialStatePropertyAll(_scaledPadding(context)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(64.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(18.0); @override - MaterialStateProperty? get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary; } return _colors.primary; @@ -670,19 +667,19 @@ class _ElevatedButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); // No default side @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; diff --git a/packages/flutter/lib/src/material/filled_button.dart b/packages/flutter/lib/src/material/filled_button.dart index 2b8ac13c8c4f7..2ff5d35d3d0ed 100644 --- a/packages/flutter/lib/src/material/filled_button.dart +++ b/packages/flutter/lib/src/material/filled_button.dart @@ -61,6 +61,14 @@ enum _FilledButtonVariant { filled, tonal } /// ** See code in examples/api/lib/material/filled_button/filled_button.0.dart ** /// {@end-tool} /// +/// ## Visual density effects +/// +/// The button's appearance is affected by the [VisualDensity] from the enclosing +/// [Theme] or from its [style]. Visual density adjusts the [ButtonStyle.padding] +/// and [ButtonStyle.minimumSize] to accommodate different UI densities across platforms. +/// See [VisualDensity] for more details on how it affects component layout and +/// the platform-specific defaults. +/// /// See also: /// /// * [ElevatedButton], a filled button whose material elevates when pressed. @@ -299,10 +307,7 @@ class FilledButton extends ButtonStyleButton { ButtonLayerBuilder? backgroundBuilder, ButtonLayerBuilder? foregroundBuilder, }) { - final MaterialStateProperty? overlayColorProp = switch (( - foregroundColor, - overlayColor, - )) { + final WidgetStateProperty? overlayColorProp = switch ((foregroundColor, overlayColor)) { (null, null) => null, (_, Color(a: 0.0)) => WidgetStatePropertyAll(overlayColor), (_, final Color color) || @@ -545,7 +550,7 @@ class _FilledButtonWithIcon extends FilledButton { final bool useMaterial3 = Theme.of(context).useMaterial3; final ButtonStyle buttonStyle = super.defaultStyleOf(context); final double defaultFontSize = - buttonStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; + buttonStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; final double effectiveTextScale = MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0; @@ -584,7 +589,7 @@ class _FilledButtonWithIconChild extends StatelessWidget { @override Widget build(BuildContext context) { final double defaultFontSize = - buttonStyle?.textStyle?.resolve(const {})?.fontSize ?? 14.0; + buttonStyle?.textStyle?.resolve(const {})?.fontSize ?? 14.0; final double scale = clampDouble(MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0, 1.0, 2.0) - 1.0; @@ -624,95 +629,95 @@ class _FilledButtonDefaultsM3 extends ButtonStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get textStyle => + WidgetStateProperty get textStyle => MaterialStatePropertyAll(Theme.of(context).textTheme.labelLarge); @override - MaterialStateProperty? get backgroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get backgroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.12); } return _colors.primary; }); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } return _colors.onPrimary; }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return _colors.onPrimary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onPrimary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onPrimary.withOpacity(0.1); } return null; }); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => MaterialStatePropertyAll(_colors.shadow); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get elevation => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get elevation => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return 0.0; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return 0.0; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return 1.0; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return 0.0; } return 0.0; }); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => MaterialStatePropertyAll(_scaledPadding(context)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(64.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(18.0); @override - MaterialStateProperty? get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onPrimary; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onPrimary; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onPrimary; } return _colors.onPrimary; @@ -720,19 +725,19 @@ class _FilledButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); // No default side @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; @@ -771,95 +776,95 @@ class _FilledTonalButtonDefaultsM3 extends ButtonStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get textStyle => + WidgetStateProperty get textStyle => MaterialStatePropertyAll(Theme.of(context).textTheme.labelLarge); @override - MaterialStateProperty? get backgroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get backgroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.12); } return _colors.secondaryContainer; }); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } return _colors.onSecondaryContainer; }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return _colors.onSecondaryContainer.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSecondaryContainer.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSecondaryContainer.withOpacity(0.1); } return null; }); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => MaterialStatePropertyAll(_colors.shadow); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get elevation => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get elevation => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return 0.0; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return 0.0; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return 1.0; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return 0.0; } return 0.0; }); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => MaterialStatePropertyAll(_scaledPadding(context)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(64.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(18.0); @override - MaterialStateProperty? get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSecondaryContainer; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSecondaryContainer; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSecondaryContainer; } return _colors.onSecondaryContainer; @@ -867,19 +872,19 @@ class _FilledTonalButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); // No default side @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; diff --git a/packages/flutter/lib/src/material/filter_chip.dart b/packages/flutter/lib/src/material/filter_chip.dart index aa56a9b0a6e10..df35c0fcc2bd4 100644 --- a/packages/flutter/lib/src/material/filter_chip.dart +++ b/packages/flutter/lib/src/material/filter_chip.dart @@ -20,7 +20,6 @@ import 'color_scheme.dart'; import 'colors.dart'; import 'debug.dart'; import 'icons.dart'; -import 'material_state.dart'; import 'text_theme.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -205,7 +204,7 @@ class FilterChip extends StatelessWidget @override final bool autofocus; @override - final MaterialStateProperty? color; + final WidgetStateProperty? color; @override final Color? backgroundColor; @override @@ -339,19 +338,19 @@ class _FilterChipDefaultsM3 extends ChipThemeData { ); @override - MaterialStateProperty? get color => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected) && states.contains(MaterialState.disabled)) { + WidgetStateProperty? get color => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected) && states.contains(WidgetState.disabled)) { return _chipVariant == _ChipVariant.flat ? _colors.onSurface.withOpacity(0.12) : _colors.onSurface.withOpacity(0.12); } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return _chipVariant == _ChipVariant.flat ? null : _colors.onSurface.withOpacity(0.12); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _chipVariant == _ChipVariant.flat ? _colors.secondaryContainer : _colors.secondaryContainer; diff --git a/packages/flutter/lib/src/material/floating_action_button.dart b/packages/flutter/lib/src/material/floating_action_button.dart index 55f93b53a4175..227847434bc2b 100644 --- a/packages/flutter/lib/src/material/floating_action_button.dart +++ b/packages/flutter/lib/src/material/floating_action_button.dart @@ -637,18 +637,18 @@ class FloatingActionButton extends StatelessWidget { } } -// This MaterialStateProperty is passed along to RawMaterialButton which -// resolves the property against MaterialState.pressed, MaterialState.hovered, -// MaterialState.focused, MaterialState.disabled. +// This WidgetStateProperty is passed along to RawMaterialButton which +// resolves the property against WidgetState.pressed, WidgetState.hovered, +// WidgetState.focused, WidgetState.disabled. class _EffectiveMouseCursor extends MaterialStateMouseCursor { const _EffectiveMouseCursor(this.widgetCursor, this.themeCursor); final MouseCursor? widgetCursor; - final MaterialStateProperty? themeCursor; + final WidgetStateProperty? themeCursor; @override - MouseCursor resolve(Set states) { - return MaterialStateProperty.resolveAs(widgetCursor, states) ?? + MouseCursor resolve(Set states) { + return WidgetStateProperty.resolveAs(widgetCursor, states) ?? themeCursor?.resolve(states) ?? MaterialStateMouseCursor.clickable.resolve(states); } diff --git a/packages/flutter/lib/src/material/floating_action_button_theme.dart b/packages/flutter/lib/src/material/floating_action_button_theme.dart index 205b06dd7e8f4..011beffcacd25 100644 --- a/packages/flutter/lib/src/material/floating_action_button_theme.dart +++ b/packages/flutter/lib/src/material/floating_action_button_theme.dart @@ -13,8 +13,7 @@ import 'dart:ui' show lerpDouble; import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; - -import 'material_state.dart'; +import 'package:flutter/widgets.dart'; /// Defines default property values for descendant [FloatingActionButton] /// widgets. @@ -142,7 +141,7 @@ class FloatingActionButtonThemeData with Diagnosticable { /// {@macro flutter.material.RawMaterialButton.mouseCursor} /// /// If specified, overrides the default value of [FloatingActionButton.mouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// Creates a copy of this object with the given fields replaced with the /// new values. @@ -167,7 +166,7 @@ class FloatingActionButtonThemeData with Diagnosticable { double? extendedIconLabelSpacing, EdgeInsetsGeometry? extendedPadding, TextStyle? extendedTextStyle, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, }) { return FloatingActionButtonThemeData( foregroundColor: foregroundColor ?? this.foregroundColor, @@ -359,7 +358,7 @@ class FloatingActionButtonThemeData with Diagnosticable { DiagnosticsProperty('extendedTextStyle', extendedTextStyle, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: null, diff --git a/packages/flutter/lib/src/material/icon_button.dart b/packages/flutter/lib/src/material/icon_button.dart index ef490cad050bb..b6cf9e0108359 100644 --- a/packages/flutter/lib/src/material/icon_button.dart +++ b/packages/flutter/lib/src/material/icon_button.dart @@ -745,7 +745,9 @@ class IconButton extends StatelessWidget { if (style != null) { adjustedStyle = style!.merge(adjustedStyle); } - + if (adjustedStyle.iconColor == null) { + adjustedStyle = adjustedStyle.copyWith(iconColor: adjustedStyle.foregroundColor); + } Widget effectiveIcon = icon; if ((isSelected ?? false) && selectedIcon != null) { effectiveIcon = selectedIcon!; @@ -904,7 +906,7 @@ class _SelectableIconButtonState extends State<_SelectableIconButton> { _internalStatesController = MaterialStatesController(); } - statesController.update(MaterialState.selected, _isSelected); + statesController.update(WidgetState.selected, _isSelected); } @override @@ -920,7 +922,7 @@ class _SelectableIconButtonState extends State<_SelectableIconButton> { } if (widget.isSelected != oldWidget.isSelected) { - statesController.update(MaterialState.selected, _isSelected); + statesController.update(WidgetState.selected, _isSelected); } } @@ -929,7 +931,7 @@ class _SelectableIconButtonState extends State<_SelectableIconButton> { _internalStatesController = MaterialStatesController(); } - statesController.update(MaterialState.selected, _isSelected); + statesController.update(WidgetState.selected, _isSelected); } @override @@ -1068,88 +1070,88 @@ class _IconButtonDefaultsM3 extends ButtonStyle { // No default text style @override - MaterialStateProperty? get backgroundColor => + WidgetStateProperty? get backgroundColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.primary; } return _colors.onSurfaceVariant; }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurfaceVariant.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurfaceVariant.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurfaceVariant.withOpacity(0.1); } return Colors.transparent; }); @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(0.0); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => const MaterialStatePropertyAll(EdgeInsets.all(8.0)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(40.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(24.0); @override - MaterialStateProperty? get side => null; + WidgetStateProperty? get side => null; @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; @@ -1191,12 +1193,12 @@ class _FilledIconButtonDefaultsM3 extends ButtonStyle { // No default text style @override - MaterialStateProperty? get backgroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get backgroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.12); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.primary; } if (toggleable) { // toggleable but unselected case @@ -1206,12 +1208,12 @@ class _FilledIconButtonDefaultsM3 extends ButtonStyle { }); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.onPrimary; } if (toggleable) { // toggleable but unselected case @@ -1221,83 +1223,83 @@ class _FilledIconButtonDefaultsM3 extends ButtonStyle { }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.onPrimary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onPrimary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onPrimary.withOpacity(0.1); } } if (toggleable) { // toggleable but unselected case - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onPrimary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onPrimary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onPrimary.withOpacity(0.1); } return Colors.transparent; }); @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(0.0); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => const MaterialStatePropertyAll(EdgeInsets.all(8.0)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(40.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(24.0); @override - MaterialStateProperty? get side => null; + WidgetStateProperty? get side => null; @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; @@ -1339,12 +1341,12 @@ class _FilledTonalIconButtonDefaultsM3 extends ButtonStyle { // No default text style @override - MaterialStateProperty? get backgroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get backgroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.12); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.secondaryContainer; } if (toggleable) { // toggleable but unselected case @@ -1354,12 +1356,12 @@ class _FilledTonalIconButtonDefaultsM3 extends ButtonStyle { }); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.onSecondaryContainer; } if (toggleable) { // toggleable but unselected case @@ -1369,83 +1371,83 @@ class _FilledTonalIconButtonDefaultsM3 extends ButtonStyle { }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSecondaryContainer.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSecondaryContainer.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSecondaryContainer.withOpacity(0.1); } } if (toggleable) { // toggleable but unselected case - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurfaceVariant.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurfaceVariant.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurfaceVariant.withOpacity(0.1); } } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSecondaryContainer.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSecondaryContainer.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSecondaryContainer.withOpacity(0.1); } return Colors.transparent; }); @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(0.0); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => const MaterialStatePropertyAll(EdgeInsets.all(8.0)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(40.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(24.0); @override - MaterialStateProperty? get side => null; + WidgetStateProperty? get side => null; @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; @@ -1487,94 +1489,94 @@ class _OutlinedIconButtonDefaultsM3 extends ButtonStyle { // No default text style @override - MaterialStateProperty? get backgroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty? get backgroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return _colors.onSurface.withOpacity(0.12); } return Colors.transparent; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.inverseSurface; } return Colors.transparent; }); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.onInverseSurface; } return _colors.onSurfaceVariant; }); @override - MaterialStateProperty? get overlayColor => MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.onInverseSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onInverseSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onInverseSurface.withOpacity(0.08); } } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurfaceVariant.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurfaceVariant.withOpacity(0.08); } return Colors.transparent; }); @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(0.0); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => const MaterialStatePropertyAll(EdgeInsets.all(8.0)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(40.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(24.0); @override - MaterialStateProperty? get side => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty? get side => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return null; } else { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return BorderSide(color: _colors.onSurface.withOpacity(0.12)); } return BorderSide(color: _colors.outline); @@ -1582,13 +1584,13 @@ class _OutlinedIconButtonDefaultsM3 extends ButtonStyle { }); @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; diff --git a/packages/flutter/lib/src/material/ink_well.dart b/packages/flutter/lib/src/material/ink_well.dart index 2e8d6f41af848..aa3f306ba0d3e 100644 --- a/packages/flutter/lib/src/material/ink_well.dart +++ b/packages/flutter/lib/src/material/ink_well.dart @@ -311,6 +311,7 @@ class InkResponse extends StatelessWidget { this.onTapCancel, this.onDoubleTap, this.onLongPress, + this.onLongPressUp, this.onSecondaryTap, this.onSecondaryTapUp, this.onSecondaryTapDown, @@ -364,6 +365,19 @@ class InkResponse extends StatelessWidget { /// Called when the user long-presses on this part of the material. final GestureLongPressCallback? onLongPress; + /// Called when the user lifts their finger after a long press on the button. + /// + /// This callback is triggered at the end of a long press gesture, specifically + /// after the user holds a long press and then releases it. It does not include + /// position details. + /// + /// Common use cases include performing an action only after the long press completes, + /// such as displaying a context menu or confirming a held gesture. + /// + /// See also: + /// * [onLongPress], which is triggered when the long press gesture is first recognized. + final GestureLongPressUpCallback? onLongPressUp; + /// Called when the user taps this part of the material with a secondary button. /// /// See also: @@ -404,7 +418,7 @@ class InkResponse extends StatelessWidget { /// become highlighted and false if this part of the material has stopped /// being highlighted. /// - /// If all of [onTap], [onDoubleTap], and [onLongPress] become null while a + /// If all of [onTap], [onDoubleTap], [onLongPress], and [onLongPressUp] become null while a /// gesture is ongoing, then [onTapCancel] will be fired and /// [onHighlightChanged] will be fired with the value false _during the /// build_. This means, for instance, that in that scenario [State.setState] @@ -556,7 +570,7 @@ class InkResponse extends StatelessWidget { /// * The Material Design specification for overlay colors and how they /// match a component's state: /// . - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// The splash color of the ink response. If this property is null then the /// splash color of the theme, [ThemeData.splashColor], will be used. @@ -659,6 +673,7 @@ class InkResponse extends StatelessWidget { onTapCancel: onTapCancel, onDoubleTap: onDoubleTap, onLongPress: onLongPress, + onLongPressUp: onLongPressUp, onSecondaryTap: onSecondaryTap, onSecondaryTapUp: onSecondaryTapUp, onSecondaryTapDown: onSecondaryTapDown, @@ -716,6 +731,7 @@ class _InkResponseStateWidget extends StatefulWidget { this.onTapCancel, this.onDoubleTap, this.onLongPress, + this.onLongPressUp, this.onSecondaryTap, this.onSecondaryTapUp, this.onSecondaryTapDown, @@ -754,6 +770,7 @@ class _InkResponseStateWidget extends StatefulWidget { final GestureTapCallback? onTapCancel; final GestureTapCallback? onDoubleTap; final GestureLongPressCallback? onLongPress; + final GestureLongPressUpCallback? onLongPressUp; final GestureTapCallback? onSecondaryTap; final GestureTapUpCallback? onSecondaryTapUp; final GestureTapDownCallback? onSecondaryTapDown; @@ -769,7 +786,7 @@ class _InkResponseStateWidget extends StatefulWidget { final Color? focusColor; final Color? hoverColor; final Color? highlightColor; - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; final Color? splashColor; final InteractiveInkFeatureFactory? splashFactory; final bool enableFeedback; @@ -794,6 +811,7 @@ class _InkResponseStateWidget extends StatefulWidget { if (onTap != null) 'tap', if (onDoubleTap != null) 'double tap', if (onLongPress != null) 'long press', + if (onLongPressUp != null) 'long press up', if (onTapDown != null) 'tap down', if (onTapUp != null) 'tap up', if (onTapCancel != null) 'tap cancel', @@ -901,7 +919,7 @@ class _InkResponseState extends State<_InkResponseStateWidget> if (widget.statesController == null) { internalStatesController = MaterialStatesController(); } - statesController.update(MaterialState.disabled, !enabled); + statesController.update(WidgetState.disabled, !enabled); statesController.addListener(handleStatesControllerChange); } @@ -941,9 +959,9 @@ class _InkResponseState extends State<_InkResponseStateWidget> _updateHighlightsAndSplashes(); } if (enabled != isWidgetEnabled(oldWidget)) { - statesController.update(MaterialState.disabled, !enabled); + statesController.update(WidgetState.disabled, !enabled); if (!enabled) { - statesController.update(MaterialState.pressed, false); + statesController.update(WidgetState.pressed, false); // Remove the existing hover highlight immediately when enabled is false. // Do not rely on updateHighlight or InkHighlight.deactivate to not break // the expected lifecycle which is updating _hovering when the mouse exit. @@ -992,10 +1010,10 @@ class _InkResponseState extends State<_InkResponseStateWidget> switch (type) { case _HighlightType.pressed: - statesController.update(MaterialState.pressed, value); + statesController.update(WidgetState.pressed, value); case _HighlightType.hover: if (callOnHover) { - statesController.update(MaterialState.hovered, value); + statesController.update(WidgetState.hovered, value); } case _HighlightType.focus: // see handleFocusUpdate() @@ -1136,10 +1154,10 @@ class _InkResponseState extends State<_InkResponseStateWidget> void handleFocusUpdate(bool hasFocus) { _hasFocus = hasFocus; // Set here rather than updateHighlight because this widget's - // (MaterialState) states include MaterialState.focused if + // (WidgetState) states include WidgetState.focused if // the InkWell _has_ the focus, rather than if it's showing // the focus per FocusManager.instance.highlightMode. - statesController.update(MaterialState.focused, hasFocus); + statesController.update(WidgetState.focused, hasFocus); updateFocusHighlights(); widget.onFocusChange?.call(hasFocus); } @@ -1183,7 +1201,7 @@ class _InkResponseState extends State<_InkResponseStateWidget> } else { globalPosition = details!.globalPosition; } - statesController.update(MaterialState.pressed, true); // ... before creating the splash + statesController.update(WidgetState.pressed, true); // ... before creating the splash final InteractiveInkFeature splash = _createSplash(globalPosition); _splashes ??= HashSet(); _splashes!.add(splash); @@ -1230,6 +1248,12 @@ class _InkResponseState extends State<_InkResponseStateWidget> } } + void handleLongPressUp() { + _currentSplash?.confirm(); + _currentSplash = null; + widget.onLongPressUp?.call(); + } + void handleSecondaryTap() { _currentSplash?.confirm(); _currentSplash = null; @@ -1271,6 +1295,7 @@ class _InkResponseState extends State<_InkResponseStateWidget> return widget.onTap != null || widget.onDoubleTap != null || widget.onLongPress != null || + widget.onLongPressUp != null || widget.onTapUp != null || widget.onTapDown != null; } @@ -1314,28 +1339,19 @@ class _InkResponseState extends State<_InkResponseStateWidget> super.build(context); // See AutomaticKeepAliveClientMixin. final ThemeData theme = Theme.of(context); - const Set highlightableStates = { - MaterialState.focused, - MaterialState.hovered, - MaterialState.pressed, + const Set highlightableStates = { + WidgetState.focused, + WidgetState.hovered, + WidgetState.pressed, }; - final Set nonHighlightableStates = statesController.value.difference( + final Set nonHighlightableStates = statesController.value.difference( highlightableStates, ); // Each highlightable state will be resolved separately to get the corresponding color. // For this resolution to be correct, the non-highlightable states should be preserved. - final Set pressed = { - ...nonHighlightableStates, - MaterialState.pressed, - }; - final Set focused = { - ...nonHighlightableStates, - MaterialState.focused, - }; - final Set hovered = { - ...nonHighlightableStates, - MaterialState.hovered, - }; + final Set pressed = {...nonHighlightableStates, WidgetState.pressed}; + final Set focused = {...nonHighlightableStates, WidgetState.focused}; + final Set hovered = {...nonHighlightableStates, WidgetState.hovered}; Color getHighlightColorForType(_HighlightType type) { return switch (type) { @@ -1360,7 +1376,7 @@ class _InkResponseState extends State<_InkResponseStateWidget> widget.splashColor ?? Theme.of(context).splashColor; - final MouseCursor effectiveMouseCursor = MaterialStateProperty.resolveAs( + final MouseCursor effectiveMouseCursor = WidgetStateProperty.resolveAs( widget.mouseCursor ?? MaterialStateMouseCursor.clickable, statesController.value, ); @@ -1392,6 +1408,7 @@ class _InkResponseState extends State<_InkResponseStateWidget> onTapCancel: _primaryEnabled ? handleTapCancel : null, onDoubleTap: widget.onDoubleTap != null ? handleDoubleTap : null, onLongPress: widget.onLongPress != null ? handleLongPress : null, + onLongPressUp: widget.onLongPressUp != null ? handleLongPressUp : null, onSecondaryTapDown: _secondaryEnabled ? handleSecondaryTapDown : null, onSecondaryTapUp: _secondaryEnabled ? handleSecondaryTapUp : null, onSecondaryTap: _secondaryEnabled ? handleSecondaryTap : null, @@ -1497,6 +1514,7 @@ class InkWell extends InkResponse { super.onTap, super.onDoubleTap, super.onLongPress, + super.onLongPressUp, super.onTapDown, super.onTapUp, super.onTapCancel, diff --git a/packages/flutter/lib/src/material/input_chip.dart b/packages/flutter/lib/src/material/input_chip.dart index 86386286e7a18..4a8a33d7099d1 100644 --- a/packages/flutter/lib/src/material/input_chip.dart +++ b/packages/flutter/lib/src/material/input_chip.dart @@ -18,7 +18,6 @@ import 'color_scheme.dart'; import 'colors.dart'; import 'debug.dart'; import 'icons.dart'; -import 'material_state.dart'; import 'text_theme.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -179,7 +178,7 @@ class InputChip extends StatelessWidget @override final bool autofocus; @override - final MaterialStateProperty? color; + final WidgetStateProperty? color; @override final Color? backgroundColor; @override @@ -297,15 +296,15 @@ class _InputChipDefaultsM3 extends ChipThemeData { ); @override - MaterialStateProperty? get color => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected) && states.contains(MaterialState.disabled)) { + WidgetStateProperty? get color => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected) && states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.12); } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return null; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.secondaryContainer; } return null; diff --git a/packages/flutter/lib/src/material/input_decorator.dart b/packages/flutter/lib/src/material/input_decorator.dart index 85016c2e03df4..71a798f4c104b 100644 --- a/packages/flutter/lib/src/material/input_decorator.dart +++ b/packages/flutter/lib/src/material/input_decorator.dart @@ -401,8 +401,11 @@ class _HelperErrorState extends State<_HelperError> with SingleTickerProviderSta Widget _buildError() { assert(widget.error != null || widget.errorText != null); - final Widget? capturedError = widget.error; final String? capturedErrorText = widget.errorText; + Widget? capturedError = widget.error; + if (capturedError != null && widget.errorStyle != null) { + capturedError = DefaultTextStyle(style: widget.errorStyle!, child: capturedError); + } return Builder( builder: (BuildContext context) { return Semantics( @@ -1012,16 +1015,15 @@ class _RenderDecoration extends RenderBox final double topHeight; if (label != null) { final double suffixIconSpace = decoration.border.isOutline - ? lerpDouble(suffixIconSize.width, 0.0, decoration.floatingLabelProgress)! + ? lerpDouble(suffixIconSize.width, contentPadding.end, decoration.floatingLabelProgress)! : suffixIconSize.width; final double labelWidth = math.max( 0.0, constraints.maxWidth - (decoration.inputGap * 2 + iconWidth + - contentPadding.horizontal + - prefixIconSize.width + - suffixIconSpace), + (prefixIcon == null ? contentPadding.start : prefixIconSize.width) + + (suffixIcon == null ? contentPadding.end : suffixIconSpace)), ); // Increase the available width for the label when it is scaled down. @@ -2112,9 +2114,9 @@ class _InputDecoratorState extends State with TickerProviderStat return Colors.transparent; } if (decoration.fillColor != null) { - return MaterialStateProperty.resolveAs(decoration.fillColor!, materialState); + return WidgetStateProperty.resolveAs(decoration.fillColor!, widgetState); } - return MaterialStateProperty.resolveAs(defaults.fillColor!, materialState); + return WidgetStateProperty.resolveAs(defaults.fillColor!, widgetState); } Color _getHoverColor(ThemeData themeData) { @@ -2125,26 +2127,26 @@ class _InputDecoratorState extends State with TickerProviderStat } Color _getIconColor(ThemeData themeData, InputDecorationThemeData defaults) { - return MaterialStateProperty.resolveAs(decoration.iconColor, materialState) ?? - MaterialStateProperty.resolveAs(defaults.iconColor!, materialState); + return WidgetStateProperty.resolveAs(decoration.iconColor, widgetState) ?? + WidgetStateProperty.resolveAs(defaults.iconColor!, widgetState); } Color _getPrefixIconColor( IconButtonThemeData iconButtonTheme, InputDecorationThemeData defaults, ) { - return MaterialStateProperty.resolveAs(decoration.prefixIconColor, materialState) ?? - iconButtonTheme.style?.foregroundColor?.resolve(materialState) ?? - MaterialStateProperty.resolveAs(defaults.prefixIconColor!, materialState); + return WidgetStateProperty.resolveAs(decoration.prefixIconColor, widgetState) ?? + iconButtonTheme.style?.foregroundColor?.resolve(widgetState) ?? + WidgetStateProperty.resolveAs(defaults.prefixIconColor!, widgetState); } Color _getSuffixIconColor( IconButtonThemeData iconButtonTheme, InputDecorationThemeData defaults, ) { - return MaterialStateProperty.resolveAs(decoration.suffixIconColor, materialState) ?? - iconButtonTheme.style?.foregroundColor?.resolve(materialState) ?? - MaterialStateProperty.resolveAs(defaults.suffixIconColor!, materialState); + return WidgetStateProperty.resolveAs(decoration.suffixIconColor, widgetState) ?? + iconButtonTheme.style?.foregroundColor?.resolve(widgetState) ?? + WidgetStateProperty.resolveAs(defaults.suffixIconColor!, widgetState); } // True if the label will be shown and the hint will not. @@ -2161,12 +2163,9 @@ class _InputDecoratorState extends State with TickerProviderStat // The base style for the inline label when they're displayed "inline", // i.e. when they appear in place of the empty text field. TextStyle _getInlineLabelStyle(ThemeData themeData, InputDecorationThemeData defaults) { - final TextStyle defaultStyle = MaterialStateProperty.resolveAs( - defaults.labelStyle!, - materialState, - ); + final TextStyle defaultStyle = WidgetStateProperty.resolveAs(defaults.labelStyle!, widgetState); - final TextStyle? style = MaterialStateProperty.resolveAs(decoration.labelStyle, materialState); + final TextStyle? style = WidgetStateProperty.resolveAs(decoration.labelStyle, widgetState); return themeData.textTheme.titleMedium! .merge(widget.baseStyle) @@ -2178,12 +2177,9 @@ class _InputDecoratorState extends State with TickerProviderStat // The base style for the inline hint when they're displayed "inline", // i.e. when they appear in place of the empty text field. TextStyle _getInlineHintStyle(ThemeData themeData, InputDecorationThemeData defaults) { - final TextStyle defaultStyle = MaterialStateProperty.resolveAs( - defaults.hintStyle!, - materialState, - ); + final TextStyle defaultStyle = WidgetStateProperty.resolveAs(defaults.hintStyle!, widgetState); - final TextStyle? style = MaterialStateProperty.resolveAs(decoration.hintStyle, materialState); + final TextStyle? style = WidgetStateProperty.resolveAs(decoration.hintStyle, widgetState); return (themeData.useMaterial3 ? themeData.textTheme.bodyLarge! @@ -2194,9 +2190,9 @@ class _InputDecoratorState extends State with TickerProviderStat } TextStyle _getFloatingLabelStyle(ThemeData themeData, InputDecorationThemeData defaults) { - TextStyle defaultTextStyle = MaterialStateProperty.resolveAs( + TextStyle defaultTextStyle = WidgetStateProperty.resolveAs( defaults.floatingLabelStyle!, - materialState, + widgetState, ); if (_hasError && decoration.errorStyle?.color != null) { defaultTextStyle = defaultTextStyle.copyWith(color: decoration.errorStyle?.color); @@ -2205,9 +2201,9 @@ class _InputDecoratorState extends State with TickerProviderStat decoration.floatingLabelStyle ?? decoration.labelStyle, ); - final TextStyle? style = MaterialStateProperty.resolveAs( + final TextStyle? style = WidgetStateProperty.resolveAs( decoration.floatingLabelStyle, - materialState, + widgetState, ); return themeData.textTheme.titleMedium! @@ -2218,32 +2214,32 @@ class _InputDecoratorState extends State with TickerProviderStat } TextStyle _getHelperStyle(ThemeData themeData, InputDecorationThemeData defaults) { - return MaterialStateProperty.resolveAs( + return WidgetStateProperty.resolveAs( defaults.helperStyle!, - materialState, - ).merge(MaterialStateProperty.resolveAs(decoration.helperStyle, materialState)); + widgetState, + ).merge(WidgetStateProperty.resolveAs(decoration.helperStyle, widgetState)); } TextStyle _getErrorStyle(ThemeData themeData, InputDecorationThemeData defaults) { - return MaterialStateProperty.resolveAs( + return WidgetStateProperty.resolveAs( defaults.errorStyle!, - materialState, + widgetState, ).merge(decoration.errorStyle); } - Set get materialState => { - if (!decoration.enabled) MaterialState.disabled, - if (isFocused) MaterialState.focused, - if (isHovering) MaterialState.hovered, - if (_hasError) MaterialState.error, + Set get widgetState => { + if (!decoration.enabled) WidgetState.disabled, + if (isFocused) WidgetState.focused, + if (isHovering) WidgetState.hovered, + if (_hasError) WidgetState.error, }; InputBorder _getDefaultBorder(ThemeData themeData, InputDecorationThemeData defaults) { final InputBorder border = - MaterialStateProperty.resolveAs(decoration.border, materialState) ?? + WidgetStateProperty.resolveAs(decoration.border, widgetState) ?? const UnderlineInputBorder(); - if (decoration.border is MaterialStateProperty) { + if (decoration.border is WidgetStateProperty) { return border; } @@ -2255,14 +2251,14 @@ class _InputDecoratorState extends State with TickerProviderStat if (decoration.filled!) { final InputDecorationThemeData decorationTheme = InputDecorationTheme.of(context); return border.copyWith( - borderSide: MaterialStateProperty.resolveAs( + borderSide: WidgetStateProperty.resolveAs( decorationTheme.activeIndicatorBorder ?? defaults.activeIndicatorBorder, - materialState, + widgetState, ), ); } else { return border.copyWith( - borderSide: MaterialStateProperty.resolveAs(defaults.outlineBorder, materialState), + borderSide: WidgetStateProperty.resolveAs(defaults.outlineBorder, widgetState), ); } } else { @@ -2406,8 +2402,7 @@ class _InputDecoratorState extends State with TickerProviderStat ? _AffixText( labelIsFloating: labelShouldWithdraw, text: decoration.prefixText, - style: - MaterialStateProperty.resolveAs(decoration.prefixStyle, materialState) ?? hintStyle, + style: WidgetStateProperty.resolveAs(decoration.prefixStyle, widgetState) ?? hintStyle, semanticsSortKey: needsSemanticsSortOrder ? _prefixSemanticsSortOrder : null, semanticsTag: _kPrefixSemanticsTag, child: decoration.prefix, @@ -2418,8 +2413,7 @@ class _InputDecoratorState extends State with TickerProviderStat ? _AffixText( labelIsFloating: labelShouldWithdraw, text: decoration.suffixText, - style: - MaterialStateProperty.resolveAs(decoration.suffixStyle, materialState) ?? hintStyle, + style: WidgetStateProperty.resolveAs(decoration.suffixStyle, widgetState) ?? hintStyle, semanticsSortKey: needsSemanticsSortOrder ? _suffixSemanticsSortOrder : null, semanticsTag: _kSuffixSemanticsTag, child: decoration.suffix, @@ -2550,7 +2544,7 @@ class _InputDecoratorState extends State with TickerProviderStat style: _getHelperStyle( themeData, defaults, - ).merge(MaterialStateProperty.resolveAs(decoration.counterStyle, materialState)), + ).merge(WidgetStateProperty.resolveAs(decoration.counterStyle, widgetState)), overflow: TextOverflow.ellipsis, semanticsLabel: decoration.semanticCounterText, ), @@ -5777,16 +5771,16 @@ class _InputDecoratorDefaultsM2 extends InputDecorationThemeData { final BuildContext context; @override - TextStyle? get hintStyle => MaterialStateTextStyle.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + TextStyle? get hintStyle => MaterialStateTextStyle.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return TextStyle(color: Theme.of(context).disabledColor); } return TextStyle(color: Theme.of(context).hintColor); }); @override - TextStyle? get labelStyle => MaterialStateTextStyle.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + TextStyle? get labelStyle => MaterialStateTextStyle.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return TextStyle(color: Theme.of(context).disabledColor); } return TextStyle(color: Theme.of(context).hintColor); @@ -5794,23 +5788,23 @@ class _InputDecoratorDefaultsM2 extends InputDecorationThemeData { @override TextStyle? get floatingLabelStyle => - MaterialStateTextStyle.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + MaterialStateTextStyle.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return TextStyle(color: Theme.of(context).disabledColor); } - if (states.contains(MaterialState.error)) { + if (states.contains(WidgetState.error)) { return TextStyle(color: Theme.of(context).colorScheme.error); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return TextStyle(color: Theme.of(context).colorScheme.primary); } return TextStyle(color: Theme.of(context).hintColor); }); @override - TextStyle? get helperStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get helperStyle => MaterialStateTextStyle.resolveWith((Set states) { final ThemeData themeData = Theme.of(context); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return themeData.textTheme.bodySmall!.copyWith(color: Colors.transparent); } @@ -5818,17 +5812,17 @@ class _InputDecoratorDefaultsM2 extends InputDecorationThemeData { }); @override - TextStyle? get errorStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get errorStyle => MaterialStateTextStyle.resolveWith((Set states) { final ThemeData themeData = Theme.of(context); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return themeData.textTheme.bodySmall!.copyWith(color: Colors.transparent); } return themeData.textTheme.bodySmall!.copyWith(color: themeData.colorScheme.error); }); @override - Color? get fillColor => MaterialStateColor.resolveWith((Set states) { - return switch ((Theme.brightnessOf(context), states.contains(MaterialState.disabled))) { + Color? get fillColor => WidgetStateColor.resolveWith((Set states) { + return switch ((Theme.brightnessOf(context), states.contains(WidgetState.disabled))) { (Brightness.dark, true) => const Color(0x0DFFFFFF), // 5% white (Brightness.dark, false) => const Color(0x1AFFFFFF), // 10% white (Brightness.light, true) => const Color(0x05000000), // 2% black @@ -5837,11 +5831,11 @@ class _InputDecoratorDefaultsM2 extends InputDecorationThemeData { }); @override - Color? get iconColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled) && !states.contains(MaterialState.focused)) { + Color? get iconColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled) && !states.contains(WidgetState.focused)) { return Theme.of(context).disabledColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return Theme.of(context).colorScheme.primary; } return switch (Theme.brightnessOf(context)) { @@ -5851,11 +5845,11 @@ class _InputDecoratorDefaultsM2 extends InputDecorationThemeData { }); @override - Color? get prefixIconColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled) && !states.contains(MaterialState.focused)) { + Color? get prefixIconColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled) && !states.contains(WidgetState.focused)) { return Theme.of(context).disabledColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return Theme.of(context).colorScheme.primary; } return switch (Theme.brightnessOf(context)) { @@ -5865,14 +5859,14 @@ class _InputDecoratorDefaultsM2 extends InputDecorationThemeData { }); @override - Color? get suffixIconColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled) && !states.contains(MaterialState.focused)) { + Color? get suffixIconColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled) && !states.contains(WidgetState.focused)) { return Theme.of(context).disabledColor; } - if (states.contains(MaterialState.error)) { + if (states.contains(WidgetState.error)) { return Theme.of(context).colorScheme.error; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return Theme.of(context).colorScheme.primary; } return switch (Theme.brightnessOf(context)) { @@ -5910,62 +5904,62 @@ class _InputDecoratorDefaultsM3 extends InputDecorationThemeData { // see https://github.com/flutter/flutter/pull/125905. @override - TextStyle? get hintStyle => MaterialStateTextStyle.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + TextStyle? get hintStyle => MaterialStateTextStyle.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return TextStyle(color: _colors.onSurface.withOpacity(0.38)); } return TextStyle(color: _colors.onSurfaceVariant); }); @override - Color? get fillColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + Color? get fillColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.04); } return _colors.surfaceContainerHighest; }); @override - BorderSide? get activeIndicatorBorder => MaterialStateBorderSide.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + BorderSide? get activeIndicatorBorder => MaterialStateBorderSide.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return BorderSide(color: _colors.onSurface.withOpacity(0.38)); } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.focused)) { return BorderSide(color: _colors.error, width: 2.0); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return BorderSide(color: _colors.onErrorContainer); } return BorderSide(color: _colors.error); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return BorderSide(color: _colors.primary, width: 2.0); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return BorderSide(color: _colors.onSurface); } return BorderSide(color: _colors.onSurfaceVariant); }); @override - BorderSide? get outlineBorder => MaterialStateBorderSide.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + BorderSide? get outlineBorder => MaterialStateBorderSide.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return BorderSide(color: _colors.onSurface.withOpacity(0.12)); } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.focused)) { return BorderSide(color: _colors.error, width: 2.0); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return BorderSide(color: _colors.onErrorContainer); } return BorderSide(color: _colors.error); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return BorderSide(color: _colors.primary, width: 2.0); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return BorderSide(color: _colors.onSurface); } return BorderSide(color: _colors.outline); @@ -5975,20 +5969,20 @@ class _InputDecoratorDefaultsM3 extends InputDecorationThemeData { Color? get iconColor => _colors.onSurfaceVariant; @override - Color? get prefixIconColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + Color? get prefixIconColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } return _colors.onSurfaceVariant; }); @override - Color? get suffixIconColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + Color? get suffixIconColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.hovered)) { return _colors.onErrorContainer; } return _colors.error; @@ -5997,64 +5991,64 @@ class _InputDecoratorDefaultsM3 extends InputDecorationThemeData { }); @override - TextStyle? get labelStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get labelStyle => MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = _textTheme.bodyLarge ?? const TextStyle(); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return textStyle.copyWith(color: _colors.onSurface.withOpacity(0.38)); } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: _colors.error); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: _colors.onErrorContainer); } return textStyle.copyWith(color: _colors.error); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: _colors.primary); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: _colors.onSurfaceVariant); } return textStyle.copyWith(color: _colors.onSurfaceVariant); }); @override - TextStyle? get floatingLabelStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get floatingLabelStyle => MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = _textTheme.bodyLarge ?? const TextStyle(); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return textStyle.copyWith(color: _colors.onSurface.withOpacity(0.38)); } - if (states.contains(MaterialState.error)) { - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.error)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: _colors.error); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: _colors.onErrorContainer); } return textStyle.copyWith(color: _colors.error); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return textStyle.copyWith(color: _colors.primary); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return textStyle.copyWith(color: _colors.onSurfaceVariant); } return textStyle.copyWith(color: _colors.onSurfaceVariant); }); @override - TextStyle? get helperStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get helperStyle => MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = _textTheme.bodySmall ?? const TextStyle(); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return textStyle.copyWith(color: _colors.onSurface.withOpacity(0.38)); } return textStyle.copyWith(color: _colors.onSurfaceVariant); }); @override - TextStyle? get errorStyle => MaterialStateTextStyle.resolveWith((Set states) { + TextStyle? get errorStyle => MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = _textTheme.bodySmall ?? const TextStyle(); return textStyle.copyWith(color: _colors.error); }); diff --git a/packages/flutter/lib/src/material/list_tile.dart b/packages/flutter/lib/src/material/list_tile.dart index 1a0d823c306a7..d0bfa3f1af6ed 100644 --- a/packages/flutter/lib/src/material/list_tile.dart +++ b/packages/flutter/lib/src/material/list_tile.dart @@ -823,9 +823,9 @@ class ListTile extends StatelessWidget { final ListTileThemeData defaults = theme.useMaterial3 ? _LisTileDefaultsM3(context) : _LisTileDefaultsM2(context, listTileStyle); - final Set states = { - if (!enabled) MaterialState.disabled, - if (selected) MaterialState.selected, + final Set states = { + if (!enabled) WidgetState.disabled, + if (selected) WidgetState.selected, }; Color? resolveColor( @@ -954,11 +954,11 @@ class ListTile extends StatelessWidget { defaults.contentPadding!.resolve(textDirection); // Show basic cursor when ListTile isn't enabled or gesture callbacks are null. - final Set mouseStates = { - if (!enabled || (onTap == null && onLongPress == null)) MaterialState.disabled, + final Set mouseStates = { + if (!enabled || (onTap == null && onLongPress == null)) WidgetState.disabled, }; final MouseCursor effectiveMouseCursor = - MaterialStateProperty.resolveAs(mouseCursor, mouseStates) ?? + WidgetStateProperty.resolveAs(mouseCursor, mouseStates) ?? tileTheme.mouseCursor?.resolve(mouseStates) ?? MaterialStateMouseCursor.clickable.resolve(mouseStates); @@ -1136,7 +1136,7 @@ class ListTile extends StatelessWidget { } } -class _IndividualOverrides extends MaterialStateProperty { +class _IndividualOverrides extends WidgetStateProperty { _IndividualOverrides({ this.explicitColor, this.enabledColor, @@ -1150,14 +1150,14 @@ class _IndividualOverrides extends MaterialStateProperty { final Color? disabledColor; @override - Color? resolve(Set states) { - if (explicitColor is MaterialStateColor) { - return MaterialStateProperty.resolveAs(explicitColor, states); + Color? resolve(Set states) { + if (explicitColor is WidgetStateColor) { + return WidgetStateProperty.resolveAs(explicitColor, states); } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return enabledColor; diff --git a/packages/flutter/lib/src/material/list_tile_theme.dart b/packages/flutter/lib/src/material/list_tile_theme.dart index ec00931234b72..9c22950d2c2f6 100644 --- a/packages/flutter/lib/src/material/list_tile_theme.dart +++ b/packages/flutter/lib/src/material/list_tile_theme.dart @@ -16,7 +16,6 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'list_tile.dart'; -import 'material_state.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -127,7 +126,7 @@ class ListTileThemeData with Diagnosticable { final bool? enableFeedback; /// If specified, overrides the default value of [ListTile.mouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// If specified, overrides the default value of [ListTile.visualDensity]. final VisualDensity? visualDensity; @@ -163,7 +162,7 @@ class ListTileThemeData with Diagnosticable { double? minLeadingWidth, double? minTileHeight, bool? enableFeedback, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, bool? isThreeLine, VisualDensity? visualDensity, ListTileTitleAlignment? titleAlignment, @@ -322,7 +321,7 @@ class ListTileThemeData with Diagnosticable { properties.add(DoubleProperty('minTileHeight', minTileHeight, defaultValue: null)); properties.add(DiagnosticsProperty('enableFeedback', enableFeedback, defaultValue: null)); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: null, @@ -376,7 +375,7 @@ class ListTileTheme extends InheritedTheme { Color? tileColor, Color? selectedTileColor, bool? enableFeedback, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, double? horizontalTitleGap, double? minVerticalPadding, double? minLeadingWidth, @@ -430,7 +429,7 @@ class ListTileTheme extends InheritedTheme { final double? _minVerticalPadding; final double? _minLeadingWidth; final bool? _enableFeedback; - final MaterialStateProperty? _mouseCursor; + final WidgetStateProperty? _mouseCursor; final ListTileControlAffinity? _controlAffinity; /// The configuration of this theme. @@ -579,7 +578,7 @@ class ListTileTheme extends InheritedTheme { double? minLeadingWidth, double? minTileHeight, ListTileTitleAlignment? titleAlignment, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, VisualDensity? visualDensity, ListTileControlAffinity? controlAffinity, bool? isThreeLine, diff --git a/packages/flutter/lib/src/material/material.dart b/packages/flutter/lib/src/material/material.dart index 14567d4120038..a9f00fc0232ae 100644 --- a/packages/flutter/lib/src/material/material.dart +++ b/packages/flutter/lib/src/material/material.dart @@ -568,7 +568,7 @@ class _RenderInkFeatures extends RenderProxyBox implements MaterialInkController this.color, }) : super(child); - // This class should exist in a 1:1 relationship with a MaterialState object, + // This class should exist in a 1:1 relationship with a WidgetState object, // since there's no current support for dynamically changing the ticker // provider. @override @@ -576,7 +576,7 @@ class _RenderInkFeatures extends RenderProxyBox implements MaterialInkController // This is here to satisfy the MaterialInkController contract. // The actual painting of this color is done by a Container in the - // MaterialState build method. + // WidgetState build method. @override Color? color; @@ -644,8 +644,8 @@ class _InkFeatures extends SingleChildRenderObjectWidget { super.child, }); - // This widget must be owned by a MaterialState, which must be provided as the vsync. - // This relationship must be 1:1 and cannot change for the lifetime of the MaterialState. + // This widget must be owned by a WidgetState, which must be provided as the vsync. + // This relationship must be 1:1 and cannot change for the lifetime of the WidgetState. final Color? color; diff --git a/packages/flutter/lib/src/material/material_state_mixin.dart b/packages/flutter/lib/src/material/material_state_mixin.dart index 9a8a3b5e61f4c..ff0239b1d4c3f 100644 --- a/packages/flutter/lib/src/material/material_state_mixin.dart +++ b/packages/flutter/lib/src/material/material_state_mixin.dart @@ -8,9 +8,7 @@ library; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; - -/// Mixin for [State] classes that require knowledge of changing [MaterialState] +/// Mixin for [State] classes that require knowledge of changing [WidgetState] /// values for their child widgets. /// /// This mixin does nothing by mere application to a [State] class, but is @@ -18,18 +16,18 @@ import 'material_state.dart'; /// [GestureDetector], [MouseRegion], or [Focus] widgets. Instead of manually /// creating handlers for each type of user interaction, such [State] classes can /// instead provide a `ValueChanged` function and allow [MaterialStateMixin] -/// to manage the set of active [MaterialState]s, and the calling of [setState] +/// to manage the set of active [WidgetState]s, and the calling of [setState] /// as necessary. /// /// {@tool snippet} /// This example shows how to write a [StatefulWidget] that uses the -/// [MaterialStateMixin] class to watch [MaterialState] values. +/// [MaterialStateMixin] class to watch [WidgetState] values. /// /// ```dart /// class MyWidget extends StatefulWidget { /// const MyWidget({super.key, required this.color, required this.child}); /// -/// final MaterialStateColor color; +/// final WidgetStateColor color; /// final Widget child; /// /// @override @@ -40,7 +38,7 @@ import 'material_state.dart'; /// @override /// Widget build(BuildContext context) { /// return InkWell( -/// onFocusChange: updateMaterialState(MaterialState.focused), +/// onFocusChange: updateMaterialState(WidgetState.focused), /// child: ColoredBox( /// color: widget.color.resolve(materialStates), /// child: widget.child, @@ -52,8 +50,8 @@ import 'material_state.dart'; /// {@end-tool} @optionalTypeArgs mixin MaterialStateMixin on State { - /// Managed set of active [MaterialState] values; designed to be passed to - /// [MaterialStateProperty.resolve] methods. + /// Managed set of active [WidgetState] values; designed to be passed to + /// [WidgetStateProperty.resolve] methods. /// /// To mutate and have [setState] called automatically for you, use /// [setMaterialState], [addMaterialState], or [removeMaterialState]. Directly @@ -61,17 +59,17 @@ mixin MaterialStateMixin on State { /// list without calling [setState] (and thus triggering a re-render). /// /// To check for a single condition, convenience getters [isPressed], [isHovered], - /// [isFocused], etc, are available for each [MaterialState] value. + /// [isFocused], etc, are available for each [WidgetState] value. @protected - Set materialStates = {}; + Set materialStates = {}; - /// Callback factory which accepts a [MaterialState] value and returns a + /// Callback factory which accepts a [WidgetState] value and returns a /// closure to mutate [materialStates] and call [setState]. /// /// Accepts an optional second named parameter, `onChanged`, which allows /// arbitrary functionality to be wired through the [MaterialStateMixin]. /// If supplied, the [onChanged] function is only called when child widgets - /// report events that make changes to the current set of [MaterialState]s. + /// report events that make changes to the current set of [WidgetState]s. /// /// {@tool snippet} /// This example shows how to use the [updateMaterialState] callback factory @@ -95,7 +93,7 @@ mixin MaterialStateMixin on State { /// color: isPressed ? Colors.black : Colors.white, /// child: InkWell( /// onHighlightChanged: updateMaterialState( - /// MaterialState.pressed, + /// WidgetState.pressed, /// onChanged: (bool val) { /// if (val) { /// widget.onPressed?.call(); @@ -109,7 +107,7 @@ mixin MaterialStateMixin on State { /// ``` /// {@end-tool} @protected - ValueChanged updateMaterialState(MaterialState key, {ValueChanged? onChanged}) { + ValueChanged updateMaterialState(WidgetState key, {ValueChanged? onChanged}) { return (bool value) { if (materialStates.contains(key) == value) { return; @@ -119,60 +117,60 @@ mixin MaterialStateMixin on State { }; } - /// Mutator to mark a [MaterialState] value as either active or inactive. + /// Mutator to mark a [WidgetState] value as either active or inactive. @protected - void setMaterialState(MaterialState state, bool isSet) { + void setMaterialState(WidgetState state, bool isSet) { return isSet ? addMaterialState(state) : removeMaterialState(state); } - /// Mutator to mark a [MaterialState] value as active. + /// Mutator to mark a [WidgetState] value as active. @protected - void addMaterialState(MaterialState state) { + void addMaterialState(WidgetState state) { if (materialStates.add(state)) { setState(() {}); } } - /// Mutator to mark a [MaterialState] value as inactive. + /// Mutator to mark a [WidgetState] value as inactive. @protected - void removeMaterialState(MaterialState state) { + void removeMaterialState(WidgetState state) { if (materialStates.remove(state)) { setState(() {}); } } - /// Getter for whether this class considers [MaterialState.disabled] to be active. - bool get isDisabled => materialStates.contains(MaterialState.disabled); + /// Getter for whether this class considers [WidgetState.disabled] to be active. + bool get isDisabled => materialStates.contains(WidgetState.disabled); - /// Getter for whether this class considers [MaterialState.dragged] to be active. - bool get isDragged => materialStates.contains(MaterialState.dragged); + /// Getter for whether this class considers [WidgetState.dragged] to be active. + bool get isDragged => materialStates.contains(WidgetState.dragged); - /// Getter for whether this class considers [MaterialState.error] to be active. - bool get isErrored => materialStates.contains(MaterialState.error); + /// Getter for whether this class considers [WidgetState.error] to be active. + bool get isErrored => materialStates.contains(WidgetState.error); - /// Getter for whether this class considers [MaterialState.focused] to be active. - bool get isFocused => materialStates.contains(MaterialState.focused); + /// Getter for whether this class considers [WidgetState.focused] to be active. + bool get isFocused => materialStates.contains(WidgetState.focused); - /// Getter for whether this class considers [MaterialState.hovered] to be active. - bool get isHovered => materialStates.contains(MaterialState.hovered); + /// Getter for whether this class considers [WidgetState.hovered] to be active. + bool get isHovered => materialStates.contains(WidgetState.hovered); - /// Getter for whether this class considers [MaterialState.pressed] to be active. - bool get isPressed => materialStates.contains(MaterialState.pressed); + /// Getter for whether this class considers [WidgetState.pressed] to be active. + bool get isPressed => materialStates.contains(WidgetState.pressed); - /// Getter for whether this class considers [MaterialState.scrolledUnder] to be active. - bool get isScrolledUnder => materialStates.contains(MaterialState.scrolledUnder); + /// Getter for whether this class considers [WidgetState.scrolledUnder] to be active. + bool get isScrolledUnder => materialStates.contains(WidgetState.scrolledUnder); - /// Getter for whether this class considers [MaterialState.selected] to be active. - bool get isSelected => materialStates.contains(MaterialState.selected); + /// Getter for whether this class considers [WidgetState.selected] to be active. + bool get isSelected => materialStates.contains(WidgetState.selected); @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'materialStates', materialStates, - defaultValue: {}, + defaultValue: {}, ), ); } diff --git a/packages/flutter/lib/src/material/menu_anchor.dart b/packages/flutter/lib/src/material/menu_anchor.dart index 6b727c6286244..42b7eb97d665f 100644 --- a/packages/flutter/lib/src/material/menu_anchor.dart +++ b/packages/flutter/lib/src/material/menu_anchor.dart @@ -148,6 +148,9 @@ class _MenuAnchorScope extends InheritedWidget { /// /// ** See code in examples/api/lib/material/menu_anchor/menu_anchor.3.dart ** /// {@end-tool} +/// +/// The [MenuStyle.visualDensity] setting only affects horizontal padding, +/// and it will never make it negative. Vertical padding is not affected at all. class MenuAnchor extends StatefulWidget { /// Creates a const [MenuAnchor]. /// @@ -158,6 +161,7 @@ class MenuAnchor extends StatefulWidget { this.childFocusNode, this.style, this.alignmentOffset = Offset.zero, + this.reservedPadding, this.layerLink, this.clipBehavior = Clip.hardEdge, @Deprecated( @@ -315,6 +319,11 @@ class MenuAnchor extends StatefulWidget { /// to rebuild this child when those change. final Widget? child; + /// The padding between the edge of the safe area and the menu panel. + /// + /// Defaults to EdgeInsets.all(8). + final EdgeInsetsGeometry? reservedPadding; + @override State createState() => _MenuAnchorState(); @@ -403,6 +412,7 @@ class _MenuAnchorState extends State { menuPosition: position, anchor: this, alignmentOffset: widget.alignmentOffset ?? Offset.zero, + reservedPadding: widget.reservedPadding ?? const EdgeInsets.all(_kMenuViewPadding), ); } @@ -1518,7 +1528,7 @@ class SubmenuButton extends StatefulWidget { /// If this is null, then the value of [MenuThemeData.submenuIcon] is used. /// If that is also null, then defaults to a right arrow icon with the size /// of 24 pixels. - final MaterialStateProperty? submenuIcon; + final WidgetStateProperty? submenuIcon; /// An optional icon to display after the [child]. final Widget? trailingIcon; @@ -1753,10 +1763,10 @@ class _SubmenuButtonState extends State { (Axis.vertical, TextDirection.rtl) => Offset(0, -menuPadding.top), (Axis.vertical, TextDirection.ltr) => Offset(0, -menuPadding.top), }; - final Set states = { - if (!_enabled) MaterialState.disabled, - if (_isHovered) MaterialState.hovered, - if (_buttonFocusNode.hasFocus) MaterialState.focused, + final Set states = { + if (!_enabled) WidgetState.disabled, + if (_isHovered) WidgetState.hovered, + if (_buttonFocusNode.hasFocus) WidgetState.focused, }; final Widget submenuIcon = widget.submenuIcon?.resolve(states) ?? @@ -1904,12 +1914,12 @@ class _SubmenuButtonState extends State { } EdgeInsets _computeMenuPadding(BuildContext context) { - final MaterialStateProperty insets = + final WidgetStateProperty insets = widget.menuStyle?.padding ?? MenuTheme.of(context).style?.padding ?? _MenuDefaultsM3(context).padding!; return insets - .resolve(widget.statesController?.value ?? const {})! + .resolve(widget.statesController?.value ?? const {})! .resolve(Directionality.of(context)); } @@ -2917,6 +2927,7 @@ class _MenuLayout extends SingleChildLayoutDelegate { required this.avoidBounds, required this.orientation, required this.parentOrientation, + required this.reservedPadding, }); // Rectangle of underlying button, relative to the overlay's dimensions. @@ -2948,13 +2959,14 @@ class _MenuLayout extends SingleChildLayoutDelegate { // The orientation of this menu's parent. final Axis parentOrientation; + // How close to the edge of the safe area the menu will be placed. + final EdgeInsetsGeometry reservedPadding; + @override BoxConstraints getConstraintsForChild(BoxConstraints constraints) { - // The menu can be at most the size of the overlay minus _kMenuViewPadding - // pixels in each direction. - return BoxConstraints.loose( - constraints.biggest, - ).deflate(const EdgeInsets.all(_kMenuViewPadding)); + // The menu can be at most the size of the overlay minus the view padding + // in each direction. + return BoxConstraints.loose(constraints.biggest).deflate(reservedPadding); } @override @@ -3148,9 +3160,9 @@ class _MenuPanelState extends State<_MenuPanel> { return getProperty(widgetStyle) ?? getProperty(themeStyle) ?? getProperty(defaultStyle); } - T? resolve(MaterialStateProperty? Function(MenuStyle? style) getProperty) { + T? resolve(WidgetStateProperty? Function(MenuStyle? style) getProperty) { return effectiveValue((MenuStyle? style) { - return getProperty(style)?.resolve({}); + return getProperty(style)?.resolve({}); }); } @@ -3173,11 +3185,11 @@ class _MenuPanelState extends State<_MenuPanel> { // Per the Material Design team: don't allow the VisualDensity // adjustment to reduce the width of the left/right padding. If we // did, VisualDensity.compact, the default for desktop/web, would - // reduce the horizontal padding to zero. - final double dy = densityAdjustment.dy; + // reduce the horizontal padding to zero. Vertical padding + // is not affected at all. final double dx = math.max(0, densityAdjustment.dx); final EdgeInsetsGeometry resolvedPadding = padding - .add(EdgeInsets.symmetric(horizontal: dx, vertical: dy)) + .add(EdgeInsets.symmetric(horizontal: dx)) .clamp(EdgeInsets.zero, EdgeInsetsGeometry.infinity); BoxConstraints effectiveConstraints = visualDensity.effectiveConstraints( @@ -3286,6 +3298,7 @@ class _Submenu extends StatelessWidget { this.crossAxisUnconstrained = true, required this.menuChildren, required this.menuScopeNode, + required this.reservedPadding, }); final FocusScopeNode menuScopeNode; @@ -3298,6 +3311,7 @@ class _Submenu extends StatelessWidget { final Clip clipBehavior; final bool crossAxisUnconstrained; final List menuChildren; + final EdgeInsetsGeometry reservedPadding; @override Widget build(BuildContext context) { @@ -3311,14 +3325,14 @@ class _Submenu extends StatelessWidget { return getProperty(menuStyle) ?? getProperty(themeStyle) ?? getProperty(defaultStyle); } - T? resolve(MaterialStateProperty? Function(MenuStyle? style) getProperty) { + T? resolve(WidgetStateProperty? Function(MenuStyle? style) getProperty) { return effectiveValue((MenuStyle? style) { - return getProperty(style)?.resolve({}); + return getProperty(style)?.resolve({}); }); } final MaterialStateMouseCursor mouseCursor = _MouseCursor( - (Set states) => + (Set states) => effectiveValue((MenuStyle? style) => style?.mouseCursor?.resolve(states)), ); @@ -3333,16 +3347,15 @@ class _Submenu extends StatelessWidget { // adjustment to reduce the width of the left/right padding. If we // did, VisualDensity.compact, the default for desktop/web, would // reduce the horizontal padding to zero. - final double dy = densityAdjustment.dy; final double dx = math.max(0, densityAdjustment.dx); final EdgeInsetsGeometry resolvedPadding = padding - .add(EdgeInsets.fromLTRB(dx, dy, dx, dy)) + .add(EdgeInsets.fromLTRB(dx, 0, dx, 0)) .clamp(EdgeInsets.zero, EdgeInsetsGeometry.infinity); final Rect anchorRect = layerLink == null ? Rect.fromLTRB( menuPosition.anchorRect.left + dx, - menuPosition.anchorRect.top - dy, + menuPosition.anchorRect.top, menuPosition.anchorRect.right, menuPosition.anchorRect.bottom, ) @@ -3397,6 +3410,7 @@ class _Submenu extends StatelessWidget { menuPosition: menuPosition.position, orientation: anchor._orientation, parentOrientation: anchor._parent?._orientation ?? Axis.horizontal, + reservedPadding: reservedPadding, ), child: menuPanel, ); @@ -3422,10 +3436,10 @@ class _Submenu extends StatelessWidget { class _MouseCursor extends MaterialStateMouseCursor { const _MouseCursor(this.resolveCallback); - final MaterialPropertyResolver resolveCallback; + final WidgetPropertyResolver resolveCallback; @override - MouseCursor resolve(Set states) => + MouseCursor resolve(Set states) => resolveCallback(states) ?? MouseCursor.uncontrolled; @override @@ -3512,22 +3526,22 @@ class _MenuBarDefaultsM3 extends MenuStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get backgroundColor { + WidgetStateProperty get backgroundColor { return MaterialStatePropertyAll(_colors.surfaceContainer); } @override - MaterialStateProperty? get shadowColor { + WidgetStateProperty? get shadowColor { return MaterialStatePropertyAll(_colors.shadow); } @override - MaterialStateProperty? get surfaceTintColor { + WidgetStateProperty? get surfaceTintColor { return const MaterialStatePropertyAll(Colors.transparent); } @override - MaterialStateProperty? get padding { + WidgetStateProperty? get padding { return const MaterialStatePropertyAll( EdgeInsetsDirectional.symmetric( horizontal: _kTopLevelMenuHorizontalMinPadding @@ -3553,7 +3567,7 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { late final TextTheme _textTheme = Theme.of(context).textTheme; @override - MaterialStateProperty? get backgroundColor { + WidgetStateProperty? get backgroundColor { return ButtonStyleButton.allOrNull(Colors.transparent); } @@ -3562,23 +3576,23 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { // No default surface tint color @override - MaterialStateProperty? get elevation { + WidgetStateProperty? get elevation { return ButtonStyleButton.allOrNull(0.0); } @override - MaterialStateProperty? get foregroundColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface; } return _colors.onSurface; @@ -3586,18 +3600,18 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurfaceVariant; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurfaceVariant; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurfaceVariant; } return _colors.onSurfaceVariant; @@ -3607,25 +3621,25 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { // No default fixedSize @override - MaterialStateProperty? get iconSize { + WidgetStateProperty? get iconSize { return const MaterialStatePropertyAll(24.0); } @override - MaterialStateProperty? get maximumSize { + WidgetStateProperty? get maximumSize { return ButtonStyleButton.allOrNull(Size.infinite); } @override - MaterialStateProperty? get minimumSize { + WidgetStateProperty? get minimumSize { return ButtonStyleButton.allOrNull(const Size(64.0, 48.0)); } @override - MaterialStateProperty? get mouseCursor { - return MaterialStateProperty.resolveWith( - (Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor { + return WidgetStateProperty.resolveWith( + (Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; @@ -3634,16 +3648,16 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get overlayColor { - return MaterialStateProperty.resolveWith( - (Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor { + return WidgetStateProperty.resolveWith( + (Set states) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface.withOpacity(0.1); } return Colors.transparent; @@ -3652,14 +3666,14 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get padding { + WidgetStateProperty? get padding { return ButtonStyleButton.allOrNull(_scaledPadding(context)); } // No default side @override - MaterialStateProperty? get shape { + WidgetStateProperty? get shape { return ButtonStyleButton.allOrNull(const RoundedRectangleBorder()); } @@ -3670,7 +3684,7 @@ class _MenuButtonDefaultsM3 extends ButtonStyle { MaterialTapTargetSize? get tapTargetSize => Theme.of(context).materialTapTargetSize; @override - MaterialStateProperty get textStyle { + WidgetStateProperty get textStyle { // TODO(tahatesser): This is taken from https://m3.material.io/components/menus/specs // Update this when the token is available. return MaterialStatePropertyAll(_textTheme.labelLarge); @@ -3726,22 +3740,22 @@ class _MenuDefaultsM3 extends MenuStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get backgroundColor { + WidgetStateProperty get backgroundColor { return MaterialStatePropertyAll(_colors.surfaceContainer); } @override - MaterialStateProperty? get surfaceTintColor { + WidgetStateProperty? get surfaceTintColor { return const MaterialStatePropertyAll(Colors.transparent); } @override - MaterialStateProperty? get shadowColor { + WidgetStateProperty? get shadowColor { return MaterialStatePropertyAll(_colors.shadow); } @override - MaterialStateProperty? get padding { + WidgetStateProperty? get padding { return const MaterialStatePropertyAll( EdgeInsetsDirectional.symmetric(vertical: _kMenuVerticalMinPadding), ); diff --git a/packages/flutter/lib/src/material/menu_style.dart b/packages/flutter/lib/src/material/menu_style.dart index 804f1ab4abac7..511baf11f33e6 100644 --- a/packages/flutter/lib/src/material/menu_style.dart +++ b/packages/flutter/lib/src/material/menu_style.dart @@ -122,30 +122,30 @@ class MenuStyle with Diagnosticable { }); /// The menu's background fill color. - final MaterialStateProperty? backgroundColor; + final WidgetStateProperty? backgroundColor; /// The shadow color of the menu's [Material]. /// /// The material's elevation shadow can be difficult to see for dark themes, /// so by default the menu classes add a semi-transparent overlay to indicate /// elevation. See [ThemeData.applyElevationOverlayColor]. - final MaterialStateProperty? shadowColor; + final WidgetStateProperty? shadowColor; /// The surface tint color of the menu's [Material]. /// /// See [Material.surfaceTintColor] for more details. - final MaterialStateProperty? surfaceTintColor; + final WidgetStateProperty? surfaceTintColor; /// The elevation of the menu's [Material]. - final MaterialStateProperty? elevation; + final WidgetStateProperty? elevation; /// The padding between the menu's boundary and its child. - final MaterialStateProperty? padding; + final WidgetStateProperty? padding; /// The minimum size of the menu itself. /// /// This value must be less than or equal to [maximumSize]. - final MaterialStateProperty? minimumSize; + final WidgetStateProperty? minimumSize; /// The menu's size. /// @@ -156,7 +156,7 @@ class MenuStyle with Diagnosticable { /// To specify menus with a fixed width and the default height use `fixedSize: /// Size.fromWidth(320)`. Similarly, to specify a fixed height and the default /// width use `fixedSize: Size.fromHeight(100)`. - final MaterialStateProperty? fixedSize; + final WidgetStateProperty? fixedSize; /// The maximum size of the menu itself. /// @@ -164,23 +164,23 @@ class MenuStyle with Diagnosticable { /// maximum size is not constrained. /// /// This value must be greater than or equal to [minimumSize]. - final MaterialStateProperty? maximumSize; + final WidgetStateProperty? maximumSize; /// The color and weight of the menu's outline. /// /// This value is combined with [shape] to create a shape decorated with an /// outline. - final MaterialStateProperty? side; + final WidgetStateProperty? side; /// The shape of the menu's underlying [Material]. /// /// This shape is combined with [side] to create a shape decorated with an /// outline. - final MaterialStateProperty? shape; + final WidgetStateProperty? shape; /// The cursor for a mouse pointer when it enters or is hovering over this /// menu's [InkWell]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// Defines how compact the menu's layout will be. /// @@ -250,17 +250,17 @@ class MenuStyle with Diagnosticable { /// Returns a copy of this MenuStyle with the given fields replaced with /// the new values. MenuStyle copyWith({ - MaterialStateProperty? backgroundColor, - MaterialStateProperty? shadowColor, - MaterialStateProperty? surfaceTintColor, - MaterialStateProperty? elevation, - MaterialStateProperty? padding, - MaterialStateProperty? minimumSize, - MaterialStateProperty? fixedSize, - MaterialStateProperty? maximumSize, - MaterialStateProperty? side, - MaterialStateProperty? shape, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? backgroundColor, + WidgetStateProperty? shadowColor, + WidgetStateProperty? surfaceTintColor, + WidgetStateProperty? elevation, + WidgetStateProperty? padding, + WidgetStateProperty? minimumSize, + WidgetStateProperty? fixedSize, + WidgetStateProperty? maximumSize, + WidgetStateProperty? side, + WidgetStateProperty? shape, + WidgetStateProperty? mouseCursor, VisualDensity? visualDensity, AlignmentGeometry? alignment, }) { @@ -313,41 +313,31 @@ class MenuStyle with Diagnosticable { return a; } return MenuStyle( - backgroundColor: MaterialStateProperty.lerp( + backgroundColor: WidgetStateProperty.lerp( a?.backgroundColor, b?.backgroundColor, t, Color.lerp, ), - shadowColor: MaterialStateProperty.lerp( - a?.shadowColor, - b?.shadowColor, - t, - Color.lerp, - ), - surfaceTintColor: MaterialStateProperty.lerp( + shadowColor: WidgetStateProperty.lerp(a?.shadowColor, b?.shadowColor, t, Color.lerp), + surfaceTintColor: WidgetStateProperty.lerp( a?.surfaceTintColor, b?.surfaceTintColor, t, Color.lerp, ), - elevation: MaterialStateProperty.lerp(a?.elevation, b?.elevation, t, lerpDouble), - padding: MaterialStateProperty.lerp( + elevation: WidgetStateProperty.lerp(a?.elevation, b?.elevation, t, lerpDouble), + padding: WidgetStateProperty.lerp( a?.padding, b?.padding, t, EdgeInsetsGeometry.lerp, ), - minimumSize: MaterialStateProperty.lerp(a?.minimumSize, b?.minimumSize, t, Size.lerp), - fixedSize: MaterialStateProperty.lerp(a?.fixedSize, b?.fixedSize, t, Size.lerp), - maximumSize: MaterialStateProperty.lerp(a?.maximumSize, b?.maximumSize, t, Size.lerp), + minimumSize: WidgetStateProperty.lerp(a?.minimumSize, b?.minimumSize, t, Size.lerp), + fixedSize: WidgetStateProperty.lerp(a?.fixedSize, b?.fixedSize, t, Size.lerp), + maximumSize: WidgetStateProperty.lerp(a?.maximumSize, b?.maximumSize, t, Size.lerp), side: MaterialStateBorderSide.lerp(a?.side, b?.side, t), - shape: MaterialStateProperty.lerp( - a?.shape, - b?.shape, - t, - OutlinedBorder.lerp, - ), + shape: WidgetStateProperty.lerp(a?.shape, b?.shape, t, OutlinedBorder.lerp), mouseCursor: t < 0.5 ? a?.mouseCursor : b?.mouseCursor, visualDensity: t < 0.5 ? a?.visualDensity : b?.visualDensity, alignment: AlignmentGeometry.lerp(a?.alignment, b?.alignment, t), @@ -358,69 +348,61 @@ class MenuStyle with Diagnosticable { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'backgroundColor', backgroundColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'shadowColor', shadowColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'surfaceTintColor', surfaceTintColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( - 'elevation', - elevation, - defaultValue: null, - ), + DiagnosticsProperty>('elevation', elevation, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'padding', padding, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'minimumSize', minimumSize, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>('fixedSize', fixedSize, defaultValue: null), + DiagnosticsProperty>('fixedSize', fixedSize, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'maximumSize', maximumSize, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>('side', side, defaultValue: null), + DiagnosticsProperty>('side', side, defaultValue: null), ); properties.add( - DiagnosticsProperty>( - 'shape', - shape, - defaultValue: null, - ), + DiagnosticsProperty>('shape', shape, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: null, diff --git a/packages/flutter/lib/src/material/menu_theme.dart b/packages/flutter/lib/src/material/menu_theme.dart index 738004e077e78..427433c8b5ded 100644 --- a/packages/flutter/lib/src/material/menu_theme.dart +++ b/packages/flutter/lib/src/material/menu_theme.dart @@ -8,7 +8,6 @@ library; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'menu_anchor.dart'; import 'menu_style.dart'; import 'theme.dart'; @@ -52,7 +51,7 @@ class MenuThemeData with Diagnosticable { /// * [WidgetState.disabled]. /// * [WidgetState.hovered]. /// * [WidgetState.focused]. - final MaterialStateProperty? submenuIcon; + final WidgetStateProperty? submenuIcon; /// Linearly interpolate between two menu button themes. static MenuThemeData? lerp(MenuThemeData? a, MenuThemeData? b, double t) { @@ -84,7 +83,7 @@ class MenuThemeData with Diagnosticable { super.debugFillProperties(properties); properties.add(DiagnosticsProperty('style', style, defaultValue: null)); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'submenuIcon', submenuIcon, defaultValue: null, diff --git a/packages/flutter/lib/src/material/navigation_bar.dart b/packages/flutter/lib/src/material/navigation_bar.dart index 0d2e067b428e5..213b0888cface 100644 --- a/packages/flutter/lib/src/material/navigation_bar.dart +++ b/packages/flutter/lib/src/material/navigation_bar.dart @@ -228,7 +228,7 @@ class NavigationBar extends StatelessWidget { /// The highlight color that's typically used to indicate that /// the [NavigationDestination] is focused, hovered, or pressed. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; //// The text style of the label. /// @@ -241,7 +241,7 @@ class NavigationBar extends StatelessWidget { /// /// If [ThemeData.useMaterial3] is false, then the default text style is /// [TextTheme.labelSmall] with [ColorScheme.onSurface]. - final MaterialStateProperty? labelTextStyle; + final WidgetStateProperty? labelTextStyle; /// The padding around the [NavigationDestination.label] widget. /// @@ -423,9 +423,9 @@ class NavigationDestination extends StatelessWidget { @override Widget build(BuildContext context) { final _NavigationDestinationInfo info = _NavigationDestinationInfo.of(context); - const Set selectedState = {MaterialState.selected}; - const Set unselectedState = {}; - const Set disabledState = {MaterialState.disabled}; + const Set selectedState = {WidgetState.selected}; + const Set unselectedState = {}; + const Set disabledState = {WidgetState.disabled}; final NavigationBarThemeData navigationBarTheme = NavigationBarTheme.of(context); final NavigationBarThemeData defaults = _defaultsFor(context); @@ -732,7 +732,7 @@ class _NavigationDestinationInfo extends InheritedWidget { /// the [NavigationDestination] is focused, hovered, or pressed. /// /// This is used by destinations to override the overlay color. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// The callback that should be called when this destination is tapped. /// @@ -741,7 +741,7 @@ class _NavigationDestinationInfo extends InheritedWidget { final VoidCallback onTap; /// The text style of the label. - final MaterialStateProperty? labelTextStyle; + final WidgetStateProperty? labelTextStyle; /// The padding around the label. /// @@ -1402,7 +1402,7 @@ class _NavigationBarDefaultsM2 extends NavigationBarThemeData { ElevationOverlay.colorWithOverlay(_colors.surface, _colors.onSurface, 3.0); @override - MaterialStateProperty? get iconTheme { + WidgetStateProperty? get iconTheme { return MaterialStatePropertyAll( IconThemeData(size: 24, color: _colors.onSurface), ); @@ -1412,7 +1412,7 @@ class _NavigationBarDefaultsM2 extends NavigationBarThemeData { Color? get indicatorColor => _colors.secondary.withOpacity(0.24); @override - MaterialStateProperty? get labelTextStyle => MaterialStatePropertyAll( + WidgetStateProperty? get labelTextStyle => MaterialStatePropertyAll( _theme.textTheme.labelSmall!.copyWith(color: _colors.onSurface), ); @@ -1450,13 +1450,13 @@ class _NavigationBarDefaultsM3 extends NavigationBarThemeData { Color? get surfaceTintColor => Colors.transparent; @override - MaterialStateProperty? get iconTheme { - return MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty? get iconTheme { + return WidgetStateProperty.resolveWith((Set states) { return IconThemeData( size: 24.0, - color: states.contains(MaterialState.disabled) + color: states.contains(WidgetState.disabled) ? _colors.onSurfaceVariant.withOpacity(0.38) - : states.contains(MaterialState.selected) + : states.contains(WidgetState.selected) ? _colors.onSecondaryContainer : _colors.onSurfaceVariant, ); @@ -1470,13 +1470,13 @@ class _NavigationBarDefaultsM3 extends NavigationBarThemeData { ShapeBorder? get indicatorShape => const StadiumBorder(); @override - MaterialStateProperty? get labelTextStyle { - return MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty? get labelTextStyle { + return WidgetStateProperty.resolveWith((Set states) { final TextStyle style = _textTheme.labelMedium!; return style.apply( - color: states.contains(MaterialState.disabled) + color: states.contains(WidgetState.disabled) ? _colors.onSurfaceVariant.withOpacity(0.38) - : states.contains(MaterialState.selected) + : states.contains(WidgetState.selected) ? _colors.onSurface : _colors.onSurfaceVariant ); diff --git a/packages/flutter/lib/src/material/navigation_bar_theme.dart b/packages/flutter/lib/src/material/navigation_bar_theme.dart index 83bbbd9133c9e..284a0aa1da7e9 100644 --- a/packages/flutter/lib/src/material/navigation_bar_theme.dart +++ b/packages/flutter/lib/src/material/navigation_bar_theme.dart @@ -8,7 +8,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'navigation_bar.dart'; import 'theme.dart'; @@ -80,20 +79,20 @@ class NavigationBarThemeData with Diagnosticable { /// [NavigationDestination] labels. /// /// You can use this to specify a different style when the label is selected. - final MaterialStateProperty? labelTextStyle; + final WidgetStateProperty? labelTextStyle; /// The theme to merge with the default icon theme for /// [NavigationDestination] icons. /// /// You can use this to specify a different icon theme when the icon is /// selected. - final MaterialStateProperty? iconTheme; + final WidgetStateProperty? iconTheme; /// Overrides the default value of [NavigationBar.labelBehavior]. final NavigationDestinationLabelBehavior? labelBehavior; /// Overrides the default value of [NavigationBar.overlayColor]. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// Overrides the default value of [NavigationBar.labelPadding]. final EdgeInsetsGeometry? labelPadding; @@ -108,10 +107,10 @@ class NavigationBarThemeData with Diagnosticable { Color? surfaceTintColor, Color? indicatorColor, ShapeBorder? indicatorShape, - MaterialStateProperty? labelTextStyle, - MaterialStateProperty? iconTheme, + WidgetStateProperty? labelTextStyle, + WidgetStateProperty? iconTheme, NavigationDestinationLabelBehavior? labelBehavior, - MaterialStateProperty? overlayColor, + WidgetStateProperty? overlayColor, EdgeInsetsGeometry? labelPadding, }) { return NavigationBarThemeData( @@ -151,20 +150,20 @@ class NavigationBarThemeData with Diagnosticable { surfaceTintColor: Color.lerp(a?.surfaceTintColor, b?.surfaceTintColor, t), indicatorColor: Color.lerp(a?.indicatorColor, b?.indicatorColor, t), indicatorShape: ShapeBorder.lerp(a?.indicatorShape, b?.indicatorShape, t), - labelTextStyle: MaterialStateProperty.lerp( + labelTextStyle: WidgetStateProperty.lerp( a?.labelTextStyle, b?.labelTextStyle, t, TextStyle.lerp, ), - iconTheme: MaterialStateProperty.lerp( + iconTheme: WidgetStateProperty.lerp( a?.iconTheme, b?.iconTheme, t, IconThemeData.lerp, ), labelBehavior: t < 0.5 ? a?.labelBehavior : b?.labelBehavior, - overlayColor: MaterialStateProperty.lerp( + overlayColor: WidgetStateProperty.lerp( a?.overlayColor, b?.overlayColor, t, @@ -226,14 +225,14 @@ class NavigationBarThemeData with Diagnosticable { DiagnosticsProperty('indicatorShape', indicatorShape, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'labelTextStyle', labelTextStyle, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'iconTheme', iconTheme, defaultValue: null, @@ -247,7 +246,7 @@ class NavigationBarThemeData with Diagnosticable { ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'overlayColor', overlayColor, defaultValue: null, diff --git a/packages/flutter/lib/src/material/navigation_drawer.dart b/packages/flutter/lib/src/material/navigation_drawer.dart index 433a6b7984485..f4c6285acc9aa 100644 --- a/packages/flutter/lib/src/material/navigation_drawer.dart +++ b/packages/flutter/lib/src/material/navigation_drawer.dart @@ -14,7 +14,6 @@ import 'ink_decoration.dart'; import 'ink_well.dart'; import 'material.dart'; import 'material_localizations.dart'; -import 'material_state.dart'; import 'navigation_bar.dart'; import 'navigation_drawer_theme.dart'; import 'text_theme.dart'; @@ -257,9 +256,9 @@ class NavigationDrawerDestination extends StatelessWidget { @override Widget build(BuildContext context) { - const Set selectedState = {MaterialState.selected}; - const Set unselectedState = {}; - const Set disabledState = {MaterialState.disabled}; + const Set selectedState = {WidgetState.selected}; + const Set unselectedState = {}; + const Set disabledState = {WidgetState.disabled}; final NavigationDrawerThemeData navigationDrawerTheme = NavigationDrawerTheme.of(context); final NavigationDrawerThemeData defaults = _NavigationDrawerDefaultsM3(context); @@ -745,13 +744,13 @@ class _NavigationDrawerDefaultsM3 extends NavigationDrawerThemeData { Color? get indicatorColor => _colors.secondaryContainer; @override - MaterialStateProperty? get iconTheme { - return MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty? get iconTheme { + return WidgetStateProperty.resolveWith((Set states) { return IconThemeData( size: 24.0, - color: states.contains(MaterialState.disabled) + color: states.contains(WidgetState.disabled) ? _colors.onSurfaceVariant.withOpacity(0.38) - : states.contains(MaterialState.selected) + : states.contains(WidgetState.selected) ? _colors.onSecondaryContainer : _colors.onSurfaceVariant, ); @@ -759,13 +758,13 @@ class _NavigationDrawerDefaultsM3 extends NavigationDrawerThemeData { } @override - MaterialStateProperty? get labelTextStyle { - return MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty? get labelTextStyle { + return WidgetStateProperty.resolveWith((Set states) { final TextStyle style = _textTheme.labelLarge!; return style.apply( - color: states.contains(MaterialState.disabled) + color: states.contains(WidgetState.disabled) ? _colors.onSurfaceVariant.withOpacity(0.38) - : states.contains(MaterialState.selected) + : states.contains(WidgetState.selected) ? _colors.onSecondaryContainer : _colors.onSurfaceVariant, ); diff --git a/packages/flutter/lib/src/material/navigation_drawer_theme.dart b/packages/flutter/lib/src/material/navigation_drawer_theme.dart index e7daa5a90f658..f26196b329892 100644 --- a/packages/flutter/lib/src/material/navigation_drawer_theme.dart +++ b/packages/flutter/lib/src/material/navigation_drawer_theme.dart @@ -11,7 +11,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'navigation_drawer.dart'; import 'theme.dart'; @@ -84,14 +83,14 @@ class NavigationDrawerThemeData with Diagnosticable { /// [NavigationDestination] labels. /// /// You can use this to specify a different style when the label is selected. - final MaterialStateProperty? labelTextStyle; + final WidgetStateProperty? labelTextStyle; /// The theme to merge with the default icon theme for /// [NavigationDestination] icons. /// /// You can use this to specify a different icon theme when the icon is /// selected. - final MaterialStateProperty? iconTheme; + final WidgetStateProperty? iconTheme; /// Creates a copy of this object with the given fields replaced with the /// new values. @@ -104,8 +103,8 @@ class NavigationDrawerThemeData with Diagnosticable { Color? indicatorColor, ShapeBorder? indicatorShape, Size? indicatorSize, - MaterialStateProperty? labelTextStyle, - MaterialStateProperty? iconTheme, + WidgetStateProperty? labelTextStyle, + WidgetStateProperty? iconTheme, }) { return NavigationDrawerThemeData( tileHeight: tileHeight ?? this.tileHeight, @@ -143,13 +142,13 @@ class NavigationDrawerThemeData with Diagnosticable { indicatorColor: Color.lerp(a?.indicatorColor, b?.indicatorColor, t), indicatorShape: ShapeBorder.lerp(a?.indicatorShape, b?.indicatorShape, t), indicatorSize: Size.lerp(a?.indicatorSize, a?.indicatorSize, t), - labelTextStyle: MaterialStateProperty.lerp( + labelTextStyle: WidgetStateProperty.lerp( a?.labelTextStyle, b?.labelTextStyle, t, TextStyle.lerp, ), - iconTheme: MaterialStateProperty.lerp( + iconTheme: WidgetStateProperty.lerp( a?.iconTheme, b?.iconTheme, t, @@ -207,14 +206,14 @@ class NavigationDrawerThemeData with Diagnosticable { ); properties.add(DiagnosticsProperty('indicatorSize', indicatorSize, defaultValue: null)); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'labelTextStyle', labelTextStyle, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'iconTheme', iconTheme, defaultValue: null, diff --git a/packages/flutter/lib/src/material/navigation_rail.dart b/packages/flutter/lib/src/material/navigation_rail.dart index 99189ad6f3db5..353fabfe5b323 100644 --- a/packages/flutter/lib/src/material/navigation_rail.dart +++ b/packages/flutter/lib/src/material/navigation_rail.dart @@ -45,7 +45,7 @@ const double _kIndicatorHeight = 32; /// Adaptive layouts can build different instances of the [Scaffold] in order to /// have a navigation rail for more horizontal layouts and a bottom navigation /// bar for more vertical layouts. See -/// [the adaptive_scaffold.dart sample](https://github.com/flutter/samples/blob/main/experimental/web_dashboard/lib/src/widgets/third_party/adaptive_scaffold.dart) +/// [the adaptive_scaffold.dart sample](https://github.com/flutter/demos/blob/main/web_dashboard/lib/src/widgets/third_party/adaptive_scaffold.dart) /// for an example. /// /// {@tool dartpad} @@ -524,28 +524,31 @@ class _NavigationRailState extends State with TickerProviderStat mainGroup = SingleChildScrollView(child: mainGroup); } - return _ExtendedNavigationRailAnimation( - animation: _extendedAnimation, - child: Semantics( - explicitChildNodes: true, - child: Material( - elevation: elevation, - color: backgroundColor, - child: SafeArea( - right: isRTLDirection, - left: !isRTLDirection, - child: Column( - children: [ - _verticalSpacer, - if (widget.leadingAtTop && widget.leading != null) ...[ - widget.leading!, + return Semantics( + container: true, + child: _ExtendedNavigationRailAnimation( + animation: _extendedAnimation, + child: Semantics( + explicitChildNodes: true, + child: Material( + elevation: elevation, + color: backgroundColor, + child: SafeArea( + right: isRTLDirection, + left: !isRTLDirection, + child: Column( + children: [ _verticalSpacer, + if (widget.leadingAtTop && widget.leading != null) ...[ + widget.leading!, + _verticalSpacer, + ], + Flexible( + child: Align(alignment: Alignment(0, groupAlignment), child: mainGroup), + ), + if (widget.trailingAtBottom && widget.trailing != null) widget.trailing!, ], - Flexible( - child: Align(alignment: Alignment(0, groupAlignment), child: mainGroup), - ), - if (widget.trailingAtBottom && widget.trailing != null) widget.trailing!, - ], + ), ), ), ), diff --git a/packages/flutter/lib/src/material/outlined_button.dart b/packages/flutter/lib/src/material/outlined_button.dart index d1fadd02f594e..514e921577e8b 100644 --- a/packages/flutter/lib/src/material/outlined_button.dart +++ b/packages/flutter/lib/src/material/outlined_button.dart @@ -221,17 +221,14 @@ class OutlinedButton extends ButtonStyleButton { ButtonLayerBuilder? backgroundBuilder, ButtonLayerBuilder? foregroundBuilder, }) { - final MaterialStateProperty? backgroundColorProp = switch (( + final WidgetStateProperty? backgroundColorProp = switch (( backgroundColor, disabledBackgroundColor, )) { (_?, null) => WidgetStatePropertyAll(backgroundColor), (_, _) => ButtonStyleButton.defaultColor(backgroundColor, disabledBackgroundColor), }; - final MaterialStateProperty? overlayColorProp = switch (( - foregroundColor, - overlayColor, - )) { + final WidgetStateProperty? overlayColorProp = switch ((foregroundColor, overlayColor)) { (null, null) => null, (_, Color(a: 0.0)) => WidgetStatePropertyAll(overlayColor), (_, final Color color) || @@ -453,7 +450,7 @@ class _OutlinedButtonWithIcon extends OutlinedButton { } final ButtonStyle buttonStyle = super.defaultStyleOf(context); final double defaultFontSize = - buttonStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; + buttonStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; final double effectiveTextScale = MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0; final EdgeInsetsGeometry scaledPadding = ButtonStyleButton.scaledPadding( @@ -484,7 +481,7 @@ class _OutlinedButtonWithIconChild extends StatelessWidget { @override Widget build(BuildContext context) { final double defaultFontSize = - buttonStyle?.textStyle?.resolve(const {})?.fontSize ?? 14.0; + buttonStyle?.textStyle?.resolve(const {})?.fontSize ?? 14.0; final double scale = clampDouble(MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0, 1.0, 2.0) - 1.0; @@ -524,76 +521,76 @@ class _OutlinedButtonDefaultsM3 extends ButtonStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get textStyle => + WidgetStateProperty get textStyle => MaterialStatePropertyAll(Theme.of(context).textTheme.labelLarge); @override - MaterialStateProperty? get backgroundColor => + WidgetStateProperty? get backgroundColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } return _colors.primary; }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } return null; }); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(0.0); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => MaterialStatePropertyAll(_scaledPadding(context)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(64.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(18.0); @override - MaterialStateProperty? get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary; } return _colors.primary; @@ -601,29 +598,29 @@ class _OutlinedButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); @override - MaterialStateProperty? get side => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get side => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return BorderSide(color: _colors.onSurface.withOpacity(0.12)); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return BorderSide(color: _colors.primary); } return BorderSide(color: _colors.outline); }); @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; diff --git a/packages/flutter/lib/src/material/page_transitions_theme.dart b/packages/flutter/lib/src/material/page_transitions_theme.dart index 13cd48b1b2827..3db393d31c637 100644 --- a/packages/flutter/lib/src/material/page_transitions_theme.dart +++ b/packages/flutter/lib/src/material/page_transitions_theme.dart @@ -15,7 +15,9 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; +import 'color_scheme.dart'; import 'colors.dart'; +import 'predictive_back_page_transitions_builder.dart'; import 'theme.dart'; // Slides the page upwards and fades it in, starting from 1/4 screen @@ -594,61 +596,6 @@ class _FadeForwardsPageTransition extends StatelessWidget { } } -/// Used by [PageTransitionsTheme] to define a [MaterialPageRoute] page -/// transition animation. -/// -/// Apps can configure the map of builders for [ThemeData.pageTransitionsTheme] -/// to customize the default [MaterialPageRoute] page transition animation -/// for different platforms. -/// -/// See also: -/// -/// * [FadeUpwardsPageTransitionsBuilder], which defines a page transition -/// that's similar to the one provided by Android O. -/// * [OpenUpwardsPageTransitionsBuilder], which defines a page transition -/// that's similar to the one provided by Android P. -/// * [ZoomPageTransitionsBuilder], which defines the default page transition -/// that's similar to the one provided in Android Q. -/// * [CupertinoPageTransitionsBuilder], which defines a horizontal page -/// transition that matches native iOS page transitions. -/// * [FadeForwardsPageTransitionsBuilder], which defines a page transition -/// that's similar to the one provided by Android U. -abstract class PageTransitionsBuilder { - /// Abstract const constructor. This constructor enables subclasses to provide - /// const constructors so that they can be used in const expressions. - const PageTransitionsBuilder(); - - /// Provides a secondary transition to the previous route. - /// - /// {@macro flutter.widgets.delegatedTransition} - DelegatedTransitionBuilder? get delegatedTransition => null; - - /// {@macro flutter.widgets.TransitionRoute.transitionDuration} - /// - /// Defaults to 300 milliseconds. - Duration get transitionDuration => const Duration(milliseconds: 300); - - /// {@macro flutter.widgets.TransitionRoute.reverseTransitionDuration} - /// - /// Defaults to 300 milliseconds. - Duration get reverseTransitionDuration => transitionDuration; - - /// Wraps the child with one or more transition widgets which define how [route] - /// arrives on and leaves the screen. - /// - /// The [MaterialPageRoute.buildTransitions] method looks up the - /// current [PageTransitionsTheme] with `Theme.of(context).pageTransitionsTheme` - /// and delegates to this method with a [PageTransitionsBuilder] based - /// on the theme's [ThemeData.platform]. - Widget buildTransitions( - PageRoute route, - BuildContext context, - Animation animation, - Animation secondaryAnimation, - Widget child, - ); -} - /// Used by [PageTransitionsTheme] to define a vertically fading /// [MaterialPageRoute] page transition animation that looks like /// the default page transition used on Android O. @@ -758,7 +705,12 @@ class FadeForwardsPageTransitionsBuilder extends PageTransitionsBuilder { final Color? backgroundColor; /// The value of [transitionDuration] in milliseconds. - static const int kTransitionMilliseconds = 800; + /// + /// Eyeballed on a physical Pixel 9 running Android 16. This does not match + /// the actual value used by native Android, which is 800ms, because native + /// Android is using Material 3 Expressive springs that are not currently + /// supported by Flutter. So for now at least, this is an approximation. + static const int kTransitionMilliseconds = 450; @override Duration get transitionDuration => const Duration(milliseconds: kTransitionMilliseconds); @@ -805,38 +757,43 @@ class FadeForwardsPageTransitionsBuilder extends PageTransitionsBuilder { Animation secondaryAnimation, Color? backgroundColor, Widget? child, - ) => DualTransitionBuilder( - animation: ReverseAnimation(secondaryAnimation), - forwardBuilder: (BuildContext context, Animation animation, Widget? child) { - return ColoredBox( - color: animation.isAnimating - ? backgroundColor ?? Theme.of(context).colorScheme.surface - : Colors.transparent, - child: FadeTransition( + ) { + final Widget builder = DualTransitionBuilder( + animation: ReverseAnimation(secondaryAnimation), + forwardBuilder: (BuildContext context, Animation animation, Widget? child) { + return FadeTransition( opacity: _fadeInTransition.animate(animation), child: SlideTransition( position: _secondaryForwardTranslationTween.animate(animation), child: child, ), - ), - ); - }, - reverseBuilder: (BuildContext context, Animation animation, Widget? child) { - return ColoredBox( - color: animation.isAnimating - ? backgroundColor ?? Theme.of(context).colorScheme.surface - : Colors.transparent, - child: FadeTransition( + ); + }, + reverseBuilder: (BuildContext context, Animation animation, Widget? child) { + return FadeTransition( opacity: _fadeOutTransition.animate(animation), child: SlideTransition( position: _secondaryBackwardTranslationTween.animate(animation), child: child, ), - ), - ); - }, - child: child, - ); + ); + }, + child: child, + ); + + final bool isOpaque = ModalRoute.opaqueOf(context) ?? true; + + if (!isOpaque) { + return builder; + } + + return ColoredBox( + color: secondaryAnimation.isAnimating + ? backgroundColor ?? ColorScheme.of(context).surface + : Colors.transparent, + child: builder, + ); + } @override Widget buildTransitions( @@ -1091,7 +1048,7 @@ class PageTransitionsTheme with Diagnosticable { static const Map _defaultBuilders = { - TargetPlatform.android: ZoomPageTransitionsBuilder(), + TargetPlatform.android: PredictiveBackPageTransitionsBuilder(), TargetPlatform.iOS: CupertinoPageTransitionsBuilder(), TargetPlatform.macOS: CupertinoPageTransitionsBuilder(), TargetPlatform.windows: ZoomPageTransitionsBuilder(), diff --git a/packages/flutter/lib/src/material/paginated_data_table.dart b/packages/flutter/lib/src/material/paginated_data_table.dart index cd2466414ff94..043eb141e8dd4 100644 --- a/packages/flutter/lib/src/material/paginated_data_table.dart +++ b/packages/flutter/lib/src/material/paginated_data_table.dart @@ -22,7 +22,6 @@ import 'icon_button.dart'; import 'icons.dart'; import 'ink_decoration.dart'; import 'material_localizations.dart'; -import 'material_state.dart'; import 'progress_indicator.dart'; import 'theme.dart'; @@ -320,7 +319,7 @@ class PaginatedDataTable extends StatefulWidget { final bool? primary; /// {@macro flutter.material.dataTable.headingRowColor} - final MaterialStateProperty? headingRowColor; + final WidgetStateProperty? headingRowColor; /// Controls the visibility of empty rows on the last page of a /// [PaginatedDataTable]. diff --git a/packages/flutter/lib/src/material/popup_menu.dart b/packages/flutter/lib/src/material/popup_menu.dart index f6b2c3e7282a5..be8540877270f 100644 --- a/packages/flutter/lib/src/material/popup_menu.dart +++ b/packages/flutter/lib/src/material/popup_menu.dart @@ -331,7 +331,7 @@ class PopupMenuItem extends PopupMenuEntry { /// If [PopupMenuThemeData.labelTextStyle] is also null, then [TextTheme.labelLarge] /// is used with the [ColorScheme.onSurface] color when popup menu item is enabled and /// the [ColorScheme.onSurface] color with 0.38 opacity when the popup menu item is disabled. - final MaterialStateProperty? labelTextStyle; + final WidgetStateProperty? labelTextStyle; /// {@template flutter.material.popupmenu.mouseCursor} /// The cursor for a mouse pointer when it enters or is hovering over the @@ -412,7 +412,7 @@ class PopupMenuItemState> extends State { final PopupMenuThemeData defaults = theme.useMaterial3 ? _PopupMenuDefaultsM3(context) : _PopupMenuDefaultsM2(context); - final Set states = {if (!widget.enabled) MaterialState.disabled}; + final Set states = {if (!widget.enabled) WidgetState.disabled}; TextStyle style = theme.useMaterial3 ? (widget.labelTextStyle?.resolve(states) ?? @@ -641,8 +641,8 @@ class _CheckedPopupMenuItemState extends PopupMenuItemState states = {if (widget.checked) MaterialState.selected}; - final MaterialStateProperty? effectiveLabelTextStyle = + final Set states = {if (widget.checked) WidgetState.selected}; + final WidgetStateProperty? effectiveLabelTextStyle = widget.labelTextStyle ?? popupMenuTheme.labelTextStyle ?? defaults.labelTextStyle; return IgnorePointer( child: ListTileTheme.merge( @@ -1794,18 +1794,18 @@ class PopupMenuButtonState extends State> { } } -// This MaterialStateProperty is passed along to the menu item's InkWell which -// resolves the property against MaterialState.disabled, MaterialState.hovered, -// MaterialState.focused. +// This WidgetStateProperty is passed along to the menu item's InkWell which +// resolves the property against WidgetState.disabled, WidgetState.hovered, +// WidgetState.focused. class _EffectiveMouseCursor extends MaterialStateMouseCursor { const _EffectiveMouseCursor(this.widgetCursor, this.themeCursor); final MouseCursor? widgetCursor; - final MaterialStateProperty? themeCursor; + final WidgetStateProperty? themeCursor; @override - MouseCursor resolve(Set states) { - return MaterialStateProperty.resolveAs(widgetCursor, states) ?? + MouseCursor resolve(Set states) { + return WidgetStateProperty.resolveAs(widgetCursor, states) ?? themeCursor?.resolve(states) ?? MaterialStateMouseCursor.clickable.resolve(states); } @@ -1847,11 +1847,11 @@ class _PopupMenuDefaultsM3 extends PopupMenuThemeData { late final ColorScheme _colors = _theme.colorScheme; late final TextTheme _textTheme = _theme.textTheme; - @override MaterialStateProperty? get labelTextStyle { - return MaterialStateProperty.resolveWith((Set states) { + @override WidgetStateProperty? get labelTextStyle { + return WidgetStateProperty.resolveWith((Set states) { // TODO(quncheng): Update this hard-coded value to use the latest tokens. final TextStyle style = _textTheme.labelLarge!; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return style.apply(color: _colors.onSurface.withOpacity(0.38)); } return style.apply(color: _colors.onSurface); diff --git a/packages/flutter/lib/src/material/popup_menu_theme.dart b/packages/flutter/lib/src/material/popup_menu_theme.dart index 75051dcfbdbbe..bdf23e1928e8e 100644 --- a/packages/flutter/lib/src/material/popup_menu_theme.dart +++ b/packages/flutter/lib/src/material/popup_menu_theme.dart @@ -10,7 +10,6 @@ import 'dart:ui' show lerpDouble; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'theme.dart'; // Examples can assume: @@ -88,7 +87,7 @@ class PopupMenuThemeData with Diagnosticable { /// You can use this to specify a different style of the label /// when the popup menu item is enabled and disabled. - final MaterialStateProperty? labelTextStyle; + final WidgetStateProperty? labelTextStyle; /// If specified, defines the feedback property for [PopupMenuButton]. /// @@ -98,7 +97,7 @@ class PopupMenuThemeData with Diagnosticable { /// {@macro flutter.material.popupmenu.mouseCursor} /// /// If specified, overrides the default value of [PopupMenuItem.mouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// Whether the popup menu is positioned over or under the popup menu button. /// @@ -122,9 +121,9 @@ class PopupMenuThemeData with Diagnosticable { Color? shadowColor, Color? surfaceTintColor, TextStyle? textStyle, - MaterialStateProperty? labelTextStyle, + WidgetStateProperty? labelTextStyle, bool? enableFeedback, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, PopupMenuPosition? position, Color? iconColor, double? iconSize, @@ -163,7 +162,7 @@ class PopupMenuThemeData with Diagnosticable { shadowColor: Color.lerp(a?.shadowColor, b?.shadowColor, t), surfaceTintColor: Color.lerp(a?.surfaceTintColor, b?.surfaceTintColor, t), textStyle: TextStyle.lerp(a?.textStyle, b?.textStyle, t), - labelTextStyle: MaterialStateProperty.lerp( + labelTextStyle: WidgetStateProperty.lerp( a?.labelTextStyle, b?.labelTextStyle, t, @@ -231,7 +230,7 @@ class PopupMenuThemeData with Diagnosticable { properties.add(ColorProperty('surfaceTintColor', surfaceTintColor, defaultValue: null)); properties.add(DiagnosticsProperty('text style', textStyle, defaultValue: null)); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'labelTextStyle', labelTextStyle, defaultValue: null, @@ -239,7 +238,7 @@ class PopupMenuThemeData with Diagnosticable { ); properties.add(DiagnosticsProperty('enableFeedback', enableFeedback, defaultValue: null)); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: null, diff --git a/packages/flutter/lib/src/material/predictive_back_page_transitions_builder.dart b/packages/flutter/lib/src/material/predictive_back_page_transitions_builder.dart index 14d8be11098aa..df97c6c49cdb5 100644 --- a/packages/flutter/lib/src/material/predictive_back_page_transitions_builder.dart +++ b/packages/flutter/lib/src/material/predictive_back_page_transitions_builder.dart @@ -100,7 +100,7 @@ class PredictiveBackPageTransitionsBuilder extends PageTransitionsBuilder { /// /// Predictive back is only supported on Android U and above, and if this /// [PageTransitionsBuilder] is used by any other platform, it will fall back to -/// [FadeForwardsPageTransitionsBuilder]. +/// [ZoomPageTransitionsBuilder]. /// /// When used on Android U and above, animates along with the back gesture to /// reveal the destination route. Can be canceled by dragging back towards the diff --git a/packages/flutter/lib/src/material/progress_indicator.dart b/packages/flutter/lib/src/material/progress_indicator.dart index 4cc56f47b7d0d..b29452b8e7530 100644 --- a/packages/flutter/lib/src/material/progress_indicator.dart +++ b/packages/flutter/lib/src/material/progress_indicator.dart @@ -17,11 +17,25 @@ import 'material.dart'; import 'progress_indicator_theme.dart'; import 'theme.dart'; +// This value is extracted from +// https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/res/res/anim/progress_indeterminate_material.xml;drc=9cb5b4c2d93acb9d6f5e14167e265c328c487d6b const int _kIndeterminateLinearDuration = 1800; +// This value is extracted from +// https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/res/res/anim/progress_indeterminate_rotation_material.xml;drc=077b44912b879174cec48a25307f1c19b96c2a78 const int _kIndeterminateCircularDuration = 1333 * 2222; +// The progress value below which the track gap is scaled proportionally to +// prevent a track gap from appearing at 0% progress. +const double _kTrackGapRampDownThreshold = 0.01; + enum _ActivityIndicatorType { material, adaptive } +const String _kValueControllerAssertion = + 'A progress indicator cannot have both a value and a controller.\n' + 'The "value" property is for a determinate indicator with a specific progress, ' + 'while the "controller" is for controlling the animation of an indeterminate indicator.\n' + 'To resolve this, provide only one of the two properties.'; + /// A base class for Material Design progress indicators. /// /// This widget cannot be instantiated directly. For a linear progress @@ -183,87 +197,142 @@ class _LinearProgressIndicatorPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { - final double effectiveTrackGap = switch (value) { - null || 1.0 => 0.0, - _ => trackGap ?? 0.0, - }; + final double effectiveTrackGap = trackGap ?? 0.0; + + void drawLinearIndicator({ + required double startFraction, + required double endFraction, + required Color color, + }) { + if (endFraction - startFraction <= 0) { + return; + } - final Rect trackRect; - if (value != null && effectiveTrackGap > 0) { - trackRect = switch (textDirection) { - TextDirection.ltr => Rect.fromLTRB( - clampDouble(value!, 0.0, 1.0) * size.width + effectiveTrackGap, - 0, - size.width, - size.height, - ), - TextDirection.rtl => Rect.fromLTRB( - 0, - 0, - size.width - clampDouble(value!, 0.0, 1.0) * size.width - effectiveTrackGap, - size.height, - ), - }; - } else { - trackRect = Offset.zero & size; - } + final bool isLtr = textDirection == TextDirection.ltr; + final double left = (isLtr ? startFraction : 1 - endFraction) * size.width; + final double right = (isLtr ? endFraction : 1 - startFraction) * size.width; - // Draw the track. - final Paint trackPaint = Paint()..color = trackColor; - if (indicatorBorderRadius != null) { - final RRect trackRRect = indicatorBorderRadius!.resolve(textDirection).toRRect(trackRect); - canvas.drawRRect(trackRRect, trackPaint); - } else { - canvas.drawRect(trackRect, trackPaint); + final Rect rect = Rect.fromLTRB(left, 0, right, size.height); + final Paint paint = Paint()..color = color; + + if (indicatorBorderRadius != null) { + final RRect rrect = indicatorBorderRadius!.resolve(textDirection).toRRect(rect); + canvas.drawRRect(rrect, paint); + } else { + canvas.drawRect(rect, paint); + } } void drawStopIndicator() { - // Limit the stop indicator radius to the height of the indicator. - final double radius = math.min(stopIndicatorRadius!, size.height / 2); + // Limit the stop indicator to the height of the indicator. + final double maxRadius = size.height / 2; + final double radius = math.min(stopIndicatorRadius!, maxRadius); final Paint indicatorPaint = Paint()..color = stopIndicatorColor!; final Offset position = switch (textDirection) { - TextDirection.rtl => Offset(size.height / 2, size.height / 2), - TextDirection.ltr => Offset(size.width - size.height / 2, size.height / 2), + TextDirection.rtl => Offset(maxRadius, maxRadius), + TextDirection.ltr => Offset(size.width - maxRadius, maxRadius), }; canvas.drawCircle(position, radius, indicatorPaint); } - // Draw the stop indicator. - if (value != null && stopIndicatorRadius != null && stopIndicatorRadius! > 0) { - drawStopIndicator(); + // Calculates a track gap fraction that is scaled proportionally to a given + // value. + // This is used for a smooth transition of the track gap's size, preventing + // it from appearing or disappearing abruptly. The returned value increases + // linearly from 0 to the full `trackGapFraction` as `currentValue` + // increases from 0 to `_kTrackGapRampDownThreshold`. + double getEffectiveTrackGapFraction(double currentValue, double trackGapFraction) { + return trackGapFraction * + clampDouble(currentValue, 0, _kTrackGapRampDownThreshold) / + _kTrackGapRampDownThreshold; } - void drawActiveIndicator(double x, double width) { - if (width <= 0.0) { - return; + final double trackGapFraction = effectiveTrackGap / size.width; + final double? effectiveValue = value == null ? null : clampDouble(value!, 0.0, 1.0); + + // Determinate progress indicator. + if (effectiveValue != null) { + final double trackStartFraction = trackGapFraction > 0 + ? effectiveValue + getEffectiveTrackGapFraction(effectiveValue, trackGapFraction) + : 0; + + // Draw the track when there is still space. + if (trackStartFraction < 1) { + drawLinearIndicator(startFraction: trackStartFraction, endFraction: 1, color: trackColor); } - final Paint activeIndicatorPaint = Paint()..color = valueColor; - final double left = switch (textDirection) { - TextDirection.rtl => size.width - width - x, - TextDirection.ltr => x, - }; - final Rect activeRect = Offset(left, 0.0) & Size(width, size.height); - if (indicatorBorderRadius != null) { - final RRect activeRRect = indicatorBorderRadius!.resolve(textDirection).toRRect(activeRect); - canvas.drawRRect(activeRRect, activeIndicatorPaint); - } else { - canvas.drawRect(activeRect, activeIndicatorPaint); + // Draw the stop indicator. + if (stopIndicatorRadius != null && stopIndicatorRadius! > 0) { + drawStopIndicator(); + } + + // Draw the active indicator. + if (effectiveValue > 0) { + drawLinearIndicator(startFraction: 0, endFraction: effectiveValue, color: valueColor); } + + return; } - // Draw the active indicator. - if (value != null) { - drawActiveIndicator(0.0, clampDouble(value!, 0.0, 1.0) * size.width); - } else { - final double x1 = size.width * line1Tail.transform(animationValue); - final double width1 = size.width * line1Head.transform(animationValue) - x1; + // Indeterminate progress indicator. + // For LTR text direction the `head` is the right endpoint and the `tail` is + // the left endpoint. + final double firstLineHead = line1Head.transform(animationValue); + final double firstLineTail = line1Tail.transform(animationValue); + final double secondLineHead = line2Head.transform(animationValue); + final double secondLineTail = line2Tail.transform(animationValue); + + // Draw the track before line 1. Assuming text direction is LTR, this track + // appears on the right side of line 1. + if (firstLineHead < 1 - trackGapFraction) { + final double trackStartFraction = firstLineHead > 0 + ? firstLineHead + getEffectiveTrackGapFraction(firstLineHead, trackGapFraction) + : 0; + drawLinearIndicator(startFraction: trackStartFraction, endFraction: 1, color: trackColor); + } - final double x2 = size.width * line2Tail.transform(animationValue); - final double width2 = size.width * line2Head.transform(animationValue) - x2; + // Draw the line 1. + if (firstLineHead - firstLineTail > 0) { + drawLinearIndicator( + startFraction: firstLineTail, + endFraction: firstLineHead, + color: valueColor, + ); + } + + // Draw the track between line 1 and line 2. Assuming text direction is + // LTR, this track appears on the left side of line 1 and on the right side + // of line 2. + if (firstLineTail > trackGapFraction) { + final double trackStartFraction = secondLineHead > 0 + ? secondLineHead + getEffectiveTrackGapFraction(secondLineHead, trackGapFraction) + : 0; + final double trackEndFraction = firstLineTail < 1 + ? firstLineTail - getEffectiveTrackGapFraction(1 - firstLineTail, trackGapFraction) + : 1; + drawLinearIndicator( + startFraction: trackStartFraction, + endFraction: trackEndFraction, + color: trackColor, + ); + } + + // Draw the line 2. + if (secondLineHead - secondLineTail > 0) { + drawLinearIndicator( + startFraction: secondLineTail, + endFraction: secondLineHead, + color: valueColor, + ); + } - drawActiveIndicator(x1, width1); - drawActiveIndicator(x2, width2); + // Draw the track after line 2. Assuming text direction is LTR, this track + // appears on the left side of line 2. + if (secondLineTail > trackGapFraction) { + final double trackEndFraction = secondLineTail < 1 + ? secondLineTail - getEffectiveTrackGapFraction(1 - secondLineTail, trackGapFraction) + : 1; + drawLinearIndicator(startFraction: 0, endFraction: trackEndFraction, color: trackColor); } } @@ -319,6 +388,11 @@ class _LinearProgressIndicatorPainter extends CustomPainter { /// ** See code in examples/api/lib/material/progress_indicator/linear_progress_indicator.1.dart ** /// {@end-tool} /// +/// {@macro flutter.material.ProgressIndicator.AnimationSynchronization} +/// +/// See the documentation of [CircularProgressIndicator] for an example on this +/// topic. +/// /// See also: /// /// * [CircularProgressIndicator], which shows progress along a circular arc. @@ -348,7 +422,9 @@ class LinearProgressIndicator extends ProgressIndicator { 'This feature was deprecated after v3.26.0-0.1.pre.', ) this.year2023, - }) : assert(minHeight == null || minHeight > 0); + this.controller, + }) : assert(minHeight == null || minHeight > 0), + assert(value == null || controller == null, _kValueControllerAssertion); /// {@template flutter.material.LinearProgressIndicator.trackColor} /// Color of the track being filled by the linear indicator. @@ -381,7 +457,7 @@ class LinearProgressIndicator extends ProgressIndicator { /// The color of the stop indicator. /// - /// If [year2023] is false or [ThemeData.useMaterial3] is false, then no stop + /// If [year2023] is true or [ThemeData.useMaterial3] is false, then no stop /// indicator will be drawn. /// /// If null, then the [ProgressIndicatorThemeData.stopIndicatorColor] will be used. @@ -390,7 +466,7 @@ class LinearProgressIndicator extends ProgressIndicator { /// The radius of the stop indicator. /// - /// If [year2023] is false or [ThemeData.useMaterial3] is false, then no stop + /// If [year2023] is true or [ThemeData.useMaterial3] is false, then no stop /// indicator will be drawn. /// /// Set [stopIndicatorRadius] to 0 to hide the stop indicator. @@ -401,7 +477,7 @@ class LinearProgressIndicator extends ProgressIndicator { /// The gap between the indicator and the track. /// - /// If [year2023] is false or [ThemeData.useMaterial3] is false, then no track + /// If [year2023] is true or [ThemeData.useMaterial3] is false, then no track /// gap will be drawn. /// /// Set [trackGap] to 0 to hide the track gap. @@ -427,42 +503,81 @@ class LinearProgressIndicator extends ProgressIndicator { ) final bool? year2023; + /// {@template flutter.material.ProgressIndicator.controller} + /// An optional [AnimationController] that controls the animation of this + /// indeterminate progress indicator. + /// + /// This controller is only used when the indicator is indeterminate (i.e., + /// when [value] is null). If this property is non-null, [value] must be null. + /// + /// The controller's value is expected to be a linear progression from 0.0 to + /// 1.0, which represents one full cycle of the indeterminate animation. + /// + /// If this controller is null (and [value] is also null), the widget will + /// look for a [ProgressIndicatorThemeData.controller]. If that is also null, + /// the widget will create and manage its own internal [AnimationController] + /// to drive the default indeterminate animation. + /// {@endtemplate} + /// + /// See also: + /// + /// * [LinearProgressIndicator.defaultAnimationDuration], default duration + /// for one full cycle of the indeterminate animation. + final AnimationController? controller; + + /// The default duration for one full cycle of the indeterminate animation. + /// + /// This duration is used when the widget creates its own [AnimationController] + /// because no [controller] was provided, either directly or through a + /// [ProgressIndicatorTheme]. + static const Duration defaultAnimationDuration = Duration( + milliseconds: _kIndeterminateLinearDuration, + ); + @override State createState() => _LinearProgressIndicatorState(); } class _LinearProgressIndicatorState extends State with SingleTickerProviderStateMixin { - late AnimationController _controller; + late final AnimationController _internalController; @override void initState() { super.initState(); - _controller = AnimationController( - duration: const Duration(milliseconds: _kIndeterminateLinearDuration), + _internalController = AnimationController( + duration: LinearProgressIndicator.defaultAnimationDuration, vsync: this, ); - if (widget.value == null) { - _controller.repeat(); - } + _updateControllerAnimatingStatus(); } @override void didUpdateWidget(LinearProgressIndicator oldWidget) { super.didUpdateWidget(oldWidget); - if (widget.value == null && !_controller.isAnimating) { - _controller.repeat(); - } else if (widget.value != null && _controller.isAnimating) { - _controller.stop(); - } + _updateControllerAnimatingStatus(); } @override void dispose() { - _controller.dispose(); + _internalController.dispose(); super.dispose(); } + AnimationController get _controller => + widget.controller ?? + context.getInheritedWidgetOfExactType()?.data.controller ?? + context.findAncestorWidgetOfExactType()?.data.progressIndicatorTheme.controller ?? + _internalController; + + void _updateControllerAnimatingStatus() { + if (widget.value == null && !_internalController.isAnimating) { + _internalController.repeat(); + } else if (widget.value != null && _internalController.isAnimating) { + _internalController.stop(); + } + } + Widget _buildIndicator(BuildContext context, double animationValue, TextDirection textDirection) { final ProgressIndicatorThemeData indicatorTheme = ProgressIndicatorTheme.of(context); final bool year2023 = widget.year2023 ?? indicatorTheme.year2023 ?? true; @@ -692,6 +807,41 @@ class _CircularProgressIndicatorPainter extends CustomPainter { /// ** See code in examples/api/lib/material/progress_indicator/circular_progress_indicator.1.dart ** /// {@end-tool} /// +/// {@template flutter.material.ProgressIndicator.AnimationSynchronization} +/// ## Animation synchronization +/// +/// When multiple [CircularProgressIndicator]s or [LinearProgressIndicator]s are +/// animating on screen simultaneously (e.g., in a list of loading items), their +/// uncoordinated animations can appear visually cluttered. To address this, the +/// animation of an indicator can be driven by a custom [AnimationController]. +/// +/// This allows multiple indicators to be synchronized to a single animation +/// source. The most convenient way to achieve this for a group of indicators is +/// by providing a controller via [ProgressIndicatorTheme] (see +/// [ProgressIndicatorThemeData.controller]). All [CircularProgressIndicator]s +/// or [LinearProgressIndicator]s within that theme's subtree will then share +/// the same animation, resulting in a more coordinated and visually pleasing +/// effect. +/// +/// Alternatively, a specific [AnimationController] can be passed directly to the +/// [controller] property of an individual indicator. +/// {@endtemplate} +/// +/// {@tool dartpad} +/// This sample demonstrates how to synchronize the indeterminate animations +/// of multiple [CircularProgressIndicator]s using a [Theme]. +/// +/// Tapping the buttons adds or removes indicators. By default, they all +/// share a [ProgressIndicatorThemeData.controller], which keeps their +/// animations in sync. +/// +/// Tapping the "Toggle" button sets the theme's controller to null. +/// This forces each indicator to create its own internal controller, +/// causing their animations to become desynchronized. +/// +/// ** See code in examples/api/lib/material/progress_indicator/circular_progress_indicator.2.dart ** +/// {@end-tool} +/// /// See also: /// /// * [LinearProgressIndicator], which displays progress along a line. @@ -722,7 +872,9 @@ class CircularProgressIndicator extends ProgressIndicator { ) this.year2023, this.padding, - }) : _indicatorType = _ActivityIndicatorType.material; + this.controller, + }) : assert(value == null || controller == null, _kValueControllerAssertion), + _indicatorType = _ActivityIndicatorType.material; /// Creates an adaptive progress indicator that is a /// [CupertinoActivityIndicator] on [TargetPlatform.iOS] & @@ -753,7 +905,9 @@ class CircularProgressIndicator extends ProgressIndicator { ) this.year2023, this.padding, - }) : _indicatorType = _ActivityIndicatorType.adaptive; + this.controller, + }) : assert(value == null || controller == null, _kValueControllerAssertion), + _indicatorType = _ActivityIndicatorType.adaptive; final _ActivityIndicatorType _indicatorType; @@ -811,7 +965,7 @@ class CircularProgressIndicator extends ProgressIndicator { /// The gap between the active indicator and the background track. /// - /// If [year2023] is false or [ThemeData.useMaterial3] is false, then no track + /// If [year2023] is true or [ThemeData.useMaterial3] is false, then no track /// gap will be drawn. /// /// Set [trackGap] to 0 to hide the track gap. @@ -844,6 +998,14 @@ class CircularProgressIndicator extends ProgressIndicator { /// padding. Otherwise, defaults to zero padding. final EdgeInsetsGeometry? padding; + /// {@macro flutter.material.ProgressIndicator.controller} + /// + /// See also: + /// + /// * [CircularProgressIndicator.defaultAnimationDuration], default duration + /// for one full cycle of the indeterminate animation. + final AnimationController? controller; + /// The indicator stroke is drawn fully inside of the indicator path. /// /// This is a constant for use with [strokeAlign]. @@ -863,6 +1025,17 @@ class CircularProgressIndicator extends ProgressIndicator { /// This is a constant for use with [strokeAlign]. static const double strokeAlignOutside = 1.0; + /// The default duration for one full cycle of the indeterminate animation. + /// + /// During this period, the indicator completes several full rotations. + /// + /// This duration is used when the widget creates its own [AnimationController] + /// because no [controller] was provided, either directly or through a + /// [ProgressIndicatorTheme]. + static const Duration defaultAnimationDuration = Duration( + milliseconds: _kIndeterminateCircularDuration, + ); + @override State createState() => _CircularProgressIndicatorState(); } @@ -883,36 +1056,44 @@ class _CircularProgressIndicatorState extends State curve: const SawTooth(_rotationCount), ); - late AnimationController _controller; + late final AnimationController _internalController; @override void initState() { super.initState(); - _controller = AnimationController( - duration: const Duration(milliseconds: _kIndeterminateCircularDuration), + _internalController = AnimationController( + duration: CircularProgressIndicator.defaultAnimationDuration, vsync: this, ); - if (widget.value == null) { - _controller.repeat(); - } + _updateControllerAnimatingStatus(); } @override void didUpdateWidget(CircularProgressIndicator oldWidget) { super.didUpdateWidget(oldWidget); - if (widget.value == null && !_controller.isAnimating) { - _controller.repeat(); - } else if (widget.value != null && _controller.isAnimating) { - _controller.stop(); - } + _updateControllerAnimatingStatus(); } @override void dispose() { - _controller.dispose(); + _internalController.dispose(); super.dispose(); } + AnimationController get _controller => + widget.controller ?? + context.getInheritedWidgetOfExactType()?.data.controller ?? + context.findAncestorWidgetOfExactType()?.data.progressIndicatorTheme.controller ?? + _internalController; + + void _updateControllerAnimatingStatus() { + if (widget.value == null && !_internalController.isAnimating) { + _internalController.repeat(); + } else if (widget.value != null && _internalController.isAnimating) { + _internalController.stop(); + } + } + Widget _buildCupertinoIndicator(BuildContext context) { final Color? tickColor = widget.backgroundColor; final double? value = widget.value; diff --git a/packages/flutter/lib/src/material/progress_indicator_theme.dart b/packages/flutter/lib/src/material/progress_indicator_theme.dart index 222b529abbbf5..83815886e1844 100644 --- a/packages/flutter/lib/src/material/progress_indicator_theme.dart +++ b/packages/flutter/lib/src/material/progress_indicator_theme.dart @@ -54,6 +54,7 @@ class ProgressIndicatorThemeData with Diagnosticable { 'This feature was deprecated after v3.27.0-0.2.pre.', ) this.year2023, + this.controller, }); /// The color of the [ProgressIndicator]'s indicator. @@ -86,13 +87,13 @@ class ProgressIndicatorThemeData with Diagnosticable { /// Overrides the stop indicator color of the [LinearProgressIndicator]. /// - /// If [LinearProgressIndicator.year2023] is false or [ThemeData.useMaterial3] + /// If [LinearProgressIndicator.year2023] is true or [ThemeData.useMaterial3] /// is false, then no stop indicator will be drawn. final Color? stopIndicatorColor; /// Overrides the stop indicator radius of the [LinearProgressIndicator]. /// - /// If [LinearProgressIndicator.year2023] is false or [ThemeData.useMaterial3] + /// If [LinearProgressIndicator.year2023] is true or [ThemeData.useMaterial3] /// is false, then no stop indicator will be drawn. final double? stopIndicatorRadius; @@ -110,10 +111,10 @@ class ProgressIndicatorThemeData with Diagnosticable { /// Overrides the active indicator and the background track. /// - /// If [CircularProgressIndicator.year2023] is false or [ThemeData.useMaterial3] + /// If [CircularProgressIndicator.year2023] is true or [ThemeData.useMaterial3] /// is false, then no track gap will be drawn. /// - /// If [LinearProgressIndicator.year2023] is false or [ThemeData.useMaterial3] + /// If [LinearProgressIndicator.year2023] is true or [ThemeData.useMaterial3] /// is false, then no track gap will be drawn. final double? trackGap; @@ -138,6 +139,17 @@ class ProgressIndicatorThemeData with Diagnosticable { ) final bool? year2023; + /// Defines a default [AnimationController] for descendant + /// [CircularProgressIndicator] and [LinearProgressIndicator] widgets. + /// + /// If a descendant progress indicator's `controller` property is null, this + /// controller will be used to drive its indeterminate animation. This allows + /// a single controller to synchronize the animations of multiple indicators. + /// + /// If this property is also null, the progress indicator will create and + /// manage its own internal [AnimationController]. + final AnimationController? controller; + /// Creates a copy of this object but with the given fields replaced with the /// new values. ProgressIndicatorThemeData copyWith({ @@ -156,6 +168,7 @@ class ProgressIndicatorThemeData with Diagnosticable { double? trackGap, EdgeInsetsGeometry? circularTrackPadding, bool? year2023, + AnimationController? controller, }) { return ProgressIndicatorThemeData( color: color ?? this.color, @@ -173,6 +186,7 @@ class ProgressIndicatorThemeData with Diagnosticable { trackGap: trackGap ?? this.trackGap, circularTrackPadding: circularTrackPadding ?? this.circularTrackPadding, year2023: year2023 ?? this.year2023, + controller: controller ?? this.controller, ); } @@ -207,6 +221,7 @@ class ProgressIndicatorThemeData with Diagnosticable { t, ), year2023: t < 0.5 ? a?.year2023 : b?.year2023, + controller: t < 0.5 ? a?.controller : b?.controller, ); } @@ -227,6 +242,7 @@ class ProgressIndicatorThemeData with Diagnosticable { trackGap, circularTrackPadding, year2023, + controller, ); @override @@ -252,7 +268,8 @@ class ProgressIndicatorThemeData with Diagnosticable { other.constraints == constraints && other.trackGap == trackGap && other.circularTrackPadding == circularTrackPadding && - other.year2023 == year2023; + other.year2023 == year2023 && + other.controller == controller; } @override @@ -285,6 +302,9 @@ class ProgressIndicatorThemeData with Diagnosticable { ), ); properties.add(DiagnosticsProperty('year2023', year2023, defaultValue: null)); + properties.add( + DiagnosticsProperty('controller', controller, defaultValue: null), + ); } } diff --git a/packages/flutter/lib/src/material/radio.dart b/packages/flutter/lib/src/material/radio.dart index 9a8e70e67b3f8..8092cf4f1565e 100644 --- a/packages/flutter/lib/src/material/radio.dart +++ b/packages/flutter/lib/src/material/radio.dart @@ -293,7 +293,7 @@ class Radio extends StatefulWidget { /// default state; if [ThemeData.useMaterial3] is true, then [ColorScheme.onSurface] /// is used in the disabled state, [ColorScheme.primary] is used in the /// selected state and [ColorScheme.onSurfaceVariant] is used in the default state. - final MaterialStateProperty? fillColor; + final WidgetStateProperty? fillColor; /// {@template flutter.material.radio.materialTapTargetSize} /// Configures the minimum size of the tap target. @@ -370,7 +370,7 @@ class Radio extends StatefulWidget { /// * pressed - Theme.colorScheme.primary(0.1) /// * hovered - Theme.colorScheme.onSurface(0.08) /// * focused - Theme.colorScheme.onSurface(0.1) - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@template flutter.material.radio.splashRadius} /// The splash radius of the circular [Material] ink response. @@ -541,11 +541,11 @@ class _RadioState extends State> { } final RadioThemeData radioTheme = RadioTheme.of(context); - final MaterialStateProperty effectiveMouseCursor = - MaterialStateProperty.resolveWith((Set states) { - return MaterialStateProperty.resolveAs(widget.mouseCursor, states) ?? + final WidgetStateProperty effectiveMouseCursor = + WidgetStateProperty.resolveWith((Set states) { + return WidgetStateProperty.resolveAs(widget.mouseCursor, states) ?? radioTheme.mouseCursor?.resolve(states) ?? - MaterialStateProperty.resolveAs( + WidgetStateProperty.resolveAs( MaterialStateMouseCursor.clickable, states, ); @@ -614,10 +614,10 @@ class _RadioPaint extends StatefulWidget { final ToggleableStateMixin toggleableState; final Color? activeColor; - final MaterialStateProperty? fillColor; + final WidgetStateProperty? fillColor; final Color? hoverColor; final Color? focusColor; - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; final double? splashRadius; final VisualDensity? visualDensity; final MaterialTapTargetSize? materialTapTargetSize; @@ -638,19 +638,19 @@ class _RadioPaintState extends State<_RadioPaint> { super.dispose(); } - MaterialStateProperty get _widgetFillColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty get _widgetFillColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return null; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return widget.activeColor; } return null; }); } - BorderSide? _resolveSide(BorderSide? side, Set states) { + BorderSide? _resolveSide(BorderSide? side, Set states) { if (side is WidgetStateProperty) { return WidgetStateProperty.resolveAs(side, states); } @@ -669,10 +669,9 @@ class _RadioPaintState extends State<_RadioPaint> { // Colors need to be resolved in selected and non selected states separately // so that they can be lerped between. - final Set activeStates = widget.toggleableState.states - ..add(MaterialState.selected); - final Set inactiveStates = widget.toggleableState.states - ..remove(MaterialState.selected); + final Set activeStates = widget.toggleableState.states..add(WidgetState.selected); + final Set inactiveStates = widget.toggleableState.states + ..remove(WidgetState.selected); final Color? activeColor = widget.fillColor?.resolve(activeStates) ?? _widgetFillColor.resolve(activeStates) ?? @@ -693,30 +692,28 @@ class _RadioPaintState extends State<_RadioPaint> { radioTheme.backgroundColor?.resolve(inactiveStates) ?? defaults.backgroundColor!.resolve(inactiveStates)!; - final Set focusedStates = widget.toggleableState.states - ..add(MaterialState.focused); + final Set focusedStates = widget.toggleableState.states..add(WidgetState.focused); Color effectiveFocusOverlayColor = widget.overlayColor?.resolve(focusedStates) ?? widget.focusColor ?? radioTheme.overlayColor?.resolve(focusedStates) ?? defaults.overlayColor!.resolve(focusedStates)!; - final Set hoveredStates = widget.toggleableState.states - ..add(MaterialState.hovered); + final Set hoveredStates = widget.toggleableState.states..add(WidgetState.hovered); Color effectiveHoverOverlayColor = widget.overlayColor?.resolve(hoveredStates) ?? widget.hoverColor ?? radioTheme.overlayColor?.resolve(hoveredStates) ?? defaults.overlayColor!.resolve(hoveredStates)!; - final Set activePressedStates = activeStates..add(MaterialState.pressed); + final Set activePressedStates = activeStates..add(WidgetState.pressed); final Color effectiveActivePressedOverlayColor = widget.overlayColor?.resolve(activePressedStates) ?? radioTheme.overlayColor?.resolve(activePressedStates) ?? activeColor?.withAlpha(kRadialReactionAlpha) ?? defaults.overlayColor!.resolve(activePressedStates)!; - final Set inactivePressedStates = inactiveStates..add(MaterialState.pressed); + final Set inactivePressedStates = inactiveStates..add(WidgetState.pressed); final Color effectiveInactivePressedOverlayColor = widget.overlayColor?.resolve(inactivePressedStates) ?? radioTheme.overlayColor?.resolve(inactivePressedStates) ?? @@ -724,10 +721,10 @@ class _RadioPaintState extends State<_RadioPaint> { defaults.overlayColor!.resolve(inactivePressedStates)!; if (widget.toggleableState.downPosition != null) { - effectiveHoverOverlayColor = widget.toggleableState.states.contains(MaterialState.selected) + effectiveHoverOverlayColor = widget.toggleableState.states.contains(WidgetState.selected) ? effectiveActivePressedOverlayColor : effectiveInactivePressedOverlayColor; - effectiveFocusOverlayColor = widget.toggleableState.states.contains(MaterialState.selected) + effectiveFocusOverlayColor = widget.toggleableState.states.contains(WidgetState.selected) ? effectiveActivePressedOverlayColor : effectiveInactivePressedOverlayColor; } @@ -784,8 +781,8 @@ class _RadioPaintState extends State<_RadioPaint> { ..focusColor = effectiveFocusOverlayColor ..splashRadius = widget.splashRadius ?? radioTheme.splashRadius ?? kRadialReactionRadius ..downPosition = widget.toggleableState.downPosition - ..isFocused = widget.toggleableState.states.contains(MaterialState.focused) - ..isHovered = widget.toggleableState.states.contains(MaterialState.hovered) + ..isFocused = widget.toggleableState.states.contains(WidgetState.focused) + ..isHovered = widget.toggleableState.states.contains(WidgetState.hovered) ..activeColor = effectiveActiveColor ..inactiveColor = effectiveInactiveColor ..activeBackgroundColor = activeBackgroundColor @@ -888,12 +885,12 @@ class _RadioDefaultsM2 extends RadioThemeData { late final ColorScheme _colors = _theme.colorScheme; @override - MaterialStateProperty get fillColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty get fillColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _theme.disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.secondary; } return _theme.unselectedWidgetColor; @@ -901,15 +898,15 @@ class _RadioDefaultsM2 extends RadioThemeData { } @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return fillColor.resolve(states).withAlpha(kRadialReactionAlpha); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _theme.hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _theme.focusColor; } return Colors.transparent; @@ -943,33 +940,33 @@ class _RadioDefaultsM3 extends RadioThemeData { late final ColorScheme _colors = _theme.colorScheme; @override - MaterialStateProperty get fillColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty get fillColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary; } return _colors.primary; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface; } return _colors.onSurfaceVariant; @@ -977,27 +974,27 @@ class _RadioDefaultsM3 extends RadioThemeData { } @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } return Colors.transparent; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface.withOpacity(0.1); } return Colors.transparent; diff --git a/packages/flutter/lib/src/material/radio_list_tile.dart b/packages/flutter/lib/src/material/radio_list_tile.dart index 34596c2286409..f217d6867a746 100644 --- a/packages/flutter/lib/src/material/radio_list_tile.dart +++ b/packages/flutter/lib/src/material/radio_list_tile.dart @@ -18,7 +18,6 @@ import 'package:flutter/widgets.dart'; import 'list_tile.dart'; import 'list_tile_theme.dart'; -import 'material_state.dart'; import 'radio.dart'; import 'radio_theme.dart'; import 'theme.dart'; @@ -363,7 +362,7 @@ class RadioListTile extends StatefulWidget { /// If null, then the value of [activeColor] is used in the selected state. If /// that is also null, then the value of [RadioThemeData.fillColor] is used. /// If that is also null, then the default value is used. - final MaterialStateProperty? fillColor; + final WidgetStateProperty? fillColor; /// {@macro flutter.material.radio.materialTapTargetSize} /// @@ -384,7 +383,7 @@ class RadioListTile extends StatefulWidget { /// and [hoverColor] is used in the pressed and hovered state. If that is also /// null, the value of [SwitchThemeData.overlayColor] is used. If that is /// also null, then the default value is used in the pressed and hovered state. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@macro flutter.material.radio.splashRadius} /// @@ -692,7 +691,7 @@ class _RadioListTileState extends State> with RadioClient }; final ThemeData theme = Theme.of(context); final RadioThemeData radioThemeData = RadioTheme.of(context); - final Set states = {if (widget.selected) MaterialState.selected}; + final Set states = {if (widget.selected) WidgetState.selected}; final Color effectiveActiveColor = widget.activeColor ?? radioThemeData.fillColor?.resolve(states) ?? diff --git a/packages/flutter/lib/src/material/radio_theme.dart b/packages/flutter/lib/src/material/radio_theme.dart index ffecfcaeb2c18..758fb98d603a6 100644 --- a/packages/flutter/lib/src/material/radio_theme.dart +++ b/packages/flutter/lib/src/material/radio_theme.dart @@ -12,7 +12,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'theme.dart'; import 'theme_data.dart'; @@ -58,17 +57,17 @@ class RadioThemeData with Diagnosticable { /// /// If specified, overrides the default value of [Radio.mouseCursor]. The /// default value is [WidgetStateMouseCursor.clickable]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// {@macro flutter.material.radio.fillColor} /// /// If specified, overrides the default value of [Radio.fillColor]. - final MaterialStateProperty? fillColor; + final WidgetStateProperty? fillColor; /// {@macro flutter.material.radio.overlayColor} /// /// If specified, overrides the default value of [Radio.overlayColor]. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@macro flutter.material.radio.splashRadius} /// @@ -110,9 +109,9 @@ class RadioThemeData with Diagnosticable { /// Creates a copy of this object but with the given fields replaced with the /// new values. RadioThemeData copyWith({ - MaterialStateProperty? mouseCursor, - MaterialStateProperty? fillColor, - MaterialStateProperty? overlayColor, + WidgetStateProperty? mouseCursor, + WidgetStateProperty? fillColor, + WidgetStateProperty? overlayColor, double? splashRadius, MaterialTapTargetSize? materialTapTargetSize, VisualDensity? visualDensity, diff --git a/packages/flutter/lib/src/material/range_slider.dart b/packages/flutter/lib/src/material/range_slider.dart index 7d220ccece04b..4e3965ea0f5e8 100644 --- a/packages/flutter/lib/src/material/range_slider.dart +++ b/packages/flutter/lib/src/material/range_slider.dart @@ -358,7 +358,7 @@ class RangeSlider extends StatefulWidget { /// an opacity of 0.12. If null, [SliderThemeData.overlayColor] /// will be used, otherwise defaults to [ColorScheme.primary] with /// an opacity of 0.12. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// The cursor for a mouse pointer when it enters or is hovering over the /// widget. @@ -369,7 +369,7 @@ class RangeSlider extends StatefulWidget { /// See also: /// /// * [WidgetStateMouseCursor], which can be used to create a [MouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// The callback used to create a semantic value from the slider's values. /// @@ -599,10 +599,13 @@ class _RangeSliderState extends State with TickerProviderStateMixin return RangeValues(_unlerp(values.start), _unlerp(values.end)); } - // Finds closest thumb. If the thumbs are close to each other, no thumb is - // immediately selected while the drag displacement is zero. If the first - // non-zero displacement is negative, then the left thumb is selected, and if its - // positive, then the right thumb is selected. + // Finds the closest thumb. If both thumbs are close to each other and within + // the touch radius, neither is selected immediately while the drag + // displacement is zero. The first non-zero displacement determines which + // thumb is selected: a negative displacement selects the left thumb, + // a positive one selects the right thumb. + // If only one or zero thumbs are within the touch radius, + // the closest one is selected. Thumb? _defaultRangeThumbSelector( TextDirection textDirection, RangeValues values, @@ -632,11 +635,10 @@ class _RangeSliderState extends State with TickerProviderStateMixin return Thumb.end; } } else { - // Snap position on the track if its in the inactive range. - if (tapValue < values.start || inStartTouchTarget) { + // Choose the closest thumb and snap position. + if (tapValue * 2 < values.start + values.end) { return Thumb.start; - } - if (tapValue > values.end || inEndTouchTarget) { + } else { return Thumb.end; } } @@ -662,10 +664,10 @@ class _RangeSliderState extends State with TickerProviderStateMixin // the default shapes and text styles are aligned to the Material // Guidelines. - final Set states = { - if (!_enabled) MaterialState.disabled, - if (_hovering) MaterialState.hovered, - if (_dragging) MaterialState.dragged, + final Set states = { + if (!_enabled) WidgetState.disabled, + if (_hovering) WidgetState.hovered, + if (_dragging) WidgetState.dragged, }; // The value indicator's color is not the same as the thumb and active track @@ -690,7 +692,7 @@ class _RangeSliderState extends State with TickerProviderStateMixin Color? effectiveOverlayColor() { return widget.overlayColor?.resolve(states) ?? widget.activeColor?.withOpacity(0.12) ?? - MaterialStateProperty.resolveAs(sliderTheme.overlayColor, states) ?? + WidgetStateProperty.resolveAs(sliderTheme.overlayColor, states) ?? defaults.overlayColor; } @@ -1572,11 +1574,11 @@ class _RenderRangeSlider extends RenderBox with RelayoutWhenSystemFontsChangeMix // If [RangeSlider.year2023] is false, the thumbs uses handle thumb shape and gapped track shape. // The handle width and track gaps are adjusted when the thumb is pressed. - double? thumbWidth = _sliderTheme.thumbSize?.resolve({})?.width; - final double? thumbHeight = _sliderTheme.thumbSize?.resolve({})?.height; + double? thumbWidth = _sliderTheme.thumbSize?.resolve({})?.width; + final double? thumbHeight = _sliderTheme.thumbSize?.resolve({})?.height; double? trackGap = _sliderTheme.trackGap; - final double? pressedThumbWidth = _sliderTheme.thumbSize?.resolve({ - MaterialState.pressed, + final double? pressedThumbWidth = _sliderTheme.thumbSize?.resolve({ + WidgetState.pressed, })?.width; final double delta; if (_active && thumbWidth != null && pressedThumbWidth != null && trackGap != null) { @@ -2238,18 +2240,18 @@ class _RangeSliderDefaultsM3 extends SliderThemeData { double? get minThumbSeparation => 0; @override - MaterialStateProperty? get thumbSize { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get thumbSize { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return const Size(4.0, 44.0); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return const Size(4.0, 44.0); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return const Size(2.0, 44.0); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return const Size(2.0, 44.0); } return const Size(4.0, 44.0); diff --git a/packages/flutter/lib/src/material/scaffold.dart b/packages/flutter/lib/src/material/scaffold.dart index efc8fcb095be0..dc24bace6fa92 100644 --- a/packages/flutter/lib/src/material/scaffold.dart +++ b/packages/flutter/lib/src/material/scaffold.dart @@ -198,23 +198,12 @@ class ScaffoldMessengerState extends State with TickerProvide Queue>(); AnimationController? _snackBarController; Timer? _snackBarTimer; - bool? _accessibleNavigation; + late bool _accessibleNavigation; @protected @override void didChangeDependencies() { - final bool accessibleNavigation = MediaQuery.accessibleNavigationOf(context); - // If we transition from accessible navigation to non-accessible navigation - // and there is a SnackBar that would have timed out that has already - // completed its timer, dismiss that SnackBar. If the timer hasn't finished - // yet, let it timeout as normal. - if ((_accessibleNavigation ?? false) && - !accessibleNavigation && - _snackBarTimer != null && - !_snackBarTimer!.isActive) { - hideCurrentSnackBar(reason: SnackBarClosedReason.timeout); - } - _accessibleNavigation = accessibleNavigation; + _accessibleNavigation = MediaQuery.accessibleNavigationOf(context); super.didChangeDependencies(); } @@ -453,7 +442,7 @@ class ScaffoldMessengerState extends State with TickerProvide return; } final Completer completer = _snackBars.first._completer; - if (_accessibleNavigation!) { + if (_accessibleNavigation) { _snackBarController!.value = 0.0; completer.complete(reason); } else { @@ -589,7 +578,7 @@ class ScaffoldMessengerState extends State with TickerProvide return; } final Completer completer = _materialBanners.first._completer; - if (_accessibleNavigation!) { + if (_accessibleNavigation) { _materialBannerController!.value = 0.0; completer.complete(reason); } else { @@ -629,7 +618,7 @@ class ScaffoldMessengerState extends State with TickerProvide _snackBarTimer = Timer(snackBar.duration, () { assert(_snackBarController!.isForwardOrCompleted); // Look up MediaQuery again in case the setting changed. - if (snackBar.action != null && MediaQuery.accessibleNavigationOf(context)) { + if (snackBar.persist) { return; } hideCurrentSnackBar(reason: SnackBarClosedReason.timeout); @@ -2248,6 +2237,9 @@ class ScaffoldState extends State with TickerProviderStateMixin, Resto /// [Scaffold]. bool get isDrawerOpen => _drawerOpened.value; + /// Whether the [Scaffold.drawerBarrierDismissible] flag is set. + bool get isDrawerBarrierDismissible => widget.drawerBarrierDismissible; + /// Whether the [Scaffold.endDrawer] is opened. /// /// See also: @@ -3251,13 +3243,18 @@ class _DismissDrawerAction extends DismissAction { @override bool isEnabled(DismissIntent intent) { - return Scaffold.of(context).isDrawerOpen || Scaffold.of(context).isEndDrawerOpen; + final ScaffoldState scaffold = Scaffold.of(context); + return (scaffold.isDrawerOpen || scaffold.isEndDrawerOpen) && + scaffold.isDrawerBarrierDismissible; } @override void invoke(DismissIntent intent) { - Scaffold.of(context).closeDrawer(); - Scaffold.of(context).closeEndDrawer(); + final ScaffoldState scaffold = Scaffold.of(context); + if (isEnabled(intent)) { + scaffold.closeDrawer(); + scaffold.closeEndDrawer(); + } } } diff --git a/packages/flutter/lib/src/material/scrollbar.dart b/packages/flutter/lib/src/material/scrollbar.dart index 3747c6bf66c1a..0b8653c88f000 100644 --- a/packages/flutter/lib/src/material/scrollbar.dart +++ b/packages/flutter/lib/src/material/scrollbar.dart @@ -6,7 +6,6 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/gestures.dart'; import 'color_scheme.dart'; -import 'material_state.dart'; import 'scrollbar_theme.dart'; import 'theme.dart'; @@ -218,17 +217,17 @@ class _MaterialScrollbarState extends RawScrollbarState<_MaterialScrollbar> { bool get enableGestures => widget.interactive ?? _scrollbarTheme.interactive ?? !_useAndroidScrollbar; - MaterialStateProperty get _trackVisibility => - MaterialStateProperty.resolveWith((Set states) { + WidgetStateProperty get _trackVisibility => + WidgetStateProperty.resolveWith((Set states) { return widget.trackVisibility ?? _scrollbarTheme.trackVisibility?.resolve(states) ?? false; }); - Set get _states => { - if (_dragIsActive) MaterialState.dragged, - if (_hoverIsActive) MaterialState.hovered, + Set get _states => { + if (_dragIsActive) WidgetState.dragged, + if (_hoverIsActive) WidgetState.hovered, }; - MaterialStateProperty get _thumbColor { + WidgetStateProperty get _thumbColor { final Color onSurface = _colorScheme.onSurface; final Brightness brightness = _colorScheme.brightness; late Color dragColor; @@ -249,8 +248,8 @@ class _MaterialScrollbarState extends RawScrollbarState<_MaterialScrollbar> { : onSurface.withOpacity(0.3); } - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.dragged)) { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.dragged)) { return _scrollbarTheme.thumbColor?.resolve(states) ?? dragColor; } @@ -268,10 +267,10 @@ class _MaterialScrollbarState extends RawScrollbarState<_MaterialScrollbar> { }); } - MaterialStateProperty get _trackColor { + WidgetStateProperty get _trackColor { final Color onSurface = _colorScheme.onSurface; final Brightness brightness = _colorScheme.brightness; - return MaterialStateProperty.resolveWith((Set states) { + return WidgetStateProperty.resolveWith((Set states) { if (showScrollbar && _trackVisibility.resolve(states)) { return _scrollbarTheme.trackColor?.resolve(states) ?? switch (brightness) { @@ -283,10 +282,10 @@ class _MaterialScrollbarState extends RawScrollbarState<_MaterialScrollbar> { }); } - MaterialStateProperty get _trackBorderColor { + WidgetStateProperty get _trackBorderColor { final Color onSurface = _colorScheme.onSurface; final Brightness brightness = _colorScheme.brightness; - return MaterialStateProperty.resolveWith((Set states) { + return WidgetStateProperty.resolveWith((Set states) { if (showScrollbar && _trackVisibility.resolve(states)) { return _scrollbarTheme.trackBorderColor?.resolve(states) ?? switch (brightness) { @@ -298,9 +297,9 @@ class _MaterialScrollbarState extends RawScrollbarState<_MaterialScrollbar> { }); } - MaterialStateProperty get _thickness { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered) && _trackVisibility.resolve(states)) { + WidgetStateProperty get _thickness { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered) && _trackVisibility.resolve(states)) { return widget.thickness ?? _scrollbarTheme.thickness?.resolve(states) ?? _kScrollbarThicknessWithTrack; diff --git a/packages/flutter/lib/src/material/scrollbar_theme.dart b/packages/flutter/lib/src/material/scrollbar_theme.dart index c48a776feead2..dc1f809411120 100644 --- a/packages/flutter/lib/src/material/scrollbar_theme.dart +++ b/packages/flutter/lib/src/material/scrollbar_theme.dart @@ -10,7 +10,6 @@ import 'dart:ui' show lerpDouble; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'theme.dart'; // Examples can assume: @@ -52,18 +51,18 @@ class ScrollbarThemeData with Diagnosticable { /// Overrides the default value of [Scrollbar.thumbVisibility] in all /// descendant [Scrollbar] widgets. - final MaterialStateProperty? thumbVisibility; + final WidgetStateProperty? thumbVisibility; /// Overrides the default value of [Scrollbar.thickness] in all /// descendant [Scrollbar] widgets. /// /// Resolves in the following states: /// * [WidgetState.hovered] on web and desktop platforms. - final MaterialStateProperty? thickness; + final WidgetStateProperty? thickness; /// Overrides the default value of [Scrollbar.trackVisibility] in all /// descendant [Scrollbar] widgets. - final MaterialStateProperty? trackVisibility; + final WidgetStateProperty? trackVisibility; /// Overrides the default value of [Scrollbar.interactive] in all /// descendant [Scrollbar] widgets. @@ -79,21 +78,21 @@ class ScrollbarThemeData with Diagnosticable { /// Resolves in the following states: /// * [WidgetState.dragged]. /// * [WidgetState.hovered] on web and desktop platforms. - final MaterialStateProperty? thumbColor; + final WidgetStateProperty? thumbColor; /// Overrides the default [Color] of the [Scrollbar] track when /// [trackVisibility] is true in all descendant [Scrollbar] widgets. /// /// Resolves in the following states: /// * [WidgetState.hovered] on web and desktop platforms. - final MaterialStateProperty? trackColor; + final WidgetStateProperty? trackColor; /// Overrides the default [Color] of the [Scrollbar] track border when /// [trackVisibility] is true in all descendant [Scrollbar] widgets. /// /// Resolves in the following states: /// * [WidgetState.hovered] on web and desktop platforms. - final MaterialStateProperty? trackBorderColor; + final WidgetStateProperty? trackBorderColor; /// Overrides the default value of the [ScrollbarPainter.crossAxisMargin] /// property in all descendant [Scrollbar] widgets. @@ -127,14 +126,14 @@ class ScrollbarThemeData with Diagnosticable { /// Creates a copy of this object with the given fields replaced with the /// new values. ScrollbarThemeData copyWith({ - MaterialStateProperty? thumbVisibility, - MaterialStateProperty? thickness, - MaterialStateProperty? trackVisibility, + WidgetStateProperty? thumbVisibility, + WidgetStateProperty? thickness, + WidgetStateProperty? trackVisibility, bool? interactive, Radius? radius, - MaterialStateProperty? thumbColor, - MaterialStateProperty? trackColor, - MaterialStateProperty? trackBorderColor, + WidgetStateProperty? thumbColor, + WidgetStateProperty? trackColor, + WidgetStateProperty? trackBorderColor, double? crossAxisMargin, double? mainAxisMargin, double? minThumbLength, @@ -162,14 +161,14 @@ class ScrollbarThemeData with Diagnosticable { return a; } return ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.lerp( + thumbVisibility: WidgetStateProperty.lerp( a?.thumbVisibility, b?.thumbVisibility, t, _lerpBool, ), - thickness: MaterialStateProperty.lerp(a?.thickness, b?.thickness, t, lerpDouble), - trackVisibility: MaterialStateProperty.lerp( + thickness: WidgetStateProperty.lerp(a?.thickness, b?.thickness, t, lerpDouble), + trackVisibility: WidgetStateProperty.lerp( a?.trackVisibility, b?.trackVisibility, t, @@ -177,9 +176,9 @@ class ScrollbarThemeData with Diagnosticable { ), interactive: _lerpBool(a?.interactive, b?.interactive, t), radius: Radius.lerp(a?.radius, b?.radius, t), - thumbColor: MaterialStateProperty.lerp(a?.thumbColor, b?.thumbColor, t, Color.lerp), - trackColor: MaterialStateProperty.lerp(a?.trackColor, b?.trackColor, t, Color.lerp), - trackBorderColor: MaterialStateProperty.lerp( + thumbColor: WidgetStateProperty.lerp(a?.thumbColor, b?.thumbColor, t, Color.lerp), + trackColor: WidgetStateProperty.lerp(a?.trackColor, b?.trackColor, t, Color.lerp), + trackBorderColor: WidgetStateProperty.lerp( a?.trackBorderColor, b?.trackBorderColor, t, @@ -232,21 +231,17 @@ class ScrollbarThemeData with Diagnosticable { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'thumbVisibility', thumbVisibility, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( - 'thickness', - thickness, - defaultValue: null, - ), + DiagnosticsProperty>('thickness', thickness, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'trackVisibility', trackVisibility, defaultValue: null, @@ -255,21 +250,21 @@ class ScrollbarThemeData with Diagnosticable { properties.add(DiagnosticsProperty('interactive', interactive, defaultValue: null)); properties.add(DiagnosticsProperty('radius', radius, defaultValue: null)); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'thumbColor', thumbColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'trackColor', trackColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'trackBorderColor', trackBorderColor, defaultValue: null, diff --git a/packages/flutter/lib/src/material/search_anchor.dart b/packages/flutter/lib/src/material/search_anchor.dart index bcbc372bfe395..63a311db0a82f 100644 --- a/packages/flutter/lib/src/material/search_anchor.dart +++ b/packages/flutter/lib/src/material/search_anchor.dart @@ -175,15 +175,15 @@ class SearchAnchor extends StatefulWidget { ValueChanged? onChanged, VoidCallback? onClose, VoidCallback? onOpen, - MaterialStateProperty? barElevation, - MaterialStateProperty? barBackgroundColor, - MaterialStateProperty? barOverlayColor, - MaterialStateProperty? barSide, - MaterialStateProperty? barShape, - MaterialStateProperty? barPadding, + WidgetStateProperty? barElevation, + WidgetStateProperty? barBackgroundColor, + WidgetStateProperty? barOverlayColor, + WidgetStateProperty? barSide, + WidgetStateProperty? barShape, + WidgetStateProperty? barPadding, EdgeInsetsGeometry? viewBarPadding, - MaterialStateProperty? barTextStyle, - MaterialStateProperty? barHintStyle, + WidgetStateProperty? barTextStyle, + WidgetStateProperty? barHintStyle, ViewBuilder? viewBuilder, Widget? viewLeading, Iterable? viewTrailing, @@ -1171,15 +1171,15 @@ class _SearchAnchorWithSearchBar extends SearchAnchor { Iterable? barTrailing, String? barHintText, GestureTapCallback? onTap, - MaterialStateProperty? barElevation, - MaterialStateProperty? barBackgroundColor, - MaterialStateProperty? barOverlayColor, - MaterialStateProperty? barSide, - MaterialStateProperty? barShape, - MaterialStateProperty? barPadding, + WidgetStateProperty? barElevation, + WidgetStateProperty? barBackgroundColor, + WidgetStateProperty? barOverlayColor, + WidgetStateProperty? barSide, + WidgetStateProperty? barShape, + WidgetStateProperty? barPadding, super.viewBarPadding, - MaterialStateProperty? barTextStyle, - MaterialStateProperty? barHintStyle, + WidgetStateProperty? barTextStyle, + WidgetStateProperty? barHintStyle, super.viewBuilder, super.viewLeading, super.viewTrailing, @@ -1431,19 +1431,19 @@ class SearchBar extends StatefulWidget { /// /// If null, the value of [SearchBarThemeData.elevation] will be used. If this /// is also null, then default value is 6.0. - final MaterialStateProperty? elevation; + final WidgetStateProperty? elevation; /// The search bar's background fill color. /// /// If null, the value of [SearchBarThemeData.backgroundColor] will be used. /// If this is also null, then the default value is [ColorScheme.surfaceContainerHigh]. - final MaterialStateProperty? backgroundColor; + final WidgetStateProperty? backgroundColor; /// The shadow color of the search bar's [Material]. /// /// If null, the value of [SearchBarThemeData.shadowColor] will be used. /// If this is also null, then the default value is [ColorScheme.shadow]. - final MaterialStateProperty? shadowColor; + final WidgetStateProperty? shadowColor; /// The surface tint color of the search bar's [Material]. /// @@ -1454,11 +1454,11 @@ class SearchBar extends StatefulWidget { /// /// If null, the value of [SearchBarThemeData.surfaceTintColor] will be used. /// If this is also null, then the default value is [Colors.transparent]. - final MaterialStateProperty? surfaceTintColor; + final WidgetStateProperty? surfaceTintColor; /// The highlight color that's typically used to indicate that /// the search bar is focused, hovered, or pressed. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// The color and weight of the search bar's outline. /// @@ -1467,7 +1467,7 @@ class SearchBar extends StatefulWidget { /// /// If null, the value of [SearchBarThemeData.side] will be used. If this is /// also null, the search bar doesn't have a side by default. - final MaterialStateProperty? side; + final WidgetStateProperty? side; /// The shape of the search bar's underlying [Material]. /// @@ -1476,19 +1476,19 @@ class SearchBar extends StatefulWidget { /// /// If null, the value of [SearchBarThemeData.shape] will be used. /// If this is also null, defaults to [StadiumBorder]. - final MaterialStateProperty? shape; + final WidgetStateProperty? shape; /// The padding between the search bar's boundary and its contents. /// /// If null, the value of [SearchBarThemeData.padding] will be used. /// If this is also null, then the default value is 16.0 horizontally. - final MaterialStateProperty? padding; + final WidgetStateProperty? padding; /// The style to use for the text being edited. /// /// If null, defaults to the `bodyLarge` text style from the current [Theme]. /// The default text color is [ColorScheme.onSurface]. - final MaterialStateProperty? textStyle; + final WidgetStateProperty? textStyle; /// The style to use for the [hintText]. /// @@ -1496,7 +1496,7 @@ class SearchBar extends StatefulWidget { /// is also null, the value of [textStyle] will be used. If this is also null, /// defaults to the `bodyLarge` text style from the current [Theme]. /// The default text color is [ColorScheme.onSurfaceVariant]. - final MaterialStateProperty? hintStyle; + final WidgetStateProperty? hintStyle; /// {@macro flutter.widgets.editableText.textCapitalization} final TextCapitalization? textCapitalization; @@ -1579,11 +1579,11 @@ class _SearchBarState extends State { final SearchBarThemeData defaults = _SearchBarDefaultsM3(context); T? resolve( - MaterialStateProperty? widgetValue, - MaterialStateProperty? themeValue, - MaterialStateProperty? defaultValue, + WidgetStateProperty? widgetValue, + WidgetStateProperty? themeValue, + WidgetStateProperty? defaultValue, ) { - final Set states = _internalStatesController.value; + final Set states = _internalStatesController.value; return widgetValue?.resolve(states) ?? themeValue?.resolve(states) ?? defaultValue?.resolve(states); @@ -1629,14 +1629,14 @@ class _SearchBarState extends State { searchBarTheme.padding, defaults.padding, ); - final MaterialStateProperty? effectiveOverlayColor = + final WidgetStateProperty? effectiveOverlayColor = widget.overlayColor ?? searchBarTheme.overlayColor ?? defaults.overlayColor; final TextCapitalization effectiveTextCapitalization = widget.textCapitalization ?? searchBarTheme.textCapitalization ?? defaults.textCapitalization!; - final Set states = _internalStatesController.value; + final Set states = _internalStatesController.value; final TextStyle? effectiveHintStyle = widget.hintStyle?.resolve(states) ?? searchBarTheme.hintStyle?.resolve(states) ?? @@ -1766,31 +1766,31 @@ class _SearchBarDefaultsM3 extends SearchBarThemeData { late final TextTheme _textTheme = Theme.of(context).textTheme; @override - MaterialStateProperty? get backgroundColor => + WidgetStateProperty? get backgroundColor => MaterialStatePropertyAll(_colors.surfaceContainerHigh); @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(6.0); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => MaterialStatePropertyAll(_colors.shadow); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return Colors.transparent; } return Colors.transparent; @@ -1799,19 +1799,19 @@ class _SearchBarDefaultsM3 extends SearchBarThemeData { // No default side @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => const MaterialStatePropertyAll(EdgeInsets.symmetric(horizontal: 8.0)); @override - MaterialStateProperty get textStyle => + WidgetStateProperty get textStyle => MaterialStatePropertyAll(_textTheme.bodyLarge?.copyWith(color: _colors.onSurface)); @override - MaterialStateProperty get hintStyle => + WidgetStateProperty get hintStyle => MaterialStatePropertyAll(_textTheme.bodyLarge?.copyWith(color: _colors.onSurfaceVariant)); @override diff --git a/packages/flutter/lib/src/material/search_bar_theme.dart b/packages/flutter/lib/src/material/search_bar_theme.dart index 8a99804bee029..1fd39557213f5 100644 --- a/packages/flutter/lib/src/material/search_bar_theme.dart +++ b/packages/flutter/lib/src/material/search_bar_theme.dart @@ -55,34 +55,34 @@ class SearchBarThemeData with Diagnosticable { }); /// Overrides the default value of the [SearchBar.elevation]. - final MaterialStateProperty? elevation; + final WidgetStateProperty? elevation; /// Overrides the default value of the [SearchBar.backgroundColor]. - final MaterialStateProperty? backgroundColor; + final WidgetStateProperty? backgroundColor; /// Overrides the default value of the [SearchBar.shadowColor]. - final MaterialStateProperty? shadowColor; + final WidgetStateProperty? shadowColor; /// Overrides the default value of the [SearchBar.surfaceTintColor]. - final MaterialStateProperty? surfaceTintColor; + final WidgetStateProperty? surfaceTintColor; /// Overrides the default value of the [SearchBar.overlayColor]. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// Overrides the default value of the [SearchBar.side]. - final MaterialStateProperty? side; + final WidgetStateProperty? side; /// Overrides the default value of the [SearchBar.shape]. - final MaterialStateProperty? shape; + final WidgetStateProperty? shape; /// Overrides the default value for [SearchBar.padding]. - final MaterialStateProperty? padding; + final WidgetStateProperty? padding; /// Overrides the default value for [SearchBar.textStyle]. - final MaterialStateProperty? textStyle; + final WidgetStateProperty? textStyle; /// Overrides the default value for [SearchBar.hintStyle]. - final MaterialStateProperty? hintStyle; + final WidgetStateProperty? hintStyle; /// Overrides the value of size constraints for [SearchBar]. final BoxConstraints? constraints; @@ -93,16 +93,16 @@ class SearchBarThemeData with Diagnosticable { /// Creates a copy of this object but with the given fields replaced with the /// new values. SearchBarThemeData copyWith({ - MaterialStateProperty? elevation, - MaterialStateProperty? backgroundColor, - MaterialStateProperty? shadowColor, - MaterialStateProperty? surfaceTintColor, - MaterialStateProperty? overlayColor, - MaterialStateProperty? side, - MaterialStateProperty? shape, - MaterialStateProperty? padding, - MaterialStateProperty? textStyle, - MaterialStateProperty? hintStyle, + WidgetStateProperty? elevation, + WidgetStateProperty? backgroundColor, + WidgetStateProperty? shadowColor, + WidgetStateProperty? surfaceTintColor, + WidgetStateProperty? overlayColor, + WidgetStateProperty? side, + WidgetStateProperty? shape, + WidgetStateProperty? padding, + WidgetStateProperty? textStyle, + WidgetStateProperty? hintStyle, BoxConstraints? constraints, TextCapitalization? textCapitalization, }) { @@ -130,51 +130,41 @@ class SearchBarThemeData with Diagnosticable { return a; } return SearchBarThemeData( - elevation: MaterialStateProperty.lerp(a?.elevation, b?.elevation, t, lerpDouble), - backgroundColor: MaterialStateProperty.lerp( + elevation: WidgetStateProperty.lerp(a?.elevation, b?.elevation, t, lerpDouble), + backgroundColor: WidgetStateProperty.lerp( a?.backgroundColor, b?.backgroundColor, t, Color.lerp, ), - shadowColor: MaterialStateProperty.lerp( - a?.shadowColor, - b?.shadowColor, - t, - Color.lerp, - ), - surfaceTintColor: MaterialStateProperty.lerp( + shadowColor: WidgetStateProperty.lerp(a?.shadowColor, b?.shadowColor, t, Color.lerp), + surfaceTintColor: WidgetStateProperty.lerp( a?.surfaceTintColor, b?.surfaceTintColor, t, Color.lerp, ), - overlayColor: MaterialStateProperty.lerp( + overlayColor: WidgetStateProperty.lerp( a?.overlayColor, b?.overlayColor, t, Color.lerp, ), - side: _lerpSides(a?.side, b?.side, t), - shape: MaterialStateProperty.lerp( - a?.shape, - b?.shape, - t, - OutlinedBorder.lerp, - ), - padding: MaterialStateProperty.lerp( + side: MaterialStateBorderSide.lerp(a?.side, b?.side, t), + shape: WidgetStateProperty.lerp(a?.shape, b?.shape, t, OutlinedBorder.lerp), + padding: WidgetStateProperty.lerp( a?.padding, b?.padding, t, EdgeInsetsGeometry.lerp, ), - textStyle: MaterialStateProperty.lerp( + textStyle: WidgetStateProperty.lerp( a?.textStyle, b?.textStyle, t, TextStyle.lerp, ), - hintStyle: MaterialStateProperty.lerp( + hintStyle: WidgetStateProperty.lerp( a?.hintStyle, b?.hintStyle, t, @@ -228,66 +218,58 @@ class SearchBarThemeData with Diagnosticable { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.add( - DiagnosticsProperty>( - 'elevation', - elevation, - defaultValue: null, - ), + DiagnosticsProperty>('elevation', elevation, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'backgroundColor', backgroundColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'shadowColor', shadowColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'surfaceTintColor', surfaceTintColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'overlayColor', overlayColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>('side', side, defaultValue: null), + DiagnosticsProperty>('side', side, defaultValue: null), ); properties.add( - DiagnosticsProperty>( - 'shape', - shape, - defaultValue: null, - ), + DiagnosticsProperty>('shape', shape, defaultValue: null), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'padding', padding, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'textStyle', textStyle, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'hintStyle', hintStyle, defaultValue: null, @@ -304,18 +286,6 @@ class SearchBarThemeData with Diagnosticable { ), ); } - - // Special case because BorderSide.lerp() doesn't support null arguments - static MaterialStateProperty? _lerpSides( - MaterialStateProperty? a, - MaterialStateProperty? b, - double t, - ) { - if (identical(a, b)) { - return a; - } - return MaterialStateBorderSide.lerp(a, b, t); - } } /// Applies a search bar theme to descendant [SearchBar] widgets. diff --git a/packages/flutter/lib/src/material/search_view_theme.dart b/packages/flutter/lib/src/material/search_view_theme.dart index ee17846f08087..980c4a02c9bc3 100644 --- a/packages/flutter/lib/src/material/search_view_theme.dart +++ b/packages/flutter/lib/src/material/search_view_theme.dart @@ -225,12 +225,18 @@ class SearchViewThemeData with Diagnosticable { // Special case because BorderSide.lerp() doesn't support null arguments static BorderSide? _lerpSides(BorderSide? a, BorderSide? b, double t) { - if (a == null || b == null) { + if (a == null && b == null) { return null; } - if (identical(a, b)) { - return a; + if (a is WidgetStateBorderSide) { + a = a.resolve(const {}); } + if (b is WidgetStateBorderSide) { + b = b.resolve(const {}); + } + a ??= BorderSide(width: 0, color: b!.color.withAlpha(0)); + b ??= BorderSide(width: 0, color: a.color.withAlpha(0)); + return BorderSide.lerp(a, b, t); } } diff --git a/packages/flutter/lib/src/material/segmented_button.dart b/packages/flutter/lib/src/material/segmented_button.dart index 9bf7ec23fd78b..e9300bcd4803b 100644 --- a/packages/flutter/lib/src/material/segmented_button.dart +++ b/packages/flutter/lib/src/material/segmented_button.dart @@ -11,6 +11,7 @@ library; import 'dart:math' as math; import 'dart:math'; +import 'dart:ui' show lerpDouble; import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; @@ -510,7 +511,7 @@ class SegmentedButtonState extends State> { final SegmentedButtonThemeData theme = SegmentedButtonTheme.of(context); final SegmentedButtonThemeData defaults = _SegmentedButtonDefaultsM3(context); final TextDirection textDirection = Directionality.of(context); - const Set disabledState = {MaterialState.disabled}; + const Set disabledState = {WidgetState.disabled}; P? effectiveValue

(P? Function(ButtonStyle? style) getProperty) { late final P? widgetValue = getProperty(widget.style); @@ -520,8 +521,8 @@ class SegmentedButtonState extends State> { } P? resolve

( - MaterialStateProperty

? Function(ButtonStyle? style) getProperty, [ - Set? states, + WidgetStateProperty

? Function(ButtonStyle? style) getProperty, [ + Set? states, ]) { return effectiveValue((ButtonStyle? style) => getProperty(style)?.resolve(states ?? _states)); } @@ -570,44 +571,59 @@ class SegmentedButtonState extends State> { ); controller.update(WidgetState.selected, segmentSelected); - final Widget button = icon != null - ? TextButton.icon( - style: segmentStyle, - statesController: controller, - onHover: (bool hovering) { - setState(() { - _hovering = hovering; - }); - }, - onFocusChange: (bool focused) { - setState(() { - _focused = focused; - }); - }, - onPressed: (_enabled && segment.enabled) - ? () => _handleOnPressed(segment.value) - : null, - icon: icon, - label: label, - ) - : TextButton( - style: segmentStyle, - statesController: controller, - onHover: (bool hovering) { - setState(() { - _hovering = hovering; - }); - }, - onFocusChange: (bool focused) { - setState(() { - _focused = focused; - }); - }, - onPressed: (_enabled && segment.enabled) - ? () => _handleOnPressed(segment.value) - : null, - child: label, - ); + Widget content = label; + ButtonStyle effectiveSegmentStyle = segmentStyle; + if (icon != null) { + // This logic is needed to get the exact same rendering as using TextButton.icon. + // It is duplicated from _TextButtonWithIcon and _TextButtonWithIconChild. + // TODO(bleroux): remove once https://github.com/flutter/flutter/issues/173944 is fixed. + final bool useMaterial3 = Theme.of(context).useMaterial3; + final double defaultFontSize = + segmentStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; + final double effectiveTextScale = + MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0; + final EdgeInsetsGeometry scaledPadding = ButtonStyleButton.scaledPadding( + useMaterial3 + ? const EdgeInsetsDirectional.fromSTEB(12, 8, 16, 8) + : const EdgeInsets.all(8), + const EdgeInsets.symmetric(horizontal: 4), + const EdgeInsets.symmetric(horizontal: 4), + effectiveTextScale, + ); + effectiveSegmentStyle = segmentStyle.copyWith( + padding: MaterialStatePropertyAll(scaledPadding), + ); + final double scale = clampDouble(effectiveTextScale, 1.0, 2.0) - 1.0; + final TextButtonThemeData textButtonTheme = TextButtonTheme.of(context); + final IconAlignment effectiveIconAlignment = + textButtonTheme.style?.iconAlignment ?? + segmentStyle.iconAlignment ?? + IconAlignment.start; + content = Row( + mainAxisSize: MainAxisSize.min, + spacing: lerpDouble(8, 4, scale)!, + children: effectiveIconAlignment == IconAlignment.start + ? [icon, Flexible(child: label)] + : [Flexible(child: label), icon], + ); + } + + final Widget button = TextButton( + style: effectiveSegmentStyle, + statesController: controller, + onHover: (bool hovering) { + setState(() { + _hovering = hovering; + }); + }, + onFocusChange: (bool focused) { + setState(() { + _focused = focused; + }); + }, + onPressed: (_enabled && segment.enabled) ? () => _handleOnPressed(segment.value) : null, + child: content, + ); final Widget buttonWithTooltip = segment.tooltip != null ? Tooltip(message: segment.tooltip, child: button) diff --git a/packages/flutter/lib/src/material/shaders/stretch_effect.frag b/packages/flutter/lib/src/material/shaders/stretch_effect.frag new file mode 100644 index 0000000000000..53be5a6971e1c --- /dev/null +++ b/packages/flutter/lib/src/material/shaders/stretch_effect.frag @@ -0,0 +1,159 @@ +#version 320 es +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This shader was created based on or with reference to the implementation found at: +// https://cs.android.com/android/platform/superproject/main/+/512046e84bcc51cc241bc6599f83ab345e93ab12:frameworks/base/libs/hwui/effects/StretchEffect.cpp + +#include + +uniform vec2 u_size; +uniform sampler2D u_texture; + +// Multiplier to apply to scale effect. +uniform float u_max_stretch_intensity; + +// Normalized overscroll amount in the horizontal direction. +uniform float u_overscroll_x; + +// Normalized overscroll amount in the vertical direction. +uniform float u_overscroll_y; + +// u_interpolation_strength is the intensity of the interpolation. +uniform float u_interpolation_strength; + +float ease_in(float t, float d) { + return t * d; +} + +float compute_overscroll_start( + float in_pos, + float overscroll, + float u_stretch_affected_dist, + float u_inverse_stretch_affected_dist, + float distance_stretched, + float interpolation_strength +) { + float offset_pos = u_stretch_affected_dist - in_pos; + float pos_based_variation = mix( + 1.0, + ease_in(offset_pos, u_inverse_stretch_affected_dist), + interpolation_strength + ); + float stretch_intensity = overscroll * pos_based_variation; + return distance_stretched - (offset_pos / (1.0 + stretch_intensity)); +} + +float compute_overscroll_end( + float in_pos, + float overscroll, + float reverse_stretch_dist, + float u_stretch_affected_dist, + float u_inverse_stretch_affected_dist, + float distance_stretched, + float interpolation_strength, + float viewport_dimension +) { + float offset_pos = in_pos - reverse_stretch_dist; + float pos_based_variation = mix( + 1.0, + ease_in(offset_pos, u_inverse_stretch_affected_dist), + interpolation_strength + ); + float stretch_intensity = (-overscroll) * pos_based_variation; + return viewport_dimension - (distance_stretched - (offset_pos / (1.0 + stretch_intensity))); +} + +float compute_streched_effect( + float in_pos, + float overscroll, + float u_stretch_affected_dist, + float u_inverse_stretch_affected_dist, + float distance_stretched, + float distance_diff, + float interpolation_strength, + float viewport_dimension +) { + if (overscroll > 0.0) { + if (in_pos <= u_stretch_affected_dist) { + return compute_overscroll_start( + in_pos, overscroll, u_stretch_affected_dist, + u_inverse_stretch_affected_dist, distance_stretched, + interpolation_strength + ); + } else { + return distance_diff + in_pos; + } + } else if (overscroll < 0.0) { + float stretch_affected_dist_calc = viewport_dimension - u_stretch_affected_dist; + if (in_pos >= stretch_affected_dist_calc) { + return compute_overscroll_end( + in_pos, + overscroll, + stretch_affected_dist_calc, + u_stretch_affected_dist, + u_inverse_stretch_affected_dist, + distance_stretched, + interpolation_strength, + viewport_dimension + ); + } else { + return -distance_diff + in_pos; + } + } else { + return in_pos; + } +} + +out vec4 frag_color; + +void main() { + vec2 uv = FlutterFragCoord().xy / u_size; + float in_u_norm = uv.x; + float in_v_norm = uv.y; + + float out_u_norm; + float out_v_norm; + + bool isVertical = u_overscroll_y != 0; + float overscroll = isVertical ? u_overscroll_y : u_overscroll_x; + + float norm_distance_stretched = 1.0 / (1.0 + abs(overscroll)); + float norm_dist_diff = norm_distance_stretched - 1.0; + + const float norm_viewport = 1.0; + const float norm_stretch_affected_dist = 1.0; + const float norm_inverse_stretch_affected_dist = 1.0; + + out_u_norm = isVertical ? in_u_norm : compute_streched_effect( + in_u_norm, + overscroll, + norm_stretch_affected_dist, + norm_inverse_stretch_affected_dist, + norm_distance_stretched, + norm_dist_diff, + u_interpolation_strength, + norm_viewport + ); + + out_v_norm = isVertical ? compute_streched_effect( + in_v_norm, + overscroll, + norm_stretch_affected_dist, + norm_inverse_stretch_affected_dist, + norm_distance_stretched, + norm_dist_diff, + u_interpolation_strength, + norm_viewport + ) : in_v_norm; + + uv.x = out_u_norm; + #ifdef IMPELLER_TARGET_OPENGLES + uv.y = 1.0 - out_v_norm; + #else + uv.y = out_v_norm; + #endif + + frag_color = texture(u_texture, uv); +} diff --git a/packages/flutter/lib/src/material/slider_parts.dart b/packages/flutter/lib/src/material/slider_parts.dart index 925d066d47831..2df54388785c0 100644 --- a/packages/flutter/lib/src/material/slider_parts.dart +++ b/packages/flutter/lib/src/material/slider_parts.dart @@ -13,7 +13,6 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'colors.dart'; -import 'material_state.dart'; import 'slider.dart'; import 'slider_theme.dart'; import 'slider_value_indicator_shape.dart'; @@ -1027,7 +1026,7 @@ class HandleThumbShape extends SliderComponentShape { final Canvas canvas = context.canvas; final Size thumbSize = sliderTheme.thumbSize!.resolve( - {}, + {}, )!; // This is resolved in the paint method. final RRect rrect = RRect.fromRectAndRadius( Rect.fromCenter(center: center, width: thumbSize.width, height: thumbSize.height), diff --git a/packages/flutter/lib/src/material/slider_theme.dart b/packages/flutter/lib/src/material/slider_theme.dart index 4a4f05d2f811e..be00919972066 100644 --- a/packages/flutter/lib/src/material/slider_theme.dart +++ b/packages/flutter/lib/src/material/slider_theme.dart @@ -14,7 +14,6 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'colors.dart'; -import 'material_state.dart'; import 'range_slider_parts.dart'; import 'slider.dart'; import 'slider_parts.dart'; @@ -601,7 +600,7 @@ class SliderThemeData with Diagnosticable { /// {@macro flutter.material.slider.mouseCursor} /// /// If specified, overrides the default value of [Slider.mouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// Allowed way for the user to interact with the [Slider]. /// @@ -621,7 +620,7 @@ class SliderThemeData with Diagnosticable { /// If [SliderThemeData.thumbShape] is [HandleThumbShape], this property is used to /// set the size of the thumb. Otherwise, the default thumb size is 4 pixels for the /// width and 44 pixels for the height. - final MaterialStateProperty? thumbSize; + final WidgetStateProperty? thumbSize; /// The size of the gap between the active and inactive tracks of the [GappedSliderTrackShape]. /// @@ -632,7 +631,7 @@ class SliderThemeData with Diagnosticable { /// The Slider defaults to [GappedSliderTrackShape] when the track shape is /// not specified, and the [trackGap] can be used to adjust the gap size. /// - /// If [Slider.year2023] is false or [ThemeData.useMaterial3] is false, then + /// If [Slider.year2023] is true or [ThemeData.useMaterial3] is false, then /// the Slider track shape defaults to [RoundedRectSliderTrackShape] and the /// [trackGap] is ignored. In this case, set the track shape to /// [GappedSliderTrackShape] to use the [trackGap]. @@ -689,10 +688,10 @@ class SliderThemeData with Diagnosticable { TextStyle? valueIndicatorTextStyle, double? minThumbSeparation, RangeThumbSelector? thumbSelector, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, SliderInteraction? allowedInteraction, EdgeInsetsGeometry? padding, - MaterialStateProperty? thumbSize, + WidgetStateProperty? thumbSize, double? trackGap, bool? year2023, }) { @@ -815,7 +814,7 @@ class SliderThemeData with Diagnosticable { mouseCursor: t < 0.5 ? a.mouseCursor : b.mouseCursor, allowedInteraction: t < 0.5 ? a.allowedInteraction : b.allowedInteraction, padding: EdgeInsetsGeometry.lerp(a.padding, b.padding, t), - thumbSize: MaterialStateProperty.lerp(a.thumbSize, b.thumbSize, t, Size.lerp), + thumbSize: WidgetStateProperty.lerp(a.thumbSize, b.thumbSize, t, Size.lerp), trackGap: lerpDouble(a.trackGap, b.trackGap, t), year2023: t < 0.5 ? a.year2023 : b.year2023, ); @@ -1110,7 +1109,7 @@ class SliderThemeData with Diagnosticable { ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: defaultData.mouseCursor, @@ -1131,7 +1130,7 @@ class SliderThemeData with Diagnosticable { ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'thumbSize', thumbSize, defaultValue: defaultData.thumbSize, diff --git a/packages/flutter/lib/src/material/snack_bar.dart b/packages/flutter/lib/src/material/snack_bar.dart index d2d8c6683515e..0b2d83872536b 100644 --- a/packages/flutter/lib/src/material/snack_bar.dart +++ b/packages/flutter/lib/src/material/snack_bar.dart @@ -15,7 +15,6 @@ import 'icon_button.dart'; import 'icons.dart'; import 'material.dart'; import 'material_localizations.dart'; -import 'material_state.dart'; import 'scaffold.dart'; import 'snack_bar_theme.dart'; import 'text_button.dart'; @@ -96,9 +95,9 @@ class SnackBarAction extends StatefulWidget { required this.label, required this.onPressed, }) : assert( - backgroundColor is! MaterialStateColor || disabledBackgroundColor == null, + backgroundColor is! WidgetStateColor || disabledBackgroundColor == null, 'disabledBackgroundColor must not be provided when background color is ' - 'a MaterialStateColor', + 'a WidgetStateColor', ); /// The button label color. If not provided, defaults to @@ -162,23 +161,23 @@ class _SnackBarActionState extends State { : _SnackbarDefaultsM2(context); final SnackBarThemeData snackBarTheme = Theme.of(context).snackBarTheme; - MaterialStateColor resolveForegroundColor() { + WidgetStateColor resolveForegroundColor() { if (widget.textColor != null) { - if (widget.textColor is MaterialStateColor) { - return widget.textColor! as MaterialStateColor; + if (widget.textColor is WidgetStateColor) { + return widget.textColor! as WidgetStateColor; } } else if (snackBarTheme.actionTextColor != null) { - if (snackBarTheme.actionTextColor is MaterialStateColor) { - return snackBarTheme.actionTextColor! as MaterialStateColor; + if (snackBarTheme.actionTextColor is WidgetStateColor) { + return snackBarTheme.actionTextColor! as WidgetStateColor; } } else if (defaults.actionTextColor != null) { - if (defaults.actionTextColor is MaterialStateColor) { - return defaults.actionTextColor! as MaterialStateColor; + if (defaults.actionTextColor is WidgetStateColor) { + return defaults.actionTextColor! as WidgetStateColor; } } - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return widget.disabledTextColor ?? snackBarTheme.disabledActionTextColor ?? defaults.disabledActionTextColor!; @@ -187,15 +186,15 @@ class _SnackBarActionState extends State { }); } - MaterialStateColor? resolveBackgroundColor() { - if (widget.backgroundColor is MaterialStateColor) { - return widget.backgroundColor! as MaterialStateColor; + WidgetStateColor? resolveBackgroundColor() { + if (widget.backgroundColor is WidgetStateColor) { + return widget.backgroundColor! as WidgetStateColor; } - if (snackBarTheme.actionBackgroundColor is MaterialStateColor) { - return snackBarTheme.actionBackgroundColor! as MaterialStateColor; + if (snackBarTheme.actionBackgroundColor is WidgetStateColor) { + return snackBarTheme.actionBackgroundColor! as WidgetStateColor; } - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return widget.disabledBackgroundColor ?? snackBarTheme.disabledActionBackgroundColor ?? Colors.transparent; @@ -289,6 +288,7 @@ class SnackBar extends StatefulWidget { this.showCloseIcon, this.closeIconColor, this.duration = _snackBarDisplayDuration, + bool? persist, this.animation, this.onVisible, this.dismissDirection, @@ -299,7 +299,8 @@ class SnackBar extends StatefulWidget { actionOverflowThreshold == null || (actionOverflowThreshold >= 0 && actionOverflowThreshold <= 1), 'Action overflow threshold must be between 0 and 1 inclusive', - ); + ), + persist = persist ?? action != null; /// The primary content of the snack bar. /// @@ -459,6 +460,17 @@ class SnackBar extends StatefulWidget { /// * final Duration duration; + /// Whether the snack bar will stay or auto-dismiss after timeout. + /// + /// If true, the snack bar remains visible even after the timeout, until the + /// user taps the action button or the close icon. + /// + /// If false, the snack bar will be dismissed after the timeout. + /// + /// If not provided, but the snackbar action is not null, the snackbar will + /// persist as well. + final bool persist; + /// The animation driving the entrance and exit of the snack bar. final Animation? animation; @@ -521,6 +533,7 @@ class SnackBar extends StatefulWidget { showCloseIcon: showCloseIcon, closeIconColor: closeIconColor, duration: duration, + persist: persist, animation: newAnimation, onVisible: onVisible, dismissDirection: dismissDirection, @@ -939,17 +952,17 @@ class _SnackbarDefaultsM3 extends SnackBarThemeData { Color get backgroundColor => _colors.inverseSurface; @override - Color get actionTextColor => MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + Color get actionTextColor => WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.inversePrimary; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.inversePrimary; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.inversePrimary; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.inversePrimary; } return _colors.inversePrimary; diff --git a/packages/flutter/lib/src/material/snack_bar_theme.dart b/packages/flutter/lib/src/material/snack_bar_theme.dart index 48c07d4239fe4..6423a3765d62d 100644 --- a/packages/flutter/lib/src/material/snack_bar_theme.dart +++ b/packages/flutter/lib/src/material/snack_bar_theme.dart @@ -16,7 +16,6 @@ import 'dart:ui' show lerpDouble; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'theme.dart'; /// Defines where a [SnackBar] should appear within a [Scaffold] and how its @@ -91,9 +90,9 @@ class SnackBarThemeData with Diagnosticable { 'Action overflow threshold must be between 0 and 1 inclusive', ), assert( - actionBackgroundColor is! MaterialStateColor || disabledActionBackgroundColor == null, + actionBackgroundColor is! WidgetStateColor || disabledActionBackgroundColor == null, 'disabledBackgroundColor must not be provided when background color is ' - 'a MaterialStateColor', + 'a WidgetStateColor', ); /// Overrides the default value for [SnackBar.backgroundColor]. diff --git a/packages/flutter/lib/src/material/stepper.dart b/packages/flutter/lib/src/material/stepper.dart index 664f715d85953..3d1961fe0c68e 100644 --- a/packages/flutter/lib/src/material/stepper.dart +++ b/packages/flutter/lib/src/material/stepper.dart @@ -348,7 +348,7 @@ class Stepper extends StatefulWidget { /// /// If not set then the widget will use default colors, primary for selected state /// and grey.shade400 for disabled state. - final MaterialStateProperty? connectorColor; + final WidgetStateProperty? connectorColor; /// The thickness of the connecting lines. final double? connectorThickness; @@ -448,8 +448,8 @@ class _StepperState extends State with TickerProviderStateMixin { Color _connectorColor(bool isActive) { final ColorScheme colorScheme = Theme.of(context).colorScheme; - final Set states = { - if (isActive) MaterialState.selected else MaterialState.disabled, + final Set states = { + if (isActive) WidgetState.selected else WidgetState.disabled, }; final Color? resolvedConnectorColor = widget.connectorColor?.resolve(states); @@ -484,8 +484,8 @@ class _StepperState extends State with TickerProviderStateMixin { Color _circleColor(int index) { final bool isActive = widget.steps[index].isActive; final ColorScheme colorScheme = Theme.of(context).colorScheme; - final Set states = { - if (isActive) MaterialState.selected else MaterialState.disabled, + final Set states = { + if (isActive) WidgetState.selected else WidgetState.disabled, }; final Color? resolvedConnectorColor = widget.connectorColor?.resolve(states); if (resolvedConnectorColor != null) { @@ -617,17 +617,13 @@ class _StepperState extends State with TickerProviderStateMixin { TextButton( onPressed: widget.onStepContinue, style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(( - Set states, - ) { - return states.contains(MaterialState.disabled) + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.disabled) ? null : (_isDark() ? colorScheme.onSurface : colorScheme.onPrimary); }), - backgroundColor: MaterialStateProperty.resolveWith(( - Set states, - ) { - return _isDark() || states.contains(MaterialState.disabled) + backgroundColor: WidgetStateProperty.resolveWith((Set states) { + return _isDark() || states.contains(WidgetState.disabled) ? null : colorScheme.primary; }), @@ -748,6 +744,7 @@ class _StepperState extends State with TickerProviderStateMixin { Widget _buildVerticalHeader(int index) { final bool isActive = widget.steps[index].isActive; + final bool isPreviousActive = index > 0 && widget.steps[index - 1].isActive; return Padding( padding: const EdgeInsets.symmetric(horizontal: 24.0), child: Row( @@ -756,7 +753,7 @@ class _StepperState extends State with TickerProviderStateMixin { children: [ // Line parts are always added in order for the ink splash to // flood the tips of the connector lines. - _buildLine(!_isFirst(index), isActive), + _buildLine(!_isFirst(index), isPreviousActive), _buildIcon(index), _buildLine(!_isLast(index), isActive), ], diff --git a/packages/flutter/lib/src/material/switch.dart b/packages/flutter/lib/src/material/switch.dart index 94250bb077bab..e77406a920558 100644 --- a/packages/flutter/lib/src/material/switch.dart +++ b/packages/flutter/lib/src/material/switch.dart @@ -342,7 +342,7 @@ class Switch extends StatelessWidget { /// | Default | `Colors.grey.shade50` | `Colors.grey.shade400` | /// | Selected | [ColorScheme.secondary] | [ColorScheme.secondary] | /// | Disabled | `Colors.grey.shade400` | `Colors.grey.shade800` | - final MaterialStateProperty? thumbColor; + final WidgetStateProperty? thumbColor; /// {@template flutter.material.switch.trackColor} /// The color of this [Switch]'s track. @@ -383,7 +383,7 @@ class Switch extends StatelessWidget { /// | Default | `Color(0x52000000)` | `Colors.white30` | /// | Selected | [activeThumbColor] with alpha `0x80` | [activeThumbColor] with alpha `0x80` | /// | Disabled | `Colors.black12` | `Colors.white10` | - final MaterialStateProperty? trackColor; + final WidgetStateProperty? trackColor; /// {@template flutter.material.switch.trackOutlineColor} /// The outline color of this [Switch]'s track. @@ -417,7 +417,7 @@ class Switch extends StatelessWidget { /// In Material 3, the outline color defaults to transparent in the selected /// state and [ColorScheme.outline] in the unselected state. In Material 2, /// the [Switch] track has no outline by default. - final MaterialStateProperty? trackOutlineColor; + final WidgetStateProperty? trackOutlineColor; /// {@template flutter.material.switch.trackOutlineWidth} /// The outline width of this [Switch]'s track. @@ -449,7 +449,7 @@ class Switch extends StatelessWidget { /// {@endtemplate} /// /// Defaults to 2.0. - final MaterialStateProperty? trackOutlineWidth; + final WidgetStateProperty? trackOutlineWidth; /// {@template flutter.material.switch.thumbIcon} /// The icon to use on the thumb of this switch @@ -482,7 +482,7 @@ class Switch extends StatelessWidget { /// /// If null, then the value of [SwitchThemeData.thumbIcon] is used. If this is also null, /// then the [Switch] does not have any icons on the thumb. - final MaterialStateProperty? thumbIcon; + final WidgetStateProperty? thumbIcon; /// {@template flutter.material.switch.materialTapTargetSize} /// Configures the minimum size of the tap target. @@ -559,7 +559,7 @@ class Switch extends StatelessWidget { /// also null, then the value of [ColorScheme.secondary] with alpha /// [kRadialReactionAlpha], [ThemeData.focusColor] and [ThemeData.hoverColor] /// is used in the pressed, focused and hovered state. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@template flutter.material.switch.splashRadius} /// The splash radius of the circular [Material] ink response. @@ -720,17 +720,17 @@ class _MaterialSwitch extends StatefulWidget { final ImageErrorListener? onActiveThumbImageError; final ImageProvider? inactiveThumbImage; final ImageErrorListener? onInactiveThumbImageError; - final MaterialStateProperty? thumbColor; - final MaterialStateProperty? trackColor; - final MaterialStateProperty? trackOutlineColor; - final MaterialStateProperty? trackOutlineWidth; - final MaterialStateProperty? thumbIcon; + final WidgetStateProperty? thumbColor; + final WidgetStateProperty? trackColor; + final WidgetStateProperty? trackOutlineColor; + final WidgetStateProperty? trackOutlineWidth; + final WidgetStateProperty? thumbIcon; final MaterialTapTargetSize? materialTapTargetSize; final DragStartBehavior dragStartBehavior; final MouseCursor? mouseCursor; final Color? focusColor; final Color? hoverColor; - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; final double? splashRadius; final FocusNode? focusNode; final ValueChanged? onFocusChange; @@ -806,21 +806,21 @@ class _MaterialSwitchState extends State<_MaterialSwitch> } } - MaterialStateProperty get _widgetThumbColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty get _widgetThumbColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return widget.inactiveThumbColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return widget.activeThumbColor; } return widget.inactiveThumbColor; }); } - MaterialStateProperty get _widgetTrackColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get _widgetTrackColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return widget.activeTrackColor; } return widget.inactiveTrackColor; @@ -955,8 +955,8 @@ class _MaterialSwitchState extends State<_MaterialSwitch> // Colors need to be resolved in selected and non selected states separately // so that they can be lerped between. - final Set activeStates = states..add(MaterialState.selected); - final Set inactiveStates = states..remove(MaterialState.selected); + final Set activeStates = states..add(WidgetState.selected); + final Set inactiveStates = states..remove(WidgetState.selected); final Color? activeThumbColor = widget.thumbColor?.resolve(activeStates) ?? @@ -1011,7 +1011,7 @@ class _MaterialSwitchState extends State<_MaterialSwitch> final Color effectiveInactiveIconColor = effectiveInactiveIcon?.color ?? switchConfig.iconColor.resolve(inactiveStates); - final Set focusedStates = states..add(MaterialState.focused); + final Set focusedStates = states..add(WidgetState.focused); final Color effectiveFocusOverlayColor = widget.overlayColor?.resolve(focusedStates) ?? widget.focusColor ?? @@ -1023,14 +1023,14 @@ class _MaterialSwitchState extends State<_MaterialSwitch> : null) ?? defaults.overlayColor!.resolve(focusedStates)!; - final Set hoveredStates = states..add(MaterialState.hovered); + final Set hoveredStates = states..add(WidgetState.hovered); final Color effectiveHoverOverlayColor = widget.overlayColor?.resolve(hoveredStates) ?? widget.hoverColor ?? switchTheme.overlayColor?.resolve(hoveredStates) ?? defaults.overlayColor!.resolve(hoveredStates)!; - final Set activePressedStates = activeStates..add(MaterialState.pressed); + final Set activePressedStates = activeStates..add(WidgetState.pressed); final Color effectiveActivePressedThumbColor = widget.thumbColor?.resolve(activePressedStates) ?? _widgetThumbColor.resolve(activePressedStates) ?? @@ -1042,7 +1042,7 @@ class _MaterialSwitchState extends State<_MaterialSwitch> activeThumbColor?.withAlpha(kRadialReactionAlpha) ?? defaults.overlayColor!.resolve(activePressedStates)!; - final Set inactivePressedStates = inactiveStates..add(MaterialState.pressed); + final Set inactivePressedStates = inactiveStates..add(WidgetState.pressed); final Color effectiveInactivePressedThumbColor = widget.thumbColor?.resolve(inactivePressedStates) ?? _widgetThumbColor.resolve(inactivePressedStates) ?? @@ -1054,9 +1054,9 @@ class _MaterialSwitchState extends State<_MaterialSwitch> inactiveThumbColor?.withAlpha(kRadialReactionAlpha) ?? defaults.overlayColor!.resolve(inactivePressedStates)!; - final MaterialStateProperty effectiveMouseCursor = - MaterialStateProperty.resolveWith((Set states) { - return MaterialStateProperty.resolveAs(widget.mouseCursor, states) ?? + final WidgetStateProperty effectiveMouseCursor = + WidgetStateProperty.resolveWith((Set states) { + return WidgetStateProperty.resolveAs(widget.mouseCursor, states) ?? switchTheme.mouseCursor?.resolve(states) ?? defaults.mouseCursor!.resolve(states)!; }); @@ -1098,8 +1098,8 @@ class _MaterialSwitchState extends State<_MaterialSwitch> ..focusColor = effectiveFocusOverlayColor ..splashRadius = effectiveSplashRadius ..downPosition = downPosition - ..isFocused = states.contains(MaterialState.focused) - ..isHovered = states.contains(MaterialState.hovered) + ..isFocused = states.contains(WidgetState.focused) + ..isHovered = states.contains(WidgetState.hovered) ..activeColor = effectiveActiveThumbColor ..inactiveColor = effectiveInactiveThumbColor ..activePressedColor = effectiveActivePressedThumbColor @@ -1921,7 +1921,7 @@ mixin _SwitchConfig { double get pressedThumbRadius; double get thumbRadiusWithIcon; List? get thumbShadow; - MaterialStateProperty get iconColor; + WidgetStateProperty get iconColor; double? get thumbOffset; Size get transitionalThumbSize; int get toggleDuration; @@ -1935,9 +1935,9 @@ class _SwitchDefaultsCupertino extends SwitchThemeData { final BuildContext context; @override - MaterialStateProperty get mouseCursor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty get mouseCursor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return kIsWeb ? SystemMouseCursors.click : SystemMouseCursors.basic; @@ -1945,13 +1945,12 @@ class _SwitchDefaultsCupertino extends SwitchThemeData { } @override - MaterialStateProperty get thumbColor => - const MaterialStatePropertyAll(Colors.white); + WidgetStateProperty get thumbColor => const MaterialStatePropertyAll(Colors.white); @override - MaterialStateProperty get trackColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get trackColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return CupertinoDynamicColor.resolve(CupertinoColors.systemGreen, context); } return CupertinoDynamicColor.resolve(CupertinoColors.secondarySystemFill, context); @@ -1959,13 +1958,13 @@ class _SwitchDefaultsCupertino extends SwitchThemeData { } @override - MaterialStateProperty get trackOutlineColor => + WidgetStateProperty get trackOutlineColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return HSLColor.fromColor( CupertinoDynamicColor.resolve(CupertinoColors.systemGreen, context).withOpacity(0.80), ).withLightness(0.69).withSaturation(0.835).toColor(); @@ -1987,9 +1986,9 @@ class _SwitchConfigCupertino with _SwitchConfig { final ColorScheme _colors; @override - MaterialStateProperty get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } return _colors.onPrimaryContainer; @@ -2053,8 +2052,7 @@ class _SwitchConfigM2 with _SwitchConfig { double get activeThumbRadius => 10.0; @override - MaterialStateProperty get iconColor => - MaterialStateProperty.all(Colors.transparent); + WidgetStateProperty get iconColor => WidgetStateProperty.all(Colors.transparent); @override double get inactiveThumbRadius => 10.0; @@ -2105,14 +2103,14 @@ class _SwitchDefaultsM2 extends SwitchThemeData { final ColorScheme _colors; @override - MaterialStateProperty get thumbColor { + WidgetStateProperty get thumbColor { final bool isDark = _theme.brightness == Brightness.dark; - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return isDark ? Colors.grey.shade800 : Colors.grey.shade400; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return _colors.secondary; } return isDark ? Colors.grey.shade400 : Colors.grey.shade50; @@ -2120,15 +2118,15 @@ class _SwitchDefaultsM2 extends SwitchThemeData { } @override - MaterialStateProperty get trackColor { + WidgetStateProperty get trackColor { final bool isDark = _theme.brightness == Brightness.dark; const Color black32 = Color(0x52000000); // Black with 32% opacity - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return isDark ? Colors.white10 : Colors.black12; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { final Color activeColor = _colors.secondary; return activeColor.withAlpha(0x80); } @@ -2137,27 +2135,27 @@ class _SwitchDefaultsM2 extends SwitchThemeData { } @override - MaterialStateProperty? get trackOutlineColor => + WidgetStateProperty? get trackOutlineColor => const MaterialStatePropertyAll(Colors.transparent); @override MaterialTapTargetSize get materialTapTargetSize => _theme.materialTapTargetSize; @override - MaterialStateProperty get mouseCursor => MaterialStateProperty.resolveWith( - (Set states) => MaterialStateMouseCursor.clickable.resolve(states), + WidgetStateProperty get mouseCursor => WidgetStateProperty.resolveWith( + (Set states) => MaterialStateMouseCursor.clickable.resolve(states), ); @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return thumbColor.resolve(states).withAlpha(kRadialReactionAlpha); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _theme.hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _theme.focusColor; } return null; @@ -2186,33 +2184,33 @@ class _SwitchDefaultsM3 extends SwitchThemeData { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get thumbColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get thumbColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return _colors.surface.withOpacity(1.0); } return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.primaryContainer; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primaryContainer; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primaryContainer; } return _colors.onPrimary; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurfaceVariant; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurfaceVariant; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurfaceVariant; } return _colors.outline; @@ -2220,33 +2218,33 @@ class _SwitchDefaultsM3 extends SwitchThemeData { } @override - MaterialStateProperty get trackColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get trackColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return _colors.onSurface.withOpacity(0.12); } return _colors.surfaceContainerHighest.withOpacity(0.12); } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary; } return _colors.primary; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.surfaceContainerHighest; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.surfaceContainerHighest; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.surfaceContainerHighest; } return _colors.surfaceContainerHighest; @@ -2254,12 +2252,12 @@ class _SwitchDefaultsM3 extends SwitchThemeData { } @override - MaterialStateProperty get trackOutlineColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get trackOutlineColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return Colors.transparent; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.12); } return _colors.outline; @@ -2267,27 +2265,27 @@ class _SwitchDefaultsM3 extends SwitchThemeData { } @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } return null; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface.withOpacity(0.1); } return null; @@ -2295,8 +2293,8 @@ class _SwitchDefaultsM3 extends SwitchThemeData { } @override - MaterialStateProperty get mouseCursor { - return MaterialStateProperty.resolveWith((Set states) + WidgetStateProperty get mouseCursor { + return WidgetStateProperty.resolveWith((Set states) => MaterialStateMouseCursor.clickable.resolve(states)); } @@ -2323,33 +2321,33 @@ class _SwitchConfigM3 with _SwitchConfig { double get activeThumbRadius => 24.0 / 2; @override - MaterialStateProperty get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return _colors.onSurface.withOpacity(0.38); } return _colors.surfaceContainerHighest.withOpacity(0.38); } - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.onPrimaryContainer; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onPrimaryContainer; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onPrimaryContainer; } return _colors.onPrimaryContainer; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.surfaceContainerHighest; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.surfaceContainerHighest; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.surfaceContainerHighest; } return _colors.surfaceContainerHighest; diff --git a/packages/flutter/lib/src/material/switch_list_tile.dart b/packages/flutter/lib/src/material/switch_list_tile.dart index aa82a25cc6267..ab9463d307d9a 100644 --- a/packages/flutter/lib/src/material/switch_list_tile.dart +++ b/packages/flutter/lib/src/material/switch_list_tile.dart @@ -18,7 +18,6 @@ import 'package:flutter/widgets.dart'; import 'list_tile.dart'; import 'list_tile_theme.dart'; -import 'material_state.dart'; import 'switch.dart'; import 'switch_theme.dart'; import 'theme.dart'; @@ -373,7 +372,7 @@ class SwitchListTile extends StatelessWidget { /// and [inactiveThumbColor] in the default state. If that is also null, then /// the value of [SwitchThemeData.thumbColor] is used. If that is also null, /// The default value is used. - final MaterialStateProperty? thumbColor; + final WidgetStateProperty? thumbColor; /// The color of this switch's track. /// @@ -386,7 +385,7 @@ class SwitchListTile extends StatelessWidget { /// state and [inactiveTrackColor] in the default state. If that is also null, /// then the value of [SwitchThemeData.trackColor] is used. If that is also /// null, then the default value is used. - final MaterialStateProperty? trackColor; + final WidgetStateProperty? trackColor; /// {@macro flutter.material.switch.trackOutlineColor} /// @@ -396,7 +395,7 @@ class SwitchListTile extends StatelessWidget { /// In Material 3, the outline color defaults to transparent in the selected /// state and [ColorScheme.outline] in the unselected state. In Material 2, /// the [Switch] track has no outline. - final MaterialStateProperty? trackOutlineColor; + final WidgetStateProperty? trackOutlineColor; /// The icon to use on the thumb of this switch /// @@ -407,7 +406,7 @@ class SwitchListTile extends StatelessWidget { /// /// If null, then the value of [SwitchThemeData.thumbIcon] is used. If this is /// also null, then the [Switch] does not have any icons on the thumb. - final MaterialStateProperty? thumbIcon; + final WidgetStateProperty? thumbIcon; /// {@macro flutter.material.switch.materialTapTargetSize} /// @@ -442,7 +441,7 @@ class SwitchListTile extends StatelessWidget { /// and [hoverColor] is used in the pressed and hovered state. If that is also /// null, the value of [SwitchThemeData.overlayColor] is used. If that is /// also null, then the default value is used in the pressed and hovered state. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@macro flutter.material.switch.splashRadius} /// @@ -618,7 +617,7 @@ class SwitchListTile extends StatelessWidget { final ThemeData theme = Theme.of(context); final SwitchThemeData switchTheme = SwitchTheme.of(context); - final Set states = {if (selected) MaterialState.selected}; + final Set states = {if (selected) WidgetState.selected}; final Color effectiveActiveColor = activeThumbColor ?? activeColor ?? diff --git a/packages/flutter/lib/src/material/switch_theme.dart b/packages/flutter/lib/src/material/switch_theme.dart index 6762f6cfa67af..3aa617f59ecff 100644 --- a/packages/flutter/lib/src/material/switch_theme.dart +++ b/packages/flutter/lib/src/material/switch_theme.dart @@ -11,7 +11,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; -import 'material_state.dart'; import 'theme.dart'; // Examples can assume: @@ -54,22 +53,22 @@ class SwitchThemeData with Diagnosticable { /// {@macro flutter.material.switch.thumbColor} /// /// If specified, overrides the default value of [Switch.thumbColor]. - final MaterialStateProperty? thumbColor; + final WidgetStateProperty? thumbColor; /// {@macro flutter.material.switch.trackColor} /// /// If specified, overrides the default value of [Switch.trackColor]. - final MaterialStateProperty? trackColor; + final WidgetStateProperty? trackColor; /// {@macro flutter.material.switch.trackOutlineColor} /// /// If specified, overrides the default value of [Switch.trackOutlineColor]. - final MaterialStateProperty? trackOutlineColor; + final WidgetStateProperty? trackOutlineColor; /// {@macro flutter.material.switch.trackOutlineWidth} /// /// If specified, overrides the default value of [Switch.trackOutlineWidth]. - final MaterialStateProperty? trackOutlineWidth; + final WidgetStateProperty? trackOutlineWidth; /// {@macro flutter.material.switch.materialTapTargetSize} /// @@ -80,12 +79,12 @@ class SwitchThemeData with Diagnosticable { /// {@macro flutter.material.switch.mouseCursor} /// /// If specified, overrides the default value of [Switch.mouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// {@macro flutter.material.switch.overlayColor} /// /// If specified, overrides the default value of [Switch.overlayColor]. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@macro flutter.material.switch.splashRadius} /// @@ -95,7 +94,7 @@ class SwitchThemeData with Diagnosticable { /// {@macro flutter.material.switch.thumbIcon} /// /// It is overridden by [Switch.thumbIcon]. - final MaterialStateProperty? thumbIcon; + final WidgetStateProperty? thumbIcon; /// If specified, overrides the default value of [Switch.padding]. final EdgeInsetsGeometry? padding; @@ -103,15 +102,15 @@ class SwitchThemeData with Diagnosticable { /// Creates a copy of this object but with the given fields replaced with the /// new values. SwitchThemeData copyWith({ - MaterialStateProperty? thumbColor, - MaterialStateProperty? trackColor, - MaterialStateProperty? trackOutlineColor, - MaterialStateProperty? trackOutlineWidth, + WidgetStateProperty? thumbColor, + WidgetStateProperty? trackColor, + WidgetStateProperty? trackOutlineColor, + WidgetStateProperty? trackOutlineWidth, MaterialTapTargetSize? materialTapTargetSize, - MaterialStateProperty? mouseCursor, - MaterialStateProperty? overlayColor, + WidgetStateProperty? mouseCursor, + WidgetStateProperty? overlayColor, double? splashRadius, - MaterialStateProperty? thumbIcon, + WidgetStateProperty? thumbIcon, EdgeInsetsGeometry? padding, }) { return SwitchThemeData( @@ -136,15 +135,15 @@ class SwitchThemeData with Diagnosticable { return a; } return SwitchThemeData( - thumbColor: MaterialStateProperty.lerp(a?.thumbColor, b?.thumbColor, t, Color.lerp), - trackColor: MaterialStateProperty.lerp(a?.trackColor, b?.trackColor, t, Color.lerp), - trackOutlineColor: MaterialStateProperty.lerp( + thumbColor: WidgetStateProperty.lerp(a?.thumbColor, b?.thumbColor, t, Color.lerp), + trackColor: WidgetStateProperty.lerp(a?.trackColor, b?.trackColor, t, Color.lerp), + trackOutlineColor: WidgetStateProperty.lerp( a?.trackOutlineColor, b?.trackOutlineColor, t, Color.lerp, ), - trackOutlineWidth: MaterialStateProperty.lerp( + trackOutlineWidth: WidgetStateProperty.lerp( a?.trackOutlineWidth, b?.trackOutlineWidth, t, @@ -152,7 +151,7 @@ class SwitchThemeData with Diagnosticable { ), materialTapTargetSize: t < 0.5 ? a?.materialTapTargetSize : b?.materialTapTargetSize, mouseCursor: t < 0.5 ? a?.mouseCursor : b?.mouseCursor, - overlayColor: MaterialStateProperty.lerp( + overlayColor: WidgetStateProperty.lerp( a?.overlayColor, b?.overlayColor, t, @@ -203,28 +202,28 @@ class SwitchThemeData with Diagnosticable { void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'thumbColor', thumbColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'trackColor', trackColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'trackOutlineColor', trackOutlineColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'trackOutlineWidth', trackOutlineWidth, defaultValue: null, @@ -238,14 +237,14 @@ class SwitchThemeData with Diagnosticable { ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'mouseCursor', mouseCursor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'overlayColor', overlayColor, defaultValue: null, @@ -253,7 +252,7 @@ class SwitchThemeData with Diagnosticable { ); properties.add(DoubleProperty('splashRadius', splashRadius, defaultValue: null)); properties.add( - DiagnosticsProperty>('thumbIcon', thumbIcon, defaultValue: null), + DiagnosticsProperty>('thumbIcon', thumbIcon, defaultValue: null), ); properties.add(DiagnosticsProperty('padding', padding, defaultValue: null)); } diff --git a/packages/flutter/lib/src/material/tab_bar_theme.dart b/packages/flutter/lib/src/material/tab_bar_theme.dart index 3ee96b205c5db..80b8025779403 100644 --- a/packages/flutter/lib/src/material/tab_bar_theme.dart +++ b/packages/flutter/lib/src/material/tab_bar_theme.dart @@ -6,7 +6,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'ink_well.dart'; -import 'material_state.dart'; import 'tabs.dart'; import 'theme.dart'; @@ -92,9 +91,9 @@ class TabBarTheme extends InheritedTheme with Diagnosticable { final TextStyle? _labelStyle; final Color? _unselectedLabelColor; final TextStyle? _unselectedLabelStyle; - final MaterialStateProperty? _overlayColor; + final WidgetStateProperty? _overlayColor; final InteractiveInkFeatureFactory? _splashFactory; - final MaterialStateProperty? _mouseCursor; + final WidgetStateProperty? _mouseCursor; final TabAlignment? _tabAlignment; final TextScaler? _textScaler; final TabIndicatorAnimation? _indicatorAnimation; @@ -165,7 +164,7 @@ class TabBarTheme extends InheritedTheme with Diagnosticable { /// /// This property is obsolete and will be deprecated in a future release: /// please use the [TabBarThemeData.overlayColor] property in [data] instead. - MaterialStateProperty? get overlayColor => + WidgetStateProperty? get overlayColor => _data != null ? _data.overlayColor : _overlayColor; /// Overrides the default value for [TabBar.splashFactory]. @@ -179,7 +178,7 @@ class TabBarTheme extends InheritedTheme with Diagnosticable { /// /// This property is obsolete and will be deprecated in a future release: /// please use the [TabBarThemeData.mouseCursor] property in [data] instead. - MaterialStateProperty? get mouseCursor => + WidgetStateProperty? get mouseCursor => _data != null ? _data.mouseCursor : _mouseCursor; /// Overrides the default value for [TabBar.tabAlignment]. @@ -239,9 +238,9 @@ class TabBarTheme extends InheritedTheme with Diagnosticable { TextStyle? labelStyle, Color? unselectedLabelColor, TextStyle? unselectedLabelStyle, - MaterialStateProperty? overlayColor, + WidgetStateProperty? overlayColor, InteractiveInkFeatureFactory? splashFactory, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, TabAlignment? tabAlignment, TextScaler? textScaler, TabIndicatorAnimation? indicatorAnimation, @@ -293,12 +292,7 @@ class TabBarTheme extends InheritedTheme with Diagnosticable { labelStyle: TextStyle.lerp(a.labelStyle, b.labelStyle, t), unselectedLabelColor: Color.lerp(a.unselectedLabelColor, b.unselectedLabelColor, t), unselectedLabelStyle: TextStyle.lerp(a.unselectedLabelStyle, b.unselectedLabelStyle, t), - overlayColor: MaterialStateProperty.lerp( - a.overlayColor, - b.overlayColor, - t, - Color.lerp, - ), + overlayColor: WidgetStateProperty.lerp(a.overlayColor, b.overlayColor, t, Color.lerp), splashFactory: t < 0.5 ? a.splashFactory : b.splashFactory, mouseCursor: t < 0.5 ? a.mouseCursor : b.mouseCursor, tabAlignment: t < 0.5 ? a.tabAlignment : b.tabAlignment, @@ -398,7 +392,7 @@ class TabBarThemeData with Diagnosticable { final TextStyle? unselectedLabelStyle; /// Overrides the default value for [TabBar.overlayColor]. - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// Overrides the default value for [TabBar.splashFactory]. final InteractiveInkFeatureFactory? splashFactory; @@ -406,7 +400,7 @@ class TabBarThemeData with Diagnosticable { /// {@macro flutter.material.tabs.mouseCursor} /// /// If specified, overrides the default value of [TabBar.mouseCursor]. - final MaterialStateProperty? mouseCursor; + final WidgetStateProperty? mouseCursor; /// Overrides the default value for [TabBar.tabAlignment]. final TabAlignment? tabAlignment; @@ -433,9 +427,9 @@ class TabBarThemeData with Diagnosticable { TextStyle? labelStyle, Color? unselectedLabelColor, TextStyle? unselectedLabelStyle, - MaterialStateProperty? overlayColor, + WidgetStateProperty? overlayColor, InteractiveInkFeatureFactory? splashFactory, - MaterialStateProperty? mouseCursor, + WidgetStateProperty? mouseCursor, TabAlignment? tabAlignment, TextScaler? textScaler, TabIndicatorAnimation? indicatorAnimation, @@ -480,12 +474,7 @@ class TabBarThemeData with Diagnosticable { labelStyle: TextStyle.lerp(a.labelStyle, b.labelStyle, t), unselectedLabelColor: Color.lerp(a.unselectedLabelColor, b.unselectedLabelColor, t), unselectedLabelStyle: TextStyle.lerp(a.unselectedLabelStyle, b.unselectedLabelStyle, t), - overlayColor: MaterialStateProperty.lerp( - a.overlayColor, - b.overlayColor, - t, - Color.lerp, - ), + overlayColor: WidgetStateProperty.lerp(a.overlayColor, b.overlayColor, t, Color.lerp), splashFactory: t < 0.5 ? a.splashFactory : b.splashFactory, mouseCursor: t < 0.5 ? a.mouseCursor : b.mouseCursor, tabAlignment: t < 0.5 ? a.tabAlignment : b.tabAlignment, @@ -574,7 +563,7 @@ class TabBarThemeData with Diagnosticable { ), ); properties.add( - DiagnosticsProperty?>( + DiagnosticsProperty?>( 'overlayColor', overlayColor, defaultValue: null, @@ -588,7 +577,7 @@ class TabBarThemeData with Diagnosticable { ), ); properties.add( - DiagnosticsProperty?>( + DiagnosticsProperty?>( 'mouseCursor', mouseCursor, defaultValue: null, diff --git a/packages/flutter/lib/src/material/tabs.dart b/packages/flutter/lib/src/material/tabs.dart index 9bc76fd3f0c9c..68c0360a7ffd6 100644 --- a/packages/flutter/lib/src/material/tabs.dart +++ b/packages/flutter/lib/src/material/tabs.dart @@ -258,7 +258,7 @@ class _TabStyle extends AnimatedWidget { final TabBarThemeData defaults; final Widget child; - MaterialStateColor _resolveWithLabelColor(BuildContext context, {IconThemeData? iconTheme}) { + WidgetStateColor _resolveWithLabelColor(BuildContext context, {IconThemeData? iconTheme}) { final ThemeData themeData = Theme.of(context); final TabBarThemeData tabBarTheme = TabBarTheme.of(context); final Animation animation = listenable as Animation; @@ -275,12 +275,12 @@ class _TabStyle extends AnimatedWidget { final Color unselectedColor; - if (selectedColor is MaterialStateColor) { - unselectedColor = selectedColor.resolve(const {}); - selectedColor = selectedColor.resolve(const {MaterialState.selected}); + if (selectedColor is WidgetStateColor) { + unselectedColor = selectedColor.resolve(const {}); + selectedColor = selectedColor.resolve(const {WidgetState.selected}); } else { // unselectedLabelColor and tabBarTheme.unselectedLabelColor are ignored - // when labelColor is a MaterialStateColor. + // when labelColor is a WidgetStateColor. unselectedColor = unselectedLabelColor ?? tabBarTheme.unselectedLabelColor ?? @@ -292,8 +292,8 @@ class _TabStyle extends AnimatedWidget { : selectedColor.withAlpha(0xB2)); // 70% alpha } - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return Color.lerp(selectedColor, unselectedColor, animation.value)!; } return Color.lerp(unselectedColor, selectedColor, animation.value)!; @@ -306,9 +306,9 @@ class _TabStyle extends AnimatedWidget { final TabBarThemeData tabBarTheme = TabBarTheme.of(context); final Animation animation = listenable as Animation; - final Set states = isSelected - ? const {MaterialState.selected} - : const {}; + final Set states = isSelected + ? const {WidgetState.selected} + : const {}; // To enable TextStyle.lerp(style1, style2, value), both styles must have // the same value of inherit. Force that to be inherit=true here. @@ -1226,7 +1226,7 @@ class TabBar extends StatefulWidget implements PreferredSizeWidget { /// * pressed - ThemeData.colorScheme.primary(0.1) /// * hovered - ThemeData.colorScheme.onSurface(0.08) /// * focused - ThemeData.colorScheme.onSurface(0.1) - final MaterialStateProperty? overlayColor; + final WidgetStateProperty? overlayColor; /// {@macro flutter.widgets.scrollable.dragStartBehavior} final DragStartBehavior dragStartBehavior; @@ -1925,20 +1925,21 @@ class _TabBarState extends State { // the same share of the tab bar's overall width. final int tabCount = widget.tabs.length; for (int index = 0; index < tabCount; index += 1) { - final Set selectedState = { - if (index == _currentIndex) MaterialState.selected, + final Set selectedState = { + if (index == _currentIndex) WidgetState.selected, }; final MouseCursor effectiveMouseCursor = - MaterialStateProperty.resolveAs(widget.mouseCursor, selectedState) ?? + WidgetStateProperty.resolveAs(widget.mouseCursor, selectedState) ?? tabBarTheme.mouseCursor?.resolve(selectedState) ?? MaterialStateMouseCursor.clickable.resolve(selectedState); - final MaterialStateProperty defaultOverlay = - MaterialStateProperty.resolveWith((Set states) { - final Set effectiveStates = selectedState..addAll(states); - return _defaults.overlayColor?.resolve(effectiveStates); - }); + final WidgetStateProperty defaultOverlay = WidgetStateProperty.resolveWith(( + Set states, + ) { + final Set effectiveStates = selectedState.toSet()..addAll(states); + return _defaults.overlayColor?.resolve(effectiveStates); + }); wrappedTabs[index] = InkWell( mouseCursor: effectiveMouseCursor, onTap: () { @@ -2693,27 +2694,27 @@ class _TabsPrimaryDefaultsM3 extends TabBarThemeData { TextStyle? get unselectedLabelStyle => _textTheme.titleSmall; @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } return null; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface.withOpacity(0.1); } return null; @@ -2772,27 +2773,27 @@ class _TabsSecondaryDefaultsM3 extends TabBarThemeData { TextStyle? get unselectedLabelStyle => _textTheme.titleSmall; @override - MaterialStateProperty get overlayColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get overlayColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface.withOpacity(0.1); } return null; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface.withOpacity(0.1); } return null; diff --git a/packages/flutter/lib/src/material/text_button.dart b/packages/flutter/lib/src/material/text_button.dart index 687ea53d4a834..20c875d703d12 100644 --- a/packages/flutter/lib/src/material/text_button.dart +++ b/packages/flutter/lib/src/material/text_button.dart @@ -229,21 +229,18 @@ class TextButton extends ButtonStyleButton { ButtonLayerBuilder? backgroundBuilder, ButtonLayerBuilder? foregroundBuilder, }) { - final MaterialStateProperty? backgroundColorProp = switch (( + final WidgetStateProperty? backgroundColorProp = switch (( backgroundColor, disabledBackgroundColor, )) { (_?, null) => MaterialStatePropertyAll(backgroundColor), (_, _) => ButtonStyleButton.defaultColor(backgroundColor, disabledBackgroundColor), }; - final MaterialStateProperty? iconColorProp = switch ((iconColor, disabledIconColor)) { + final WidgetStateProperty? iconColorProp = switch ((iconColor, disabledIconColor)) { (_?, null) => MaterialStatePropertyAll(iconColor), (_, _) => ButtonStyleButton.defaultColor(iconColor, disabledIconColor), }; - final MaterialStateProperty? overlayColorProp = switch (( - foregroundColor, - overlayColor, - )) { + final WidgetStateProperty? overlayColorProp = switch ((foregroundColor, overlayColor)) { (null, null) => null, (_, Color(a: 0.0)) => WidgetStatePropertyAll(overlayColor), (_, final Color color) || @@ -482,7 +479,7 @@ class _TextButtonWithIcon extends TextButton { final bool useMaterial3 = Theme.of(context).useMaterial3; final ButtonStyle buttonStyle = super.defaultStyleOf(context); final double defaultFontSize = - buttonStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; + buttonStyle.textStyle?.resolve(const {})?.fontSize ?? 14.0; final double effectiveTextScale = MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0; final EdgeInsetsGeometry scaledPadding = ButtonStyleButton.scaledPadding( @@ -513,7 +510,7 @@ class _TextButtonWithIconChild extends StatelessWidget { @override Widget build(BuildContext context) { final double defaultFontSize = - buttonStyle?.textStyle?.resolve(const {})?.fontSize ?? 14.0; + buttonStyle?.textStyle?.resolve(const {})?.fontSize ?? 14.0; final double scale = clampDouble(MediaQuery.textScalerOf(context).scale(defaultFontSize) / 14.0, 1.0, 2.0) - 1.0; final TextButtonThemeData textButtonTheme = TextButtonTheme.of(context); @@ -552,76 +549,76 @@ class _TextButtonDefaultsM3 extends ButtonStyle { late final ColorScheme _colors = Theme.of(context).colorScheme; @override - MaterialStateProperty get textStyle => + WidgetStateProperty get textStyle => MaterialStatePropertyAll(Theme.of(context).textTheme.labelLarge); @override - MaterialStateProperty? get backgroundColor => + WidgetStateProperty? get backgroundColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get foregroundColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get foregroundColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } return _colors.primary; }); @override - MaterialStateProperty? get overlayColor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty? get overlayColor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return _colors.primary.withOpacity(0.1); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary.withOpacity(0.08); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary.withOpacity(0.1); } return null; }); @override - MaterialStateProperty? get shadowColor => + WidgetStateProperty? get shadowColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get surfaceTintColor => + WidgetStateProperty? get surfaceTintColor => const MaterialStatePropertyAll(Colors.transparent); @override - MaterialStateProperty? get elevation => + WidgetStateProperty? get elevation => const MaterialStatePropertyAll(0.0); @override - MaterialStateProperty? get padding => + WidgetStateProperty? get padding => MaterialStatePropertyAll(_scaledPadding(context)); @override - MaterialStateProperty? get minimumSize => + WidgetStateProperty? get minimumSize => const MaterialStatePropertyAll(Size(64.0, 40.0)); // No default fixedSize @override - MaterialStateProperty? get iconSize => + WidgetStateProperty? get iconSize => const MaterialStatePropertyAll(18.0); @override - MaterialStateProperty? get iconColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get iconColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return _colors.onSurface.withOpacity(0.38); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.primary; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.primary; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.primary; } return _colors.primary; @@ -629,19 +626,19 @@ class _TextButtonDefaultsM3 extends ButtonStyle { } @override - MaterialStateProperty? get maximumSize => + WidgetStateProperty? get maximumSize => const MaterialStatePropertyAll(Size.infinite); // No default side @override - MaterialStateProperty? get shape => + WidgetStateProperty? get shape => const MaterialStatePropertyAll(StadiumBorder()); @override - MaterialStateProperty? get mouseCursor => - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + WidgetStateProperty? get mouseCursor => + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.basic; } return SystemMouseCursors.click; diff --git a/packages/flutter/lib/src/material/text_field.dart b/packages/flutter/lib/src/material/text_field.dart index beccf53a355d1..3e1b030b6cd30 100644 --- a/packages/flutter/lib/src/material/text_field.dart +++ b/packages/flutter/lib/src/material/text_field.dart @@ -179,6 +179,14 @@ class _TextFieldSelectionGestureDetectorBuilder extends TextSelectionGestureDete /// [TextField] to ensure proper scroll coordination for [TextField] and its /// components like [TextSelectionOverlay]. /// +/// {@tool dartpad} +/// This sample demonstrates how to use the [Shortcuts] and [Actions] widgets +/// to create a custom `Shift+Enter` keyboard shortcut for inserting a new line +/// in a [TextField]. +/// +/// ** See code in examples/api/lib/material/text_field/text_field.3.dart ** +/// {@end-tool} +/// /// See also: /// /// * [TextFormField], which integrates with the [Form] widget. @@ -540,6 +548,8 @@ class TextField extends StatefulWidget { /// field showing how many characters have been entered. If set to a number /// greater than 0, it will also display the maximum number allowed. If set /// to [TextField.noMaxLength] then only the current character count is displayed. + /// To remove the counter, set [InputDecoration.counterText] to an empty string or + /// return null from [TextField.buildCounter] callback. /// /// After [maxLength] characters have been input, additional input /// is ignored, unless [maxLengthEnforcement] is set to @@ -1304,10 +1314,10 @@ class _TextFieldState extends State } if (widget.statesController == oldWidget.statesController) { - _statesController.update(MaterialState.disabled, !_isEnabled); - _statesController.update(MaterialState.hovered, _isHovering); - _statesController.update(MaterialState.focused, _effectiveFocusNode.hasFocus); - _statesController.update(MaterialState.error, _hasError); + _statesController.update(WidgetState.disabled, !_isEnabled); + _statesController.update(WidgetState.hovered, _isHovering); + _statesController.update(WidgetState.focused, _effectiveFocusNode.hasFocus); + _statesController.update(WidgetState.error, _hasError); } else { oldWidget.statesController?.removeListener(_handleStatesControllerChange); if (widget.statesController != null) { @@ -1396,7 +1406,7 @@ class _TextFieldState extends State // Rebuild the widget on focus change to show/hide the text selection // highlight. }); - _statesController.update(MaterialState.focused, _effectiveFocusNode.hasFocus); + _statesController.update(WidgetState.focused, _effectiveFocusNode.hasFocus); } void _handleSelectionChanged(TextSelection selection, SelectionChangedCause? cause) { @@ -1445,7 +1455,7 @@ class _TextFieldState extends State setState(() { _isHovering = hovering; }); - _statesController.update(MaterialState.hovered, _isHovering); + _statesController.update(WidgetState.hovered, _isHovering); } } @@ -1453,7 +1463,7 @@ class _TextFieldState extends State MaterialStatesController? _internalStatesController; void _handleStatesControllerChange() { - // Force a rebuild to resolve MaterialStateProperty properties. + // Force a rebuild to resolve WidgetStateProperty properties. setState(() {}); } @@ -1464,10 +1474,10 @@ class _TextFieldState extends State if (widget.statesController == null) { _internalStatesController = MaterialStatesController(); } - _statesController.update(MaterialState.disabled, !_isEnabled); - _statesController.update(MaterialState.hovered, _isHovering); - _statesController.update(MaterialState.focused, _effectiveFocusNode.hasFocus); - _statesController.update(MaterialState.error, _hasError); + _statesController.update(WidgetState.disabled, !_isEnabled); + _statesController.update(WidgetState.hovered, _isHovering); + _statesController.update(WidgetState.focused, _effectiveFocusNode.hasFocus); + _statesController.update(WidgetState.error, _hasError); _statesController.addListener(_handleStatesControllerChange); } @@ -1498,11 +1508,11 @@ class _TextFieldState extends State TextStyle _getInputStyleForState(TextStyle style) { final ThemeData theme = Theme.of(context); - final TextStyle stateStyle = MaterialStateProperty.resolveAs( + final TextStyle stateStyle = WidgetStateProperty.resolveAs( theme.useMaterial3 ? _m3StateInputStyle(context)! : _m2StateInputStyle(context)!, _statesController.value, ); - final TextStyle providedStyle = MaterialStateProperty.resolveAs(style, _statesController.value); + final TextStyle providedStyle = WidgetStateProperty.resolveAs(style, _statesController.value); return providedStyle.merge(stateStyle); } @@ -1520,7 +1530,7 @@ class _TextFieldState extends State final ThemeData theme = Theme.of(context); final DefaultSelectionStyle selectionStyle = DefaultSelectionStyle.of(context); - final TextStyle? providedStyle = MaterialStateProperty.resolveAs( + final TextStyle? providedStyle = WidgetStateProperty.resolveAs( widget.style, _statesController.value, ); @@ -1759,7 +1769,7 @@ class _TextFieldState extends State child: child, ); } - final MouseCursor effectiveMouseCursor = MaterialStateProperty.resolveAs( + final MouseCursor effectiveMouseCursor = WidgetStateProperty.resolveAs( widget.mouseCursor ?? MaterialStateMouseCursor.textable, _statesController.value, ); @@ -1843,9 +1853,9 @@ class _TextFieldState extends State } TextStyle? _m2StateInputStyle(BuildContext context) => - MaterialStateTextStyle.resolveWith((Set states) { + MaterialStateTextStyle.resolveWith((Set states) { final ThemeData theme = Theme.of(context); - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return TextStyle(color: theme.disabledColor); } return TextStyle(color: theme.textTheme.titleMedium?.color); @@ -1862,8 +1872,8 @@ TextStyle _m2CounterErrorStyle(BuildContext context) => // dev/tools/gen_defaults/bin/gen_defaults.dart. // dart format off -TextStyle? _m3StateInputStyle(BuildContext context) => MaterialStateTextStyle.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { +TextStyle? _m3StateInputStyle(BuildContext context) => MaterialStateTextStyle.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return TextStyle(color: Theme.of(context).textTheme.bodyLarge!.color?.withOpacity(0.38)); } return TextStyle(color: Theme.of(context).textTheme.bodyLarge!.color); diff --git a/packages/flutter/lib/src/material/theme_data.dart b/packages/flutter/lib/src/material/theme_data.dart index d9499d35a9a6b..6b6b3ef34308e 100644 --- a/packages/flutter/lib/src/material/theme_data.dart +++ b/packages/flutter/lib/src/material/theme_data.dart @@ -3153,6 +3153,10 @@ class _FifoCache { /// the Material Design specification. It does not affect text sizes, icon /// sizes, or padding values. /// +/// The default visual density varies by platform: mobile platforms (Android, iOS, +/// Fuchsia) use [VisualDensity.standard], while desktop platforms (macOS, Windows, +/// Linux) use [VisualDensity.compact]. See [defaultDensityForPlatform] for more details. +/// /// For example, for buttons, it affects the spacing around the child of the /// button. For lists, it affects the distance between baselines of entries in /// the list. For chips, it only affects the vertical size, not the horizontal @@ -3163,6 +3167,7 @@ class _FifoCache { /// * [Checkbox] /// * [Chip] /// * [ElevatedButton] +/// * [FilledButton] /// * [IconButton] /// * [InputDecorator] (which gives density support to [TextField], etc.) /// * [ListTile] @@ -3240,8 +3245,8 @@ class VisualDensity with Diagnosticable { /// Returns a [VisualDensity] that is adaptive based on the given [platform]. /// - /// For desktop platforms, this returns [compact], and for other platforms, it - /// returns a default-constructed [VisualDensity]. + /// For mobile platforms (Android, iOS, Fuchsia), this returns [VisualDensity.standard], + /// and for desktop platforms (macOS, Windows, Linux), it returns [VisualDensity.compact]. /// /// See also: /// diff --git a/packages/flutter/lib/src/material/time_picker.dart b/packages/flutter/lib/src/material/time_picker.dart index 2ff88aece6144..3ae85d8c17177 100644 --- a/packages/flutter/lib/src/material/time_picker.dart +++ b/packages/flutter/lib/src/material/time_picker.dart @@ -18,6 +18,7 @@ import 'package:flutter/widgets.dart'; import 'button_style.dart'; import 'color_scheme.dart'; import 'colors.dart'; +import 'constants.dart'; import 'curves.dart'; import 'debug.dart'; import 'dialog.dart'; @@ -237,33 +238,42 @@ class _TimePickerModel extends InheritedModel<_TimePickerAspect> { } } -class _TimePickerHeader extends StatelessWidget { - const _TimePickerHeader({required this.helpText}); +/// The header for the time picker in dial mode. +class _DialTimePickerHeader extends StatelessWidget { + const _DialTimePickerHeader({required this.helpText}); final String helpText; @override Widget build(BuildContext context) { + assert(_debugDialTimePickerEntryMode(context)); final TimeOfDayFormat timeOfDayFormat = MaterialLocalizations.of( context, ).timeOfDayFormat(alwaysUse24HourFormat: _TimePickerModel.use24HourFormatOf(context)); + final _TimePickerDefaults defaultTheme = _TimePickerModel.defaultThemeOf(context); + final Orientation orientation = _TimePickerModel.orientationOf(context); + final double dayPeriodHeight = orientation == Orientation.portrait + ? defaultTheme.dayPeriodPortraitSize.height + : defaultTheme.dayPeriodLandscapeSize.height; + final double minInteractiveVerticalPadding = orientation == Orientation.portrait + ? math.max(0, 2 * kMinInteractiveDimension - dayPeriodHeight) + : math.max(0, kMinInteractiveDimension - dayPeriodHeight); + final _HourDialType hourDialType = _TimePickerModel.hourDialTypeOf(context); - final RenderObjectWidget orientationSpecificHeader = switch (_TimePickerModel.orientationOf( - context, - )) { + final RenderObjectWidget orientationSpecificHeader = switch (orientation) { Orientation.portrait => Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: EdgeInsetsDirectional.only( - bottom: _TimePickerModel.useMaterial3Of(context) ? 20 : 24, + bottom: + (_TimePickerModel.useMaterial3Of(context) ? 20 : 24) - + minInteractiveVerticalPadding / 2, ), child: Text( helpText, - style: - _TimePickerModel.themeOf(context).helpTextStyle ?? - _TimePickerModel.defaultThemeOf(context).helpTextStyle, + style: _TimePickerModel.themeOf(context).helpTextStyle ?? defaultTheme.helpTextStyle, ), ), Row( @@ -277,9 +287,9 @@ class _TimePickerHeader extends StatelessWidget { // Hour/minutes should not change positions in RTL locales. textDirection: TextDirection.ltr, children: [ - const Expanded(child: _HourControl()), + const Expanded(child: _DialHourControl()), _TimeSelectorSeparator(timeOfDayFormat: timeOfDayFormat), - const Expanded(child: _MinuteControl()), + const Expanded(child: _DialMinuteControl()), ], ), ), @@ -294,9 +304,7 @@ class _TimePickerHeader extends StatelessWidget { children: [ Text( helpText, - style: - _TimePickerModel.themeOf(context).helpTextStyle ?? - _TimePickerModel.defaultThemeOf(context).helpTextStyle, + style: _TimePickerModel.themeOf(context).helpTextStyle ?? defaultTheme.helpTextStyle, ), Column( verticalDirection: timeOfDayFormat == TimeOfDayFormat.a_space_h_colon_mm @@ -304,15 +312,15 @@ class _TimePickerHeader extends StatelessWidget { : VerticalDirection.down, mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, - spacing: 12, + spacing: math.max(0, 16 - minInteractiveVerticalPadding / 2), children: [ Row( // Hour/minutes should not change positions in RTL locales. textDirection: TextDirection.ltr, children: [ - const Expanded(child: _HourControl()), + const Expanded(child: _DialHourControl()), _TimeSelectorSeparator(timeOfDayFormat: timeOfDayFormat), - const Expanded(child: _MinuteControl()), + const Expanded(child: _DialMinuteControl()), ], ), if (hourDialType == _HourDialType.twelveHour) const _DayPeriodControl(), @@ -333,8 +341,9 @@ class _TimePickerHeader extends StatelessWidget { } } -class _HourMinuteControl extends StatelessWidget { - const _HourMinuteControl({ +/// The control label for the time selector in dial mode. +class _DialTimeSelectorControl extends StatelessWidget { + const _DialTimeSelectorControl({ required this.text, required this.onTap, required this.onDoubleTap, @@ -348,36 +357,27 @@ class _HourMinuteControl extends StatelessWidget { @override Widget build(BuildContext context) { + assert(_debugDialTimePickerEntryMode(context)); final TimePickerThemeData timePickerTheme = _TimePickerModel.themeOf(context); final _TimePickerDefaults defaultTheme = _TimePickerModel.defaultThemeOf(context); final Color backgroundColor = timePickerTheme.hourMinuteColor ?? defaultTheme.hourMinuteColor; final ShapeBorder shape = timePickerTheme.hourMinuteShape ?? defaultTheme.hourMinuteShape; - final Set states = {if (isSelected) MaterialState.selected}; - final Color effectiveTextColor = MaterialStateProperty.resolveAs( + final Set states = {if (isSelected) WidgetState.selected}; + final Color effectiveTextColor = WidgetStateProperty.resolveAs( _TimePickerModel.themeOf(context).hourMinuteTextColor ?? _TimePickerModel.defaultThemeOf(context).hourMinuteTextColor, states, ); - final TextStyle effectiveStyle = MaterialStateProperty.resolveAs( + final TextStyle effectiveStyle = WidgetStateProperty.resolveAs( timePickerTheme.hourMinuteTextStyle ?? defaultTheme.hourMinuteTextStyle, states, ).copyWith(color: effectiveTextColor); - final double height; - switch (_TimePickerModel.entryModeOf(context)) { - case TimePickerEntryMode.dial: - case TimePickerEntryMode.dialOnly: - height = defaultTheme.hourMinuteSize.height; - case TimePickerEntryMode.input: - case TimePickerEntryMode.inputOnly: - height = defaultTheme.hourMinuteInputSize.height; - } - return SizedBox( - height: height, + height: defaultTheme.hourMinuteSize.height, child: Material( - color: MaterialStateProperty.resolveAs(backgroundColor, states), + color: WidgetStateProperty.resolveAs(backgroundColor, states), clipBehavior: Clip.antiAlias, shape: shape, child: InkWell( @@ -392,14 +392,15 @@ class _HourMinuteControl extends StatelessWidget { } } -/// Displays the hour fragment. +/// Displays the hour fragment in dial mode. /// /// When tapped changes time picker dial mode to [_HourMinuteMode.hour]. -class _HourControl extends StatelessWidget { - const _HourControl(); +class _DialHourControl extends StatelessWidget { + const _DialHourControl(); @override Widget build(BuildContext context) { + assert(_debugDialTimePickerEntryMode(context)); assert(debugCheckHasMediaQuery(context)); final bool alwaysUse24HourFormat = MediaQuery.alwaysUse24HourFormatOf(context); final TimeOfDay selectedTime = _TimePickerModel.selectedTimeOf(context); @@ -447,7 +448,7 @@ class _HourControl extends StatelessWidget { onDecrease: () { _TimePickerModel.setSelectedTime(context, previousHour); }, - child: _HourMinuteControl( + child: _DialTimeSelectorControl( isSelected: _TimePickerModel.hourMinuteModeOf(context) == _HourMinuteMode.hour, text: formattedHour, onTap: () => _TimePickerModel.setHourMinuteMode(context, _HourMinuteMode.hour), @@ -489,16 +490,16 @@ class _TimeSelectorSeparator extends StatelessWidget { final _TimePickerDefaults defaultTheme = theme.useMaterial3 ? _TimePickerDefaultsM3(context) : _TimePickerDefaultsM2(context); - final Set states = {}; + final Set states = {}; - final Color effectiveTextColor = MaterialStateProperty.resolveAs( + final Color effectiveTextColor = WidgetStateProperty.resolveAs( timePickerTheme.timeSelectorSeparatorColor?.resolve(states) ?? timePickerTheme.hourMinuteTextColor ?? defaultTheme.timeSelectorSeparatorColor?.resolve(states) ?? defaultTheme.hourMinuteTextColor, states, ); - final TextStyle effectiveStyle = MaterialStateProperty.resolveAs( + final TextStyle effectiveStyle = WidgetStateProperty.resolveAs( timePickerTheme.timeSelectorSeparatorTextStyle?.resolve(states) ?? timePickerTheme.hourMinuteTextStyle ?? defaultTheme.timeSelectorSeparatorTextStyle?.resolve(states) ?? @@ -532,14 +533,15 @@ class _TimeSelectorSeparator extends StatelessWidget { } } -/// Displays the minute fragment. +/// Displays the minute fragment in dial mode. /// /// When tapped changes time picker dial mode to [_HourMinuteMode.minute]. -class _MinuteControl extends StatelessWidget { - const _MinuteControl(); +class _DialMinuteControl extends StatelessWidget { + const _DialMinuteControl(); @override Widget build(BuildContext context) { + assert(_debugDialTimePickerEntryMode(context)); final MaterialLocalizations localizations = MaterialLocalizations.of(context); final TimeOfDay selectedTime = _TimePickerModel.selectedTimeOf(context); final String formattedMinute = localizations.formatMinute(selectedTime); @@ -563,7 +565,7 @@ class _MinuteControl extends StatelessWidget { onDecrease: () { _TimePickerModel.setSelectedTime(context, previousMinute); }, - child: _HourMinuteControl( + child: _DialTimeSelectorControl( isSelected: _TimePickerModel.hourMinuteModeOf(context) == _HourMinuteMode.minute, text: formattedMinute, onTap: () => _TimePickerModel.setHourMinuteMode(context, _HourMinuteMode.minute), @@ -625,18 +627,6 @@ class _DayPeriodControl extends StatelessWidget { side: resolvedSide, ); - final Widget amButton = _AmPmButton( - selected: amSelected, - onPressed: () => _setAm(context), - label: materialLocalizations.anteMeridiemAbbreviation, - ); - - final Widget pmButton = _AmPmButton( - selected: pmSelected, - onPressed: () => _setPm(context), - label: materialLocalizations.postMeridiemAbbreviation, - ); - Size dayPeriodSize; final Orientation orientation; switch (_TimePickerModel.entryModeOf(context)) { @@ -653,95 +643,179 @@ class _DayPeriodControl extends StatelessWidget { dayPeriodSize = defaultTheme.dayPeriodInputSize; } - final Widget result; + OutlinedBorder amShape = resolvedShape; + OutlinedBorder pmShape = resolvedShape; + final bool hasRoundedBorder = + resolvedShape is RoundedRectangleBorder && resolvedShape.borderRadius is BorderRadius; + + // In order to respect Material touch target guidelines, the Semantics for + // AM and PM buttons needs to expand out of the bounds of the buttons + // (Similarly to Google Agenda). + // To achieve this, instead of using a parent Material which clips + // the Semantics, each button should manage its own shape. + // The logic below "cuts" the given period selector shape in two parts, + // one for the AM button, the other for the PM button. Each sub-shape + // is obtained by removing some rounded corners from the original shape. switch (orientation) { case Orientation.portrait: - result = _DayPeriodInputPadding( - minSize: dayPeriodSize, + if (hasRoundedBorder) { + final BorderRadius borderRadius = resolvedShape.borderRadius as BorderRadius; + amShape = resolvedShape.copyWith( + borderRadius: BorderRadius.only( + topLeft: borderRadius.topLeft, + topRight: borderRadius.topRight, + ), + ); + pmShape = resolvedShape.copyWith( + borderRadius: BorderRadius.only( + bottomLeft: borderRadius.bottomLeft, + bottomRight: borderRadius.bottomRight, + ), + ); + } + + final Size minInteractiveSize = Size( + dayPeriodSize.width, + math.max(dayPeriodSize.height, 2 * kMinInteractiveDimension), + ); + + final Widget amButton = _AmPmButton( + selected: amSelected, + onPressed: () => _setAm(context), + label: materialLocalizations.anteMeridiemAbbreviation, + padding: EdgeInsets.only(top: (minInteractiveSize.height - dayPeriodSize.height) / 2), + shape: amShape, + ); + + final Widget pmButton = _AmPmButton( + selected: pmSelected, + onPressed: () => _setPm(context), + label: materialLocalizations.postMeridiemAbbreviation, + padding: EdgeInsets.only(bottom: (minInteractiveSize.height - dayPeriodSize.height) / 2), + shape: pmShape, + ); + + return _DayPeriodInputPadding( + minSize: minInteractiveSize, orientation: orientation, child: SizedBox.fromSize( - size: dayPeriodSize, - child: Material( - clipBehavior: Clip.antiAlias, - color: Colors.transparent, - shape: resolvedShape, - child: Column( - children: [ - Expanded(child: amButton), - Container( - decoration: BoxDecoration(border: Border(top: resolvedSide)), - height: 1, - ), - Expanded(child: pmButton), - ], - ), + size: minInteractiveSize, + child: Column( + children: [ + Expanded(child: amButton), + Expanded(child: pmButton), + ], ), ), ); case Orientation.landscape: - result = _DayPeriodInputPadding( - minSize: dayPeriodSize, + if (hasRoundedBorder) { + final BorderRadius borderRadius = resolvedShape.borderRadius as BorderRadius; + amShape = resolvedShape.copyWith( + borderRadius: BorderRadius.only( + topLeft: borderRadius.topLeft, + bottomLeft: borderRadius.bottomLeft, + ), + ); + pmShape = resolvedShape.copyWith( + borderRadius: BorderRadius.only( + topRight: borderRadius.topRight, + bottomRight: borderRadius.bottomRight, + ), + ); + } + + final Size minInteractiveSize = Size( + dayPeriodSize.width, + math.max(dayPeriodSize.height, kMinInteractiveDimension), + ); + + final Widget amButton = _AmPmButton( + selected: amSelected, + onPressed: () => _setAm(context), + label: materialLocalizations.anteMeridiemAbbreviation, + padding: EdgeInsets.symmetric( + vertical: (minInteractiveSize.height - dayPeriodSize.height) / 2, + ), + shape: amShape, + ); + + final Widget pmButton = _AmPmButton( + selected: pmSelected, + onPressed: () => _setPm(context), + label: materialLocalizations.postMeridiemAbbreviation, + padding: EdgeInsets.symmetric( + vertical: (minInteractiveSize.height - dayPeriodSize.height) / 2, + ), + shape: pmShape, + ); + + return _DayPeriodInputPadding( + minSize: minInteractiveSize, orientation: orientation, child: SizedBox( - height: dayPeriodSize.height, - child: Material( - clipBehavior: Clip.antiAlias, - color: Colors.transparent, - shape: resolvedShape, - child: Row( - children: [ - Expanded(child: amButton), - Container( - decoration: BoxDecoration(border: Border(left: resolvedSide)), - width: 1, - ), - Expanded(child: pmButton), - ], - ), + height: minInteractiveSize.height, + child: Row( + children: [ + Expanded(child: amButton), + Expanded(child: pmButton), + ], ), ), ); } - return result; } } class _AmPmButton extends StatelessWidget { - const _AmPmButton({required this.onPressed, required this.selected, required this.label}); + const _AmPmButton({ + required this.onPressed, + required this.selected, + required this.label, + required this.padding, + required this.shape, + }); final bool selected; final VoidCallback onPressed; final String label; + final EdgeInsets padding; + final OutlinedBorder shape; @override Widget build(BuildContext context) { - final Set states = {if (selected) MaterialState.selected}; + final Set states = {if (selected) WidgetState.selected}; final TimePickerThemeData timePickerTheme = _TimePickerModel.themeOf(context); final _TimePickerDefaults defaultTheme = _TimePickerModel.defaultThemeOf(context); - final Color resolvedBackgroundColor = MaterialStateProperty.resolveAs( + final Color resolvedBackgroundColor = WidgetStateProperty.resolveAs( timePickerTheme.dayPeriodColor ?? defaultTheme.dayPeriodColor, states, ); - final Color resolvedTextColor = MaterialStateProperty.resolveAs( + final Color resolvedTextColor = WidgetStateProperty.resolveAs( timePickerTheme.dayPeriodTextColor ?? defaultTheme.dayPeriodTextColor, states, ); - final TextStyle? resolvedTextStyle = MaterialStateProperty.resolveAs( + final TextStyle? resolvedTextStyle = WidgetStateProperty.resolveAs( timePickerTheme.dayPeriodTextStyle ?? defaultTheme.dayPeriodTextStyle, states, )?.copyWith(color: resolvedTextColor); final TextScaler buttonTextScaler = MediaQuery.textScalerOf(context).clamp(maxScaleFactor: 2.0); - return Material( - color: resolvedBackgroundColor, - child: InkWell( - onTap: onPressed, - child: Semantics( - checked: selected, - inMutuallyExclusiveGroup: true, - button: true, - child: Center( - child: Text(label, style: resolvedTextStyle, textScaler: buttonTextScaler), + return Semantics( + checked: selected, + inMutuallyExclusiveGroup: true, + button: true, + child: Padding( + padding: padding, + child: Material( + clipBehavior: Clip.antiAlias, + color: resolvedBackgroundColor, + shape: shape, + child: InkWell( + onTap: onPressed, + child: Center( + child: Text(label, style: resolvedTextStyle, textScaler: buttonTextScaler), + ), ), ), ), @@ -1534,6 +1608,7 @@ class _DialState extends State<_Dial> with SingleTickerProviderStateMixin { @override Widget build(BuildContext context) { + assert(_debugDialTimePickerEntryMode(context)); final ThemeData theme = Theme.of(context); final TimePickerThemeData timePickerTheme = TimePickerTheme.of(context); final _TimePickerDefaults defaultTheme = theme.useMaterial3 @@ -1543,13 +1618,13 @@ class _DialState extends State<_Dial> with SingleTickerProviderStateMixin { timePickerTheme.dialBackgroundColor ?? defaultTheme.dialBackgroundColor; final Color dialHandColor = timePickerTheme.dialHandColor ?? defaultTheme.dialHandColor; final TextStyle labelStyle = timePickerTheme.dialTextStyle ?? defaultTheme.dialTextStyle; - final Color dialTextUnselectedColor = MaterialStateProperty.resolveAs( + final Color dialTextUnselectedColor = WidgetStateProperty.resolveAs( timePickerTheme.dialTextColor ?? defaultTheme.dialTextColor, - {}, + {}, ); - final Color dialTextSelectedColor = MaterialStateProperty.resolveAs( + final Color dialTextSelectedColor = WidgetStateProperty.resolveAs( timePickerTheme.dialTextColor ?? defaultTheme.dialTextColor, - {MaterialState.selected}, + {WidgetState.selected}, ); final TextStyle resolvedUnselectedLabelStyle = labelStyle.copyWith( color: dialTextUnselectedColor, @@ -1636,6 +1711,7 @@ class _TimePickerInput extends StatefulWidget { required this.helpText, required this.autofocusHour, required this.autofocusMinute, + required this.emptyInitialTime, this.restorationId, }); @@ -1666,6 +1742,13 @@ class _TimePickerInput extends StatefulWidget { /// from the surrounding [RestorationScope] using the provided restoration ID. final String? restorationId; + /// If true and [TimePickerEntryMode.input] is used, hour and minute fields + /// start empty instead of using [initialSelectedTime]. + /// + /// Useful when users prefer manual input without clearing pre-filled values. + /// Ignored in dial mode. + final bool emptyInitialTime; + @override _TimePickerInputState createState() => _TimePickerInputState(); } @@ -1801,6 +1884,11 @@ class _TimePickerInputState extends State<_TimePickerInput> with RestorationMixi final TextStyle hourMinuteStyle = timePickerTheme.hourMinuteTextStyle ?? defaultTheme.hourMinuteTextStyle; + final double minInteractiveVerticalPadding = math.max( + 0, + 2 * kMinInteractiveDimension - defaultTheme.dayPeriodInputSize.height, + ); + return Padding( padding: _TimePickerModel.useMaterial3Of(context) ? EdgeInsets.zero @@ -1810,7 +1898,9 @@ class _TimePickerInputState extends State<_TimePickerInput> with RestorationMixi children: [ Padding( padding: EdgeInsetsDirectional.only( - bottom: _TimePickerModel.useMaterial3Of(context) ? 20 : 24, + bottom: + (_TimePickerModel.useMaterial3Of(context) ? 20 : 24) - + minInteractiveVerticalPadding / 2, ), child: Text( widget.helpText, @@ -1830,77 +1920,79 @@ class _TimePickerInputState extends State<_TimePickerInput> with RestorationMixi ), ], Expanded( - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - // Hour/minutes should not change positions in RTL locales. - textDirection: TextDirection.ltr, - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(bottom: 10), - child: _HourTextField( - restorationId: 'hour_text_field', - selectedTime: _selectedTime.value, - style: hourMinuteStyle, - autofocus: widget.autofocusHour, - inputAction: TextInputAction.next, - validator: _validateHour, - onSavedSubmitted: _handleHourSavedSubmitted, - onChanged: _handleHourChanged, - hourLabelText: widget.hourLabelText, - ), - ), - if (!hourHasError.value && !minuteHasError.value) - ExcludeSemantics( - child: Text( - widget.hourLabelText ?? - MaterialLocalizations.of(context).timePickerHourLabel, - style: theme.textTheme.bodySmall, - maxLines: 1, - overflow: TextOverflow.ellipsis, + child: Padding( + padding: EdgeInsetsDirectional.only(top: minInteractiveVerticalPadding / 2), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + // Hour/minutes should not change positions in RTL locales. + textDirection: TextDirection.ltr, + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 10), + child: _HourTextField( + restorationId: 'hour_text_field', + selectedTime: _selectedTime.value, + style: hourMinuteStyle, + autofocus: widget.autofocusHour, + inputAction: TextInputAction.next, + validator: _validateHour, + onSavedSubmitted: _handleHourSavedSubmitted, + onChanged: _handleHourChanged, + hourLabelText: widget.hourLabelText, + emptyInitialTime: widget.emptyInitialTime, ), ), - ], + if (!hourHasError.value && !minuteHasError.value) + ExcludeSemantics( + child: Text( + widget.hourLabelText ?? + MaterialLocalizations.of(context).timePickerHourLabel, + style: theme.textTheme.bodySmall, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), ), - ), - Padding( - padding: const EdgeInsets.only(bottom: 10), - child: _TimeSelectorSeparator(timeOfDayFormat: timeOfDayFormat), - ), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(bottom: 10), - child: _MinuteTextField( - restorationId: 'minute_text_field', - selectedTime: _selectedTime.value, - style: hourMinuteStyle, - autofocus: widget.autofocusMinute, - inputAction: TextInputAction.done, - validator: _validateMinute, - onSavedSubmitted: _handleMinuteSavedSubmitted, - minuteLabelText: widget.minuteLabelText, - ), - ), - if (!hourHasError.value && !minuteHasError.value) - ExcludeSemantics( - child: Text( - widget.minuteLabelText ?? - MaterialLocalizations.of(context).timePickerMinuteLabel, - style: theme.textTheme.bodySmall, - maxLines: 1, - overflow: TextOverflow.ellipsis, + _TimeSelectorSeparator(timeOfDayFormat: timeOfDayFormat), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 10), + child: _MinuteTextField( + restorationId: 'minute_text_field', + selectedTime: _selectedTime.value, + style: hourMinuteStyle, + autofocus: widget.autofocusMinute, + inputAction: TextInputAction.done, + validator: _validateMinute, + onSavedSubmitted: _handleMinuteSavedSubmitted, + minuteLabelText: widget.minuteLabelText, + emptyInitialTime: widget.emptyInitialTime, ), ), - ], + if (!hourHasError.value && !minuteHasError.value) + ExcludeSemantics( + child: Text( + widget.minuteLabelText ?? + MaterialLocalizations.of(context).timePickerMinuteLabel, + style: theme.textTheme.bodySmall, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), ), - ), - ], + ], + ), ), ), if (!use24HourDials && @@ -1935,6 +2027,7 @@ class _HourTextField extends StatelessWidget { required this.onSavedSubmitted, required this.onChanged, required this.hourLabelText, + required this.emptyInitialTime, this.restorationId, }); @@ -1947,6 +2040,7 @@ class _HourTextField extends StatelessWidget { final ValueChanged onChanged; final String? hourLabelText; final String? restorationId; + final bool emptyInitialTime; @override Widget build(BuildContext context) { @@ -1960,6 +2054,7 @@ class _HourTextField extends StatelessWidget { semanticHintText: hourLabelText ?? MaterialLocalizations.of(context).timePickerHourLabel, validator: validator, onSavedSubmitted: onSavedSubmitted, + emptyInitialTime: emptyInitialTime, onChanged: onChanged, ); } @@ -1974,6 +2069,7 @@ class _MinuteTextField extends StatelessWidget { required this.validator, required this.onSavedSubmitted, required this.minuteLabelText, + required this.emptyInitialTime, this.restorationId, }); @@ -1985,6 +2081,7 @@ class _MinuteTextField extends StatelessWidget { final ValueChanged onSavedSubmitted; final String? minuteLabelText; final String? restorationId; + final bool emptyInitialTime; @override Widget build(BuildContext context) { @@ -1997,6 +2094,7 @@ class _MinuteTextField extends StatelessWidget { style: style, semanticHintText: minuteLabelText ?? MaterialLocalizations.of(context).timePickerMinuteLabel, validator: validator, + emptyInitialTime: emptyInitialTime, onSavedSubmitted: onSavedSubmitted, ); } @@ -2013,6 +2111,7 @@ class _HourMinuteTextField extends StatefulWidget { required this.validator, required this.onSavedSubmitted, this.restorationId, + required this.emptyInitialTime, this.onChanged, }); @@ -2026,6 +2125,7 @@ class _HourMinuteTextField extends StatefulWidget { final ValueChanged onSavedSubmitted; final ValueChanged? onChanged; final String? restorationId; + final bool emptyInitialTime; @override _HourMinuteTextFieldState createState() => _HourMinuteTextFieldState(); @@ -2058,9 +2158,12 @@ class _HourMinuteTextFieldState extends State<_HourMinuteTextField> with Restora super.didChangeDependencies(); // Only set the text value if it has not been populated with a localized // version yet. + // If emptyInitialTime is true, set it to an empty string to indicate no + // initial time. if (!controllerHasBeenSet.value) { controllerHasBeenSet.value = true; - controller.value.value = TextEditingValue(text: _formattedValue); + final String initialTextValue = widget.emptyInitialTime ? '' : _formattedValue; + controller.value.value = TextEditingValue(text: initialTextValue); } } @@ -2113,7 +2216,8 @@ class _HourMinuteTextFieldState extends State<_HourMinuteTextField> with Restora ).applyDefaults(inputDecorationTheme); // Remove the hint text when focused because the centered cursor // appears odd above the hint text. - final String? hintText = focusNode.hasFocus ? null : _formattedValue; + // Clear the hint text when emptyInitialTime is true. + final String? hintText = focusNode.hasFocus || widget.emptyInitialTime ? null : _formattedValue; // Because the fill color is specified in both the inputDecorationTheme and // the TimePickerTheme, if there's one in the user's input decoration theme, @@ -2127,9 +2231,9 @@ class _HourMinuteTextFieldState extends State<_HourMinuteTextField> with Restora defaultTheme.hourMinuteColor; final Color fillColor; if (theme.useMaterial3) { - fillColor = MaterialStateProperty.resolveAs(startingFillColor, { - if (focusNode.hasFocus) MaterialState.focused, - if (focusNode.hasFocus) MaterialState.selected, + fillColor = WidgetStateProperty.resolveAs(startingFillColor, { + if (focusNode.hasFocus) WidgetState.focused, + if (focusNode.hasFocus) WidgetState.selected, }); } else { fillColor = focusNode.hasFocus ? Colors.transparent : startingFillColor; @@ -2137,15 +2241,15 @@ class _HourMinuteTextFieldState extends State<_HourMinuteTextField> with Restora inputDecoration = inputDecoration.copyWith(hintText: hintText, fillColor: fillColor); - final Set states = { - if (focusNode.hasFocus) MaterialState.focused, - if (focusNode.hasFocus) MaterialState.selected, + final Set states = { + if (focusNode.hasFocus) WidgetState.focused, + if (focusNode.hasFocus) WidgetState.selected, }; - final Color effectiveTextColor = MaterialStateProperty.resolveAs( + final Color effectiveTextColor = WidgetStateProperty.resolveAs( timePickerTheme.hourMinuteTextColor ?? defaultTheme.hourMinuteTextColor, states, ); - final TextStyle effectiveStyle = MaterialStateProperty.resolveAs( + final TextStyle effectiveStyle = WidgetStateProperty.resolveAs( widget.style, states, ).copyWith(color: effectiveTextColor); @@ -2213,6 +2317,7 @@ class TimePickerDialog extends StatefulWidget { this.onEntryModeChanged, this.switchToInputEntryModeIcon, this.switchToTimerEntryModeIcon, + this.emptyInitialInput = false, }); /// The time initially selected when the dialog is shown. @@ -2279,6 +2384,12 @@ class TimePickerDialog extends StatefulWidget { /// {@macro flutter.material.time_picker.switchToTimerEntryModeIcon} final Icon? switchToTimerEntryModeIcon; + /// If true and entry mode is [TimePickerEntryMode.input], the hour and minute + /// fields will be empty on start instead of pre-filled with [initialTime]. + /// + /// Has no effect in dial mode. + final bool emptyInitialInput; + @override State createState() => _TimePickerDialogState(); } @@ -2617,6 +2728,7 @@ class _TimePickerDialogState extends State with RestorationMix onEntryModeChanged: _handleEntryModeChanged, switchToInputEntryModeIcon: widget.switchToInputEntryModeIcon, switchToTimerEntryModeIcon: widget.switchToTimerEntryModeIcon, + emptyInitialInput: widget.emptyInitialInput, ), ); if (_entryMode.value != TimePickerEntryMode.input && @@ -2661,6 +2773,7 @@ class _TimePicker extends StatefulWidget { this.onEntryModeChanged, this.switchToInputEntryModeIcon, this.switchToTimerEntryModeIcon, + required this.emptyInitialInput, }); /// Optionally provide your own text for the help text at the top of the @@ -2735,6 +2848,9 @@ class _TimePicker extends StatefulWidget { /// {@macro flutter.material.time_picker.switchToTimerEntryModeIcon} final Icon? switchToTimerEntryModeIcon; + /// If true, input fields start empty in input mode. + final bool emptyInitialInput; + @override State<_TimePicker> createState() => _TimePickerState(); } @@ -2902,30 +3018,35 @@ class _TimePickerState extends State<_TimePicker> with RestorationMixin { ? localizations.timePickerDialHelpText : localizations.timePickerDialHelpText.toUpperCase()); + // The vertical adjustment used to make both AM/PM buttons accessible. + // Because the period selector height is increased based on this value, + // the dial padding has to be decreased of the same amount. + final double portraitMinInteractiveVerticalAdjustment = math.max( + 0, + 2 * kMinInteractiveDimension - defaultTheme.dayPeriodPortraitSize.height, + ); final EdgeInsetsGeometry dialPadding = switch (orientation) { - Orientation.portrait => const EdgeInsets.only(left: 12, right: 12, top: 36), + Orientation.portrait => EdgeInsets.only( + left: 12, + right: 12, + top: 36 - portraitMinInteractiveVerticalAdjustment / 2, + ), Orientation.landscape => const EdgeInsetsDirectional.only(start: 64), }; + final Widget dial = Padding( padding: dialPadding, - child: Semantics( - label: switch (_hourMinuteMode.value) { - _HourMinuteMode.hour => localizations.timePickerHourModeAnnouncement, - _HourMinuteMode.minute => localizations.timePickerMinuteModeAnnouncement, - }, - liveRegion: true, - child: ExcludeSemantics( - child: SizedBox.fromSize( - size: defaultTheme.dialSize, - child: AspectRatio( - aspectRatio: 1, - child: _Dial( - hourMinuteMode: _hourMinuteMode.value, - hourDialType: hourMode, - selectedTime: _selectedTime.value, - onChanged: _handleTimeChanged, - onHourSelected: _handleHourSelected, - ), + child: ExcludeSemantics( + child: SizedBox.fromSize( + size: defaultTheme.dialSize, + child: AspectRatio( + aspectRatio: 1, + child: _Dial( + hourMinuteMode: _hourMinuteMode.value, + hourDialType: hourMode, + selectedTime: _selectedTime.value, + onChanged: _handleTimeChanged, + onHourSelected: _handleHourSelected, ), ), ), @@ -2940,7 +3061,7 @@ class _TimePickerState extends State<_TimePicker> with RestorationMixin { children: [ Padding( padding: EdgeInsets.symmetric(horizontal: theme.useMaterial3 ? 0 : 16), - child: _TimePickerHeader(helpText: helpText), + child: _DialTimePickerHeader(helpText: helpText), ), Expanded( child: Column( @@ -2967,7 +3088,7 @@ class _TimePickerState extends State<_TimePicker> with RestorationMixin { child: Row( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - _TimePickerHeader(helpText: helpText), + _DialTimePickerHeader(helpText: helpText), Expanded(child: dial), ], ), @@ -2996,6 +3117,7 @@ class _TimePickerState extends State<_TimePicker> with RestorationMixin { autofocusHour: _autofocusHour.value, autofocusMinute: _autofocusMinute.value, restorationId: 'time_picker_input', + emptyInitialTime: widget.emptyInitialInput, ), ], ); @@ -3148,6 +3270,7 @@ Future showTimePicker({ Orientation? orientation, Icon? switchToInputEntryModeIcon, Icon? switchToTimerEntryModeIcon, + bool emptyInitialInput = false, }) async { assert(debugCheckHasMaterialLocalizations(context)); @@ -3164,6 +3287,7 @@ Future showTimePicker({ onEntryModeChanged: onEntryModeChanged, switchToInputEntryModeIcon: switchToInputEntryModeIcon, switchToTimerEntryModeIcon: switchToTimerEntryModeIcon, + emptyInitialInput: emptyInitialInput, ); return showDialog( context: context, @@ -3302,8 +3426,8 @@ class _TimePickerDefaultsM2 extends _TimePickerDefaults { @override Color get dayPeriodColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return _colors.primary.withOpacity(_colors.brightness == Brightness.dark ? 0.24 : 0.12); } // The unselected day period should match the overall picker dialog color. @@ -3335,8 +3459,8 @@ class _TimePickerDefaultsM2 extends _TimePickerDefaults { @override Color get dayPeriodTextColor { - return MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.selected) + return WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.selected) ? _colors.primary : _colors.onSurface.withOpacity(0.60); }); @@ -3379,8 +3503,8 @@ class _TimePickerDefaultsM2 extends _TimePickerDefaults { @override Color get dialTextColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return _colors.surface; } return _colors.onSurface; @@ -3409,8 +3533,8 @@ class _TimePickerDefaultsM2 extends _TimePickerDefaults { @override Color get hourMinuteColor { - return MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.selected) + return WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.selected) ? _colors.primary.withOpacity(_colors.brightness == Brightness.dark ? 0.24 : 0.12) : _colors.onSurface.withOpacity(0.12); }); @@ -3443,8 +3567,8 @@ class _TimePickerDefaultsM2 extends _TimePickerDefaults { @override Color get hourMinuteTextColor { - return MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.selected) ? _colors.primary : _colors.onSurface; + return WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.selected) ? _colors.primary : _colors.onSurface; }); } @@ -3454,8 +3578,8 @@ class _TimePickerDefaultsM2 extends _TimePickerDefaults { } Color get _hourMinuteInputColor { - return MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.selected) + return WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.selected) ? Colors.transparent : _colors.onSurface.withOpacity(0.12); }); @@ -3494,6 +3618,12 @@ class _TimePickerDefaultsM2 extends _TimePickerDefaults { } } +/// Ensure the widget is called in [TimePickerEntryMode.dial] or [TimePickerEntryMode.dialOnly] mode. +bool _debugDialTimePickerEntryMode(BuildContext context) { + final TimePickerEntryMode entryMode = _TimePickerModel.entryModeOf(context); + return entryMode == TimePickerEntryMode.dial || entryMode == TimePickerEntryMode.dialOnly; +} + // BEGIN GENERATED TOKEN PROPERTIES - TimePicker // Do not edit by hand. The code between the "BEGIN GENERATED" and @@ -3533,8 +3663,8 @@ class _TimePickerDefaultsM3 extends _TimePickerDefaults { @override Color get dayPeriodColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return _colors.tertiaryContainer; } // The unselected day period should match the overall picker dialog color. @@ -3568,26 +3698,26 @@ class _TimePickerDefaultsM3 extends _TimePickerDefaults { @override Color get dayPeriodTextColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.focused)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.focused)) { return _colors.onTertiaryContainer; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onTertiaryContainer; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onTertiaryContainer; } return _colors.onTertiaryContainer; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurfaceVariant; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurfaceVariant; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurfaceVariant; } return _colors.onSurfaceVariant; @@ -3631,8 +3761,8 @@ class _TimePickerDefaultsM3 extends _TimePickerDefaults { @override Color get dialTextColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return _colors.onPrimary; } return _colors.onSurface; @@ -3656,7 +3786,7 @@ class _TimePickerDefaultsM3 extends _TimePickerDefaults { @override TextStyle get helpTextStyle { - return MaterialStateTextStyle.resolveWith((Set states) { + return MaterialStateTextStyle.resolveWith((Set states) { final TextStyle textStyle = _textTheme.labelMedium!; return textStyle.copyWith(color: _colors.onSurfaceVariant); }); @@ -3669,27 +3799,27 @@ class _TimePickerDefaultsM3 extends _TimePickerDefaults { @override Color get hourMinuteColor { - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { Color overlayColor = _colors.primaryContainer; - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { overlayColor = _colors.onPrimaryContainer; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { const double hoverOpacity = 0.08; overlayColor = _colors.onPrimaryContainer.withOpacity(hoverOpacity); - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { const double focusOpacity = 0.1; overlayColor = _colors.onPrimaryContainer.withOpacity(focusOpacity); } return Color.alphaBlend(overlayColor, _colors.primaryContainer); } else { Color overlayColor = _colors.surfaceContainerHighest; - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { overlayColor = _colors.onSurface; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { const double hoverOpacity = 0.08; overlayColor = _colors.onSurface.withOpacity(hoverOpacity); - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { const double focusOpacity = 0.1; overlayColor = _colors.onSurface.withOpacity(focusOpacity); } @@ -3729,33 +3859,33 @@ class _TimePickerDefaultsM3 extends _TimePickerDefaults { @override Color get hourMinuteTextColor { - return MaterialStateColor.resolveWith((Set states) { + return WidgetStateColor.resolveWith((Set states) { return _hourMinuteTextColor.resolve(states); }); } - MaterialStateProperty get _hourMinuteTextColor { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { - if (states.contains(MaterialState.pressed)) { + WidgetStateProperty get _hourMinuteTextColor { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + if (states.contains(WidgetState.pressed)) { return _colors.onPrimaryContainer; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onPrimaryContainer; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onPrimaryContainer; } return _colors.onPrimaryContainer; } else { // unselected - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return _colors.onSurface; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return _colors.onSurface; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return _colors.onSurface; } return _colors.onSurface; @@ -3765,7 +3895,7 @@ class _TimePickerDefaultsM3 extends _TimePickerDefaults { @override TextStyle get hourMinuteTextStyle { - return MaterialStateTextStyle.resolveWith((Set states) { + return MaterialStateTextStyle.resolveWith((Set states) { // TODO(tahatesser): Update this when https://github.com/flutter/flutter/issues/131247 is fixed. // This is using the correct text style from Material 3 spec. // https://m3.material.io/components/time-pickers/specs#fd0b6939-edab-4058-82e1-93d163945215 @@ -3825,14 +3955,14 @@ class _TimePickerDefaultsM3 extends _TimePickerDefaults { } @override - MaterialStateProperty? get timeSelectorSeparatorColor { + WidgetStateProperty? get timeSelectorSeparatorColor { // TODO(tahatesser): Update this when tokens are available. // This is taken from https://m3.material.io/components/time-pickers/specs. return MaterialStatePropertyAll(_colors.onSurface); } @override - MaterialStateProperty? get timeSelectorSeparatorTextStyle { + WidgetStateProperty? get timeSelectorSeparatorTextStyle { // TODO(tahatesser): Update this when tokens are available. // This is taken from https://m3.material.io/components/time-pickers/specs. return MaterialStatePropertyAll(_textTheme.displayLarge); diff --git a/packages/flutter/lib/src/material/time_picker_theme.dart b/packages/flutter/lib/src/material/time_picker_theme.dart index 7ef8106c795a2..443c278ef6695 100644 --- a/packages/flutter/lib/src/material/time_picker_theme.dart +++ b/packages/flutter/lib/src/material/time_picker_theme.dart @@ -18,7 +18,6 @@ import 'package:flutter/widgets.dart'; import 'button_style.dart'; import 'colors.dart'; import 'input_decorator.dart'; -import 'material_state.dart'; import 'theme.dart'; // Examples can assume: @@ -120,11 +119,11 @@ class TimePickerThemeData with Diagnosticable { /// If the segment is not selected, [Colors.transparent] is used to allow the /// [Dialog]'s color to be used. Color? get dayPeriodColor { - if (_dayPeriodColor == null || _dayPeriodColor is MaterialStateColor) { + if (_dayPeriodColor == null || _dayPeriodColor is WidgetStateColor) { return _dayPeriodColor; } - return MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + return WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return _dayPeriodColor; } // The unselected day period should match the overall picker dialog color. @@ -303,7 +302,7 @@ class TimePickerThemeData with Diagnosticable { /// /// If this is null and [ThemeData.useMaterial3] is false, then defaults to the value of /// [hourMinuteTextColor]. - final MaterialStateProperty? timeSelectorSeparatorColor; + final WidgetStateProperty? timeSelectorSeparatorColor; /// Used to configure the text style for the time selector separator between the hour /// and minute controls. @@ -313,7 +312,7 @@ class TimePickerThemeData with Diagnosticable { /// /// If this is null and [ThemeData.useMaterial3] is false, then defaults to the value of /// [hourMinuteTextStyle]. - final MaterialStateProperty? timeSelectorSeparatorTextStyle; + final WidgetStateProperty? timeSelectorSeparatorTextStyle; /// Creates a copy of this object with the given fields replaced with the /// new values. @@ -341,8 +340,8 @@ class TimePickerThemeData with Diagnosticable { InputDecorationTheme? inputDecorationTheme, EdgeInsetsGeometry? padding, ShapeBorder? shape, - MaterialStateProperty? timeSelectorSeparatorColor, - MaterialStateProperty? timeSelectorSeparatorTextStyle, + WidgetStateProperty? timeSelectorSeparatorColor, + WidgetStateProperty? timeSelectorSeparatorTextStyle, }) { return TimePickerThemeData( backgroundColor: backgroundColor ?? this.backgroundColor, @@ -414,13 +413,13 @@ class TimePickerThemeData with Diagnosticable { inputDecorationTheme: t < 0.5 ? a?.inputDecorationTheme : b?.inputDecorationTheme, padding: EdgeInsetsGeometry.lerp(a?.padding, b?.padding, t), shape: ShapeBorder.lerp(a?.shape, b?.shape, t), - timeSelectorSeparatorColor: MaterialStateProperty.lerp( + timeSelectorSeparatorColor: WidgetStateProperty.lerp( a?.timeSelectorSeparatorColor, b?.timeSelectorSeparatorColor, t, Color.lerp, ), - timeSelectorSeparatorTextStyle: MaterialStateProperty.lerp( + timeSelectorSeparatorTextStyle: WidgetStateProperty.lerp( a?.timeSelectorSeparatorTextStyle, b?.timeSelectorSeparatorTextStyle, t, @@ -554,14 +553,14 @@ class TimePickerThemeData with Diagnosticable { properties.add(DiagnosticsProperty('padding', padding, defaultValue: null)); properties.add(DiagnosticsProperty('shape', shape, defaultValue: null)); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'timeSelectorSeparatorColor', timeSelectorSeparatorColor, defaultValue: null, ), ); properties.add( - DiagnosticsProperty>( + DiagnosticsProperty>( 'timeSelectorSeparatorTextStyle', timeSelectorSeparatorTextStyle, defaultValue: null, diff --git a/packages/flutter/lib/src/material/toggle_buttons.dart b/packages/flutter/lib/src/material/toggle_buttons.dart index 863d42aa1834c..9ea10fd7554a7 100644 --- a/packages/flutter/lib/src/material/toggle_buttons.dart +++ b/packages/flutter/lib/src/material/toggle_buttons.dart @@ -735,9 +735,9 @@ class ToggleButtons extends StatelessWidget { toggleButtonsTheme, ); - final Set states = { - if (isSelected[index] && onPressed != null) MaterialState.selected, - if (onPressed == null) MaterialState.disabled, + final Set states = { + if (isSelected[index] && onPressed != null) WidgetState.selected, + if (onPressed == null) WidgetState.disabled, }; final Color effectiveFillColor = _ResolveFillColor(fillColor ?? toggleButtonsTheme.fillColor).resolve(states) ?? @@ -903,29 +903,29 @@ class ToggleButtons extends StatelessWidget { } @immutable -class _ResolveFillColor extends MaterialStateProperty with Diagnosticable { +class _ResolveFillColor extends WidgetStateProperty with Diagnosticable { _ResolveFillColor(this.primary); final Color? primary; @override - Color? resolve(Set states) { - if (primary is MaterialStateProperty) { - return MaterialStateProperty.resolveAs(primary, states); + Color? resolve(Set states) { + if (primary is WidgetStateProperty) { + return WidgetStateProperty.resolveAs(primary, states); } - return states.contains(MaterialState.selected) ? primary : null; + return states.contains(WidgetState.selected) ? primary : null; } } @immutable -class _DefaultFillColor extends MaterialStateProperty with Diagnosticable { +class _DefaultFillColor extends WidgetStateProperty with Diagnosticable { _DefaultFillColor(this.colorScheme); final ColorScheme colorScheme; @override - Color resolve(Set states) { - if (states.contains(MaterialState.selected)) { + Color resolve(Set states) { + if (states.contains(WidgetState.selected)) { return colorScheme.primary.withOpacity(0.12); } return colorScheme.surface.withOpacity(0.0); @@ -933,7 +933,7 @@ class _DefaultFillColor extends MaterialStateProperty with Diagnosticable } @immutable -class _ToggleButtonDefaultOverlay extends MaterialStateProperty { +class _ToggleButtonDefaultOverlay extends WidgetStateProperty { _ToggleButtonDefaultOverlay({ required this.selected, required this.unselected, @@ -955,25 +955,25 @@ class _ToggleButtonDefaultOverlay extends MaterialStateProperty { final Color? disabledColor; @override - Color? resolve(Set states) { + Color? resolve(Set states) { if (selected) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return splashColor ?? colorScheme?.primary.withOpacity(0.16); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor ?? colorScheme?.primary.withOpacity(0.04); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusColor ?? colorScheme?.primary.withOpacity(0.12); } } else if (unselected) { - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return splashColor ?? highlightColor ?? colorScheme?.onSurface.withOpacity(0.16); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor ?? colorScheme?.onSurface.withOpacity(0.04); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusColor ?? colorScheme?.onSurface.withOpacity(0.12); } } diff --git a/packages/flutter/lib/src/painting/box_border.dart b/packages/flutter/lib/src/painting/box_border.dart index 6575ee2f9bc1f..cd9fd2f761688 100644 --- a/packages/flutter/lib/src/painting/box_border.dart +++ b/packages/flutter/lib/src/painting/box_border.dart @@ -333,62 +333,22 @@ abstract class BoxBorder extends ShapeBorder { ); } final Paint paint = Paint()..color = color; - final RRect inner = _deflateRRect( - borderRect, - EdgeInsets.fromLTRB(left.strokeInset, top.strokeInset, right.strokeInset, bottom.strokeInset), - ); - final RRect outer = _inflateRRect( - borderRect, - EdgeInsets.fromLTRB( - left.strokeOutset, - top.strokeOutset, - right.strokeOutset, - bottom.strokeOutset, - ), - ); - canvas.drawDRRect(outer, inner, paint); - } - static RRect _inflateRRect(RRect rect, EdgeInsets insets) { - return RRect.fromLTRBAndCorners( - rect.left - insets.left, - rect.top - insets.top, - rect.right + insets.right, - rect.bottom + insets.bottom, - topLeft: (rect.tlRadius + Radius.elliptical(insets.left, insets.top)).clamp( - minimum: Radius.zero, - ), - topRight: (rect.trRadius + Radius.elliptical(insets.right, insets.top)).clamp( - minimum: Radius.zero, - ), - bottomRight: (rect.brRadius + Radius.elliptical(insets.right, insets.bottom)).clamp( - minimum: Radius.zero, - ), - bottomLeft: (rect.blRadius + Radius.elliptical(insets.left, insets.bottom)).clamp( - minimum: Radius.zero, - ), - ); - } + final RRect inner = EdgeInsets.fromLTRB( + left.strokeInset, + top.strokeInset, + right.strokeInset, + bottom.strokeInset, + ).deflateRRect(borderRect); - static RRect _deflateRRect(RRect rect, EdgeInsets insets) { - return RRect.fromLTRBAndCorners( - rect.left + insets.left, - rect.top + insets.top, - rect.right - insets.right, - rect.bottom - insets.bottom, - topLeft: (rect.tlRadius - Radius.elliptical(insets.left, insets.top)).clamp( - minimum: Radius.zero, - ), - topRight: (rect.trRadius - Radius.elliptical(insets.right, insets.top)).clamp( - minimum: Radius.zero, - ), - bottomRight: (rect.brRadius - Radius.elliptical(insets.right, insets.bottom)).clamp( - minimum: Radius.zero, - ), - bottomLeft: (rect.blRadius - Radius.elliptical(insets.left, insets.bottom)).clamp( - minimum: Radius.zero, - ), - ); + final RRect outer = EdgeInsets.fromLTRB( + left.strokeOutset, + top.strokeOutset, + right.strokeOutset, + bottom.strokeOutset, + ).inflateRRect(borderRect); + + canvas.drawDRRect(outer, inner, paint); } static void _paintUniformBorderWithCircle(Canvas canvas, Rect rect, BorderSide side) { diff --git a/packages/flutter/lib/src/painting/edge_insets.dart b/packages/flutter/lib/src/painting/edge_insets.dart index 5fb2a5a67eb76..61a8683009023 100644 --- a/packages/flutter/lib/src/painting/edge_insets.dart +++ b/packages/flutter/lib/src/painting/edge_insets.dart @@ -547,6 +547,66 @@ class EdgeInsets extends EdgeInsetsGeometry { ); } + /// Returns a new [RRect] expanded by this [EdgeInsets], increasing each corner's + /// radius by the corresponding per-axis inset amounts (clamped at zero). + /// + /// The resulting rectangle's left, top, right, and bottom edges are moved outward + /// by the corresponding inset values. Each corner radius is also expanded by the + /// corresponding inset values on both axes, ensuring that the corner shape is + /// preserved while scaling appropriately. + /// + /// Corner radii are adjusted per-axis and clamped to be non-negative. For example, + /// the top-left corner radius is expanded by [left] horizontally and [top] vertically. + /// + /// See also: + /// + /// * [deflateRRect], to deflate an [RRect] rather than inflating it. + /// * [inflateRect], to inflate a [Rect] rather than an [RRect]. + /// * [BorderRadius], which is used to define the corner radii of an [RRect]. + RRect inflateRRect(RRect rect) { + return RRect.fromLTRBAndCorners( + rect.left - left, + rect.top - top, + rect.right + right, + rect.bottom + bottom, + topLeft: (rect.tlRadius + Radius.elliptical(left, top)).clamp(minimum: Radius.zero), + topRight: (rect.trRadius + Radius.elliptical(right, top)).clamp(minimum: Radius.zero), + bottomRight: (rect.brRadius + Radius.elliptical(right, bottom)).clamp(minimum: Radius.zero), + bottomLeft: (rect.blRadius + Radius.elliptical(left, bottom)).clamp(minimum: Radius.zero), + ); + } + + /// Returns a new [RRect] shrunk by this [EdgeInsets], decreasing each corner's + /// radius by the corresponding per-axis inset amounts (clamped at zero). + /// + /// The resulting rectangle's left, top, right, and bottom edges are moved inward + /// by the corresponding inset values. Each corner radius is also reduced by the + /// corresponding inset values on both axes, maintaining the corner shape while + /// scaling appropriately to the new size. + /// + /// Corner radii are adjusted per-axis and clamped to be non-negative. For example, + /// the top-left corner radius is reduced by [left] horizontally and [top] vertically. + /// If either resulting dimension would be negative, the radius is clamped to zero + /// in that direction. + /// + /// See also: + /// + /// * [inflateRRect], to inflate an [RRect] rather than deflating it. + /// * [deflateRect], to deflate a [Rect] rather than an [RRect]. + /// * [BorderRadius], which is used to define the corner radii of an [RRect]. + RRect deflateRRect(RRect rect) { + return RRect.fromLTRBAndCorners( + rect.left + left, + rect.top + top, + rect.right - right, + rect.bottom - bottom, + topLeft: (rect.tlRadius - Radius.elliptical(left, top)).clamp(minimum: Radius.zero), + topRight: (rect.trRadius - Radius.elliptical(right, top)).clamp(minimum: Radius.zero), + bottomRight: (rect.brRadius - Radius.elliptical(right, bottom)).clamp(minimum: Radius.zero), + bottomLeft: (rect.blRadius - Radius.elliptical(left, bottom)).clamp(minimum: Radius.zero), + ); + } + @override EdgeInsetsGeometry subtract(EdgeInsetsGeometry other) { if (other is EdgeInsets) { diff --git a/packages/flutter/lib/src/painting/gradient.dart b/packages/flutter/lib/src/painting/gradient.dart index 3302a2043a496..dcc652735849c 100644 --- a/packages/flutter/lib/src/painting/gradient.dart +++ b/packages/flutter/lib/src/painting/gradient.dart @@ -984,18 +984,41 @@ class SweepGradient extends Gradient { /// The angle in radians at which stop 0.0 of the gradient is placed. /// + /// The angle is measured in radians clockwise from the positive x-axis. + /// + /// Values outside the range `[0, 2π]` are normalized to the equivalent angle + /// within this range using modulo arithmetic. + /// + /// The gradient will be painted in the sector between [startAngle] and [endAngle]. + /// The behavior outside this sector is determined by [tileMode]. + /// /// Defaults to 0.0. final double startAngle; /// The angle in radians at which stop 1.0 of the gradient is placed. /// - /// Defaults to math.pi * 2. + /// The angle is measured in radians clockwise from the positive x-axis. + /// + /// Values outside the range `[0, 2π]` are normalized to the equivalent angle + /// within this range using modulo arithmetic. + /// + /// The gradient will be painted in the sector between [startAngle] and [endAngle]. + /// The behavior outside this sector is determined by [tileMode]. + /// + /// Defaults to math.pi * 2 (2π = a full circle). final double endAngle; - /// How this gradient should tile the plane beyond in the region before + /// How this gradient should tile the plane in the region before /// [startAngle] and after [endAngle]. /// - /// For details, see [TileMode]. + /// The gradient will be painted in the sector between [startAngle] and + /// [endAngle]. The [tileMode] determines what happens in the remaining area: + /// + /// * [TileMode.clamp]: The edge colors are extended to fill the remaining area. + /// * [TileMode.repeated]: The gradient is repeated in the angular direction. + /// * [TileMode.mirror]: The gradient is mirrored in the angular direction. + /// * [TileMode.decal]: Only the gradient is drawn, leaving the remaining area + /// transparent. /// /// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/tile_mode_clamp_sweep.png) /// ![](https://flutter.github.io/assets-for-api-docs/assets/dart-ui/tile_mode_decal_sweep.png) diff --git a/packages/flutter/lib/src/painting/image_provider.dart b/packages/flutter/lib/src/painting/image_provider.dart index fb38f79a837ce..625c2a3b2df4e 100644 --- a/packages/flutter/lib/src/painting/image_provider.dart +++ b/packages/flutter/lib/src/painting/image_provider.dart @@ -348,7 +348,7 @@ typedef ImageDecoderCallback = /// /// ## Creating an [ImageProvider] /// -/// {@tool dartpad} +/// {@tool sample} /// In this example, a variant of [NetworkImage] is created that passes all the /// [ImageConfiguration] information (locale, platform, size, etc) to the server /// using query arguments in the image URL. diff --git a/packages/flutter/lib/src/rendering/custom_paint.dart b/packages/flutter/lib/src/rendering/custom_paint.dart index bdf755d7e7416..969c45f6bc6d9 100644 --- a/packages/flutter/lib/src/rendering/custom_paint.dart +++ b/packages/flutter/lib/src/rendering/custom_paint.dart @@ -953,7 +953,7 @@ class RenderCustomPaint extends RenderProxyBox { config.isFocusable = properties.focusable!; } if (properties.focused != null) { - config.isFocused = properties.focused!; + config.isFocused = properties.focused; } if (properties.enabled != null) { config.isEnabled = properties.enabled; diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart index 3ce62d3c8db99..2ed1fc424a42d 100644 --- a/packages/flutter/lib/src/rendering/object.dart +++ b/packages/flutter/lib/src/rendering/object.dart @@ -2059,7 +2059,7 @@ abstract class RenderObject with DiagnosticableTreeMixin implements HitTestTarge assert(child._parent == this); assert(child.attached == attached); assert(child.parentData != null); - if (!(_isRelayoutBoundary ?? true)) { + if (!(child._isRelayoutBoundary ?? true)) { child._isRelayoutBoundary = null; } child.parentData!.detach(); @@ -4857,7 +4857,7 @@ mixin SemanticsAnnotationsMixin on RenderObject { config.isFocusable = _properties.focusable!; } if (_properties.focused != null) { - config.isFocused = _properties.focused!; + config.isFocused = _properties.focused; } if (_properties.inMutuallyExclusiveGroup != null) { config.isInMutuallyExclusiveGroup = _properties.inMutuallyExclusiveGroup!; diff --git a/packages/flutter/lib/src/rendering/platform_view.dart b/packages/flutter/lib/src/rendering/platform_view.dart index 5c7dbd9f1e412..20be7e5fabc0a 100644 --- a/packages/flutter/lib/src/rendering/platform_view.dart +++ b/packages/flutter/lib/src/rendering/platform_view.dart @@ -802,7 +802,7 @@ mixin _PlatformViewGestureMixin on RenderBox implements MouseTrackerAnnotation { PointerExitEventListener? get onExit => null; @override - MouseCursor get cursor => MouseCursor.uncontrolled; + MouseCursor get cursor => kIsWeb ? MouseCursor.defer : MouseCursor.uncontrolled; @override bool get validForMouseTracker => true; diff --git a/packages/flutter/lib/src/rendering/sliver_group.dart b/packages/flutter/lib/src/rendering/sliver_group.dart index 8ea4a18c9979f..190fd29508338 100644 --- a/packages/flutter/lib/src/rendering/sliver_group.dart +++ b/packages/flutter/lib/src/rendering/sliver_group.dart @@ -160,10 +160,11 @@ class RenderSliverCrossAxisGroup extends RenderSliver }) { RenderSliver? child = lastChild; while (child != null) { + final Offset paintOffset = (child.parentData! as SliverPhysicalParentData).paintOffset; final bool isHit = result.addWithAxisOffset( mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition, - paintOffset: null, + paintOffset: paintOffset, mainAxisOffset: childMainAxisPosition(child), crossAxisOffset: childCrossAxisPosition(child), hitTest: child.hitTest, @@ -325,7 +326,17 @@ class RenderSliverMainAxisGroup extends RenderSliver ), parentUsesSize: true, ); + final SliverGeometry childLayoutGeometry = child.geometry!; + + final double? scrollOffsetCorrection = childLayoutGeometry.scrollOffsetCorrection; + if (scrollOffsetCorrection != null) { + geometry = SliverGeometry(scrollOffsetCorrection: scrollOffsetCorrection); + return; + } + + assert(childLayoutGeometry.debugAssertIsValid()); + final double childPaintOffset = layoutOffset + childLayoutGeometry.paintOrigin; final SliverPhysicalParentData childParentData = child.parentData! as SliverPhysicalParentData; @@ -441,10 +452,11 @@ class RenderSliverMainAxisGroup extends RenderSliver }) { RenderSliver? child = firstChild; while (child != null) { + final Offset paintOffset = (child.parentData! as SliverPhysicalParentData).paintOffset; final bool isHit = result.addWithAxisOffset( mainAxisPosition: mainAxisPosition, crossAxisPosition: crossAxisPosition, - paintOffset: null, + paintOffset: paintOffset, mainAxisOffset: childMainAxisPosition(child), crossAxisOffset: childCrossAxisPosition(child), hitTest: child.hitTest, @@ -461,7 +473,7 @@ class RenderSliverMainAxisGroup extends RenderSliver void visitChildrenForSemantics(RenderObjectVisitor visitor) { RenderSliver? child = firstChild; while (child != null) { - if (child.geometry!.visible) { + if (child.geometry!.visible || child.geometry!.cacheExtent > 0.0 || child.ensureSemantics) { visitor(child); } child = childAfter(child); diff --git a/packages/flutter/lib/src/rendering/stack.dart b/packages/flutter/lib/src/rendering/stack.dart index 18591a95c169e..baecd0e3010a8 100644 --- a/packages/flutter/lib/src/rendering/stack.dart +++ b/packages/flutter/lib/src/rendering/stack.dart @@ -660,7 +660,15 @@ class RenderStack extends RenderBox size = constraints.biggest; } - assert(size.isFinite); + assert( + size.isFinite, + 'A Stack requires bounded constraints from its parent. ' + 'This error commonly occurs when a Stack is placed inside a widget like Column, ' + 'ListView, or other widgets that do not constrain their children. ' + 'To fix this, wrap the Stack in a widget that provides finite height and width constraints, ' + 'such as a SizedBox or ConstrainedBox. ' + 'Use Expanded only if the parent is a Flex widget like Row or Column.', + ); return size; } diff --git a/packages/flutter/lib/src/rendering/table.dart b/packages/flutter/lib/src/rendering/table.dart index c317844cbbe84..5522e9c6018de 100644 --- a/packages/flutter/lib/src/rendering/table.dart +++ b/packages/flutter/lib/src/rendering/table.dart @@ -751,11 +751,13 @@ class RenderTable extends RenderBox { // Shift child transform. final Rect localRect = rectWithOffset(child); // The rect should satisfy 0 <= localRect.top < localRect.bottom <= rowBox.height - final double dy = localRect.top >= rowBox.height ? -_rowTops.elementAt(y) : 0.0; + final double dy = localRect.bottom > rowBox.height + precisionErrorTolerance + ? -_rowTops.elementAt(y) + : 0.0; // if addCellWrapper is true, the rect is relative to the cell // The rect should satisfy 0 <= localRect.left < localRect.right <= cellWidth - // if addCellWrapper is false, the rect is relative to the raw + // if addCellWrapper is false, the rect is relative to the row // The rect should satisfy _columnLefts!.elementAt(x) <= localRect.left < localRect.right <= _columnLefts!.elementAt(x+1) final double dx = addCellWrapper ? ((localRect.left >= cellWidth) ? -_columnLefts!.elementAt(x) : 0.0) diff --git a/packages/flutter/lib/src/rendering/table_border.dart b/packages/flutter/lib/src/rendering/table_border.dart index fb0e609870d5e..8b5d542c81326 100644 --- a/packages/flutter/lib/src/rendering/table_border.dart +++ b/packages/flutter/lib/src/rendering/table_border.dart @@ -97,34 +97,106 @@ class TableBorder { /// Whether all the sides of the border (outside and inside) are identical. /// Uniform borders are typically more efficient to paint. bool get isUniform { - final Color topColor = top.color; - if (right.color != topColor || - bottom.color != topColor || - left.color != topColor || - horizontalInside.color != topColor || - verticalInside.color != topColor) { - return false; - } + return _allSidesMatch((BorderSide side) => side.color) && + _allSidesMatch((BorderSide side) => side.width) && + _allSidesMatch((BorderSide side) => side.style); + } - final double topWidth = top.width; - if (right.width != topWidth || - bottom.width != topWidth || - left.width != topWidth || - horizontalInside.width != topWidth || - verticalInside.width != topWidth) { - return false; + /// Whether all the outer sides of the border are identical. + bool get _outerBorderIsUniform { + return _outerSidesMatch((BorderSide side) => side.color) && + _outerSidesMatch((BorderSide side) => side.width) && + _outerSidesMatch((BorderSide side) => side.style); + } + + bool _allSidesMatch(T Function(BorderSide borderSide) selector) { + final T topValue = selector(top); + + return selector(right) == topValue && + selector(bottom) == topValue && + selector(left) == topValue && + selector(horizontalInside) == topValue && + selector(verticalInside) == topValue; + } + + bool _outerSidesMatch(T Function(BorderSide borderSide) selector) { + final T topValue = selector(top); + + return selector(right) == topValue && + selector(bottom) == topValue && + selector(left) == topValue; + } + + /// Returns the set of distinct visible colors from the outer border sides. + /// + /// Only includes colors from border sides that are not [BorderStyle.none]. + Set _distinctVisibleOuterColors() { + return { + if (top.style != BorderStyle.none) top.color, + if (right.style != BorderStyle.none) right.color, + if (bottom.style != BorderStyle.none) bottom.color, + if (left.style != BorderStyle.none) left.color, + }; + } + + void _paintTableBorder(Canvas canvas, Rect rect) { + if (_outerBorderIsUniform && borderRadius != BorderRadius.zero) { + final RRect outer = borderRadius.toRRect(rect); + final RRect inner = outer.deflate(top.width); + final Paint paint = Paint()..color = top.color; + canvas.drawDRRect(outer, inner, paint); + return; } - final BorderStyle topStyle = top.style; - if (right.style != topStyle || - bottom.style != topStyle || - left.style != topStyle || - horizontalInside.style != topStyle || - verticalInside.style != topStyle) { - return false; + final Set visibleColors = _distinctVisibleOuterColors(); + if (visibleColors.length == 1 && borderRadius != BorderRadius.zero) { + _paintNonUniformBorderWithRadius( + canvas, + rect, + borderRadius: borderRadius, + top: top.style == BorderStyle.none ? BorderSide.none : top, + right: right.style == BorderStyle.none ? BorderSide.none : right, + bottom: bottom.style == BorderStyle.none ? BorderSide.none : bottom, + left: left.style == BorderStyle.none ? BorderSide.none : left, + color: visibleColors.first, + ); + return; } - return true; + paintBorder(canvas, rect, top: top, right: right, bottom: bottom, left: left); + } + + /// Paints a non-uniform border with border radius support. + /// + /// This is similar to [BoxBorder.paintNonUniformBorder] but adapted for table borders. + static void _paintNonUniformBorderWithRadius( + Canvas canvas, + Rect rect, { + required BorderRadius borderRadius, + required Color color, + required BorderSide top, + required BorderSide right, + required BorderSide bottom, + required BorderSide left, + }) { + final RRect borderRect = borderRadius.toRRect(rect); + final Paint paint = Paint()..color = color; + + final RRect inner = EdgeInsets.fromLTRB( + left.strokeInset, + top.strokeInset, + right.strokeInset, + bottom.strokeInset, + ).deflateRRect(borderRect); + + final RRect outer = EdgeInsets.fromLTRB( + left.strokeOutset, + top.strokeOutset, + right.strokeOutset, + bottom.strokeOutset, + ).inflateRRect(borderRect); + + canvas.drawDRRect(outer, inner, paint); } /// Creates a copy of this border but with the widths scaled by the factor `t`. @@ -257,14 +329,8 @@ class TableBorder { } } } - if (!isUniform || borderRadius == BorderRadius.zero) { - paintBorder(canvas, rect, top: top, right: right, bottom: bottom, left: left); - } else { - final RRect outer = borderRadius.toRRect(rect); - final RRect inner = outer.deflate(top.width); - final Paint paint = Paint()..color = top.color; - canvas.drawDRRect(outer, inner, paint); - } + + _paintTableBorder(canvas, rect); } @override diff --git a/packages/flutter/lib/src/semantics/binding.dart b/packages/flutter/lib/src/semantics/binding.dart index d5e474b8b71eb..a70522f5d488c 100644 --- a/packages/flutter/lib/src/semantics/binding.dart +++ b/packages/flutter/lib/src/semantics/binding.dart @@ -39,6 +39,11 @@ mixin SemanticsBinding on BindingBase { } }; _handleSemanticsEnabledChanged(); + addSemanticsEnabledListener(_handleFrameworkSemanticsEnabledChanged); + // Ensure the initial value is set. + if (semanticsEnabled) { + _handleFrameworkSemanticsEnabledChanged(); + } } /// The current [SemanticsBinding], if one has been created. @@ -164,6 +169,10 @@ mixin SemanticsBinding on BindingBase { performSemanticsAction(decodedAction); } + void _handleFrameworkSemanticsEnabledChanged() { + platformDispatcher.setSemanticsTreeEnabled(semanticsEnabled); + } + /// Called whenever the platform requests an action to be performed on a /// [SemanticsNode]. /// diff --git a/packages/flutter/lib/src/semantics/semantics.dart b/packages/flutter/lib/src/semantics/semantics.dart index bd5860ccaea65..a34164023cc06 100644 --- a/packages/flutter/lib/src/semantics/semantics.dart +++ b/packages/flutter/lib/src/semantics/semantics.dart @@ -13,6 +13,7 @@ import 'dart:core'; import 'dart:math' as math; import 'dart:ui' show + CheckedState, Locale, Offset, Rect, @@ -25,7 +26,8 @@ import 'dart:ui' SemanticsUpdateBuilder, SemanticsValidationResult, StringAttribute, - TextDirection; + TextDirection, + Tristate; import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; @@ -163,7 +165,7 @@ sealed class _DebugSemanticsRoleChecks { static FlutterError? _semanticsTab(SemanticsNode node) { final SemanticsData data = node.getSemanticsData(); - if (!data.flagsCollection.hasSelectedState) { + if (data.flagsCollection.isSelected == Tristate.none) { return FlutterError('A tab needs selected states'); } @@ -171,13 +173,11 @@ sealed class _DebugSemanticsRoleChecks { return null; } - if (!data.flagsCollection.hasEnabledState) { - if (!data.hasAction(SemanticsAction.tap)) { - return FlutterError('A tab must have a tap action'); - } - } else if (data.flagsCollection.isEnabled && !data.hasAction(SemanticsAction.tap)) { + if (data.flagsCollection.isEnabled != Tristate.isFalse && + !data.hasAction(SemanticsAction.tap)) { return FlutterError('A tab must have a tap action'); } + return null; } @@ -250,7 +250,7 @@ sealed class _DebugSemanticsRoleChecks { return error == null; } - if (data.flagsCollection.isChecked) { + if (data.flagsCollection.isChecked == CheckedState.isTrue) { if (hasCheckedChild) { error = FlutterError('Radio groups must not have multiple checked children'); return false; @@ -296,7 +296,7 @@ sealed class _DebugSemanticsRoleChecks { static FlutterError? _semanticsMenuItemCheckbox(SemanticsNode node) { final SemanticsData data = node.getSemanticsData(); - if (!data.flagsCollection.hasCheckedState) { + if (data.flagsCollection.isChecked == CheckedState.none) { return FlutterError('a menu item checkbox must be checkable'); } @@ -313,7 +313,7 @@ sealed class _DebugSemanticsRoleChecks { static FlutterError? _semanticsMenuItemRadio(SemanticsNode node) { final SemanticsData data = node.getSemanticsData(); - if (!data.flagsCollection.hasCheckedState) { + if (data.flagsCollection.isChecked == CheckedState.none) { return FlutterError('a menu item radio must be checkable'); } @@ -1472,6 +1472,11 @@ class SemanticsProperties extends DiagnosticableTree { this.slider, this.keyboardKey, this.readOnly, + @Deprecated( + 'Use focused instead. ' + 'Setting focused automatically set focusable. ' + 'This feature was deprecated after v3.36.0-0.0.pre.', + ) this.focusable, this.focused, this.inMutuallyExclusiveGroup, @@ -1656,10 +1661,17 @@ class SemanticsProperties extends DiagnosticableTree { /// to be confused with accessibility focus. Accessibility focus is the /// green/black rectangular highlight that TalkBack/VoiceOver draws around the /// element it is reading, and is separate from input focus. + @Deprecated( + 'Use focused instead. ' + 'Setting focused automatically set focusable. ' + 'This feature was deprecated after v3.36.0-0.0.pre.', + ) final bool? focusable; /// If non-null, whether the node currently holds input focus. /// + /// If null, the node is not fosusable. + /// /// At most one node in the tree should hold input focus at any point in time, /// and it should not be set to true if [focusable] is false. /// @@ -3846,6 +3858,15 @@ class SemanticsNode with DiagnosticableTreeMixin { if (_inputType != SemanticsInputType.none) { properties.add(EnumProperty('inputType', _inputType)); } + if (validationResult != SemanticsValidationResult.none) { + properties.add( + EnumProperty( + 'validationResult', + validationResult, + defaultValue: SemanticsValidationResult.none, + ), + ); + } } /// Returns a string representation of this node and its descendants. @@ -5490,9 +5511,9 @@ class SemanticsConfiguration { /// accessibility focused may or may not be selected; e.g. a [ListTile] can have /// accessibility focus but have its [ListTile.selected] property set to false, /// in which case it will not be flagged as selected. - bool get isSelected => _flags.isSelected; + bool get isSelected => _flags.isSelected == Tristate.isTrue; set isSelected(bool value) { - _flags = _flags.copyWith(hasSelectedState: true, isSelected: value); + _flags = _flags.copyWith(isSelected: _tristateFromBoolOrNull(value)); _hasBeenAnnotated = true; } @@ -5504,9 +5525,9 @@ class SemanticsConfiguration { /// /// The getter returns null if the owning [RenderObject] does not have /// expanded/collapsed state. - bool? get isExpanded => _flags.hasExpandedState ? _flags.isExpanded : null; + bool? get isExpanded => _flags.isExpanded.toBoolOrNull(); set isExpanded(bool? value) { - _flags = _flags.copyWith(hasExpandedState: true, isExpanded: value); + _flags = _flags.copyWith(isExpanded: _tristateFromBoolOrNull(value)); _hasBeenAnnotated = true; } @@ -5525,10 +5546,9 @@ class SemanticsConfiguration { /// This property does not control whether semantics are enabled. If you wish to /// disable semantics for a particular widget, you should use an [ExcludeSemantics] /// widget. - bool? get isEnabled => _flags.hasEnabledState ? _flags.isEnabled : null; + bool? get isEnabled => _flags.isEnabled.toBoolOrNull(); set isEnabled(bool? value) { - _flags = _flags.copyWith(hasEnabledState: true, isEnabled: value); - + _flags = _flags.copyWith(isEnabled: _tristateFromBoolOrNull(value)); _hasBeenAnnotated = true; } @@ -5541,10 +5561,12 @@ class SemanticsConfiguration { /// /// The getter returns null if the owning [RenderObject] does not have /// checked/unchecked state. - bool? get isChecked => _flags.hasCheckedState ? _flags.isChecked : null; + bool? get isChecked => + _flags.isChecked == CheckedState.none ? null : _flags.isChecked == CheckedState.isTrue; set isChecked(bool? value) { - assert(value != true || isCheckStateMixed != true); - _flags = _flags.copyWith(hasCheckedState: true, isChecked: value); + if (value != null) { + _flags = _flags.copyWith(isChecked: value ? CheckedState.isTrue : CheckedState.isFalse); + } _hasBeenAnnotated = true; } @@ -5556,10 +5578,12 @@ class SemanticsConfiguration { /// /// The getter returns null if the owning [RenderObject] does not have /// mixed checked state. - bool? get isCheckStateMixed => _flags.hasCheckedState ? _flags.isCheckStateMixed : null; + bool? get isCheckStateMixed => + _flags.isChecked == CheckedState.none ? null : _flags.isChecked == CheckedState.mixed; set isCheckStateMixed(bool? value) { - assert(value != true || isChecked != true); - _flags = _flags.copyWith(hasCheckedState: true, isCheckStateMixed: value); + if (value ?? false) { + _flags = _flags.copyWith(isChecked: CheckedState.mixed); + } _hasBeenAnnotated = true; } @@ -5571,9 +5595,9 @@ class SemanticsConfiguration { /// /// The getter returns null if the owning [RenderObject] does not have /// on/off state. - bool? get isToggled => _flags.hasToggledState ? _flags.isToggled : null; + bool? get isToggled => _flags.isToggled.toBoolOrNull(); set isToggled(bool? value) { - _flags = _flags.copyWith(hasToggledState: true, isToggled: value); + _flags = _flags.copyWith(isToggled: _tristateFromBoolOrNull(value)); _hasBeenAnnotated = true; } @@ -5589,16 +5613,34 @@ class SemanticsConfiguration { } /// Whether the owning [RenderObject] can hold the input focus. - bool get isFocusable => _flags.isFocusable; + @Deprecated( + 'Check if isFocused is null instead. ' + 'This feature was deprecated after v3.36.0-0.0.pre.', + ) + bool get isFocusable => _flags.isFocused != Tristate.none; + + @Deprecated( + 'Setting isFocused automatically set this to true. ' + 'This feature was deprecated after v3.36.0-0.0.pre.', + ) set isFocusable(bool value) { - _flags = _flags.copyWith(isFocusable: value); + // If value is false, set `isFocused` to none. + // If value is true, `isFocused` should be true or false. If `isFocused` is not none, + // don't change it, if `isFocused` is `none`, change it to `false`. + if (!value) { + _flags = _flags.copyWith(isFocused: Tristate.none); + } else { + if (_flags.isFocused == Tristate.none) { + _flags = _flags.copyWith(isFocused: Tristate.isFalse); + } + } _hasBeenAnnotated = true; } /// Whether the owning [RenderObject] currently holds the input focus. - bool get isFocused => _flags.isFocused; - set isFocused(bool value) { - _flags = _flags.copyWith(isFocused: value); + bool? get isFocused => _flags.isFocused.toBoolOrNull(); + set isFocused(bool? value) { + _flags = _flags.copyWith(isFocused: _tristateFromBoolOrNull(value)); _hasBeenAnnotated = true; } @@ -5735,9 +5777,9 @@ class SemanticsConfiguration { /// See also: /// /// * [SemanticsFlag.isRequired], for a full description of required nodes. - bool? get isRequired => _flags.hasRequiredState ? _flags.isRequired : null; + bool? get isRequired => _flags.isRequired.toBoolOrNull(); set isRequired(bool? value) { - _flags = _flags.copyWith(hasRequiredState: true, isRequired: value); + _flags = _flags.copyWith(isRequired: _tristateFromBoolOrNull(value)); _hasBeenAnnotated = true; } @@ -5961,6 +6003,7 @@ class SemanticsConfiguration { _actionsAsBits |= child._effectiveActionsAsBits; _customSemanticsActions.addAll(child._customSemanticsActions); _flags = _flags.merge(child._flags); + _linkUrl ??= child._linkUrl; _textSelection ??= child._textSelection; _scrollPosition ??= child._scrollPosition; _scrollExtentMax ??= child._scrollExtentMax; @@ -6252,16 +6295,27 @@ int _mergeHeadingLevels({required int sourceLevel, required int targetLevel}) { return targetLevel == 0 ? sourceLevel : targetLevel; } +Tristate _tristateFromBoolOrNull(bool? value) { + if (value == null) { + return Tristate.none; + } + + if (value) { + return Tristate.isTrue; + } + return Tristate.isFalse; +} + /// This is just to support flag 0-30, new flags don't need to be in the bitmask. int _toBitMask(SemanticsFlags flags) { int bitmask = 0; - if (flags.hasCheckedState) { + if (flags.isChecked != CheckedState.none) { bitmask |= 1 << 0; } - if (flags.isChecked) { + if (flags.isChecked == CheckedState.isTrue) { bitmask |= 1 << 1; } - if (flags.isSelected) { + if (flags.isSelected == Tristate.isTrue) { bitmask |= 1 << 2; } if (flags.isButton) { @@ -6270,13 +6324,13 @@ int _toBitMask(SemanticsFlags flags) { if (flags.isTextField) { bitmask |= 1 << 4; } - if (flags.isFocused) { + if (flags.isFocused == Tristate.isTrue) { bitmask |= 1 << 5; } - if (flags.hasEnabledState) { + if (flags.isEnabled != Tristate.none) { bitmask |= 1 << 6; } - if (flags.isEnabled) { + if (flags.isEnabled == Tristate.isTrue) { bitmask |= 1 << 7; } if (flags.isInMutuallyExclusiveGroup) { @@ -6303,10 +6357,10 @@ int _toBitMask(SemanticsFlags flags) { if (flags.isLiveRegion) { bitmask |= 1 << 15; } - if (flags.hasToggledState) { + if (flags.isToggled != Tristate.none) { bitmask |= 1 << 16; } - if (flags.isToggled) { + if (flags.isToggled == Tristate.isTrue) { bitmask |= 1 << 17; } if (flags.hasImplicitScrolling) { @@ -6318,7 +6372,7 @@ int _toBitMask(SemanticsFlags flags) { if (flags.isReadOnly) { bitmask |= 1 << 20; } - if (flags.isFocusable) { + if (flags.isFocused != Tristate.none) { bitmask |= 1 << 21; } if (flags.isLink) { @@ -6330,22 +6384,22 @@ int _toBitMask(SemanticsFlags flags) { if (flags.isKeyboardKey) { bitmask |= 1 << 24; } - if (flags.isCheckStateMixed) { + if (flags.isChecked == CheckedState.mixed) { bitmask |= 1 << 25; } - if (flags.hasExpandedState) { + if (flags.isExpanded != Tristate.none) { bitmask |= 1 << 26; } - if (flags.isExpanded) { + if (flags.isExpanded == Tristate.isTrue) { bitmask |= 1 << 27; } - if (flags.hasSelectedState) { + if (flags.isSelected != Tristate.none) { bitmask |= 1 << 28; } - if (flags.hasRequiredState) { + if (flags.isRequired != Tristate.none) { bitmask |= 1 << 29; } - if (flags.isRequired) { + if (flags.isRequired == Tristate.isTrue) { bitmask |= 1 << 30; } return bitmask; diff --git a/packages/flutter/lib/src/services/autofill.dart b/packages/flutter/lib/src/services/autofill.dart index 48a8ce831a2fa..8326cbe957a85 100644 --- a/packages/flutter/lib/src/services/autofill.dart +++ b/packages/flutter/lib/src/services/autofill.dart @@ -733,7 +733,7 @@ class AutofillConfiguration { 'uniqueIdentifier': uniqueIdentifier, 'hints': autofillHints, 'editingValue': currentEditingValue.toJSON(), - if (hintText != null) 'hintText': hintText, + 'hintText': ?hintText, } : null; } diff --git a/packages/flutter/lib/src/services/binding.dart b/packages/flutter/lib/src/services/binding.dart index e13d5c27e5969..ebd285a7b2fea 100644 --- a/packages/flutter/lib/src/services/binding.dart +++ b/packages/flutter/lib/src/services/binding.dart @@ -422,6 +422,18 @@ mixin ServicesBinding on BindingBase, SchedulerBinding { } _systemContextMenuClient!.handleSystemHide(); _systemContextMenuClient = null; + case 'ContextMenu.onPerformCustomAction': + if (_systemContextMenuClient == null) { + assert( + false, + 'Platform sent onPerformCustomAction when no SystemContextMenuClient was registered. ' + "ServicesBinding.systemContextMenuClient shouldn't be cleared unless the menu is hidden.", + ); + return; + } + final List args = methodCall.arguments as List; + final String callbackId = args[1] as String; + _systemContextMenuClient!.handleCustomContextMenuAction(callbackId); case 'SystemChrome.systemUIChange': final List args = methodCall.arguments as List; if (_systemUiChangeCallback != null) { @@ -689,4 +701,7 @@ mixin SystemContextMenuClient { /// Called only on the single active instance registered with /// [ServicesBinding.systemContextMenuClient]. void handleSystemHide(); + + /// Called when a custom context menu action is triggered. + void handleCustomContextMenuAction(String actionId); } diff --git a/packages/flutter/lib/src/services/font_loader.dart b/packages/flutter/lib/src/services/font_loader.dart index 89fd087aa9745..6436ed2eb97a9 100644 --- a/packages/flutter/lib/src/services/font_loader.dart +++ b/packages/flutter/lib/src/services/font_loader.dart @@ -31,6 +31,8 @@ class FontLoader { /// /// The [bytes] argument specifies the actual font asset bytes. Currently, /// only OpenType (OTF) and TrueType (TTF) fonts are supported. + /// + /// The [load] method will load fonts in the order this is called. void addFont(Future bytes) { if (_loaded) { throw StateError('FontLoader is already loaded'); @@ -59,10 +61,9 @@ class FontLoader { } _loaded = true; - final Iterable> loadFutures = _fontFutures.map( - (Future f) => f.then((Uint8List list) => loadFont(list, family)), - ); - await Future.wait(loadFutures.toList()); + for (final Future fontFuture in _fontFutures) { + await loadFont(await fontFuture, family); + } } /// Hook called to load a font asset into the engine. diff --git a/packages/flutter/lib/src/services/platform_views.dart b/packages/flutter/lib/src/services/platform_views.dart index 8a24b22396133..3e11eb0bd5662 100644 --- a/packages/flutter/lib/src/services/platform_views.dart +++ b/packages/flutter/lib/src/services/platform_views.dart @@ -1312,11 +1312,11 @@ abstract class _AndroidViewControllerInternals { 'viewType': viewType, 'direction': AndroidViewController._getAndroidDirection(layoutDirection), if (hybrid) 'hybrid': hybrid, - if (size != null) 'width': size.width, - if (size != null) 'height': size.height, + 'width': ?size?.width, + 'height': ?size?.height, if (hybridFallback) 'hybridFallback': hybridFallback, - if (position != null) 'left': position.dx, - if (position != null) 'top': position.dy, + 'left': ?position?.dx, + 'top': ?position?.dy, }; if (creationParams != null) { final ByteData paramsByteData = creationParams.codec.encodeMessage(creationParams.data)!; diff --git a/packages/flutter/lib/src/services/system_chrome.dart b/packages/flutter/lib/src/services/system_chrome.dart index 09d4ddce21bbe..b1cc4e2d8e232 100644 --- a/packages/flutter/lib/src/services/system_chrome.dart +++ b/packages/flutter/lib/src/services/system_chrome.dart @@ -232,7 +232,7 @@ enum SystemUiMode { /// the system overlays, and by [SystemChrome.setSystemUIOverlayStyle] for /// imperatively setting the style of the system overlays. @immutable -class SystemUiOverlayStyle { +class SystemUiOverlayStyle with Diagnosticable { /// Creates a new [SystemUiOverlayStyle]. const SystemUiOverlayStyle({ this.systemNavigationBarColor, @@ -343,9 +343,6 @@ class SystemUiOverlayStyle { }; } - @override - String toString() => '${objectRuntimeType(this, 'SystemUiOverlayStyle')}(${_toMap()})'; - /// Creates a copy of this theme with the given fields replaced with new values. SystemUiOverlayStyle copyWith({ Color? systemNavigationBarColor, @@ -400,6 +397,40 @@ class SystemUiOverlayStyle { other.systemStatusBarContrastEnforced == systemStatusBarContrastEnforced && other.systemNavigationBarIconBrightness == systemNavigationBarIconBrightness; } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add( + DiagnosticsProperty('systemNavigationBarColor', systemNavigationBarColor), + ); + properties.add( + DiagnosticsProperty( + 'systemNavigationBarDividerColor', + systemNavigationBarDividerColor, + ), + ); + properties.add( + DiagnosticsProperty( + 'systemNavigationBarIconBrightness', + systemNavigationBarIconBrightness, + ), + ); + properties.add( + DiagnosticsProperty( + 'systemNavigationBarContrastEnforced', + systemNavigationBarContrastEnforced, + ), + ); + properties.add(DiagnosticsProperty('statusBarColor', statusBarColor)); + properties.add(DiagnosticsProperty('statusBarBrightness', statusBarBrightness)); + properties.add( + DiagnosticsProperty('statusBarIconBrightness', statusBarIconBrightness), + ); + properties.add( + DiagnosticsProperty('systemStatusBarContrastEnforced', systemStatusBarContrastEnforced), + ); + } } List _stringify(List list) => [ diff --git a/packages/flutter/lib/src/services/text_input.dart b/packages/flutter/lib/src/services/text_input.dart index 4e8a6d2dae9ea..ef1951e1a4c1a 100644 --- a/packages/flutter/lib/src/services/text_input.dart +++ b/packages/flutter/lib/src/services/text_input.dart @@ -791,7 +791,7 @@ class TextInputConfiguration { 'keyboardAppearance': keyboardAppearance.toString(), 'enableIMEPersonalizedLearning': enableIMEPersonalizedLearning, 'contentCommitMimeTypes': allowedMimeTypes, - if (autofill != null) 'autofill': autofill, + 'autofill': ?autofill, 'enableDeltaModel': enableDeltaModel, 'hintLocales': hintLocales?.map((Locale locale) => locale.toLanguageTag()).toList(), }; @@ -2624,6 +2624,8 @@ class SystemContextMenuController with SystemContextMenuClient, Diagnosticable { static SystemContextMenuController? _lastShown; + final Map _customActionCallbacks = {}; + /// The target [Rect] that was last given to [show]. /// /// Null if [show] has not been called. @@ -2659,9 +2661,20 @@ class SystemContextMenuController with SystemContextMenuClient, Diagnosticable { _lastShown = null; } _hiddenBySystem = true; + _customActionCallbacks.clear(); onSystemHide?.call(); } + @override + void handleCustomContextMenuAction(String callbackId) { + final VoidCallback? callback = _customActionCallbacks[callbackId]; + assert( + callback != null, + 'Custom action callback not found for id: $callbackId. ' + 'This may indicate that the menu item was not properly registered.', + ); + callback?.call(); + } // End SystemContextMenuClient. /// Shows the system context menu anchored on the given [Rect]. @@ -2770,9 +2783,23 @@ class SystemContextMenuController with SystemContextMenuClient, Diagnosticable { ServicesBinding.systemContextMenuClient = this; + _customActionCallbacks.clear(); + for (final IOSSystemContextMenuItemData item in items) { + if (item is IOSSystemContextMenuItemDataCustom) { + assert( + !_customActionCallbacks.containsKey(item.callbackId) || + _customActionCallbacks[item.callbackId] == item.onPressed, + 'Duplicate callback ID "${item.callbackId}" with different callbacks. ' + 'Each custom menu item must have a unique ID or the same callback.', + ); + _customActionCallbacks[item.callbackId] = item.onPressed; + } + } + final List> itemsJson = items .map>((IOSSystemContextMenuItemData item) => item._json) .toList(); + _lastTargetRect = targetRect; _lastItems = items; _lastShown = this; @@ -2809,6 +2836,7 @@ class SystemContextMenuController with SystemContextMenuClient, Diagnosticable { } _lastShown = null; ServicesBinding.systemContextMenuClient = null; + _customActionCallbacks.clear(); // This may be called unnecessarily in the case where the user has already // hidden the menu (for example by tapping the screen). return _channel.invokeMethod('ContextMenu.hideSystemContextMenu'); @@ -2866,11 +2894,7 @@ sealed class IOSSystemContextMenuItemData { /// Returns json for use in method channel calls, specifically /// `ContextMenu.showSystemContextMenu`. Map get _json { - return { - 'callbackId': hashCode, - if (title != null) 'title': title, - 'type': _jsonType, - }; + return {'callbackId': hashCode, 'title': ?title, 'type': _jsonType}; } @override @@ -3081,5 +3105,58 @@ final class IOSSystemContextMenuItemDataLiveText extends IOSSystemContextMenuIte String get _jsonType => 'captureTextFromCamera'; } -// TODO(justinmc): Support the "custom" type. -// https://github.com/flutter/flutter/issues/103163 +/// An [IOSSystemContextMenuItemData] for custom action buttons defined by the developer. +/// +/// Must specify a [title] and [onPressed]. +/// +/// Only supported on iOS 16.0 and above. +/// +/// See also: +/// +/// * [SystemContextMenuController], which is used to show the system context +/// menu. +/// * [IOSSystemContextMenuItemCustom], which performs a similar role but at the +/// widget level. +final class IOSSystemContextMenuItemDataCustom extends IOSSystemContextMenuItemData + with Diagnosticable { + /// Creates an instance of [IOSSystemContextMenuItemDataCustom]. + const IOSSystemContextMenuItemDataCustom({required this.title, required this.onPressed}); + + @override + final String title; + + /// The callback to be executed when the item is selected. + final VoidCallback onPressed; + + /// The unique identifier for this custom action. + String get callbackId => hashCode.toString(); + + @override + String get _jsonType => 'custom'; + + @override + Map get _json { + return {'id': callbackId, 'title': title, 'type': _jsonType}; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(StringProperty('title', title)); + properties.add(StringProperty('callbackId', callbackId)); + properties.add(DiagnosticsProperty('onPressed', onPressed)); + } + + @override + int get hashCode => Object.hash(title, onPressed); + + @override + bool operator ==(Object other) { + if (identical(this, other)) { + return true; + } + return other is IOSSystemContextMenuItemDataCustom && + other.title == title && + other.onPressed == onPressed; + } +} diff --git a/packages/flutter/lib/src/widget_previews/widget_previews.dart b/packages/flutter/lib/src/widget_previews/widget_previews.dart index 932d4a2dee69b..80b80ac0e58d7 100644 --- a/packages/flutter/lib/src/widget_previews/widget_previews.dart +++ b/packages/flutter/lib/src/widget_previews/widget_previews.dart @@ -60,28 +60,65 @@ typedef PreviewLocalizations = PreviewLocalizationsData Function(); /// {@end-tool} /// /// **Important Note:** all values provided to the `@Preview()` annotation must -/// be constant and non-private. +/// be constant, and callback parameters must also be static and non-private. These +/// restrictions do not apply when creating instances of [Preview] at runtime, including +/// within [Preview.transform()]. /// /// See also: +/// - [MultiPreview], a base class which allows for creating multiple [Preview]s +/// with a single annotation. /// - [flutter.dev/to/widget-previews](https://flutter.dev/to/widget-previews) /// for details on getting started with widget previews. -final class Preview { +base class Preview { /// Annotation used to mark functions that return widget previews. const Preview({ - this.name, - this.size, - this.textScaleFactor, - this.wrapper, - this.theme, - this.brightness, - this.localizations, + String group = 'Default', + String? name, + Size? size, + double? textScaleFactor, + WidgetWrapper? wrapper, + PreviewTheme? theme, + Brightness? brightness, + PreviewLocalizations? localizations, + }) : this._required( + group: group, + name: name, + size: size, + textScaleFactor: textScaleFactor, + wrapper: wrapper, + theme: theme, + brightness: brightness, + localizations: localizations, + ); + + // Private constructor used to ensure [PreviewBuilder] stays consistent with this interface. + const Preview._required({ + required this.group, + required this.name, + required this.size, + required this.textScaleFactor, + required this.wrapper, + required this.theme, + required this.brightness, + required this.localizations, }); + /// {@template widget_preview_group} + /// The group the preview belongs to. + /// + /// Previews with the same group name will be displayed together in the + /// previewer. If not provided, 'Default' is used. + /// {@endtemplate} + final String group; + + /// {@template widget_preview_name} /// A description to be displayed alongside the preview. /// /// If not provided, no name will be associated with the preview. + /// {@endtemplate} final String? name; + /// {@template widget_preview_size} /// Artificial constraints to be applied to the previewed widget. /// /// If not provided, the previewed widget will attempt to set its own @@ -92,42 +129,67 @@ final class Preview { /// /// To set a single dimension and allow the other to set its own constraints, use /// [Size.fromHeight] or [Size.fromWidth]. + /// {@endtemplate} final Size? size; + /// {@template widget_preview_text_scale_factor} /// Applies font scaling to text within the previewed widget. /// /// If not provided, the default text scaling factor provided by [MediaQuery] /// will be used. + /// {@endtemplate} final double? textScaleFactor; + /// {@template widget_preview_wrapper} /// Wraps the previewed [Widget] in a [Widget] tree. /// /// This function can be used to perform dependency injection or setup /// additional scaffolding needed to correctly render the preview. + /// {@endtemplate} /// - /// Note: this must be a reference to a static, public function defined as - /// either a top-level function or static member in a class. + /// {@template widget_preview_must_be_static_const} + /// Note: when provided as an argument to an annotation, this must be a reference to a static, + /// public function defined as either a top-level function or static member in a class. + /// {@endtemplate} // TODO(bkonyi): provide an example. final WidgetWrapper? wrapper; + /// {@template widget_preview_theme} /// A callback to return Material and Cupertino theming data to be applied /// to the previewed [Widget]. + /// {@endtemplate} /// - /// Note: this must be a reference to a static, public function defined as - /// either a top-level function or static member in a class. + /// {@macro widget_preview_must_be_static_const} final PreviewTheme? theme; + /// {@template widget_preview_brightness} /// Sets the initial theme brightness. /// /// If not provided, the current system default brightness will be used. + /// {@endtemplate} final Brightness? brightness; + /// {@template widget_preview_localizations} /// A callback to return a localization configuration to be applied to the /// previewed [Widget]. + /// {@endtemplate} /// - /// Note: this must be a reference to a static, public function defined as - /// either a top-level function or static member in a class. + /// {@macro widget_preview_must_be_static_const} final PreviewLocalizations? localizations; + + /// Applies a transformation to the current [Preview]. + /// + /// Overriding this method allows for custom [Preview] implementations to initialize more + /// complicated previews that would not otherwise be possible due to restrictions around constant + /// constructors used for annotations. + /// + /// See also: + /// - [PreviewBuilder], a utility for building and modifying [Preview]s. + @mustCallSuper + Preview transform() => this; + + /// Creates a [PreviewBuilder] initialized with the values set in this preview. + PreviewBuilder toBuilder() => PreviewBuilder._fromPreview(this); } /// The base class used to define a custom 'multi-preview' annotation. @@ -176,17 +238,97 @@ final class Preview { /// ``` /// {@end-tool} /// -/// **Important Note:** all values provided to the `Preview()` instances included in the -/// `previews` list must be constant and non-private. +/// **Important Note:** all values provided to [MultiPreview] derived annotations must +/// be constant, and callback parameters must also be static and non-private. These +/// restrictions do not apply when creating instances of [MultiPreview] at runtime, including +/// within [Preview.transform()]. +/// +/// See also: +/// - [Preview], the annotation used to mark functions that return a widget preview. +/// - [flutter.dev/to/widget-previews](https://flutter.dev/to/widget-previews) +/// for details on getting started with widget previews. abstract base class MultiPreview { /// Creates a [MultiPreview] annotation instance. const MultiPreview(); /// The set of [Preview]s to be created for the annotated function. - /// - /// **Important Note:** this getter must be overridden with a field, not a getter, otherwise - /// the list of [Preview]s will not be detected. List get previews; + + /// Applies a transformation to each [Preview] in [previews]. + /// + /// Overriding this method allows for [MultiPreview] implementations to initialize more + /// complicated previews that would not otherwise be possible due to restrictions around constant + /// constructors used for annotations. + /// + /// See also: + /// - [PreviewBuilder], a utility for building and modifying [Preview]s. + @mustCallSuper + List transform() => previews.map((Preview e) => e.transform()).toList(); +} + +/// A utility class used to build a [Preview] instance. +final class PreviewBuilder { + /// Creates a [PreviewBuilder] with no initial state. + PreviewBuilder(); + + /// Creates a [PreviewBuilder] initialized with the values set in [preview]. + PreviewBuilder._fromPreview(Preview preview) + : group = preview.group, + name = preview.name, + size = preview.size, + textScaleFactor = preview.textScaleFactor, + wrapper = preview.wrapper, + theme = preview.theme, + brightness = preview.brightness, + localizations = preview.localizations; + + /// {@macro widget_preview_group} + String? group; + + /// {@macro widget_preview_name} + String? name; + + /// {@macro widget_preview_size} + Size? size; + + /// {@macro widget_preview_text_scale_factor} + double? textScaleFactor; + + /// {@macro widget_preview_wrapper} + WidgetWrapper? wrapper; + + /// Applies [newWrapper] to the returned value of the current [wrapper]. + void addWrapper(WidgetWrapper newWrapper) { + final WidgetWrapper? wrapperLocal = wrapper; + if (wrapperLocal != null) { + wrapper = (Widget widget) => newWrapper(wrapperLocal(widget)); + return; + } + wrapper = newWrapper; + } + + /// {@macro widget_preview_theme} + PreviewTheme? theme; + + /// {@macro widget_preview_brightness} + Brightness? brightness; + + /// {@macro widget_preview_localizations} + PreviewLocalizations? localizations; + + /// Returns the [Preview] instance created from the builder's state. + Preview build() { + return Preview._required( + group: group ?? 'Default', + name: name, + size: size, + textScaleFactor: textScaleFactor, + wrapper: wrapper, + theme: theme, + brightness: brightness, + localizations: localizations, + ); + } } /// A collection of localization objects and callbacks for use in widget previews. diff --git a/packages/flutter/lib/src/widgets/_window.dart b/packages/flutter/lib/src/widgets/_window.dart index 9aa703a83e86d..5540b8ef6b827 100644 --- a/packages/flutter/lib/src/widgets/_window.dart +++ b/packages/flutter/lib/src/widgets/_window.dart @@ -10,19 +10,21 @@ // // 1. Have the `@internal` attribute. // 2. Throw an `UnsupportedError` if `isWindowingEnabled` -// is `false. +// is `false`. // // See: https://github.com/flutter/flutter/issues/30701. import 'dart:ui' show Display, FlutterView; import 'package:flutter/foundation.dart'; -import 'package:flutter/rendering.dart'; import '../foundation/_features.dart'; +import '_window_io.dart' if (dart.library.js_interop) '_window_web.dart' as window_impl; +import 'basic.dart'; import 'binding.dart'; import 'framework.dart'; import 'inherited_model.dart'; +import 'transitions.dart'; import 'view.dart'; const String _kWindowingDisabledErrorMessage = ''' @@ -60,7 +62,7 @@ See: https://github.com/flutter/flutter/issues/30701. /// /// * [RegularWindowController], the controller for regular top-level windows. @internal -sealed class BaseWindowController { +sealed class BaseWindowController extends ChangeNotifier { /// The current size of the drawable area of the window. /// /// This might differ from the requested size. @@ -137,12 +139,6 @@ mixin class RegularWindowControllerDelegate { if (!isWindowingEnabled) { throw UnsupportedError(_kWindowingDisabledErrorMessage); } - - final WindowingOwner owner = WidgetsBinding.instance.windowingOwner; - if (!owner.hasTopLevelWindows()) { - // TODO(mattkae): close the application if this is the last window - // via ServicesBinding.instance.exitApplication(AppExitType.cancelable); - } } } @@ -246,12 +242,18 @@ abstract class RegularWindowController extends BaseWindowController { ); } - /// Creates an empty [RegularWindowController] for testing purposes. + /// Creates an empty [RegularWindowController]. + /// + /// This method is only intended to be used by subclasses of the + /// [RegularWindowController]. + /// + /// Users who want to instantiate a new [RegularWindowController] should + /// always use the factory method to create a controller that is valid + /// for their particular platform. /// /// {@macro flutter.widgets.windowing.experimental} @internal @protected - @visibleForTesting RegularWindowController.empty(); /// The current title of the window. @@ -398,19 +400,23 @@ abstract class WindowingOwner { /// {@macro flutter.widgets.windowing.experimental} @internal bool hasTopLevelWindows(); +} - /// Creates default windowing owner for standard desktop embedders. - /// - /// {@macro flutter.widgets.windowing.experimental} - @internal - static WindowingOwner createDefaultOwner() { - if (!isWindowingEnabled) { - return _WindowingOwnerUnsupported(errorMessage: _kWindowingDisabledErrorMessage); - } +/// Creates default windowing owner for standard desktop embedders. +/// +/// {@macro flutter.widgets.windowing.experimental} +@internal +WindowingOwner createDefaultWindowingOwner() { + if (!isWindowingEnabled) { + return _WindowingOwnerUnsupported(errorMessage: _kWindowingDisabledErrorMessage); + } - // TODO(mattkae): Implement windowing owners for desktop platforms. - return _WindowingOwnerUnsupported(errorMessage: 'Windowing is unsupported on this platform.'); + final WindowingOwner? owner = window_impl.createDefaultOwner(); + if (owner != null) { + return owner; } + + return _WindowingOwnerUnsupported(errorMessage: 'Windowing is unsupported on this platform.'); } /// Windowing delegate used on platforms that do not support windowing. @@ -507,9 +513,12 @@ class RegularWindow extends StatelessWidget { @internal @override Widget build(BuildContext context) { - return WindowScope( - controller: controller, - child: View(view: controller.rootView, child: child), + return ListenableBuilder( + listenable: controller, + builder: (BuildContext context, Widget? widget) => WindowScope( + controller: controller, + child: View(view: controller.rootView, child: child), + ), ); } } diff --git a/packages/flutter/lib/src/widgets/_window_io.dart b/packages/flutter/lib/src/widgets/_window_io.dart new file mode 100644 index 0000000000000..071a58b1741e9 --- /dev/null +++ b/packages/flutter/lib/src/widgets/_window_io.dart @@ -0,0 +1,37 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Do not import this file in production applications or packages published +// to pub.dev. Flutter will make breaking changes to this file, even in patch +// versions. +// +// All APIs in this file must be private or must: +// +// 1. Have the `@internal` attribute. +// 2. Throw an `UnsupportedError` if `isWindowingEnabled` +// is `false`. +// +// See: https://github.com/flutter/flutter/issues/30701. + +import 'dart:io'; + +import 'package:flutter/foundation.dart'; + +import '_window.dart'; +import '_window_win32.dart'; + +/// Creates a default [WindowingOwner] for the current platform. +/// +/// Returns null if windowing is not supported on the current platform. +/// Only supported on desktop platforms. +/// +/// {@macro flutter.widgets.windowing.experimental} +@internal +WindowingOwner? createDefaultOwner() { + if (Platform.isWindows) { + return WindowingOwnerWin32(); + } else { + return null; + } +} diff --git a/packages/flutter/lib/src/widgets/_window_web.dart b/packages/flutter/lib/src/widgets/_window_web.dart new file mode 100644 index 0000000000000..da3ddc73d87bd --- /dev/null +++ b/packages/flutter/lib/src/widgets/_window_web.dart @@ -0,0 +1,29 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Do not import this file in production applications or packages published +// to pub.dev. Flutter will make breaking changes to this file, even in patch +// versions. +// +// All APIs in this file must be private or must: +// +// 1. Have the `@internal` attribute. +// 2. Throw an `UnsupportedError` if `isWindowingEnabled` +// is `false`. +// +// See: https://github.com/flutter/flutter/issues/30701. + +import 'package:flutter/foundation.dart'; + +import '_window.dart'; + +/// Creates a default [WindowingOwner] for web. +/// +/// Returns `null` as web does not support multiple windows. +/// +/// {@macro flutter.widgets.windowing.experimental} +@internal +WindowingOwner? createDefaultOwner() { + return null; +} diff --git a/packages/flutter/lib/src/widgets/_window_win32.dart b/packages/flutter/lib/src/widgets/_window_win32.dart new file mode 100644 index 0000000000000..1d6a81c3ccfe7 --- /dev/null +++ b/packages/flutter/lib/src/widgets/_window_win32.dart @@ -0,0 +1,856 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Do not import this file in production applications or packages published +// to pub.dev. Flutter will make breaking changes to this file, even in patch +// versions. +// +// All APIs in this file must be private or must: +// +// 1. Have the `@internal` attribute. +// 2. Throw an `UnsupportedError` if `isWindowingEnabled` +// is `false`. +// +// See: https://github.com/flutter/flutter/issues/30701. + +import 'dart:ffi' as ffi; +import 'dart:io'; +import 'dart:typed_data'; +import 'dart:ui' show Display, FlutterView; +import 'package:flutter/foundation.dart'; +import 'package:flutter/rendering.dart'; + +import '../foundation/_features.dart'; +import '_window.dart'; + +/// A Win32 window handle. +/// +/// {@macro flutter.widgets.windowing.experimental} +@internal +typedef HWND = ffi.Pointer; + +const int _WM_SIZE = 0x0005; +const int _WM_ACTIVATE = 0x0006; +const int _WM_CLOSE = 0x0010; + +const int _SW_RESTORE = 9; +const int _SW_MAXIMIZE = 3; +const int _SW_MINIMIZE = 6; + +const String _kWindowingDisabledErrorMessage = ''' +Windowing APIs are not enabled. + +Windowing APIs are currently experimental. Do not use windowing APIs in +production applications or plugins published to pub.dev. + +To try experimental windowing APIs: +1. Switch to Flutter's main release channel. +2. Turn on the windowing feature flag. + +See: https://github.com/flutter/flutter/issues/30701. +'''; + +/// Abstract handler class for Windows messages. +/// +/// Implementations of this class should register with +/// [WindowingOwnerWin32.addMessageHandler] to begin receiving messages. +/// When finished handling messages, implementations should deregister +/// themselves with [WindowingOwnerWin32.removeMessageHandler]. +abstract class _WindowsMessageHandler { + /// Handles a window message. + /// + /// Returned value, if not null will be returned to the system as LRESULT + /// and will stop all other handlers from being called. See + /// https://learn.microsoft.com/en-us/windows/win32/api/winuser/nc-winuser-wndproc + /// for more information. + /// + /// {@macro flutter.widgets.windowing.experimental} + @internal + int? handleWindowsMessage( + FlutterView view, + HWND windowHandle, + int message, + int wParam, + int lParam, + ); +} + +/// [WindowingOwner] implementation for Windows. +/// +/// If [Platform.isWindows] is false, then the constructor will throw an +/// [UnsupportedError]. +/// +/// {@macro flutter.widgets.windowing.experimental} +/// +/// See also: +/// +/// * [WindowingOwner], the abstract class that manages native windows. +@internal +class WindowingOwnerWin32 extends WindowingOwner { + /// Creates a new [WindowingOwnerWin32] instance. + /// + /// If [Platform.isWindows] is false, then this constructor will throw an + /// [UnsupportedError] + /// + /// + /// {@macro flutter.widgets.windowing.experimental} + /// + /// See also: + /// + /// * [WindowingOwner], the abstract class that manages native windows. + @internal + WindowingOwnerWin32() : allocator = _CallocAllocator() { + if (!isWindowingEnabled) { + throw UnsupportedError(_kWindowingDisabledErrorMessage); + } + + if (!Platform.isWindows) { + throw UnsupportedError('Only available on the Win32 platform'); + } + + assert( + PlatformDispatcher.instance.engineId != null, + 'WindowingOwnerWin32 must be created after the engine has been initialized.', + ); + + _Win32PlatformInterface.initializeWindowing( + allocator, + PlatformDispatcher.instance.engineId!, + _onMessage, + ); + } + + final List<_WindowsMessageHandler> _messageHandlers = <_WindowsMessageHandler>[]; + + /// The [Allocator] used for allocating native memory in this owner. + /// + /// This can be overridden via the [WindowingOwnerWin32.test] constructor. + /// + /// {@macro flutter.widgets.windowing.experimental} + @internal + final ffi.Allocator allocator; + + @internal + @override + RegularWindowController createRegularWindowController({ + Size? preferredSize, + BoxConstraints? preferredConstraints, + String? title, + required RegularWindowControllerDelegate delegate, + }) { + return RegularWindowControllerWin32( + owner: this, + delegate: delegate, + preferredSize: preferredSize, + preferredConstraints: preferredConstraints, + title: title, + ); + } + + /// Register a new [WindowsMessageHandler]. + /// + /// The handler will be triggered for unhandled messages for all top level + /// windows. + /// + /// Adding a handler multiple times has no effect. + /// + /// Handlers are called in the order that they are added. + /// + /// Callers must remove their message handlers using + /// [WindowingOwnerWin32._removeMessageHandler]. + void _addMessageHandler(_WindowsMessageHandler handler) { + if (_messageHandlers.contains(handler)) { + return; + } + + _messageHandlers.add(handler); + } + + /// Unregister a [WindowsMessageHandler]. + /// + /// If the handler has not been registered, this method has no effect. + void _removeMessageHandler(_WindowsMessageHandler handler) { + _messageHandlers.remove(handler); + } + + void _onMessage(ffi.Pointer<_WindowsMessage> message) { + final FlutterView flutterView = PlatformDispatcher.instance.views.firstWhere( + (FlutterView view) => view.viewId == message.ref.viewId, + ); + + final int handlesLength = _messageHandlers.length; + for (final _WindowsMessageHandler handler in _messageHandlers) { + assert( + _messageHandlers.length == handlesLength, + 'Message handler list changed while processing message: $message', + ); + final int? result = handler.handleWindowsMessage( + flutterView, + message.ref.windowHandle, + message.ref.message, + message.ref.wParam, + message.ref.lParam, + ); + if (result != null) { + message.ref.handled = true; + message.ref.lResult = result; + return; + } + } + } + + @internal + @override + bool hasTopLevelWindows() { + return _Win32PlatformInterface.hasTopLevelWindows(PlatformDispatcher.instance.engineId!); + } +} + +class _RegularWindowMesageHandler implements _WindowsMessageHandler { + _RegularWindowMesageHandler({required this.controller}); + + final RegularWindowControllerWin32 controller; + + @override + int? handleWindowsMessage( + FlutterView view, + HWND windowHandle, + int message, + int wParam, + int lParam, + ) { + return controller._handleWindowsMessage(view, windowHandle, message, wParam, lParam); + } +} + +/// Implementation of [RegularWindowController] for the Windows platform. +/// +/// {@macro flutter.widgets.windowing.experimental} +/// +/// See also: +/// +/// * [RegularWindowController], the base class for regular windows. +class RegularWindowControllerWin32 extends RegularWindowController { + /// Creates a new regular window controller for Win32. + /// + /// When this constructor completes the native window has been created and + /// has a view associated with it. + /// + /// {@macro flutter.widgets.windowing.experimental} + /// + /// See also: + /// + /// * [RegularWindowController], the base class for regular windows. + @internal + RegularWindowControllerWin32({ + required WindowingOwnerWin32 owner, + required RegularWindowControllerDelegate delegate, + Size? preferredSize, + BoxConstraints? preferredConstraints, + String? title, + }) : _owner = owner, + _delegate = delegate, + super.empty() { + if (!isWindowingEnabled) { + throw UnsupportedError(_kWindowingDisabledErrorMessage); + } + + _handler = _RegularWindowMesageHandler(controller: this); + owner._addMessageHandler(_handler); + final int viewId = _Win32PlatformInterface.createWindow( + _owner.allocator, + PlatformDispatcher.instance.engineId!, + preferredSize, + preferredConstraints, + title, + ); + final FlutterView flutterView = PlatformDispatcher.instance.views.firstWhere( + (FlutterView view) => view.viewId == viewId, + ); + rootView = flutterView; + } + + final WindowingOwnerWin32 _owner; + final RegularWindowControllerDelegate _delegate; + late final _RegularWindowMesageHandler _handler; + bool _destroyed = false; + + @override + @internal + Size get contentSize { + _ensureNotDestroyed(); + final _ActualContentSize size = _Win32PlatformInterface.getWindowContentSize(getWindowHandle()); + final Size result = Size(size.width, size.height); + return result; + } + + @override + @internal + String get title { + _ensureNotDestroyed(); + return _Win32PlatformInterface.getWindowTitle(_owner.allocator, getWindowHandle()); + } + + @override + @internal + bool get isActivated { + _ensureNotDestroyed(); + return _Win32PlatformInterface.getForegroundWindow() == getWindowHandle(); + } + + @override + @internal + bool get isMaximized { + _ensureNotDestroyed(); + return _Win32PlatformInterface.isZoomed(getWindowHandle()) != 0; + } + + @override + @internal + bool get isMinimized { + _ensureNotDestroyed(); + return _Win32PlatformInterface.isIconic(getWindowHandle()) != 0; + } + + @override + @internal + bool get isFullscreen { + _ensureNotDestroyed(); + return _Win32PlatformInterface.getFullscreen(getWindowHandle()); + } + + @override + @internal + void setSize(Size? size) { + _ensureNotDestroyed(); + _Win32PlatformInterface.setWindowContentSize(_owner.allocator, getWindowHandle(), size); + } + + @override + @internal + void setConstraints(BoxConstraints constraints) { + _ensureNotDestroyed(); + _Win32PlatformInterface.setWindowConstraints(_owner.allocator, getWindowHandle(), constraints); + notifyListeners(); + } + + @override + @internal + void setTitle(String title) { + _ensureNotDestroyed(); + _Win32PlatformInterface.setWindowTitle(_owner.allocator, getWindowHandle(), title); + notifyListeners(); + } + + @override + @internal + void activate() { + _ensureNotDestroyed(); + _Win32PlatformInterface.showWindow(getWindowHandle(), _SW_RESTORE); + } + + @override + @internal + void setMaximized(bool maximized) { + _ensureNotDestroyed(); + if (maximized) { + _Win32PlatformInterface.showWindow(getWindowHandle(), _SW_MAXIMIZE); + } else { + _Win32PlatformInterface.showWindow(getWindowHandle(), _SW_RESTORE); + } + } + + @override + @internal + void setMinimized(bool minimized) { + _ensureNotDestroyed(); + if (minimized) { + _Win32PlatformInterface.showWindow(getWindowHandle(), _SW_MINIMIZE); + } else { + _Win32PlatformInterface.showWindow(getWindowHandle(), _SW_RESTORE); + } + } + + @override + @internal + void setFullscreen(bool fullscreen, {Display? display}) { + _Win32PlatformInterface.setFullscreen( + _owner.allocator, + getWindowHandle(), + fullscreen, + display: display, + ); + } + + /// Returns HWND pointer to the top level window. + @internal + HWND getWindowHandle() { + _ensureNotDestroyed(); + return _Win32PlatformInterface.getWindowHandle( + PlatformDispatcher.instance.engineId!, + rootView.viewId, + ); + } + + void _ensureNotDestroyed() { + if (_destroyed) { + throw StateError('Window has been destroyed.'); + } + } + + @override + void destroy() { + if (_destroyed) { + return; + } + _Win32PlatformInterface.destroyWindow(getWindowHandle()); + _destroyed = true; + _owner._removeMessageHandler(_handler); + _delegate.onWindowDestroyed(); + } + + int? _handleWindowsMessage( + FlutterView view, + HWND windowHandle, + int message, + int wParam, + int lParam, + ) { + if (view.viewId != rootView.viewId) { + return null; + } + + if (message == _WM_CLOSE) { + _delegate.onWindowCloseRequested(this); + return 0; + } else if (message == _WM_SIZE || message == _WM_ACTIVATE) { + notifyListeners(); + } + return null; + } +} + +class _Win32PlatformInterface { + @ffi.Native( + symbol: 'InternalFlutterWindows_WindowManager_HasTopLevelWindows', + ) + external static bool hasTopLevelWindows(int engineId); + + static void initializeWindowing( + ffi.Allocator allocator, + int engineId, + void Function(ffi.Pointer<_WindowsMessage>) onMessage, + ) { + final ffi.Pointer<_WindowingInitRequest> request = allocator<_WindowingInitRequest>(); + try { + request.ref.onMessage = + ffi.NativeCallable)>.isolateLocal( + onMessage, + ).nativeFunction; + _initializeWindowing(engineId, request); + } finally { + allocator.free(request); + } + } + + @ffi.Native)>( + symbol: 'InternalFlutterWindows_WindowManager_Initialize', + ) + external static void _initializeWindowing( + int engineId, + ffi.Pointer<_WindowingInitRequest> request, + ); + + static int createWindow( + ffi.Allocator allocator, + int engineId, + Size? preferredSize, + BoxConstraints? preferredConstraints, + String? title, + ) { + final ffi.Pointer<_WindowCreationRequest> request = allocator<_WindowCreationRequest>(); + try { + request.ref.preferredSize.from(preferredSize); + request.ref.preferredConstraints.from(preferredConstraints); + request.ref.title = (title ?? 'Regular window').toNativeUtf16(allocator: allocator); + return _createWindow(engineId, request); + } finally { + allocator.free(request); + } + } + + @ffi.Native)>( + symbol: 'InternalFlutterWindows_WindowManager_CreateRegularWindow', + ) + external static int _createWindow(int engineId, ffi.Pointer<_WindowCreationRequest> request); + + @ffi.Native( + symbol: 'InternalFlutterWindows_WindowManager_GetTopLevelWindowHandle', + ) + external static HWND getWindowHandle(int engineId, int viewId); + + @ffi.Native(symbol: 'DestroyWindow') + external static void destroyWindow(HWND windowHandle); + + @ffi.Native<_ActualContentSize Function(HWND)>( + symbol: 'InternalFlutterWindows_WindowManager_GetWindowContentSize', + ) + external static _ActualContentSize getWindowContentSize(HWND windowHandle); + + static void setWindowTitle(ffi.Allocator allocator, HWND windowHandle, String title) { + final ffi.Pointer<_Utf16> titlePointer = title.toNativeUtf16(allocator: allocator); + try { + _setWindowTitle(windowHandle, titlePointer); + } finally { + allocator.free(titlePointer); + } + } + + @ffi.Native)>(symbol: 'SetWindowTextW') + external static void _setWindowTitle(HWND windowHandle, ffi.Pointer<_Utf16> title); + + static void setWindowContentSize(ffi.Allocator allocator, HWND windowHandle, Size? size) { + final ffi.Pointer<_WindowSizeRequest> request = allocator<_WindowSizeRequest>(); + try { + request.ref.from(size); + _setWindowContentSize(windowHandle, request); + } finally { + allocator.free(request); + } + } + + @ffi.Native)>( + symbol: 'InternalFlutterWindows_WindowManager_SetWindowSize', + ) + external static void _setWindowContentSize( + HWND windowHandle, + ffi.Pointer<_WindowSizeRequest> size, + ); + + static void setWindowConstraints( + ffi.Allocator allocator, + HWND windowHandle, + BoxConstraints? constraints, + ) { + final ffi.Pointer<_WindowConstraintsRequest> request = allocator<_WindowConstraintsRequest>(); + try { + request.ref.from(constraints); + _setWindowConstraints(windowHandle, request); + } finally { + allocator.free(request); + } + } + + @ffi.Native)>( + symbol: 'InternalFlutterWindows_WindowManager_SetWindowConstraints', + ) + external static void _setWindowConstraints( + HWND windowHandle, + ffi.Pointer<_WindowConstraintsRequest> constraints, + ); + + @ffi.Native(symbol: 'ShowWindow') + external static void showWindow(HWND windowHandle, int command); + + @ffi.Native(symbol: 'IsIconic') + external static int isIconic(HWND windowHandle); + + @ffi.Native(symbol: 'IsZoomed') + external static int isZoomed(HWND windowHandle); + + static void setFullscreen( + ffi.Allocator allocator, + HWND windowHandle, + bool fullscreen, { + Display? display, + }) { + final ffi.Pointer<_WindowFullscreenRequest> request = allocator<_WindowFullscreenRequest>(); + try { + request.ref.fullscreen = fullscreen; + request.ref.hasDisplayId = display != null; + request.ref.displayId = display?.id ?? 0; + _setFullscreen(windowHandle, request); + } finally { + allocator.free(request); + } + } + + @ffi.Native)>( + symbol: 'InternalFlutterWindows_WindowManager_SetFullscreen', + ) + external static void _setFullscreen( + HWND windowHandle, + ffi.Pointer<_WindowFullscreenRequest> request, + ); + + @ffi.Native(symbol: 'InternalFlutterWindows_WindowManager_GetFullscreen') + external static bool getFullscreen(HWND windowHandle); + + @ffi.Native(symbol: 'GetWindowTextLengthW') + external static int _getWindowTextLength(HWND windowHandle); + + @ffi.Native, ffi.Int32)>(symbol: 'GetWindowTextW') + external static int _getWindowText( + HWND windowHandle, + ffi.Pointer<_Utf16> lpString, + int maxLength, + ); + + static String getWindowTitle(ffi.Allocator allocator, HWND windowHandle) { + final int length = _getWindowTextLength(windowHandle); + if (length == 0) { + return ''; + } + + final ffi.Pointer data = allocator(length + 1); + try { + final ffi.Pointer<_Utf16> buffer = data.cast<_Utf16>(); + _getWindowText(windowHandle, buffer, length + 1); + return buffer.toDartString(); + } finally { + allocator.free(data); + } + } + + @ffi.Native(symbol: 'GetForegroundWindow') + external static HWND getForegroundWindow(); +} + +/// Payload for the creation method used by [_Win32PlatformInterface.createWindow]. +final class _WindowCreationRequest extends ffi.Struct { + external _WindowSizeRequest preferredSize; + external _WindowConstraintsRequest preferredConstraints; + external ffi.Pointer<_Utf16> title; +} + +/// Payload for the initialization request for the windowing subsystem used +/// by the constructor for [WindowingOwnerWin32]. +final class _WindowingInitRequest extends ffi.Struct { + external ffi.Pointer)>> + onMessage; +} + +/// Payload for the size of a window used by [_WindowCreationRequest] and +/// [_Win32PlatformInterface.setWindowContentSize]. +final class _WindowSizeRequest extends ffi.Struct { + @ffi.Bool() + external bool hasSize; + + @ffi.Double() + external double width; + + @ffi.Double() + external double height; + + void from(Size? size) { + hasSize = size != null; + width = size?.width ?? 0; + height = size?.height ?? 0; + } +} + +/// Payload for the constraints of a window used by [_WindowCreationRequest] and +/// [_Win32PlatformInterface.setWindowConstraints]. +final class _WindowConstraintsRequest extends ffi.Struct { + @ffi.Bool() + external bool hasConstraints; + + @ffi.Double() + external double minWidth; + + @ffi.Double() + external double minHeight; + + @ffi.Double() + external double maxWidth; + + @ffi.Double() + external double maxHeight; + + void from(BoxConstraints? constraints) { + hasConstraints = constraints != null; + minWidth = constraints?.minWidth ?? 0; + minHeight = constraints?.minHeight ?? 0; + maxWidth = constraints?.maxWidth ?? double.maxFinite; + maxHeight = constraints?.maxHeight ?? double.maxFinite; + } +} + +/// A message received for all toplevel windows, used by [_WindowingInitRequest]. +final class _WindowsMessage extends ffi.Struct { + @ffi.Int64() + external int viewId; + + external HWND windowHandle; + + @ffi.Int32() + external int message; + + @ffi.Int64() + external int wParam; + + @ffi.Int64() + external int lParam; + + @ffi.Int64() + external int lResult; + + @ffi.Bool() + external bool handled; +} + +/// Holds the real size of a window as retrieved from +/// [_Win32PlatformInterface.getWindowContentSize]. +final class _ActualContentSize extends ffi.Struct { + @ffi.Double() + external double width; + + @ffi.Double() + external double height; +} + +/// Payload for the [_Win32PlatformInterface.setFullscreen] request. +final class _WindowFullscreenRequest extends ffi.Struct { + @ffi.Bool() + external bool fullscreen; + + @ffi.Bool() + external bool hasDisplayId; + + @ffi.Uint64() + external int displayId; +} + +/// The contents of a native zero-terminated array of UTF-16 code units. +/// +/// The Utf16 type itself has no functionality, it's only intended to be used +/// through a `Pointer` representing the entire array. This pointer is +/// the equivalent of a char pointer (`const wchar_t*`) in C code. The +/// individual UTF-16 code units are stored in native byte order. +final class _Utf16 extends ffi.Opaque {} + +/// Extension method for converting a`Pointer` to a [String]. +extension _Utf16Pointer on ffi.Pointer<_Utf16> { + /// Converts this UTF-16 encoded string to a Dart string. + /// + /// Decodes the UTF-16 code units of this zero-terminated code unit array as + /// Unicode code points and creates a Dart string containing those code + /// points. + /// + /// If [length] is provided, zero-termination is ignored and the result can + /// contain NUL characters. + /// + /// If [length] is not provided, the returned string is the string up til + /// but not including the first NUL character. + String toDartString({int? length}) { + _ensureNotNullptr('toDartString'); + final ffi.Pointer codeUnits = cast(); + if (length == null) { + return _toUnknownLengthString(codeUnits); + } else { + RangeError.checkNotNegative(length, 'length'); + return _toKnownLengthString(codeUnits, length); + } + } + + static String _toKnownLengthString(ffi.Pointer codeUnits, int length) => + String.fromCharCodes(codeUnits.asTypedList(length)); + + static String _toUnknownLengthString(ffi.Pointer codeUnits) { + final StringBuffer buffer = StringBuffer(); + int i = 0; + while (true) { + final int char = (codeUnits + i).value; + if (char == 0) { + return buffer.toString(); + } + buffer.writeCharCode(char); + i++; + } + } + + void _ensureNotNullptr(String operation) { + if (this == ffi.nullptr) { + throw UnsupportedError("Operation '$operation' not allowed on a 'nullptr'."); + } + } +} + +/// Extension method for converting a [String] to a `Pointer`. +extension _StringUtf16Pointer on String { + /// Creates a zero-terminated [Utf16] code-unit array from this String. + /// + /// If this [String] contains NUL characters, converting it back to a string + /// using [Utf16Pointer.toDartString] will truncate the result if a length is + /// not passed. + /// + /// Returns an [allocator]-allocated pointer to the result. + ffi.Pointer<_Utf16> toNativeUtf16({required ffi.Allocator allocator}) { + final List units = codeUnits; + final ffi.Pointer result = allocator(units.length + 1); + final Uint16List nativeString = result.asTypedList(units.length + 1); + nativeString.setRange(0, units.length, units); + nativeString[units.length] = 0; + return result.cast(); + } +} + +typedef _WinCoTaskMemAllocNative = ffi.Pointer Function(ffi.Size); +typedef _WinCoTaskMemAlloc = ffi.Pointer Function(int); +typedef _WinCoTaskMemFreeNative = ffi.Void Function(ffi.Pointer); +typedef _WinCoTaskMemFree = void Function(ffi.Pointer); + +final class _CallocAllocator implements ffi.Allocator { + _CallocAllocator() { + _ole32lib = ffi.DynamicLibrary.open('ole32.dll'); + _winCoTaskMemAlloc = _ole32lib.lookupFunction<_WinCoTaskMemAllocNative, _WinCoTaskMemAlloc>( + 'CoTaskMemAlloc', + ); + _winCoTaskMemFreePointer = _ole32lib.lookup('CoTaskMemFree'); + _winCoTaskMemFree = _winCoTaskMemFreePointer.asFunction(); + } + + late final ffi.DynamicLibrary _ole32lib; + late final _WinCoTaskMemAlloc _winCoTaskMemAlloc; + late final ffi.Pointer> _winCoTaskMemFreePointer; + late final _WinCoTaskMemFree _winCoTaskMemFree; + + /// Fills a block of memory with a specified value. + // ignore: always_specify_types + void _fillMemory(ffi.Pointer destination, int length, int fill) { + final ffi.Pointer ptr = destination.cast(); + for (int i = 0; i < length; i++) { + ptr[i] = fill; + } + } + + /// Fills a block of memory with zeros. + // ignore: always_specify_types + void _zeroMemory(ffi.Pointer destination, int length) => _fillMemory(destination, length, 0); + + /// Allocates [byteCount] bytes of zero-initialized of memory on the native + /// heap. + @override + ffi.Pointer allocate(int byteCount, {int? alignment}) { + ffi.Pointer result; + result = _winCoTaskMemAlloc(byteCount).cast(); + if (result.address == 0) { + throw ArgumentError('Could not allocate $byteCount bytes.'); + } + if (Platform.isWindows) { + _zeroMemory(result, byteCount); + } + return result; + } + + /// Releases memory allocated on the native heap. + @override + // ignore: always_specify_types + void free(ffi.Pointer pointer) { + _winCoTaskMemFree(pointer); + } + + /// Returns a pointer to a native free function. + ffi.Pointer get nativeFree => _winCoTaskMemFreePointer; +} diff --git a/packages/flutter/lib/src/widgets/autocomplete.dart b/packages/flutter/lib/src/widgets/autocomplete.dart index 97931a93d5d97..8a007dcb5109c 100644 --- a/packages/flutter/lib/src/widgets/autocomplete.dart +++ b/packages/flutter/lib/src/widgets/autocomplete.dart @@ -19,6 +19,8 @@ import 'editable_text.dart'; import 'focus_manager.dart'; import 'framework.dart'; import 'inherited_notifier.dart'; +import 'localizations.dart'; +import 'media_query.dart'; import 'overlay.dart'; import 'shortcuts.dart'; import 'tap_region.dart'; @@ -404,6 +406,17 @@ class _RawAutocompleteState extends State> } } + void _announceSemantics(bool resultsAvailable) { + if (!MediaQuery.supportsAnnounceOf(context)) { + return; + } + final WidgetsLocalizations localizations = WidgetsLocalizations.of(context); + final String optionsHint = resultsAvailable + ? localizations.searchResultsFound + : localizations.noResultsFound; + SemanticsService.announce(optionsHint, localizations.textDirection); + } + // Assigning an ID to every call of _onChangedField is necessary to avoid a // situation where _options is updated by an older call when multiple // _onChangedField calls are running simultaneously. @@ -426,6 +439,9 @@ class _RawAutocompleteState extends State> if (callId != _onChangedCallId || !shouldUpdateOptions) { return; } + if (_options.isEmpty != options.isEmpty) { + _announceSemantics(options.isNotEmpty); + } _options = options; _updateHighlight(_highlightedOptionIndex.value); final T? selection = _selection; diff --git a/packages/flutter/lib/src/widgets/basic.dart b/packages/flutter/lib/src/widgets/basic.dart index c676b608ce058..e3e991bf95e18 100644 --- a/packages/flutter/lib/src/widgets/basic.dart +++ b/packages/flutter/lib/src/widgets/basic.dart @@ -1778,7 +1778,53 @@ class Transform extends SingleChildRenderObjectWidget { /// [Directionality.of] returns [TextDirection.rtl]. final AlignmentGeometry? alignment; - /// Whether to apply the transformation when performing hit tests. + /// Whether to transform registered hits into the child's resulting coordinate system. + /// + /// When `true`, hit coordinates within the parent's bounds are transformed to match + /// where the child appears visually after any transformation such as translation, + /// rotation, scaling, or skewing. + /// + /// When `false`, hit coordinates are not transformed, potentially causing taps to + /// register in a different location relative to the child's visual position. + /// + /// **Important:** Even when [transformHitTests] is true, children cannot + /// receive events outside the parent's bounds. Hit testing always starts + /// with the parent's own bounds check in [RenderBox.hitTest]. If the pointer + /// is outside the parent's bounds, [RenderBox.hitTestChildren] is not + /// invoked and the children are not considered for hit testing. + /// + /// For interactive elements that need to be tappable outside their parent's + /// original bounds, consider: + /// - Expanding the parent widget's bounds to encompass the transformed child. + /// - Using an [OverlayEntry] or [OverlayPortal] to place the widget in an + /// [Overlay]. + /// - Restructuring the widget hierarchy. + /// + /// {@tool snippet} + /// This example shows a `Container` that is scaled up. Even though it appears + /// larger, taps are only registered within the original 100x100 area of the + /// parent `SizedBox`. + /// + /// ```dart + /// Center( + /// child: SizedBox( + /// width: 100.0, + /// height: 100.0, + /// child: Transform.scale( + /// scale: 2.0, + /// child: GestureDetector( + /// onTap: () => debugPrint('Tapped!'), + /// child: const ColoredBox( + /// color: Colors.purple, + /// ), + /// ), + /// ), + /// ), + /// ) + /// ``` + /// {@end-tool} + /// + /// Defaults to true. final bool transformHitTests; /// The filter quality with which to apply the transform as a bitmap operation. diff --git a/packages/flutter/lib/src/widgets/binding.dart b/packages/flutter/lib/src/widgets/binding.dart index 61e80300aad3c..4152d0fd91dfa 100644 --- a/packages/flutter/lib/src/widgets/binding.dart +++ b/packages/flutter/lib/src/widgets/binding.dart @@ -461,7 +461,7 @@ mixin WidgetsBinding return true; }()); platformMenuDelegate = DefaultPlatformMenuDelegate(); - _windowingOwner = WindowingOwner.createDefaultOwner(); + _windowingOwner = createDefaultWindowingOwner(); } /// The current [WidgetsBinding], if one has been created. diff --git a/packages/flutter/lib/src/widgets/date.dart b/packages/flutter/lib/src/widgets/date.dart new file mode 100644 index 0000000000000..0ab0545bf4a2f --- /dev/null +++ b/packages/flutter/lib/src/widgets/date.dart @@ -0,0 +1,10 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/// Signature for predicating dates for enabled date selections. +/// +/// See [showDatePicker] and [showCupertinoModalPopup], +/// which have a [SelectableDayPredicate] parameter used +/// to specify allowable days in the date picker. +typedef SelectableDayPredicate = bool Function(DateTime day); diff --git a/packages/flutter/lib/src/widgets/editable_text.dart b/packages/flutter/lib/src/widgets/editable_text.dart index 654c7c7b1c662..ae9522a9d7e9d 100644 --- a/packages/flutter/lib/src/widgets/editable_text.dart +++ b/packages/flutter/lib/src/widgets/editable_text.dart @@ -1627,7 +1627,7 @@ class EditableText extends StatefulWidget { /// [TextSelectionGestureDetectorBuilder] to wrap the [EditableText], and set /// [rendererIgnoresPointer] to true. /// - /// When [rendererIgnoresPointer] is true true, the [RenderEditable] created + /// When [rendererIgnoresPointer] is true, the [RenderEditable] created /// by this widget will not handle pointer events. /// /// This property is false by default. @@ -3653,7 +3653,9 @@ class EditableTextState extends State renderEditable.setFloatingCursor(point.state, _lastBoundedOffset!, _lastTextPosition!); case FloatingCursorDragState.End: // Resume cursor blinking. - _startCursorBlink(); + if (_hasFocus) { + _startCursorBlink(); + } // We skip animation if no update has happened. if (_lastTextPosition != null && _lastBoundedOffset != null) { _floatingCursorResetController!.value = 0.0; diff --git a/packages/flutter/lib/src/widgets/focus_scope.dart b/packages/flutter/lib/src/widgets/focus_scope.dart index 0b0ea2ab2a972..661b6510523a5 100644 --- a/packages/flutter/lib/src/widgets/focus_scope.dart +++ b/packages/flutter/lib/src/widgets/focus_scope.dart @@ -724,7 +724,7 @@ class _FocusState extends State { ? focusNode.requestFocus : null, focusable: _couldRequestFocus, - focused: _hadPrimaryFocus, + focused: _couldRequestFocus ? _hadPrimaryFocus : null, child: widget.child, ); } diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index 90483526cbdea..97f023e0a153b 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart @@ -2053,13 +2053,54 @@ abstract class MultiChildRenderObjectWidget extends RenderObjectWidget { // ELEMENTS -enum _ElementLifecycle { initial, active, inactive, defunct } +enum _ElementLifecycle { + /// The [Element] is created but has not yet been incorporated into the element + /// tree. + initial, + + /// The [Element] is incorporated into the Element tree, either via + /// [Element.mount] or [Element.activate]. + active, + + /// The previously `active` [Element] is removed from the Element tree via + /// [Element.deactivate]. + /// + /// This [Element] may become `active` again if a parent reclaims it using + /// a [GlobalKey], or `defunct` if no parent reclaims it at the end of the + /// build phase. + inactive, + + /// The [Element] encountered an unrecoverable error while being rebuilt when it + /// was `active` or while being incorporated in the tree. + /// + /// This indicates the [Element]'s subtree is in an inconsistent state and must + /// not be re-incorporated into the tree again. + /// + /// When an unrecoverable error is encountered, the framework calls + /// [Element.deactivate] on this [Element] and sets its state to `failed`. This + /// process is done on a best-effort basis and does not surface any additional + /// errors. + /// + /// This is one of the two final stages of the element lifecycle and is not + /// reversible. Reaching this state typically means that a widget implementation + /// is throwing unhandled exceptions that need to be properly handled. + failed, + + /// The [Element] is disposed and should not be interacted with. + /// + /// The [Element] must be `inactive` before transitioning into this state, + /// and the state transition occurs in [BuildOwner.finalizeTree] which signals + /// the end of the build phase. + /// + /// This is the final stage of the element lifecycle and is not reversible. + defunct, +} class _InactiveElements { bool _locked = false; final Set _elements = HashSet(); - void _unmount(Element element) { + static void _unmount(Element element) { assert(element._lifecycleState == _ElementLifecycle.inactive); assert(() { if (debugPrintGlobalKeyedWidgetLifecycle) { @@ -2091,8 +2132,12 @@ class _InactiveElements { static void _deactivateRecursively(Element element) { assert(element._lifecycleState == _ElementLifecycle.active); - element.deactivate(); - assert(element._lifecycleState == _ElementLifecycle.inactive); + try { + element.deactivate(); + } catch (_) { + Element._deactivateFailedSubtreeRecursively(element); + rethrow; + } element.visitChildren(_deactivateRecursively); assert(() { element.debugDeactivated(); @@ -2104,10 +2149,18 @@ class _InactiveElements { assert(!_locked); assert(!_elements.contains(element)); assert(element._parent == null); - if (element._lifecycleState == _ElementLifecycle.active) { - _deactivateRecursively(element); + + switch (element._lifecycleState) { + case _ElementLifecycle.active: + _deactivateRecursively(element); + // This element is only added to _elements if the whole subtree is + // successfully deactivated. + _elements.add(element); + case _ElementLifecycle.inactive: + _elements.add(element); + case _ElementLifecycle.initial || _ElementLifecycle.failed || _ElementLifecycle.defunct: + assert(false, '$element must not be deactivated when in ${element._lifecycleState} state.'); } - _elements.add(element); } void remove(Element element) { @@ -2115,7 +2168,7 @@ class _InactiveElements { assert(_elements.contains(element)); assert(element._parent == null); _elements.remove(element); - assert(element._lifecycleState != _ElementLifecycle.active); + assert(element._lifecycleState == _ElementLifecycle.inactive); } bool debugContains(Element element) { @@ -2396,6 +2449,7 @@ abstract class BuildContext { /// Returns the nearest widget of the given [InheritedWidget] subclass `T` or /// null if an appropriate ancestor is not found. /// + /// {@template flutter.widgets.BuildContext.getInheritedWidgetOfExactType} /// This method does not introduce a dependency the way that the more typical /// [dependOnInheritedWidgetOfExactType] does, so this context will not be /// rebuilt if the [InheritedWidget] changes. This function is meant for those @@ -2412,6 +2466,7 @@ abstract class BuildContext { /// that value is not cached and/or reused later. /// /// Calling this method is O(1) with a small constant factor. + /// {@endtemplate} T? getInheritedWidgetOfExactType(); /// Obtains the element corresponding to the nearest widget of the given type `T`, @@ -2934,7 +2989,7 @@ class BuildOwner { buildScope._scheduleBuildFor(element); assert(() { if (debugPrintScheduleBuildForStacks) { - debugPrint("...the build scope's dirty list is now: $buildScope._dirtyElements"); + debugPrint("...the build scope's dirty list is now: ${buildScope._dirtyElements}"); } return true; }()); @@ -4516,39 +4571,32 @@ abstract class Element extends DiagnosticableTree implements BuildContext { try { final Key? key = newWidget.key; - if (key is GlobalKey) { - final Element? newChild = _retakeInactiveElement(key, newWidget); - if (newChild != null) { - assert(newChild._parent == null); - assert(() { - _debugCheckForCycles(newChild); - return true; - }()); - try { - newChild._activateWithParent(this, newSlot); - } catch (_) { - // Attempt to do some clean-up if activation fails to leave tree in a reasonable state. - try { - deactivateChild(newChild); - } catch (_) { - // Clean-up failed. Only surface original exception. - } - rethrow; - } - final Element? updatedChild = updateChild(newChild, newWidget, newSlot); - assert(newChild == updatedChild); - return updatedChild!; - } - } - final Element newChild = newWidget.createElement(); + final Element? inactiveChild = key is GlobalKey + ? _retakeInactiveElement(key, newWidget) + : null; + final Element newChild = inactiveChild ?? newWidget.createElement(); assert(() { _debugCheckForCycles(newChild); return true; }()); - newChild.mount(this, newSlot); - assert(newChild._lifecycleState == _ElementLifecycle.active); - - return newChild; + try { + if (inactiveChild != null) { + assert(inactiveChild._parent == null); + inactiveChild._activateWithParent(this, newSlot); + final Element? updatedChild = updateChild(inactiveChild, newWidget, newSlot); + assert(inactiveChild == updatedChild); + return updatedChild!; + } else { + newChild.mount(this, newSlot); + assert(newChild._lifecycleState == _ElementLifecycle.active); + return newChild; + } + } catch (_) { + // Attempt to do some clean-up if activation or mount fails + // to leave tree in a reasonable state. + _deactivateFailedChildSilently(newChild); + rethrow; + } } finally { if (isTimelineTracked) { FlutterTimeline.finishSync(); @@ -4583,6 +4631,7 @@ abstract class Element extends DiagnosticableTree implements BuildContext { /// parent proactively calls the old parent's [deactivateChild], first using /// [forgetChild] to cause the old parent to update its child model. @protected + @mustCallSuper void deactivateChild(Element child) { assert(child._parent == this); child._parent = null; @@ -4598,6 +4647,38 @@ abstract class Element extends DiagnosticableTree implements BuildContext { }()); } + void _deactivateFailedChildSilently(Element child) { + try { + child._parent = null; + child.detachRenderObject(); + _deactivateFailedSubtreeRecursively(child); + } catch (_) { + // Do not rethrow: + // The subtree has already thrown a different error and the framework is + // cleaning up on a best-effort basis. + } + } + + // This method calls _ensureDeactivated for the subtree rooted at `element`, + // supressing all exceptions thrown. + // + // This method will attempt to keep doing treewalk even one of the nodes + // failed to deactivate. + // + // The subtree has already thrown a different error and the framework is + // cleaning up on a best-effort basis. + static void _deactivateFailedSubtreeRecursively(Element element) { + try { + element.deactivate(); + } catch (_) { + element._ensureDeactivated(); + } + element._lifecycleState = _ElementLifecycle.failed; + try { + element.visitChildren(_deactivateFailedSubtreeRecursively); + } catch (_) {} + } + // The children that have been forgotten by forgetChild. This will be used in // [update] to remove the global key reservations of forgotten children. // @@ -4672,6 +4753,7 @@ abstract class Element extends DiagnosticableTree implements BuildContext { /// Implementations of this method should start with a call to the inherited /// method, as in `super.activate()`. @mustCallSuper + @visibleForOverriding void activate() { assert(_lifecycleState == _ElementLifecycle.inactive); assert(owner != null); @@ -4701,18 +4783,34 @@ abstract class Element extends DiagnosticableTree implements BuildContext { /// animation frame, if the element has not be reactivated, the framework will /// unmount the element. /// - /// This is (indirectly) called by [deactivateChild]. + /// In case of an uncaught exception when rebuild a widget subtree, the + /// framework also calls this method on the failing subtree to make sure the + /// widget tree is in a relatively consistent state. The deactivation of such + /// subtrees are performed only on a best-effort basis, and the errors thrown + /// during deactivation will not be rethrown. + /// + /// This is indirectly called by [deactivateChild]. /// /// See the lifecycle documentation for [Element] for additional information. /// /// Implementations of this method should end with a call to the inherited /// method, as in `super.deactivate()`. @mustCallSuper + @visibleForOverriding void deactivate() { assert(_lifecycleState == _ElementLifecycle.active); assert(_widget != null); // Use the private property to avoid a CastError during hot reload. - if (_dependencies?.isNotEmpty ?? false) { - for (final InheritedElement dependency in _dependencies!) { + _ensureDeactivated(); + } + + /// Removes dependencies and sets the lifecycle state of this [Element] to + /// inactive. + /// + /// This method is immediately called after [Element.deactivate], even if that + /// call throws an exception. + void _ensureDeactivated() { + if (_dependencies case final Set dependencies? when dependencies.isNotEmpty) { + for (final InheritedElement dependency in dependencies) { dependency.removeDependent(this); } // For expediency, we don't actually clear the list here, even though it's @@ -4977,8 +5075,7 @@ abstract class Element extends DiagnosticableTree implements BuildContext { @override InheritedWidget dependOnInheritedElement(InheritedElement ancestor, {Object? aspect}) { - _dependencies ??= HashSet(); - _dependencies!.add(ancestor); + (_dependencies ??= HashSet()).add(ancestor); ancestor.updateDependencies(this, aspect); return ancestor.widget as InheritedWidget; } @@ -5714,7 +5811,7 @@ abstract class ComponentElement extends Element { @override @pragma('vm:notify-debugger-on-exception') void performRebuild() { - Widget? built; + Widget built; try { assert(() { _debugDoingBuild = true; @@ -5757,6 +5854,10 @@ abstract class ComponentElement extends Element { ], ), ); + // _Make sure the old child subtree are deactivated and disposed. + try { + _child?.deactivate(); + } catch (_) {} _child = updateChild(null, built, slot); } } @@ -6167,10 +6268,7 @@ class InheritedElement extends ProxyElement { @override void debugDeactivated() { - assert(() { - assert(_dependents.isEmpty); - return true; - }()); + assert(_dependents.isEmpty); super.debugDeactivated(); } @@ -6748,6 +6846,7 @@ abstract class RenderObjectElement extends Element { } @override + @visibleForOverriding void deactivate() { super.deactivate(); assert( @@ -6758,6 +6857,7 @@ abstract class RenderObjectElement extends Element { } @override + @visibleForOverriding void unmount() { assert( !renderObject.debugDisposed!, diff --git a/packages/flutter/lib/src/widgets/localizations.dart b/packages/flutter/lib/src/widgets/localizations.dart index a9487d3ca3d4b..2ca7600107b28 100644 --- a/packages/flutter/lib/src/widgets/localizations.dart +++ b/packages/flutter/lib/src/widgets/localizations.dart @@ -194,6 +194,14 @@ abstract class WidgetsLocalizations { /// list one space right in the list. String get reorderItemRight; + /// The semantics label used for [RawAutocomplete] when the options list goes + /// from empty to non-empty. + String get searchResultsFound => 'Search results found'; + + /// The semantics label used for [RawAutocomplete] when the options list goes + /// from non-empty to empty. + String get noResultsFound => 'No results found'; + /// Label for "copy" edit buttons and menu items. String get copyButtonLabel; @@ -284,6 +292,12 @@ class DefaultWidgetsLocalizations implements WidgetsLocalizations { @override String get reorderItemToStart => 'Move to the start'; + @override + String get searchResultsFound => 'Search results found'; + + @override + String get noResultsFound => 'No results found'; + @override String get copyButtonLabel => 'Copy'; @@ -354,7 +368,7 @@ class _LocalizationsScope extends InheritedWidget { /// {@tool snippet} /// /// This following class is defined in terms of the -/// [Dart `intl` package](https://github.com/dart-lang/intl). Using the `intl` +/// [Dart `intl` package](https://github.com/dart-lang/i18n/tree/main/pkgs/intl). Using the `intl` /// package isn't required. /// /// ```dart diff --git a/packages/flutter/lib/src/widgets/lookup_boundary.dart b/packages/flutter/lib/src/widgets/lookup_boundary.dart index 9cf91d52844d0..bf11566c0d1e3 100644 --- a/packages/flutter/lib/src/widgets/lookup_boundary.dart +++ b/packages/flutter/lib/src/widgets/lookup_boundary.dart @@ -105,6 +105,29 @@ class LookupBoundary extends InheritedWidget { return candidate.widget as T; } + /// Obtains the nearest widget of the given type `T` within the current + /// [LookupBoundary] of `context`, which must be the type of a concrete + /// [InheritedWidget] subclass. + /// + /// This method behaves exactly like + /// [BuildContext.getInheritedWidgetOfExactType], except it only + /// considers [InheritedWidget]s of the specified type `T` between the + /// provided [BuildContext] and its closest [LookupBoundary] ancestor. + /// [InheritedWidget]s past that [LookupBoundary] are invisible to this + /// method. The root of the tree is treated as an implicit lookup boundary. + /// + /// {@macro flutter.widgets.BuildContext.getInheritedWidgetOfExactType} + static T? getInheritedWidgetOfExactType( + BuildContext context, { + Object? aspect, + }) { + final InheritedElement? candidate = getElementForInheritedWidgetOfExactType(context); + if (candidate == null) { + return null; + } + return candidate.widget as T; + } + /// Obtains the element corresponding to the nearest widget of the given type /// `T` within the current [LookupBoundary] of `context`. /// diff --git a/packages/flutter/lib/src/widgets/navigator.dart b/packages/flutter/lib/src/widgets/navigator.dart index 1453c92d76678..65c199c13e498 100644 --- a/packages/flutter/lib/src/widgets/navigator.dart +++ b/packages/flutter/lib/src/widgets/navigator.dart @@ -3163,6 +3163,10 @@ class _RouteEntry extends RouteTransitionRecord { _RoutePlaceholder? lastAnnouncedNextRoute = notAnnounced; // last argument to Route.didChangeNext int? lastFocusNode; // The last focused semantic node for the route entry. + // Whether this route is removed without using a Navigator.pages api. + // For example, Navigator.pop or Navigator.pushReplacement. + bool imperativeRemoval = false; + /// Restoration ID to be used for the encapsulating route when restoration is /// enabled for it or null if restoration cannot be enabled for it. String? get restorationId { @@ -3302,10 +3306,6 @@ class _RouteEntry extends RouteTransitionRecord { return false; } route.onPopInvokedWithResult(true, pendingResult); - if (pageBased) { - final Page page = route.settings as Page; - navigator.widget.onDidRemovePage?.call(page); - } pendingResult = null; return true; } @@ -3322,8 +3322,14 @@ class _RouteEntry extends RouteTransitionRecord { required Route? previousPresent, }) { assert(navigator._debugLocked); - assert(route._navigator == navigator); - currentState = _RouteLifecycle.removing; + if (route._navigator == navigator) { + currentState = _RouteLifecycle.removing; + } else { + // This route is still waiting to be added while a top-most push or pop + // animation is still on-going. In this case, this route can be disposed + // directly since nothing has been initialized yet. + currentState = _RouteLifecycle.dispose; + } if (_reportRemovalToObserver) { navigator._observedRouteDeletions.add(_NavigatorRemoveObservation(route, previousPresent)); } @@ -3343,21 +3349,17 @@ class _RouteEntry extends RouteTransitionRecord { Object? pendingResult; - void pop(T? result) { + void pop(T? result, {required bool imperativeRemoval}) { assert(isPresent); pendingResult = result; currentState = _RouteLifecycle.pop; + this.imperativeRemoval = imperativeRemoval; } bool _reportRemovalToObserver = true; // Route completes with `result` and is removed. - void complete(T result, {bool isReplaced = false}) { - assert( - !pageBased || isWaitingForExitingDecision, - 'A page-based route cannot be completed using imperative api, provide a ' - 'new list without the corresponding Page to Navigator.pages instead. ', - ); + void complete(T result, {required bool isReplaced, required bool imperativeRemoval}) { if (currentState.index >= _RouteLifecycle.remove.index) { return; } @@ -3365,6 +3367,7 @@ class _RouteEntry extends RouteTransitionRecord { _reportRemovalToObserver = !isReplaced; pendingResult = result; currentState = _RouteLifecycle.complete; + this.imperativeRemoval = imperativeRemoval; } void finalize() { @@ -3529,7 +3532,7 @@ class _RouteEntry extends RouteTransitionRecord { final bool popResult = route.didPop(result); assert(!popResult); } - pop(result); + pop(result, imperativeRemoval: false); _isWaitingForExitingDecision = false; } @@ -3541,7 +3544,7 @@ class _RouteEntry extends RouteTransitionRecord { 'been made or it does not require an explicit decision on how to transition ' 'out.', ); - complete(result); + complete(result, isReplaced: false, imperativeRemoval: false); _isWaitingForExitingDecision = false; } @@ -4491,21 +4494,21 @@ class NavigatorState extends State with TickerProviderStateMixin, Res navigator: this, previousPresent: _getRouteBefore(index, _RouteEntry.willBePresentPredicate)?.route, ); - assert(entry.currentState == _RouteLifecycle.removing); + assert(entry.currentState.index >= _RouteLifecycle.removing.index); continue; case _RouteLifecycle.removing: if (!canRemoveOrAdd && next != null) { // We aren't allowed to remove this route yet. break; } - if (entry.pageBased) { - widget.onDidRemovePage?.call(entry.route.settings as Page); - } entry.currentState = _RouteLifecycle.dispose; continue; case _RouteLifecycle.dispose: // Delay disposal until didChangeNext/didChangePrevious have been sent. toBeDisposed.add(_history.removeAt(index)); + if (entry.pageBased && entry.imperativeRemoval) { + widget.onDidRemovePage?.call(entry.route.settings as Page); + } entry = next; case _RouteLifecycle.disposing: case _RouteLifecycle.disposed: @@ -5185,7 +5188,9 @@ class NavigatorState extends State with TickerProviderStateMixin, Res 'Navigator has no active routes to replace.', ); assert(entry.currentState == _RouteLifecycle.pushReplace); - _history.lastWhere(_RouteEntry.isPresentPredicate).complete(result, isReplaced: true); + _history + .lastWhere(_RouteEntry.isPresentPredicate) + .complete(result, isReplaced: true, imperativeRemoval: true); _history.add(entry); _flushHistoryUpdates(); assert(() { @@ -5284,7 +5289,7 @@ class NavigatorState extends State with TickerProviderStateMixin, Res _history.add(entry); while (index >= 0 && !predicate(_history[index].route)) { if (_history[index].isPresent) { - _history[index].complete(null); + _history[index].complete(null, isReplaced: false, imperativeRemoval: true); } index -= 1; } @@ -5369,7 +5374,7 @@ class NavigatorState extends State with TickerProviderStateMixin, Res ); final bool wasCurrent = oldRoute.isCurrent; _history.insert(index + 1, entry); - _history[index].complete(null, isReplaced: true); + _history[index].complete(null, isReplaced: true, imperativeRemoval: true); _flushHistoryUpdates(); assert(() { _debugLocked = false; @@ -5459,7 +5464,7 @@ class NavigatorState extends State with TickerProviderStateMixin, Res } assert(index >= 0, 'There are no routes below the specified anchorRoute.'); _history.insert(index + 1, entry); - _history[index].complete(null, isReplaced: true); + _history[index].complete(null, isReplaced: true, imperativeRemoval: true); _flushHistoryUpdates(); assert(() { _debugLocked = false; @@ -5582,7 +5587,7 @@ class NavigatorState extends State with TickerProviderStateMixin, Res entry.route.onPopInvokedWithResult(true, result); } } else { - entry.pop(result); + entry.pop(result, imperativeRemoval: true); assert(entry.currentState == _RouteLifecycle.pop); } if (entry.currentState == _RouteLifecycle.pop) { @@ -5634,7 +5639,7 @@ class NavigatorState extends State with TickerProviderStateMixin, Res assert(route._navigator == this); final bool wasCurrent = route.isCurrent; final _RouteEntry entry = _history.firstWhere(_RouteEntry.isRoutePredicate(route)); - entry.complete(result); + entry.complete(result, isReplaced: false, imperativeRemoval: true); _flushHistoryUpdates(rearrangeOverlay: false); assert(() { _debugLocked = false; @@ -5671,7 +5676,7 @@ class NavigatorState extends State with TickerProviderStateMixin, Res index -= 1; } assert(index >= 0, 'There are no routes below the specified anchorRoute.'); - _history[index].complete(result); + _history[index].complete(result, isReplaced: false, imperativeRemoval: true); _flushHistoryUpdates(rearrangeOverlay: false); assert(() { _debugLocked = false; diff --git a/packages/flutter/lib/src/widgets/overlay.dart b/packages/flutter/lib/src/widgets/overlay.dart index a6eb67d02787f..295ae52482688 100644 --- a/packages/flutter/lib/src/widgets/overlay.dart +++ b/packages/flutter/lib/src/widgets/overlay.dart @@ -421,7 +421,9 @@ class _OverlayEntryWidgetState extends State<_OverlayEntryWidget> { child: _RenderTheaterMarker( theater: _theater, overlayEntryWidgetState: this, - child: widget.entry.builder(context), + // Use a Builder so that the `widget.entry.builder` can have access to + // _RenderTheaterMarker.of + child: Builder(builder: widget.entry.builder), ), ); } @@ -536,11 +538,11 @@ class Overlay extends StatefulWidget { /// OverlayState overlay = Overlay.of(context); /// ``` /// + /// {@template flutter.widgets.Overlay.of} /// If `rootOverlay` is set to true, the state from the furthest instance of /// this class is given instead. Useful for installing overlay entries above /// all subsequent instances of [Overlay]. - /// - /// This method can be expensive (it walks the element tree). + /// {@endtemplate} /// /// See also: /// @@ -599,21 +601,18 @@ class Overlay extends StatefulWidget { /// OverlayState? overlay = Overlay.maybeOf(context); /// ``` /// - /// If `rootOverlay` is set to true, the state from the furthest instance of - /// this class is given instead. Useful for installing overlay entries above - /// all subsequent instances of [Overlay]. - /// - /// This method can be expensive (it walks the element tree). + /// {@macro flutter.widgets.Overlay.of} /// /// See also: /// /// * [Overlay.of] for a similar function that returns a non-nullable result /// and throws if an [Overlay] is not found. - static OverlayState? maybeOf(BuildContext context, {bool rootOverlay = false}) { - return rootOverlay - ? LookupBoundary.findRootAncestorStateOfType(context) - : LookupBoundary.findAncestorStateOfType(context); + return _RenderTheaterMarker.maybeOf( + context, + targetRootOverlay: rootOverlay, + createDependency: false, + )?.overlayEntryWidgetState.widget.overlayState; } @override @@ -1704,6 +1703,23 @@ class OverlayPortalController { } } +/// The location of the [Overlay] that an [OverlayPortal] renders its overlay +/// child on. +/// +/// This is typically used in [OverlayPortal]. +enum OverlayChildLocation { + /// The [OverlayPortal] renders its overlay child on the closest ancestor + /// [Overlay] above the widget tree. + nearestOverlay, + + /// The [OverlayPortal] renders its overlay child on the root [Overlay] above + /// the widget tree. + /// + /// In case of multi-view apps, the root [Overlay] refers to the first Overlay + /// below the View. + rootOverlay, +} + /// A widget that renders its overlay child on an [Overlay]. /// /// The overlay child is initially hidden until [OverlayPortalController.show] @@ -1785,22 +1801,31 @@ class OverlayPortal extends StatefulWidget { /// Creates an [OverlayPortal] that renders the widget [overlayChildBuilder] /// builds on the closest [Overlay] when [OverlayPortalController.show] is /// called. + /// + /// The [overlayLocation] sets which [Overlay] this widget attaches the widget + /// returned by [overlayChildBuilder] to. Defaults to + /// [OverlayChildLocation.nearestOverlay]. const OverlayPortal({ super.key, required this.controller, required this.overlayChildBuilder, + this.overlayLocation = OverlayChildLocation.nearestOverlay, this.child, - }) : _targetRootOverlay = false; + }); /// Creates an [OverlayPortal] that renders the widget [overlayChildBuilder] /// builds on the root [Overlay] when [OverlayPortalController.show] is /// called. + @Deprecated( + 'Use OverlayPortal with root overlay instead. ' + 'This feature was deprecated after v3.33.0-0.0.pre.', + ) const OverlayPortal.targetsRootOverlay({ super.key, required this.controller, required this.overlayChildBuilder, this.child, - }) : _targetRootOverlay = true; + }) : overlayLocation = OverlayChildLocation.rootOverlay; /// Creates an [OverlayPortal] that renders the widget `overlayChildBuilder` /// builds on the closest [Overlay] when [OverlayPortalController.show] is @@ -1823,16 +1848,22 @@ class OverlayPortal extends StatefulWidget { /// [CompositedTransformFollower] between the [OverlayPortal] and the [Overlay] /// may resulting in an incorrect child paint transform being provided to the /// `overlayChildBuilder` and will cause an assertion in debug mode. + /// + /// The [overlayLocation] sets which [Overlay] this widget attaches the widget + /// returned by `overlayChildBuilder` to. Defaults to + /// [OverlayChildLocation.nearestOverlay]. OverlayPortal.overlayChildLayoutBuilder({ Key? key, required OverlayPortalController controller, required OverlayChildLayoutBuilder overlayChildBuilder, + OverlayChildLocation overlayLocation = OverlayChildLocation.nearestOverlay, required Widget? child, }) : this( key: key, controller: controller, overlayChildBuilder: (_) => _OverlayChildLayoutBuilder(builder: overlayChildBuilder), child: child, + overlayLocation: overlayLocation, ); /// The controller to show, hide and bring to top the overlay child. @@ -1859,7 +1890,9 @@ class OverlayPortal extends StatefulWidget { /// A widget below this widget in the tree. final Widget? child; - final bool _targetRootOverlay; + /// The [Overlay] that the widget returns from [overlayChildBuilder] is + /// attached to. + final OverlayChildLocation overlayLocation; @override State createState() => _OverlayPortalState(); @@ -1884,11 +1917,11 @@ class _OverlayPortalState extends State { locationCache._theater == marker.theater; } - _OverlayEntryLocation _getLocation(int zOrderIndex, bool targetRootOverlay) { + _OverlayEntryLocation _getLocation(int zOrderIndex, OverlayChildLocation overlayLocation) { final _OverlayEntryLocation? cachedLocation = _locationCache; late final _RenderTheaterMarker marker = _RenderTheaterMarker.of( context, - targetRootOverlay: targetRootOverlay, + targetRootOverlay: overlayLocation == OverlayChildLocation.rootOverlay, ); final bool isCacheValid = cachedLocation != null && @@ -1942,7 +1975,7 @@ class _OverlayPortalState extends State { void didUpdateWidget(OverlayPortal oldWidget) { super.didUpdateWidget(oldWidget); _childModelMayHaveChanged = - _childModelMayHaveChanged || oldWidget._targetRootOverlay != widget._targetRootOverlay; + _childModelMayHaveChanged || oldWidget.overlayLocation != widget.overlayLocation; if (oldWidget.controller != widget.controller) { oldWidget.controller._attachTarget = null; _setupController(widget.controller); @@ -1991,7 +2024,7 @@ class _OverlayPortalState extends State { return _OverlayPortal(overlayLocation: null, overlayChild: null, child: widget.child); } return _OverlayPortal( - overlayLocation: _getLocation(zOrderIndex, widget._targetRootOverlay), + overlayLocation: _getLocation(zOrderIndex, widget.overlayLocation), overlayChild: _DeferredLayout(child: Builder(builder: widget.overlayChildBuilder)), child: widget.child, ); @@ -2162,18 +2195,7 @@ class _RenderTheaterMarker extends InheritedWidget { } static _RenderTheaterMarker of(BuildContext context, {bool targetRootOverlay = false}) { - final _RenderTheaterMarker? marker; - if (targetRootOverlay) { - final InheritedElement? ancestor = _rootRenderTheaterMarkerOf( - context.getElementForInheritedWidgetOfExactType<_RenderTheaterMarker>(), - ); - assert(ancestor == null || ancestor.widget is _RenderTheaterMarker); - marker = ancestor != null - ? context.dependOnInheritedElement(ancestor) as _RenderTheaterMarker? - : null; - } else { - marker = context.dependOnInheritedWidgetOfExactType<_RenderTheaterMarker>(); - } + final _RenderTheaterMarker? marker = maybeOf(context, targetRootOverlay: targetRootOverlay); if (marker != null) { return marker; } @@ -2192,6 +2214,32 @@ class _RenderTheaterMarker extends InheritedWidget { ]); } + static _RenderTheaterMarker? maybeOf( + BuildContext context, { + bool targetRootOverlay = false, + bool createDependency = true, + }) { + if (targetRootOverlay) { + final InheritedElement? ancestor = _rootRenderTheaterMarkerOf( + LookupBoundary.getElementForInheritedWidgetOfExactType<_RenderTheaterMarker>(context), + ); + assert(ancestor == null || ancestor.widget is _RenderTheaterMarker); + if (ancestor == null) { + return null; + } + if (createDependency) { + return context.dependOnInheritedElement(ancestor) as _RenderTheaterMarker; + } + return ancestor.widget as _RenderTheaterMarker; + } + + if (createDependency) { + return LookupBoundary.dependOnInheritedWidgetOfExactType<_RenderTheaterMarker>(context); + } + + return LookupBoundary.getInheritedWidgetOfExactType<_RenderTheaterMarker>(context); + } + static InheritedElement? _rootRenderTheaterMarkerOf(InheritedElement? theaterMarkerElement) { assert(theaterMarkerElement == null || theaterMarkerElement.widget is _RenderTheaterMarker); if (theaterMarkerElement == null) { @@ -2199,7 +2247,9 @@ class _RenderTheaterMarker extends InheritedWidget { } InheritedElement? ancestor; theaterMarkerElement.visitAncestorElements((Element element) { - ancestor = element.getElementForInheritedWidgetOfExactType<_RenderTheaterMarker>(); + ancestor = LookupBoundary.getElementForInheritedWidgetOfExactType<_RenderTheaterMarker>( + element, + ); return false; }); return ancestor == null ? theaterMarkerElement : _rootRenderTheaterMarkerOf(ancestor); diff --git a/packages/flutter/lib/src/widgets/overscroll_indicator.dart b/packages/flutter/lib/src/widgets/overscroll_indicator.dart index 7e1751a5cc202..952214bfd4e6a 100644 --- a/packages/flutter/lib/src/widgets/overscroll_indicator.dart +++ b/packages/flutter/lib/src/widgets/overscroll_indicator.dart @@ -23,6 +23,7 @@ import 'framework.dart'; import 'media_query.dart'; import 'notification_listener.dart'; import 'scroll_notification.dart'; +import 'stretch_effect.dart'; import 'ticker_provider.dart'; import 'transitions.dart'; @@ -774,20 +775,6 @@ class _StretchingOverscrollIndicatorState extends State widget.axisDirection, - _StretchDirection.leading => flipAxisDirection(widget.axisDirection), - }; - return switch (direction) { - AxisDirection.up => AlignmentDirectional.topCenter, - AxisDirection.down => AlignmentDirectional.bottomCenter, - AxisDirection.left => Alignment.centerLeft, - AxisDirection.right => Alignment.centerRight, - }; - } - @override void dispose() { _stretchController.dispose(); @@ -802,30 +789,34 @@ class _StretchingOverscrollIndicatorState extends State null; + + /// {@macro flutter.widgets.TransitionRoute.transitionDuration} + /// + /// Defaults to 300 milliseconds. + Duration get transitionDuration => const Duration(milliseconds: 300); + + /// {@macro flutter.widgets.TransitionRoute.reverseTransitionDuration} + /// + /// Defaults to 300 milliseconds. + Duration get reverseTransitionDuration => transitionDuration; + + /// Wraps the child with one or more transition widgets which define how [route] + /// arrives on and leaves the screen. + /// + /// Subclasses override this method to create a transition animation. + /// + /// The [MaterialPageRoute.buildTransitions] method is an example of a method + /// that uses this to build a transition. It looks up the current + /// [PageTransitionsTheme] with `Theme.of(context).pageTransitionsTheme` + /// and delegates to this method with a [PageTransitionsBuilder] based + /// on the theme's [ThemeData.platform]. + Widget buildTransitions( + PageRoute route, + BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child, + ); +} diff --git a/packages/flutter/lib/src/widgets/radio_group.dart b/packages/flutter/lib/src/widgets/radio_group.dart index 34376a00808e7..7ccdbc7d89202 100644 --- a/packages/flutter/lib/src/widgets/radio_group.dart +++ b/packages/flutter/lib/src/widgets/radio_group.dart @@ -9,6 +9,7 @@ import 'package:flutter/services.dart'; import 'actions.dart'; import 'basic.dart'; +import 'binding.dart'; import 'focus_manager.dart'; import 'focus_traversal.dart'; import 'framework.dart'; @@ -96,6 +97,27 @@ class _RadioGroupState extends State> implements RadioGroupRegi final Set> _radios = >{}; + bool _debugHasScheduledSingleSelectionCheck = false; + + /// Schedules a check for the next frame to verify that there is only one + /// radio with the group value. + bool _debugScheduleSingleSelectionCheck() { + if (_debugHasScheduledSingleSelectionCheck) { + return true; + } + WidgetsBinding.instance.addPostFrameCallback((_) { + _debugHasScheduledSingleSelectionCheck = false; + if (!mounted || _debugCheckOnlySingleSelection()) { + return; + } + throw FlutterError( + "RadioGroupPolicy can't be used for a radio group that allows multiple selection.", + ); + }, debugLabel: 'RadioGroup.singleSelectionCheck'); + _debugHasScheduledSingleSelectionCheck = true; + return true; + } + bool _debugCheckOnlySingleSelection() { return _radios.where((RadioClient radio) => radio.radioValue == groupValue).length < 2; } @@ -106,10 +128,7 @@ class _RadioGroupState extends State> implements RadioGroupRegi @override void registerClient(RadioClient radio) { _radios.add(radio); - assert( - _debugCheckOnlySingleSelection(), - "RadioGroupPolicy can't be used for a radio group that allows multiple selection", - ); + assert(_debugScheduleSingleSelectionCheck()); } @override @@ -176,6 +195,8 @@ class _RadioGroupState extends State> implements RadioGroupRegi @override Widget build(BuildContext context) { + assert(_debugScheduleSingleSelectionCheck()); + return Semantics( container: true, role: SemanticsRole.radioGroup, diff --git a/packages/flutter/lib/src/widgets/raw_menu_anchor.dart b/packages/flutter/lib/src/widgets/raw_menu_anchor.dart index 4f1b216e32a2d..064a4c969fbbe 100644 --- a/packages/flutter/lib/src/widgets/raw_menu_anchor.dart +++ b/packages/flutter/lib/src/widgets/raw_menu_anchor.dart @@ -823,19 +823,14 @@ class _RawMenuAnchorState extends State with _RawMenuAnchorBaseMi ), ); - if (useRootOverlay) { - return OverlayPortal.targetsRootOverlay( - controller: _overlayController, - overlayChildBuilder: _buildOverlay, - child: child, - ); - } else { - return OverlayPortal( - controller: _overlayController, - overlayChildBuilder: _buildOverlay, - child: child, - ); - } + return OverlayPortal( + controller: _overlayController, + overlayChildBuilder: _buildOverlay, + overlayLocation: useRootOverlay + ? OverlayChildLocation.rootOverlay + : OverlayChildLocation.nearestOverlay, + child: child, + ); } @override @@ -987,7 +982,7 @@ class _RawMenuAnchorGroupState extends State /// [MenuController]. /// * [SubmenuButton], a widget that has a button that manages a submenu. /// * [RawMenuAnchor], a widget that defines a region that has submenu. -final class MenuController { +class MenuController { // The anchor that this controller controls. // // This is set automatically when this `MenuController` is attached to an diff --git a/packages/flutter/lib/src/widgets/scrollbar.dart b/packages/flutter/lib/src/widgets/scrollbar.dart index fe5b1b4d01b14..14b42e52219cb 100644 --- a/packages/flutter/lib/src/widgets/scrollbar.dart +++ b/packages/flutter/lib/src/widgets/scrollbar.dart @@ -1456,6 +1456,14 @@ class RawScrollbarState extends State with TickerProv } else if (_effectiveScrollController != null && enableGestures) { // Interactive scrollbars need to be properly configured. If it is visible // for interaction, ensure we are set up properly. + // Don't assert immediately if we're in the middle of updating the widget + // as the controller may not be attached yet in that frame. + if (_fadeoutAnimationController.status == AnimationStatus.forward && + (widget.thumbVisibility ?? false)) { + // When thumbVisibility is true and we're animating forward, + // the check is already scheduled by _debugScheduleCheckHasValidScrollPosition. + return; + } assert(_debugCheckHasValidScrollPosition()); } } diff --git a/packages/flutter/lib/src/widgets/semantics_debugger.dart b/packages/flutter/lib/src/widgets/semantics_debugger.dart index 578b647e6f9e3..baea3206798dd 100644 --- a/packages/flutter/lib/src/widgets/semantics_debugger.dart +++ b/packages/flutter/lib/src/widgets/semantics_debugger.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:math' as math; +import 'dart:ui' show CheckedState; import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; @@ -226,8 +227,10 @@ class _SemanticsDebuggerPainter extends CustomPainter { final List annotations = []; bool wantsTap = false; - if (data.flagsCollection.hasCheckedState) { - annotations.add(data.flagsCollection.isChecked ? 'checked' : 'unchecked'); + if (data.flagsCollection.isChecked != CheckedState.none) { + annotations.add( + data.flagsCollection.isChecked == CheckedState.isTrue ? 'checked' : 'unchecked', + ); wantsTap = true; } if (data.flagsCollection.isTextField) { diff --git a/packages/flutter/lib/src/widgets/sliver.dart b/packages/flutter/lib/src/widgets/sliver.dart index 4791790aa58e6..3fd4cd04227f8 100644 --- a/packages/flutter/lib/src/widgets/sliver.dart +++ b/packages/flutter/lib/src/widgets/sliver.dart @@ -216,6 +216,7 @@ class SliverList extends SliverMultiBoxAdaptorWidget { bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, bool addSemanticIndexes = true, + int semanticIndexOffset = 0, }) : super( delegate: SliverChildBuilderDelegate( itemBuilder, @@ -224,6 +225,7 @@ class SliverList extends SliverMultiBoxAdaptorWidget { addAutomaticKeepAlives: addAutomaticKeepAlives, addRepaintBoundaries: addRepaintBoundaries, addSemanticIndexes: addSemanticIndexes, + semanticIndexOffset: semanticIndexOffset, ), ); @@ -471,6 +473,7 @@ class SliverFixedExtentList extends SliverMultiBoxAdaptorWidget { bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, bool addSemanticIndexes = true, + int semanticIndexOffset = 0, }) : super( delegate: SliverChildBuilderDelegate( itemBuilder, @@ -479,6 +482,7 @@ class SliverFixedExtentList extends SliverMultiBoxAdaptorWidget { addAutomaticKeepAlives: addAutomaticKeepAlives, addRepaintBoundaries: addRepaintBoundaries, addSemanticIndexes: addSemanticIndexes, + semanticIndexOffset: semanticIndexOffset, ), ); @@ -744,6 +748,7 @@ class SliverGrid extends SliverMultiBoxAdaptorWidget { bool addAutomaticKeepAlives = true, bool addRepaintBoundaries = true, bool addSemanticIndexes = true, + int semanticIndexOffset = 0, }) : super( delegate: SliverChildBuilderDelegate( itemBuilder, @@ -752,6 +757,7 @@ class SliverGrid extends SliverMultiBoxAdaptorWidget { addAutomaticKeepAlives: addAutomaticKeepAlives, addRepaintBoundaries: addRepaintBoundaries, addSemanticIndexes: addSemanticIndexes, + semanticIndexOffset: semanticIndexOffset, ), ); @@ -803,6 +809,60 @@ class SliverGrid extends SliverMultiBoxAdaptorWidget { ), super(delegate: SliverChildListDelegate(children)); + /// Creates a sliver that places multiple box children in a two dimensional + /// arrangement. + /// + /// _To learn more about slivers, see [CustomScrollView.slivers]._ + /// + /// Uses a [SliverChildListDelegate] as the [delegate]. + /// + /// The `addAutomaticKeepAlives` argument corresponds to the + /// [SliverChildListDelegate.addAutomaticKeepAlives] property. The + /// `addRepaintBoundaries` argument corresponds to the + /// [SliverChildListDelegate.addRepaintBoundaries] property. The + /// `addSemanticIndexes` argument corresponds to the + /// [SliverChildListDelegate.addSemanticIndexes] property. The + /// `semanticIndexOffset` argument corresponds to the + /// [SliverChildListDelegate.semanticIndexOffset] property. + /// + /// {@tool snippet} + /// This example, which would be inserted into a [CustomScrollView.slivers] + /// list, shows a grid of [Container] widgets. + /// + /// ```dart + /// SliverGrid.list( + /// gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + /// crossAxisCount: 3, + /// ), + /// children: [ + /// Container(color: Colors.red), + /// Container(color: Colors.green), + /// Container(color: Colors.blue), + /// Container(color: Colors.yellow), + /// Container(color: Colors.orange), + /// Container(color: Colors.purple), + /// ], + /// ); + /// ``` + /// {@end-tool} + SliverGrid.list({ + super.key, + required this.gridDelegate, + required List children, + bool addAutomaticKeepAlives = true, + bool addRepaintBoundaries = true, + bool addSemanticIndexes = true, + int semanticIndexOffset = 0, + }) : super( + delegate: SliverChildListDelegate( + children, + addAutomaticKeepAlives: addAutomaticKeepAlives, + addRepaintBoundaries: addRepaintBoundaries, + addSemanticIndexes: addSemanticIndexes, + semanticIndexOffset: semanticIndexOffset, + ), + ); + /// The delegate that controls the size and position of the children. final SliverGridDelegate gridDelegate; diff --git a/packages/flutter/lib/src/widgets/stretch_effect.dart b/packages/flutter/lib/src/widgets/stretch_effect.dart new file mode 100644 index 0000000000000..27863caee7e92 --- /dev/null +++ b/packages/flutter/lib/src/widgets/stretch_effect.dart @@ -0,0 +1,254 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:ui' as ui; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/rendering.dart'; + +import 'basic.dart'; +import 'framework.dart'; +import 'image_filter.dart'; + +/// A widget that applies a stretching visual effect to its child. +/// +/// When shader-based effects are supported, this effect replicates the native Android stretch overscroll effect. +/// Otherwise, a matrix transform provides an approximation. +/// +/// Used by [StretchingOverscrollIndicator] widget. +class StretchEffect extends StatelessWidget { + /// Creates a [StretchEffect] widget that applies a stretch effect + /// when the user overscrolls horizontally or vertically. + /// + /// The [stretchStrength] controls the intensity of the stretch effect + /// and must be between -1.0 and 1.0. + const StretchEffect({ + super.key, + this.stretchStrength = 0.0, + required this.axis, + required this.child, + }) : assert( + stretchStrength >= -1.0 && stretchStrength <= 1.0, + 'stretchStrength must be between -1.0 and 1.0', + ); + + /// The overscroll strength applied for the stretching effect. + /// + /// The value should be between -1.0 and 1.0 inclusive. + /// + /// For the horizontal axis: + /// - Positive values apply a pull/stretch from left to right, + /// where 1.0 represents the maximum stretch to the right. + /// - Negative values apply a pull/stretch from right to left, + /// where -1.0 represents the maximum stretch to the left. + /// + /// For the vertical axis: + /// - Positive values apply a pull/stretch from top to bottom, + /// where 1.0 represents the maximum stretch downward. + /// - Negative values apply a pull/stretch from bottom to top, + /// where -1.0 represents the maximum stretch upward. + /// + /// {@tool snippet} + /// This example shows how to set the horizontal stretch strength to pull right. + /// + /// ```dart + /// const StretchEffect( + /// stretchStrength: 0.5, + /// axis: Axis.horizontal, + /// child: Text('Hello, World!'), + /// ); + /// ``` + /// {@end-tool} + final double stretchStrength; + + /// The axis along which the stretching overscroll effect is applied. + /// + /// Determines the direction of the stretch, either horizontal or vertical. + final Axis axis; + + /// The child widget that the stretching overscroll effect applies to. + final Widget child; + + AlignmentGeometry _getAlignment(TextDirection direction) { + final bool isForward = stretchStrength > 0; + + if (axis == Axis.vertical) { + return isForward ? AlignmentDirectional.topCenter : AlignmentDirectional.bottomCenter; + } + + // RTL horizontal. + if (direction == TextDirection.rtl) { + return isForward ? AlignmentDirectional.centerEnd : AlignmentDirectional.centerStart; + } else { + return isForward ? AlignmentDirectional.centerStart : AlignmentDirectional.centerEnd; + } + } + + @override + Widget build(BuildContext context) { + if (ui.ImageFilter.isShaderFilterSupported) { + return _StretchOverscrollEffect(stretchStrength: stretchStrength, axis: axis, child: child); + } + + final TextDirection textDirection = Directionality.of(context); + double x = 1.0; + double y = 1.0; + + switch (axis) { + case Axis.horizontal: + x += stretchStrength.abs(); + case Axis.vertical: + y += stretchStrength.abs(); + } + + return Transform( + alignment: _getAlignment(textDirection), + transform: Matrix4.diagonal3Values(x, y, 1.0), + filterQuality: stretchStrength == 0 ? null : FilterQuality.medium, + child: child, + ); + } +} + +/// A widget that replicates the native Android stretch overscroll effect. +/// +/// This widget is used in the [StretchEffect] widget and creates +/// a stretch visual feedback when the user overscrolls at the edges. +/// +/// Only supported when using the Impeller rendering engine. +class _StretchOverscrollEffect extends StatefulWidget { + /// Creates a [_StretchOverscrollEffect] widget that applies a stretch + /// effect when the user overscrolls horizontally or vertically. + const _StretchOverscrollEffect({ + this.stretchStrength = 0.0, + required this.axis, + required this.child, + }) : assert( + stretchStrength >= -1.0 && stretchStrength <= 1.0, + 'stretchStrength must be between -1.0 and 1.0', + ); + + /// The overscroll strength applied for the stretching effect. + /// + /// The value should be between -1.0 and 1.0 inclusive. + /// For horizontal axis, Positive values apply a pull from + /// left to right, while negative values pull from right to left. + final double stretchStrength; + + /// The axis along which the stretching overscroll effect is applied. + /// + /// Determines the direction of the stretch, either horizontal or vertical. + final Axis axis; + + /// The child widget that the stretching overscroll effect applies to. + final Widget child; + + @override + State<_StretchOverscrollEffect> createState() => _StretchOverscrollEffectState(); +} + +class _StretchOverscrollEffectState extends State<_StretchOverscrollEffect> { + ui.FragmentShader? _fragmentShader; + + /// The maximum scale multiplier applied during a stretch effect. + static const double maxStretchIntensity = 1.0; + + /// The strength of the interpolation used for smoothing the effect. + static const double interpolationStrength = 0.7; + + /// A no-op [ui.ImageFilter] that uses the identity matrix. + static final ui.ImageFilter _emptyFilter = ui.ImageFilter.matrix(Matrix4.identity().storage); + + @override + void dispose() { + _fragmentShader?.dispose(); + super.dispose(); + } + + @override + void initState() { + super.initState(); + _StretchEffectShader.initializeShader(); + } + + @override + Widget build(BuildContext context) { + final bool isShaderNeeded = widget.stretchStrength.abs() > precisionErrorTolerance; + + final ui.ImageFilter imageFilter; + + if (_StretchEffectShader._initialized) { + _fragmentShader?.dispose(); + _fragmentShader = _StretchEffectShader._program!.fragmentShader(); + _fragmentShader!.setFloat(2, maxStretchIntensity); + if (widget.axis == Axis.vertical) { + _fragmentShader!.setFloat(3, 0.0); + _fragmentShader!.setFloat(4, widget.stretchStrength); + } else { + _fragmentShader!.setFloat(3, widget.stretchStrength); + _fragmentShader!.setFloat(4, 0.0); + } + _fragmentShader!.setFloat(5, interpolationStrength); + + imageFilter = ui.ImageFilter.shader(_fragmentShader!); + } else { + _fragmentShader?.dispose(); + _fragmentShader = null; + + imageFilter = _emptyFilter; + } + + return ImageFiltered( + imageFilter: imageFilter, + enabled: isShaderNeeded, + // A nearly-transparent pixels is used to ensure the shader gets applied, + // even when the child is visually transparent or has no paint operations. + child: CustomPaint( + painter: isShaderNeeded ? _StretchEffectPainter() : null, + child: widget.child, + ), + ); + } +} + +/// A [CustomPainter] that draws nearly transparent pixels at the four corners. +/// +/// This ensures the fragment shader covers the entire canvas by forcing +/// painting operations on all edges, preventing shader optimization skips. +class _StretchEffectPainter extends CustomPainter { + @override + void paint(Canvas canvas, Size size) { + final Paint paint = Paint() + ..color = const Color.fromARGB(1, 0, 0, 0) + ..style = PaintingStyle.fill; + + canvas.drawPoints(ui.PointMode.points, [ + Offset.zero, + Offset(size.width - 1, 0), + Offset(0, size.height - 1), + Offset(size.width - 1, size.height - 1), + ], paint); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) => false; +} + +class _StretchEffectShader { + static bool _initCalled = false; + static bool _initialized = false; + static ui.FragmentProgram? _program; + + static void initializeShader() { + if (!_initCalled) { + ui.FragmentProgram.fromAsset('shaders/stretch_effect.frag').then(( + ui.FragmentProgram program, + ) { + _program = program; + _initialized = true; + }); + _initCalled = true; + } + } +} diff --git a/packages/flutter/lib/src/widgets/system_context_menu.dart b/packages/flutter/lib/src/widgets/system_context_menu.dart index 946b9a5dce6ee..c8d9423d581bc 100644 --- a/packages/flutter/lib/src/widgets/system_context_menu.dart +++ b/packages/flutter/lib/src/widgets/system_context_menu.dart @@ -100,6 +100,13 @@ class SystemContextMenu extends StatefulWidget { /// of the input. /// /// Defaults to the result of [getDefaultItems]. + /// + /// To add custom menu items, pass [IOSSystemContextMenuItemCustom] instances + /// in the [items] list. Each custom item requires a title and an onPressed callback. + /// + /// See also: + /// + /// * [IOSSystemContextMenuItemCustom], which creates custom menu items. final List items; /// Called when the system hides this context menu. @@ -458,5 +465,58 @@ final class IOSSystemContextMenuItemLiveText extends IOSSystemContextMenuItem { } } -// TODO(justinmc): Support the "custom" type. -// https://github.com/flutter/flutter/issues/103163 +/// Creates an instance of [IOSSystemContextMenuItem] for custom action buttons +/// defined by the developer. +/// +/// Only supported on iOS 16.0 and above. +/// +/// The [title] and [onPressed] callback must be provided. +/// +/// {@tool dartpad} +/// This example shows how to add custom menu items to the iOS system context menu. +/// +/// ** See code in examples/api/lib/widgets/system_context_menu/system_context_menu.1.dart ** +/// {@end-tool} +/// +/// See also: +/// +/// * [SystemContextMenu], a widget that can be used to display the system +/// context menu. +/// * [IOSSystemContextMenuItemDataCustom], which specifies the data to be sent +/// to the platform for this button. +@immutable +class IOSSystemContextMenuItemCustom extends IOSSystemContextMenuItem with Diagnosticable { + /// Creates an instance of [IOSSystemContextMenuItemCustom]. + const IOSSystemContextMenuItemCustom({required this.title, required this.onPressed}); + + @override + final String title; + + /// The callback that is called when the button is pressed. + final VoidCallback onPressed; + + @override + IOSSystemContextMenuItemData getData(WidgetsLocalizations localizations) { + return IOSSystemContextMenuItemDataCustom(title: title, onPressed: onPressed); + } + + @override + int get hashCode => Object.hash(title, onPressed); + + @override + bool operator ==(Object other) { + if (identical(this, other)) { + return true; + } + return other is IOSSystemContextMenuItemCustom && + other.title == title && + other.onPressed == onPressed; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(StringProperty('title', title)); + properties.add(ObjectFlagProperty.has('onPressed', onPressed)); + } +} diff --git a/packages/flutter/lib/src/widgets/visibility.dart b/packages/flutter/lib/src/widgets/visibility.dart index a6389a93cbf6f..b8a3ae5278d4f 100644 --- a/packages/flutter/lib/src/widgets/visibility.dart +++ b/packages/flutter/lib/src/widgets/visibility.dart @@ -83,6 +83,10 @@ class Visibility extends StatelessWidget { assert( maintainSize || !maintainInteractivity, 'Cannot maintain interactivity if size is not maintained.', + ), + assert( + maintainState || !maintainFocusability, + 'Cannot maintain focusability if the state is not also maintained.', ); /// Control whether the given [child] is [visible]. @@ -143,6 +147,8 @@ class Visibility extends StatelessWidget { /// /// If this property is false, then [maintainAnimation] must also be false. /// + /// If this property is false, then [maintainFocusability] must also be false. + /// /// Dynamically changing this value may cause the current state of the /// subtree to be lost (and a new instance of the subtree, with new [State] /// objects, to be immediately created if [visible] is true). @@ -220,7 +226,12 @@ class Visibility extends StatelessWidget { /// Whether to allow the widget to receive focus when hidden. Only in effect if [visible] is false. /// - /// Defaults to false. + /// To set this to true, [maintainState] must also be set to true. + /// + /// By default, with [maintainFocusability] set to false, focus events cannot + /// reach the [child] when this widget is not [visible] because an [ExcludeFocus] + /// widget is used to exclude the child subtree from the focus tree. If this flag + /// is set to true, then focus events will reach the child subtree. final bool maintainFocusability; /// Tells the visibility state of an element in the tree based off its diff --git a/packages/flutter/lib/src/widgets/widget_inspector.dart b/packages/flutter/lib/src/widgets/widget_inspector.dart index be7394b9c7cad..247b85f60c58f 100644 --- a/packages/flutter/lib/src/widgets/widget_inspector.dart +++ b/packages/flutter/lib/src/widgets/widget_inspector.dart @@ -3072,7 +3072,7 @@ class _WidgetInspectorState extends State with WidgetsBindingOb /// /// See also: /// -/// * [DisableWidgetInspectorScope], the widget used to enable the inspector for a widget subtree. +/// * [DisableWidgetInspectorScope], the widget used to disable the inspector for a widget subtree. /// * [WidgetInspector], the widget used to provide inspector support for a widget subtree. class EnableWidgetInspectorScope extends ProxyWidget { /// Enables the Flutter DevTools Widget Inspector for the [Widget] subtree rooted at [child]. @@ -4074,12 +4074,7 @@ class _Location { final String? name; Map toJsonMap() { - return { - 'file': file, - 'line': line, - 'column': column, - if (name != null) 'name': name, - }; + return {'file': file, 'line': line, 'column': column, 'name': ?name}; } @override diff --git a/packages/flutter/lib/src/widgets/widget_state.dart b/packages/flutter/lib/src/widgets/widget_state.dart index a80e2330b5d85..19fb9b724b264 100644 --- a/packages/flutter/lib/src/widgets/widget_state.dart +++ b/packages/flutter/lib/src/widgets/widget_state.dart @@ -283,10 +283,6 @@ typedef WidgetPropertyResolver = T Function(Set states); /// } /// ``` /// {@end-tool} -/// -/// See also: -/// -/// * [MaterialStateColor], the Material specific version of `WidgetStateColor`. abstract class WidgetStateColor extends Color implements WidgetStateProperty { /// Abstract const constructor. This constructor enables subclasses to provide /// const constructors so that they can be used in const expressions. @@ -582,6 +578,9 @@ abstract class WidgetStateBorderSide extends BorderSide if (a == null && b == null) { return null; } + if (identical(a, b)) { + return a; + } return _LerpSides(a, b, t); } } diff --git a/packages/flutter/lib/widgets.dart b/packages/flutter/lib/widgets.dart index bcb359732a1a3..4db57744df94e 100644 --- a/packages/flutter/lib/widgets.dart +++ b/packages/flutter/lib/widgets.dart @@ -38,6 +38,7 @@ export 'src/widgets/color_filter.dart'; export 'src/widgets/container.dart'; export 'src/widgets/context_menu_button_item.dart'; export 'src/widgets/context_menu_controller.dart'; +export 'src/widgets/date.dart'; export 'src/widgets/debug.dart'; export 'src/widgets/decorated_sliver.dart'; export 'src/widgets/default_selection_style.dart'; @@ -93,6 +94,7 @@ export 'src/widgets/overflow_bar.dart'; export 'src/widgets/overlay.dart'; export 'src/widgets/overscroll_indicator.dart'; export 'src/widgets/page_storage.dart'; +export 'src/widgets/page_transitions_builder.dart'; export 'src/widgets/page_view.dart'; export 'src/widgets/pages.dart'; export 'src/widgets/performance_overlay.dart'; @@ -154,6 +156,7 @@ export 'src/widgets/spacer.dart'; export 'src/widgets/spell_check.dart'; export 'src/widgets/standard_component_type.dart'; export 'src/widgets/status_transitions.dart'; +export 'src/widgets/stretch_effect.dart'; export 'src/widgets/system_context_menu.dart'; export 'src/widgets/table.dart'; export 'src/widgets/tap_region.dart'; diff --git a/packages/flutter/test/cupertino/activity_indicator_test.dart b/packages/flutter/test/cupertino/activity_indicator_test.dart index 2e85716ed09a8..5171b675740ed 100644 --- a/packages/flutter/test/cupertino/activity_indicator_test.dart +++ b/packages/flutter/test/cupertino/activity_indicator_test.dart @@ -155,6 +155,64 @@ void main() { ), ); }); + + group('CupertinoLinearActivityIndicator', () { + testWidgets('draws the linear activity indicator', (WidgetTester tester) async { + await tester.pumpWidget(const Center(child: CupertinoLinearActivityIndicator(progress: 0.2))); + + expect( + find.byType(CupertinoLinearActivityIndicator), + paints + ..rrect( + color: CupertinoColors.systemFill, + rrect: RRect.fromRectAndRadius( + const Rect.fromLTWH(0.0, 0.0, 800, 4.5), + const Radius.circular(2.25), + ), + ) + ..rrect( + color: CupertinoColors.activeBlue, + rrect: RRect.fromRectAndRadius( + const Rect.fromLTWH(0.0, 0.0, 160, 4.5), + const Radius.circular(2.25), + ), + ), + ); + }); + + testWidgets('draws the linear activity indicator with a custom height and color', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + const Center( + child: CupertinoLinearActivityIndicator( + progress: 0.5, + height: 10, + color: CupertinoColors.activeGreen, + ), + ), + ); + + expect( + find.byType(CupertinoLinearActivityIndicator), + paints + ..rrect( + color: CupertinoColors.systemFill, + rrect: RRect.fromRectAndRadius( + const Rect.fromLTWH(0.0, 0.0, 800, 10), + const Radius.circular(5), + ), + ) + ..rrect( + color: CupertinoColors.activeGreen, + rrect: RRect.fromRectAndRadius( + const Rect.fromLTWH(0.0, 0.0, 400, 10), + const Radius.circular(5), + ), + ), + ); + }); + }); } Widget buildCupertinoActivityIndicator([bool? animating]) { diff --git a/packages/flutter/test/cupertino/adaptive_text_selection_toolbar_test.dart b/packages/flutter/test/cupertino/adaptive_text_selection_toolbar_test.dart index ce36776530a82..84bff2542c3b3 100644 --- a/packages/flutter/test/cupertino/adaptive_text_selection_toolbar_test.dart +++ b/packages/flutter/test/cupertino/adaptive_text_selection_toolbar_test.dart @@ -270,4 +270,25 @@ void main() { expect(find.byType(CupertinoDesktopTextSelectionToolbarButton), findsOneWidget); } }, variant: TargetPlatformVariant.all()); + + testWidgets( + 'Builds empty toolbar when children and buttonItems are null', + (WidgetTester tester) async { + await tester.pumpWidget( + const CupertinoApp( + home: Center( + child: CupertinoAdaptiveTextSelectionToolbar( + anchors: TextSelectionToolbarAnchors(primaryAnchor: Offset.zero), + children: null, + ), + ), + ), + ); + + expect(tester.getSize(find.byType(CupertinoAdaptiveTextSelectionToolbar)), Size.zero); + expect(tester.takeException(), isNull); + }, + skip: isBrowser, // [intended] see https://github.com/flutter/flutter/issues/108382 + variant: TargetPlatformVariant.all(), + ); } diff --git a/packages/flutter/test/cupertino/checkbox_test.dart b/packages/flutter/test/cupertino/checkbox_test.dart index 7713cd1413fb2..74ad812e13c7a 100644 --- a/packages/flutter/test/cupertino/checkbox_test.dart +++ b/packages/flutter/test/cupertino/checkbox_test.dart @@ -412,7 +412,7 @@ void main() { expect(value, isTrue); }); - testWidgets('Checkbox respects shape and side', (WidgetTester tester) async { + testWidgets('Checkbox respects shape and side on mobile', (WidgetTester tester) async { const RoundedRectangleBorder roundedRectangleBorder = RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(5)), ); @@ -452,6 +452,77 @@ void main() { inner: RRect.fromLTRBR(19.0, 19.0, 25.0, 25.0, const Radius.circular(1)), ), ); + }, variant: TargetPlatformVariant.mobile()); + + testWidgets('Checkbox respects shape and side on desktop', (WidgetTester tester) async { + const RoundedRectangleBorder roundedRectangleBorder = RoundedRectangleBorder( + borderRadius: BorderRadius.all(Radius.circular(5)), + ); + + const BorderSide side = BorderSide(width: 4, color: Color(0xfff44336)); + + Widget buildApp() { + return CupertinoApp( + home: Center( + child: StatefulBuilder( + builder: (BuildContext context, StateSetter setState) { + return CupertinoCheckbox( + value: false, + onChanged: (bool? newValue) {}, + shape: roundedRectangleBorder, + side: side, + ); + }, + ), + ), + ); + } + + await tester.pumpWidget(buildApp()); + await tester.pumpAndSettle(); + + expect( + tester.widget(find.byType(CupertinoCheckbox)).shape, + roundedRectangleBorder, + ); + expect(tester.widget(find.byType(CupertinoCheckbox)).side, side); + expect( + find.byType(CupertinoCheckbox), + paints..drrect( + color: const Color(0xfff44336), + outer: RRect.fromLTRBR(0.0, 0.0, 14.0, 14.0, const Radius.circular(5)), + inner: RRect.fromLTRBR(4.0, 4.0, 10.0, 10.0, const Radius.circular(1)), + ), + ); + }, variant: TargetPlatformVariant.desktop()); + + testWidgets('Checkbox respects tap target size', (WidgetTester tester) async { + Widget buildApp() { + return CupertinoApp( + home: Center( + child: StatefulBuilder( + builder: (BuildContext context, StateSetter setState) { + return CupertinoCheckbox( + value: false, + onChanged: (bool? newValue) {}, + tapTargetSize: const Size.square(20.0), + ); + }, + ), + ), + ); + } + + await tester.pumpWidget(buildApp()); + await tester.pumpAndSettle(); + + expect( + find.byType(CupertinoCheckbox), + paints..drrect( + outer: RRect.fromLTRBR(3.0, 3.0, 17.0, 17.0, const Radius.circular(4)), + inner: RRect.fromLTRBR(4.0, 4.0, 16.0, 16.0, const Radius.circular(3)), + ), + ); }); testWidgets('Checkbox configures mouse cursor', (WidgetTester tester) async { diff --git a/packages/flutter/test/cupertino/context_menu_test.dart b/packages/flutter/test/cupertino/context_menu_test.dart index 68d6f0f183cfb..9cbc1ecf93859 100644 --- a/packages/flutter/test/cupertino/context_menu_test.dart +++ b/packages/flutter/test/cupertino/context_menu_test.dart @@ -1453,4 +1453,91 @@ void main() { ); }); }); + + testWidgets('CupertinoContextMenu respects available screen width - Portrait', ( + WidgetTester tester, + ) async { + const Size portraitScreenSize = Size(300.0, 350.0); + await binding.setSurfaceSize(portraitScreenSize); + addTearDown(() => binding.setSurfaceSize(null)); + + final Widget child = getChild(); + await tester.pumpWidget( + MediaQuery( + data: const MediaQueryData(size: portraitScreenSize), + child: CupertinoApp( + home: Center( + child: CupertinoContextMenu( + actions: [ + CupertinoContextMenuAction(child: const Text('Test'), onPressed: () {}), + ], + child: child, + ), + ), + ), + ), + ); + + expect(find.byWidget(child), findsOneWidget); + final Rect childRect = tester.getRect(find.byWidget(child)); + + // Start a press on the child. + final TestGesture gesture = await tester.startGesture(childRect.center); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + await gesture.up(); + await tester.pumpAndSettle(); + + expect(tester.takeException(), null); + + // Verify the child width is constrained correctly. + expect(findStatic(), findsOneWidget); + final Size fittedBoxSize = tester.getSize(findFittedBox()); + // availableWidth = 300.0 (screen width) - 2 * 20.0 (padding) = 260.0 + expect(fittedBoxSize.width, 260.0); + }); + + testWidgets('CupertinoContextMenu respects available screen width - Landscape', ( + WidgetTester tester, + ) async { + const Size landscapeScreenSize = Size(350.0, 300.0); + await binding.setSurfaceSize(landscapeScreenSize); + addTearDown(() => binding.setSurfaceSize(null)); + + final Widget child = getChild(width: 500); + await tester.pumpWidget( + MediaQuery( + data: const MediaQueryData(size: landscapeScreenSize), + child: CupertinoApp( + home: Center( + child: CupertinoContextMenu( + actions: [ + CupertinoContextMenuAction(child: const Text('Test'), onPressed: () {}), + ], + child: child, + ), + ), + ), + ), + ); + + expect(find.byWidget(child), findsOneWidget); + final Rect childRect = tester.getRect(find.byWidget(child)); + + // Start a press on the child. + final TestGesture gesture = await tester.startGesture(childRect.center); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 500)); + await gesture.up(); + await tester.pumpAndSettle(); + + expect(tester.takeException(), null); + + // Verify the child width is constrained correctly. + expect(findStatic(), findsOneWidget); + final Size fittedBoxSize = tester.getSize(findFittedBox()); + // availableWidth = 350.0 (screen width) - 2 * 20.0 (padding) = 310.0 + // availableWidthForChild = 310.0 - 250.0 (menu width) = 60.0 + expect(fittedBoxSize.width, 60.0); + }); } diff --git a/packages/flutter/test/cupertino/date_picker_test.dart b/packages/flutter/test/cupertino/date_picker_test.dart index 78577d44631ea..e22bba1da4f24 100644 --- a/packages/flutter/test/cupertino/date_picker_test.dart +++ b/packages/flutter/test/cupertino/date_picker_test.dart @@ -12,14 +12,10 @@ import 'dart:math' as math; import 'dart:ui'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart' show isSkwasm; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; -// TODO(yjbanov): on the web text rendered with perspective produces flaky goldens: https://github.com/flutter/flutter/issues/110785 -final bool skipPerspectiveTextGoldens = isBrowser && isSkwasm; - // A number of the hit tests below say "warnIfMissed: false". This is because // the way the CupertinoPicker works, the hits don't actually reach the labels, // the scroll view intercepts them. @@ -1599,36 +1595,28 @@ void main() { } await tester.pumpWidget(buildApp(CupertinoDatePickerMode.time)); - if (!skipPerspectiveTextGoldens) { - await expectLater( - find.byType(CupertinoDatePicker), - matchesGoldenFile('date_picker_test.time.initial.png'), - ); - } + await expectLater( + find.byType(CupertinoDatePicker), + matchesGoldenFile('date_picker_test.time.initial.png'), + ); await tester.pumpWidget(buildApp(CupertinoDatePickerMode.date)); - if (!skipPerspectiveTextGoldens) { - await expectLater( - find.byType(CupertinoDatePicker), - matchesGoldenFile('date_picker_test.date.initial.png'), - ); - } + await expectLater( + find.byType(CupertinoDatePicker), + matchesGoldenFile('date_picker_test.date.initial.png'), + ); await tester.pumpWidget(buildApp(CupertinoDatePickerMode.monthYear)); - if (!skipPerspectiveTextGoldens) { - await expectLater( - find.byType(CupertinoDatePicker), - matchesGoldenFile('date_picker_test.monthyear.initial.png'), - ); - } + await expectLater( + find.byType(CupertinoDatePicker), + matchesGoldenFile('date_picker_test.monthyear.initial.png'), + ); await tester.pumpWidget(buildApp(CupertinoDatePickerMode.dateAndTime)); - if (!skipPerspectiveTextGoldens) { - await expectLater( - find.byType(CupertinoDatePicker), - matchesGoldenFile('date_picker_test.datetime.initial.png'), - ); - } + await expectLater( + find.byType(CupertinoDatePicker), + matchesGoldenFile('date_picker_test.datetime.initial.png'), + ); // Slightly drag the hour component to make the current hour off-center. await tester.drag( @@ -1638,12 +1626,10 @@ void main() { ); // see top of file await tester.pump(); - if (!skipPerspectiveTextGoldens) { - await expectLater( - find.byType(CupertinoDatePicker), - matchesGoldenFile('date_picker_test.datetime.drag.png'), - ); - } + await expectLater( + find.byType(CupertinoDatePicker), + matchesGoldenFile('date_picker_test.datetime.drag.png'), + ); }); testWidgets('DatePicker displays the date in correct order', (WidgetTester tester) async { @@ -1809,12 +1795,10 @@ void main() { ), ); - if (!skipPerspectiveTextGoldens) { - await expectLater( - find.byType(CupertinoTimerPicker), - matchesGoldenFile('timer_picker_test.datetime.initial.png'), - ); - } + await expectLater( + find.byType(CupertinoTimerPicker), + matchesGoldenFile('timer_picker_test.datetime.initial.png'), + ); // Slightly drag the minute component to make the current minute off-center. await tester.drag( @@ -1824,12 +1808,10 @@ void main() { ); // see top of file await tester.pump(); - if (!skipPerspectiveTextGoldens) { - await expectLater( - find.byType(CupertinoTimerPicker), - matchesGoldenFile('timer_picker_test.datetime.drag.png'), - ); - } + await expectLater( + find.byType(CupertinoTimerPicker), + matchesGoldenFile('timer_picker_test.datetime.drag.png'), + ); }); testWidgets('TimerPicker only changes hour label after scrolling stops', ( @@ -2612,6 +2594,127 @@ void main() { expect(find.text(':'), findsNothing); }); + test('CupertinoDatePicker selectableDayPredicate parameter validation', () async { + expect(() => CupertinoDatePicker(onDateTimeChanged: (DateTime _) {}), returnsNormally); + + expect( + () => CupertinoDatePicker( + initialDateTime: DateTime(2025), + onDateTimeChanged: (DateTime _) {}, + selectableDayPredicate: (DateTime date) { + return date.year == 2025; + }, + ), + returnsNormally, + ); + + expect( + () => CupertinoDatePicker( + onDateTimeChanged: (DateTime _) {}, + selectableDayPredicate: (DateTime date) { + return date.year == 2025; + }, + ), + returnsNormally, + ); + + expect( + () => CupertinoDatePicker( + initialDateTime: DateTime(2025, 7, 4), + onDateTimeChanged: (DateTime _) {}, + selectableDayPredicate: (DateTime date) { + return date.month == 6; + }, + ), + throwsA( + isA().having( + (AssertionError e) => e.message ?? 'Unknown error', + 'message', + contains('must satisfy provided selectableDayPredicate.'), + ), + ), + ); + }); + + testWidgets('DatePicker with workdays predicate test case', (WidgetTester tester) async { + // Set initial date time to a work day. + final DateTime initialDateTime = DateTime(2025, 6, 13); + DateTime selectedDate = initialDateTime; + await tester.pumpWidget( + CupertinoApp( + home: Center( + child: CupertinoDatePicker( + initialDateTime: initialDateTime, + selectableDayPredicate: (DateTime date) { + return date.weekday >= DateTime.monday && date.weekday <= DateTime.friday; + }, + onDateTimeChanged: (DateTime dateTime) { + selectedDate = dateTime; + }, + ), + ), + ), + ); + + // Scrolling to Saturday should trigger automatic scroll to the next workday (Monday). + await tester.drag(find.text('Sat Jun 14'), const Offset(0.0, -100.0)); + expect(selectedDate, DateTime(2025, 6, 16)); + }); + + testWidgets('DatePicker with weekend predicate test case', (WidgetTester tester) async { + // Set initial date time to a weekend day. + final DateTime initialDateTime = DateTime(2025, 6, 14); + DateTime selectedDate = initialDateTime; + await tester.pumpWidget( + CupertinoApp( + home: Center( + child: CupertinoDatePicker( + initialDateTime: initialDateTime, + selectableDayPredicate: (DateTime date) { + return date.weekday == DateTime.saturday || date.weekday == DateTime.sunday; + }, + onDateTimeChanged: (DateTime dateTime) { + selectedDate = dateTime; + }, + ), + ), + ), + ); + + // Pressing on the friday day item should trigger automatic scroll back to + // saturday. + await tester.press(find.text('Fri Jun 13')); + await tester.pump(); + + expect(selectedDate, DateTime(2025, 6, 14)); + }); + + testWidgets('DatePicker with custom predicate test case', (WidgetTester tester) async { + // Set initial date time to a work day. + final DateTime initialDateTime = DateTime(2025, 6, 16); + DateTime selectedDate = initialDateTime; + await tester.pumpWidget( + CupertinoApp( + home: Center( + child: CupertinoDatePicker( + initialDateTime: initialDateTime, + selectableDayPredicate: (DateTime date) { + return date.day >= 16; + }, + onDateTimeChanged: (DateTime dateTime) { + selectedDate = dateTime; + }, + ), + ), + ), + ); + + await tester.drag(find.text('Sun Jun 15'), const Offset(0.0, 64.0)); + await tester.pump(); + + expect(selectedDate, initialDateTime); + }); + // Regression test for https://github.com/flutter/flutter/issues/161773 testWidgets('CupertinoDatePicker date value baseline alignment', (WidgetTester tester) async { await tester.pumpWidget( diff --git a/packages/flutter/test/cupertino/desktop_text_selection_toolbar_button_test.dart b/packages/flutter/test/cupertino/desktop_text_selection_toolbar_button_test.dart index 93044645b2d77..f01e82b182682 100644 --- a/packages/flutter/test/cupertino/desktop_text_selection_toolbar_button_test.dart +++ b/packages/flutter/test/cupertino/desktop_text_selection_toolbar_button_test.dart @@ -127,4 +127,19 @@ void main() { final CupertinoButton button = tester.widget(find.byType(CupertinoButton)); expect(button.enabled, isFalse); }); + + testWidgets('CupertinoDesktopTextSelectionToolbarButton does not crash at zero area', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + const CupertinoApp( + home: Center( + child: SizedBox.shrink( + child: CupertinoDesktopTextSelectionToolbarButton(onPressed: null, child: Text('X')), + ), + ), + ), + ); + expect(tester.getSize(find.byType(CupertinoDesktopTextSelectionToolbarButton)), Size.zero); + }); } diff --git a/packages/flutter/test/cupertino/expansion_tile_test.dart b/packages/flutter/test/cupertino/expansion_tile_test.dart index 6326045714556..c6eb6669c4448 100644 --- a/packages/flutter/test/cupertino/expansion_tile_test.dart +++ b/packages/flutter/test/cupertino/expansion_tile_test.dart @@ -9,6 +9,7 @@ library; import 'package:flutter/cupertino.dart'; +import 'package:flutter/semantics.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { @@ -211,4 +212,168 @@ void main() { ); await tester.pumpAndSettle(); }); + + testWidgets('Nested CupertinoListTile Semantics', (WidgetTester tester) async { + final ExpansibleController controller = ExpansibleController(); + addTearDown(controller.dispose); + final SemanticsHandle handle = tester.ensureSemantics(); + + await tester.pumpWidget( + CupertinoApp( + home: Column( + children: [ + const CupertinoExpansionTile( + title: Text('First Expansion Tile'), + child: SizedBox(height: 50.0), + ), + CupertinoExpansionTile( + controller: controller, + title: const Text('Second Expansion Tile'), + child: const SizedBox(height: 50.0), + ), + ], + ), + ), + ); + + controller.expand(); + await tester.pumpAndSettle(); + + expect( + tester.getSemantics(find.byType(CupertinoListTile).first), + matchesSemantics( + hasTapAction: true, + label: 'First Expansion Tile', + textDirection: TextDirection.ltr, + ), + ); + + expect( + tester.getSemantics(find.byType(CupertinoListTile).last), + matchesSemantics( + hasTapAction: true, + label: 'Second Expansion Tile', + textDirection: TextDirection.ltr, + ), + ); + handle.dispose(); + }); + + testWidgets('Semantics with the onTapHint is an ancestor of CupertinoListTile', ( + WidgetTester tester, + ) async { + final ExpansibleController controller = ExpansibleController(); + addTearDown(controller.dispose); + final SemanticsHandle handle = tester.ensureSemantics(); + const DefaultCupertinoLocalizations localizations = DefaultCupertinoLocalizations(); + + await tester.pumpWidget( + CupertinoApp( + home: Column( + children: [ + const CupertinoExpansionTile( + title: Text('First Expansion Tile'), + child: SizedBox(height: 100, width: 100), + ), + CupertinoExpansionTile( + controller: controller, + title: const Text('Second Expansion Tile'), + child: const SizedBox(height: 100, width: 100), + ), + ], + ), + ), + ); + + controller.expand(); + await tester.pumpAndSettle(); + + SemanticsNode semantics = tester.getSemantics( + find + .ancestor(of: find.byType(CupertinoListTile).first, matching: find.byType(Semantics)) + .first, + ); + expect(semantics, isNotNull); + // The onTapHint is passed to semantics properties's hintOverrides. + expect(semantics.hintOverrides, isNotNull); + // The hint should be the opposite of the current state. + // The first CupertinoExpansionTile is collapsed, so the hint should be + // "double tap to expand". + expect(semantics.hintOverrides!.onTapHint, localizations.expansionTileCollapsedTapHint); + + semantics = tester.getSemantics( + find + .ancestor(of: find.byType(CupertinoListTile).last, matching: find.byType(Semantics)) + .first, + ); + + expect(semantics, isNotNull); + // The onTapHint is passed to semantics properties's hintOverrides. + expect(semantics.hintOverrides, isNotNull); + // The hint should be the opposite of the current state. + // The second CupertinoExpansionTile is expanded, so the hint should be + // "double tap to collapse". + expect(semantics.hintOverrides!.onTapHint, localizations.expansionTileExpandedTapHint); + handle.dispose(); + }); + + testWidgets( + 'Semantics hint for iOS and macOS', + (WidgetTester tester) async { + final ExpansibleController controller = ExpansibleController(); + addTearDown(controller.dispose); + final SemanticsHandle handle = tester.ensureSemantics(); + const DefaultCupertinoLocalizations localizations = DefaultCupertinoLocalizations(); + + await tester.pumpWidget( + CupertinoApp( + home: Column( + children: [ + const CupertinoExpansionTile( + title: Text('First Expansion Tile'), + child: SizedBox(height: 100, width: 100), + ), + CupertinoExpansionTile( + controller: controller, + title: const Text('Second Expansion Tile'), + child: const SizedBox(height: 100, width: 100), + ), + ], + ), + ), + ); + + controller.expand(); + await tester.pumpAndSettle(); + + SemanticsNode semantics = tester.getSemantics( + find + .ancestor(of: find.byType(CupertinoListTile).first, matching: find.byType(Semantics)) + .first, + ); + + expect(semantics, isNotNull); + expect( + semantics.hint, + '${localizations.expandedHint}\n ${localizations.expansionTileCollapsedHint}', + ); + + semantics = tester.getSemantics( + find + .ancestor(of: find.byType(CupertinoListTile).last, matching: find.byType(Semantics)) + .first, + ); + + expect(semantics, isNotNull); + expect( + semantics.hint, + '${localizations.collapsedHint}\n ${localizations.expansionTileExpandedHint}', + ); + handle.dispose(); + }, + variant: const TargetPlatformVariant({ + TargetPlatform.iOS, + TargetPlatform.macOS, + }), + ); } diff --git a/packages/flutter/test/cupertino/localizations_test.dart b/packages/flutter/test/cupertino/localizations_test.dart index 482ccd029b384..affb0e0ed8c98 100644 --- a/packages/flutter/test/cupertino/localizations_test.dart +++ b/packages/flutter/test/cupertino/localizations_test.dart @@ -39,6 +39,13 @@ void main() { expect(localizations.clearButtonLabel, isNotNull); expect(localizations.cancelButtonLabel, isNotNull); expect(localizations.backButtonLabel, isNotNull); + + expect(localizations.expansionTileExpandedHint, isNotNull); + expect(localizations.expansionTileCollapsedHint, isNotNull); + expect(localizations.expansionTileExpandedTapHint, isNotNull); + expect(localizations.expansionTileCollapsedTapHint, isNotNull); + expect(localizations.expandedHint, isNotNull); + expect(localizations.collapsedHint, isNotNull); }); testWidgets('CupertinoLocalizations.of throws', (WidgetTester tester) async { diff --git a/packages/flutter/test/cupertino/nav_bar_test.dart b/packages/flutter/test/cupertino/nav_bar_test.dart index 5ef266c219828..ea2fcd7a1c750 100644 --- a/packages/flutter/test/cupertino/nav_bar_test.dart +++ b/packages/flutter/test/cupertino/nav_bar_test.dart @@ -451,6 +451,52 @@ void main() { expect(count, 0x010101); }); + testWidgets('Nav bar static components respect MediaQueryData', (WidgetTester tester) async { + // This is a regression test for https://github.com/flutter/flutter/issues/174642 + const double value = 10.0; + + void expectCustomMediaQueryData(BuildContext context) { + expect(MediaQuery.platformBrightnessOf(context), Brightness.dark); + expect(MediaQuery.devicePixelRatioOf(context), value); + expect(MediaQuery.viewInsetsOf(context), const EdgeInsets.all(value)); + } + + await tester.pumpWidget( + CupertinoApp( + home: MediaQuery( + data: const MediaQueryData( + devicePixelRatio: value, + viewInsets: EdgeInsets.all(value), + platformBrightness: Brightness.dark, + ), + child: CupertinoNavigationBar( + leading: Builder( + builder: (BuildContext context) { + expectCustomMediaQueryData(context); + return CupertinoButton(onPressed: () {}, child: const Text('leading')); + }, + ), + middle: Builder( + builder: (BuildContext context) { + expectCustomMediaQueryData(context); + return CupertinoButton(onPressed: () {}, child: const Text('middle')); + }, + ), + trailing: Builder( + builder: (BuildContext context) { + expectCustomMediaQueryData(context); + return CupertinoButton(onPressed: () {}, child: const Text('trailing')); + }, + ), + ), + ), + ), + ); + expect(find.text('leading'), findsOneWidget); + expect(find.text('middle'), findsOneWidget); + expect(find.text('trailing'), findsOneWidget); + }); + testWidgets('No slivers with no large titles', (WidgetTester tester) async { await tester.pumpWidget( const CupertinoApp( @@ -2745,6 +2791,122 @@ void main() { expect(navBar.preferredSize.height, persistentHeight + bottomHeight); }); + testWidgets('CupertinoNavigationBar has correct height', (WidgetTester tester) async { + const double persistentHeight = 44.0; + + await tester.pumpWidget( + const CupertinoApp( + home: CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar(middle: Text('Middle')), + child: Placeholder(), + ), + ), + ); + + final Finder navBarFinder = find.byType(CupertinoNavigationBar); + expect(navBarFinder, findsOneWidget); + + final RenderBox navBarBox = tester.renderObject(navBarFinder); + final CupertinoNavigationBar navBar = tester.widget(navBarFinder); + + // preferredSize should only include persistent height when no large title. + expect(navBar.preferredSize.height, persistentHeight); + // The box size height should match the preferred size height. + expect(navBarBox.size.height, persistentHeight); + }); + + testWidgets('CupertinoNavigationBar with bottom widget has correct height', ( + WidgetTester tester, + ) async { + const double persistentHeight = 44.0; + const double bottomHeight = 20.0; + + await tester.pumpWidget( + const CupertinoApp( + home: CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar( + middle: Text('Middle'), + bottom: PreferredSize( + preferredSize: Size.fromHeight(bottomHeight), + child: Placeholder(), + ), + ), + child: Placeholder(), + ), + ), + ); + + final Finder navBarFinder = find.byType(CupertinoNavigationBar); + expect(navBarFinder, findsOneWidget); + + final RenderBox navBarBox = tester.renderObject(navBarFinder); + final CupertinoNavigationBar navBar = tester.widget(navBarFinder); + + // preferredSize should include persistent height and bottom height + expect(navBar.preferredSize.height, persistentHeight + bottomHeight); + // The box size height should match the preferred size height. + expect(navBarBox.size.height, persistentHeight + bottomHeight); + }); + + testWidgets('CupertinoNavigationBar.large has correct height', (WidgetTester tester) async { + const double persistentHeight = 44.0; + const double largeTitleExtension = 52.0; + + await tester.pumpWidget( + const CupertinoApp( + home: CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar.large(largeTitle: Text('Large Title')), + child: Placeholder(), + ), + ), + ); + + final Finder navBarFinder = find.byType(CupertinoNavigationBar); + expect(navBarFinder, findsOneWidget); + + final RenderBox navBarBox = tester.renderObject(navBarFinder); + final CupertinoNavigationBar navBar = tester.widget(navBarFinder); + + // preferredSize should include both persistent height and large title extension + expect(navBar.preferredSize.height, persistentHeight + largeTitleExtension); + // The box size height should match the preferred size height. + expect(navBarBox.size.height, persistentHeight + largeTitleExtension); + }); + + testWidgets('CupertinoNavigationBar.large with bottom widget has correct height', ( + WidgetTester tester, + ) async { + const double persistentHeight = 44.0; + const double largeTitleExtension = 52.0; + const double bottomHeight = 20.0; + + await tester.pumpWidget( + const CupertinoApp( + home: CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar.large( + largeTitle: Text('Large Title'), + bottom: PreferredSize( + preferredSize: Size.fromHeight(bottomHeight), + child: Placeholder(), + ), + ), + child: Placeholder(), + ), + ), + ); + + final Finder navBarFinder = find.byType(CupertinoNavigationBar); + expect(navBarFinder, findsOneWidget); + + final RenderBox navBarBox = tester.renderObject(navBarFinder); + final CupertinoNavigationBar navBar = tester.widget(navBarFinder); + + // preferredSize should include persistent height, large title extension, and bottom height + expect(navBar.preferredSize.height, persistentHeight + largeTitleExtension + bottomHeight); + // The box size height should match the preferred size height. + expect(navBarBox.size.height, persistentHeight + largeTitleExtension + bottomHeight); + }); + testWidgets('CupertinoSliverNavigationBar.search field collapses nav bar on tap', ( WidgetTester tester, ) async { @@ -3131,6 +3293,42 @@ void main() { expect(count, 2); }, ); + + testWidgets('Sliver nav bar middle can be updated', (WidgetTester tester) async { + setWindowToPortrait(tester); + String middle = 'First'; + late StateSetter setState; + + await tester.pumpWidget( + CupertinoApp( + home: StatefulBuilder( + builder: (BuildContext context, StateSetter stateSetter) { + setState = stateSetter; + return CustomScrollView( + slivers: [ + CupertinoSliverNavigationBar( + largeTitle: const Text('Large title'), + middle: Text(middle), + ), + const SliverFillRemaining(child: SizedBox(height: 1000.0)), + ], + ); + }, + ), + ), + ); + + expect(find.text('First'), findsOneWidget); + expect(find.text('Second'), findsNothing); + + setState(() { + middle = 'Second'; + }); + await tester.pump(); + + expect(find.text('First'), findsNothing); + expect(find.text('Second'), findsOneWidget); + }); } class _ExpectStyles extends StatelessWidget { diff --git a/packages/flutter/test/cupertino/sheet_test.dart b/packages/flutter/test/cupertino/sheet_test.dart index d1fc3cd68939d..73c53fe6272bc 100644 --- a/packages/flutter/test/cupertino/sheet_test.dart +++ b/packages/flutter/test/cupertino/sheet_test.dart @@ -1141,6 +1141,94 @@ void main() { await tester.pumpAndSettle(); }); + testWidgets('drag dismiss uses route navigator instead of root navigator', ( + WidgetTester tester, + ) async { + final GlobalKey homeKey = GlobalKey(); + final GlobalKey nestedNavigatorKey = GlobalKey(); + final GlobalKey sheetKey = GlobalKey(); + bool wasPopped = false; + bool rootNavigatorPopped = false; + + await tester.pumpWidget( + CupertinoApp( + home: PopScope( + onPopInvokedWithResult: (bool didPop, Object? result) { + if (didPop) { + rootNavigatorPopped = true; + } + }, + child: CupertinoPageScaffold( + key: homeKey, + child: Navigator( + key: nestedNavigatorKey, + onGenerateRoute: (RouteSettings settings) { + return CupertinoPageRoute( + settings: settings, + builder: (BuildContext context) { + return Center( + child: Column( + children: [ + const Text('Page 1'), + CupertinoButton( + onPressed: () { + Navigator.push( + context, + CupertinoSheetRoute( + builder: (BuildContext context) { + return PopScope( + onPopInvokedWithResult: (bool didPop, Object? result) { + if (didPop) { + wasPopped = true; + } + }, + child: CupertinoPageScaffold( + key: sheetKey, + child: const Center(child: Text('Page 2')), + ), + ); + }, + ), + ); + }, + child: const Text('Push Page 2'), + ), + ], + ), + ); + }, + ); + }, + ), + ), + ), + ), + ); + + await tester.tap(find.text('Push Page 2')); + await tester.pumpAndSettle(); + + expect(find.text('Page 2'), findsOneWidget); + expect(wasPopped, false); + expect(rootNavigatorPopped, false); + + // Start drag gesture and drag down far enough to trigger dismissal + final TestGesture gesture = await tester.startGesture(const Offset(100, 200)); + await gesture.moveBy(const Offset(0, 350)); + await tester.pump(); + + await gesture.up(); + await tester.pumpAndSettle(); + + // Verify the sheet was dismissed and the PopScope callback was triggered + expect(find.text('Page 2'), findsNothing); + expect(find.text('Page 1'), findsOneWidget); + // Verify that the nested navigator was used (sheet PopScope triggered) + // but the root navigator was NOT used (root PopScope not triggered) + expect(wasPopped, true); + expect(rootNavigatorPopped, false); + }); + testWidgets('dragging does not move the sheet when enableDrag is false', ( WidgetTester tester, ) async { @@ -1301,6 +1389,38 @@ void main() { equals(tester.getBottomLeft(find.byType(SnackBar).first).dy), ); }); + + testWidgets('partial upward drag stretches and returns without popping', ( + WidgetTester tester, + ) async { + final GlobalKey homeKey = GlobalKey(); + final GlobalKey sheetKey = GlobalKey(); + + await tester.pumpWidget(dragGestureApp(homeKey, sheetKey)); + + await tester.tap(find.text('Push Page 2')); + await tester.pumpAndSettle(); + + expect(find.text('Page 2'), findsOneWidget); + + RenderBox box = tester.renderObject(find.byKey(sheetKey)) as RenderBox; + final double initialPosition = box.localToGlobal(Offset.zero).dy; + + final TestGesture gesture = await tester.startGesture(const Offset(100, 400)); + await gesture.moveBy(const Offset(0, -100)); + await tester.pump(); + + box = tester.renderObject(find.byKey(sheetKey)) as RenderBox; + final double stretchedPosition = box.localToGlobal(Offset.zero).dy; + expect(stretchedPosition, lessThan(initialPosition)); + + await gesture.up(); + await tester.pumpAndSettle(); + + box = tester.renderObject(find.byKey(sheetKey)) as RenderBox; + final double finalPosition = box.localToGlobal(Offset.zero).dy; + expect(finalPosition, initialPosition); + }); }); testWidgets('CupertinoSheet causes SystemUiOverlayStyle changes', (WidgetTester tester) async { diff --git a/packages/flutter/test/cupertino/tab_test.dart b/packages/flutter/test/cupertino/tab_test.dart index 8fe9fd2605eac..82aafb83206d1 100644 --- a/packages/flutter/test/cupertino/tab_test.dart +++ b/packages/flutter/test/cupertino/tab_test.dart @@ -95,10 +95,6 @@ void main() { expect(tester.takeException(), isFlutterError); expect(unknownForRouteCalled, '/'); - - // Work-around for https://github.com/flutter/flutter/issues/65655. - await tester.pumpWidget(Container()); - expect(tester.takeException(), isAssertionError); }, ); diff --git a/packages/flutter/test/cupertino/text_field_test.dart b/packages/flutter/test/cupertino/text_field_test.dart index db23f2782c407..1ffa7bc0c39ec 100644 --- a/packages/flutter/test/cupertino/text_field_test.dart +++ b/packages/flutter/test/cupertino/text_field_test.dart @@ -9975,6 +9975,48 @@ void main() { TargetPlatform.iOS, }), ); + testWidgets( + 'TextField cursor appears only when focused', + (WidgetTester tester) async { + final FocusNode focusNode = FocusNode(debugLabel: 'Test Node'); + addTearDown(focusNode.dispose); + await tester.pumpWidget( + CupertinoApp( + home: Center( + child: CupertinoTextField( + focusNode: focusNode, + dragStartBehavior: DragStartBehavior.down, + ), + ), + ), + ); + + final Offset fieldCenter = tester.getCenter(find.byType(EditableText)); + final TestGesture gesture = await tester.startGesture(fieldCenter); + await gesture.moveBy(const Offset(30, 0)); + await tester.pumpAndSettle(); + + // The blinking cursor should NOT be shown. + final EditableTextState editableTextState = tester.state( + find.byType(EditableText), + ); + expect(focusNode.hasFocus, isFalse); + expect(editableTextState.cursorCurrentlyVisible, isFalse); + + // Simulate long press again. + await tester.pump(); + await tester.longPress(find.byType(EditableText)); + await tester.pumpAndSettle(); + + // The blinking cursor should now be shown. + expect(focusNode.hasFocus, isTrue); + expect(editableTextState.cursorCurrentlyVisible, isTrue); + }, + variant: const TargetPlatformVariant({ + TargetPlatform.iOS, + TargetPlatform.android, + }), + ); }); group('TapRegion integration', () { @@ -10482,6 +10524,36 @@ void main() { expect(find.byType(EditableText).hitTestable(), findsOne); }); + testWidgets('Text field with placeholder has correct intrinsic height', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + const CupertinoApp( + home: Center( + child: IntrinsicHeight(child: CupertinoTextField(placeholder: 'placeholder')), + ), + ), + ); + + expect(find.byType(CupertinoTextField), findsOneWidget); + expect(tester.getSize(find.byType(CupertinoTextField)).height, greaterThan(0.0)); + }); + + testWidgets('Text field with placeholder has correct intrinsic width', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + const CupertinoApp( + home: Center( + child: IntrinsicWidth(child: CupertinoTextField(placeholder: 'placeholder')), + ), + ), + ); + + expect(find.byType(CupertinoTextField), findsOneWidget); + expect(tester.getSize(find.byType(CupertinoTextField)).width, greaterThan(0.0)); + }); + testWidgets('Start the floating cursor on long tap', (WidgetTester tester) async { EditableText.debugDeterministicCursor = true; final TextEditingController controller = TextEditingController(text: 'abcd'); diff --git a/packages/flutter/test/material/action_chip_test.dart b/packages/flutter/test/material/action_chip_test.dart index ed66a05953111..8bdce673a8f29 100644 --- a/packages/flutter/test/material/action_chip_test.dart +++ b/packages/flutter/test/material/action_chip_test.dart @@ -247,10 +247,10 @@ void main() { testWidgets('ActionChip.color resolves material states', (WidgetTester tester) async { const Color disabledColor = Color(0xff00ff00); const Color backgroundColor = Color(0xff0000ff); - final MaterialStateProperty color = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty color = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } return backgroundColor; diff --git a/packages/flutter/test/material/adaptive_text_selection_toolbar_test.dart b/packages/flutter/test/material/adaptive_text_selection_toolbar_test.dart index 0e823dac70625..d796ab9c2d0e0 100644 --- a/packages/flutter/test/material/adaptive_text_selection_toolbar_test.dart +++ b/packages/flutter/test/material/adaptive_text_selection_toolbar_test.dart @@ -270,6 +270,27 @@ void main() { variant: TargetPlatformVariant.all(), ); + testWidgets( + 'Builds empty toolbar when children and buttonItems are null', + (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: AdaptiveTextSelectionToolbar( + anchors: TextSelectionToolbarAnchors(primaryAnchor: Offset.zero), + children: null, + ), + ), + ), + ); + + expect(tester.getSize(find.byType(AdaptiveTextSelectionToolbar)), Size.zero); + expect(tester.takeException(), isNull); + }, + skip: isBrowser, // [intended] on web the browser handles the context menu. + variant: TargetPlatformVariant.all(), + ); + group('buttonItems', () { testWidgets( 'getEditableTextButtonItems builds the correct button items per-platform', diff --git a/packages/flutter/test/material/app_bar_sliver_test.dart b/packages/flutter/test/material/app_bar_sliver_test.dart index 2d59074962942..b4a878d1438dd 100644 --- a/packages/flutter/test/material/app_bar_sliver_test.dart +++ b/packages/flutter/test/material/app_bar_sliver_test.dart @@ -820,7 +820,7 @@ void main() { expect(titleOffset.dx, titleSpacing); }); - group('MaterialStateColor scrolledUnder', () { + group('WidgetStateColor scrolledUnder', () { const double collapsedHeight = kToolbarHeight; const double expandedHeight = 200.0; const Color scrolledColor = Color(0xff00ff00); @@ -838,10 +838,8 @@ void main() { slivers: [ SliverAppBar( elevation: 0, - backgroundColor: MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.scrolledUnder) - ? scrolledColor - : defaultColor; + backgroundColor: WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.scrolledUnder) ? scrolledColor : defaultColor; }), expandedHeight: expandedHeight, pinned: true, diff --git a/packages/flutter/test/material/app_bar_test.dart b/packages/flutter/test/material/app_bar_test.dart index 08f1c1f98c232..386c7ea38529d 100644 --- a/packages/flutter/test/material/app_bar_test.dart +++ b/packages/flutter/test/material/app_bar_test.dart @@ -2326,7 +2326,7 @@ void main() { }); }); - group('MaterialStateColor scrolledUnder', () { + group('WidgetStateColor scrolledUnder', () { const Color scrolledColor = Color(0xff00ff00); const Color defaultColor = Color(0xff0000ff); @@ -2342,8 +2342,8 @@ void main() { appBar: AppBar( elevation: 0, scrolledUnderElevation: scrolledUnderElevation, - backgroundColor: MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.scrolledUnder) ? scrolledColor : defaultColor; + backgroundColor: WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.scrolledUnder) ? scrolledColor : defaultColor; }), title: const Text('AppBar'), flexibleSpace: includeFlexibleSpace @@ -2365,8 +2365,8 @@ void main() { home: Scaffold( appBar: AppBar( elevation: 0, - backgroundColor: MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.scrolledUnder) ? scrolledColor : defaultColor; + backgroundColor: WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.scrolledUnder) ? scrolledColor : defaultColor; }), title: const Text('AppBar'), notificationPredicate: (ScrollNotification notification) { @@ -2574,8 +2574,8 @@ void main() { home: Scaffold( appBar: AppBar( elevation: 0, - backgroundColor: MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.scrolledUnder) ? scrolledColor : defaultColor; + backgroundColor: WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.scrolledUnder) ? scrolledColor : defaultColor; }), title: const Text('AppBar'), ), @@ -2656,8 +2656,8 @@ void main() { home: Scaffold( appBar: AppBar( elevation: 0, - backgroundColor: MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.scrolledUnder) ? scrolledColor : defaultColor; + backgroundColor: WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.scrolledUnder) ? scrolledColor : defaultColor; }), title: const Text('AppBar'), ), @@ -2731,8 +2731,8 @@ void main() { home: Scaffold( appBar: AppBar( elevation: 0, - backgroundColor: MaterialStateColor.resolveWith((Set states) { - return states.contains(MaterialState.scrolledUnder) ? scrolledColor : defaultColor; + backgroundColor: WidgetStateColor.resolveWith((Set states) { + return states.contains(WidgetState.scrolledUnder) ? scrolledColor : defaultColor; }), title: const Text('AppBar'), ), diff --git a/packages/flutter/test/material/app_test.dart b/packages/flutter/test/material/app_test.dart index 302b387f871d4..3120a63027e68 100644 --- a/packages/flutter/test/material/app_test.dart +++ b/packages/flutter/test/material/app_test.dart @@ -347,10 +347,6 @@ void main() { ); expect(tester.takeException(), isFlutterError); expect(log, ['onGenerateRoute /', 'onUnknownRoute /']); - - // Work-around for https://github.com/flutter/flutter/issues/65655. - await tester.pumpWidget(Container()); - expect(tester.takeException(), isAssertionError); }, ); @@ -1709,6 +1705,15 @@ void main() { expect(find.text('Works'), findsOne); }, ); + + testWidgets('MaterialApp does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const Center( + child: SizedBox.shrink(child: MaterialApp(home: Text('X'))), + ), + ); + expect(tester.getSize(find.byType(MaterialApp)), Size.zero); + }); } class MockScrollBehavior extends ScrollBehavior { diff --git a/packages/flutter/test/material/autocomplete_test.dart b/packages/flutter/test/material/autocomplete_test.dart index f00f91b159961..6bae0829a6645 100644 --- a/packages/flutter/test/material/autocomplete_test.dart +++ b/packages/flutter/test/material/autocomplete_test.dart @@ -730,4 +730,55 @@ void main() { final TextField field2 = find.byType(TextField).evaluate().first.widget as TextField; expect(field2.controller!.text, textSelection); }); + + testWidgets('Autocomplete renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Center( + child: SizedBox.shrink( + child: Scaffold( + body: Autocomplete( + initialValue: const TextEditingValue(text: 'X'), + optionsBuilder: (TextEditingValue textEditingValue) => ['Y'], + ), + ), + ), + ), + ), + ); + final Finder xText = find.text('X'); + expect(tester.getSize(xText), Size.zero); + }); + + testWidgets('autocomplete options have button semantics', (WidgetTester tester) async { + const Color highlightColor = Color(0xFF112233); + await tester.pumpWidget( + MaterialApp( + theme: ThemeData(focusColor: highlightColor), + home: Scaffold( + body: Autocomplete( + optionsBuilder: (TextEditingValue textEditingValue) { + return kOptions.where((String option) { + return option.contains(textEditingValue.text.toLowerCase()); + }); + }, + ), + ), + ), + ); + await tester.tap(find.byType(TextField)); + await tester.pump(); + await tester.enterText(find.byType(TextField), 'aa'); + await tester.pump(); + expect( + tester.getSemantics(find.text('aardvark')), + matchesSemantics( + isButton: true, + isFocusable: true, + hasTapAction: true, + hasFocusAction: true, + label: 'aardvark', + ), + ); + }); } diff --git a/packages/flutter/test/material/back_button_test.dart b/packages/flutter/test/material/back_button_test.dart index 75ac0cd011ffb..636191b60f81d 100644 --- a/packages/flutter/test/material/back_button_test.dart +++ b/packages/flutter/test/material/back_button_test.dart @@ -336,4 +336,27 @@ void main() { // The custom callback is called, setting customCallbackWasCalled to true. expect(customCallbackWasCalled, true); }); + + testWidgets('CloseButton does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: SizedBox.shrink(child: Scaffold(body: CloseButton())), + ), + ), + ); + expect(tester.getSize(find.byType(CloseButton)), Size.zero); + }); + + testWidgets('BackButton renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: SizedBox.shrink(child: Scaffold(body: BackButton())), + ), + ), + ); + final Finder backButtonIcon = find.byType(BackButtonIcon); + expect(tester.getSize(backButtonIcon).isEmpty, isTrue); + }); } diff --git a/packages/flutter/test/material/badge_test.dart b/packages/flutter/test/material/badge_test.dart index fb714d0c1e39b..f14e14cfed82d 100644 --- a/packages/flutter/test/material/badge_test.dart +++ b/packages/flutter/test/material/badge_test.dart @@ -445,6 +445,18 @@ void main() { expect(box, paints..rrect(rrect: RRect.fromLTRBR(0, -7, 30 + 8, 23, badgeRadius))); }); + testWidgets('Badge renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: SizedBox.shrink(child: Badge(label: Text('X'))), + ), + ), + ); + final Finder label = find.text('X'); + expect(tester.getSize(label), Size.zero); + }); + testWidgets('Badge.count maxCount limits displayed value', (WidgetTester tester) async { Widget buildFrame(int count, [int maxCount = 999]) { return MaterialApp( diff --git a/packages/flutter/test/material/bottom_app_bar_test.dart b/packages/flutter/test/material/bottom_app_bar_test.dart index 556681a6c3d2a..704411db303cc 100644 --- a/packages/flutter/test/material/bottom_app_bar_test.dart +++ b/packages/flutter/test/material/bottom_app_bar_test.dart @@ -191,7 +191,9 @@ void main() { final BottomAppBar bottomAppBar = tester.widget(find.byType(BottomAppBar)); expect(bottomAppBar.padding, customPadding); final Rect babRect = tester.getRect(find.byType(BottomAppBar)); - final Rect childRect = tester.getRect(find.byType(ColoredBox)); + final Rect childRect = tester.getRect( + find.descendant(of: find.byType(BottomAppBar), matching: find.byType(ColoredBox)), + ); expect(childRect, const Rect.fromLTRB(250, 530, 550, 590)); expect(babRect, const Rect.fromLTRB(240, 520, 560, 600)); }); diff --git a/packages/flutter/test/material/bottom_navigation_bar_theme_test.dart b/packages/flutter/test/material/bottom_navigation_bar_theme_test.dart index 667d8f69b4201..881ec4a8a570c 100644 --- a/packages/flutter/test/material/bottom_navigation_bar_theme_test.dart +++ b/packages/flutter/test/material/bottom_navigation_bar_theme_test.dart @@ -139,10 +139,8 @@ void main() { type: BottomNavigationBarType.fixed, selectedLabelStyle: selectedTextStyle, unselectedLabelStyle: unselectedTextStyle, - mouseCursor: MaterialStateProperty.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.selected)) { + mouseCursor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return SystemMouseCursors.grab; } return SystemMouseCursors.move; diff --git a/packages/flutter/test/material/bottom_sheet_test.dart b/packages/flutter/test/material/bottom_sheet_test.dart index 8c6b9cbc2f71d..f5ab1299e51ff 100644 --- a/packages/flutter/test/material/bottom_sheet_test.dart +++ b/packages/flutter/test/material/bottom_sheet_test.dart @@ -1254,7 +1254,7 @@ void main() { semantics.dispose(); }); - testWidgets('Drag handle color can take MaterialStateProperty', (WidgetTester tester) async { + testWidgets('Drag handle color can take WidgetStateProperty', (WidgetTester tester) async { const Color defaultColor = Colors.blue; const Color hoveringColor = Colors.green; @@ -1312,8 +1312,8 @@ void main() { return MaterialApp( theme: ThemeData( bottomSheetTheme: BottomSheetThemeData( - dragHandleColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + dragHandleColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return hoveringColor; } return defaultColor; diff --git a/packages/flutter/test/material/button_style_test.dart b/packages/flutter/test/material/button_style_test.dart index 5215620ee26b5..39e8592ae40ca 100644 --- a/packages/flutter/test/material/button_style_test.dart +++ b/packages/flutter/test/material/button_style_test.dart @@ -110,42 +110,38 @@ void main() { }); testWidgets('ButtonStyle copyWith, merge', (WidgetTester tester) async { - const MaterialStateProperty textStyle = MaterialStatePropertyAll( + const WidgetStateProperty textStyle = MaterialStatePropertyAll( TextStyle(fontSize: 10), ); - const MaterialStateProperty backgroundColor = MaterialStatePropertyAll( + const WidgetStateProperty backgroundColor = MaterialStatePropertyAll( Color(0xfffffff1), ); - const MaterialStateProperty foregroundColor = MaterialStatePropertyAll( + const WidgetStateProperty foregroundColor = MaterialStatePropertyAll( Color(0xfffffff2), ); - const MaterialStateProperty overlayColor = MaterialStatePropertyAll( + const WidgetStateProperty overlayColor = MaterialStatePropertyAll( Color(0xfffffff3), ); - const MaterialStateProperty shadowColor = MaterialStatePropertyAll( + const WidgetStateProperty shadowColor = MaterialStatePropertyAll( Color(0xfffffff4), ); - const MaterialStateProperty surfaceTintColor = MaterialStatePropertyAll( + const WidgetStateProperty surfaceTintColor = MaterialStatePropertyAll( Color(0xfffffff5), ); - const MaterialStateProperty elevation = MaterialStatePropertyAll(1); - const MaterialStateProperty padding = MaterialStatePropertyAll( + const WidgetStateProperty elevation = MaterialStatePropertyAll(1); + const WidgetStateProperty padding = MaterialStatePropertyAll( EdgeInsets.all(1), ); - const MaterialStateProperty minimumSize = MaterialStatePropertyAll(Size(1, 2)); - const MaterialStateProperty fixedSize = MaterialStatePropertyAll(Size(3, 4)); - const MaterialStateProperty maximumSize = MaterialStatePropertyAll(Size(5, 6)); - const MaterialStateProperty iconColor = MaterialStatePropertyAll( - Color(0xfffffff6), - ); - const MaterialStateProperty iconSize = MaterialStatePropertyAll(48.0); - const MaterialStateProperty side = MaterialStatePropertyAll( - BorderSide(), - ); - const MaterialStateProperty shape = MaterialStatePropertyAll( + const WidgetStateProperty minimumSize = MaterialStatePropertyAll(Size(1, 2)); + const WidgetStateProperty fixedSize = MaterialStatePropertyAll(Size(3, 4)); + const WidgetStateProperty maximumSize = MaterialStatePropertyAll(Size(5, 6)); + const WidgetStateProperty iconColor = MaterialStatePropertyAll(Color(0xfffffff6)); + const WidgetStateProperty iconSize = MaterialStatePropertyAll(48.0); + const WidgetStateProperty side = MaterialStatePropertyAll(BorderSide()); + const WidgetStateProperty shape = MaterialStatePropertyAll( StadiumBorder(), ); - const MaterialStateProperty mouseCursor = MaterialStatePropertyAll( + const WidgetStateProperty mouseCursor = MaterialStatePropertyAll( SystemMouseCursors.forbidden, ); const VisualDensity visualDensity = VisualDensity.compact; @@ -224,9 +220,9 @@ void main() { side: MaterialStatePropertyAll(whiteSide), ); - // MaterialState.all(value) properties resolve to value + // WidgetState.all(value) properties resolve to value // for any set of MaterialStates. - const Set states = {}; + const Set states = {}; expect(ButtonStyle.lerp(blackStyle, blackStyle, 0)?.side?.resolve(states), blackSide); expect(ButtonStyle.lerp(blackStyle, blackStyle, 0.5)?.side?.resolve(states), blackSide); diff --git a/packages/flutter/test/material/calendar_date_picker_test.dart b/packages/flutter/test/material/calendar_date_picker_test.dart index abf2c3334e4db..92f25490ab684 100644 --- a/packages/flutter/test/material/calendar_date_picker_test.dart +++ b/packages/flutter/test/material/calendar_date_picker_test.dart @@ -2,8 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/gestures.dart'; +import 'dart:ui'; + import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -13,10 +15,16 @@ void main() { TestWidgetsFlutterBinding.ensureInitialized(); final Finder nextMonthIcon = find.byWidgetPredicate( - (Widget w) => w is IconButton && (w.tooltip?.startsWith('Next month') ?? false), + (Widget w) => + w is IconButton && + ((w.tooltip?.startsWith('Next month') ?? false) || + ((w.icon as Icon).semanticLabel?.startsWith('Next month') ?? false)), ); final Finder previousMonthIcon = find.byWidgetPredicate( - (Widget w) => w is IconButton && (w.tooltip?.startsWith('Previous month') ?? false), + (Widget w) => + w is IconButton && + ((w.tooltip?.startsWith('Previous month') ?? false) || + ((w.icon as Icon).semanticLabel?.startsWith('Previous month') ?? false)), ); Widget calendarDatePicker({ @@ -324,7 +332,7 @@ void main() { await tester.pumpAndSettle(); expect(displayedMonth, equals(DateTime(2017, DateTime.february))); // Shouldn't be possible to keep going forward into March. - expect(nextMonthIcon, findsNothing); + expect(tester.getSemantics(nextMonthIcon).flagsCollection.isEnabled, Tristate.isFalse); await tester.tap(previousMonthIcon); await tester.pumpAndSettle(); @@ -332,7 +340,7 @@ void main() { await tester.pumpAndSettle(); expect(displayedMonth, equals(DateTime(2016, DateTime.december))); // Shouldn't be possible to keep going backward into November. - expect(previousMonthIcon, findsNothing); + expect(tester.getSemantics(previousMonthIcon).flagsCollection.isEnabled, Tristate.isFalse); }); testWidgets('Cannot select disabled year', (WidgetTester tester) async { @@ -959,10 +967,12 @@ void main() { matchesSemantics( label: '1, Friday, January 1, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -970,10 +980,12 @@ void main() { matchesSemantics( label: '2, Saturday, January 2, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -981,10 +993,12 @@ void main() { matchesSemantics( label: '3, Sunday, January 3, 2016, Today', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -992,10 +1006,12 @@ void main() { matchesSemantics( label: '4, Monday, January 4, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1003,10 +1019,12 @@ void main() { matchesSemantics( label: '5, Tuesday, January 5, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1014,10 +1032,12 @@ void main() { matchesSemantics( label: '6, Wednesday, January 6, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1025,10 +1045,12 @@ void main() { matchesSemantics( label: '7, Thursday, January 7, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1036,10 +1058,12 @@ void main() { matchesSemantics( label: '8, Friday, January 8, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1047,10 +1071,12 @@ void main() { matchesSemantics( label: '9, Saturday, January 9, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1058,10 +1084,12 @@ void main() { matchesSemantics( label: '10, Sunday, January 10, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1069,10 +1097,12 @@ void main() { matchesSemantics( label: '11, Monday, January 11, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1080,10 +1110,12 @@ void main() { matchesSemantics( label: '12, Tuesday, January 12, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1091,10 +1123,12 @@ void main() { matchesSemantics( label: '13, Wednesday, January 13, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1102,10 +1136,12 @@ void main() { matchesSemantics( label: '14, Thursday, January 14, 2016', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1114,10 +1150,12 @@ void main() { label: '15, Friday, January 15, 2016', isButton: true, hasTapAction: true, + hasEnabledState: true, hasSelectedState: true, hasFocusAction: true, isSelected: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1125,10 +1163,12 @@ void main() { matchesSemantics( label: '16, Saturday, January 16, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1136,10 +1176,12 @@ void main() { matchesSemantics( label: '17, Sunday, January 17, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1147,10 +1189,12 @@ void main() { matchesSemantics( label: '18, Monday, January 18, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1158,10 +1202,12 @@ void main() { matchesSemantics( label: '19, Tuesday, January 19, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1169,10 +1215,12 @@ void main() { matchesSemantics( label: '20, Wednesday, January 20, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1180,10 +1228,12 @@ void main() { matchesSemantics( label: '21, Thursday, January 21, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1191,10 +1241,12 @@ void main() { matchesSemantics( label: '22, Friday, January 22, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1202,10 +1254,12 @@ void main() { matchesSemantics( label: '23, Saturday, January 23, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1213,10 +1267,12 @@ void main() { matchesSemantics( label: '24, Sunday, January 24, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1224,10 +1280,12 @@ void main() { matchesSemantics( label: '25, Monday, January 25, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1235,10 +1293,12 @@ void main() { matchesSemantics( label: '26, Tuesday, January 26, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1246,10 +1306,12 @@ void main() { matchesSemantics( label: '27, Wednesday, January 27, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1257,10 +1319,12 @@ void main() { matchesSemantics( label: '28, Thursday, January 28, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1268,10 +1332,12 @@ void main() { matchesSemantics( label: '29, Friday, January 29, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); expect( @@ -1279,12 +1345,62 @@ void main() { matchesSemantics( label: '30, Saturday, January 30, 2016', isButton: true, - hasSelectedState: true, + hasEnabledState: true, hasTapAction: true, + hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, + ), + ); + semantics.dispose(); + }); + + testWidgets('day mode disabled dates are announced', (WidgetTester tester) async { + final SemanticsHandle semantics = tester.ensureSemantics(); + + await tester.pumpWidget( + calendarDatePicker( + initialDate: DateTime(2016, DateTime.january, 15), + firstDate: DateTime(2016, DateTime.january, 15), + ), + ); + + expect( + tester.getSemantics(find.text('14')), + matchesSemantics( + label: '14, Thursday, January 14, 2016', + hasEnabledState: true, + hasSelectedState: true, + isButton: true, + ), + ); + semantics.dispose(); + }); + + testWidgets('Disabled next and previous month buttons have meaningful labels', ( + WidgetTester tester, + ) async { + final SemanticsHandle semantics = tester.ensureSemantics(); + + await tester.pumpWidget( + calendarDatePicker( + firstDate: DateTime(2016, DateTime.january, 14), + initialDate: DateTime(2016, DateTime.january, 15), + lastDate: DateTime(2016, DateTime.january, 16), ), ); + + // Prev/Next month buttons. + expect( + tester.getSemantics(previousMonthIcon), + matchesSemantics(label: 'Previous month', isButton: true, hasEnabledState: true), + ); + expect( + tester.getSemantics(nextMonthIcon), + matchesSemantics(label: 'Next month', isButton: true, hasEnabledState: true), + ); + semantics.dispose(); }); @@ -1316,11 +1432,13 @@ void main() { tester.getSemantics(find.text('$year')), matchesSemantics( label: '$year', + hasEnabledState: true, hasTapAction: true, hasFocusAction: true, isSelected: year == 2016, hasSelectedState: true, isFocusable: true, + isEnabled: true, isButton: true, ), ); @@ -1328,6 +1446,29 @@ void main() { semantics.dispose(); }); + testWidgets('calendar year mode disabled years are announced', (WidgetTester tester) async { + final SemanticsHandle semantics = tester.ensureSemantics(); + + await tester.pumpWidget( + calendarDatePicker( + initialDate: DateTime(2016, DateTime.january, 15), + firstDate: DateTime(2016, DateTime.january, 15), + initialCalendarMode: DatePickerMode.year, + ), + ); + + expect( + tester.getSemantics(find.text('2015')), + matchesSemantics( + label: '2015', + hasEnabledState: true, + hasSelectedState: true, + isButton: true, + ), + ); + semantics.dispose(); + }); + // This is a regression test for https://github.com/flutter/flutter/issues/143439. testWidgets( 'Selected date Semantics announcement on onDateChanged', @@ -1435,6 +1576,62 @@ void main() { ), ); }); + + testWidgets('CalendarDatePicker renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: SizedBox.shrink( + child: CalendarDatePicker( + initialDate: DateTime(2025), + firstDate: DateTime(2024), + lastDate: DateTime(2026), + onDateChanged: (_) {}, + ), + ), + ), + ), + ); + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: SizedBox.shrink( + child: CalendarDatePicker( + initialDate: DateTime(2025), + firstDate: DateTime(2024), + lastDate: DateTime(2026), + onDateChanged: (_) {}, + initialCalendarMode: DatePickerMode.year, + ), + ), + ), + ), + ); + }); + + testWidgets('Ink feature paints on inner Material', (WidgetTester tester) async { + await tester.pumpWidget( + calendarDatePicker( + firstDate: DateTime(2025, DateTime.june), + initialDate: DateTime(2025, DateTime.july, 20), + lastDate: DateTime(2025, DateTime.august, 31), + ), + ); + + // Material outside the PageView. + final MaterialInkController outerMaterial = Material.of( + tester.element(find.byType(FocusableActionDetector)), + ); + // Material directly wrapping the PageView. + final MaterialInkController innerMaterial = Material.of( + tester.element(find.byType(PageView)), + ); + + // Only the inner Material should have ink features. + expect((outerMaterial as dynamic).debugInkFeatures, isNull); + expect((innerMaterial as dynamic).debugInkFeatures, hasLength(31)); + }); }); group('YearPicker', () { @@ -1520,6 +1717,23 @@ void main() { await tester.tap(find.text('2018')); expect(selectedYear, equals(DateTime(2018, DateTime.june))); }); + + testWidgets('YearPicker renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: SizedBox.shrink( + child: YearPicker( + selectedDate: DateTime(2025), + firstDate: DateTime(2024), + lastDate: DateTime(2026), + onChanged: (_) {}, + ), + ), + ), + ), + ); + }); }); group('Calendar Delegate', () { diff --git a/packages/flutter/test/material/carousel_test.dart b/packages/flutter/test/material/carousel_test.dart index da3b067a4de0f..2c9d35bbc22f8 100644 --- a/packages/flutter/test/material/carousel_test.dart +++ b/packages/flutter/test/material/carousel_test.dart @@ -127,7 +127,7 @@ void main() { expect(inkWellElement.widget, isA()); final InkWell inkWell = inkWellElement.widget as InkWell; - const MaterialState state = MaterialState.focused; + const WidgetState state = WidgetState.focused; // Check overlay color in focused state. expect(inkWell.overlayColor?.resolve({state}), Colors.purple); @@ -1890,6 +1890,154 @@ void main() { } }); }); + + group('CarouselView item clipBehavior', () { + testWidgets('CarouselView Item clipBehavior defaults to Clip.antiAlias', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: CarouselView( + itemExtent: 350, + children: List.generate(3, (int index) { + return Text('Item $index'); + }), + ), + ), + ), + ); + + final Material material = tester.firstWidget( + find.ancestor(of: find.text('Item 0'), matching: find.byType(Material)), + ); + + expect(material.clipBehavior, Clip.antiAlias); + }); + + testWidgets('CarouselView.weighted Item clipBehavior defaults to Clip.antiAlias', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: CarouselView.weighted( + flexWeights: const [1, 1, 1], + children: List.generate(3, (int index) { + return Text('Item $index'); + }), + ), + ), + ), + ); + + final Material material = tester.firstWidget( + find.ancestor(of: find.text('Item 0'), matching: find.byType(Material)), + ); + + expect(material.clipBehavior, Clip.antiAlias); + }); + + testWidgets('CarouselView Item clipBehavior respects theme', (WidgetTester tester) async { + final ThemeData theme = ThemeData( + carouselViewTheme: const CarouselViewThemeData(itemClipBehavior: Clip.hardEdge), + ); + await tester.pumpWidget( + MaterialApp( + theme: theme, + home: Scaffold( + body: CarouselView( + itemExtent: 350, + children: List.generate(3, (int index) { + return Text('Item $index'); + }), + ), + ), + ), + ); + + final Material material = tester.firstWidget( + find.ancestor(of: find.text('Item 0'), matching: find.byType(Material)), + ); + + expect(material.clipBehavior, Clip.hardEdge); + }); + + testWidgets('CarouselView.weighted item clipBehavior respects theme', ( + WidgetTester tester, + ) async { + final ThemeData theme = ThemeData( + carouselViewTheme: const CarouselViewThemeData(itemClipBehavior: Clip.hardEdge), + ); + await tester.pumpWidget( + MaterialApp( + theme: theme, + home: Scaffold( + body: CarouselView.weighted( + flexWeights: const [1, 1, 1], + children: List.generate(3, (int index) { + return Text('Item $index'); + }), + ), + ), + ), + ); + + final Material material = tester.firstWidget( + find.ancestor(of: find.text('Item 0'), matching: find.byType(Material)), + ); + + expect(material.clipBehavior, Clip.hardEdge); + }); + }); + + testWidgets('CarouselView item clipBehavior respects custom itemClipBehavior', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: CarouselView( + itemExtent: 350, + itemClipBehavior: Clip.hardEdge, + children: List.generate(3, (int index) { + return Text('Item $index'); + }), + ), + ), + ), + ); + + final Material material = tester.firstWidget( + find.ancestor(of: find.text('Item 0'), matching: find.byType(Material)), + ); + + expect(material.clipBehavior, Clip.hardEdge); + }); + + testWidgets('CarouselView.weighted item clipBehavior respects custom itemClipBehavior', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: CarouselView.weighted( + flexWeights: const [1, 1, 1], + itemClipBehavior: Clip.hardEdge, + children: List.generate(3, (int index) { + return Text('Item $index'); + }), + ), + ), + ), + ); + + final Material material = tester.firstWidget( + find.ancestor(of: find.text('Item 0'), matching: find.byType(Material)), + ); + + expect(material.clipBehavior, Clip.hardEdge); + }); } Finder getItem(int index) { diff --git a/packages/flutter/test/material/carousel_theme_test.dart b/packages/flutter/test/material/carousel_theme_test.dart index fcc1b6e69e79a..c0b0234e55104 100644 --- a/packages/flutter/test/material/carousel_theme_test.dart +++ b/packages/flutter/test/material/carousel_theme_test.dart @@ -22,6 +22,7 @@ void main() { expect(carouselViewTheme.overlayColor, null); expect(carouselViewTheme.padding, null); expect(carouselViewTheme.shape, null); + expect(carouselViewTheme.itemClipBehavior, null); }); testWidgets('Default CarouselViewThemeData debugFillProperties', (WidgetTester tester) async { @@ -44,6 +45,7 @@ void main() { padding: EdgeInsets.zero, shape: RoundedRectangleBorder(), overlayColor: MaterialStatePropertyAll(Colors.red), + itemClipBehavior: Clip.hardEdge, ).debugFillProperties(builder); final List description = builder.properties @@ -57,6 +59,7 @@ void main() { 'shape: RoundedRectangleBorder(BorderSide(width: 0.0, style: none), BorderRadius.zero)', 'overlayColor: WidgetStatePropertyAll(${Colors.red})', 'padding: EdgeInsets.zero', + 'itemClipBehavior: hardEdge', ]); }); @@ -97,8 +100,8 @@ void main() { expect(material.elevation, carouselViewTheme.elevation); expect(material.shape, carouselViewTheme.shape); expect(material.borderRadius, null); - expect(material.clipBehavior, Clip.antiAlias); expect(inkWell.overlayColor, carouselViewTheme.overlayColor); + expect(material.clipBehavior, carouselViewTheme.itemClipBehavior); }); testWidgets('Widgets properties override theme', (WidgetTester tester) async { @@ -110,6 +113,8 @@ void main() { borderRadius: BorderRadius.all(Radius.circular(10)), ); const WidgetStateProperty overlayColor = MaterialStatePropertyAll(Colors.green); + const Clip itemClipBehavior = Clip.hardEdge; + await tester.pumpWidget( MaterialApp( theme: ThemeData(carouselViewTheme: carouselViewTheme), @@ -122,6 +127,7 @@ void main() { shape: shape, overlayColor: overlayColor, itemExtent: 100, + itemClipBehavior: itemClipBehavior, children: [SizedBox(width: 100, height: 100)], ), ), @@ -150,6 +156,7 @@ void main() { expect(material.elevation, elevation); expect(material.shape, shape); expect(inkWell.overlayColor, overlayColor); + expect(material.clipBehavior, Clip.hardEdge); }); testWidgets('CarouselViewTheme can override Theme.carouselViewTheme', ( @@ -160,6 +167,7 @@ void main() { const double globalElevation = 5.0; const EdgeInsets globalPadding = EdgeInsets.all(10.0); const OutlinedBorder globalShape = RoundedRectangleBorder(); + const Clip globalItemClipBehavior = Clip.hardEdge; const Color localBackgroundColor = Color(0xffff0000); const Color localOverlayColor = Color(0xffffffff); @@ -168,6 +176,7 @@ void main() { const OutlinedBorder localShape = RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(10)), ); + const Clip localItemClipBehavior = Clip.antiAlias; await tester.pumpWidget( MaterialApp( @@ -178,6 +187,7 @@ void main() { elevation: globalElevation, padding: globalPadding, shape: globalShape, + itemClipBehavior: globalItemClipBehavior, ), ), home: const Scaffold( @@ -189,6 +199,7 @@ void main() { elevation: localElevation, padding: localPadding, shape: localShape, + itemClipBehavior: localItemClipBehavior, ), child: CarouselView( itemExtent: 100, @@ -219,7 +230,8 @@ void main() { expect(material.color, localBackgroundColor); expect(material.elevation, localElevation); expect(material.shape, localShape); - expect(inkWell.overlayColor?.resolve({}), localOverlayColor); + expect(inkWell.overlayColor?.resolve({}), localOverlayColor); + expect(material.clipBehavior, localItemClipBehavior); }); } @@ -229,6 +241,7 @@ CarouselViewThemeData _carouselViewThemeData() { const EdgeInsets padding = EdgeInsets.all(10.0); const OutlinedBorder shape = RoundedRectangleBorder(); const WidgetStateProperty overlayColor = MaterialStatePropertyAll(Colors.red); + const Clip itemClipBehavior = Clip.hardEdge; return const CarouselViewThemeData( backgroundColor: backgroundColor, @@ -236,5 +249,6 @@ CarouselViewThemeData _carouselViewThemeData() { padding: padding, shape: shape, overlayColor: overlayColor, + itemClipBehavior: itemClipBehavior, ); } diff --git a/packages/flutter/test/material/checkbox_list_tile_test.dart b/packages/flutter/test/material/checkbox_list_tile_test.dart index d23d82bdf786c..847a2ed1650d9 100644 --- a/packages/flutter/test/material/checkbox_list_tile_test.dart +++ b/packages/flutter/test/material/checkbox_list_tile_test.dart @@ -122,8 +122,8 @@ void main() { child: Theme( data: ThemeData( checkboxTheme: CheckboxThemeData( - fillColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.selected) ? themeColor : null; + fillColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.selected) ? themeColor : null; }), ), ), @@ -356,8 +356,8 @@ void main() { return MaterialApp( theme: ThemeData( checkboxTheme: CheckboxThemeData( - fillColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.selected) ? fillColor : null; + fillColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.selected) ? fillColor : null; }), ), ), @@ -640,14 +640,14 @@ void main() { const Color activeEnabledFillColor = Color(0xFF000001); const Color activeDisabledFillColor = Color(0xFF000002); - Color getFillColor(Set states) { - if (states.contains(MaterialState.disabled)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.disabled)) { return activeDisabledFillColor; } return activeEnabledFillColor; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); Widget buildFrame({required bool enabled}) { return wrap( @@ -676,14 +676,14 @@ void main() { tester.binding.focusManager.highlightStrategy = FocusHighlightStrategy.alwaysTraditional; const Color hoveredFillColor = Color(0xFF000001); - Color getFillColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredFillColor; } return Colors.transparent; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); Widget buildFrame() { return wrap( @@ -779,14 +779,14 @@ void main() { const Color hoverOverlayColor = Color(0xFF000003); const Color hoverColor = Color(0xFF000005); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } return null; @@ -802,7 +802,7 @@ void main() { value: active, onChanged: (_) {}, fillColor: const MaterialStatePropertyAll(fillColor), - overlayColor: useOverlay ? MaterialStateProperty.resolveWith(getOverlayColor) : null, + overlayColor: useOverlay ? WidgetStateProperty.resolveWith(getOverlayColor) : null, hoverColor: hoverColor, splashRadius: splashRadius, ), @@ -902,14 +902,14 @@ void main() { const Color hoverOverlayColor = Color(0xFF000003); const Color hoverColor = Color(0xFF000005); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } return null; @@ -924,7 +924,7 @@ void main() { value: active, onChanged: (_) {}, fillColor: const MaterialStatePropertyAll(fillColor), - overlayColor: useOverlay ? MaterialStateProperty.resolveWith(getOverlayColor) : null, + overlayColor: useOverlay ? WidgetStateProperty.resolveWith(getOverlayColor) : null, hoverColor: hoverColor, splashRadius: splashRadius, ), @@ -1849,8 +1849,8 @@ class _SelectedGrabMouseCursor extends MaterialStateMouseCursor { const _SelectedGrabMouseCursor(); @override - MouseCursor resolve(Set states) { - if (states.contains(MaterialState.selected)) { + MouseCursor resolve(Set states) { + if (states.contains(WidgetState.selected)) { return SystemMouseCursors.grab; } return SystemMouseCursors.basic; diff --git a/packages/flutter/test/material/checkbox_test.dart b/packages/flutter/test/material/checkbox_test.dart index 549abbcfd632d..ed48e72b88bae 100644 --- a/packages/flutter/test/material/checkbox_test.dart +++ b/packages/flutter/test/material/checkbox_test.dart @@ -1336,14 +1336,14 @@ void main() { const Color activeEnabledFillColor = Color(0xFF000001); const Color activeDisabledFillColor = Color(0xFF000002); - Color getFillColor(Set states) { - if (states.contains(MaterialState.disabled)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.disabled)) { return activeDisabledFillColor; } return activeEnabledFillColor; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); Widget buildFrame({required bool enabled}) { return Material( @@ -1385,17 +1385,17 @@ void main() { const Color hoveredFillColor = Color(0xFF000001); const Color focusedFillColor = Color(0xFF000002); - Color getFillColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredFillColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedFillColor; } return Colors.transparent; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); Widget buildFrame() { return Material( @@ -1652,17 +1652,17 @@ void main() { const Color hoverColor = Color(0xFF000005); const Color focusColor = Color(0xFF000006); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusOverlayColor; } return null; @@ -1680,7 +1680,7 @@ void main() { value: active, onChanged: (_) {}, fillColor: const MaterialStatePropertyAll(fillColor), - overlayColor: useOverlay ? MaterialStateProperty.resolveWith(getOverlayColor) : null, + overlayColor: useOverlay ? WidgetStateProperty.resolveWith(getOverlayColor) : null, hoverColor: hoverColor, focusColor: focusColor, splashRadius: splashRadius, @@ -1767,9 +1767,9 @@ void main() { const Color activePressedOverlayColor = Color(0xFF000001); const Color inactivePressedOverlayColor = Color(0xFF000002); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; @@ -1795,7 +1795,7 @@ void main() { value = v; }); }, - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), splashRadius: splashRadius, ); }, @@ -1958,7 +1958,7 @@ void main() { value: value, tristate: value == null, onChanged: enabled ? (bool? newValue) {} : null, - side: MaterialStateBorderSide.resolveWith((Set states) => side), + side: MaterialStateBorderSide.resolveWith((Set states) => side), ), ), ), @@ -2009,7 +2009,7 @@ void main() { value: value, tristate: value == null, onChanged: enabled ? (bool? newValue) {} : null, - side: MaterialStateBorderSide.resolveWith((Set states) => side), + side: MaterialStateBorderSide.resolveWith((Set states) => side), ), ), ), @@ -2199,8 +2199,8 @@ void main() { builder: (BuildContext context, StateSetter setState) { return Checkbox( isError: true, - side: MaterialStateBorderSide.resolveWith((Set states) { - if (states.contains(MaterialState.error)) { + side: MaterialStateBorderSide.resolveWith((Set states) { + if (states.contains(WidgetState.error)) { return const BorderSide(color: borderColor, width: 4); } return const BorderSide(color: Colors.red, width: 2); @@ -2401,8 +2401,8 @@ void main() { home: Material( child: Center( child: Checkbox( - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return activeBackgroundColor; } return inactiveBackgroundColor; @@ -2444,8 +2444,8 @@ void main() { home: Material( child: Center( child: Checkbox( - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return activeBackgroundColor; } return inactiveBackgroundColor; @@ -2493,8 +2493,8 @@ class _SelectedGrabMouseCursor extends MaterialStateMouseCursor { const _SelectedGrabMouseCursor(); @override - MouseCursor resolve(Set states) { - if (states.contains(MaterialState.selected)) { + MouseCursor resolve(Set states) { + if (states.contains(WidgetState.selected)) { return SystemMouseCursors.grab; } return SystemMouseCursors.basic; diff --git a/packages/flutter/test/material/checkbox_theme_test.dart b/packages/flutter/test/material/checkbox_theme_test.dart index 685b44df6a35e..98544ca2026aa 100644 --- a/packages/flutter/test/material/checkbox_theme_test.dart +++ b/packages/flutter/test/material/checkbox_theme_test.dart @@ -101,23 +101,23 @@ void main() { theme: ThemeData( checkboxTheme: CheckboxThemeData( mouseCursor: const MaterialStatePropertyAll(mouseCursor), - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedFillColor; } return defaultFillColor; }), - checkColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + checkColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return focusedCheckColor; } return defaultCheckColor; }), - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return focusOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } return null; @@ -207,18 +207,18 @@ void main() { theme: ThemeData( checkboxTheme: CheckboxThemeData( mouseCursor: const MaterialStatePropertyAll(themeMouseCursor), - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedFillColor; } return themeDefaultFillColor; }), checkColor: const MaterialStatePropertyAll(themeCheckColor), - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return themeFocusOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return themeHoverOverlayColor; } return null; @@ -234,8 +234,8 @@ void main() { value: selected, autofocus: autofocus, mouseCursor: mouseCursor, - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedFillColor; } return defaultFillColor; @@ -297,8 +297,8 @@ void main() { return MaterialApp( theme: ThemeData( checkboxTheme: CheckboxThemeData( - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedFillColor; } return themeDefaultFillColor; @@ -332,9 +332,9 @@ void main() { const Color activePressedOverlayColor = Color(0xFF000001); const Color inactivePressedOverlayColor = Color(0xFF000002); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; @@ -348,7 +348,7 @@ void main() { return MaterialApp( theme: ThemeData( checkboxTheme: CheckboxThemeData( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), splashRadius: splashRadius, ), ), @@ -437,9 +437,9 @@ void main() { test('CheckboxThemeData lerp from populated to null parameters', () { final CheckboxThemeData theme = CheckboxThemeData( - fillColor: MaterialStateProperty.all(const Color(0xfffffff0)), - checkColor: MaterialStateProperty.all(const Color(0xfffffff1)), - overlayColor: MaterialStateProperty.all(const Color(0xfffffff2)), + fillColor: WidgetStateProperty.all(const Color(0xfffffff0)), + checkColor: WidgetStateProperty.all(const Color(0xfffffff1)), + overlayColor: WidgetStateProperty.all(const Color(0xfffffff2)), splashRadius: 3.0, materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, visualDensity: const VisualDensity(vertical: 1.0, horizontal: 1.0), @@ -448,9 +448,9 @@ void main() { ); final CheckboxThemeData lerped = CheckboxThemeData.lerp(theme, null, 0.5); - expect(lerped.fillColor!.resolve({}), isSameColorAs(const Color(0x80fffff0))); - expect(lerped.checkColor!.resolve({}), isSameColorAs(const Color(0x80fffff1))); - expect(lerped.overlayColor!.resolve({}), isSameColorAs(const Color(0x80fffff2))); + expect(lerped.fillColor!.resolve({}), isSameColorAs(const Color(0x80fffff0))); + expect(lerped.checkColor!.resolve({}), isSameColorAs(const Color(0x80fffff1))); + expect(lerped.overlayColor!.resolve({}), isSameColorAs(const Color(0x80fffff2))); expect(lerped.splashRadius, 1.5); expect(lerped.materialTapTargetSize, null); expect(lerped.visualDensity, null); @@ -458,15 +458,51 @@ void main() { lerped.shape, const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(2.0))), ); - // Returns null if either lerp value is null. - expect(lerped.side, null); + expect(lerped.side!.width, 2.0); + expect(lerped.side!.color, isSameColorAs(const Color(0x80000000))); + }); + + test('CheckboxThemeData lerp from null to populated parameters', () { + final CheckboxThemeData theme = CheckboxThemeData( + fillColor: WidgetStateProperty.all(const Color(0xfffffff0)), + checkColor: WidgetStateProperty.all(const Color(0xfffffff1)), + overlayColor: WidgetStateProperty.all(const Color(0xfffffff2)), + splashRadius: 4.0, + materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, + visualDensity: const VisualDensity(vertical: 1.0, horizontal: 1.0), + shape: const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(4.0))), + side: const BorderSide(width: 4.0), + ); + final CheckboxThemeData lerped = CheckboxThemeData.lerp(null, theme, 0.25); + + expect( + lerped.fillColor!.resolve(const {}), + isSameColorAs(const Color(0x40fffff0)), + ); + expect( + lerped.checkColor!.resolve(const {}), + isSameColorAs(const Color(0x40fffff1)), + ); + expect( + lerped.overlayColor!.resolve(const {}), + isSameColorAs(const Color(0x40fffff2)), + ); + expect(lerped.splashRadius, 1); + expect(lerped.materialTapTargetSize, null); + expect(lerped.visualDensity, null); + expect( + lerped.shape, + const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(1.0))), + ); + expect(lerped.side!.width, 1.0); + expect(lerped.side!.color, isSameColorAs(const Color(0x40000000))); }); test('CheckboxThemeData lerp from populated parameters', () { final CheckboxThemeData themeA = CheckboxThemeData( - fillColor: MaterialStateProperty.all(const Color(0xfffffff0)), - checkColor: MaterialStateProperty.all(const Color(0xfffffff1)), - overlayColor: MaterialStateProperty.all(const Color(0xfffffff2)), + fillColor: WidgetStateProperty.all(const Color(0xfffffff0)), + checkColor: WidgetStateProperty.all(const Color(0xfffffff1)), + overlayColor: WidgetStateProperty.all(const Color(0xfffffff2)), splashRadius: 3.0, materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, visualDensity: const VisualDensity(vertical: 1.0, horizontal: 1.0), @@ -474,9 +510,9 @@ void main() { side: const BorderSide(width: 4.0), ); final CheckboxThemeData themeB = CheckboxThemeData( - fillColor: MaterialStateProperty.all(const Color(0xfffffff3)), - checkColor: MaterialStateProperty.all(const Color(0xfffffff4)), - overlayColor: MaterialStateProperty.all(const Color(0xfffffff5)), + fillColor: WidgetStateProperty.all(const Color(0xfffffff3)), + checkColor: WidgetStateProperty.all(const Color(0xfffffff4)), + overlayColor: WidgetStateProperty.all(const Color(0xfffffff5)), splashRadius: 9.0, materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, visualDensity: const VisualDensity(vertical: 2.0, horizontal: 2.0), @@ -485,9 +521,9 @@ void main() { ); final CheckboxThemeData lerped = CheckboxThemeData.lerp(themeA, themeB, 0.5); - expect(lerped.fillColor!.resolve({}), isSameColorAs(const Color(0xfffffff1))); - expect(lerped.checkColor!.resolve({}), isSameColorAs(const Color(0xfffffff2))); - expect(lerped.overlayColor!.resolve({}), isSameColorAs(const Color(0xfffffff3))); + expect(lerped.fillColor!.resolve({}), isSameColorAs(const Color(0xfffffff1))); + expect(lerped.checkColor!.resolve({}), isSameColorAs(const Color(0xfffffff2))); + expect(lerped.overlayColor!.resolve({}), isSameColorAs(const Color(0xfffffff3))); expect(lerped.splashRadius, 6); expect(lerped.materialTapTargetSize, MaterialTapTargetSize.shrinkWrap); expect(lerped.visualDensity, const VisualDensity(vertical: 2.0, horizontal: 2.0)); @@ -509,7 +545,7 @@ void main() { theme: ThemeData( colorScheme: colorScheme, checkboxTheme: CheckboxThemeData( - side: MaterialStateBorderSide.resolveWith((Set states) { + side: MaterialStateBorderSide.resolveWith((Set states) { return BorderSide(color: colorScheme.primary, width: 4.0); }), ), diff --git a/packages/flutter/test/material/chip_test.dart b/packages/flutter/test/material/chip_test.dart index cd45348540827..b9a9442ae612b 100644 --- a/packages/flutter/test/material/chip_test.dart +++ b/packages/flutter/test/material/chip_test.dart @@ -14,6 +14,7 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; + import '../widgets/feedback_tester.dart'; import '../widgets/semantics_tester.dart'; @@ -2792,6 +2793,47 @@ void main() { expect(labelStyle.style.color, equals(Colors.black.withAlpha(0xde))); }); + testWidgets('Chip uses the resolved color based on its state for the delete icon color', ( + WidgetTester tester, + ) async { + Widget buildApp({required ChipThemeData chipTheme, bool isSelected = false}) { + return wrapForChip( + child: ChipTheme( + data: chipTheme, + child: StatefulBuilder( + builder: (BuildContext context, StateSetter setState) { + return InputChip( + label: const Text('Label'), + selected: isSelected, + onSelected: (_) {}, + onDeleted: () {}, + ); + }, + ), + ), + ); + } + + final ChipThemeData chipTheme = ChipThemeData( + deleteIconColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { + return Colors.green; + } + return Colors.blue; + }), + ); + + await tester.pumpWidget(buildApp(chipTheme: chipTheme)); + + IconThemeData iconData = getIconData(tester); + expect(iconData.color, equals(Colors.blue)); + + await tester.pumpWidget(buildApp(chipTheme: chipTheme, isSelected: true)); + + iconData = getIconData(tester); + expect(iconData.color, equals(Colors.green)); + }); + group('Chip semantics', () { testWidgets('label only', (WidgetTester tester) async { final SemanticsTester semanticsTester = SemanticsTester(tester); @@ -3566,24 +3608,24 @@ void main() { const Color selectedColor = Color(0x00000005); const Color disabledColor = Color(0x00000006); - Color getTextColor(Set states) { - if (states.contains(MaterialState.disabled)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } @@ -3599,7 +3641,7 @@ void main() { label: const Text('Chip'), selected: selected, onSelected: enabled ? (_) {} : null, - labelStyle: TextStyle(color: MaterialStateColor.resolveWith(getTextColor)), + labelStyle: TextStyle(color: WidgetStateColor.resolveWith(getTextColor)), ), ), ), @@ -3656,17 +3698,17 @@ void main() { const Color selectedColor = Color(0x00000005); const Color disabledColor = Color(0x00000006); - BorderSide getBorderSide(Set states) { + BorderSide getBorderSide(Set states) { Color sideColor = defaultColor; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { sideColor = disabledColor; - } else if (states.contains(MaterialState.pressed)) { + } else if (states.contains(WidgetState.pressed)) { sideColor = pressedColor; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { sideColor = hoverColor; - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { sideColor = focusedColor; - } else if (states.contains(MaterialState.selected)) { + } else if (states.contains(WidgetState.selected)) { sideColor = selectedColor; } return BorderSide(color: sideColor); @@ -3765,17 +3807,17 @@ void main() { const Color selectedColor = Color(0x00000005); const Color disabledColor = Color(0x00000006); - BorderSide getBorderSide(Set states) { + BorderSide getBorderSide(Set states) { Color sideColor = defaultColor; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { sideColor = disabledColor; - } else if (states.contains(MaterialState.pressed)) { + } else if (states.contains(WidgetState.pressed)) { sideColor = pressedColor; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { sideColor = hoverColor; - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { sideColor = focusedColor; - } else if (states.contains(MaterialState.selected)) { + } else if (states.contains(WidgetState.selected)) { sideColor = selectedColor; } return BorderSide(color: sideColor); @@ -3843,17 +3885,17 @@ void main() { const Color selectedColor = Color(0x00000005); const Color disabledColor = Color(0x00000006); - BorderSide getBorderSide(Set states) { + BorderSide getBorderSide(Set states) { Color sideColor = defaultColor; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { sideColor = disabledColor; - } else if (states.contains(MaterialState.pressed)) { + } else if (states.contains(WidgetState.pressed)) { sideColor = pressedColor; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { sideColor = hoverColor; - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { sideColor = focusedColor; - } else if (states.contains(MaterialState.selected)) { + } else if (states.contains(WidgetState.selected)) { sideColor = selectedColor; } return BorderSide(color: sideColor); @@ -3952,17 +3994,17 @@ void main() { const Color selectedColor = Color(0x00000005); const Color disabledColor = Color(0x00000006); - BorderSide getBorderSide(Set states) { + BorderSide getBorderSide(Set states) { Color sideColor = defaultColor; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { sideColor = disabledColor; - } else if (states.contains(MaterialState.pressed)) { + } else if (states.contains(WidgetState.pressed)) { sideColor = pressedColor; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { sideColor = hoverColor; - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { sideColor = focusedColor; - } else if (states.contains(MaterialState.selected)) { + } else if (states.contains(WidgetState.selected)) { sideColor = selectedColor; } return BorderSide(color: sideColor); @@ -4032,17 +4074,17 @@ void main() { const Color fallbackThemeColor = Color(0x00000007); const BorderSide defaultBorderSide = BorderSide(color: fallbackThemeColor, width: 10.0); - BorderSide? getBorderSide(Set states) { + BorderSide? getBorderSide(Set states) { Color sideColor = defaultColor; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { sideColor = disabledColor; - } else if (states.contains(MaterialState.pressed)) { + } else if (states.contains(WidgetState.pressed)) { sideColor = pressedColor; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { sideColor = hoverColor; - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { sideColor = focusedColor; - } else if (states.contains(MaterialState.selected)) { + } else if (states.contains(WidgetState.selected)) { return null; } return BorderSide(color: sideColor); @@ -4148,17 +4190,17 @@ void main() { const Color fallbackThemeColor = Color(0x00000007); const BorderSide defaultBorderSide = BorderSide(color: fallbackThemeColor, width: 10.0); - BorderSide? getBorderSide(Set states) { + BorderSide? getBorderSide(Set states) { Color sideColor = defaultColor; - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { sideColor = disabledColor; - } else if (states.contains(MaterialState.pressed)) { + } else if (states.contains(WidgetState.pressed)) { sideColor = pressedColor; - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { sideColor = hoverColor; - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { sideColor = focusedColor; - } else if (states.contains(MaterialState.selected)) { + } else if (states.contains(WidgetState.selected)) { return null; } return BorderSide(color: sideColor); @@ -4224,16 +4266,16 @@ void main() { final FocusNode focusNode = FocusNode(); addTearDown(focusNode.dispose); - OutlinedBorder? getShape(Set states) { - if (states.contains(MaterialState.disabled)) { + OutlinedBorder? getShape(Set states) { + if (states.contains(WidgetState.disabled)) { return const BeveledRectangleBorder(); - } else if (states.contains(MaterialState.pressed)) { + } else if (states.contains(WidgetState.pressed)) { return const CircleBorder(); - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { return const ContinuousRectangleBorder(); - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { return const RoundedRectangleBorder(); - } else if (states.contains(MaterialState.selected)) { + } else if (states.contains(WidgetState.selected)) { return const BeveledRectangleBorder(); } return null; @@ -4295,16 +4337,16 @@ void main() { final FocusNode focusNode = FocusNode(); addTearDown(focusNode.dispose); - OutlinedBorder? getShape(Set states) { - if (states.contains(MaterialState.disabled)) { + OutlinedBorder? getShape(Set states) { + if (states.contains(WidgetState.disabled)) { return const BeveledRectangleBorder(); - } else if (states.contains(MaterialState.pressed)) { + } else if (states.contains(WidgetState.pressed)) { return const CircleBorder(); - } else if (states.contains(MaterialState.hovered)) { + } else if (states.contains(WidgetState.hovered)) { return const ContinuousRectangleBorder(); - } else if (states.contains(MaterialState.focused)) { + } else if (states.contains(WidgetState.focused)) { return const RoundedRectangleBorder(); - } else if (states.contains(MaterialState.selected)) { + } else if (states.contains(WidgetState.selected)) { return const BeveledRectangleBorder(); } return null; @@ -4367,15 +4409,15 @@ void main() { const BorderSide themeBorderSide = BorderSide(color: Color(0x00000001)); const BorderSide selectedBorderSide = BorderSide(color: Color(0x00000002)); - OutlinedBorder? getShape(Set states) { - if (states.contains(MaterialState.selected)) { + OutlinedBorder? getShape(Set states) { + if (states.contains(WidgetState.selected)) { return selectedShape; } return null; } - BorderSide? getBorderSide(Set states) { - if (states.contains(MaterialState.selected)) { + BorderSide? getBorderSide(Set states) { + if (states.contains(WidgetState.selected)) { return selectedBorderSide; } return null; @@ -4428,15 +4470,15 @@ void main() { const BorderSide themeBorderSide = BorderSide(color: Color(0x00000001)); const BorderSide selectedBorderSide = BorderSide(color: Color(0x00000002)); - OutlinedBorder? getShape(Set states) { - if (states.contains(MaterialState.selected)) { + OutlinedBorder? getShape(Set states) { + if (states.contains(WidgetState.selected)) { return selectedShape; } return null; } - BorderSide? getBorderSide(Set states) { - if (states.contains(MaterialState.selected)) { + BorderSide? getBorderSide(Set states) { + if (states.contains(WidgetState.selected)) { return selectedBorderSide; } return null; @@ -4887,15 +4929,14 @@ void main() { child: RawChip( isEnabled: enabled, selected: selected, - color: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled) && - states.contains(MaterialState.selected)) { + color: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled) && states.contains(WidgetState.selected)) { return disabledSelectedColor; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return backgroundColor; @@ -6375,6 +6416,20 @@ void main() { }, ); + testWidgets('Chip renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: SizedBox.shrink( + child: Scaffold(body: Chip(label: Text('X'))), + ), + ), + ), + ); + final Finder xText = find.text('X'); + expect(tester.getSize(xText).isEmpty, isTrue); + }); + testWidgets('RawChip renders at zero area', (WidgetTester tester) async { await tester.pumpWidget( const MaterialApp( @@ -6393,19 +6448,19 @@ void main() { class _MaterialStateOutlinedBorder extends StadiumBorder implements MaterialStateOutlinedBorder { const _MaterialStateOutlinedBorder(this.resolver); - final MaterialPropertyResolver resolver; + final WidgetPropertyResolver resolver; @override - OutlinedBorder? resolve(Set states) => resolver(states); + OutlinedBorder? resolve(Set states) => resolver(states); } class _MaterialStateBorderSide extends MaterialStateBorderSide { const _MaterialStateBorderSide(this.resolver); - final MaterialPropertyResolver resolver; + final WidgetPropertyResolver resolver; @override - BorderSide? resolve(Set states) => resolver(states); + BorderSide? resolve(Set states) => resolver(states); } class RenderLayoutCount extends RenderBox { diff --git a/packages/flutter/test/material/chip_theme_test.dart b/packages/flutter/test/material/chip_theme_test.dart index 6dafcefe774c3..77b62434caa54 100644 --- a/packages/flutter/test/material/chip_theme_test.dart +++ b/packages/flutter/test/material/chip_theme_test.dart @@ -738,7 +738,7 @@ void main() { expect(lerpBNull25.showCheckmark, equals(false)); expect(lerpBNull25.labelPadding, equals(const EdgeInsets.only(left: 6.0, right: 6.0))); expect(lerpBNull25.padding, equals(const EdgeInsets.all(3.0))); - expect(lerpBNull25.side!.color, isSameColorAs(Colors.black.withAlpha(0x3f))); + expect(lerpBNull25.side!.color, isSameColorAs(Colors.black.withAlpha(0xbf))); expect(lerpBNull25.shape, isA()); expect(lerpBNull25.labelStyle?.color, isSameColorAs(Colors.white.withAlpha(0xa7))); expect(lerpBNull25.secondaryLabelStyle?.color, isSameColorAs(Colors.black.withAlpha(0xa7))); @@ -760,7 +760,7 @@ void main() { expect(lerpBNull75.showCheckmark, equals(true)); expect(lerpBNull75.labelPadding, equals(const EdgeInsets.only(left: 2.0, right: 2.0))); expect(lerpBNull75.padding, equals(const EdgeInsets.all(1.0))); - expect(lerpBNull75.side!.color, isSameColorAs(Colors.black.withAlpha(0xbf))); + expect(lerpBNull75.side!.color, isSameColorAs(Colors.black.withAlpha(0x3f))); expect(lerpBNull75.shape, isA()); expect(lerpBNull75.labelStyle?.color, isSameColorAs(Colors.white.withAlpha(0x38))); expect(lerpBNull75.secondaryLabelStyle?.color, isSameColorAs(Colors.black.withAlpha(0x38))); @@ -781,31 +781,31 @@ void main() { const Color selectedColor = Color(0x00000005); const Color disabledColor = Color(0x00000006); - Color getTextColor(Set states) { - if (states.contains(MaterialState.disabled)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return defaultColor; } - final TextStyle labelStyle = TextStyle(color: MaterialStateColor.resolveWith(getTextColor)); + final TextStyle labelStyle = TextStyle(color: WidgetStateColor.resolveWith(getTextColor)); Widget chipWidget({bool enabled = true, bool selected = false}) { return MaterialApp( theme: ThemeData( @@ -872,10 +872,10 @@ void main() { const Color selectedColor = Color(0x00000001); const Color defaultColor = Color(0x00000002); - BorderSide getBorderSide(Set states) { + BorderSide getBorderSide(Set states) { Color color = defaultColor; - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { color = selectedColor; } @@ -921,10 +921,10 @@ void main() { const Color selectedColor = Color(0x00000001); const Color defaultColor = Color(0x00000002); - BorderSide getBorderSide(Set states) { + BorderSide getBorderSide(Set states) { Color color = defaultColor; - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { color = selectedColor; } @@ -957,9 +957,9 @@ void main() { const Color selectedColor = Color(0x00000001); const Color defaultColor = Color(0x00000002); - BorderSide getBorderSide(Set states) { + BorderSide getBorderSide(Set states) { Color color = defaultColor; - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { color = selectedColor; } return BorderSide(color: color); @@ -1005,9 +1005,9 @@ void main() { const Color selectedColor = Color(0x00000001); const Color defaultColor = Color(0x00000002); - BorderSide getBorderSide(Set states) { + BorderSide getBorderSide(Set states) { Color color = defaultColor; - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { color = selectedColor; } return BorderSide(color: color); @@ -1034,8 +1034,8 @@ void main() { }); testWidgets('Material2 - Chip uses stateful shape from chip theme', (WidgetTester tester) async { - OutlinedBorder? getShape(Set states) { - if (states.contains(MaterialState.selected)) { + OutlinedBorder? getShape(Set states) { + if (states.contains(WidgetState.selected)) { return const RoundedRectangleBorder(); } return null; @@ -1066,8 +1066,8 @@ void main() { }); testWidgets('Material3 - Chip uses stateful shape from chip theme', (WidgetTester tester) async { - OutlinedBorder? getShape(Set states) { - if (states.contains(MaterialState.selected)) { + OutlinedBorder? getShape(Set states) { + if (states.contains(WidgetState.selected)) { return const StadiumBorder(); } return null; @@ -1102,15 +1102,14 @@ void main() { return MaterialApp( theme: ThemeData( chipTheme: ChipThemeData( - color: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled) && - states.contains(MaterialState.selected)) { + color: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled) && states.contains(WidgetState.selected)) { return disabledSelectedColor; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return backgroundColor; @@ -1502,7 +1501,7 @@ void main() { theme: ThemeData( colorScheme: colorScheme, chipTheme: ChipThemeData( - side: MaterialStateBorderSide.resolveWith((Set states) { + side: MaterialStateBorderSide.resolveWith((Set states) { return BorderSide(color: colorScheme.primary, width: 4.0); }), ), @@ -1530,17 +1529,17 @@ void main() { class _MaterialStateOutlinedBorder extends StadiumBorder implements MaterialStateOutlinedBorder { const _MaterialStateOutlinedBorder(this.resolver); - final MaterialPropertyResolver resolver; + final WidgetPropertyResolver resolver; @override - OutlinedBorder? resolve(Set states) => resolver(states); + OutlinedBorder? resolve(Set states) => resolver(states); } class _MaterialStateBorderSide extends MaterialStateBorderSide { const _MaterialStateBorderSide(this.resolver); - final MaterialPropertyResolver resolver; + final WidgetPropertyResolver resolver; @override - BorderSide? resolve(Set states) => resolver(states); + BorderSide? resolve(Set states) => resolver(states); } diff --git a/packages/flutter/test/material/choice_chip_test.dart b/packages/flutter/test/material/choice_chip_test.dart index 85b0dbd630027..f908e79b20eb5 100644 --- a/packages/flutter/test/material/choice_chip_test.dart +++ b/packages/flutter/test/material/choice_chip_test.dart @@ -416,16 +416,16 @@ void main() { const Color disabledColor = Color(0xff00ff00); const Color backgroundColor = Color(0xff0000ff); const Color selectedColor = Color(0xffff0000); - final MaterialStateProperty color = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty color = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled) && states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.disabled) && states.contains(WidgetState.selected)) { return disabledSelectedColor; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return backgroundColor; @@ -848,4 +848,18 @@ void main() { SystemMouseCursors.forbidden, ); }); + + testWidgets('ChoiceChip renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: SizedBox.shrink( + child: Scaffold(body: ChoiceChip(label: Text('X'), selected: true)), + ), + ), + ), + ); + final Finder xText = find.text('X'); + expect(tester.getSize(xText).isEmpty, isTrue); + }); } diff --git a/packages/flutter/test/material/circle_avatar_test.dart b/packages/flutter/test/material/circle_avatar_test.dart index 900219445db1c..5fc2715686ed1 100644 --- a/packages/flutter/test/material/circle_avatar_test.dart +++ b/packages/flutter/test/material/circle_avatar_test.dart @@ -316,6 +316,14 @@ void main() { expect(paragraph.text.style!.color, equals(theme.primaryTextTheme.titleLarge!.color)); }); }); + + testWidgets('CircleAvatar renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: SizedBox.shrink(child: CircleAvatar(child: Text('X'))), + ), + ); + }); } Widget wrap({required Widget child}) { diff --git a/packages/flutter/test/material/color_scheme_test.dart b/packages/flutter/test/material/color_scheme_test.dart index 590876b7e362c..0081842df3c7a 100644 --- a/packages/flutter/test/material/color_scheme_test.dart +++ b/packages/flutter/test/material/color_scheme_test.dart @@ -673,24 +673,27 @@ void main() { ); }); - test('fromImageProvider() propagates TimeoutException when image cannot be rendered', () async { - final Uint8List blueSquareBytes = Uint8List.fromList(kBlueSquarePng); + test( + 'fromImageProvider() propagates TimeoutException or Failed to render image when image cannot be rendered', + () async { + final Uint8List blueSquareBytes = Uint8List.fromList(kBlueSquarePng); - // Corrupt the image's bytelist so it cannot be read. - final Uint8List corruptImage = blueSquareBytes.sublist(5); - final ImageProvider image = MemoryImage(corruptImage); + // Corrupt the image's bytelist so it cannot be read. + final Uint8List corruptImage = blueSquareBytes.sublist(5); + final ImageProvider image = MemoryImage(corruptImage); - expect( - () async => ColorScheme.fromImageProvider(provider: image), - throwsA( - isA().having( - (Exception e) => e.toString(), - 'Timeout occurred trying to load image', - contains('TimeoutException'), + expect( + () async => ColorScheme.fromImageProvider(provider: image), + throwsA( + isA().having( + (Exception e) => e.toString(), + 'image', + anyOf(contains('Failed to render image'), contains('TimeoutException')), + ), ), - ), - ); - }); + ); + }, + ); testWidgets( 'generated scheme "on" colors meet a11y contrast guidelines', @@ -1256,6 +1259,32 @@ void main() { expect(colorSchemeOfTheme, colorScheme); expect(colorSchemeFromContext, colorScheme); }); + + testWidgets( + 'ColorScheme from an invalid network image should only throw one error', + (WidgetTester tester) async { + // Regression test for https://github.com/flutter/flutter/issues/170413 + final List errors = []; + final FlutterExceptionHandler? oldHandler = FlutterError.onError; + FlutterError.onError = (FlutterErrorDetails error) => errors.add(error); + + await tester.pumpWidget( + const MaterialApp(home: _NetworkImageScheme(imageUrl: 'random_non_exist_image.png')), + ); + + FlutterError.onError = oldHandler; + + expect(errors.single.exception, isA()); + expect(errors.single.exception.toString(), contains('Failed to render image:')); + + // Skip this test on Web. Testing on Web requires mocking the HTTP request + // factory (as in `_network_image_test_web.dart`) so that the HTTP + // requests can fail. The target issue is about the number of thrown + // errors, which is handled by `ColorScheme`, and testing it only on + // non-Web should be fine. + }, + skip: kIsWeb, // [intended] + ); } Future _testFilledButtonColor( @@ -1280,3 +1309,46 @@ Future _testFilledButtonColor( expect(material.color, expectation); } + +// This widget fetches a [ColorScheme] from a network image, and displays +// its content based on the scheme's color. +class _NetworkImageScheme extends StatefulWidget { + const _NetworkImageScheme({required this.imageUrl}); + + final String imageUrl; + + @override + _NetworkImageSchemeState createState() => _NetworkImageSchemeState(); +} + +class _NetworkImageSchemeState extends State<_NetworkImageScheme> { + Color? _textColors; + + @override + void initState() { + super.initState(); + _init(); + } + + Future _init() async { + try { + final ColorScheme dynamicColorScheme = await ColorScheme.fromImageProvider( + provider: NetworkImage(widget.imageUrl), + ); + setState(() { + _textColors = dynamicColorScheme.primary; + }); + } catch (e) { + FlutterError.reportError(FlutterErrorDetails(exception: e)); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Center( + child: Text(style: TextStyle(color: _textColors ?? Colors.black), 'Dynamic color text'), + ), + ); + } +} diff --git a/packages/flutter/test/material/data_table_test.dart b/packages/flutter/test/material/data_table_test.dart index 0f23c1fb7663b..d6c04d1f913c0 100644 --- a/packages/flutter/test/material/data_table_test.dart +++ b/packages/flutter/test/material/data_table_test.dart @@ -47,6 +47,11 @@ void main() { onLongPress: () { log.add('onLongPress: ${dessert.name}'); }, + onHover: (bool hovering) { + if (hovering) { + log.add('onHover: ${dessert.name}'); + } + }, cells: [ DataCell(Text(dessert.name)), DataCell( @@ -91,6 +96,15 @@ void main() { expect(log, ['onLongPress: Cupcake']); log.clear(); + TestGesture gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); + await gesture.addPointer(location: Offset.zero); + addTearDown(gesture.removePointer); + await tester.pump(); + await gesture.moveTo(tester.getCenter(find.text('Cupcake'))); + + expect(log, ['onHover: Cupcake']); + log.clear(); + await tester.tap(find.text('Calories')); expect(log, ['column-sort: 1 true']); @@ -123,7 +137,7 @@ void main() { expect(log, ['cell-tapDown: 375', 'cell-tapCancel: 375', 'cell-longPress: 375']); log.clear(); - TestGesture gesture = await tester.startGesture(tester.getRect(find.text('375')).center); + gesture = await tester.startGesture(tester.getRect(find.text('375')).center); await tester.pump(const Duration(milliseconds: 100)); // onTapDown callback is registered. expect(log, equals(['cell-tapDown: 375'])); @@ -1341,8 +1355,8 @@ void main() { rows: [ DataRow( selected: selected, - color: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + color: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return defaultColor; @@ -1381,8 +1395,8 @@ void main() { onSelectChanged: (bool? value) {}, ), DataRow( - color: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + color: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } return defaultColor; @@ -1417,8 +1431,8 @@ void main() { columns: const [DataColumn(label: Text('Column1'))], rows: [ DataRow( - color: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + color: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } return Colors.transparent; @@ -1453,8 +1467,8 @@ void main() { columns: const [DataColumn(label: Text('Column1'))], rows: [ DataRow( - color: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + color: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } return Colors.transparent; @@ -1769,8 +1783,8 @@ void main() { rows: [ DataRow( selected: selected, - color: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + color: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return defaultColor; @@ -1905,6 +1919,22 @@ void main() { expect(secondaryTapped, isTrue); expect(secondaryTappedDown, isTrue); }); + + testWidgets('TableRowInkWell renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Material( + child: SizedBox.shrink( + child: Table( + children: const [ + TableRow(children: [TableRowInkWell(child: Text('X'))]), + ], + ), + ), + ), + ), + ); + }); }); testWidgets('Heading cell cursor resolves MaterialStateMouseCursor correctly', ( @@ -1918,8 +1948,8 @@ void main() { columns: [ // This column can be sorted. DataColumn( - mouseCursor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + mouseCursor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.forbidden; } return SystemMouseCursors.copy; @@ -1930,8 +1960,8 @@ void main() { ), // This column cannot be sorted. DataColumn( - mouseCursor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + mouseCursor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.forbidden; } return SystemMouseCursors.copy; @@ -1984,8 +2014,8 @@ void main() { rows: [ // This row can be selected. DataRow( - mouseCursor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + mouseCursor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return SystemMouseCursors.copy; } return SystemMouseCursors.forbidden; @@ -1997,8 +2027,8 @@ void main() { DataRow( selected: true, onSelectChanged: (bool? selected) {}, - mouseCursor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + mouseCursor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return SystemMouseCursors.copy; } return SystemMouseCursors.forbidden; @@ -2315,6 +2345,60 @@ void main() { semantics.dispose(); }); + + // Regression test for https://github.com/flutter/flutter/issues/171264 + testWidgets('DataTable cell has correct semantics rect ', (WidgetTester tester) async { + final SemanticsTester semantics = SemanticsTester(tester); + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: DataTable( + dataRowMaxHeight: double.infinity, + dataRowMinHeight: 70, + columns: const [ + // Set width so the Column width is not determined by text. + DataColumn(label: SizedBox(width: 250, child: Text('Column 1'))), + DataColumn(label: SizedBox(width: 250, child: Text('Column 2'))), + ], + rows: const [ + DataRow( + cells: [DataCell(Text('Data Cell 1')), DataCell(Text('Data Cell 2'))], + ), + ], + ), + ), + ), + ); + + final SemanticsFinder cell1 = find.semantics.byLabel('Data Cell 1'); + + expect(cell1, findsOne); + + final SemanticsNode cell1Node = cell1.evaluate().first; + + // The semantics node of cell 1 should not have a transform + expect(cell1Node.transform, null); + expect(cell1Node.rect, const Rect.fromLTRB(0.0, 0.0, 302.0, 70.0)); + + semantics.dispose(); + }); + + testWidgets('DataTable, DataColumn, DataRow, and DataCell render at zero area', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + MaterialApp( + home: SizedBox.shrink( + child: DataTable( + columns: const [DataColumn(label: Text('X'))], + rows: const [ + DataRow(cells: [DataCell(Text('X'))]), + ], + ), + ), + ), + ); + }); } RenderParagraph _getTextRenderObject(WidgetTester tester, String text) { diff --git a/packages/flutter/test/material/data_table_theme_test.dart b/packages/flutter/test/material/data_table_theme_test.dart index b4450b9225179..b033b7a34818d 100644 --- a/packages/flutter/test/material/data_table_theme_test.dart +++ b/packages/flutter/test/material/data_table_theme_test.dart @@ -84,14 +84,14 @@ void main() { final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder(); DataTableThemeData( decoration: const BoxDecoration(color: Color(0xfffffff0)), - dataRowColor: MaterialStateProperty.resolveWith( - (Set states) => const Color(0xfffffff1), + dataRowColor: WidgetStateProperty.resolveWith( + (Set states) => const Color(0xfffffff1), ), dataRowMinHeight: 41.0, dataRowMaxHeight: 42.0, dataTextStyle: const TextStyle(fontSize: 12.0), - headingRowColor: MaterialStateProperty.resolveWith( - (Set states) => const Color(0xfffffff2), + headingRowColor: WidgetStateProperty.resolveWith( + (Set states) => const Color(0xfffffff2), ), headingRowHeight: 52.0, headingTextStyle: const TextStyle(fontSize: 14.0), @@ -128,12 +128,12 @@ void main() { testWidgets('DataTable is themeable', (WidgetTester tester) async { const BoxDecoration decoration = BoxDecoration(color: Color(0xfffffff0)); - const MaterialStateProperty dataRowColor = MaterialStatePropertyAll( + const WidgetStateProperty dataRowColor = MaterialStatePropertyAll( Color(0xfffffff1), ); const double minMaxDataRowHeight = 41.0; const TextStyle dataTextStyle = TextStyle(fontSize: 12.5); - const MaterialStateProperty headingRowColor = MaterialStatePropertyAll( + const WidgetStateProperty headingRowColor = MaterialStatePropertyAll( Color(0xfffffff2), ); const double headingRowHeight = 52.0; @@ -141,9 +141,9 @@ void main() { const double horizontalMargin = 3.0; const double columnSpacing = 4.0; const double dividerThickness = 5.0; - const MaterialStateProperty headingCellCursor = + const WidgetStateProperty headingCellCursor = MaterialStatePropertyAll(SystemMouseCursors.grab); - const MaterialStateProperty dataRowCursor = MaterialStatePropertyAll( + const WidgetStateProperty dataRowCursor = MaterialStatePropertyAll( SystemMouseCursors.forbidden, ); @@ -198,7 +198,7 @@ void main() { expect(dataRowTextStyle.fontSize, dataTextStyle.fontSize); expect( _tableRowBoxDecoration(tester: tester, index: 1).color, - dataRowColor.resolve({}), + dataRowColor.resolve({}), ); expect(_tableRowBoxDecoration(tester: tester, index: 1).border!.top.width, dividerThickness); expect(tester.getSize(_findFirstContainerFor('Data')).height, minMaxDataRowHeight); @@ -210,7 +210,7 @@ void main() { expect(headingRowTextStyle.fontSize, headingTextStyle.fontSize); expect( _tableRowBoxDecoration(tester: tester, index: 0).color, - headingRowColor.resolve({}), + headingRowColor.resolve({}), ); expect(tester.getSize(_findFirstContainerFor('A')).height, headingRowHeight); @@ -269,12 +269,12 @@ void main() { testWidgets('DataTable properties are taken over the theme values', (WidgetTester tester) async { const BoxDecoration themeDecoration = BoxDecoration(color: Color(0xfffffff1)); - const MaterialStateProperty themeDataRowColor = MaterialStatePropertyAll( + const WidgetStateProperty themeDataRowColor = MaterialStatePropertyAll( Color(0xfffffff0), ); const double minMaxThemeDataRowHeight = 50.0; const TextStyle themeDataTextStyle = TextStyle(fontSize: 11.5); - const MaterialStateProperty themeHeadingRowColor = MaterialStatePropertyAll( + const WidgetStateProperty themeHeadingRowColor = MaterialStatePropertyAll( Color(0xfffffff1), ); const double themeHeadingRowHeight = 51.0; @@ -282,18 +282,18 @@ void main() { const double themeHorizontalMargin = 2.0; const double themeColumnSpacing = 3.0; const double themeDividerThickness = 4.0; - const MaterialStateProperty themeHeadingCellCursor = + const WidgetStateProperty themeHeadingCellCursor = MaterialStatePropertyAll(SystemMouseCursors.copy); - const MaterialStateProperty themeDataRowCursor = + const WidgetStateProperty themeDataRowCursor = MaterialStatePropertyAll(SystemMouseCursors.copy); const BoxDecoration decoration = BoxDecoration(color: Color(0xfffffff0)); - const MaterialStateProperty dataRowColor = MaterialStatePropertyAll( + const WidgetStateProperty dataRowColor = MaterialStatePropertyAll( Color(0xfffffff1), ); const double minMaxDataRowHeight = 51.0; const TextStyle dataTextStyle = TextStyle(fontSize: 12.5); - const MaterialStateProperty headingRowColor = MaterialStatePropertyAll( + const WidgetStateProperty headingRowColor = MaterialStatePropertyAll( Color(0xfffffff2), ); const double headingRowHeight = 52.0; @@ -301,9 +301,9 @@ void main() { const double horizontalMargin = 3.0; const double columnSpacing = 4.0; const double dividerThickness = 5.0; - const MaterialStateProperty headingCellCursor = + const WidgetStateProperty headingCellCursor = MaterialStatePropertyAll(SystemMouseCursors.forbidden); - const MaterialStateProperty dataRowCursor = MaterialStatePropertyAll( + const WidgetStateProperty dataRowCursor = MaterialStatePropertyAll( SystemMouseCursors.forbidden, ); @@ -374,7 +374,7 @@ void main() { expect(dataRowTextStyle.fontSize, dataTextStyle.fontSize); expect( _tableRowBoxDecoration(tester: tester, index: 1).color, - dataRowColor.resolve({}), + dataRowColor.resolve({}), ); expect(_tableRowBoxDecoration(tester: tester, index: 1).border!.top.width, dividerThickness); expect(tester.getSize(_findFirstContainerFor('Data')).height, minMaxDataRowHeight); @@ -386,7 +386,7 @@ void main() { expect(headingRowTextStyle.fontSize, headingTextStyle.fontSize); expect( _tableRowBoxDecoration(tester: tester, index: 0).color, - headingRowColor.resolve({}), + headingRowColor.resolve({}), ); expect(tester.getSize(_findFirstContainerFor('A')).height, headingRowHeight); @@ -405,7 +405,7 @@ void main() { expect( RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), - headingCellCursor.resolve({}), + headingCellCursor.resolve({}), ); await gesture.moveTo(tester.getCenter(find.text('Data'))); @@ -413,7 +413,7 @@ void main() { expect( RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), - dataRowCursor.resolve({}), + dataRowCursor.resolve({}), ); }); @@ -452,12 +452,12 @@ void main() { WidgetTester tester, ) async { const BoxDecoration globalThemeDecoration = BoxDecoration(color: Color(0xfffffff1)); - const MaterialStateProperty globalThemeDataRowColor = MaterialStatePropertyAll( + const WidgetStateProperty globalThemeDataRowColor = MaterialStatePropertyAll( Color(0xfffffff0), ); const double minMaxGlobalThemeDataRowHeight = 50.0; const TextStyle globalThemeDataTextStyle = TextStyle(fontSize: 11.5); - const MaterialStateProperty globalThemeHeadingRowColor = MaterialStatePropertyAll( + const WidgetStateProperty globalThemeHeadingRowColor = MaterialStatePropertyAll( Color(0xfffffff1), ); const double globalThemeHeadingRowHeight = 51.0; @@ -465,18 +465,18 @@ void main() { const double globalThemeHorizontalMargin = 2.0; const double globalThemeColumnSpacing = 3.0; const double globalThemeDividerThickness = 4.0; - const MaterialStateProperty globalHeadingCellCursor = + const WidgetStateProperty globalHeadingCellCursor = MaterialStatePropertyAll(SystemMouseCursors.allScroll); - const MaterialStateProperty globalDataRowCursor = + const WidgetStateProperty globalDataRowCursor = MaterialStatePropertyAll(SystemMouseCursors.allScroll); const BoxDecoration localThemeDecoration = BoxDecoration(color: Color(0xfffffff0)); - const MaterialStateProperty localThemeDataRowColor = MaterialStatePropertyAll( + const WidgetStateProperty localThemeDataRowColor = MaterialStatePropertyAll( Color(0xfffffff1), ); const double minMaxLocalThemeDataRowHeight = 51.0; const TextStyle localThemeDataTextStyle = TextStyle(fontSize: 12.5); - const MaterialStateProperty localThemeHeadingRowColor = MaterialStatePropertyAll( + const WidgetStateProperty localThemeHeadingRowColor = MaterialStatePropertyAll( Color(0xfffffff2), ); const double localThemeHeadingRowHeight = 52.0; @@ -484,9 +484,9 @@ void main() { const double localThemeHorizontalMargin = 3.0; const double localThemeColumnSpacing = 4.0; const double localThemeDividerThickness = 5.0; - const MaterialStateProperty localHeadingCellCursor = + const WidgetStateProperty localHeadingCellCursor = MaterialStatePropertyAll(SystemMouseCursors.move); - const MaterialStateProperty localDataRowCursor = + const WidgetStateProperty localDataRowCursor = MaterialStatePropertyAll(SystemMouseCursors.move); await tester.pumpWidget( @@ -560,7 +560,7 @@ void main() { expect(dataRowTextStyle.fontSize, localThemeDataTextStyle.fontSize); expect( _tableRowBoxDecoration(tester: tester, index: 1).color, - localThemeDataRowColor.resolve({}), + localThemeDataRowColor.resolve({}), ); expect( _tableRowBoxDecoration(tester: tester, index: 1).border!.top.width, @@ -575,7 +575,7 @@ void main() { expect(headingRowTextStyle.fontSize, localThemeHeadingTextStyle.fontSize); expect( _tableRowBoxDecoration(tester: tester, index: 0).color, - localThemeHeadingRowColor.resolve({}), + localThemeHeadingRowColor.resolve({}), ); expect(tester.getSize(_findFirstContainerFor('A')).height, localThemeHeadingRowHeight); @@ -594,7 +594,7 @@ void main() { expect( RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), - localHeadingCellCursor.resolve({}), + localHeadingCellCursor.resolve({}), ); await gesture.moveTo(tester.getCenter(find.text('Data'))); @@ -602,7 +602,7 @@ void main() { expect( RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), - localDataRowCursor.resolve({}), + localDataRowCursor.resolve({}), ); }); diff --git a/packages/flutter/test/material/date_picker_test.dart b/packages/flutter/test/material/date_picker_test.dart index e81686dff566a..d2d0de3d2c3b5 100644 --- a/packages/flutter/test/material/date_picker_test.dart +++ b/packages/flutter/test/material/date_picker_test.dart @@ -1734,10 +1734,12 @@ void main() { matchesSemantics( label: '3, Sunday, January 3, 2016, Today', isButton: true, + hasEnabledState: true, hasTapAction: true, hasSelectedState: true, hasFocusAction: true, isFocusable: true, + isEnabled: true, ), ); @@ -1908,7 +1910,7 @@ void main() { final SemanticsNode node = tester.semantics.find(find.byType(DatePickerDialog)); final SemanticsData semanticsData = node.getSemanticsData(); - expect(semanticsData.flagsCollection.isFocusable, false); + expect(semanticsData.flagsCollection.isFocused, Tristate.none); }); }); @@ -2750,6 +2752,19 @@ void main() { expect(lastDayText.data, equals('28')); }); }); + + testWidgets('DatePickerDialog renders at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Center( + child: SizedBox.shrink( + child: DatePickerDialog(firstDate: firstDate, lastDate: lastDate), + ), + ), + ), + ); + expect(tester.getSize(find.byType(DatePickerDialog)).isEmpty, isTrue); + }); } class _RestorableDatePickerDialogTestWidget extends StatefulWidget { diff --git a/packages/flutter/test/material/date_picker_theme_test.dart b/packages/flutter/test/material/date_picker_theme_test.dart index b91bfd9edf636..3578c9a2eb1aa 100644 --- a/packages/flutter/test/material/date_picker_theme_test.dart +++ b/packages/flutter/test/material/date_picker_theme_test.dart @@ -178,113 +178,113 @@ void main() { expect(m3.headerHelpStyle, textTheme.labelLarge); expect(m3.weekdayStyle, textTheme.bodyLarge?.apply(color: colorScheme.onSurface)); expect(m3.dayStyle, textTheme.bodyLarge); - expect(m3.dayForegroundColor?.resolve({}), colorScheme.onSurface); + expect(m3.dayForegroundColor?.resolve({}), colorScheme.onSurface); expect( - m3.dayForegroundColor?.resolve({MaterialState.selected}), + m3.dayForegroundColor?.resolve({WidgetState.selected}), colorScheme.onPrimary, ); expect( - m3.dayForegroundColor?.resolve({MaterialState.disabled}), + m3.dayForegroundColor?.resolve({WidgetState.disabled}), colorScheme.onSurface.withOpacity(0.38), ); - expect(m3.dayBackgroundColor?.resolve({}), null); + expect(m3.dayBackgroundColor?.resolve({}), null); expect( - m3.dayBackgroundColor?.resolve({MaterialState.selected}), + m3.dayBackgroundColor?.resolve({WidgetState.selected}), colorScheme.primary, ); - expect(m3.dayOverlayColor?.resolve({}), null); + expect(m3.dayOverlayColor?.resolve({}), null); expect( - m3.dayOverlayColor?.resolve({MaterialState.selected, MaterialState.hovered}), + m3.dayOverlayColor?.resolve({WidgetState.selected, WidgetState.hovered}), colorScheme.onPrimary.withOpacity(0.08), ); expect( - m3.dayOverlayColor?.resolve({MaterialState.selected, MaterialState.focused}), + m3.dayOverlayColor?.resolve({WidgetState.selected, WidgetState.focused}), colorScheme.onPrimary.withOpacity(0.1), ); expect( - m3.dayOverlayColor?.resolve({MaterialState.hovered}), + m3.dayOverlayColor?.resolve({WidgetState.hovered}), colorScheme.onSurfaceVariant.withOpacity(0.08), ); expect( - m3.dayOverlayColor?.resolve({MaterialState.focused}), + m3.dayOverlayColor?.resolve({WidgetState.focused}), colorScheme.onSurfaceVariant.withOpacity(0.1), ); expect( - m3.dayOverlayColor?.resolve({MaterialState.pressed}), + m3.dayOverlayColor?.resolve({WidgetState.pressed}), colorScheme.onSurfaceVariant.withOpacity(0.1), ); expect( - m3.dayOverlayColor?.resolve({ - MaterialState.selected, - MaterialState.hovered, - MaterialState.focused, + m3.dayOverlayColor?.resolve({ + WidgetState.selected, + WidgetState.hovered, + WidgetState.focused, }), colorScheme.onPrimary.withOpacity(0.08), ); expect( - m3.dayOverlayColor?.resolve({ - MaterialState.selected, - MaterialState.hovered, - MaterialState.pressed, + m3.dayOverlayColor?.resolve({ + WidgetState.selected, + WidgetState.hovered, + WidgetState.pressed, }), colorScheme.onPrimary.withOpacity(0.1), ); expect( - m3.dayOverlayColor?.resolve({MaterialState.hovered, MaterialState.focused}), + m3.dayOverlayColor?.resolve({WidgetState.hovered, WidgetState.focused}), colorScheme.onSurfaceVariant.withOpacity(0.08), ); expect( - m3.dayOverlayColor?.resolve({MaterialState.hovered, MaterialState.pressed}), + m3.dayOverlayColor?.resolve({WidgetState.hovered, WidgetState.pressed}), colorScheme.onSurfaceVariant.withOpacity(0.1), ); - expect(m3.dayShape?.resolve({}), const CircleBorder()); - expect(m3.todayForegroundColor?.resolve({}), colorScheme.primary); + expect(m3.dayShape?.resolve({}), const CircleBorder()); + expect(m3.todayForegroundColor?.resolve({}), colorScheme.primary); expect( - m3.todayForegroundColor?.resolve({MaterialState.disabled}), + m3.todayForegroundColor?.resolve({WidgetState.disabled}), colorScheme.primary.withOpacity(0.38), ); expect(m3.todayBorder, BorderSide(color: colorScheme.primary)); expect(m3.yearStyle, textTheme.bodyLarge); - expect(m3.yearForegroundColor?.resolve({}), colorScheme.onSurfaceVariant); + expect(m3.yearForegroundColor?.resolve({}), colorScheme.onSurfaceVariant); expect( - m3.yearForegroundColor?.resolve({MaterialState.selected}), + m3.yearForegroundColor?.resolve({WidgetState.selected}), colorScheme.onPrimary, ); expect( - m3.yearForegroundColor?.resolve({MaterialState.disabled}), + m3.yearForegroundColor?.resolve({WidgetState.disabled}), colorScheme.onSurfaceVariant.withOpacity(0.38), ); - expect(m3.yearBackgroundColor?.resolve({}), null); + expect(m3.yearBackgroundColor?.resolve({}), null); expect( - m3.yearBackgroundColor?.resolve({MaterialState.selected}), + m3.yearBackgroundColor?.resolve({WidgetState.selected}), colorScheme.primary, ); - expect(m3.yearOverlayColor?.resolve({}), null); + expect(m3.yearOverlayColor?.resolve({}), null); expect( - m3.yearOverlayColor?.resolve({MaterialState.selected, MaterialState.hovered}), + m3.yearOverlayColor?.resolve({WidgetState.selected, WidgetState.hovered}), colorScheme.onPrimary.withOpacity(0.08), ); expect( - m3.yearOverlayColor?.resolve({MaterialState.selected, MaterialState.focused}), + m3.yearOverlayColor?.resolve({WidgetState.selected, WidgetState.focused}), colorScheme.onPrimary.withOpacity(0.1), ); expect( - m3.yearOverlayColor?.resolve({MaterialState.hovered}), + m3.yearOverlayColor?.resolve({WidgetState.hovered}), colorScheme.onSurfaceVariant.withOpacity(0.08), ); expect( - m3.yearOverlayColor?.resolve({MaterialState.focused}), + m3.yearOverlayColor?.resolve({WidgetState.focused}), colorScheme.onSurfaceVariant.withOpacity(0.1), ); expect( - m3.yearOverlayColor?.resolve({MaterialState.pressed}), + m3.yearOverlayColor?.resolve({WidgetState.pressed}), colorScheme.onSurfaceVariant.withOpacity(0.1), ); expect(m3.rangePickerElevation, 0); expect(m3.rangePickerShape, const RoundedRectangleBorder()); expect(m3.rangePickerShadowColor, Colors.transparent); expect(m3.rangePickerSurfaceTintColor, Colors.transparent); - expect(m3.rangeSelectionOverlayColor?.resolve({}), null); + expect(m3.rangeSelectionOverlayColor?.resolve({}), null); expect(m3.rangePickerHeaderBackgroundColor, Colors.transparent); expect(m3.rangePickerHeaderForegroundColor, colorScheme.onSurfaceVariant); expect(m3.rangePickerHeaderHeadlineStyle, textTheme.titleLarge); @@ -342,65 +342,65 @@ void main() { textTheme.bodySmall?.apply(color: colorScheme.onSurface.withOpacity(0.60)), ); expect(m2.dayStyle, textTheme.bodySmall); - expect(m2.dayForegroundColor?.resolve({}), colorScheme.onSurface); + expect(m2.dayForegroundColor?.resolve({}), colorScheme.onSurface); expect( - m2.dayForegroundColor?.resolve({MaterialState.selected}), + m2.dayForegroundColor?.resolve({WidgetState.selected}), colorScheme.onPrimary, ); expect( - m2.dayForegroundColor?.resolve({MaterialState.disabled}), + m2.dayForegroundColor?.resolve({WidgetState.disabled}), colorScheme.onSurface.withOpacity(0.38), ); - expect(m2.dayBackgroundColor?.resolve({}), null); + expect(m2.dayBackgroundColor?.resolve({}), null); expect( - m2.dayBackgroundColor?.resolve({MaterialState.selected}), + m2.dayBackgroundColor?.resolve({WidgetState.selected}), colorScheme.primary, ); - expect(m2.dayOverlayColor?.resolve({}), null); + expect(m2.dayOverlayColor?.resolve({}), null); expect( - m2.dayOverlayColor?.resolve({MaterialState.selected, MaterialState.hovered}), + m2.dayOverlayColor?.resolve({WidgetState.selected, WidgetState.hovered}), colorScheme.onPrimary.withOpacity(0.08), ); expect( - m2.dayOverlayColor?.resolve({MaterialState.selected, MaterialState.focused}), + m2.dayOverlayColor?.resolve({WidgetState.selected, WidgetState.focused}), colorScheme.onPrimary.withOpacity(0.12), ); expect( - m2.dayOverlayColor?.resolve({MaterialState.selected, MaterialState.pressed}), + m2.dayOverlayColor?.resolve({WidgetState.selected, WidgetState.pressed}), colorScheme.onPrimary.withOpacity(0.38), ); expect( - m2.dayOverlayColor?.resolve({ - MaterialState.selected, - MaterialState.hovered, - MaterialState.focused, + m2.dayOverlayColor?.resolve({ + WidgetState.selected, + WidgetState.hovered, + WidgetState.focused, }), colorScheme.onPrimary.withOpacity(0.08), ); expect( - m2.dayOverlayColor?.resolve({ - MaterialState.selected, - MaterialState.hovered, - MaterialState.pressed, + m2.dayOverlayColor?.resolve({ + WidgetState.selected, + WidgetState.hovered, + WidgetState.pressed, }), colorScheme.onPrimary.withOpacity(0.38), ); expect( - m2.dayOverlayColor?.resolve({MaterialState.hovered}), + m2.dayOverlayColor?.resolve({WidgetState.hovered}), colorScheme.onSurfaceVariant.withOpacity(0.08), ); expect( - m2.dayOverlayColor?.resolve({MaterialState.focused}), + m2.dayOverlayColor?.resolve({WidgetState.focused}), colorScheme.onSurfaceVariant.withOpacity(0.12), ); expect( - m2.dayOverlayColor?.resolve({MaterialState.pressed}), + m2.dayOverlayColor?.resolve({WidgetState.pressed}), colorScheme.onSurfaceVariant.withOpacity(0.12), ); - expect(m2.dayShape?.resolve({}), const CircleBorder()); - expect(m2.todayForegroundColor?.resolve({}), colorScheme.primary); + expect(m2.dayShape?.resolve({}), const CircleBorder()); + expect(m2.todayForegroundColor?.resolve({}), colorScheme.primary); expect( - m2.todayForegroundColor?.resolve({MaterialState.disabled}), + m2.todayForegroundColor?.resolve({WidgetState.disabled}), colorScheme.onSurface.withOpacity(0.38), ); expect(m2.todayBorder, BorderSide(color: colorScheme.primary)); @@ -410,38 +410,38 @@ void main() { expect(m2.rangePickerShape, const RoundedRectangleBorder()); expect(m2.rangePickerShadowColor, Colors.transparent); expect(m2.rangePickerSurfaceTintColor, Colors.transparent); - expect(m2.rangeSelectionOverlayColor?.resolve({}), null); + expect(m2.rangeSelectionOverlayColor?.resolve({}), null); expect( - m2.rangeSelectionOverlayColor?.resolve({ - MaterialState.selected, - MaterialState.hovered, + m2.rangeSelectionOverlayColor?.resolve({ + WidgetState.selected, + WidgetState.hovered, }), colorScheme.onPrimary.withOpacity(0.08), ); expect( - m2.rangeSelectionOverlayColor?.resolve({ - MaterialState.selected, - MaterialState.focused, + m2.rangeSelectionOverlayColor?.resolve({ + WidgetState.selected, + WidgetState.focused, }), colorScheme.onPrimary.withOpacity(0.12), ); expect( - m2.rangeSelectionOverlayColor?.resolve({ - MaterialState.selected, - MaterialState.pressed, + m2.rangeSelectionOverlayColor?.resolve({ + WidgetState.selected, + WidgetState.pressed, }), colorScheme.onPrimary.withOpacity(0.38), ); expect( - m2.rangeSelectionOverlayColor?.resolve({MaterialState.hovered}), + m2.rangeSelectionOverlayColor?.resolve({WidgetState.hovered}), colorScheme.onSurfaceVariant.withOpacity(0.08), ); expect( - m2.rangeSelectionOverlayColor?.resolve({MaterialState.focused}), + m2.rangeSelectionOverlayColor?.resolve({WidgetState.focused}), colorScheme.onSurfaceVariant.withOpacity(0.12), ); expect( - m2.rangeSelectionOverlayColor?.resolve({MaterialState.pressed}), + m2.rangeSelectionOverlayColor?.resolve({WidgetState.pressed}), colorScheme.onSurfaceVariant.withOpacity(0.12), ); expect(m2.rangePickerHeaderBackgroundColor, colorScheme.primary); @@ -459,7 +459,7 @@ void main() { equalsIgnoringHashCodes(TextButton.styleFrom().toString()), ); expect(m2.locale, null); - expect(m2.yearShape?.resolve({}), const StadiumBorder()); + expect(m2.yearShape?.resolve({}), const StadiumBorder()); expect(m2.subHeaderForegroundColor, colorScheme.onSurface.withOpacity(0.60)); expect( m2.toggleButtonTextStyle, @@ -582,24 +582,24 @@ void main() { final Text day31 = tester.widget(find.text('31')); final ShapeDecoration day31Decoration = findDayDecoration(tester, '31')!; - expect(day31.style?.color, datePickerTheme.dayForegroundColor?.resolve({})); + expect(day31.style?.color, datePickerTheme.dayForegroundColor?.resolve({})); expect(day31.style?.fontSize, datePickerTheme.dayStyle?.fontSize); - expect(day31Decoration.color, datePickerTheme.dayBackgroundColor?.resolve({})); - expect(day31Decoration.shape, datePickerTheme.dayShape?.resolve({})); + expect(day31Decoration.color, datePickerTheme.dayBackgroundColor?.resolve({})); + expect(day31Decoration.shape, datePickerTheme.dayShape?.resolve({})); final Text day24 = tester.widget(find.text('24')); // DatePickerDialog.currentDate final ShapeDecoration day24Decoration = findDayDecoration(tester, '24')!; final OutlinedBorder day24Shape = day24Decoration.shape as OutlinedBorder; expect(day24.style?.fontSize, datePickerTheme.dayStyle?.fontSize); - expect(day24.style?.color, datePickerTheme.todayForegroundColor?.resolve({})); - expect(day24Decoration.color, datePickerTheme.todayBackgroundColor?.resolve({})); + expect(day24.style?.color, datePickerTheme.todayForegroundColor?.resolve({})); + expect(day24Decoration.color, datePickerTheme.todayBackgroundColor?.resolve({})); expect( day24Decoration.shape, datePickerTheme.dayShape - ?.resolve({})! + ?.resolve({})! .copyWith( side: datePickerTheme.todayBorder?.copyWith( - color: datePickerTheme.todayForegroundColor?.resolve({}), + color: datePickerTheme.todayForegroundColor?.resolve({}), ), ), ); @@ -622,7 +622,7 @@ void main() { await tester.pumpAndSettle(); expect( inkFeatures, - paints..circle(color: datePickerTheme.dayOverlayColor?.resolve({})), + paints..circle(color: datePickerTheme.dayOverlayColor?.resolve({})), ); // Show the year selector. @@ -633,27 +633,24 @@ void main() { final Text year2022 = tester.widget(find.text('2022')); final ShapeDecoration year2022Decoration = findTextDecoration(tester, '2022')!; expect(year2022.style?.fontSize, datePickerTheme.yearStyle?.fontSize); - expect(year2022.style?.color, datePickerTheme.yearForegroundColor?.resolve({})); - expect( - year2022Decoration.color, - datePickerTheme.yearBackgroundColor?.resolve({}), - ); - expect(year2022Decoration.shape, datePickerTheme.yearShape?.resolve({})); + expect(year2022.style?.color, datePickerTheme.yearForegroundColor?.resolve({})); + expect(year2022Decoration.color, datePickerTheme.yearBackgroundColor?.resolve({})); + expect(year2022Decoration.shape, datePickerTheme.yearShape?.resolve({})); final Text year2023 = tester.widget(find.text('2023')); // DatePickerDialog.currentDate final ShapeDecoration year2023Decoration = findTextDecoration(tester, '2023')!; expect(year2023.style?.fontSize, datePickerTheme.yearStyle?.fontSize); - expect(year2023.style?.color, datePickerTheme.todayForegroundColor?.resolve({})); + expect(year2023.style?.color, datePickerTheme.todayForegroundColor?.resolve({})); expect( year2023Decoration.color, - datePickerTheme.todayBackgroundColor?.resolve({}), + datePickerTheme.todayBackgroundColor?.resolve({}), ); final RoundedRectangleBorder roundedRectangleBorder = year2023Decoration.shape as RoundedRectangleBorder; expect(roundedRectangleBorder.side.width, datePickerTheme.todayBorder?.width); expect( roundedRectangleBorder.side.color, - datePickerTheme.todayForegroundColor?.resolve({}), + datePickerTheme.todayForegroundColor?.resolve({}), ); // Test the year overlay color. @@ -661,7 +658,7 @@ void main() { await tester.pumpAndSettle(); expect( inkFeatures, - paints..rect(color: datePickerTheme.yearOverlayColor?.resolve({})), + paints..rect(color: datePickerTheme.yearOverlayColor?.resolve({})), ); final ButtonStyle cancelButtonStyle = actionButtonStyle(tester, 'Cancel'); @@ -786,7 +783,7 @@ void main() { await tester.pumpAndSettle(); expect( inkFeatures, - paints..circle(color: datePickerTheme.dayOverlayColor?.resolve({})), + paints..circle(color: datePickerTheme.dayOverlayColor?.resolve({})), ); // Test the range selection overlay color. @@ -794,7 +791,7 @@ void main() { await tester.pumpAndSettle(); expect( inkFeatures, - paints..circle(color: datePickerTheme.rangeSelectionOverlayColor?.resolve({})), + paints..circle(color: datePickerTheme.rangeSelectionOverlayColor?.resolve({})), ); }); @@ -855,7 +852,7 @@ void main() { await tester.pumpAndSettle(); expect( inkFeatures, - paints..circle(color: datePickerTheme.dayOverlayColor?.resolve({})), + paints..circle(color: datePickerTheme.dayOverlayColor?.resolve({})), ); // Test the range selection overlay color. @@ -863,7 +860,7 @@ void main() { await tester.pumpAndSettle(); expect( inkFeatures, - paints..circle(color: datePickerTheme.rangeSelectionOverlayColor?.resolve({})), + paints..circle(color: datePickerTheme.rangeSelectionOverlayColor?.resolve({})), ); }); @@ -965,16 +962,16 @@ void main() { testWidgets('DatePickerDialog resolves DatePickerTheme.dayOverlayColor states', ( WidgetTester tester, ) async { - final MaterialStateProperty dayOverlayColor = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty dayOverlayColor = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return const Color(0xffff00ff); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return const Color(0xffffff00); } return Colors.transparent; @@ -1018,7 +1015,7 @@ void main() { paints ..circle() // Today decoration. ..circle() // Selected day decoration. - ..circle(color: dayOverlayColor.resolve({MaterialState.hovered})), + ..circle(color: dayOverlayColor.resolve({WidgetState.hovered})), ); // Test the pressed overlay color. @@ -1031,9 +1028,9 @@ void main() { paints ..circle() // Today decoration. ..circle() // Selected day decoration. - ..circle(color: dayOverlayColor.resolve({MaterialState.hovered})) - ..circle(color: dayOverlayColor.resolve({MaterialState.hovered})) - ..circle(color: dayOverlayColor.resolve({MaterialState.pressed})), + ..circle(color: dayOverlayColor.resolve({WidgetState.hovered})) + ..circle(color: dayOverlayColor.resolve({WidgetState.hovered})) + ..circle(color: dayOverlayColor.resolve({WidgetState.pressed})), ); } else { expect( @@ -1041,8 +1038,8 @@ void main() { paints ..circle() // Today decoration. ..circle() // Selected day decoration. - ..circle(color: dayOverlayColor.resolve({MaterialState.hovered})) - ..circle(color: dayOverlayColor.resolve({MaterialState.pressed})), + ..circle(color: dayOverlayColor.resolve({WidgetState.hovered})) + ..circle(color: dayOverlayColor.resolve({WidgetState.pressed})), ); } @@ -1061,23 +1058,23 @@ void main() { paints ..circle() // Today decoration. ..circle() // Selected day decoration. - ..circle(color: dayOverlayColor.resolve({MaterialState.focused})), + ..circle(color: dayOverlayColor.resolve({WidgetState.focused})), ); }); testWidgets('DatePickerDialog resolves DatePickerTheme.yearOverlayColor states', ( WidgetTester tester, ) async { - final MaterialStateProperty yearOverlayColor = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty yearOverlayColor = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return const Color(0xffff00ff); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return const Color(0xffffff00); } return Colors.transparent; @@ -1115,7 +1112,7 @@ void main() { await tester.pumpAndSettle(); expect( inkFeatures, - paints..rect(color: yearOverlayColor.resolve({MaterialState.hovered})), + paints..rect(color: yearOverlayColor.resolve({WidgetState.hovered})), ); // Test the pressed overlay color. @@ -1124,8 +1121,8 @@ void main() { expect( inkFeatures, paints - ..rect(color: yearOverlayColor.resolve({MaterialState.hovered})) - ..rect(color: yearOverlayColor.resolve({MaterialState.pressed})), + ..rect(color: yearOverlayColor.resolve({WidgetState.hovered})) + ..rect(color: yearOverlayColor.resolve({WidgetState.pressed})), ); await gesture.removePointer(); @@ -1140,19 +1137,19 @@ void main() { // Test the focused overlay color. expect( inkFeatures, - paints..rect(color: yearOverlayColor.resolve({MaterialState.focused})), + paints..rect(color: yearOverlayColor.resolve({WidgetState.focused})), ); }); testWidgets('DateRangePickerDialog resolves DatePickerTheme.rangeSelectionOverlayColor states', ( WidgetTester tester, ) async { - final MaterialStateProperty rangeSelectionOverlayColor = - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + final WidgetStateProperty rangeSelectionOverlayColor = + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return const Color(0xffffff00); } return Colors.transparent; @@ -1194,8 +1191,7 @@ void main() { await tester.pumpAndSettle(); expect( inkFeatures, - paints - ..circle(color: rangeSelectionOverlayColor.resolve({MaterialState.hovered})), + paints..circle(color: rangeSelectionOverlayColor.resolve({WidgetState.hovered})), ); // Test the pressed overlay color. @@ -1206,26 +1202,16 @@ void main() { expect( inkFeatures, paints - ..circle( - color: rangeSelectionOverlayColor.resolve({MaterialState.hovered}), - ) - ..circle( - color: rangeSelectionOverlayColor.resolve({MaterialState.hovered}), - ) - ..circle( - color: rangeSelectionOverlayColor.resolve({MaterialState.pressed}), - ), + ..circle(color: rangeSelectionOverlayColor.resolve({WidgetState.hovered})) + ..circle(color: rangeSelectionOverlayColor.resolve({WidgetState.hovered})) + ..circle(color: rangeSelectionOverlayColor.resolve({WidgetState.pressed})), ); } else { expect( inkFeatures, paints - ..circle( - color: rangeSelectionOverlayColor.resolve({MaterialState.hovered}), - ) - ..circle( - color: rangeSelectionOverlayColor.resolve({MaterialState.pressed}), - ), + ..circle(color: rangeSelectionOverlayColor.resolve({WidgetState.hovered})) + ..circle(color: rangeSelectionOverlayColor.resolve({WidgetState.pressed})), ); } }); @@ -1302,7 +1288,7 @@ void main() { MaterialApp( theme: ThemeData( datePickerTheme: datePickerTheme.copyWith( - yearShape: MaterialStateProperty.all(yearShpae), + yearShape: WidgetStateProperty.all(yearShpae), ), ), home: Directionality( @@ -1332,7 +1318,7 @@ void main() { expect(year2022RoundedRectangleBorder.side.width, datePickerTheme.todayBorder?.width); expect( year2022RoundedRectangleBorder.side.color, - datePickerTheme.todayForegroundColor?.resolve({}), + datePickerTheme.todayForegroundColor?.resolve({}), ); }); diff --git a/packages/flutter/test/material/dialog_test.dart b/packages/flutter/test/material/dialog_test.dart index 55184a167d888..b9ba060cb0aad 100644 --- a/packages/flutter/test/material/dialog_test.dart +++ b/packages/flutter/test/material/dialog_test.dart @@ -3021,6 +3021,28 @@ void main() { expect(find.byType(BackButton), findsNothing); expect(find.byType(CloseButton), findsOneWidget); }); + + testWidgets('Dialog does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: SizedBox.shrink(child: Dialog(child: Text('X'))), + ), + ), + ); + expect(tester.getSize(find.byType(Dialog)).isEmpty, isTrue); + }); + + testWidgets('AlertDialog does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: SizedBox.shrink(child: AlertDialog(content: Text('X'))), + ), + ), + ); + expect(tester.getSize(find.byType(AlertDialog)).isEmpty, isTrue); + }); } @pragma('vm:entry-point') diff --git a/packages/flutter/test/material/divider_test.dart b/packages/flutter/test/material/divider_test.dart index 3260d066fbe4a..364619a474b12 100644 --- a/packages/flutter/test/material/divider_test.dart +++ b/packages/flutter/test/material/divider_test.dart @@ -223,4 +223,13 @@ void main() { expect(() => Divider.createBorderSide(null), isNot(throwsAssertionError)); expect(() => Divider.createBorderSide(null), isNot(throwsNoSuchMethodError)); }); + + testWidgets('VerticalDivider does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center(child: SizedBox.shrink(child: VerticalDivider())), + ), + ); + expect(tester.getSize(find.byType(VerticalDivider)), Size.zero); + }); } diff --git a/packages/flutter/test/material/drawer_test.dart b/packages/flutter/test/material/drawer_test.dart index afd2275474464..81a559e399c5d 100644 --- a/packages/flutter/test/material/drawer_test.dart +++ b/packages/flutter/test/material/drawer_test.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import '../widgets/semantics_tester.dart'; @@ -798,8 +799,11 @@ void main() { final Scaffold scaffold = tester.widget(find.byType(Scaffold)); expect(scaffold.drawerBarrierDismissible, true); - // Open the drawer initially. + // Verify whether the drawer barrier is dimissible by default via the state final ScaffoldState state = tester.firstState(find.byType(Scaffold)); + expect(state.isDrawerBarrierDismissible, true); + + // Open the drawer initially. state.openEndDrawer(); await tester.pumpAndSettle(); @@ -862,8 +866,11 @@ void main() { final Scaffold scaffold = tester.widget(find.byType(Scaffold)); expect(scaffold.drawerBarrierDismissible, false); - // Open the drawer initially. + // Verify the drawer barrier is not dimissible by checking the state's getter final ScaffoldState state = tester.firstState(find.byType(Scaffold)); + expect(state.isDrawerBarrierDismissible, false); + + // Open the drawer initially. state.openEndDrawer(); await tester.pumpAndSettle(); @@ -903,6 +910,65 @@ void main() { expect(find.byType(Drawer), findsExactly(1)); }); + testWidgets('Drawer can be dismissed with the escape key by default', ( + WidgetTester tester, + ) async { + final GlobalKey scaffoldKey = GlobalKey(); + + // Test with drawerBarrierDismissible: true (default) + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + key: scaffoldKey, + drawer: const Drawer(child: Text('drawer')), + ), + ), + ); + + final ScaffoldState state = tester.firstState(find.byType(Scaffold)); + expect(state.isDrawerBarrierDismissible, isTrue); + + // Open the drawer. + scaffoldKey.currentState!.openDrawer(); + await tester.pumpAndSettle(); + expect(find.text('drawer'), findsOneWidget); + + // Close the drawer with the escape key. + await tester.sendKeyEvent(LogicalKeyboardKey.escape); + await tester.pumpAndSettle(); + expect(find.text('drawer'), findsNothing); + }); + + testWidgets( + 'Drawer cannot be dismissed with the escape key when drawerBarrierDismissible is false', + (WidgetTester tester) async { + final GlobalKey scaffoldKey = GlobalKey(); + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + key: scaffoldKey, + drawer: const Drawer(child: Text('drawer')), + drawerBarrierDismissible: false, + ), + ), + ); + + // Verify that the [Scaffold.drawerBarrierDismissible] flag is false + final ScaffoldState state = tester.firstState(find.byType(Scaffold)); + expect(state.isDrawerBarrierDismissible, isFalse); + + // Open the drawer. + scaffoldKey.currentState!.openDrawer(); + await tester.pumpAndSettle(); + expect(find.text('drawer'), findsOneWidget); + + // Try to close the drawer with the escape key, and verify it does not close. + await tester.sendKeyEvent(LogicalKeyboardKey.escape); + await tester.pumpAndSettle(); + expect(find.text('drawer'), findsOneWidget); + }, + ); + group('Material 2', () { // These tests are only relevant for Material 2. Once Material 2 // support is deprecated and the APIs are removed, these tests @@ -993,4 +1059,19 @@ void main() { expect(material.clipBehavior, Clip.hardEdge); }); }); + + // Regression test for https://github.com/flutter/flutter/issues/6537 + testWidgets('Drawer and DrawerHeader do not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Center( + child: SizedBox.shrink( + child: Drawer(child: DrawerHeader(child: Text('X'))), + ), + ), + ), + ); + expect(tester.getSize(find.byType(Drawer)), Size.zero); + expect(tester.getSize(find.byType(DrawerHeader)), Size.zero); + }); } diff --git a/packages/flutter/test/material/dropdown_menu_form_field_test.dart b/packages/flutter/test/material/dropdown_menu_form_field_test.dart index a56ffdc3d0f63..4f884b504e358 100644 --- a/packages/flutter/test/material/dropdown_menu_form_field_test.dart +++ b/packages/flutter/test/material/dropdown_menu_form_field_test.dart @@ -506,13 +506,14 @@ void main() { ), ); - // Check default value. - DropdownMenu dropdownMenu = tester.widget(find.byType(DropdownMenu)); - expect(dropdownMenu.controller, null); - final TextEditingController controller = TextEditingController(); addTearDown(controller.dispose); + // Check default value. + DropdownMenu dropdownMenu = tester.widget(find.byType(DropdownMenu)); + expect(dropdownMenu.controller, isNotNull); // A default controller is created. + expect(dropdownMenu.controller, isNot(controller)); + await tester.pumpWidget( MaterialApp( home: Scaffold( @@ -967,6 +968,92 @@ void main() { expect(fieldKey.currentState!.value, MenuItem.menuItem0); }); + // Regression test for https://github.com/flutter/flutter/issues/174578. + testWidgets( + 'Inner text field is cleared on reset when initialSelection is null - Default controller', + (WidgetTester tester) async { + final GlobalKey> fieldKey = GlobalKey>(); + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: DropdownMenuFormField(key: fieldKey, dropdownMenuEntries: menuEntries), + ), + ), + ); + + final TextField textField = tester.widget(find.byType(TextField)); + + // Select menuItem1. + await tester.tap(find.byType(DropdownMenu)); + await tester.pump(); + await tester.tap(findMenuItem(MenuItem.menuItem1)); + await tester.pump(); + expect(fieldKey.currentState!.value, MenuItem.menuItem1); + expect( + textField.controller?.value, + const TextEditingValue(text: 'Item 1', selection: TextSelection.collapsed(offset: 6)), + ); + + // After reset the text field content is cleared. + fieldKey.currentState!.reset(); + await tester.pump(); + + expect(fieldKey.currentState!.value, null); + expect( + textField.controller?.value, + const TextEditingValue(selection: TextSelection.collapsed(offset: 0)), + ); + }, + ); + + // Regression test for https://github.com/flutter/flutter/issues/174578. + testWidgets( + 'Inner text field is cleared on reset when initialSelection is null - Custom controller', + (WidgetTester tester) async { + final GlobalKey> fieldKey = GlobalKey>(); + final TextEditingController controller = TextEditingController(); + addTearDown(controller.dispose); + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: DropdownMenuFormField( + key: fieldKey, + controller: controller, + dropdownMenuEntries: menuEntries, + ), + ), + ), + ); + + // Custom controller is correctly passed to the inner TextField. + final TextField textField = tester.widget(find.byType(TextField)); + expect(textField.controller, controller); + + // Select menuItem1. + await tester.tap(find.byType(DropdownMenu)); + await tester.pump(); + await tester.tap(findMenuItem(MenuItem.menuItem1)); + await tester.pump(); + expect(fieldKey.currentState!.value, MenuItem.menuItem1); + expect( + textField.controller?.value, + const TextEditingValue(text: 'Item 1', selection: TextSelection.collapsed(offset: 6)), + ); + + // After reset the text field content is cleared. + fieldKey.currentState!.reset(); + await tester.pump(); + + expect(fieldKey.currentState!.value, null); + expect( + controller.value, + const TextEditingValue(selection: TextSelection.collapsed(offset: 0)), + ); + }, + ); + testWidgets('isValid and hasError results are correct', (WidgetTester tester) async { final GlobalKey> fieldKey = GlobalKey>(); @@ -1176,4 +1263,67 @@ void main() { expect(formFieldState.currentState!.value, MenuItem.menuItem2); }); + + testWidgets('onSelect is called exactly once when a selection is made.', ( + WidgetTester tester, + ) async { + int onSelectedCallCount = 0; + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: DropdownMenuFormField( + dropdownMenuEntries: menuEntries, + initialSelection: MenuItem.menuItem0, + onSelected: (MenuItem? value) { + onSelectedCallCount++; + }, + ), + ), + ), + ); + // Select a different item than the initial one. + await tester.tap(find.byType(DropdownMenu)); + await tester.pump(); + await tester.tap(findMenuItem(MenuItem.menuItem2)); + await tester.pump(); + + expect(onSelectedCallCount, 1); + }); + + testWidgets('onSelect is called exactly once when reseted', (WidgetTester tester) async { + int onSelectedCallCount = 0; + final GlobalKey> fieldKey = GlobalKey>(); + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: DropdownMenuFormField( + key: fieldKey, + dropdownMenuEntries: menuEntries, + onSelected: (MenuItem? value) { + onSelectedCallCount++; + }, + ), + ), + ), + ); + + fieldKey.currentState!.reset(); + await tester.pump(); + expect(onSelectedCallCount, 1); + }); + + testWidgets('DropdownMenuFormField does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: Center( + child: SizedBox.shrink( + child: DropdownMenuFormField(dropdownMenuEntries: menuEntries), + ), + ), + ), + ), + ); + expect(tester.getSize(find.byType(DropdownMenuFormField)), Size.zero); + }); } diff --git a/packages/flutter/test/material/dropdown_menu_test.dart b/packages/flutter/test/material/dropdown_menu_test.dart index 5c7f73b7ba0a5..3800d8a6bb964 100644 --- a/packages/flutter/test/material/dropdown_menu_test.dart +++ b/packages/flutter/test/material/dropdown_menu_test.dart @@ -4,7 +4,6 @@ import 'dart:ui'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; @@ -145,26 +144,26 @@ void main() { const Color defaultOverlayColor = Color(0xffffff00); final ButtonStyle customButtonStyle = ButtonStyle( - backgroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + backgroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return focusedBackgroundColor; } return defaultBackgroundColor; }), - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return focusedForegroundColor; } return defaultForegroundColor; }), - iconColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + iconColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return focusedIconColor; } return defaultIconColor; }), - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return focusedOverlayColor; } return defaultOverlayColor; @@ -379,10 +378,10 @@ void main() { const Color luckyColor = Color(0xff777777); final ButtonStyle singleColorButtonStyle = ButtonStyle( - backgroundColor: MaterialStateProperty.all(luckyColor), - foregroundColor: MaterialStateProperty.all(luckyColor), - iconColor: MaterialStateProperty.all(luckyColor), - overlayColor: MaterialStateProperty.all(luckyColor), + backgroundColor: WidgetStateProperty.all(luckyColor), + foregroundColor: WidgetStateProperty.all(luckyColor), + iconColor: WidgetStateProperty.all(luckyColor), + overlayColor: WidgetStateProperty.all(luckyColor), ); await tester.pumpWidget( @@ -443,8 +442,8 @@ void main() { const Color luckyColor = Color(0xff777777); final ButtonStyle partialButtonStyle = ButtonStyle( - backgroundColor: MaterialStateProperty.all(luckyColor), - foregroundColor: MaterialStateProperty.all(luckyColor), + backgroundColor: WidgetStateProperty.all(luckyColor), + foregroundColor: WidgetStateProperty.all(luckyColor), ); final List> partiallyStyledMenuEntries = @@ -928,6 +927,31 @@ void main() { expect(buttonSize.width, parentWidth - 35.0 - 20.0); }); + // Regression test for https://github.com/flutter/flutter/issues/172680. + testWidgets('Menu panel width can expand to full-screen width', (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Scaffold( + body: DropdownMenu( + expandedInsets: EdgeInsets.zero, + dropdownMenuEntries: >[ + DropdownMenuEntry(value: 0, label: 'Flutter'), + ], + ), + ), + ), + ); + + final double dropdownWidth = tester.getSize(find.byType(DropdownMenu)).width; + expect(dropdownWidth, 800); + + await tester.tap(find.byType(DropdownMenu)); + await tester.pump(); + + final double menuWidth = tester.getSize(findMenuItemButton('Flutter')).width; + expect(dropdownWidth, menuWidth); + }); + testWidgets( 'Material2 - The menuHeight property can be used to show a shorter scrollable menu list instead of the complete list', (WidgetTester tester) async { @@ -3493,14 +3517,19 @@ void main() { // Regression test for https://github.com/flutter/flutter/issues/131120. testWidgets('Focus traversal ignores non visible entries', (WidgetTester tester) async { final FocusNode buttonFocusNode = FocusNode(); + final FocusNode textFieldFocusNode = FocusNode(); addTearDown(buttonFocusNode.dispose); + addTearDown(textFieldFocusNode.dispose); await tester.pumpWidget( MaterialApp( home: Scaffold( body: Column( children: [ - DropdownMenu(dropdownMenuEntries: menuChildren), + DropdownMenu( + dropdownMenuEntries: menuChildren, + focusNode: textFieldFocusNode, + ), ElevatedButton( focusNode: buttonFocusNode, onPressed: () {}, @@ -3512,18 +3541,17 @@ void main() { ), ); - // Move the focus to the text field. - primaryFocus!.nextFocus(); - await tester.pump(); - final Element textField = tester.element(find.byType(TextField)); - expect(Focus.of(textField).hasFocus, isTrue); - // Move the focus to the dropdown trailing icon. primaryFocus!.nextFocus(); await tester.pump(); final Element iconButton = tester.firstElement(find.byIcon(Icons.arrow_drop_down)); expect(Focus.of(iconButton).hasFocus, isTrue); + // Move the focus to the text field. + primaryFocus!.nextFocus(); + await tester.pump(); + expect(textFieldFocusNode.hasFocus, isTrue); + // Move the focus to the elevated button. primaryFocus!.nextFocus(); await tester.pump(); @@ -4110,11 +4138,11 @@ void main() { ), ), ); - // Pressing the tab key 3 times moves the focus to the icon button. - for (int i = 0; i < 3; i++) { - await tester.sendKeyEvent(LogicalKeyboardKey.tab); - await tester.pump(); - } + + // Adding FocusNode to IconButton causes the IconButton to receive focus. + // Thus it does not matter if the TextField has a FocusNode or not. + await tester.sendKeyEvent(LogicalKeyboardKey.tab); + await tester.pump(); // Now the focus is on the icon button. final Element iconButton = tester.firstElement(find.byIcon(Icons.arrow_drop_down)); @@ -4151,17 +4179,11 @@ void main() { ), ), ); - // If there is no `FocusNode`, by default, `TextField` can receive focus - // on desktop platforms, but not on mobile platforms. Therefore, on desktop - // platforms, it takes 3 tabs to reach the icon button. - final int tabCount = switch (defaultTargetPlatform) { - TargetPlatform.iOS || TargetPlatform.android || TargetPlatform.fuchsia => 2, - TargetPlatform.macOS || TargetPlatform.linux || TargetPlatform.windows => 3, - }; - for (int i = 0; i < tabCount; i++) { - await tester.sendKeyEvent(LogicalKeyboardKey.tab); - await tester.pump(); - } + + // Adding FocusNode to IconButton causes the IconButton to receive focus. + // Thus it does not matter if the TextField has a FocusNode or not. + await tester.sendKeyEvent(LogicalKeyboardKey.tab); + await tester.pump(); // Now the focus is on the icon button. final Element iconButton = tester.firstElement(find.byIcon(Icons.arrow_drop_down)); @@ -4301,8 +4323,77 @@ void main() { expect(tester.takeException(), isNull); expect(tester.getSize(findMenuItemButton(menuChildren.first.label)).width, 150.0); + + // The overwrite of menuStyle is different when a width is provided but maximumSize is not, + // So it needs to be tested separately. + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: DropdownMenu( + width: 200.0, + dropdownMenuEntries: menuChildren, + menuStyle: const MenuStyle(), + ), + ), + ), + ); + + await tester.tap(find.byType(TextField)); + await tester.pumpAndSettle(); + + expect(tester.getSize(findMenuItemButton(menuChildren.first.label)).width, 200.0); }); + testWidgets( + 'ensure items are constrained to intrinsic size of DropdownMenu (width or anchor) when no maximumSize', + (WidgetTester tester) async { + const String shortLabel = 'Male'; + await tester.pumpWidget( + const MaterialApp( + home: Scaffold( + body: DropdownMenu( + width: 200, + dropdownMenuEntries: >[ + DropdownMenuEntry(value: 0, label: shortLabel), + ], + menuStyle: MenuStyle(), + ), + ), + ), + ); + + await tester.tap(find.byType(TextField)); + await tester.pumpAndSettle(); + + expect(tester.getSize(findMenuItemButton(shortLabel)).width, 200); + + // Use expandedInsets to anchor the TextField to the same size as the parent. + await tester.pumpWidget( + const MaterialApp( + home: Scaffold( + body: SizedBox( + width: double.infinity, + child: DropdownMenu( + expandedInsets: EdgeInsets.symmetric(horizontal: 20), + dropdownMenuEntries: >[ + DropdownMenuEntry(value: 0, label: shortLabel), + ], + menuStyle: MenuStyle(), + ), + ), + ), + ), + ); + + await tester.tap(find.byType(TextField)); + await tester.pumpAndSettle(); + + expect(tester.takeException(), isNull); + // Default width is 800, so the expected width is 800 - padding (20 + 20). + expect(tester.getSize(findMenuItemButton(shortLabel)).width, 760.0); + }, + ); + // Regression test for https://github.com/flutter/flutter/issues/164905. testWidgets('ensure exclude semantics for trailing button', (WidgetTester tester) async { final SemanticsTester semantics = SemanticsTester(tester); @@ -4519,6 +4610,120 @@ void main() { }, ); + testWidgets('DropdownMenu trailingIconFocusNode is created when not provided', ( + WidgetTester tester, + ) async { + final FocusNode textFieldFocusNode = FocusNode(); + final FocusNode buttonFocusNode = FocusNode(); + addTearDown(textFieldFocusNode.dispose); + addTearDown(buttonFocusNode.dispose); + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: Column( + children: [ + DropdownMenu( + dropdownMenuEntries: menuChildren, + focusNode: textFieldFocusNode, + ), + ElevatedButton( + focusNode: buttonFocusNode, + onPressed: () {}, + child: const Text('Button'), + ), + ], + ), + ), + ), + ); + + primaryFocus!.nextFocus(); + await tester.pump(); + + // Ensure the trailing icon does not have focus. + // If FocusNode is not created then the TextField will have focus. + final Element iconButton = tester.firstElement(find.byIcon(Icons.arrow_drop_down)); + expect(Focus.of(iconButton).hasFocus, isTrue); + + // Ensure the TextField has focus. + primaryFocus!.nextFocus(); + await tester.pump(); + expect(textFieldFocusNode.hasFocus, isTrue); + + // Ensure the button has focus. + primaryFocus!.nextFocus(); + await tester.pump(); + expect(buttonFocusNode.hasFocus, isTrue); + }); + + testWidgets('DropdownMenu trailingIconFocusNode is used when provided', ( + WidgetTester tester, + ) async { + final FocusNode textFieldFocusNode = FocusNode(); + final FocusNode trailingIconFocusNode = FocusNode(); + final FocusNode buttonFocusNode = FocusNode(); + addTearDown(textFieldFocusNode.dispose); + addTearDown(trailingIconFocusNode.dispose); + addTearDown(buttonFocusNode.dispose); + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: Column( + children: [ + DropdownMenu( + dropdownMenuEntries: menuChildren, + focusNode: textFieldFocusNode, + trailingIconFocusNode: trailingIconFocusNode, + ), + ElevatedButton( + focusNode: buttonFocusNode, + onPressed: () {}, + child: const Text('Button'), + ), + ], + ), + ), + ), + ); + + primaryFocus!.nextFocus(); + await tester.pump(); + + // Ensure the trailing icon has focus. + expect(trailingIconFocusNode.hasFocus, isTrue); + + // Ensure the TextField has focus. + primaryFocus!.nextFocus(); + await tester.pump(); + expect(textFieldFocusNode.hasFocus, isTrue); + + // Ensure the button has focus. + primaryFocus!.nextFocus(); + await tester.pump(); + expect(buttonFocusNode.hasFocus, isTrue); + }); + + testWidgets( + 'Throw assertion error when showTrailingIcon is false and trailingIconFocusNode is provided', + (WidgetTester tester) async { + expect(() { + final FocusNode focusNode = FocusNode(); + addTearDown(focusNode.dispose); + MaterialApp( + home: Scaffold( + body: DropdownMenu( + showTrailingIcon: false, + trailingIconFocusNode: focusNode, + dropdownMenuEntries: menuChildren, + ), + ), + ); + }, throwsAssertionError); + }, + ); + testWidgets('DropdownMenu can set cursorHeight', (WidgetTester tester) async { const double cursorHeight = 4.0; await tester.pumpWidget( @@ -4535,6 +4740,27 @@ void main() { final EditableText editableText = tester.widget(find.byType(EditableText)); expect(editableText.cursorHeight, cursorHeight); }); + + testWidgets('DropdownMenu accepts a MenuController', (WidgetTester tester) async { + final MenuController menuController = MenuController(); + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: DropdownMenu( + menuController: menuController, + dropdownMenuEntries: menuChildren, + ), + ), + ), + ); + expect(findMenuItemButton('Item 0').hitTestable(), findsNothing); + menuController.open(); + await tester.pumpAndSettle(); + expect(findMenuItemButton('Item 0').hitTestable(), findsOne); + menuController.close(); + await tester.pumpAndSettle(); + expect(findMenuItemButton('Item 0').hitTestable(), findsNothing); + }); } enum TestMenu { diff --git a/packages/flutter/test/material/elevated_button_test.dart b/packages/flutter/test/material/elevated_button_test.dart index 9f3f01dfe00c2..afa1d8e9474be 100644 --- a/packages/flutter/test/material/elevated_button_test.dart +++ b/packages/flutter/test/material/elevated_button_test.dart @@ -7,6 +7,7 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; + import '../widgets/semantics_tester.dart'; void main() { @@ -448,14 +449,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - Color getTextColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -468,7 +469,7 @@ void main() { child: ElevatedButtonTheme( data: ElevatedButtonThemeData( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), ), ), child: Builder( @@ -524,14 +525,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - Color getTextColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -544,8 +545,8 @@ void main() { child: ElevatedButtonTheme( data: ElevatedButtonThemeData( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), - iconColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), + iconColor: WidgetStateProperty.resolveWith(getTextColor), ), ), child: Builder( @@ -863,8 +864,8 @@ void main() { textDirection: TextDirection.ltr, child: ElevatedButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.hovered) ? hoverColor : null; + overlayColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.hovered) ? hoverColor : null; }), ), onPressed: () {}, @@ -893,8 +894,8 @@ void main() { textDirection: TextDirection.ltr, child: ElevatedButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.focused) ? focusColor : null; + overlayColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.focused) ? focusColor : null; }), ), focusNode: focusNode, @@ -919,8 +920,8 @@ void main() { testWidgets('Does ElevatedButton work with autofocus', (WidgetTester tester) async { const Color focusColor = Color(0xff001122); - Color? getOverlayColor(Set states) { - return states.contains(MaterialState.focused) ? focusColor : null; + Color? getOverlayColor(Set states) { + return states.contains(WidgetState.focused) ? focusColor : null; } final FocusNode focusNode = FocusNode(debugLabel: 'ElevatedButton Node'); @@ -930,7 +931,7 @@ void main() { child: ElevatedButton( autofocus: true, style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), ), focusNode: focusNode, onPressed: () {}, @@ -2025,7 +2026,7 @@ void main() { ), ); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 0); final Offset center = tester.getCenter(find.byType(Text)); @@ -2034,42 +2035,42 @@ void main() { await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 1); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 2); await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 3); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 4); await gesture.up(); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 5); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 6); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 8); // adds hovered and pressed - two changes // If the button is rebuilt disabled, then the pressed state is @@ -2093,11 +2094,11 @@ void main() { ), ); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.disabled}); + expect(controller.value, {WidgetState.hovered, WidgetState.disabled}); expect(count, 10); // removes pressed and adds disabled - two changes await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 11); await gesture.removePointer(); } @@ -2131,7 +2132,7 @@ void main() { ), ), ); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 1); }); @@ -2146,13 +2147,13 @@ void main() { textDirection: TextDirection.ltr, child: ElevatedButton( style: ElevatedButton.styleFrom( - backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundBuilder: (BuildContext context, Set states, Widget? child) { return DecoratedBox( decoration: const BoxDecoration(color: backgroundColor), child: child, ); }, - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return DecoratedBox( decoration: const BoxDecoration(color: foregroundColor), child: child, @@ -2196,10 +2197,10 @@ void main() { textDirection: TextDirection.ltr, child: ElevatedButton( style: ElevatedButton.styleFrom( - backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: backgroundColor)); }, - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: foregroundColor)); }, ), @@ -2227,7 +2228,7 @@ void main() { textDirection: TextDirection.ltr, child: ElevatedButton( style: ElevatedButton.styleFrom( - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: foregroundColor)); }, ), @@ -2249,8 +2250,8 @@ void main() { testWidgets( 'ElevatedButton foreground and background builders are applied to the correct states', (WidgetTester tester) async { - Set foregroundStates = {}; - Set backgroundStates = {}; + Set foregroundStates = {}; + Set backgroundStates = {}; final FocusNode focusNode = FocusNode(); await tester.pumpWidget( @@ -2260,12 +2261,12 @@ void main() { child: ElevatedButton( style: ButtonStyle( backgroundBuilder: - (BuildContext context, Set states, Widget? child) { + (BuildContext context, Set states, Widget? child) { backgroundStates = states; return child!; }, foregroundBuilder: - (BuildContext context, Set states, Widget? child) { + (BuildContext context, Set states, Widget? child) { foregroundStates = states; return child!; }, @@ -2283,18 +2284,18 @@ void main() { expect(backgroundStates.isEmpty, isTrue); expect(foregroundStates.isEmpty, isTrue); - const Set focusedStates = {MaterialState.focused}; - const Set focusedHoveredStates = { - MaterialState.focused, - MaterialState.hovered, + const Set focusedStates = {WidgetState.focused}; + const Set focusedHoveredStates = { + WidgetState.focused, + WidgetState.hovered, }; - const Set focusedHoveredPressedStates = { - MaterialState.focused, - MaterialState.hovered, - MaterialState.pressed, + const Set focusedHoveredPressedStates = { + WidgetState.focused, + WidgetState.hovered, + WidgetState.pressed, }; - bool sameStates(Set expectedValue, Set actualValue) { + bool sameStates(Set expectedValue, Set actualValue) { return expectedValue.difference(actualValue).isEmpty && actualValue.difference(expectedValue).isEmpty; } diff --git a/packages/flutter/test/material/elevated_button_theme_test.dart b/packages/flutter/test/material/elevated_button_theme_test.dart index 0e9cdb3540c6c..f6e26876e9367 100644 --- a/packages/flutter/test/material/elevated_button_theme_test.dart +++ b/packages/flutter/test/material/elevated_button_theme_test.dart @@ -179,11 +179,11 @@ void main() { matching: find.byType(InkWell), ); - const Set enabled = {}; - const Set disabled = {MaterialState.disabled}; - const Set hovered = {MaterialState.hovered}; - const Set focused = {MaterialState.focused}; - const Set pressed = {MaterialState.pressed}; + const Set enabled = {}; + const Set disabled = {WidgetState.disabled}; + const Set hovered = {WidgetState.hovered}; + const Set focused = {WidgetState.focused}; + const Set pressed = {WidgetState.pressed}; void checkButton(WidgetTester tester) { final Material material = tester.widget(findMaterial); @@ -194,11 +194,11 @@ void main() { expect(material.shadowColor, shadowColor); expect(material.elevation, elevation); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor!, enabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor!, enabled), enabledMouseCursor, ); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor!, disabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor!, disabled), disabledMouseCursor, ); expect(inkWell.overlayColor!.resolve(hovered), foregroundColor.withOpacity(0.08)); diff --git a/packages/flutter/test/material/expansion_tile_test.dart b/packages/flutter/test/material/expansion_tile_test.dart index a73a1ece581ba..98c08f1de11fa 100644 --- a/packages/flutter/test/material/expansion_tile_test.dart +++ b/packages/flutter/test/material/expansion_tile_test.dart @@ -1690,7 +1690,9 @@ void main() { ); final Size materialAppSize = tester.getSize(find.byType(MaterialApp)); - final Size titleSize = tester.getSize(find.byType(ColoredBox)); + final Size titleSize = tester.getSize( + find.descendant(of: find.byType(ExpansionTile), matching: find.byType(ColoredBox)), + ); expect(titleSize.width, materialAppSize.width); }, @@ -1713,7 +1715,9 @@ void main() { ); final Size materialAppSize = tester.getSize(find.byType(MaterialApp)); - final Size titleSize = tester.getSize(find.byType(ColoredBox)); + final Size titleSize = tester.getSize( + find.descendant(of: find.byType(ExpansionTile), matching: find.byType(ColoredBox)), + ); expect(titleSize.width, materialAppSize.width - 32.0); }, diff --git a/packages/flutter/test/material/filled_button_test.dart b/packages/flutter/test/material/filled_button_test.dart index 307717f89d7c1..ea5acfdc84f2e 100644 --- a/packages/flutter/test/material/filled_button_test.dart +++ b/packages/flutter/test/material/filled_button_test.dart @@ -7,6 +7,7 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; + import '../widgets/semantics_tester.dart'; void main() { @@ -635,14 +636,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - Color getTextColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -655,7 +656,7 @@ void main() { child: FilledButtonTheme( data: FilledButtonThemeData( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), ), ), child: Builder( @@ -710,14 +711,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - Color getTextColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -730,8 +731,8 @@ void main() { child: FilledButtonTheme( data: FilledButtonThemeData( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), - iconColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), + iconColor: WidgetStateProperty.resolveWith(getTextColor), ), ), child: Builder( @@ -1045,8 +1046,8 @@ void main() { textDirection: TextDirection.ltr, child: FilledButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.hovered) ? hoverColor : null; + overlayColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.hovered) ? hoverColor : null; }), ), onPressed: () {}, @@ -1075,8 +1076,8 @@ void main() { textDirection: TextDirection.ltr, child: FilledButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.focused) ? focusColor : null; + overlayColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.focused) ? focusColor : null; }), ), focusNode: focusNode, @@ -1100,8 +1101,8 @@ void main() { testWidgets('Does FilledButton work with autofocus', (WidgetTester tester) async { const Color focusColor = Color(0xff001122); - Color? getOverlayColor(Set states) { - return states.contains(MaterialState.focused) ? focusColor : null; + Color? getOverlayColor(Set states) { + return states.contains(WidgetState.focused) ? focusColor : null; } final FocusNode focusNode = FocusNode(debugLabel: 'FilledButton Node'); @@ -1111,7 +1112,7 @@ void main() { child: FilledButton( autofocus: true, style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), ), focusNode: focusNode, onPressed: () {}, @@ -2137,7 +2138,7 @@ void main() { ), ); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 0); final Offset center = tester.getCenter(find.byType(Text)); @@ -2146,42 +2147,42 @@ void main() { await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 1); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 2); await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 3); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 4); await gesture.up(); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 5); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 6); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 8); // adds hovered and pressed - two changes // If the button is rebuilt disabled, then the pressed state is @@ -2205,11 +2206,11 @@ void main() { ), ); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.disabled}); + expect(controller.value, {WidgetState.hovered, WidgetState.disabled}); expect(count, 10); // removes pressed and adds disabled - two changes await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 11); await gesture.removePointer(); } @@ -2242,7 +2243,7 @@ void main() { ), ), ); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 1); }); @@ -2255,13 +2256,13 @@ void main() { textDirection: TextDirection.ltr, child: FilledButton( style: FilledButton.styleFrom( - backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundBuilder: (BuildContext context, Set states, Widget? child) { return DecoratedBox( decoration: const BoxDecoration(color: backgroundColor), child: child, ); }, - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return DecoratedBox( decoration: const BoxDecoration(color: foregroundColor), child: child, @@ -2305,10 +2306,10 @@ void main() { textDirection: TextDirection.ltr, child: FilledButton( style: FilledButton.styleFrom( - backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: backgroundColor)); }, - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: foregroundColor)); }, ), @@ -2336,7 +2337,7 @@ void main() { textDirection: TextDirection.ltr, child: FilledButton( style: FilledButton.styleFrom( - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: foregroundColor)); }, ), @@ -2358,8 +2359,8 @@ void main() { testWidgets('FilledButton foreground and background builders are applied to the correct states', ( WidgetTester tester, ) async { - Set foregroundStates = {}; - Set backgroundStates = {}; + Set foregroundStates = {}; + Set backgroundStates = {}; final FocusNode focusNode = FocusNode(); await tester.pumpWidget( @@ -2368,16 +2369,14 @@ void main() { body: Center( child: FilledButton( style: ButtonStyle( - backgroundBuilder: - (BuildContext context, Set states, Widget? child) { - backgroundStates = states; - return child!; - }, - foregroundBuilder: - (BuildContext context, Set states, Widget? child) { - foregroundStates = states; - return child!; - }, + backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundStates = states; + return child!; + }, + foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundStates = states; + return child!; + }, ), onPressed: () {}, focusNode: focusNode, @@ -2392,18 +2391,18 @@ void main() { expect(backgroundStates.isEmpty, isTrue); expect(foregroundStates.isEmpty, isTrue); - const Set focusedStates = {MaterialState.focused}; - const Set focusedHoveredStates = { - MaterialState.focused, - MaterialState.hovered, + const Set focusedStates = {WidgetState.focused}; + const Set focusedHoveredStates = { + WidgetState.focused, + WidgetState.hovered, }; - const Set focusedHoveredPressedStates = { - MaterialState.focused, - MaterialState.hovered, - MaterialState.pressed, + const Set focusedHoveredPressedStates = { + WidgetState.focused, + WidgetState.hovered, + WidgetState.pressed, }; - bool sameStates(Set expectedValue, Set actualValue) { + bool sameStates(Set expectedValue, Set actualValue) { return expectedValue.difference(actualValue).isEmpty && actualValue.difference(expectedValue).isEmpty; } diff --git a/packages/flutter/test/material/filled_button_theme_test.dart b/packages/flutter/test/material/filled_button_theme_test.dart index 94700d1364626..ef3a80beb1f1e 100644 --- a/packages/flutter/test/material/filled_button_theme_test.dart +++ b/packages/flutter/test/material/filled_button_theme_test.dart @@ -136,11 +136,11 @@ void main() { matching: find.byType(InkWell), ); - const Set enabled = {}; - const Set disabled = {MaterialState.disabled}; - const Set hovered = {MaterialState.hovered}; - const Set focused = {MaterialState.focused}; - const Set pressed = {MaterialState.pressed}; + const Set enabled = {}; + const Set disabled = {WidgetState.disabled}; + const Set hovered = {WidgetState.hovered}; + const Set focused = {WidgetState.focused}; + const Set pressed = {WidgetState.pressed}; void checkButton(WidgetTester tester) { final Material material = tester.widget(findMaterial); @@ -151,11 +151,11 @@ void main() { expect(material.shadowColor, shadowColor); expect(material.elevation, elevation); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor!, enabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor!, enabled), enabledMouseCursor, ); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor!, disabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor!, disabled), disabledMouseCursor, ); expect(inkWell.overlayColor!.resolve(hovered), foregroundColor.withOpacity(0.08)); diff --git a/packages/flutter/test/material/filter_chip_test.dart b/packages/flutter/test/material/filter_chip_test.dart index 63c3601022d8f..8c0a6ddce8926 100644 --- a/packages/flutter/test/material/filter_chip_test.dart +++ b/packages/flutter/test/material/filter_chip_test.dart @@ -471,16 +471,16 @@ void main() { const Color disabledColor = Color(0xff00ff00); const Color backgroundColor = Color(0xff0000ff); const Color selectedColor = Color(0xffff0000); - final MaterialStateProperty color = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty color = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled) && states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.disabled) && states.contains(WidgetState.selected)) { return disabledSelectedColor; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return backgroundColor; diff --git a/packages/flutter/test/material/flexible_space_bar_test.dart b/packages/flutter/test/material/flexible_space_bar_test.dart index e417b75c384b1..8785bac847042 100644 --- a/packages/flutter/test/material/flexible_space_bar_test.dart +++ b/packages/flutter/test/material/flexible_space_bar_test.dart @@ -1462,7 +1462,18 @@ void main() { }); testWidgets('FlexibleSpaceBar rebuilds when scrolling.', (WidgetTester tester) async { - await tester.pumpWidget(const MaterialApp(home: SubCategoryScreenView())); + await tester.pumpWidget( + MaterialApp( + home: const SubCategoryScreenView(), + theme: ThemeData( + pageTransitionsTheme: const PageTransitionsTheme( + builders: { + TargetPlatform.android: ZoomPageTransitionsBuilder(), + }, + ), + ), + ), + ); expect(RenderRebuildTracker.count, 1); expect( @@ -1613,6 +1624,21 @@ void main() { final DefaultTextStyle textStyle = DefaultTextStyle.of(tester.element(find.text('Title'))); expect(textStyle.style.color, theme.textTheme.titleLarge!.color); }); + + testWidgets('FlexibleSpaceBar does not crash at zero area', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Center( + child: SizedBox.shrink( + child: Scaffold( + appBar: AppBar(flexibleSpace: const FlexibleSpaceBar(title: Text('X'))), + ), + ), + ), + ), + ); + expect(tester.getSize(find.byType(FlexibleSpaceBar)), Size.zero); + }); } class TestDelegate extends SliverPersistentHeaderDelegate { diff --git a/packages/flutter/test/material/floating_action_button_theme_test.dart b/packages/flutter/test/material/floating_action_button_theme_test.dart index 90cd46ada094e..d61967cbf91b8 100644 --- a/packages/flutter/test/material/floating_action_button_theme_test.dart +++ b/packages/flutter/test/material/floating_action_button_theme_test.dart @@ -547,7 +547,7 @@ void main() { MaterialApp( theme: ThemeData().copyWith( floatingActionButtonTheme: FloatingActionButtonThemeData( - mouseCursor: MaterialStateProperty.all(SystemMouseCursors.text), + mouseCursor: WidgetStateProperty.all(SystemMouseCursors.text), ), ), home: Scaffold( diff --git a/packages/flutter/test/material/icon_button_test.dart b/packages/flutter/test/material/icon_button_test.dart index b3291731626a8..f84bdc6101968 100644 --- a/packages/flutter/test/material/icon_button_test.dart +++ b/packages/flutter/test/material/icon_button_test.dart @@ -2108,17 +2108,17 @@ void main() { const Color defaultColor = Color(0x00000004); const Color selectedColor = Color(0x00000005); - Color getIconColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getIconColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return defaultColor; @@ -2133,7 +2133,7 @@ void main() { body: Center( child: IconButton( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getIconColor), + foregroundColor: WidgetStateProperty.resolveWith(getIconColor), ), isSelected: isSelected, onPressed: () { @@ -2761,6 +2761,37 @@ void main() { expect(getOverlayColor(tester), paints..rect(color: overlayColor)); }); + // Regression test for https://github.com/flutter/flutter/issues/174511. + testWidgets('IconButton.color takes precedence over ambient IconButtonThemeData.iconColor', ( + WidgetTester tester, + ) async { + const Color iconButtonColor = Color(0xFFFF1234); + + await tester.pumpWidget( + MaterialApp( + theme: ThemeData( + iconButtonTheme: const IconButtonThemeData( + style: ButtonStyle( + iconColor: WidgetStateColor.fromMap({ + WidgetState.any: Colors.purple, + }), + ), + ), + ), + home: Material( + child: Center( + child: IconButton( + onPressed: () {}, + icon: const Icon(Icons.add, size: 64), + color: iconButtonColor, + ), + ), + ), + ), + ); + expect(_iconStyle(tester, Icons.add)?.color, iconButtonColor); + }); + group('IconTheme tests in Material 3', () { testWidgets('IconTheme overrides default values in M3', (WidgetTester tester) async { // Theme's IconTheme @@ -3027,7 +3058,9 @@ void main() { ), ); - final Offset topLeft = tester.getTopLeft(find.byType(ColoredBox)); + final Offset topLeft = tester.getTopLeft( + find.descendant(of: find.byType(Center), matching: find.byType(ColoredBox)), + ); final TestGesture gesture = await tester.createGesture(kind: PointerDeviceKind.mouse); await gesture.addPointer(); await gesture.moveTo(topLeft); @@ -3434,7 +3467,7 @@ void main() { await tester.pumpWidget(MaterialApp(home: Center(child: iconButton))); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 0); final Offset center = tester.getCenter(find.byType(Icon)); @@ -3443,42 +3476,42 @@ void main() { await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 1); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 2); await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 3); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 4); await gesture.up(); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 5); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 6); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 8); // adds hovered and pressed - two changes } diff --git a/packages/flutter/test/material/icon_button_theme_test.dart b/packages/flutter/test/material/icon_button_theme_test.dart index 5673c705c2921..919b28df272ae 100644 --- a/packages/flutter/test/material/icon_button_theme_test.dart +++ b/packages/flutter/test/material/icon_button_theme_test.dart @@ -131,11 +131,11 @@ void main() { matching: find.byType(InkWell), ); - const Set enabled = {}; - const Set disabled = {MaterialState.disabled}; - const Set hovered = {MaterialState.hovered}; - const Set focused = {MaterialState.focused}; - const Set pressed = {MaterialState.pressed}; + const Set enabled = {}; + const Set disabled = {WidgetState.disabled}; + const Set hovered = {WidgetState.hovered}; + const Set focused = {WidgetState.focused}; + const Set pressed = {WidgetState.pressed}; void checkButton(WidgetTester tester) { final Material material = tester.widget(findMaterial); @@ -145,11 +145,11 @@ void main() { expect(material.shadowColor, shadowColor); expect(material.elevation, elevation); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor, enabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor, enabled), enabledMouseCursor, ); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor, disabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor, disabled), disabledMouseCursor, ); expect(inkWell.overlayColor!.resolve(hovered), foregroundColor.withOpacity(0.08)); diff --git a/packages/flutter/test/material/ink_well_test.dart b/packages/flutter/test/material/ink_well_test.dart index 28e529755fe65..662924447fd55 100644 --- a/packages/flutter/test/material/ink_well_test.dart +++ b/packages/flutter/test/material/ink_well_test.dart @@ -7,6 +7,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/src/services/keyboard_key.g.dart'; import 'package:flutter_test/flutter_test.dart'; + import '../widgets/feedback_tester.dart'; import '../widgets/semantics_tester.dart'; @@ -35,6 +36,9 @@ void main() { onLongPress: () { log.add('long-press'); }, + onLongPressUp: () { + log.add('long-press-up'); + }, onTapDown: (TapDownDetails details) { log.add('tap-down'); }, @@ -68,7 +72,7 @@ void main() { await tester.longPress(find.byType(InkWell), pointer: 4); - expect(log, equals(['tap-down', 'tap-cancel', 'long-press'])); + expect(log, equals(['tap-down', 'tap-cancel', 'long-press', 'long-press-up'])); log.clear(); TestGesture gesture = await tester.startGesture(tester.getRect(find.byType(InkWell)).center); @@ -142,6 +146,31 @@ void main() { expect(log, equals(['tap'])); }); + testWidgets('InkWell onLongPressUp callback is triggered', (WidgetTester tester) async { + bool wasCalled = false; + + await tester.pumpWidget( + MaterialApp( + home: Material( + child: InkWell( + onLongPress: () {}, + onLongPressUp: () { + wasCalled = true; + }, + child: const SizedBox(width: 100, height: 100), + ), + ), + ), + ); + + final TestGesture gesture = await tester.startGesture(tester.getCenter(find.byType(InkWell))); + await tester.pump(const Duration(seconds: 1)); + await gesture.up(); + await tester.pumpAndSettle(); + + expect(wasCalled, isTrue); + }); + testWidgets('long-press and tap on disabled should not throw', (WidgetTester tester) async { await tester.pumpWidget( const Material( @@ -173,6 +202,7 @@ void main() { highlightColor: const Color(0xf00fffff), onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, ), ), @@ -206,20 +236,21 @@ void main() { width: 100, height: 100, child: InkWell( - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return const Color(0xff0000ff); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return const Color(0xf00fffff); } return const Color(0xffbadbad); // Shouldn't happen. }), onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, ), ), @@ -260,6 +291,7 @@ void main() { highlightColor: const Color(0xf00fffff), onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, ), ), @@ -297,14 +329,14 @@ void main() { height: 100, child: InkWell( focusNode: focusNode, - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return const Color(0xff0000ff); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return const Color(0xf00fffff); } return const Color(0xffbadbad); // Shouldn't happen. @@ -312,6 +344,7 @@ void main() { highlightColor: const Color(0xf00fffff), onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, ), ), @@ -348,8 +381,8 @@ void main() { height: 100, child: InkWell( splashFactory: NoSplash.splashFactory, - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.pressed)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } return const Color(0xffbadbad); // Shouldn't happen. @@ -385,8 +418,8 @@ void main() { const Rect inkRect = Rect.fromLTRB(0, 0, 100, 100); Widget boilerplate({FocusNode? focusNode}) { - final WidgetStatesController statesController = WidgetStatesController({ - MaterialState.selected, + final WidgetStatesController statesController = WidgetStatesController({ + WidgetState.selected, }); addTearDown(statesController.dispose); @@ -495,6 +528,7 @@ void main() { highlightColor: const Color(0xf00fffff), onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, ), ), @@ -515,7 +549,7 @@ void main() { focusNode.dispose(); }); - testWidgets('ink response splashColor matches resolved overlayColor for MaterialState.pressed', ( + testWidgets('ink response splashColor matches resolved overlayColor for WidgetState.pressed', ( WidgetTester tester, ) async { // Same test as 'ink response splashColor matches splashColor @@ -537,22 +571,21 @@ void main() { width: 100, height: 100, child: InkWell( - overlayColor: MaterialStateProperty.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.hovered)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return const Color(0xff0000ff); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return splashColor; } return const Color(0xffbadbad); // Shouldn't happen. }), onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, ), ), @@ -1110,6 +1143,7 @@ void main() { highlightColor: const Color(0xf00fffff), onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, ), ), @@ -1263,7 +1297,7 @@ void main() { child: Directionality( textDirection: TextDirection.ltr, child: Center( - child: InkWell(onTap: () {}, onLongPress: () {}), + child: InkWell(onTap: () {}, onLongPress: () {}, onLongPressUp: () {}), ), ), ), @@ -1290,7 +1324,12 @@ void main() { child: Directionality( textDirection: TextDirection.ltr, child: Center( - child: InkWell(onTap: () {}, onLongPress: () {}, enableFeedback: false), + child: InkWell( + onTap: () {}, + onLongPress: () {}, + onLongPressUp: () {}, + enableFeedback: false, + ), ), ), ), @@ -1411,6 +1450,7 @@ void main() { autofocus: true, onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, focusNode: focusNode, child: Container(key: childKey), @@ -1452,6 +1492,7 @@ void main() { autofocus: true, onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, focusNode: focusNode, child: Container(key: childKey), @@ -2175,7 +2216,7 @@ void main() { textDirection: TextDirection.ltr, child: Material( child: Center( - child: InkWell(onLongPress: () {}, child: const Text('Foo')), + child: InkWell(onLongPress: () {}, onLongPressUp: () {}, child: const Text('Foo')), ), ), ), @@ -2198,7 +2239,12 @@ void main() { textDirection: TextDirection.ltr, child: Material( child: Center( - child: InkWell(onLongPress: () {}, onTap: () {}, child: const Text('Foo')), + child: InkWell( + onLongPress: () {}, + onLongPressUp: () {}, + onTap: () {}, + child: const Text('Foo'), + ), ), ), ), @@ -2335,7 +2381,7 @@ void main() { addTearDown(controller.dispose); int pressedCount = 0; controller.addListener(() { - if (controller.value.contains(MaterialState.pressed)) { + if (controller.value.contains(WidgetState.pressed)) { pressedCount += 1; } }); @@ -2372,16 +2418,15 @@ void main() { width: 100, height: 100, child: InkWell( - overlayColor: MaterialStateProperty.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.hovered)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } return null; }), onTap: () {}, onLongPress: () {}, + onLongPressUp: () {}, onHover: (bool hover) {}, ), ), @@ -2536,10 +2581,10 @@ void main() { // The InkWell is in pressed state. await tester.pump(const Duration(milliseconds: 99)); - expect(controller.value.contains(MaterialState.pressed), isTrue); + expect(controller.value.contains(WidgetState.pressed), isTrue); await tester.pumpAndSettle(); - expect(controller.value.contains(MaterialState.pressed), isFalse); + expect(controller.value.contains(WidgetState.pressed), isFalse); controller.dispose(); }); diff --git a/packages/flutter/test/material/input_chip_test.dart b/packages/flutter/test/material/input_chip_test.dart index a1fcadf04d7a1..40d68c0b681cc 100644 --- a/packages/flutter/test/material/input_chip_test.dart +++ b/packages/flutter/test/material/input_chip_test.dart @@ -40,7 +40,7 @@ Widget selectedInputChip({Color? checkmarkColor, bool enabled = false}) { isEnabled: enabled, // When [enabled] is true we also need to provide one of the chip // callbacks, otherwise the chip would have a 'disabled' - // [MaterialState], which is not the intention. + // [WidgetState], which is not the intention. onSelected: enabled ? (_) {} : null, showCheckmark: true, checkmarkColor: checkmarkColor, @@ -128,15 +128,14 @@ void main() { child: InputChip( onSelected: enabled ? (bool value) {} : null, selected: selected, - color: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled) && - states.contains(MaterialState.selected)) { + color: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled) && states.contains(WidgetState.selected)) { return disabledSelectedColor; } - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return backgroundColor; diff --git a/packages/flutter/test/material/input_decorator_test.dart b/packages/flutter/test/material/input_decorator_test.dart index 1271fb9dddf65..04e1b50a368c0 100644 --- a/packages/flutter/test/material/input_decorator_test.dart +++ b/packages/flutter/test/material/input_decorator_test.dart @@ -2951,6 +2951,71 @@ void main() { // TODO(bleroux): fix input decorator to not rely on forcing the label text line height to 1.0. }); + testWidgets('When the label appears within the input its padding is correct', ( + WidgetTester tester, + ) async { + // Define a label larger than the available decorator, the label will fill + // all the available space (decorator width minus padding and affixes). + const Widget largeLabel = SizedBox(key: customLabelKey, width: 1000, height: 16); + await tester.pumpWidget( + buildInputDecorator( + isEmpty: true, + decoration: const InputDecoration(filled: true, label: largeLabel), + ), + ); + + // For filled and/or outlined decoration, the horizontal padding is 16. + const double horizontalPadding = 16.0; + expect(getCustomLabelRect(tester).left, horizontalPadding); + expect(getCustomLabelRect(tester).right, 800 - horizontalPadding); + + // Outlined decorator. + await tester.pumpWidget( + buildInputDecorator( + isEmpty: true, + decoration: const InputDecoration(border: OutlineInputBorder(), label: largeLabel), + ), + ); + + expect(getCustomLabelRect(tester).left, horizontalPadding); + expect(getCustomLabelRect(tester).right, 800 - horizontalPadding); + + // Rebuild with affixes. + await tester.pumpWidget( + buildInputDecorator( + isEmpty: true, + decoration: const InputDecoration( + filled: true, + label: largeLabel, + suffixIcon: Icon(Icons.align_horizontal_left_sharp), + prefixIcon: Icon(Icons.align_horizontal_right_sharp), + ), + ), + ); + + // When suffixIcon and/or prefixIcon are set, the corresponding horizontal + // padding is 52 (48 for the icon + 4 input gap based on M3 spec). + const double affixesHorizontalPadding = 52.0; + expect(getCustomLabelRect(tester).left, affixesHorizontalPadding); + expect(getCustomLabelRect(tester).right, 800 - affixesHorizontalPadding); + + // Outlined decorator. + await tester.pumpWidget( + buildInputDecorator( + isEmpty: true, + decoration: const InputDecoration( + border: OutlineInputBorder(), + label: largeLabel, + suffixIcon: Icon(Icons.align_horizontal_left_sharp), + prefixIcon: Icon(Icons.align_horizontal_right_sharp), + ), + ), + ); + + expect(getCustomLabelRect(tester).left, affixesHorizontalPadding); + expect(getCustomLabelRect(tester).right, 800 - affixesHorizontalPadding); + }); + testWidgets( 'The label appears above the input when there is no content and floatingLabelBehavior is always', (WidgetTester tester) async { @@ -6145,6 +6210,21 @@ void main() { ); }, throwsAssertionError); }); + + // Regression test for https://github.com/flutter/flutter/issues/174784. + testWidgets('InputDecorator error widget text style defaults to errorStyle', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + buildInputDecorator(decoration: const InputDecoration(error: Text(errorText))), + ); + + expect(findError(), findsOneWidget); + final ThemeData theme = Theme.of(tester.element(findDecorator())); + final Color expectedColor = theme.colorScheme.error; + final TextStyle expectedStyle = theme.textTheme.bodySmall!.copyWith(color: expectedColor); + expect(getErrorStyle(tester), expectedStyle); + }); }); testWidgets('InputDecorator with counter does not crash when given a 0 size', ( @@ -8321,17 +8401,17 @@ void main() { }, ); - testWidgets('InputDecorationThemeData.inputDecoration with MaterialState', ( + testWidgets('InputDecorationThemeData.inputDecoration with WidgetState', ( WidgetTester tester, ) async { final MaterialStateTextStyle themeStyle = MaterialStateTextStyle.resolveWith(( - Set states, + Set states, ) { return const TextStyle(color: Colors.green); }); final MaterialStateTextStyle decorationStyle = MaterialStateTextStyle.resolveWith(( - Set states, + Set states, ) { return const TextStyle(color: Colors.blue); }); @@ -8377,7 +8457,7 @@ void main() { // InputDecoration (baseDecoration) defines InputDecoration properties final MaterialStateOutlineInputBorder border = MaterialStateOutlineInputBorder.resolveWith(( - Set states, + Set states, ) { return const OutlineInputBorder(); }); @@ -8770,15 +8850,19 @@ void main() { 'Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.'; Widget getLabeledInputDecorator(FloatingLabelBehavior floatingLabelBehavior) => MaterialApp( - home: Material( - child: SizedBox( - width: 300, - child: TextField( - decoration: InputDecoration( - border: const OutlineInputBorder(borderSide: BorderSide(color: Colors.greenAccent)), - suffixIcon: const Icon(Icons.arrow_drop_down), - floatingLabelBehavior: floatingLabelBehavior, - labelText: labelText, + home: MaterialApp( + home: Scaffold( + body: SizedBox( + width: 300, + child: TextField( + decoration: InputDecoration( + border: const OutlineInputBorder( + borderSide: BorderSide(color: Colors.greenAccent), + ), + suffixIcon: const Icon(Icons.arrow_drop_down), + floatingLabelBehavior: floatingLabelBehavior, + labelText: labelText, + ), ), ), ), @@ -9878,6 +9962,96 @@ void main() { ); }); + testWidgets('errorBorder', (WidgetTester tester) async { + const InputBorder errorBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.red, width: 1.5), + ); + + await tester.pumpWidget( + buildInputDecorator( + localInputDecorationTheme: const InputDecorationThemeData(errorBorder: errorBorder), + decoration: const InputDecoration(errorText: 'error'), + ), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), errorBorder); + }); + + testWidgets('focusedErrorBorder', (WidgetTester tester) async { + const InputBorder focusedErrorBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.red, width: 1.5), + ); + + await tester.pumpWidget( + buildInputDecorator( + isFocused: true, + localInputDecorationTheme: const InputDecorationThemeData( + focusedErrorBorder: focusedErrorBorder, + ), + decoration: const InputDecoration(errorText: 'error'), + ), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), focusedErrorBorder); + }); + + testWidgets('focusedBorder', (WidgetTester tester) async { + const InputBorder focusedBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.green, width: 1.5), + ); + + await tester.pumpWidget( + buildInputDecorator( + isFocused: true, + localInputDecorationTheme: const InputDecorationThemeData(focusedBorder: focusedBorder), + ), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), focusedBorder); + }); + + testWidgets('enabledBorder', (WidgetTester tester) async { + const InputBorder enabledBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.teal, width: 5.0), + ); + + await tester.pumpWidget( + buildInputDecorator( + localInputDecorationTheme: const InputDecorationThemeData(enabledBorder: enabledBorder), + ), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), enabledBorder); + }); + + testWidgets('disabledBorder', (WidgetTester tester) async { + const InputBorder disabledBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.teal, width: 3.0), + ); + + await tester.pumpWidget( + buildInputDecorator( + localInputDecorationTheme: const InputDecorationThemeData(disabledBorder: disabledBorder), + decoration: const InputDecoration(enabled: false), + ), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), disabledBorder); + }); + + testWidgets('border', (WidgetTester tester) async { + final BorderRadius borderRadius = BorderRadius.circular(6.0); + final InputBorder border = OutlineInputBorder(borderRadius: borderRadius); + await tester.pumpWidget( + buildInputDecorator(localInputDecorationTheme: InputDecorationThemeData(border: border)), + ); + + // The real instance of border is created based on the given border. + // The type and the borderRadius should be the same as the given border. + expect(getBorder(tester), isA()); + expect(getBorderRadius(tester), borderRadius); + }); + testWidgets('alignLabelWithHint', (WidgetTester tester) async { await tester.pumpWidget( buildInputDecorator( @@ -10056,8 +10230,8 @@ void main() { const Color iconErrorColor = Color(0xffff0000); const Color iconColor = Color(0xff00ff00); final ButtonStyle iconButtonStyle = ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.error)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.error)) { return iconErrorColor; } return iconColor; @@ -10098,8 +10272,8 @@ void main() { const Color iconErrorColor = Color(0xffff0000); const Color iconColor = Color(0xff00ff00); final ButtonStyle iconButtonStyle = ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.error)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.error)) { return iconErrorColor; } return iconColor; @@ -10133,6 +10307,92 @@ void main() { expect(getIconStyle(tester, suffixIcon)?.color, iconColor); }); + group('Custom borders', () { + testWidgets('InputDecoration shows custom focused border', (WidgetTester tester) async { + const InputBorder focusedBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.teal, width: 5.0), + ); + + await tester.pumpWidget( + buildInputDecorator( + isFocused: true, + decoration: const InputDecoration(focusedBorder: focusedBorder), + ), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), focusedBorder); + }); + + testWidgets('InputDecoration shows custom error borders', (WidgetTester tester) async { + const InputBorder errorBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.red, width: 1.5), + ); + const InputBorder focusedErrorBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.teal, width: 5.0), + ); + + Future checkBorders({ + bool isFocused = false, + bool enabled = true, + String? errorText, + Widget? error, + required InputBorder expectedBorder, + }) async { + await tester.pumpWidget( + buildInputDecorator( + isFocused: isFocused, + decoration: InputDecoration( + errorText: errorText, + error: error, + enabled: enabled, + errorBorder: errorBorder, + focusedErrorBorder: focusedErrorBorder, + ), + ), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), expectedBorder); + } + + // Test with errorText. + await checkBorders(isFocused: true, errorText: 'error', expectedBorder: focusedErrorBorder); + await checkBorders(errorText: 'error', expectedBorder: errorBorder); + await checkBorders(enabled: false, errorText: 'error', expectedBorder: errorBorder); + + // Test with error widget. + const Widget error = Text('error'); + await checkBorders(isFocused: true, error: error, expectedBorder: focusedErrorBorder); + await checkBorders(error: error, expectedBorder: errorBorder); + await checkBorders(enabled: false, error: error, expectedBorder: errorBorder); + }); + + testWidgets('InputDecoration shows custom enabled border', (WidgetTester tester) async { + const InputBorder enabledBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.teal, width: 5.0), + ); + + await tester.pumpWidget( + buildInputDecorator(decoration: const InputDecoration(enabledBorder: enabledBorder)), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), enabledBorder); + }); + + testWidgets('InputDecoration shows custom disabled border', (WidgetTester tester) async { + const InputBorder disabledBorder = OutlineInputBorder( + borderSide: BorderSide(color: Colors.teal, width: 3.0), + ); + + await tester.pumpWidget( + buildInputDecorator( + decoration: const InputDecoration(enabled: false, disabledBorder: disabledBorder), + ), + ); + await tester.pumpAndSettle(); // Border changes are animated. + expect(getBorder(tester), disabledBorder); + }); + }); + group('Material2', () { // These tests are only relevant for Material 2. Once Material 2 // support is deprecated and the APIs are removed, these tests diff --git a/packages/flutter/test/material/list_tile_test.dart b/packages/flutter/test/material/list_tile_test.dart index 6c6221ce7d20b..4c2f3f402dbf8 100644 --- a/packages/flutter/test/material/list_tile_test.dart +++ b/packages/flutter/test/material/list_tile_test.dart @@ -2176,7 +2176,7 @@ void main() { ); }); - testWidgets('ListTile.textColor respects MaterialStateColor', (WidgetTester tester) async { + testWidgets('ListTile.textColor respects WidgetStateColor', (WidgetTester tester) async { bool enabled = false; bool selected = false; const Color defaultColor = Colors.blue; @@ -2192,11 +2192,11 @@ void main() { return ListTile( enabled: enabled, selected: selected, - textColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + textColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return defaultColor; @@ -2231,7 +2231,7 @@ void main() { expect(title.text.style!.color, selectedColor); }); - testWidgets('ListTile.iconColor respects MaterialStateColor', (WidgetTester tester) async { + testWidgets('ListTile.iconColor respects WidgetStateColor', (WidgetTester tester) async { bool enabled = false; bool selected = false; const Color defaultColor = Colors.blue; @@ -2248,11 +2248,11 @@ void main() { return ListTile( enabled: enabled, selected: selected, - iconColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + iconColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return defaultColor; @@ -4645,7 +4645,7 @@ void main() { ), ); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 0); final Offset center = tester.getCenter(find.byType(Text)); @@ -4654,42 +4654,42 @@ void main() { await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 1); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 2); await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 3); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 4); await gesture.up(); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 5); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 6); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 8); // adds hovered and pressed - two changes // If the button is rebuilt disabled, then the pressed state is @@ -4704,11 +4704,11 @@ void main() { ), ); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.disabled}); + expect(controller.value, {WidgetState.hovered, WidgetState.disabled}); expect(count, 10); // removes pressed and adds disabled - two changes await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 11); await gesture.removePointer(); }); diff --git a/packages/flutter/test/material/list_tile_theme_test.dart b/packages/flutter/test/material/list_tile_theme_test.dart index e5ddc072fb0e6..b0edc2d129e6c 100644 --- a/packages/flutter/test/material/list_tile_theme_test.dart +++ b/packages/flutter/test/material/list_tile_theme_test.dart @@ -230,8 +230,8 @@ void main() { iconColor: iconColor, textColor: textColor, minVerticalPadding: 25.0, - mouseCursor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + mouseCursor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.forbidden; } @@ -787,7 +787,7 @@ void main() { expect(inkWellBorder, shapeBorder); }); - testWidgets('ListTile respects MaterialStateColor LisTileTheme.textColor', ( + testWidgets('ListTile respects WidgetStateColor LisTileTheme.textColor', ( WidgetTester tester, ) async { bool enabled = false; @@ -798,11 +798,11 @@ void main() { final ThemeData theme = ThemeData( listTileTheme: ListTileThemeData( - textColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + textColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return defaultColor; @@ -849,7 +849,7 @@ void main() { expect(title.text.style!.color, selectedColor); }); - testWidgets('ListTile respects MaterialStateColor LisTileTheme.iconColor', ( + testWidgets('ListTile respects WidgetStateColor LisTileTheme.iconColor', ( WidgetTester tester, ) async { bool enabled = false; @@ -861,11 +861,11 @@ void main() { final ThemeData theme = ThemeData( listTileTheme: ListTileThemeData( - iconColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + iconColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return disabledColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return defaultColor; diff --git a/packages/flutter/test/material/localizations_test.dart b/packages/flutter/test/material/localizations_test.dart index 7a4149515d4d3..caeecd4a92e07 100644 --- a/packages/flutter/test/material/localizations_test.dart +++ b/packages/flutter/test/material/localizations_test.dart @@ -87,6 +87,8 @@ void main() { expect(localizations.collapsedIconTapHint, isNotNull); expect(localizations.expansionTileExpandedHint, isNotNull); expect(localizations.expansionTileCollapsedHint, isNotNull); + expect(localizations.expansionTileExpandedTapHint, isNotNull); + expect(localizations.expansionTileCollapsedTapHint, isNotNull); expect(localizations.expandedHint, isNotNull); expect(localizations.collapsedHint, isNotNull); expect(localizations.keyboardKeyAlt, isNotNull); diff --git a/packages/flutter/test/material/material_state_mixin_test.dart b/packages/flutter/test/material/material_state_mixin_test.dart index c9d57f736edfa..f481ebc5834fa 100644 --- a/packages/flutter/test/material/material_state_mixin_test.dart +++ b/packages/flutter/test/material/material_state_mixin_test.dart @@ -12,7 +12,7 @@ const Color trueColor = Colors.red; const Color falseColor = Colors.green; /// Mock widget which plays the role of a button -- it can emit notifications -/// that [MaterialState] values are now in or out of play. +/// that [WidgetState] values are now in or out of play. class _InnerWidget extends StatefulWidget { const _InnerWidget({required this.onValueChanged, required this.controller}); final ValueChanged onValueChanged; @@ -45,7 +45,7 @@ class _MyWidget extends StatefulWidget { final StreamController controller; /// The value we're watching in the given test. - final MaterialState materialState; + final WidgetState materialState; @override State createState() => _MyWidgetState(); @@ -79,82 +79,82 @@ void main() { expect(tester.widget(find.byKey(key)).color, falseColor); } - testWidgets('MaterialState.pressed is tracked', (WidgetTester tester) async { + testWidgets('WidgetState.pressed is tracked', (WidgetTester tester) async { final StreamController controller = StreamController(); final _MyWidget widget = _MyWidget( controller: controller, evaluator: (_MyWidgetState state) => state.isPressed, - materialState: MaterialState.pressed, + materialState: WidgetState.pressed, ); await verify(tester, widget, controller); }); - testWidgets('MaterialState.focused is tracked', (WidgetTester tester) async { + testWidgets('WidgetState.focused is tracked', (WidgetTester tester) async { final StreamController controller = StreamController(); final _MyWidget widget = _MyWidget( controller: controller, evaluator: (_MyWidgetState state) => state.isFocused, - materialState: MaterialState.focused, + materialState: WidgetState.focused, ); await verify(tester, widget, controller); }); - testWidgets('MaterialState.hovered is tracked', (WidgetTester tester) async { + testWidgets('WidgetState.hovered is tracked', (WidgetTester tester) async { final StreamController controller = StreamController(); final _MyWidget widget = _MyWidget( controller: controller, evaluator: (_MyWidgetState state) => state.isHovered, - materialState: MaterialState.hovered, + materialState: WidgetState.hovered, ); await verify(tester, widget, controller); }); - testWidgets('MaterialState.disabled is tracked', (WidgetTester tester) async { + testWidgets('WidgetState.disabled is tracked', (WidgetTester tester) async { final StreamController controller = StreamController(); final _MyWidget widget = _MyWidget( controller: controller, evaluator: (_MyWidgetState state) => state.isDisabled, - materialState: MaterialState.disabled, + materialState: WidgetState.disabled, ); await verify(tester, widget, controller); }); - testWidgets('MaterialState.selected is tracked', (WidgetTester tester) async { + testWidgets('WidgetState.selected is tracked', (WidgetTester tester) async { final StreamController controller = StreamController(); final _MyWidget widget = _MyWidget( controller: controller, evaluator: (_MyWidgetState state) => state.isSelected, - materialState: MaterialState.selected, + materialState: WidgetState.selected, ); await verify(tester, widget, controller); }); - testWidgets('MaterialState.scrolledUnder is tracked', (WidgetTester tester) async { + testWidgets('WidgetState.scrolledUnder is tracked', (WidgetTester tester) async { final StreamController controller = StreamController(); final _MyWidget widget = _MyWidget( controller: controller, evaluator: (_MyWidgetState state) => state.isScrolledUnder, - materialState: MaterialState.scrolledUnder, + materialState: WidgetState.scrolledUnder, ); await verify(tester, widget, controller); }); - testWidgets('MaterialState.dragged is tracked', (WidgetTester tester) async { + testWidgets('WidgetState.dragged is tracked', (WidgetTester tester) async { final StreamController controller = StreamController(); final _MyWidget widget = _MyWidget( controller: controller, evaluator: (_MyWidgetState state) => state.isDragged, - materialState: MaterialState.dragged, + materialState: WidgetState.dragged, ); await verify(tester, widget, controller); }); - testWidgets('MaterialState.error is tracked', (WidgetTester tester) async { + testWidgets('WidgetState.error is tracked', (WidgetTester tester) async { final StreamController controller = StreamController(); final _MyWidget widget = _MyWidget( controller: controller, evaluator: (_MyWidgetState state) => state.isErrored, - materialState: MaterialState.error, + materialState: WidgetState.error, ); await verify(tester, widget, controller); }); diff --git a/packages/flutter/test/material/menu_anchor_test.dart b/packages/flutter/test/material/menu_anchor_test.dart index 25ed8c5989163..7ef98382433cd 100644 --- a/packages/flutter/test/material/menu_anchor_test.dart +++ b/packages/flutter/test/material/menu_anchor_test.dart @@ -271,7 +271,7 @@ void main() { ); expect( tester.getRect(find.widgetWithText(MenuItemButton, TestMenu.subMenu10.label)), - equals(const Rect.fromLTRB(265.0, 40.0, 467.0, 80.0)), + equals(const Rect.fromLTRB(265.0, 48.0, 467.0, 88.0)), ); expect( tester.getRect( @@ -279,7 +279,7 @@ void main() { .ancestor(of: find.text(TestMenu.subMenu10.label), matching: find.byType(Material)) .at(1), ), - equals(const Rect.fromLTRB(265.0, 40.0, 467.0, 160.0)), + equals(const Rect.fromLTRB(265.0, 40.0, 467.0, 176.0)), ); await tester.pumpWidget(Container()); @@ -295,7 +295,7 @@ void main() { // 590 = 695 - 105 expect( tester.getRect(find.byType(MenuBar)), - equals(const Rect.fromLTRB(105.0, 0.0, 695.0, 72.0)), + equals(const Rect.fromLTRB(105.0, 0.0, 695.0, 56.0)), ); // Open and make sure things are the right size. @@ -304,15 +304,11 @@ void main() { expect( tester.getRect(find.byType(MenuBar)), - equals(const Rect.fromLTRB(105.0, 0.0, 695.0, 72.0)), - ); - expect( - tester.getRect(find.byType(MenuBar)), - equals(const Rect.fromLTRB(105.0, 0.0, 695.0, 72.0)), + equals(const Rect.fromLTRB(105.0, 0.0, 695.0, 56.0)), ); expect( tester.getRect(find.widgetWithText(MenuItemButton, TestMenu.subMenu10.label)), - equals(const Rect.fromLTRB(257.0, 80.0, 491.0, 136.0)), + equals(const Rect.fromLTRB(257.0, 64.0, 491.0, 120.0)), ); expect( tester.getRect( @@ -320,7 +316,7 @@ void main() { .ancestor(of: find.text(TestMenu.subMenu10.label), matching: find.byType(Material)) .at(1), ), - equals(const Rect.fromLTRB(249.0, 64.0, 499.0, 264.0)), + equals(const Rect.fromLTRB(249.0, 56.0, 499.0, 240.0)), ); }); @@ -510,7 +506,7 @@ void main() { menuChildren: [ MenuItemButton( style: ButtonStyle( - minimumSize: MaterialStateProperty.all(const Size.fromHeight(1000)), + minimumSize: WidgetStateProperty.all(const Size.fromHeight(1000)), ), onPressed: () {}, child: const Text('Category'), @@ -548,7 +544,7 @@ void main() { menuChildren: [ MenuItemButton( style: ButtonStyle( - minimumSize: MaterialStateProperty.all(const Size.fromHeight(1000)), + minimumSize: WidgetStateProperty.all(const Size.fromHeight(1000)), ), onPressed: () {}, child: const Text('Category'), @@ -1101,7 +1097,7 @@ void main() { Expanded( child: MenuBar( style: MenuStyle( - elevation: MaterialStateProperty.all(10), + elevation: WidgetStateProperty.all(10), backgroundColor: const MaterialStatePropertyAll(Colors.red), ), children: createTestMenus(onPressed: onPressed), @@ -2996,13 +2992,13 @@ void main() { testWidgets('diagnostics', (WidgetTester tester) async { final ButtonStyle style = ButtonStyle( - shape: MaterialStateProperty.all(const StadiumBorder()), - elevation: MaterialStateProperty.all(10.0), + shape: WidgetStateProperty.all(const StadiumBorder()), + elevation: WidgetStateProperty.all(10.0), backgroundColor: const MaterialStatePropertyAll(Colors.red), ); final MenuStyle menuStyle = MenuStyle( - shape: MaterialStateProperty.all(const RoundedRectangleBorder()), - elevation: MaterialStateProperty.all(20.0), + shape: WidgetStateProperty.all(const RoundedRectangleBorder()), + elevation: WidgetStateProperty.all(20.0), backgroundColor: const MaterialStatePropertyAll(Colors.green), ); await tester.pumpWidget( @@ -3803,8 +3799,8 @@ void main() { collectSubmenuRects(), equals(const [ Rect.fromLTRB(161.0, 0.0, 639.0, 40.0), - Rect.fromLTRB(265.0, 40.0, 467.0, 160.0), - Rect.fromLTRB(467.0, 80.0, 707.0, 240.0), + Rect.fromLTRB(265.0, 40.0, 467.0, 176.0), + Rect.fromLTRB(467.0, 80.0, 707.0, 256.0), ]), ); }); @@ -3819,8 +3815,8 @@ void main() { collectSubmenuRects(), equals(const [ Rect.fromLTRB(161.0, 0.0, 639.0, 40.0), - Rect.fromLTRB(333.0, 40.0, 535.0, 160.0), - Rect.fromLTRB(93.0, 80.0, 333.0, 240.0), + Rect.fromLTRB(333.0, 40.0, 535.0, 176.0), + Rect.fromLTRB(93.0, 80.0, 333.0, 256.0), ]), ); }); @@ -3943,6 +3939,103 @@ void main() { }, ); + // Regression test for https://github.com/flutter/flutter/issues/171608 + testWidgets('Menu vertical padding should not be reduced with compact visual density', ( + WidgetTester tester, + ) async { + // Helper function to get menu padding by measuring first/last items. + (double, double) getMenuPadding() { + // Find any menu items that are available. + final Finder menuItems = find.byType(SubmenuButton); + if (menuItems.evaluate().length < 2) { + return (0.0, 0.0); + } + + final Rect firstItem = tester.getRect(menuItems.first); + final Rect lastItem = tester.getRect(menuItems.last); + final Rect menuPanel = tester.getRect(find.byType(Material).last); + + final double topPadding = firstItem.top - menuPanel.top; + final double bottomPadding = menuPanel.bottom - lastItem.bottom; + return (topPadding, bottomPadding); + } + + Future buildSimpleMenuAnchor( + TextDirection textDirection, { + VisualDensity visualDensity = VisualDensity.standard, + }) async { + await tester.pumpWidget( + MaterialApp( + theme: ThemeData(visualDensity: visualDensity), + home: Directionality( + textDirection: textDirection, + child: Scaffold( + body: MenuAnchor( + style: const MenuStyle( + padding: WidgetStatePropertyAll( + EdgeInsets.symmetric(vertical: 12, horizontal: 4), + ), + ), + menuChildren: const [ + DecoratedBox( + decoration: BoxDecoration(color: Colors.blue), + child: Text('Text 1'), + ), + DecoratedBox( + decoration: BoxDecoration(color: Colors.blue), + child: Text('Text 2'), + ), + ], + builder: (BuildContext context, MenuController controller, Widget? child) { + return TextButton( + onPressed: () { + if (controller.isOpen) { + controller.close(); + } else { + controller.open(); + } + }, + child: const Text('OPEN MENU'), + ); + }, + ), + ), + ), + ), + ); + + await tester.tap(find.text('OPEN MENU')); + await tester.pump(); + } + + // Pump widget with standard visual density. + await buildSimpleMenuAnchor(TextDirection.ltr); + + final (double topStandard, double bottomStandard) = getMenuPadding(); + + // Pump widget with compact visual density. + await buildSimpleMenuAnchor(TextDirection.ltr, visualDensity: VisualDensity.compact); + + final (double topCompact, double bottomCompact) = getMenuPadding(); + + // Compare standard vs compact padding. + expect( + topCompact, + equals(topStandard), + reason: + 'Compact visual density should not change top padding. ' + 'Standard: $topStandard, Compact: $topCompact', + ); + + expect( + bottomCompact, + equals(bottomStandard), + reason: + 'Compact visual density should not change bottom padding. ' + 'Standard: $bottomStandard, Compact: $bottomCompact', + ); + }); + group('LocalizedShortcutLabeler', () { testWidgets('getShortcutLabel returns the right labels', (WidgetTester tester) async { String expectedMeta; @@ -4954,6 +5047,55 @@ void main() { expect(find.byIcon(disabledIcon), findsOneWidget); }); }); + + testWidgets('Menu panel default reserved padding', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Material( + child: Center( + child: MenuAnchor( + controller: controller, + menuChildren: const [SizedBox(width: 800, height: 24)], + builder: (BuildContext context, MenuController controller, Widget? child) { + return const SizedBox(width: 800, height: 24); + }, + ), + ), + ), + ), + ); + + controller.open(); + await tester.pump(); + + const double defaultReservedPadding = 8.0; // See _kMenuViewPadding. + expect(tester.getRect(findMenuPanels()).width, 800.0 - defaultReservedPadding * 2); + }); + + testWidgets('Menu panel accepts custom reserved padding', (WidgetTester tester) async { + const EdgeInsetsGeometry reservedPadding = EdgeInsets.symmetric(horizontal: 13.0); + await tester.pumpWidget( + MaterialApp( + home: Material( + child: Center( + child: MenuAnchor( + controller: controller, + reservedPadding: reservedPadding, + menuChildren: const [SizedBox(width: 800, height: 24)], + builder: (BuildContext context, MenuController controller, Widget? child) { + return const SizedBox(width: 800, height: 24); + }, + ), + ), + ), + ), + ); + + controller.open(); + await tester.pump(); + + expect(tester.getRect(findMenuPanels()).width, 800.0 - reservedPadding.horizontal); + }); } List createTestMenus({ diff --git a/packages/flutter/test/material/menu_bar_theme_test.dart b/packages/flutter/test/material/menu_bar_theme_test.dart index 4bbf174ab60fb..8b7a59a7ada17 100644 --- a/packages/flutter/test/material/menu_bar_theme_test.dart +++ b/packages/flutter/test/material/menu_bar_theme_test.dart @@ -207,7 +207,7 @@ void main() { ) .style; expect( - textButtonStyle?.overlayColor?.resolve({MaterialState.hovered}), + textButtonStyle?.overlayColor?.resolve({WidgetState.hovered}), equals(Colors.blueGrey), ); }); diff --git a/packages/flutter/test/material/menu_style_test.dart b/packages/flutter/test/material/menu_style_test.dart index 3504ef6c7d559..4973d5a3ef676 100644 --- a/packages/flutter/test/material/menu_style_test.dart +++ b/packages/flutter/test/material/menu_style_test.dart @@ -287,7 +287,7 @@ void main() { ); expect( tester.getRect(find.text(TestMenu.subMenu10.label)), - equals(const Rect.fromLTRB(372.0, 68.0, 565.0, 82.0)), + equals(const Rect.fromLTRB(372.0, 70.0, 565.0, 84.0)), ); expect( tester.getRect( @@ -295,7 +295,7 @@ void main() { .ancestor(of: find.text(TestMenu.subMenu10.label), matching: find.byType(Material)) .at(1), ), - equals(const Rect.fromLTRB(352.0, 48.0, 585.0, 186.0)), + equals(const Rect.fromLTRB(352.0, 48.0, 585.0, 190.0)), ); }); }); diff --git a/packages/flutter/test/material/menu_theme_test.dart b/packages/flutter/test/material/menu_theme_test.dart index 17466b03195b9..d900f21838956 100644 --- a/packages/flutter/test/material/menu_theme_test.dart +++ b/packages/flutter/test/material/menu_theme_test.dart @@ -255,7 +255,7 @@ void main() { ) .style; expect( - textButtonStyle?.overlayColor?.resolve({MaterialState.hovered}), + textButtonStyle?.overlayColor?.resolve({WidgetState.hovered}), equals(Colors.blueGrey), ); }); diff --git a/packages/flutter/test/material/navigation_bar_test.dart b/packages/flutter/test/material/navigation_bar_test.dart index fbb954ffd7522..67d1e2f307da7 100644 --- a/packages/flutter/test/material/navigation_bar_test.dart +++ b/packages/flutter/test/material/navigation_bar_test.dart @@ -1086,16 +1086,16 @@ void main() { const Color hoverColor = Color(0xff0000ff); const Color focusColor = Color(0xff00ffff); const Color pressedColor = Color(0xffff00ff); - final MaterialStateProperty overlayColor = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty overlayColor = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusColor; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } return Colors.transparent; diff --git a/packages/flutter/test/material/navigation_bar_theme_test.dart b/packages/flutter/test/material/navigation_bar_theme_test.dart index f44736320b048..e932e7d0420d3 100644 --- a/packages/flutter/test/material/navigation_bar_theme_test.dart +++ b/packages/flutter/test/material/navigation_bar_theme_test.dart @@ -112,8 +112,8 @@ void main() { elevation: elevation, indicatorColor: indicatorColor, indicatorShape: indicatorShape, - iconTheme: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + iconTheme: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return const IconThemeData( size: selectedIconSize, color: selectedIconColor, @@ -126,8 +126,8 @@ void main() { opacity: unselectedIconOpacity, ); }), - labelTextStyle: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + labelTextStyle: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return const TextStyle(fontSize: selectedLabelFontSize); } return const TextStyle(fontSize: unselectedLabelFontSize); @@ -248,16 +248,16 @@ void main() { const Color hoverColor = Color(0xff0000ff); const Color focusColor = Color(0xff00ffff); const Color pressedColor = Color(0xffff00ff); - final MaterialStateProperty overlayColor = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty overlayColor = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusColor; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } return Colors.transparent; diff --git a/packages/flutter/test/material/navigation_drawer_test.dart b/packages/flutter/test/material/navigation_drawer_test.dart index 667be62ebfa45..96ca683a7467e 100644 --- a/packages/flutter/test/material/navigation_drawer_test.dart +++ b/packages/flutter/test/material/navigation_drawer_test.dart @@ -550,7 +550,7 @@ InkWell? _getInkWell(WidgetTester tester) { ShapeDecoration? _getIndicatorDecoration(WidgetTester tester) { return tester .firstWidget( - find.descendant(of: find.byType(FadeTransition), matching: find.byType(Container)), + find.descendant(of: find.byType(NavigationIndicator), matching: find.byType(Container)), ) .decoration as ShapeDecoration?; diff --git a/packages/flutter/test/material/navigation_drawer_theme_test.dart b/packages/flutter/test/material/navigation_drawer_theme_test.dart index 4c7cf54194f43..3dcf1a9564023 100644 --- a/packages/flutter/test/material/navigation_drawer_theme_test.dart +++ b/packages/flutter/test/material/navigation_drawer_theme_test.dart @@ -117,20 +117,20 @@ void main() { // Test icon. expect( _iconStyle(tester, Icons.ac_unit)?.color, - navigationDrawerTheme.iconTheme?.resolve({})?.color, + navigationDrawerTheme.iconTheme?.resolve({})?.color, ); expect( _iconStyle(tester, Icons.access_alarm)?.color, - navigationDrawerTheme.iconTheme?.resolve({})?.color, + navigationDrawerTheme.iconTheme?.resolve({})?.color, ); // Test label. expect( _labelStyle(tester, 'AC'), - navigationDrawerTheme.labelTextStyle?.resolve({}), + navigationDrawerTheme.labelTextStyle?.resolve({}), ); expect( _labelStyle(tester, 'Alarm'), - navigationDrawerTheme.labelTextStyle?.resolve({}), + navigationDrawerTheme.labelTextStyle?.resolve({}), ); }, ); @@ -284,7 +284,7 @@ Material _getMaterial(WidgetTester tester) { ShapeDecoration? _getIndicatorDecoration(WidgetTester tester) { return tester .firstWidget( - find.descendant(of: find.byType(FadeTransition), matching: find.byType(Container)), + find.descendant(of: find.byType(NavigationIndicator), matching: find.byType(Container)), ) .decoration as ShapeDecoration?; diff --git a/packages/flutter/test/material/navigation_rail_test.dart b/packages/flutter/test/material/navigation_rail_test.dart index 41d49dafe5f6b..84058931d83c7 100644 --- a/packages/flutter/test/material/navigation_rail_test.dart +++ b/packages/flutter/test/material/navigation_rail_test.dart @@ -6201,7 +6201,7 @@ TestSemantics _expectedSemantics({bool scrollable = false}) { TestSemantics( flags: [SemanticsFlag.scopesRoute], children: [ - ...destinations, + TestSemantics(children: destinations), TestSemantics(label: 'body', textDirection: TextDirection.ltr), ], ), diff --git a/packages/flutter/test/material/outlined_button_test.dart b/packages/flutter/test/material/outlined_button_test.dart index 4344657a50e7a..1abbbdedb1b4f 100644 --- a/packages/flutter/test/material/outlined_button_test.dart +++ b/packages/flutter/test/material/outlined_button_test.dart @@ -416,8 +416,8 @@ void main() { testWidgets('Does OutlinedButton work with hover', (WidgetTester tester) async { const Color hoverColor = Color(0xff001122); - Color? getOverlayColor(Set states) { - return states.contains(MaterialState.hovered) ? hoverColor : null; + Color? getOverlayColor(Set states) { + return states.contains(WidgetState.hovered) ? hoverColor : null; } await tester.pumpWidget( @@ -425,7 +425,7 @@ void main() { textDirection: TextDirection.ltr, child: OutlinedButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), ), onPressed: () {}, child: const Text('button'), @@ -448,8 +448,8 @@ void main() { final ColorScheme colors = theme.colorScheme; const Color focusColor = Color(0xff001122); - Color? getOverlayColor(Set states) { - return states.contains(MaterialState.focused) ? focusColor : null; + Color? getOverlayColor(Set states) { + return states.contains(WidgetState.focused) ? focusColor : null; } final FocusNode focusNode = FocusNode(debugLabel: 'OutlinedButton Node'); @@ -458,7 +458,7 @@ void main() { theme: theme, home: OutlinedButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), ), focusNode: focusNode, onPressed: () {}, @@ -493,8 +493,8 @@ void main() { final ColorScheme colors = theme.colorScheme; const Color focusColor = Color(0xff001122); - Color? getOverlayColor(Set states) { - return states.contains(MaterialState.focused) ? focusColor : null; + Color? getOverlayColor(Set states) { + return states.contains(WidgetState.focused) ? focusColor : null; } final FocusNode focusNode = FocusNode(debugLabel: 'OutlinedButton Node'); @@ -504,7 +504,7 @@ void main() { home: OutlinedButton( autofocus: true, style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), ), focusNode: focusNode, onPressed: () {}, @@ -588,11 +588,11 @@ void main() { (WidgetTester tester) async { final FocusNode focusNode = FocusNode(); - Color getTextColor(Set states) { - final Set interactiveStates = { - MaterialState.pressed, - MaterialState.hovered, - MaterialState.focused, + Color getTextColor(Set states) { + final Set interactiveStates = { + WidgetState.pressed, + WidgetState.hovered, + WidgetState.focused, }; if (states.any(interactiveStates.contains)) { return Colors.blue[900]!; @@ -609,7 +609,7 @@ void main() { child: OutlinedButtonTheme( data: OutlinedButtonThemeData( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), ), ), child: Builder( @@ -666,14 +666,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - Color getTextColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -685,7 +685,7 @@ void main() { body: Center( child: OutlinedButton( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), ), onPressed: () {}, focusNode: focusNode, @@ -734,14 +734,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - Color getIconColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getIconColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -753,7 +753,7 @@ void main() { body: Center( child: OutlinedButton.icon( key: buttonKey, - style: ButtonStyle(iconColor: MaterialStateProperty.resolveWith(getIconColor)), + style: ButtonStyle(iconColor: WidgetStateProperty.resolveWith(getIconColor)), icon: const Icon(Icons.add), label: const Text('OutlinedButton'), onPressed: () {}, @@ -801,14 +801,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - BorderSide getBorderSide(Set states) { - if (states.contains(MaterialState.pressed)) { + BorderSide getBorderSide(Set states) { + if (states.contains(WidgetState.pressed)) { return const BorderSide(color: pressedColor); } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return const BorderSide(color: hoverColor); } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return const BorderSide(color: focusedColor); } return const BorderSide(color: defaultColor); @@ -820,7 +820,7 @@ void main() { body: Center( child: OutlinedButton( style: ButtonStyle( - side: MaterialStateProperty.resolveWith(getBorderSide), + side: WidgetStateProperty.resolveWith(getBorderSide), // Test assumes a rounded rect for the shape shape: ButtonStyleButton.allOrNull( const RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(4))), @@ -1137,13 +1137,11 @@ void main() { backgroundColor: fillColor, minimumSize: const Size(64, 36), ).copyWith( - side: MaterialStateProperty.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.disabled)) { + side: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return disabledBorderSide; } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return pressedBorderSide; } return enabledBorderSide; @@ -2166,7 +2164,7 @@ void main() { ), ); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 0); final Offset center = tester.getCenter(find.byType(Text)); @@ -2175,42 +2173,42 @@ void main() { await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 1); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 2); await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 3); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 4); await gesture.up(); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 5); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 6); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 8); // adds hovered and pressed - two changes // If the button is rebuilt disabled, then the pressed state is @@ -2234,11 +2232,11 @@ void main() { ), ); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.disabled}); + expect(controller.value, {WidgetState.hovered, WidgetState.disabled}); expect(count, 10); // removes pressed and adds disabled - two changes await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 11); await gesture.removePointer(); } @@ -2272,7 +2270,7 @@ void main() { ), ), ); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 1); }); @@ -2305,13 +2303,13 @@ void main() { textDirection: TextDirection.ltr, child: OutlinedButton( style: OutlinedButton.styleFrom( - backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundBuilder: (BuildContext context, Set states, Widget? child) { return DecoratedBox( decoration: const BoxDecoration(color: backgroundColor), child: child, ); }, - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return DecoratedBox( decoration: const BoxDecoration(color: foregroundColor), child: child, @@ -2355,10 +2353,10 @@ void main() { textDirection: TextDirection.ltr, child: OutlinedButton( style: OutlinedButton.styleFrom( - backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: backgroundColor)); }, - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: foregroundColor)); }, ), @@ -2386,7 +2384,7 @@ void main() { textDirection: TextDirection.ltr, child: OutlinedButton( style: OutlinedButton.styleFrom( - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: foregroundColor)); }, ), @@ -2408,8 +2406,8 @@ void main() { testWidgets( 'OutlinedButton foreground and background builders are applied to the correct states', (WidgetTester tester) async { - Set foregroundStates = {}; - Set backgroundStates = {}; + Set foregroundStates = {}; + Set backgroundStates = {}; final FocusNode focusNode = FocusNode(); await tester.pumpWidget( @@ -2419,12 +2417,12 @@ void main() { child: OutlinedButton( style: ButtonStyle( backgroundBuilder: - (BuildContext context, Set states, Widget? child) { + (BuildContext context, Set states, Widget? child) { backgroundStates = states; return child!; }, foregroundBuilder: - (BuildContext context, Set states, Widget? child) { + (BuildContext context, Set states, Widget? child) { foregroundStates = states; return child!; }, @@ -2442,18 +2440,18 @@ void main() { expect(backgroundStates.isEmpty, isTrue); expect(foregroundStates.isEmpty, isTrue); - const Set focusedStates = {MaterialState.focused}; - const Set focusedHoveredStates = { - MaterialState.focused, - MaterialState.hovered, + const Set focusedStates = {WidgetState.focused}; + const Set focusedHoveredStates = { + WidgetState.focused, + WidgetState.hovered, }; - const Set focusedHoveredPressedStates = { - MaterialState.focused, - MaterialState.hovered, - MaterialState.pressed, + const Set focusedHoveredPressedStates = { + WidgetState.focused, + WidgetState.hovered, + WidgetState.pressed, }; - bool sameStates(Set expectedValue, Set actualValue) { + bool sameStates(Set expectedValue, Set actualValue) { return expectedValue.difference(actualValue).isEmpty && actualValue.difference(expectedValue).isEmpty; } diff --git a/packages/flutter/test/material/outlined_button_theme_test.dart b/packages/flutter/test/material/outlined_button_theme_test.dart index 4704282719059..6723d902cbb75 100644 --- a/packages/flutter/test/material/outlined_button_theme_test.dart +++ b/packages/flutter/test/material/outlined_button_theme_test.dart @@ -184,10 +184,10 @@ void main() { matching: find.byType(InkWell), ); - const Set enabled = {}; - const Set disabled = {MaterialState.disabled}; - const Set hovered = {MaterialState.hovered}; - const Set focused = {MaterialState.focused}; + const Set enabled = {}; + const Set disabled = {WidgetState.disabled}; + const Set hovered = {WidgetState.hovered}; + const Set focused = {WidgetState.focused}; void checkButton(WidgetTester tester) { final Material material = tester.widget(findMaterial); @@ -198,11 +198,11 @@ void main() { expect(material.shadowColor, shadowColor); expect(material.elevation, elevation); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor, enabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor, enabled), enabledMouseCursor, ); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor, disabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor, disabled), disabledMouseCursor, ); expect(inkWell.overlayColor!.resolve(hovered), foregroundColor.withOpacity(0.08)); diff --git a/packages/flutter/test/material/page_test.dart b/packages/flutter/test/material/page_test.dart index 7b0a4d4610d03..f72f1d799e9f0 100644 --- a/packages/flutter/test/material/page_test.dart +++ b/packages/flutter/test/material/page_test.dart @@ -190,6 +190,13 @@ void main() { await tester.pumpWidget( MaterialApp( + theme: ThemeData( + pageTransitionsTheme: const PageTransitionsTheme( + builders: { + TargetPlatform.android: ZoomPageTransitionsBuilder(), + }, + ), + ), onGenerateRoute: (RouteSettings settings) { return MaterialPageRoute( allowSnapshotting: false, @@ -268,7 +275,14 @@ void main() { RepaintBoundary( key: key, child: MaterialApp( - theme: ThemeData(useMaterial3: false), + theme: ThemeData( + useMaterial3: false, + pageTransitionsTheme: const PageTransitionsTheme( + builders: { + TargetPlatform.android: ZoomPageTransitionsBuilder(), + }, + ), + ), onGenerateRoute: (RouteSettings settings) { return MaterialPageRoute( builder: (BuildContext context) { @@ -315,6 +329,13 @@ void main() { key: key, child: MaterialApp( debugShowCheckedModeBanner: false, // https://github.com/flutter/flutter/issues/143616 + theme: ThemeData( + pageTransitionsTheme: const PageTransitionsTheme( + builders: { + TargetPlatform.android: ZoomPageTransitionsBuilder(), + }, + ), + ), onGenerateRoute: (RouteSettings settings) { return MaterialPageRoute( builder: (BuildContext context) { diff --git a/packages/flutter/test/material/page_transitions_theme_test.dart b/packages/flutter/test/material/page_transitions_theme_test.dart index ca90afcef072a..bf04f9e59074d 100644 --- a/packages/flutter/test/material/page_transitions_theme_test.dart +++ b/packages/flutter/test/material/page_transitions_theme_test.dart @@ -75,7 +75,7 @@ void main() { ); testWidgets( - 'Default PageTransitionsTheme builds a _ZoomPageTransition for android', + 'Default PageTransitionsTheme builds a _FadeForwardsPageTransition for android', (WidgetTester tester) async { final Map routes = { '/': (BuildContext context) => Material( @@ -91,11 +91,11 @@ void main() { await tester.pumpWidget(MaterialApp(routes: routes)); - Finder findZoomPageTransition() { + Finder findFadeForwardsPageTransition() { return find.descendant( of: find.byType(MaterialApp), matching: find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_ZoomPageTransition', + (Widget w) => '${w.runtimeType}' == '_FadeForwardsPageTransition', ), ); } @@ -104,12 +104,12 @@ void main() { Theme.of(tester.element(find.text('push'))).platform, debugDefaultTargetPlatformOverride, ); - expect(findZoomPageTransition(), findsOneWidget); + expect(findFadeForwardsPageTransition(), findsOneWidget); await tester.tap(find.text('push')); await tester.pumpAndSettle(); expect(find.text('page b'), findsOneWidget); - expect(findZoomPageTransition(), findsOneWidget); + expect(findFadeForwardsPageTransition(), findsOneWidget); }, variant: TargetPlatformVariant.only(TargetPlatform.android), ); @@ -314,6 +314,81 @@ void main() { }, variant: TargetPlatformVariant.only(TargetPlatform.android), ); + + testWidgets( + 'FadeForwardsPageTransitionBuilder does not use ColoredBox for non-opaque routes', + (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + theme: ThemeData( + pageTransitionsTheme: const PageTransitionsTheme( + builders: { + TargetPlatform.android: FadeForwardsPageTransitionsBuilder( + backgroundColor: Colors.lightGreen, + ), + }, + ), + ), + home: Builder( + builder: (BuildContext context) { + return Material( + child: TextButton( + onPressed: () { + Navigator.push( + context, + PageRouteBuilder( + opaque: false, + pageBuilder: (_, _, _) { + return Material( + child: TextButton( + onPressed: () { + Navigator.push( + context, + MaterialPageRoute(builder: (_) => const Text('page b')), + ); + }, + child: const Text('push b'), + ), + ); + }, + ), + ); + }, + child: const Text('push a'), + ), + ); + }, + ), + ), + ); + + await tester.tap(find.text('push a')); + await tester.pumpAndSettle(); + + await tester.tap(find.text('push b')); + await tester.pump(const Duration(milliseconds: 400)); + + void findColoredBox() { + expect( + find.byWidgetPredicate((Widget w) => w is ColoredBox && w.color == Colors.lightGreen), + findsNothing, + ); + } + + // Check that ColoredBox is not used for non-opaque route. + findColoredBox(); + + await tester.pumpAndSettle(); + + Navigator.pop(tester.element(find.text('page b'))); + + await tester.pumpAndSettle(const Duration(milliseconds: 400)); + + // Check that ColoredBox is not used for non-opaque route + findColoredBox(); + }, + variant: TargetPlatformVariant.only(TargetPlatform.android), + ); }); testWidgets( @@ -959,7 +1034,18 @@ void main() { ); await tester.pumpAndSettle(); - expect(find.text('push'), findsNothing); + switch (defaultTargetPlatform) { + case TargetPlatform.android: + // Shows both pages while doing the "peek" predicitve back transition. + expect(find.text('push'), findsOneWidget); + case TargetPlatform.iOS: + case TargetPlatform.macOS: + case TargetPlatform.linux: + case TargetPlatform.fuchsia: + case TargetPlatform.windows: + // Does no transition yet; still shows page b only. + expect(find.text('push'), findsNothing); + } expect(find.text('page b'), findsOneWidget); // Commit the system back gesture. @@ -972,13 +1058,237 @@ void main() { (ByteData? _) {}, ); await tester.pumpAndSettle(); - expect(find.text('push'), findsOneWidget); expect(find.text('page b'), findsNothing); }, variant: TargetPlatformVariant.all(), ); + testWidgets('predictive back is the default on Android', (WidgetTester tester) async { + final Map routes = { + '/': (BuildContext context) => Material( + child: TextButton( + child: const Text('push'), + onPressed: () { + Navigator.of(context).pushNamed('/b'); + }, + ), + ), + }; + await tester.pumpWidget(MaterialApp(routes: routes)); + + final ThemeData themeData = Theme.of(tester.element(find.text('push'))); + switch (defaultTargetPlatform) { + case TargetPlatform.android: + expect( + themeData.pageTransitionsTheme.builders[defaultTargetPlatform], + isA(), + ); + case TargetPlatform.iOS: + case TargetPlatform.macOS: + case TargetPlatform.linux: + case TargetPlatform.fuchsia: + case TargetPlatform.windows: + expect( + themeData.pageTransitionsTheme.builders[defaultTargetPlatform], + isNot(isA()), + ); + } + }, variant: TargetPlatformVariant.all()); + + testWidgets('predictive back falls back to FadeForwardsPageTransition', ( + WidgetTester tester, + ) async { + Finder findPredictiveBackPageTransition() { + return find.descendant( + of: find.byType(PrimaryScrollController), + matching: find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_PredictiveBackSharedElementPageTransition', + ), + ); + } + + Finder findFallbackPageTransition() { + return find.descendant( + of: find.byType(PrimaryScrollController), + matching: find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_FadeForwardsPageTransition', + ), + ); + } + + final Map routes = { + '/': (BuildContext context) => Material( + child: TextButton( + child: const Text('push'), + onPressed: () { + Navigator.of(context).pushNamed('/b'); + }, + ), + ), + '/b': (BuildContext context) => const Text('page b'), + }; + + await tester.pumpWidget( + MaterialApp( + routes: routes, + theme: ThemeData( + pageTransitionsTheme: const PageTransitionsTheme( + builders: { + TargetPlatform.android: PredictiveBackPageTransitionsBuilder(), + TargetPlatform.iOS: PredictiveBackPageTransitionsBuilder(), + TargetPlatform.macOS: PredictiveBackPageTransitionsBuilder(), + TargetPlatform.windows: PredictiveBackPageTransitionsBuilder(), + TargetPlatform.linux: PredictiveBackPageTransitionsBuilder(), + TargetPlatform.fuchsia: PredictiveBackPageTransitionsBuilder(), + }, + ), + ), + ), + ); + + final ThemeData themeData = Theme.of(tester.element(find.text('push'))); + expect( + themeData.pageTransitionsTheme.builders[defaultTargetPlatform], + isA(), + ); + + expect(find.text('push'), findsOneWidget); + expect(find.text('page b'), findsNothing); + + await tester.tap(find.text('push')); + await tester.pumpAndSettle(); + + expect(find.text('push'), findsNothing); + expect(find.text('page b'), findsOneWidget); + + // Only Android sends system back gestures. + if (defaultTargetPlatform == TargetPlatform.android) { + final ByteData startMessage = const StandardMethodCodec().encodeMethodCall( + const MethodCall('startBackGesture', { + 'touchOffset': [5.0, 300.0], + 'progress': 0.0, + 'swipeEdge': 0, // left + }), + ); + await binding.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/backgesture', + startMessage, + (ByteData? _) {}, + ); + await tester.pump(); + } + + switch (defaultTargetPlatform) { + case TargetPlatform.android: + expect(findPredictiveBackPageTransition(), findsOneWidget); + expect(findFallbackPageTransition(), findsNothing); + case TargetPlatform.iOS: + case TargetPlatform.macOS: + case TargetPlatform.linux: + case TargetPlatform.fuchsia: + case TargetPlatform.windows: + expect(findPredictiveBackPageTransition(), findsNothing); + expect(findFallbackPageTransition(), findsOneWidget); + } + + expect(find.text('push'), findsNothing); + expect(find.text('page b'), findsOneWidget); + + // Drag the system back gesture far enough to commit. + if (defaultTargetPlatform == TargetPlatform.android) { + final ByteData updateMessage = const StandardMethodCodec().encodeMethodCall( + const MethodCall('updateBackGestureProgress', { + 'x': 100.0, + 'y': 300.0, + 'progress': 0.35, + 'swipeEdge': 0, // left + }), + ); + await binding.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/backgesture', + updateMessage, + (ByteData? _) {}, + ); + await tester.pumpAndSettle(); + expect(find.text('push'), findsOneWidget); + } else { + expect(find.text('push'), findsNothing); + } + + expect(find.text('page b'), findsOneWidget); + + switch (defaultTargetPlatform) { + case TargetPlatform.android: + expect(findPredictiveBackPageTransition(), findsNWidgets(2)); + expect(findFallbackPageTransition(), findsNothing); + case TargetPlatform.iOS: + case TargetPlatform.macOS: + case TargetPlatform.linux: + case TargetPlatform.fuchsia: + case TargetPlatform.windows: + expect(findPredictiveBackPageTransition(), findsNothing); + expect(findFallbackPageTransition(), findsOneWidget); + } + + if (defaultTargetPlatform == TargetPlatform.android) { + // Commit the system back gesture on Android. + final ByteData commitMessage = const StandardMethodCodec().encodeMethodCall( + const MethodCall('commitBackGesture'), + ); + await binding.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/backgesture', + commitMessage, + (ByteData? _) {}, + ); + } else { + // On other platforms, send a one-off system pop. + final ByteData popMessage = const JSONMethodCodec().encodeMethodCall( + const MethodCall('popRoute'), + ); + await binding.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/navigation', + popMessage, + (ByteData? _) {}, + ); + } + await tester.pump(); + + expect(find.text('push'), findsOneWidget); + expect(find.text('page b'), findsOneWidget); + + switch (defaultTargetPlatform) { + case TargetPlatform.android: + expect(findPredictiveBackPageTransition(), findsNWidgets(2)); + expect(findFallbackPageTransition(), findsNothing); + case TargetPlatform.iOS: + case TargetPlatform.macOS: + case TargetPlatform.linux: + case TargetPlatform.fuchsia: + case TargetPlatform.windows: + expect(findPredictiveBackPageTransition(), findsNothing); + expect(findFallbackPageTransition(), findsNWidgets(2)); + } + + await tester.pumpAndSettle(); + + expect(find.text('push'), findsOneWidget); + expect(find.text('page b'), findsNothing); + + switch (defaultTargetPlatform) { + case TargetPlatform.android: + expect(findPredictiveBackPageTransition(), findsNothing); + expect(findFallbackPageTransition(), findsOneWidget); + case TargetPlatform.iOS: + case TargetPlatform.macOS: + case TargetPlatform.linux: + case TargetPlatform.fuchsia: + case TargetPlatform.windows: + expect(findPredictiveBackPageTransition(), findsNothing); + expect(findFallbackPageTransition(), findsOneWidget); + } + }, variant: TargetPlatformVariant.all()); + testWidgets( 'ZoomPageTransitionsBuilder uses theme color during transition effects', (WidgetTester tester) async { diff --git a/packages/flutter/test/material/paginated_data_table_test.dart b/packages/flutter/test/material/paginated_data_table_test.dart index d9989ad050736..2a3fef05b3d25 100644 --- a/packages/flutter/test/material/paginated_data_table_test.dart +++ b/packages/flutter/test/material/paginated_data_table_test.dart @@ -1423,7 +1423,7 @@ void main() { }); testWidgets('PaginatedDataTable custom heading row color', (WidgetTester tester) async { - const MaterialStateProperty headingRowColor = MaterialStatePropertyAll( + const WidgetStateProperty headingRowColor = MaterialStatePropertyAll( Color(0xffFF0000), ); @@ -1449,7 +1449,7 @@ void main() { final Table table = tester.widget(find.byType(Table)); final TableRow tableRow = table.children[0]; final BoxDecoration tableRowBoxDecoration = tableRow.decoration! as BoxDecoration; - expect(tableRowBoxDecoration.color, headingRowColor.resolve({})); + expect(tableRowBoxDecoration.color, headingRowColor.resolve({})); }); testWidgets('PaginatedDataTable respects custom dividerThickness', (WidgetTester tester) async { diff --git a/packages/flutter/test/material/popup_menu_test.dart b/packages/flutter/test/material/popup_menu_test.dart index 979e784207ed6..6026966945f74 100644 --- a/packages/flutter/test/material/popup_menu_test.dart +++ b/packages/flutter/test/material/popup_menu_test.dart @@ -3783,10 +3783,10 @@ void main() { WidgetTester tester, ) async { final Key popupMenuButtonKey = UniqueKey(); - final MaterialStateProperty labelTextStyle = MaterialStateProperty.resolveWith(( - Set states, + final WidgetStateProperty labelTextStyle = WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return const TextStyle(color: Colors.red, fontSize: 24.0); } @@ -3822,10 +3822,10 @@ void main() { await tester.tap(find.byKey(popupMenuButtonKey)); await tester.pumpAndSettle(); - expect(_labelStyle(tester, 'Item 1'), labelTextStyle.resolve({})); + expect(_labelStyle(tester, 'Item 1'), labelTextStyle.resolve({})); expect( _labelStyle(tester, 'Item 2'), - labelTextStyle.resolve({MaterialState.selected}), + labelTextStyle.resolve({WidgetState.selected}), ); }); diff --git a/packages/flutter/test/material/popup_menu_theme_test.dart b/packages/flutter/test/material/popup_menu_theme_test.dart index 27fcff41ef1ba..b74fdb63fabdc 100644 --- a/packages/flutter/test/material/popup_menu_theme_test.dart +++ b/packages/flutter/test/material/popup_menu_theme_test.dart @@ -13,8 +13,8 @@ PopupMenuThemeData _popupMenuThemeM2() { shape: const BeveledRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(12))), elevation: 12.0, textStyle: const TextStyle(color: Color(0xffffffff), textBaseline: TextBaseline.alphabetic), - mouseCursor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + mouseCursor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.contextMenu; } return SystemMouseCursors.alias; @@ -30,14 +30,14 @@ PopupMenuThemeData _popupMenuThemeM3() { elevation: 12.0, shadowColor: const Color(0xff00ff00), surfaceTintColor: const Color(0xff00ff00), - labelTextStyle: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + labelTextStyle: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return const TextStyle(color: Color(0xfff99ff0), fontSize: 12.0); } return const TextStyle(color: Color(0xfff12099), fontSize: 17.0); }), - mouseCursor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + mouseCursor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return SystemMouseCursors.contextMenu; } return SystemMouseCursors.alias; @@ -95,8 +95,8 @@ void main() { shadowColor: const Color(0xfffffff2), surfaceTintColor: const Color(0xfffffff3), textStyle: const TextStyle(color: Color(0xfffffff4)), - labelTextStyle: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + labelTextStyle: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return const TextStyle(color: Color(0xfffffff5), fontSize: 12.0); } return const TextStyle(color: Color(0xfffffff6), fontSize: 17.0); @@ -403,13 +403,13 @@ void main() { return >[ PopupMenuItem( key: popupItemKey, - labelTextStyle: MaterialStateProperty.all(textStyle), + labelTextStyle: WidgetStateProperty.all(textStyle), mouseCursor: cursor, child: const Text('Example'), ), CheckedPopupMenuItem( checked: true, - labelTextStyle: MaterialStateProperty.all(textStyle), + labelTextStyle: WidgetStateProperty.all(textStyle), child: const Text('Checked item'), ), ]; @@ -704,7 +704,7 @@ void main() { return >[ PopupMenuItem( key: popupItemKey, - labelTextStyle: MaterialStateProperty.all(textStyle), + labelTextStyle: WidgetStateProperty.all(textStyle), mouseCursor: cursor, child: const Text('Example'), ), @@ -752,8 +752,8 @@ void main() { }); } -Set enabled = {}; -Set disabled = {MaterialState.disabled}; +Set enabled = {}; +Set disabled = {WidgetState.disabled}; TextStyle? _iconStyle(WidgetTester tester, IconData icon) { return tester diff --git a/packages/flutter/test/material/predictive_back_page_transitions_builder_test.dart b/packages/flutter/test/material/predictive_back_page_transitions_builder_test.dart index 42200f91f4f20..e595d3ab4b686 100644 --- a/packages/flutter/test/material/predictive_back_page_transitions_builder_test.dart +++ b/packages/flutter/test/material/predictive_back_page_transitions_builder_test.dart @@ -63,7 +63,7 @@ void main() { } // Start a system pop gesture, which will switch to using - // _PredictiveBackPageTransition for the page transition. + // _PredictiveBackSharedElementPageTransition for the page transition. final ByteData startMessage = const StandardMethodCodec().encodeMethodCall( const MethodCall('startBackGesture', { 'touchOffset': [5.0, 300.0], @@ -173,7 +173,7 @@ void main() { } // Start a system pop gesture, which will switch to using - // _PredictiveBackPageTransition for the page transition. + // _PredictiveBackSharedElementPageTransition for the page transition. final ByteData startMessage = const StandardMethodCodec().encodeMethodCall( const MethodCall('startBackGesture', { 'touchOffset': [5.0, 300.0], @@ -326,7 +326,7 @@ void main() { } // Start a system pop gesture, which will switch to using - // _PredictiveBackPageTransition for the page transition. + // _PredictiveBackSharedElementPageTransition for the page transition. final ByteData startMessage = const StandardMethodCodec().encodeMethodCall( const MethodCall('startBackGesture', { 'touchOffset': [5.0, 300.0], @@ -488,7 +488,7 @@ void main() { } // Start a system pop gesture, which will switch to using - // _PredictiveBackPageTransition for the page transition. + // _PredictiveBackSharedElementPageTransition for the page transition. final ByteData startMessage = const StandardMethodCodec().encodeMethodCall( const MethodCall('startBackGesture', { 'touchOffset': [5.0, 300.0], diff --git a/packages/flutter/test/material/progress_indicator_test.dart b/packages/flutter/test/material/progress_indicator_test.dart index bc6fa0d87e3da..7aa1dd1e71df5 100644 --- a/packages/flutter/test/material/progress_indicator_test.dart +++ b/packages/flutter/test/material/progress_indicator_test.dart @@ -13,6 +13,8 @@ @Tags(['reduced-test-set', 'no-shuffle']) library; +import 'dart:ui' as ui; + import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; @@ -169,8 +171,8 @@ void main() { expect( find.byType(LinearProgressIndicator), paints - ..rect(rect: const Rect.fromLTRB(0.0, 0.0, 200.0, 4.0)) - ..rect(rect: Rect.fromLTRB(0.0, 0.0, animationValue * 200.0, 4.0)), + ..rect(rect: Rect.fromLTRB(animationValue * 200.0, 0.0, 200.0, 4.0)) // Track + ..rect(rect: Rect.fromLTRB(0.0, 0.0, animationValue * 200.0, 4.0)), // Active indicator ); expect(tester.binding.transientCallbackCount, 1); @@ -197,7 +199,7 @@ void main() { expect( find.byType(LinearProgressIndicator), paints - ..rect(rect: const Rect.fromLTRB(0.0, 0.0, 200.0, 4.0)) + ..rect(rect: Rect.fromLTRB(0.0, 0.0, 200.0 - animationValue * 200.0, 4.0)) ..rect(rect: Rect.fromLTRB(200.0 - animationValue * 200.0, 0.0, 200.0, 4.0)), ); @@ -567,6 +569,26 @@ void main() { expect(tester.binding.transientCallbackCount, 0); }); + testWidgets('LinearProgressIndicator reflects controller value', (WidgetTester tester) async { + final AnimationController controller = AnimationController(vsync: tester, value: 0.5); + addTearDown(controller.dispose); + + await tester.pumpWidget( + MaterialApp( + home: Material( + child: Center( + child: SizedBox(width: 200, child: LinearProgressIndicator(controller: controller)), + ), + ), + ), + ); + + expect( + find.byType(LinearProgressIndicator), + paints..rect(rect: const Rect.fromLTRB(127.79541015625, 0.0, 200.0, 4.0)), + ); + }); + testWidgets('CircularProgressIndicator paint colors', (WidgetTester tester) async { const Color green = Color(0xFF00FF00); const Color blue = Color(0xFF0000FF); @@ -1356,6 +1378,123 @@ void main() { ); }); + testWidgets( + 'Determinate LinearProgressIndicator when year2023 is false', + (WidgetTester tester) async { + Future getGoldenImage({ + required TextDirection textDirection, + double? trackGap, + }) async { + final ValueNotifier value = ValueNotifier(0); + addTearDown(value.dispose); + + final AnimationSheetBuilder animationSheet = AnimationSheetBuilder( + frameSize: const Size(250, 30), + ); + addTearDown(animationSheet.dispose); + + final Widget target = Material( + child: Directionality( + textDirection: textDirection, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 50), + child: Center( + child: ValueListenableBuilder( + valueListenable: value, + builder: (BuildContext context, double value, _) { + return LinearProgressIndicator( + year2023: false, + value: value, + trackGap: trackGap, + ); + }, + ), + ), + ), + ), + ); + + for (int i = 0; i <= 50; i++) { + value.value = i * 0.02; + await tester.pumpWidget(animationSheet.record(target)); + } + + return animationSheet.collate(3); + } + + await expectLater( + await getGoldenImage(textDirection: TextDirection.ltr), + matchesGoldenFile('m3_linear_progress_indicator.determinate.ltr.png'), + ); + + await expectLater( + await getGoldenImage(textDirection: TextDirection.rtl), + matchesGoldenFile('m3_linear_progress_indicator.determinate.rtl.png'), + ); + + await expectLater( + await getGoldenImage(textDirection: TextDirection.ltr, trackGap: 20), + matchesGoldenFile('m3_linear_progress_indicator.determinate.ltr.custom_track_gap.png'), + ); + + await expectLater( + await getGoldenImage(textDirection: TextDirection.rtl, trackGap: 20), + matchesGoldenFile('m3_linear_progress_indicator.determinate.rtl.custom_track_gap.png'), + ); + }, + skip: isBrowser, // [intended] https://github.com/flutter/flutter/issues/56001 + ); + + testWidgets( + 'Indeterminate LinearProgressIndicator when year2023 is false', + (WidgetTester tester) async { + Future getGoldenImage({ + required TextDirection textDirection, + double? trackGap, + }) async { + final AnimationSheetBuilder animationSheet = AnimationSheetBuilder( + frameSize: const Size(250, 30), + ); + addTearDown(animationSheet.dispose); + + final Widget target = Material( + child: Directionality( + textDirection: textDirection, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 50), + child: Center(child: LinearProgressIndicator(year2023: false, trackGap: trackGap)), + ), + ), + ); + + await tester.pumpFrames(animationSheet.record(target), const Duration(milliseconds: 1800)); + + return animationSheet.collate(3); + } + + await expectLater( + await getGoldenImage(textDirection: TextDirection.ltr), + matchesGoldenFile('m3_linear_progress_indicator.indeterminate.ltr.png'), + ); + + await expectLater( + await getGoldenImage(textDirection: TextDirection.rtl), + matchesGoldenFile('m3_linear_progress_indicator.indeterminate.rtl.png'), + ); + + await expectLater( + await getGoldenImage(textDirection: TextDirection.ltr, trackGap: 20), + matchesGoldenFile('m3_linear_progress_indicator.indeterminate.ltr.custom_track_gap.png'), + ); + + await expectLater( + await getGoldenImage(textDirection: TextDirection.rtl, trackGap: 20), + matchesGoldenFile('m3_linear_progress_indicator.indeterminate.rtl.custom_track_gap.png'), + ); + }, + skip: isBrowser, // [intended] https://github.com/flutter/flutter/issues/56001 + ); + testWidgets('Indeterminate LinearProgressIndicator does not paint stop indicator', ( WidgetTester tester, ) async { @@ -1801,6 +1940,35 @@ void main() { ), ); }); + + testWidgets('CircularProgressIndicator reflects controller value', (WidgetTester tester) async { + final AnimationController controller = AnimationController(vsync: tester, value: 0.5); + addTearDown(controller.dispose); + + await tester.pumpWidget( + MaterialApp( + home: Material( + child: Center( + child: SizedBox( + width: 200, + height: 200, + child: AnimatedBuilder( + animation: controller, + builder: (BuildContext context, Widget? child) { + return CircularProgressIndicator(controller: controller); + }, + ), + ), + ), + ), + ), + ); + + expect( + find.byType(CircularProgressIndicator), + paints..arc(startAngle: 1.5707963267948966, sweepAngle: 0.001), + ); + }); } class _RefreshProgressIndicatorGolden extends StatefulWidget { diff --git a/packages/flutter/test/material/progress_indicator_theme_test.dart b/packages/flutter/test/material/progress_indicator_theme_test.dart index 065fb165eb792..34e938501e3ee 100644 --- a/packages/flutter/test/material/progress_indicator_theme_test.dart +++ b/packages/flutter/test/material/progress_indicator_theme_test.dart @@ -560,4 +560,161 @@ void main() { ..rect(rect: const Rect.fromLTRB(0.0, 0.0, 100.0, 4.0), color: theme.colorScheme.primary), ); }); + + testWidgets('LinearProgressIndicator reflects the value of the theme controller', ( + WidgetTester tester, + ) async { + Widget buildApp({ + AnimationController? widgetController, + AnimationController? indicatorThemeController, + AnimationController? globalThemeController, + }) { + return MaterialApp( + home: Material( + child: Center( + child: Theme( + data: ThemeData( + progressIndicatorTheme: ProgressIndicatorThemeData( + controller: globalThemeController, + ), + ), + child: ProgressIndicatorTheme( + data: ProgressIndicatorThemeData(controller: indicatorThemeController), + child: SizedBox( + width: 200.0, + child: LinearProgressIndicator(controller: widgetController), + ), + ), + ), + ), + ), + ); + } + + void expectProgressAt({required double left, required double right}) { + final PaintPattern expectedPaints = paints; + if (right < 200) { + // Right track + expectedPaints.rect(rect: Rect.fromLTRB(right, 0.0, 200, 4.0)); + } + expectedPaints.rect(rect: Rect.fromLTRB(left, 0.0, right, 4.0)); + if (left > 0) { + // Left track + expectedPaints.rect(rect: Rect.fromLTRB(0, 0.0, left, 4.0)); + } + expect(find.byType(LinearProgressIndicator), expectedPaints); + } + + await tester.pumpWidget(buildApp()); + await tester.pump(const Duration(milliseconds: 500)); + expectProgressAt(left: 16.028758883476257, right: 141.07513427734375); + + final AnimationController globalThemeController = AnimationController( + vsync: tester, + value: 0.1, + ); + addTearDown(globalThemeController.dispose); + await tester.pumpWidget(buildApp(globalThemeController: globalThemeController)); + expectProgressAt(left: 0.0, right: 37.14974820613861); + + final AnimationController indicatorThemeController = AnimationController( + vsync: tester, + value: 0.5, + ); + addTearDown(indicatorThemeController.dispose); + await tester.pumpWidget( + buildApp( + globalThemeController: globalThemeController, + indicatorThemeController: indicatorThemeController, + ), + ); + expectProgressAt(left: 127.79541015625, right: 200.0); + + final AnimationController widgetController = AnimationController(vsync: tester, value: 0.8); + addTearDown(widgetController.dispose); + await tester.pumpWidget( + buildApp( + globalThemeController: globalThemeController, + indicatorThemeController: indicatorThemeController, + widgetController: widgetController, + ), + ); + expectProgressAt(left: 98.24226796627045, right: 181.18448555469513); + }); + + testWidgets('CircularProgressIndicator reflects the value of the theme controller', ( + WidgetTester tester, + ) async { + Widget buildApp({ + AnimationController? widgetController, + AnimationController? indicatorThemeController, + AnimationController? globalThemeController, + }) { + return MaterialApp( + home: Material( + child: Center( + child: Theme( + data: ThemeData( + progressIndicatorTheme: ProgressIndicatorThemeData( + color: Colors.black, + linearTrackColor: Colors.green, + controller: globalThemeController, + ), + ), + child: ProgressIndicatorTheme( + data: ProgressIndicatorThemeData(controller: indicatorThemeController), + child: SizedBox( + width: 200.0, + child: CircularProgressIndicator(controller: widgetController), + ), + ), + ), + ), + ), + ); + } + + void expectProgressAt({required double start, required double sweep}) { + expect( + find.byType(CircularProgressIndicator), + paints..arc(startAngle: start, sweepAngle: sweep), + ); + } + + await tester.pumpWidget(buildApp()); + await tester.pump(const Duration(milliseconds: 500)); + expectProgressAt(start: 0.43225767465697107, sweep: 4.52182126629162); + + final AnimationController globalThemeController = AnimationController( + vsync: tester, + value: 0.1, + ); + addTearDown(globalThemeController.dispose); + await tester.pumpWidget(buildApp(globalThemeController: globalThemeController)); + expectProgressAt(start: 0.628318530718057, sweep: 2.8904563625380906); + + final AnimationController indicatorThemeController = AnimationController( + vsync: tester, + value: 0.5, + ); + addTearDown(indicatorThemeController.dispose); + await tester.pumpWidget( + buildApp( + globalThemeController: globalThemeController, + indicatorThemeController: indicatorThemeController, + ), + ); + expectProgressAt(start: 1.5707963267948966, sweep: 0.001); + + final AnimationController widgetController = AnimationController(vsync: tester, value: 0.8); + addTearDown(widgetController.dispose); + await tester.pumpWidget( + buildApp( + globalThemeController: globalThemeController, + indicatorThemeController: indicatorThemeController, + widgetController: widgetController, + ), + ); + expectProgressAt(start: 2.520489337828999, sweep: 4.076855234710353); + }); } diff --git a/packages/flutter/test/material/radio_list_tile_test.dart b/packages/flutter/test/material/radio_list_tile_test.dart index 3ac7c88492b07..0d3250ae1804f 100644 --- a/packages/flutter/test/material/radio_list_tile_test.dart +++ b/packages/flutter/test/material/radio_list_tile_test.dart @@ -711,8 +711,8 @@ void main() { return MaterialApp( theme: ThemeData( radioTheme: RadioThemeData( - fillColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.selected) ? fillColor : null; + fillColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.selected) ? fillColor : null; }), ), ), @@ -890,20 +890,20 @@ void main() { const Color inactiveEnabledFillColor = Color(0xFF000003); const Color inactiveDisabledFillColor = Color(0xFF000004); - Color getFillColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledFillColor; } return inactiveDisabledFillColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledFillColor; } return inactiveEnabledFillColor; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); int? groupValue = 0; Widget buildApp({required bool enabled}) { @@ -982,14 +982,14 @@ void main() { tester.binding.focusManager.highlightStrategy = FocusHighlightStrategy.alwaysTraditional; const Color hoveredFillColor = Color(0xFF000001); - Color getFillColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredFillColor; } return Colors.transparent; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); int? groupValue = 0; Widget buildApp() { @@ -1115,14 +1115,14 @@ void main() { const Color hoverOverlayColor = Color(0xFF000003); const Color hoverColor = Color(0xFF000005); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } return null; @@ -1136,7 +1136,7 @@ void main() { groupValue: true, onChanged: (_) {}, fillColor: const MaterialStatePropertyAll(fillColor), - overlayColor: useOverlay ? MaterialStateProperty.resolveWith(getOverlayColor) : null, + overlayColor: useOverlay ? WidgetStateProperty.resolveWith(getOverlayColor) : null, hoverColor: hoverColor, ), ), @@ -1408,14 +1408,14 @@ void main() { const Color hoverOverlayColor = Color(0xFF000003); const Color hoverColor = Color(0xFF000005); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } return null; @@ -1430,9 +1430,7 @@ void main() { groupValue: true, onChanged: (_) {}, fillColor: const MaterialStatePropertyAll(fillColor), - overlayColor: useOverlay - ? MaterialStateProperty.resolveWith(getOverlayColor) - : null, + overlayColor: useOverlay ? WidgetStateProperty.resolveWith(getOverlayColor) : null, hoverColor: hoverColor, ), ), @@ -2145,20 +2143,20 @@ void main() { const Color inactiveEnabledBackgroundColor = Color(0xFF000003); const Color inactiveDisabledBackgroundColor = Color(0xFF000004); - Color getBackgroundColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getBackgroundColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledBackgroundColor; } return inactiveDisabledBackgroundColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledBackgroundColor; } return inactiveEnabledBackgroundColor; } - final MaterialStateProperty backgroundColor = MaterialStateColor.resolveWith( + final WidgetStateProperty backgroundColor = WidgetStateColor.resolveWith( getBackgroundColor, ); @@ -2238,14 +2236,14 @@ void main() { final ThemeData theme = ThemeData(); - Color getBackgroundColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getBackgroundColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredBackgroundColor; } return Colors.transparent; } - final MaterialStateProperty backgroundColor = MaterialStateColor.resolveWith( + final WidgetStateProperty backgroundColor = WidgetStateColor.resolveWith( getBackgroundColor, ); @@ -2296,7 +2294,7 @@ void main() { }); testWidgets('radioInnerRadius is passed to the Radio', (WidgetTester tester) async { - final WidgetStateProperty innerRadius = MaterialStateProperty.all(6); + final WidgetStateProperty innerRadius = WidgetStateProperty.all(6); await tester.pumpWidget( MaterialApp( home: Material( diff --git a/packages/flutter/test/material/radio_test.dart b/packages/flutter/test/material/radio_test.dart index bd83260ee7d23..0e202913722f7 100644 --- a/packages/flutter/test/material/radio_test.dart +++ b/packages/flutter/test/material/radio_test.dart @@ -16,6 +16,7 @@ import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import 'package:flutter/src/gestures/constants.dart'; import 'package:flutter_test/flutter_test.dart'; + import '../widgets/semantics_tester.dart'; void main() { @@ -1140,20 +1141,20 @@ void main() { const Color inactiveEnabledFillColor = Color(0xFF000003); const Color inactiveDisabledFillColor = Color(0xFF000004); - Color getFillColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledFillColor; } return inactiveDisabledFillColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledFillColor; } return inactiveEnabledFillColor; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); int? groupValue = 0; const Key radioKey = Key('radio'); @@ -1260,17 +1261,17 @@ void main() { const Color hoveredFillColor = Color(0xFF000001); const Color focusedFillColor = Color(0xFF000002); - Color getFillColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredFillColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedFillColor; } return Colors.transparent; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); int? groupValue = 0; const Key radioKey = Key('radio'); @@ -1352,17 +1353,17 @@ void main() { const Color hoveredFillColor = Color(0xFF000001); const Color focusedFillColor = Color(0xFF000002); - Color getFillColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredFillColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedFillColor; } return Colors.transparent; } - final MaterialStateProperty fillColor = MaterialStateColor.resolveWith(getFillColor); + final WidgetStateProperty fillColor = WidgetStateColor.resolveWith(getFillColor); int? groupValue = 0; const Key radioKey = Key('radio'); @@ -1447,17 +1448,17 @@ void main() { const Color hoverColor = Color(0xFF000005); const Color focusColor = Color(0xFF000006); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusOverlayColor; } return null; @@ -1484,7 +1485,7 @@ void main() { groupValue: true, onChanged: (_) {}, fillColor: const MaterialStatePropertyAll(fillColor), - overlayColor: useOverlay ? MaterialStateProperty.resolveWith(getOverlayColor) : null, + overlayColor: useOverlay ? WidgetStateProperty.resolveWith(getOverlayColor) : null, hoverColor: hoverColor, focusColor: focusColor, splashRadius: splashRadius, @@ -2154,20 +2155,20 @@ void main() { const Color inactiveEnabledBackgroundColor = Color(0xFF000003); const Color inactiveDisabledBackgroundColor = Color(0xFF000004); - Color getBackgroundColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getBackgroundColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledBackgroundColor; } return inactiveDisabledBackgroundColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledBackgroundColor; } return inactiveEnabledBackgroundColor; } - final MaterialStateProperty backgroundColor = MaterialStateColor.resolveWith( + final WidgetStateProperty backgroundColor = WidgetStateColor.resolveWith( getBackgroundColor, ); @@ -2271,17 +2272,17 @@ void main() { const Color hoveredBackgroundColor = Color(0xFF000001); const Color focusedBackgroundColor = Color(0xFF000002); - Color getBackgroundColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getBackgroundColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredBackgroundColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedBackgroundColor; } return Colors.transparent; } - final MaterialStateProperty backgroundColor = MaterialStateColor.resolveWith( + final WidgetStateProperty backgroundColor = WidgetStateColor.resolveWith( getBackgroundColor, ); diff --git a/packages/flutter/test/material/radio_theme_test.dart b/packages/flutter/test/material/radio_theme_test.dart index a4af470f0cc8d..a9eca290cde1e 100644 --- a/packages/flutter/test/material/radio_theme_test.dart +++ b/packages/flutter/test/material/radio_theme_test.dart @@ -434,8 +434,8 @@ void main() { return MaterialApp( theme: ThemeData( radioTheme: RadioThemeData( - fillColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + fillColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedFillColor; } return themeDefaultFillColor; @@ -481,9 +481,9 @@ void main() { const Color activePressedOverlayColor = Color(0xFF000001); const Color inactivePressedOverlayColor = Color(0xFF000002); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; @@ -497,7 +497,7 @@ void main() { return MaterialApp( theme: ThemeData( radioTheme: RadioThemeData( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), splashRadius: splashRadius, ), ), diff --git a/packages/flutter/test/material/range_slider_test.dart b/packages/flutter/test/material/range_slider_test.dart index 05016ed02d2df..ba6520c619aa9 100644 --- a/packages/flutter/test/material/range_slider_test.dart +++ b/packages/flutter/test/material/range_slider_test.dart @@ -125,7 +125,7 @@ void main() { }); testWidgets('Range Slider can move when tapped (continuous LTR)', (WidgetTester tester) async { - RangeValues values = const RangeValues(0.3, 0.7); + RangeValues values = const RangeValues(0.3, 0.8); await tester.pumpWidget( MaterialApp( @@ -151,13 +151,13 @@ void main() { ), ); - // No thumbs get select when tapping between the thumbs outside the touch + // The closest thumb is selected when tapping between the thumbs outside the touch // boundaries - expect(values, equals(const RangeValues(0.3, 0.7))); + expect(values, equals(const RangeValues(0.3, 0.8))); // taps at 0.5 await tester.tap(find.byType(RangeSlider)); await tester.pump(); - expect(values, equals(const RangeValues(0.3, 0.7))); + expect(values, equals(const RangeValues(0.5, 0.8))); // Get the bounds of the track by finding the slider edges and translating // inwards by the overlay radius. @@ -168,7 +168,7 @@ void main() { final Offset leftTarget = topLeft + (bottomRight - topLeft) * 0.1; await tester.tapAt(leftTarget); expect(values.start, moreOrLessEquals(0.1, epsilon: 0.01)); - expect(values.end, equals(0.7)); + expect(values.end, equals(0.8)); // The end thumb is selected when tapping the right inactive track. await tester.pump(); @@ -179,7 +179,7 @@ void main() { }); testWidgets('Range Slider can move when tapped (continuous RTL)', (WidgetTester tester) async { - RangeValues values = const RangeValues(0.3, 0.7); + RangeValues values = const RangeValues(0.3, 1.0); await tester.pumpWidget( MaterialApp( @@ -205,13 +205,13 @@ void main() { ), ); - // No thumbs get select when tapping between the thumbs outside the touch + // The closest thumb is selected when tapping between the thumbs outside the touch // boundaries - expect(values, equals(const RangeValues(0.3, 0.7))); + expect(values, equals(const RangeValues(0.3, 1.0))); // taps at 0.5 await tester.tap(find.byType(RangeSlider)); await tester.pump(); - expect(values, equals(const RangeValues(0.3, 0.7))); + expect(values, equals(const RangeValues(0.5, 1.0))); // Get the bounds of the track by finding the slider edges and translating // inwards by the overlay radius. @@ -221,7 +221,7 @@ void main() { // The end thumb is selected when tapping the left inactive track. final Offset leftTarget = topLeft + (bottomRight - topLeft) * 0.1; await tester.tapAt(leftTarget); - expect(values.start, 0.3); + expect(values.start, 0.5); expect(values.end, moreOrLessEquals(0.9, epsilon: 0.01)); // The start thumb is selected when tapping the right inactive track. @@ -233,7 +233,7 @@ void main() { }); testWidgets('Range Slider can move when tapped (discrete LTR)', (WidgetTester tester) async { - RangeValues values = const RangeValues(30, 70); + RangeValues values = const RangeValues(30, 80); await tester.pumpWidget( MaterialApp( @@ -261,13 +261,13 @@ void main() { ), ); - // No thumbs get select when tapping between the thumbs outside the touch + // The closest thumb is selected when tapping between the thumbs outside the touch // boundaries - expect(values, equals(const RangeValues(30, 70))); + expect(values, equals(const RangeValues(30, 80))); // taps at 0.5 await tester.tap(find.byType(RangeSlider)); await tester.pumpAndSettle(); - expect(values, equals(const RangeValues(30, 70))); + expect(values, equals(const RangeValues(50, 80))); // Get the bounds of the track by finding the slider edges and translating // inwards by the overlay radius. @@ -279,7 +279,7 @@ void main() { await tester.tapAt(leftTarget); await tester.pumpAndSettle(); expect(values.start.round(), equals(10)); - expect(values.end.round(), equals(70)); + expect(values.end.round(), equals(80)); // The end thumb is selected when tapping the right inactive track. await tester.pump(); @@ -291,7 +291,7 @@ void main() { }); testWidgets('Range Slider can move when tapped (discrete RTL)', (WidgetTester tester) async { - RangeValues values = const RangeValues(30, 70); + RangeValues values = const RangeValues(30, 80); await tester.pumpWidget( MaterialApp( @@ -319,13 +319,13 @@ void main() { ), ); - // No thumbs get select when tapping between the thumbs outside the touch + // The closest thumb is selected when tapping between the thumbs outside the touch // boundaries - expect(values, equals(const RangeValues(30, 70))); + expect(values, equals(const RangeValues(30, 80))); // taps at 0.5 await tester.tap(find.byType(RangeSlider)); await tester.pumpAndSettle(); - expect(values, equals(const RangeValues(30, 70))); + expect(values, equals(const RangeValues(50, 80))); // Get the bounds of the track by finding the slider edges and translating // inwards by the overlay radius. @@ -336,7 +336,7 @@ void main() { final Offset leftTarget = topLeft + (bottomRight - topLeft) * 0.1; await tester.tapAt(leftTarget); await tester.pumpAndSettle(); - expect(values.start.round(), equals(30)); + expect(values.start.round(), equals(50)); expect(values.end.round(), equals(90)); // The end thumb is selected when tapping the right inactive track. @@ -744,6 +744,7 @@ void main() { final Offset rightTarget = topLeft + (bottomRight - topLeft) * 0.7; await tester.dragFrom(rightTarget, middle - rightTarget); expect(values.start, moreOrLessEquals(50, epsilon: 0.01)); + expect(values.end, moreOrLessEquals(50, epsilon: 0.01)); // Drag the start thumb apart. await tester.pumpAndSettle(); @@ -2415,16 +2416,16 @@ void main() { child: MouseRegion( cursor: SystemMouseCursors.forbidden, child: RangeSlider( - mouseCursor: MaterialStateProperty.resolveWith(( - Set states, + mouseCursor: WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return disabledCursor; } - if (states.contains(MaterialState.dragged)) { + if (states.contains(WidgetState.dragged)) { return draggedCursor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoveredCursor; } @@ -2773,13 +2774,13 @@ void main() { child: RangeSlider( values: values, max: 100.0, - overlayColor: MaterialStateProperty.resolveWith(( - Set states, + overlayColor: WidgetStateProperty.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.dragged)) { + if (states.contains(WidgetState.dragged)) { return draggedColor; } diff --git a/packages/flutter/test/material/scrollbar_test.dart b/packages/flutter/test/material/scrollbar_test.dart index 90902b8c99269..3096b8927e499 100644 --- a/packages/flutter/test/material/scrollbar_test.dart +++ b/packages/flutter/test/material/scrollbar_test.dart @@ -884,7 +884,7 @@ void main() { MaterialApp( theme: ThemeData( useMaterial3: false, - scrollbarTheme: ScrollbarThemeData(thumbVisibility: MaterialStateProperty.all(true)), + scrollbarTheme: ScrollbarThemeData(thumbVisibility: WidgetStateProperty.all(true)), ), home: const SingleChildScrollView(child: SizedBox(width: 4000.0, height: 4000.0)), ), @@ -933,9 +933,9 @@ void main() { theme: ThemeData( useMaterial3: false, scrollbarTheme: ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.all(true), - trackVisibility: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + thumbVisibility: WidgetStateProperty.all(true), + trackVisibility: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return true; } return false; @@ -1013,14 +1013,12 @@ void main() { theme: ThemeData( useMaterial3: false, scrollbarTheme: ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.resolveWith( - (Set states) => true, - ), - trackVisibility: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.hovered); + thumbVisibility: WidgetStateProperty.resolveWith((Set states) => true), + trackVisibility: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.hovered); }), - thickness: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + thickness: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return 40.0; } // Default thickness @@ -1087,9 +1085,9 @@ void main() { theme: ThemeData( useMaterial3: false, scrollbarTheme: ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.all(true), - trackVisibility: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + thumbVisibility: WidgetStateProperty.all(true), + trackVisibility: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return true; } return false; @@ -1155,9 +1153,9 @@ void main() { theme: ThemeData( useMaterial3: false, scrollbarTheme: ScrollbarThemeData( - thumbVisibility: MaterialStateProperty.all(true), - trackVisibility: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + thumbVisibility: WidgetStateProperty.all(true), + trackVisibility: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return true; } return false; diff --git a/packages/flutter/test/material/scrollbar_theme_test.dart b/packages/flutter/test/material/scrollbar_theme_test.dart index 5e78bcdf69981..1e843a616ad59 100644 --- a/packages/flutter/test/material/scrollbar_theme_test.dart +++ b/packages/flutter/test/material/scrollbar_theme_test.dart @@ -38,8 +38,8 @@ void main() { theme: ThemeData( useMaterial3: false, scrollbarTheme: ScrollbarThemeData( - trackVisibility: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + trackVisibility: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return true; } return false; @@ -236,7 +236,7 @@ void main() { behavior: const NoScrollbarBehavior(), child: ScrollbarTheme( data: _scrollbarTheme().copyWith( - thumbColor: MaterialStateProperty.all(const Color(0xFF000000)), + thumbColor: WidgetStateProperty.all(const Color(0xFF000000)), ), child: Scrollbar( thumbVisibility: true, @@ -387,8 +387,8 @@ void main() { theme: ThemeData( colorScheme: const ColorScheme.light(), scrollbarTheme: ScrollbarThemeData( - trackVisibility: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + trackVisibility: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return true; } return false; @@ -492,8 +492,8 @@ void main() { final ScrollController scrollController = ScrollController(); final ThemeData theme = appTheme.copyWith( scrollbarTheme: ScrollbarThemeData( - trackVisibility: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + trackVisibility: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return true; } return false; @@ -671,7 +671,7 @@ void main() { 'ScrollbarThemeData.trackVisibility test', (WidgetTester tester) async { final ScrollController scrollController = ScrollController(); - bool? getTrackVisibility(Set states) { + bool? getTrackVisibility(Set states) { return true; } @@ -679,7 +679,7 @@ void main() { MaterialApp( theme: ThemeData(useMaterial3: false).copyWith( scrollbarTheme: _scrollbarTheme( - trackVisibility: MaterialStateProperty.resolveWith(getTrackVisibility), + trackVisibility: WidgetStateProperty.resolveWith(getTrackVisibility), ), ), home: ScrollConfiguration( @@ -730,12 +730,12 @@ void main() { testWidgets('ScrollbarTheme implements debugFillProperties', (WidgetTester tester) async { final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder(); ScrollbarThemeData( - thickness: MaterialStateProperty.resolveWith(_getThickness), - thumbVisibility: MaterialStateProperty.resolveWith(_getThumbVisibility), + thickness: WidgetStateProperty.resolveWith(_getThickness), + thumbVisibility: WidgetStateProperty.resolveWith(_getThumbVisibility), radius: const Radius.circular(3.0), - thumbColor: MaterialStateProperty.resolveWith(_getThumbColor), - trackColor: MaterialStateProperty.resolveWith(_getTrackColor), - trackBorderColor: MaterialStateProperty.resolveWith(_getTrackBorderColor), + thumbColor: WidgetStateProperty.resolveWith(_getThumbColor), + trackColor: WidgetStateProperty.resolveWith(_getTrackColor), + trackBorderColor: WidgetStateProperty.resolveWith(_getTrackBorderColor), crossAxisMargin: 3.0, mainAxisMargin: 6.0, minThumbLength: 120.0, @@ -774,66 +774,66 @@ class NoScrollbarBehavior extends ScrollBehavior { } ScrollbarThemeData _scrollbarTheme({ - MaterialStateProperty? thickness, - MaterialStateProperty? trackVisibility, - MaterialStateProperty? thumbVisibility, + WidgetStateProperty? thickness, + WidgetStateProperty? trackVisibility, + WidgetStateProperty? thumbVisibility, Radius radius = const Radius.circular(6.0), - MaterialStateProperty? thumbColor, - MaterialStateProperty? trackColor, - MaterialStateProperty? trackBorderColor, + WidgetStateProperty? thumbColor, + WidgetStateProperty? trackColor, + WidgetStateProperty? trackBorderColor, double crossAxisMargin = 5.0, double mainAxisMargin = 10.0, double minThumbLength = 50.0, }) { return ScrollbarThemeData( - thickness: thickness ?? MaterialStateProperty.resolveWith(_getThickness), + thickness: thickness ?? WidgetStateProperty.resolveWith(_getThickness), trackVisibility: trackVisibility ?? - MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return true; } return false; }), thumbVisibility: thumbVisibility, radius: radius, - thumbColor: thumbColor ?? MaterialStateProperty.resolveWith(_getThumbColor), - trackColor: trackColor ?? MaterialStateProperty.resolveWith(_getTrackColor), - trackBorderColor: trackBorderColor ?? MaterialStateProperty.resolveWith(_getTrackBorderColor), + thumbColor: thumbColor ?? WidgetStateProperty.resolveWith(_getThumbColor), + trackColor: trackColor ?? WidgetStateProperty.resolveWith(_getTrackColor), + trackBorderColor: trackBorderColor ?? WidgetStateProperty.resolveWith(_getTrackBorderColor), crossAxisMargin: crossAxisMargin, mainAxisMargin: mainAxisMargin, minThumbLength: minThumbLength, ); } -double? _getThickness(Set states) { - if (states.contains(MaterialState.hovered)) { +double? _getThickness(Set states) { + if (states.contains(WidgetState.hovered)) { return 20.0; } return 10.0; } -bool? _getThumbVisibility(Set states) => true; +bool? _getThumbVisibility(Set states) => true; -Color? _getThumbColor(Set states) { - if (states.contains(MaterialState.dragged)) { +Color? _getThumbColor(Set states) { + if (states.contains(WidgetState.dragged)) { return Colors.red; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return Colors.blue; } return Colors.green; } -Color? _getTrackColor(Set states) { - if (states.contains(MaterialState.hovered)) { +Color? _getTrackColor(Set states) { + if (states.contains(WidgetState.hovered)) { return Colors.black; } return null; } -Color? _getTrackBorderColor(Set states) { - if (states.contains(MaterialState.hovered)) { +Color? _getTrackBorderColor(Set states) { + if (states.contains(WidgetState.hovered)) { return Colors.yellow; } return null; diff --git a/packages/flutter/test/material/search_anchor_test.dart b/packages/flutter/test/material/search_anchor_test.dart index 282cecf39a9ae..1bbd954eb7e08 100644 --- a/packages/flutter/test/material/search_anchor_test.dart +++ b/packages/flutter/test/material/search_anchor_test.dart @@ -367,14 +367,14 @@ void main() { const double hoveredElevation = 1.0; const double focusedElevation = 2.0; const double defaultElevation = 3.0; - double getElevation(Set states) { - if (states.contains(MaterialState.pressed)) { + double getElevation(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedElevation; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoveredElevation; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedElevation; } return defaultElevation; @@ -384,7 +384,7 @@ void main() { MaterialApp( home: Center( child: Material( - child: SearchBar(elevation: MaterialStateProperty.resolveWith(getElevation)), + child: SearchBar(elevation: WidgetStateProperty.resolveWith(getElevation)), ), ), ), @@ -424,7 +424,7 @@ void main() { MaterialApp( home: Center( child: Material( - child: SearchBar(backgroundColor: MaterialStateProperty.resolveWith(_getColor)), + child: SearchBar(backgroundColor: WidgetStateProperty.resolveWith(_getColor)), ), ), ), @@ -464,7 +464,7 @@ void main() { MaterialApp( home: Center( child: Material( - child: SearchBar(shadowColor: MaterialStateProperty.resolveWith(_getColor)), + child: SearchBar(shadowColor: WidgetStateProperty.resolveWith(_getColor)), ), ), ), @@ -504,7 +504,7 @@ void main() { MaterialApp( home: Center( child: Material( - child: SearchBar(surfaceTintColor: MaterialStateProperty.resolveWith(_getColor)), + child: SearchBar(surfaceTintColor: WidgetStateProperty.resolveWith(_getColor)), ), ), ), @@ -549,7 +549,7 @@ void main() { child: Material( child: SearchBar( focusNode: focusNode, - overlayColor: MaterialStateProperty.resolveWith(_getColor), + overlayColor: WidgetStateProperty.resolveWith(_getColor), ), ), ), @@ -607,27 +607,27 @@ void main() { const OutlinedBorder hoveredShape = ContinuousRectangleBorder(); const OutlinedBorder focusedShape = CircleBorder(); const OutlinedBorder defaultShape = StadiumBorder(); - BorderSide getSide(Set states) { - if (states.contains(MaterialState.pressed)) { + BorderSide getSide(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedSide; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoveredSide; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedSide; } return defaultSide; } - OutlinedBorder getShape(Set states) { - if (states.contains(MaterialState.pressed)) { + OutlinedBorder getShape(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedShape; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoveredShape; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedShape; } return defaultShape; @@ -638,8 +638,8 @@ void main() { home: Center( child: Material( child: SearchBar( - side: MaterialStateProperty.resolveWith(getSide), - shape: MaterialStateProperty.resolveWith(getShape), + side: WidgetStateProperty.resolveWith(getSide), + shape: WidgetStateProperty.resolveWith(getShape), ), ), ), @@ -708,7 +708,7 @@ void main() { child: Material( child: SearchBar( hintText: 'hint text', - hintStyle: MaterialStateProperty.resolveWith(_getTextStyle), + hintStyle: WidgetStateProperty.resolveWith(_getTextStyle), ), ), ), @@ -747,7 +747,7 @@ void main() { child: Material( child: SearchBar( controller: controller, - textStyle: MaterialStateProperty.resolveWith(_getTextStyle), + textStyle: WidgetStateProperty.resolveWith(_getTextStyle), ), ), ), @@ -1007,7 +1007,7 @@ void main() { child: Material( child: SearchBar( hintText: 'hint text', - hintStyle: MaterialStateProperty.resolveWith(_getTextStyle), + hintStyle: WidgetStateProperty.resolveWith(_getTextStyle), textStyle: const MaterialStatePropertyAll(TextStyle(color: Colors.pink)), ), ), @@ -3022,7 +3022,7 @@ void main() { expect(find.byWidget(iconButtonMaterial), findsOneWidget); expect( iconButtonMaterial.color, - localTheme.iconButtonTheme.style?.backgroundColor?.resolve({}), + localTheme.iconButtonTheme.style?.backgroundColor?.resolve({}), ); // Test the suggestion card color. @@ -4290,14 +4290,14 @@ const Color hoveredColor = Colors.orange; const Color focusedColor = Colors.yellow; const Color defaultColor = Colors.green; -Color _getColor(Set states) { - if (states.contains(MaterialState.pressed)) { +Color _getColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoveredColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -4308,14 +4308,14 @@ final TextStyle? pressedStyle = theme.textTheme.bodyLarge?.copyWith(color: press final TextStyle? hoveredStyle = theme.textTheme.bodyLarge?.copyWith(color: hoveredColor); final TextStyle? focusedStyle = theme.textTheme.bodyLarge?.copyWith(color: focusedColor); -TextStyle? _getTextStyle(Set states) { - if (states.contains(MaterialState.pressed)) { +TextStyle? _getTextStyle(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedStyle; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoveredStyle; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedStyle; } return null; diff --git a/packages/flutter/test/material/search_bar_theme_test.dart b/packages/flutter/test/material/search_bar_theme_test.dart index 52948f16bbe65..66d38b880e7c8 100644 --- a/packages/flutter/test/material/search_bar_theme_test.dart +++ b/packages/flutter/test/material/search_bar_theme_test.dart @@ -123,32 +123,30 @@ void main() { const TextStyle textStyleValue = TextStyle(color: Color(0xff000005), fontSize: 20.0); const TextStyle hintStyleValue = TextStyle(color: Color(0xff000006), fontSize: 18.0); - const MaterialStateProperty elevation = MaterialStatePropertyAll( - elevationValue, - ); - const MaterialStateProperty backgroundColor = MaterialStatePropertyAll( + const WidgetStateProperty elevation = MaterialStatePropertyAll(elevationValue); + const WidgetStateProperty backgroundColor = MaterialStatePropertyAll( backgroundColorValue, ); - const MaterialStateProperty shadowColor = MaterialStatePropertyAll( + const WidgetStateProperty shadowColor = MaterialStatePropertyAll( shadowColorValue, ); - const MaterialStateProperty surfaceTintColor = MaterialStatePropertyAll( + const WidgetStateProperty surfaceTintColor = MaterialStatePropertyAll( surfaceTintColorValue, ); - const MaterialStateProperty overlayColor = MaterialStatePropertyAll( + const WidgetStateProperty overlayColor = MaterialStatePropertyAll( overlayColorValue, ); - const MaterialStateProperty side = MaterialStatePropertyAll(sideValue); - const MaterialStateProperty shape = MaterialStatePropertyAll( + const WidgetStateProperty side = MaterialStatePropertyAll(sideValue); + const WidgetStateProperty shape = MaterialStatePropertyAll( shapeValue, ); - const MaterialStateProperty padding = MaterialStatePropertyAll( + const WidgetStateProperty padding = MaterialStatePropertyAll( paddingValue, ); - const MaterialStateProperty textStyle = MaterialStatePropertyAll( + const WidgetStateProperty textStyle = MaterialStatePropertyAll( textStyleValue, ); - const MaterialStateProperty hintStyle = MaterialStatePropertyAll( + const WidgetStateProperty hintStyle = MaterialStatePropertyAll( hintStyleValue, ); const BoxConstraints constraints = BoxConstraints( @@ -232,9 +230,9 @@ void main() { matching: find.byType(InkWell), ); - const Set hovered = {MaterialState.hovered}; - const Set focused = {MaterialState.focused}; - const Set pressed = {MaterialState.pressed}; + const Set hovered = {WidgetState.hovered}; + const Set focused = {WidgetState.focused}; + const Set pressed = {WidgetState.pressed}; Future checkSearchBar(WidgetTester tester) async { final Material material = tester.widget(findMaterial); diff --git a/packages/flutter/test/material/segmented_button_test.dart b/packages/flutter/test/material/segmented_button_test.dart index a540ec71fae53..756b0f9b0e7dd 100644 --- a/packages/flutter/test/material/segmented_button_test.dart +++ b/packages/flutter/test/material/segmented_button_test.dart @@ -243,6 +243,57 @@ void main() { expect(selection, {2, 3}); }); + // Regression test for https://github.com/flutter/flutter/issues/161922. + testWidgets('Focused segment does not lose focus when its selection state changes', ( + WidgetTester tester, + ) async { + int callbackCount = 0; + Set selection = {1}; + + Widget frameWithSelection(Set selected) { + return Material( + child: boilerplate( + child: SegmentedButton( + multiSelectionEnabled: true, + segments: const >[ + ButtonSegment(value: 1, label: Text('1')), + ButtonSegment(value: 2, label: Text('2')), + ], + selected: selected, + onSelectionChanged: (Set selected) { + selection = selected; + callbackCount += 1; + }, + ), + ), + ); + } + + await tester.pumpWidget(frameWithSelection(selection)); + expect(selection, {1}); + expect(callbackCount, 0); + + // Select segment 2. + await tester.pumpWidget(frameWithSelection({1, 2})); + await tester.pumpAndSettle(); + + FocusNode getSegment2FocusNode() { + return Focus.of(tester.element(find.text('2'))); + } + + // Set focus on segment 2. + getSegment2FocusNode().requestFocus(); + await tester.pumpAndSettle(); + expect(getSegment2FocusNode().hasFocus, true); + + // Unselect segment 2. + await tester.pumpWidget(frameWithSelection({1})); + await tester.pumpAndSettle(); + + // The button should still be focused. + expect(getSegment2FocusNode().hasFocus, true); + }); + testWidgets('SegmentedButton allows for empty selection', (WidgetTester tester) async { int callbackCount = 0; int? selectedSegment = 1; @@ -585,7 +636,7 @@ void main() { ); final Material material = tester.widget( - find.descendant(of: find.byType(TextButton), matching: find.byType(Material)), + find.descendant(of: find.byType(TextButton).last, matching: find.byType(Material)), ); // Hovered. @@ -798,10 +849,7 @@ void main() { ), ), ); - final Set states = { - MaterialState.selected, - MaterialState.disabled, - }; + final Set states = {WidgetState.selected, WidgetState.disabled}; // Check the initial states. SegmentedButtonState state = tester.state(find.byType(SegmentedButton)); expect(state.statesControllers.values.first.value, states); @@ -1396,6 +1444,6 @@ void main() { }); } -Set enabled = const {}; -Set disabled = const {MaterialState.disabled}; -Set selected = const {MaterialState.selected}; +Set enabled = const {}; +Set disabled = const {WidgetState.disabled}; +Set selected = const {WidgetState.selected}; diff --git a/packages/flutter/test/material/segmented_button_theme_test.dart b/packages/flutter/test/material/segmented_button_theme_test.dart index 143ec1bc94058..f2035619ab96f 100644 --- a/packages/flutter/test/material/segmented_button_theme_test.dart +++ b/packages/flutter/test/material/segmented_button_theme_test.dart @@ -122,20 +122,20 @@ void main() { final ThemeData theme = ThemeData( segmentedButtonTheme: SegmentedButtonThemeData( style: ButtonStyle( - backgroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + backgroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.blue; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.purple; } return null; }), - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.yellow; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.brown; } else { return Colors.cyan; @@ -213,20 +213,20 @@ void main() { testWidgets('SegmentedButtonTheme overrides ThemeData and defaults', (WidgetTester tester) async { final SegmentedButtonThemeData global = SegmentedButtonThemeData( style: ButtonStyle( - backgroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + backgroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.blue; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.purple; } return null; }), - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.yellow; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.brown; } else { return Colors.cyan; @@ -237,20 +237,20 @@ void main() { ); final SegmentedButtonThemeData segmentedTheme = SegmentedButtonThemeData( style: ButtonStyle( - backgroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + backgroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.lightBlue; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.lightGreen; } return null; }), - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.lime; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.amber; } else { return Colors.deepPurple; @@ -348,20 +348,20 @@ void main() { ) async { final SegmentedButtonThemeData global = SegmentedButtonThemeData( style: ButtonStyle( - backgroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + backgroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.blue; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.purple; } return null; }), - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.yellow; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.brown; } else { return Colors.cyan; @@ -372,20 +372,20 @@ void main() { ); final SegmentedButtonThemeData segmentedTheme = SegmentedButtonThemeData( style: ButtonStyle( - backgroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + backgroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.lightBlue; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.lightGreen; } return null; }), - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.lime; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.amber; } else { return Colors.deepPurple; @@ -411,20 +411,20 @@ void main() { selected: const {2}, onSelectionChanged: (Set selected) {}, style: ButtonStyle( - backgroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + backgroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.black12; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.grey; } return null; }), - foregroundColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + foregroundColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.amberAccent; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return Colors.deepOrange; } else { return Colors.deepPurpleAccent; diff --git a/packages/flutter/test/material/selection_area_test.dart b/packages/flutter/test/material/selection_area_test.dart index cd1f1ed7e682c..5e38d566af845 100644 --- a/packages/flutter/test/material/selection_area_test.dart +++ b/packages/flutter/test/material/selection_area_test.dart @@ -582,4 +582,73 @@ void main() { variant: TargetPlatformVariant.only(TargetPlatform.android), skip: kIsWeb, // [intended] on web only one selection handle can be dragged at a time. ); + + // Regression test for https://github.com/flutter/flutter/issues/174246 . + // This is a control case against its Web counterpart in + // html_element_view_test.dart. + testWidgets('SelectionArea applies correct mouse cursors in its empty region', ( + WidgetTester tester, + ) async { + final GlobalKey innerRegion = GlobalKey(); + await tester.pumpWidget( + MaterialApp( + debugShowCheckedModeBanner: false, + home: Scaffold( + // Region 1 (fullscreen) + body: MouseRegion( + cursor: SystemMouseCursors.grab, + child: Center( + child: Container( + decoration: BoxDecoration(border: Border.all()), + // Region 2 (SelectionArea) + child: SelectionArea( + child: Padding( + padding: const EdgeInsetsGeometry.all(40), + // Region 3 (inner MouseRegion) + child: MouseRegion( + key: innerRegion, + cursor: SystemMouseCursors.forbidden, + onHover: (_) {}, + child: Container(color: const Color(0xFFAA9933), width: 200, height: 50), + ), + ), + ), + ), + ), + ), + ), + ), + ); + + await tester.pump(); + + const Offset region1 = Offset(10, 10); + final Offset region2 = tester.getTopLeft(find.byKey(innerRegion)) - const Offset(3, 3); + final Offset region3 = tester.getCenter(find.byKey(innerRegion)); + + final TestGesture gesture = await tester.startGesture(region1, kind: PointerDeviceKind.mouse); + addTearDown(gesture.removePointer); + expect( + RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), + SystemMouseCursors.grab, + ); + + await gesture.moveTo(region2); + expect( + RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), + SystemMouseCursors.grab, + ); + + await gesture.moveTo(region3); + expect( + RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), + SystemMouseCursors.forbidden, + ); + + await gesture.moveTo(region2); + expect( + RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), + SystemMouseCursors.grab, + ); + }, skip: kIsWeb); // There's a Web version in html_element_view_test.dart } diff --git a/packages/flutter/test/material/slider_test.dart b/packages/flutter/test/material/slider_test.dart index b76331f045165..c026f36343660 100644 --- a/packages/flutter/test/material/slider_test.dart +++ b/packages/flutter/test/material/slider_test.dart @@ -1965,8 +1965,8 @@ void main() { builder: (BuildContext context, StateSetter setState) { return Slider( value: value, - overlayColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return Colors.purple[500]!; } @@ -2095,8 +2095,8 @@ void main() { builder: (BuildContext context, StateSetter setState) { return Slider( value: value, - overlayColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + overlayColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return Colors.cyan[500]!; } @@ -2247,8 +2247,8 @@ void main() { key: sliderKey, value: value, focusNode: focusNode, - overlayColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.dragged)) { + overlayColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.dragged)) { return Colors.lime[500]!; } diff --git a/packages/flutter/test/material/slider_theme_test.dart b/packages/flutter/test/material/slider_theme_test.dart index a6a4434c1a544..02ef50f86974c 100644 --- a/packages/flutter/test/material/slider_theme_test.dart +++ b/packages/flutter/test/material/slider_theme_test.dart @@ -920,8 +920,8 @@ void main() { testWidgets('Slider can use theme overlay with material states', (WidgetTester tester) async { final ThemeData theme = ThemeData(platform: TargetPlatform.android, primarySwatch: Colors.blue); final SliderThemeData sliderTheme = theme.sliderTheme.copyWith( - overlayColor: MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return Colors.brown[500]!; } diff --git a/packages/flutter/test/material/snack_bar_test.dart b/packages/flutter/test/material/snack_bar_test.dart index 351a6ef32811a..e1b7f32e45a8e 100644 --- a/packages/flutter/test/material/snack_bar_test.dart +++ b/packages/flutter/test/material/snack_bar_test.dart @@ -1005,9 +1005,9 @@ void main() { final Widget textButton = actionTextButton.widget; if (textButton is TextButton) { final ButtonStyle buttonStyle = textButton.style!; - if (buttonStyle.foregroundColor is MaterialStateColor) { + if (buttonStyle.foregroundColor is WidgetStateColor) { // Same color when resolved - expect(buttonStyle.foregroundColor!.resolve({}), usedColor); + expect(buttonStyle.foregroundColor!.resolve({}), usedColor); } else { expect(false, true); } @@ -1016,7 +1016,7 @@ void main() { } }); - testWidgets('Snackbar labels can be colored as MaterialStateColor (Material 3)', ( + testWidgets('Snackbar labels can be colored as WidgetStateColor (Material 3)', ( WidgetTester tester, ) async { const _TestMaterialStateColor usedColor = _TestMaterialStateColor(); @@ -1056,7 +1056,7 @@ void main() { final Widget textButton = actionTextButton.widget; if (textButton is TextButton) { final ButtonStyle buttonStyle = textButton.style!; - if (buttonStyle.foregroundColor is MaterialStateColor) { + if (buttonStyle.foregroundColor is WidgetStateColor) { // Exactly the same object expect(buttonStyle.foregroundColor, usedColor); } else { @@ -1665,6 +1665,33 @@ void main() { await tester.pumpAndSettle(const Duration(seconds: 1)); expect(closedReason, equals(SnackBarClosedReason.hide)); + // Remove action to test SnackBarClosedReason.timeout because Snackbar with + // action doesn't timeout. + await tester.pumpWidget( + MaterialApp( + scaffoldMessengerKey: scaffoldMessengerKey, + home: Scaffold( + body: Builder( + builder: (BuildContext context) { + return GestureDetector( + onTap: () { + ScaffoldMessenger.of(context) + .showSnackBar( + const SnackBar(content: Text('snack'), duration: Duration(seconds: 2)), + ) + .closed + .then((SnackBarClosedReason reason) { + closedReason = reason; + }); + }, + child: const Text('X'), + ); + }, + ), + ), + ), + ); + // Pop up the snack bar and then let it time out. await tester.tap(find.text('X')); await tester.pump(const Duration(milliseconds: 750)); @@ -1824,10 +1851,10 @@ void main() { testWidgets('SnackBar handles updates to accessibleNavigation', (WidgetTester tester) async { Future boilerplate({required bool accessibleNavigation}) { return tester.pumpWidget( - MaterialApp( - home: MediaQuery( - data: MediaQueryData(accessibleNavigation: accessibleNavigation), - child: Scaffold( + MediaQuery( + data: MediaQueryData(accessibleNavigation: accessibleNavigation), + child: MaterialApp( + home: Scaffold( body: Builder( builder: (BuildContext context) { return GestureDetector( @@ -1869,7 +1896,10 @@ void main() { // disable accessible navigation await boilerplate(accessibleNavigation: false); await tester.pumpAndSettle(const Duration(milliseconds: 5750)); + expect(find.text('test'), findsOneWidget); + await tester.tap(find.text('foo')); + await tester.pumpAndSettle(); expect(find.text('test'), findsNothing); }); @@ -2753,7 +2783,7 @@ void main() { expect(find.text(snackBarText), findsOneWidget); expect(find.text(firstHeader), findsOneWidget); expect(find.text(secondHeader), findsOneWidget); - await tester.pump(const Duration(milliseconds: 750)); + await tester.pump(const Duration(milliseconds: 1500)); expect(find.text(snackBarText), findsOneWidget); expect(find.text(firstHeader), findsNothing); expect(find.text(secondHeader), findsOneWidget); @@ -3751,13 +3781,13 @@ void main() { expect(materialAfterDismissed.color, Colors.transparent); }); - testWidgets('SnackBarAction backgroundColor works as a MaterialStateColor', ( + testWidgets('SnackBarAction backgroundColor works as a WidgetStateColor', ( WidgetTester tester, ) async { - final MaterialStateColor backgroundColor = MaterialStateColor.resolveWith(( - Set states, + final WidgetStateColor backgroundColor = WidgetStateColor.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return Colors.blue; } return Colors.purple; @@ -3871,10 +3901,10 @@ void main() { }); testWidgets( - 'SnackBarAction asserts when backgroundColor is a MaterialStateColor and disabledBackgroundColor is also provided', + 'SnackBarAction asserts when backgroundColor is a WidgetStateColor and disabledBackgroundColor is also provided', (WidgetTester tester) async { - final Color backgroundColor = MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + final Color backgroundColor = WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return Colors.blue; } return Colors.purple; @@ -3918,7 +3948,7 @@ void main() { (AssertionError e) => e.toString(), 'description', contains( - 'disabledBackgroundColor must not be provided when background color is a MaterialStateColor', + 'disabledBackgroundColor must not be provided when background color is a WidgetStateColor', ), ), ); @@ -4166,7 +4196,7 @@ void main() { .widget(find.widgetWithText(TextButton, 'ACTION')) .style; expect( - actionButtonStyle?.overlayColor?.resolve({MaterialState.hovered}), + actionButtonStyle?.overlayColor?.resolve({WidgetState.hovered}), theme.colorScheme.inversePrimary.withOpacity(0.08), ); }); @@ -4233,6 +4263,133 @@ void main() { expect(completer.isCompleted, true); }, ); + + testWidgets('Setting persist to true prevents timeout', (WidgetTester tester) async { + const String buttonText = 'Show snackbar'; + const String snackbarContent = 'Snackbar'; + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: Builder( + builder: (BuildContext context) { + return ElevatedButton( + onPressed: () { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + duration: Duration(seconds: 1), + persist: true, + showCloseIcon: true, + content: Text(snackbarContent), + ), + ); + }, + child: const Text(buttonText), + ); + }, + ), + ), + ), + ); + + await tester.tap(find.text(buttonText)); + await tester.pump(const Duration(milliseconds: 750)); + // The snackbar shows up before the timeout. + expect(find.text(snackbarContent), findsOneWidget); + + await tester.pump(const Duration(milliseconds: 1500)); + await tester.pumpAndSettle(); + // The snackbar is still there after the timeout. + expect(find.text(snackbarContent), findsOneWidget); + + await tester.tap(find.byIcon(Icons.close)); + await tester.pumpAndSettle(); + // The snackbar is dismissed. + expect(find.text(snackbarContent), findsNothing); + }); + + testWidgets('Setting persist to false so snackbar auto dismisses', (WidgetTester tester) async { + const String buttonText = 'Show'; + const String snackbarContent = 'SnackbarContent'; + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: Builder( + builder: (BuildContext context) { + return ElevatedButton( + onPressed: () { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + duration: Duration(seconds: 1), + persist: false, + showCloseIcon: true, + content: Text(snackbarContent), + ), + ); + }, + child: const Text(buttonText), + ); + }, + ), + ), + ), + ); + + await tester.tap(find.byType(ElevatedButton)); + await tester.pump(); + await tester.pump(const Duration(milliseconds: 750)); + // The snackbar shows up before the timeout. + expect(find.text(snackbarContent), findsOneWidget); + + await tester.pump(const Duration(milliseconds: 1500)); + await tester.pumpAndSettle(); + // The snackbar auto dismisses after the timeout. + expect(find.text(snackbarContent), findsNothing); + }); + + testWidgets('Setting persist to false overrides accessibleNavigation', ( + WidgetTester tester, + ) async { + const String buttonText = 'Show'; + const String snackbarContent = 'SnackbarContent'; + + await tester.pumpWidget( + MediaQuery( + data: const MediaQueryData(accessibleNavigation: true), + child: MaterialApp( + home: Scaffold( + body: Builder( + builder: (BuildContext context) { + return ElevatedButton( + onPressed: () { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + duration: const Duration(seconds: 1), + persist: false, + action: SnackBarAction(label: 'Action', onPressed: () {}), + content: const Text(snackbarContent), + ), + ); + }, + child: const Text(buttonText), + ); + }, + ), + ), + ), + ), + ); + + await tester.tap(find.byType(ElevatedButton)); + await tester.pumpAndSettle(); + expect(find.text(snackbarContent), findsOneWidget); + + await tester.pump(const Duration(seconds: 10)); + await tester.pumpAndSettle(); + // The snackbar auto dismisses after the timeout. + expect(find.text(snackbarContent), findsNothing); + }); } /// Start test for "SnackBar dismiss test". @@ -4315,15 +4472,15 @@ Map> _getDragGesturesOfDismissDirections(double s return dragGestures; } -class _TestMaterialStateColor extends MaterialStateColor { +class _TestMaterialStateColor extends WidgetStateColor { const _TestMaterialStateColor() : super(_colorRed); static const int _colorRed = 0xFFF44336; static const int _colorBlue = 0xFF2196F3; @override - Color resolve(Set states) { - if (states.contains(MaterialState.pressed)) { + Color resolve(Set states) { + if (states.contains(WidgetState.pressed)) { return const Color(_colorBlue); } diff --git a/packages/flutter/test/material/snack_bar_theme_test.dart b/packages/flutter/test/material/snack_bar_theme_test.dart index 920ad071111fc..875d093bed0f3 100644 --- a/packages/flutter/test/material/snack_bar_theme_test.dart +++ b/packages/flutter/test/material/snack_bar_theme_test.dart @@ -287,10 +287,10 @@ void main() { }); testWidgets('SnackBarAction uses actionBackgroundColor', (WidgetTester tester) async { - final MaterialStateColor actionBackgroundColor = MaterialStateColor.resolveWith(( - Set states, + final WidgetStateColor actionBackgroundColor = WidgetStateColor.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return Colors.blue; } return Colors.purple; @@ -347,19 +347,19 @@ void main() { testWidgets('SnackBarAction backgroundColor overrides SnackBarThemeData actionBackgroundColor', ( WidgetTester tester, ) async { - final MaterialStateColor snackBarActionBackgroundColor = MaterialStateColor.resolveWith(( - Set states, + final WidgetStateColor snackBarActionBackgroundColor = WidgetStateColor.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return Colors.amber; } return Colors.cyan; }); - final MaterialStateColor actionBackgroundColor = MaterialStateColor.resolveWith(( - Set states, + final WidgetStateColor actionBackgroundColor = WidgetStateColor.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return Colors.blue; } return Colors.purple; @@ -418,12 +418,12 @@ void main() { }); testWidgets( - 'SnackBarThemeData asserts when actionBackgroundColor is a MaterialStateColor and disabledActionBackgroundColor is also provided', + 'SnackBarThemeData asserts when actionBackgroundColor is a WidgetStateColor and disabledActionBackgroundColor is also provided', (WidgetTester tester) async { - final MaterialStateColor actionBackgroundColor = MaterialStateColor.resolveWith(( - Set states, + final WidgetStateColor actionBackgroundColor = WidgetStateColor.resolveWith(( + Set states, ) { - if (states.contains(MaterialState.disabled)) { + if (states.contains(WidgetState.disabled)) { return Colors.blue; } return Colors.purple; @@ -462,7 +462,7 @@ void main() { (AssertionError e) => e.toString(), 'description', contains( - 'disabledBackgroundColor must not be provided when background color is a MaterialStateColor', + 'disabledBackgroundColor must not be provided when background color is a WidgetStateColor', ), ), ), diff --git a/packages/flutter/test/material/stepper_test.dart b/packages/flutter/test/material/stepper_test.dart index 9d150d970eea5..9b110bee5ab20 100644 --- a/packages/flutter/test/material/stepper_test.dart +++ b/packages/flutter/test/material/stepper_test.dart @@ -1264,9 +1264,9 @@ void main() { builder: (BuildContext context, StateSetter setState) { return Stepper( type: StepperType.horizontal, - connectorColor: MaterialStateProperty.resolveWith( - (Set states) => - states.contains(MaterialState.selected) ? selectedColor : disabledColor, + connectorColor: WidgetStateProperty.resolveWith( + (Set states) => + states.contains(WidgetState.selected) ? selectedColor : disabledColor, ), onStepTapped: (int i) => setState(() => index = i), currentStep: index, @@ -1298,7 +1298,11 @@ void main() { ?.color; Color lineColor() { - return tester.widget(find.byType(ColoredBox)).color; + return tester + .widget( + find.descendant(of: find.byType(Stepper), matching: find.byType(ColoredBox)), + ) + .color; } // Step 1 @@ -1636,6 +1640,49 @@ void main() { verifyConnector(); } }); + + testWidgets('Vertical stepper active step has fully colored connector line', ( + WidgetTester tester, + ) async { + const Color activeColor = Color(0xFF2196F3); + const Color inactiveColor = Color(0xFF9E9E9E); + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: Center( + child: Stepper( + controlsBuilder: (_, _) => const SizedBox.shrink(), + connectorThickness: 3, + connectorColor: MaterialStateProperty.resolveWith( + (Set states) => + states.contains(WidgetState.selected) ? activeColor : inactiveColor, + ), + steps: const [ + Step(title: Text('step1'), content: Text('step1 content'), isActive: true), + Step(title: Text('step2'), content: Text('step2 content')), + ], + ), + ), + ), + ), + ); + + final Finder connectorLines = find.byWidgetPredicate( + (Widget widget) => + widget is ColoredBox && + widget.child is SizedBox && + (widget.child! as SizedBox).width == 3.0, + ); + + expect(connectorLines, findsWidgets); + + final List lineWidgets = tester.widgetList(connectorLines).toList(); + final List colors = lineWidgets.map((ColoredBox box) => box.color).toList(); + // Both top and bottom box should be colored. + expect(colors.where((Color c) => c == activeColor).length, equals(2)); + expect(colors.first, equals(activeColor)); + expect(colors.last, equals(activeColor)); + }); } class _TappableColorWidget extends StatefulWidget { diff --git a/packages/flutter/test/material/switch_list_tile_test.dart b/packages/flutter/test/material/switch_list_tile_test.dart index 418642b07d419..4e3aad3c516b7 100644 --- a/packages/flutter/test/material/switch_list_tile_test.dart +++ b/packages/flutter/test/material/switch_list_tile_test.dart @@ -512,8 +512,8 @@ void main() { return MaterialApp( theme: ThemeData( switchTheme: SwitchThemeData( - thumbColor: MaterialStateProperty.resolveWith((Set states) { - return states.contains(MaterialState.selected) ? thumbColor : null; + thumbColor: WidgetStateProperty.resolveWith((Set states) { + return states.contains(WidgetState.selected) ? thumbColor : null; }), ), ), @@ -735,20 +735,20 @@ void main() { const Color inactiveEnabledThumbColor = Color(0xFF000003); const Color inactiveDisabledThumbColor = Color(0xFF000004); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledThumbColor; } return inactiveDisabledThumbColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledThumbColor; } return inactiveEnabledThumbColor; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitchListTile({required bool enabled, required bool selected}) { return MaterialApp( @@ -830,20 +830,20 @@ void main() { const Color inactiveEnabledThumbColor = Color(0xFF000003); const Color inactiveDisabledThumbColor = Color(0xFF000004); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledThumbColor; } return inactiveDisabledThumbColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledThumbColor; } return inactiveEnabledThumbColor; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitchListTile({required bool enabled, required bool selected}) { return MaterialApp( @@ -911,17 +911,17 @@ void main() { const Color hoveredThumbColor = Color(0xFF4caf50); const Color pressedThumbColor = Color(0xFFF44336); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedThumbColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoveredThumbColor; } return Colors.transparent; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitchListTile() { return MaterialApp( @@ -978,17 +978,17 @@ void main() { const Color hoveredThumbColor = Color(0xFF4caf50); const Color pressedThumbColor = Color(0xFFF44336); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedThumbColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoveredThumbColor; } return Colors.transparent; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitchListTile() { return MaterialApp( @@ -1039,20 +1039,20 @@ void main() { const Color inactiveEnabledTrackColor = Color(0xFF000003); const Color inactiveDisabledTrackColor = Color(0xFF000004); - Color getTrackColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getTrackColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledTrackColor; } return inactiveDisabledTrackColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledTrackColor; } return inactiveEnabledTrackColor; } - final MaterialStateProperty trackColor = MaterialStateColor.resolveWith(getTrackColor); + final WidgetStateProperty trackColor = WidgetStateColor.resolveWith(getTrackColor); Widget buildSwitchListTile({required bool enabled, required bool selected}) { return wrap( @@ -1103,14 +1103,14 @@ void main() { tester.binding.focusManager.highlightStrategy = FocusHighlightStrategy.alwaysTraditional; const Color hoveredTrackColor = Color(0xFF4caf50); - Color getTrackColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getTrackColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredTrackColor; } return Colors.transparent; } - final MaterialStateProperty trackColor = MaterialStateColor.resolveWith(getTrackColor); + final WidgetStateProperty trackColor = WidgetStateColor.resolveWith(getTrackColor); Widget buildSwitchListTile() { return wrap( @@ -1141,9 +1141,9 @@ void main() { const Icon activeIcon = Icon(Icons.check); const Icon inactiveIcon = Icon(Icons.close); - MaterialStateProperty thumbIcon(Icon? activeIcon, Icon? inactiveIcon) { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty thumbIcon(Icon? activeIcon, Icon? inactiveIcon) { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return activeIcon; } return inactiveIcon; @@ -1177,7 +1177,7 @@ void main() { ); await tester.pumpAndSettle(); final Switch switchWidget0 = tester.widget(find.byType(Switch)); - expect(switchWidget0.thumbIcon?.resolve({MaterialState.selected}), activeIcon); + expect(switchWidget0.thumbIcon?.resolve({WidgetState.selected}), activeIcon); expect( Material.of(tester.element(find.byType(Switch))), paints @@ -1192,7 +1192,7 @@ void main() { ); await tester.pumpAndSettle(); final Switch switchWidget1 = tester.widget(find.byType(Switch)); - expect(switchWidget1.thumbIcon?.resolve({}), inactiveIcon); + expect(switchWidget1.thumbIcon?.resolve({}), inactiveIcon); expect( Material.of(tester.element(find.byType(Switch))), paints @@ -1208,7 +1208,7 @@ void main() { ); await tester.pumpAndSettle(); final Switch switchWidget2 = tester.widget(find.byType(Switch)); - expect(switchWidget2.thumbIcon?.resolve({MaterialState.selected}), activeIcon); + expect(switchWidget2.thumbIcon?.resolve({WidgetState.selected}), activeIcon); expect( Material.of(tester.element(find.byType(Switch))), paints @@ -1223,7 +1223,7 @@ void main() { ); await tester.pumpAndSettle(); final Switch switchWidget3 = tester.widget(find.byType(Switch)); - expect(switchWidget3.thumbIcon?.resolve({}), inactiveIcon); + expect(switchWidget3.thumbIcon?.resolve({}), inactiveIcon); expect( Material.of(tester.element(find.byType(Switch))), paints @@ -1593,14 +1593,14 @@ void main() { const Color hoverOverlayColor = Color(0xFF000003); const Color hoverColor = Color(0xFF000005); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } return null; @@ -1612,13 +1612,13 @@ void main() { body: SwitchListTile( value: active, onChanged: (_) {}, - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return activeThumbColor; } return inactiveThumbColor; }), - overlayColor: useOverlay ? MaterialStateProperty.resolveWith(getOverlayColor) : null, + overlayColor: useOverlay ? WidgetStateProperty.resolveWith(getOverlayColor) : null, hoverColor: hoverColor, ), ), @@ -1704,20 +1704,20 @@ void main() { const Color inactiveEnabledTrackOutlineColor = Color(0xFF000003); const Color inactiveDisabledTrackOutlineColor = Color(0xFF000004); - Color getOutlineColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getOutlineColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledTrackOutlineColor; } return inactiveDisabledTrackOutlineColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledTrackOutlineColor; } return inactiveEnabledTrackOutlineColor; } - final MaterialStateProperty trackOutlineColor = MaterialStateColor.resolveWith( + final WidgetStateProperty trackOutlineColor = WidgetStateColor.resolveWith( getOutlineColor, ); @@ -1780,14 +1780,14 @@ void main() { tester.binding.focusManager.highlightStrategy = FocusHighlightStrategy.alwaysTraditional; const Color hoveredTrackColor = Color(0xFF4caf50); - Color getTrackOutlineColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getTrackOutlineColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredTrackColor; } return Colors.transparent; } - final MaterialStateProperty outlineColor = MaterialStateColor.resolveWith( + final WidgetStateProperty outlineColor = WidgetStateColor.resolveWith( getTrackOutlineColor, ); diff --git a/packages/flutter/test/material/switch_test.dart b/packages/flutter/test/material/switch_test.dart index 817663a554799..630c08d1657d0 100644 --- a/packages/flutter/test/material/switch_test.dart +++ b/packages/flutter/test/material/switch_test.dart @@ -17,6 +17,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; + import '../widgets/semantics_tester.dart'; void main() { @@ -1194,7 +1195,7 @@ void main() { expect(adaptiveSwitch.activeColor, activeTrackColor, reason: 'on ${platform.name}'); expect(adaptiveSwitch.inactiveTrackColor, inactiveTrackColor, reason: 'on ${platform.name}'); expect( - adaptiveSwitch.thumbColor?.resolve({}), + adaptiveSwitch.thumbColor?.resolve({}), thumbColor, reason: 'on ${platform.name}', ); @@ -2259,20 +2260,20 @@ void main() { const Color inactiveEnabledThumbColor = Color(0xFF000003); const Color inactiveDisabledThumbColor = Color(0xFF000004); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledThumbColor; } return inactiveDisabledThumbColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledThumbColor; } return inactiveEnabledThumbColor; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitch({required bool enabled, required bool active}) { return MaterialApp( @@ -2374,20 +2375,20 @@ void main() { const Color inactiveEnabledThumbColor = Color(0xFF000003); const Color inactiveDisabledThumbColor = Color(0xFF000004); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledThumbColor; } return inactiveDisabledThumbColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledThumbColor; } return inactiveEnabledThumbColor; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitch({required bool enabled, required bool active}) { return Theme( @@ -2483,17 +2484,17 @@ void main() { const Color hoveredThumbColor = Color(0xFF000001); const Color focusedThumbColor = Color(0xFF000002); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredThumbColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedThumbColor; } return Colors.transparent; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitch() { return MaterialApp( @@ -2565,17 +2566,17 @@ void main() { const Color hoveredThumbColor = Color(0xFF000001); const Color focusedThumbColor = Color(0xFF000002); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredThumbColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedThumbColor; } return Colors.transparent; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitch() { return MaterialApp( @@ -2644,20 +2645,20 @@ void main() { const Color inactiveEnabledTrackColor = Color(0xFF000003); const Color inactiveDisabledTrackColor = Color(0xFF000004); - Color getTrackColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getTrackColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledTrackColor; } return inactiveDisabledTrackColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledTrackColor; } return inactiveEnabledTrackColor; } - final MaterialStateProperty trackColor = MaterialStateColor.resolveWith(getTrackColor); + final WidgetStateProperty trackColor = WidgetStateColor.resolveWith(getTrackColor); Widget buildSwitch({required bool enabled, required bool active}) { return MaterialApp( @@ -2731,20 +2732,20 @@ void main() { const Color inactiveEnabledTrackColor = Color(0xFF000003); const Color inactiveDisabledTrackColor = Color(0xFF000004); - Color getTrackColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getTrackColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledTrackColor; } return inactiveDisabledTrackColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledTrackColor; } return inactiveEnabledTrackColor; } - final MaterialStateProperty trackColor = MaterialStateColor.resolveWith(getTrackColor); + final WidgetStateProperty trackColor = WidgetStateColor.resolveWith(getTrackColor); Widget buildSwitch({required bool enabled, required bool active}) { return Theme( @@ -2820,17 +2821,17 @@ void main() { const Color hoveredTrackColor = Color(0xFF000001); const Color focusedTrackColor = Color(0xFF000002); - Color getTrackColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getTrackColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredTrackColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedTrackColor; } return Colors.transparent; } - final MaterialStateProperty trackColor = MaterialStateColor.resolveWith(getTrackColor); + final WidgetStateProperty trackColor = WidgetStateColor.resolveWith(getTrackColor); Widget buildSwitch() { return MaterialApp( @@ -2892,17 +2893,17 @@ void main() { const Color hoveredTrackColor = Color(0xFF000001); const Color focusedTrackColor = Color(0xFF000002); - Color getTrackColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getTrackColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredTrackColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedTrackColor; } return Colors.transparent; } - final MaterialStateProperty trackColor = MaterialStateColor.resolveWith(getTrackColor); + final WidgetStateProperty trackColor = WidgetStateColor.resolveWith(getTrackColor); Widget buildSwitch() { return Theme( @@ -2961,14 +2962,14 @@ void main() { final Color activeDisabledThumbColor = Colors.blue.withOpacity(.60); final ThemeData theme = ThemeData.light(useMaterial3: false); - Color getThumbColor(Set states) { - if (states.contains(MaterialState.disabled)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.disabled)) { return activeDisabledThumbColor; } return Colors.black; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitch({required bool enabled, required bool active}) { return Directionality( @@ -3018,14 +3019,14 @@ void main() { final ThemeData theme = ThemeData(); final ColorScheme colors = theme.colorScheme; - Color getThumbColor(Set states) { - if (states.contains(MaterialState.disabled)) { + Color getThumbColor(Set states) { + if (states.contains(WidgetState.disabled)) { return activeDisabledThumbColor; } return Colors.black; } - final MaterialStateProperty thumbColor = MaterialStateColor.resolveWith(getThumbColor); + final WidgetStateProperty thumbColor = WidgetStateColor.resolveWith(getThumbColor); Widget buildSwitch({required bool enabled, required bool active}) { return Directionality( @@ -3080,17 +3081,17 @@ void main() { const Color hoverColor = Color(0xFF000005); const Color focusColor = Color(0xFF000006); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusOverlayColor; } return null; @@ -3107,13 +3108,13 @@ void main() { autofocus: focused, value: active, onChanged: (_) {}, - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return activeThumbColor; } return inactiveThumbColor; }), - overlayColor: useOverlay ? MaterialStateProperty.resolveWith(getOverlayColor) : null, + overlayColor: useOverlay ? WidgetStateProperty.resolveWith(getOverlayColor) : null, hoverColor: hoverColor, focusColor: focusColor, splashRadius: splashRadius, @@ -3639,20 +3640,20 @@ void main() { const Color inactiveEnabledTrackOutlineColor = Color(0xFF000003); const Color inactiveDisabledTrackOutlineColor = Color(0xFF000004); - Color getTrackOutlineColor(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + Color getTrackOutlineColor(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledTrackOutlineColor; } return inactiveDisabledTrackOutlineColor; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledTrackOutlineColor; } return inactiveEnabledTrackOutlineColor; } - final MaterialStateProperty trackOutlineColor = MaterialStateColor.resolveWith( + final WidgetStateProperty trackOutlineColor = WidgetStateColor.resolveWith( getTrackOutlineColor, ); @@ -3723,17 +3724,17 @@ void main() { const Color hoveredTrackOutlineColor = Color(0xFF000001); const Color focusedTrackOutlineColor = Color(0xFF000002); - Color getTrackOutlineColor(Set states) { - if (states.contains(MaterialState.hovered)) { + Color getTrackOutlineColor(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredTrackOutlineColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedTrackOutlineColor; } return Colors.transparent; } - final MaterialStateProperty trackOutlineColor = MaterialStateColor.resolveWith( + final WidgetStateProperty trackOutlineColor = WidgetStateColor.resolveWith( getTrackOutlineColor, ); @@ -3791,20 +3792,20 @@ void main() { const double inactiveEnabledTrackOutlineWidth = 3.0; const double inactiveDisabledTrackOutlineWidth = 4.0; - double getTrackOutlineWidth(Set states) { - if (states.contains(MaterialState.disabled)) { - if (states.contains(MaterialState.selected)) { + double getTrackOutlineWidth(Set states) { + if (states.contains(WidgetState.disabled)) { + if (states.contains(WidgetState.selected)) { return activeDisabledTrackOutlineWidth; } return inactiveDisabledTrackOutlineWidth; } - if (states.contains(MaterialState.selected)) { + if (states.contains(WidgetState.selected)) { return activeEnabledTrackOutlineWidth; } return inactiveEnabledTrackOutlineWidth; } - final MaterialStateProperty trackOutlineWidth = MaterialStateProperty.resolveWith( + final WidgetStateProperty trackOutlineWidth = WidgetStateProperty.resolveWith( getTrackOutlineWidth, ); @@ -3874,17 +3875,17 @@ void main() { const double hoveredTrackOutlineWidth = 4.0; const double focusedTrackOutlineWidth = 6.0; - double getTrackOutlineWidth(Set states) { - if (states.contains(MaterialState.hovered)) { + double getTrackOutlineWidth(Set states) { + if (states.contains(WidgetState.hovered)) { return hoveredTrackOutlineWidth; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedTrackOutlineWidth; } return 8.0; } - final MaterialStateProperty trackOutlineWidth = MaterialStateProperty.resolveWith( + final WidgetStateProperty trackOutlineWidth = WidgetStateProperty.resolveWith( getTrackOutlineWidth, ); @@ -3939,9 +3940,9 @@ void main() { brightness: Brightness.light, ); - MaterialStateProperty thumbIcon(Icon? activeIcon, Icon? inactiveIcon) { - return MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + WidgetStateProperty thumbIcon(Icon? activeIcon, Icon? inactiveIcon) { + return WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return activeIcon; } return inactiveIcon; diff --git a/packages/flutter/test/material/switch_theme_test.dart b/packages/flutter/test/material/switch_theme_test.dart index 6336dae3e959b..1d6d192b5ce69 100644 --- a/packages/flutter/test/material/switch_theme_test.dart +++ b/packages/flutter/test/material/switch_theme_test.dart @@ -110,44 +110,44 @@ void main() { final ThemeData themeData = ThemeData( useMaterial3: false, switchTheme: SwitchThemeData( - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedThumbColor; } return defaultThumbColor; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedTrackColor; } return defaultTrackColor; }), - trackOutlineColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedTrackOutlineColor; } return defaultTrackOutlineColor; }), - trackOutlineWidth: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineWidth: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedTrackOutlineWidth; } return defaultTrackOutlineWidth; }), mouseCursor: const MaterialStatePropertyAll(mouseCursor), materialTapTargetSize: materialTapTargetSize, - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return focusOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } return null; }), splashRadius: splashRadius, - thumbIcon: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbIcon: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return icon1; } return icon2; @@ -238,44 +238,44 @@ void main() { final ThemeData themeData = ThemeData( switchTheme: SwitchThemeData( - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedThumbColor; } return defaultThumbColor; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedTrackColor; } return defaultTrackColor; }), - trackOutlineColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedTrackOutlineColor; } return defaultTrackOutlineColor; }), - trackOutlineWidth: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineWidth: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedTrackOutlineWidth; } return defaultTrackOutlineWidth; }), mouseCursor: const MaterialStatePropertyAll(mouseCursor), materialTapTargetSize: materialTapTargetSize, - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return focusOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverOverlayColor; } return null; }), splashRadius: splashRadius, - thumbIcon: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbIcon: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return icon1; } return icon2; @@ -377,44 +377,44 @@ void main() { final ThemeData themeData = ThemeData( useMaterial3: false, switchTheme: SwitchThemeData( - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedThumbColor; } return themeDefaultThumbColor; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedTrackColor; } return themeDefaultTrackColor; }), - trackOutlineColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedOutlineColor; } return themeDefaultOutlineColor; }), - trackOutlineWidth: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineWidth: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedOutlineWidth; } return themeDefaultOutlineWidth; }), mouseCursor: const MaterialStatePropertyAll(themeMouseCursor), materialTapTargetSize: themeMaterialTapTargetSize, - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return themeFocusOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return themeHoverOverlayColor; } return null; }), splashRadius: themeSplashRadius, - thumbIcon: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbIcon: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return null; } return null; @@ -430,26 +430,26 @@ void main() { value: selected, onChanged: (bool value) {}, autofocus: autofocus, - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedThumbColor; } return defaultThumbColor; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedTrackColor; } return defaultTrackColor; }), - trackOutlineColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedOutlineColor; } return defaultOutlineColor; }), - trackOutlineWidth: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineWidth: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedOutlineWidth; } return defaultOutlineWidth; @@ -459,8 +459,8 @@ void main() { focusColor: focusColor, hoverColor: hoverColor, splashRadius: splashRadius, - thumbIcon: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbIcon: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return const Icon(Icons.add); } return const Icon(Icons.access_alarm); @@ -551,44 +551,44 @@ void main() { final ThemeData themeData = ThemeData( switchTheme: SwitchThemeData( - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedThumbColor; } return themeDefaultThumbColor; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedTrackColor; } return themeDefaultTrackColor; }), - trackOutlineColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedOutlineColor; } return themeDefaultOutlineColor; }), - trackOutlineWidth: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineWidth: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedOutlineWidth; } return themeDefaultOutlineWidth; }), mouseCursor: const MaterialStatePropertyAll(themeMouseCursor), materialTapTargetSize: themeMaterialTapTargetSize, - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.focused)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.focused)) { return themeFocusOverlayColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return themeHoverOverlayColor; } return null; }), splashRadius: themeSplashRadius, - thumbIcon: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbIcon: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return null; } return null; @@ -604,26 +604,26 @@ void main() { value: selected, onChanged: (bool value) {}, autofocus: autofocus, - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedThumbColor; } return defaultThumbColor; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedTrackColor; } return defaultTrackColor; }), - trackOutlineColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedOutlineColor; } return defaultOutlineColor; }), - trackOutlineWidth: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackOutlineWidth: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedOutlineWidth; } return defaultOutlineWidth; @@ -633,8 +633,8 @@ void main() { focusColor: focusColor, hoverColor: hoverColor, splashRadius: splashRadius, - thumbIcon: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbIcon: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return const Icon(Icons.add); } return const Icon(Icons.access_alarm); @@ -703,14 +703,14 @@ void main() { final ThemeData themeData = ThemeData( useMaterial3: false, switchTheme: SwitchThemeData( - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedThumbColor; } return themeDefaultThumbColor; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedTrackColor; } return themeDefaultTrackColor; @@ -781,14 +781,14 @@ void main() { final ThemeData themeData = ThemeData( switchTheme: SwitchThemeData( - thumbColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + thumbColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedThumbColor; } return themeDefaultThumbColor; }), - trackColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + trackColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return themeSelectedTrackColor; } return themeDefaultTrackColor; @@ -842,9 +842,9 @@ void main() { const Color activePressedOverlayColor = Color(0xFF000001); const Color inactivePressedOverlayColor = Color(0xFF000002); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; @@ -856,7 +856,7 @@ void main() { final ThemeData themeData = ThemeData( useMaterial3: false, switchTheme: SwitchThemeData( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), splashRadius: splashRadius, ), ); @@ -901,9 +901,9 @@ void main() { const Color activePressedOverlayColor = Color(0xFF000001); const Color inactivePressedOverlayColor = Color(0xFF000002); - Color? getOverlayColor(Set states) { - if (states.contains(MaterialState.pressed)) { - if (states.contains(MaterialState.selected)) { + Color? getOverlayColor(Set states) { + if (states.contains(WidgetState.pressed)) { + if (states.contains(WidgetState.selected)) { return activePressedOverlayColor; } return inactivePressedOverlayColor; @@ -914,7 +914,7 @@ void main() { const double splashRadius = 24.0; final ThemeData themeData = ThemeData( switchTheme: SwitchThemeData( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), splashRadius: splashRadius, ), ); diff --git a/packages/flutter/test/material/tab_bar_theme_test.dart b/packages/flutter/test/material/tab_bar_theme_test.dart index 723c7b1fbe780..ef5a0cabc05bf 100644 --- a/packages/flutter/test/material/tab_bar_theme_test.dart +++ b/packages/flutter/test/material/tab_bar_theme_test.dart @@ -1537,10 +1537,8 @@ void main() { testWidgets('TabBarTheme.labelColor resolves material states', (WidgetTester tester) async { const Color selectedColor = Color(0xff00ff00); const Color unselectedColor = Color(0xffff0000); - final MaterialStateColor labelColor = MaterialStateColor.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.selected)) { + final WidgetStateColor labelColor = WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return unselectedColor; @@ -1573,10 +1571,8 @@ void main() { (WidgetTester tester) async { const Color selectedStateColor = Color(0xff00ff00); const Color unselectedStateColor = Color(0xffff0000); - final MaterialStateColor labelColor = MaterialStateColor.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.selected)) { + final WidgetStateColor labelColor = WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedStateColor; } return unselectedStateColor; diff --git a/packages/flutter/test/material/tabs_test.dart b/packages/flutter/test/material/tabs_test.dart index 0826d29439058..7a4aba50b2a3e 100644 --- a/packages/flutter/test/material/tabs_test.dart +++ b/packages/flutter/test/material/tabs_test.dart @@ -594,6 +594,10 @@ void main() { await tester.pumpAndSettle(); expect(overlayColor(), paints..rect(color: theme.colorScheme.onSurface.withOpacity(0.08))); + await gesture.moveTo(tester.getCenter(find.text(selectedValue))); + await tester.pumpAndSettle(); + expect(overlayColor(), paints..rect(color: theme.colorScheme.primary.withOpacity(0.08))); + await gesture.down(tester.getCenter(find.text(selectedValue))); await tester.pumpAndSettle(); expect( @@ -4753,11 +4757,11 @@ void main() { length: 1, child: TabBar( tabs: const [Tab(text: 'A')], - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return const Color(0xf00fffff); } return const Color(0xffbadbad); // Shouldn't happen. @@ -4783,7 +4787,7 @@ void main() { }); testWidgets( - "Tab's ink response splashColor matches resolved Tab overlayColor for MaterialState.pressed", + "Tab's ink response splashColor matches resolved Tab overlayColor for WidgetState.pressed", (WidgetTester tester) async { const Color splashColor = Color(0xf00fffff); await tester.pumpWidget( @@ -4793,11 +4797,11 @@ void main() { length: 1, child: TabBar( tabs: const [Tab(text: 'A')], - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return const Color(0xff00ff00); } - if (states.contains(MaterialState.pressed)) { + if (states.contains(WidgetState.pressed)) { return splashColor; } return const Color(0xffbadbad); // Shouldn't happen. @@ -5037,10 +5041,8 @@ void main() { const Color selectedColor = Color(0xff00ff00); const Color unselectedColor = Color(0xffff0000); - final MaterialStateColor labelColor = MaterialStateColor.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.selected)) { + final WidgetStateColor labelColor = WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedColor; } return unselectedColor; @@ -5081,10 +5083,8 @@ void main() { const Color selectedStateColor = Color(0xff00ff00); const Color unselectedStateColor = Color(0xffff0000); - final MaterialStateColor labelColor = MaterialStateColor.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.selected)) { + final WidgetStateColor labelColor = WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return selectedStateColor; } return unselectedStateColor; @@ -5521,12 +5521,12 @@ void main() { Widget buildTabBar({bool stateColor = false}) { final Color labelColor = stateColor - ? MaterialStateColor.resolveWith((Set states) { - if (states.contains(MaterialState.selected)) { + ? WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return Colors.white; } else { // this is a third color to also test if unselectedLabelColor - // is ignored when labelColor is MaterialStateColor + // is ignored when labelColor is WidgetStateColor return Colors.transparent; } }) @@ -6272,8 +6272,8 @@ void main() { testWidgets('TabBar InkWell splashFactory and overlayColor', (WidgetTester tester) async { const InteractiveInkFeatureFactory splashFactory = NoSplash.splashFactory; - final MaterialStateProperty overlayColor = MaterialStateProperty.resolveWith( - (Set states) => Colors.transparent, + final WidgetStateProperty overlayColor = WidgetStateProperty.resolveWith( + (Set states) => Colors.transparent, ); // TabBarTheme splashFactory and overlayColor @@ -6328,8 +6328,8 @@ void main() { child: DefaultTabController( length: 1, child: TabBar( - overlayColor: MaterialStateProperty.resolveWith((Set states) { - if (states.contains(MaterialState.hovered)) { + overlayColor: WidgetStateProperty.resolveWith((Set states) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } return Colors.black54; diff --git a/packages/flutter/test/material/text_button_test.dart b/packages/flutter/test/material/text_button_test.dart index 820d4590de17b..b1eaf84ea81e9 100644 --- a/packages/flutter/test/material/text_button_test.dart +++ b/packages/flutter/test/material/text_button_test.dart @@ -7,6 +7,7 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; + import '../widgets/semantics_tester.dart'; void main() { @@ -379,11 +380,11 @@ void main() { (WidgetTester tester) async { final FocusNode focusNode = FocusNode(); - Color getTextColor(Set states) { - final Set interactiveStates = { - MaterialState.pressed, - MaterialState.hovered, - MaterialState.focused, + Color getTextColor(Set states) { + final Set interactiveStates = { + WidgetState.pressed, + WidgetState.hovered, + WidgetState.focused, }; if (states.any(interactiveStates.contains)) { return Colors.blue[900]!; @@ -398,7 +399,7 @@ void main() { child: TextButtonTheme( data: TextButtonThemeData( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), ), ), child: Builder( @@ -518,14 +519,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - Color getTextColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -537,7 +538,7 @@ void main() { body: Center( child: TextButton( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), ), onPressed: () {}, focusNode: focusNode, @@ -586,14 +587,14 @@ void main() { const Color focusedColor = Color(0x00000003); const Color defaultColor = Color(0x00000004); - Color getTextColor(Set states) { - if (states.contains(MaterialState.pressed)) { + Color getTextColor(Set states) { + if (states.contains(WidgetState.pressed)) { return pressedColor; } - if (states.contains(MaterialState.hovered)) { + if (states.contains(WidgetState.hovered)) { return hoverColor; } - if (states.contains(MaterialState.focused)) { + if (states.contains(WidgetState.focused)) { return focusedColor; } return defaultColor; @@ -605,8 +606,8 @@ void main() { body: Center( child: TextButton.icon( style: ButtonStyle( - foregroundColor: MaterialStateProperty.resolveWith(getTextColor), - iconColor: MaterialStateProperty.resolveWith(getTextColor), + foregroundColor: WidgetStateProperty.resolveWith(getTextColor), + iconColor: WidgetStateProperty.resolveWith(getTextColor), ), key: buttonKey, icon: const Icon(Icons.add), @@ -665,8 +666,8 @@ void main() { testWidgets('Does TextButton work with hover', (WidgetTester tester) async { const Color hoverColor = Color(0xff001122); - Color? getOverlayColor(Set states) { - return states.contains(MaterialState.hovered) ? hoverColor : null; + Color? getOverlayColor(Set states) { + return states.contains(WidgetState.hovered) ? hoverColor : null; } await tester.pumpWidget( @@ -674,7 +675,7 @@ void main() { textDirection: TextDirection.ltr, child: TextButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), ), child: Container(), onPressed: () { @@ -698,8 +699,8 @@ void main() { testWidgets('Does TextButton work with focus', (WidgetTester tester) async { const Color focusColor = Color(0xff001122); - Color? getOverlayColor(Set states) { - return states.contains(MaterialState.focused) ? focusColor : null; + Color? getOverlayColor(Set states) { + return states.contains(WidgetState.focused) ? focusColor : null; } final FocusNode focusNode = FocusNode(debugLabel: 'TextButton Node'); @@ -708,7 +709,7 @@ void main() { textDirection: TextDirection.ltr, child: TextButton( style: ButtonStyle( - overlayColor: MaterialStateProperty.resolveWith(getOverlayColor), + overlayColor: WidgetStateProperty.resolveWith(getOverlayColor), ), focusNode: focusNode, onPressed: () {}, @@ -1929,7 +1930,7 @@ void main() { ), ); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 0); final Offset center = tester.getCenter(find.byType(Text)); @@ -1938,42 +1939,42 @@ void main() { await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 1); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 2); await gesture.moveTo(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 3); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 4); await gesture.up(); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered}); + expect(controller.value, {WidgetState.hovered}); expect(count, 5); await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {}); + expect(controller.value, {}); expect(count, 6); await gesture.down(center); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.pressed}); + expect(controller.value, {WidgetState.hovered, WidgetState.pressed}); expect(count, 8); // adds hovered and pressed - two changes // If the button is rebuilt disabled, then the pressed state is @@ -1997,11 +1998,11 @@ void main() { ), ); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.hovered, MaterialState.disabled}); + expect(controller.value, {WidgetState.hovered, WidgetState.disabled}); expect(count, 10); // removes pressed and adds disabled - two changes await gesture.moveTo(Offset.zero); await tester.pumpAndSettle(); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 11); await gesture.removePointer(); } @@ -2035,7 +2036,7 @@ void main() { ), ), ); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 1); }); @@ -2122,13 +2123,13 @@ void main() { textDirection: TextDirection.ltr, child: TextButton( style: TextButton.styleFrom( - backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundBuilder: (BuildContext context, Set states, Widget? child) { return DecoratedBox( decoration: const BoxDecoration(color: backgroundColor), child: child, ); }, - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return DecoratedBox( decoration: const BoxDecoration(color: foregroundColor), child: child, @@ -2172,10 +2173,10 @@ void main() { textDirection: TextDirection.ltr, child: TextButton( style: TextButton.styleFrom( - backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: backgroundColor)); }, - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: foregroundColor)); }, ), @@ -2203,7 +2204,7 @@ void main() { textDirection: TextDirection.ltr, child: TextButton( style: TextButton.styleFrom( - foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundBuilder: (BuildContext context, Set states, Widget? child) { return const DecoratedBox(decoration: BoxDecoration(color: foregroundColor)); }, ), @@ -2225,8 +2226,8 @@ void main() { testWidgets('TextButton foreground and background builders are applied to the correct states', ( WidgetTester tester, ) async { - Set foregroundStates = {}; - Set backgroundStates = {}; + Set foregroundStates = {}; + Set backgroundStates = {}; final FocusNode focusNode = FocusNode(); await tester.pumpWidget( @@ -2235,16 +2236,14 @@ void main() { body: Center( child: TextButton( style: ButtonStyle( - backgroundBuilder: - (BuildContext context, Set states, Widget? child) { - backgroundStates = states; - return child!; - }, - foregroundBuilder: - (BuildContext context, Set states, Widget? child) { - foregroundStates = states; - return child!; - }, + backgroundBuilder: (BuildContext context, Set states, Widget? child) { + backgroundStates = states; + return child!; + }, + foregroundBuilder: (BuildContext context, Set states, Widget? child) { + foregroundStates = states; + return child!; + }, ), onPressed: () {}, focusNode: focusNode, @@ -2259,18 +2258,18 @@ void main() { expect(backgroundStates.isEmpty, isTrue); expect(foregroundStates.isEmpty, isTrue); - const Set focusedStates = {MaterialState.focused}; - const Set focusedHoveredStates = { - MaterialState.focused, - MaterialState.hovered, + const Set focusedStates = {WidgetState.focused}; + const Set focusedHoveredStates = { + WidgetState.focused, + WidgetState.hovered, }; - const Set focusedHoveredPressedStates = { - MaterialState.focused, - MaterialState.hovered, - MaterialState.pressed, + const Set focusedHoveredPressedStates = { + WidgetState.focused, + WidgetState.hovered, + WidgetState.pressed, }; - bool sameStates(Set expectedValue, Set actualValue) { + bool sameStates(Set expectedValue, Set actualValue) { return expectedValue.difference(actualValue).isEmpty && actualValue.difference(expectedValue).isEmpty; } diff --git a/packages/flutter/test/material/text_button_theme_test.dart b/packages/flutter/test/material/text_button_theme_test.dart index 487650341959d..7d87325c98c4b 100644 --- a/packages/flutter/test/material/text_button_theme_test.dart +++ b/packages/flutter/test/material/text_button_theme_test.dart @@ -121,11 +121,11 @@ void main() { final Key backgroundKey = UniqueKey(); final Key foregroundKey = UniqueKey(); - Widget backgroundBuilder(BuildContext context, Set states, Widget? child) { + Widget backgroundBuilder(BuildContext context, Set states, Widget? child) { return KeyedSubtree(key: backgroundKey, child: child!); } - Widget foregroundBuilder(BuildContext context, Set states, Widget? child) { + Widget foregroundBuilder(BuildContext context, Set states, Widget? child) { return KeyedSubtree(key: foregroundKey, child: child!); } @@ -190,10 +190,10 @@ void main() { matching: find.byType(InkWell), ); - const Set enabled = {}; - const Set disabled = {MaterialState.disabled}; - const Set hovered = {MaterialState.hovered}; - const Set focused = {MaterialState.focused}; + const Set enabled = {}; + const Set disabled = {WidgetState.disabled}; + const Set hovered = {WidgetState.hovered}; + const Set focused = {WidgetState.focused}; void checkButton(WidgetTester tester) { final Material material = tester.widget(findMaterial); @@ -204,11 +204,11 @@ void main() { expect(material.shadowColor, shadowColor); expect(material.elevation, elevation); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor, enabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor, enabled), enabledMouseCursor, ); expect( - MaterialStateProperty.resolveAs(inkWell.mouseCursor, disabled), + WidgetStateProperty.resolveAs(inkWell.mouseCursor, disabled), disabledMouseCursor, ); expect(inkWell.overlayColor!.resolve(hovered), foregroundColor.withOpacity(0.08)); diff --git a/packages/flutter/test/material/text_field_test.dart b/packages/flutter/test/material/text_field_test.dart index 0061595456a23..687513c7297d9 100644 --- a/packages/flutter/test/material/text_field_test.dart +++ b/packages/flutter/test/material/text_field_test.dart @@ -2122,10 +2122,15 @@ void main() { await tester.tap(find.byType(TextField)); // Wait for context menu to be built. await tester.pumpAndSettle(); - final RenderBox container = tester.renderObject( - find.descendant(of: find.byType(SnapshotWidget), matching: find.byType(SizedBox)).first, + expect(find.byType(AdaptiveTextSelectionToolbar), findsOneWidget); + final SizedBox sizedBox = tester.widget( + find.descendant( + of: find.byType(AdaptiveTextSelectionToolbar), + matching: find.byType(SizedBox), + ), ); - expect(container.size, Size.zero); + expect(sizedBox.width, 0.0); + expect(sizedBox.height, 0.0); }, variant: const TargetPlatformVariant({ TargetPlatform.android, @@ -7242,29 +7247,29 @@ void main() { final Offset center = tester.getCenter(find.byType(EditableText).first); await gesture.moveTo(center); await tester.pump(); - expect(statesController.value, {MaterialState.hovered}); + expect(statesController.value, {WidgetState.hovered}); expect(count, 1); await gesture.moveTo(Offset.zero); await tester.pump(); - expect(statesController.value, {}); + expect(statesController.value, {}); expect(count, 2); await gesture.down(center); await tester.pump(); await gesture.up(); await tester.pump(); - expect(statesController.value, {MaterialState.hovered, MaterialState.focused}); + expect(statesController.value, {WidgetState.hovered, WidgetState.focused}); expect(count, 4); // adds hovered and pressed - two changes. await gesture.moveTo(Offset.zero); await tester.pump(); - expect(statesController.value, {MaterialState.focused}); + expect(statesController.value, {WidgetState.focused}); expect(count, 5); await gesture.down(Offset.zero); await tester.pump(); - expect(statesController.value, {}); + expect(statesController.value, {}); expect(count, 6); await gesture.up(); await tester.pump(); @@ -7273,7 +7278,7 @@ void main() { await tester.pump(); await gesture.up(); await tester.pump(); - expect(statesController.value, {MaterialState.hovered, MaterialState.focused}); + expect(statesController.value, {WidgetState.hovered, WidgetState.focused}); expect(count, 8); // adds hovered and pressed - two changes. // If the text field is rebuilt disabled, then the focused state is @@ -7292,12 +7297,12 @@ void main() { ), ); await tester.pumpAndSettle(); - expect(statesController.value, {MaterialState.hovered, MaterialState.disabled}); + expect(statesController.value, {WidgetState.hovered, WidgetState.disabled}); expect(count, 10); // removes focused and adds disabled - two changes. await gesture.moveTo(Offset.zero); await tester.pump(); - expect(statesController.value, {MaterialState.disabled}); + expect(statesController.value, {WidgetState.disabled}); expect(count, 11); // If the text field is rebuilt enabled and in an error state, then the error @@ -7316,7 +7321,7 @@ void main() { ), ); await tester.pumpAndSettle(); - expect(statesController.value, {MaterialState.error}); + expect(statesController.value, {WidgetState.error}); expect(count, 13); // removes disabled and adds error - two changes. // If the text field is rebuilt without an error, then the error @@ -7331,7 +7336,7 @@ void main() { ), ); await tester.pumpAndSettle(); - expect(statesController.value, {}); + expect(statesController.value, {}); expect(count, 14); }); @@ -7351,7 +7356,7 @@ void main() { ), ), ); - expect(controller.value, {MaterialState.disabled}); + expect(controller.value, {WidgetState.disabled}); expect(count, 1); }); @@ -7370,8 +7375,8 @@ void main() { child: TextField( controller: controller, enabled: enabled, - style: MaterialStateTextStyle.resolveWith((Set states) { - if (states.contains(MaterialState.disabled)) { + style: MaterialStateTextStyle.resolveWith((Set states) { + if (states.contains(WidgetState.disabled)) { return const TextStyle(color: Colors.red); } return const TextStyle(color: Colors.blue); @@ -17674,6 +17679,62 @@ void main() { }), ); + testWidgets( + 'TextField cursor appears only when focused', + (WidgetTester tester) async { + final FocusNode focusNode = FocusNode(debugLabel: 'Test Node'); + addTearDown(focusNode.dispose); + await tester.pumpWidget( + MaterialApp( + home: Material( + child: Center( + child: TextField( + focusNode: focusNode, + dragStartBehavior: DragStartBehavior.down, + magnifierConfiguration: TextMagnifierConfiguration( + magnifierBuilder: + ( + BuildContext context, + MagnifierController controller, + ValueNotifier localMagnifierInfo, + ) { + magnifierInfo = localMagnifierInfo; + return fakeMagnifier; + }, + ), + ), + ), + ), + ), + ); + + final Offset fieldCenter = tester.getCenter(find.byType(EditableText)); + final TestGesture gesture = await tester.startGesture(fieldCenter); + await gesture.moveBy(const Offset(30, 0)); + await tester.pumpAndSettle(); + + // The blinking cursor should NOT be shown. + final EditableTextState editableTextState = tester.state( + find.byType(EditableText), + ); + expect(focusNode.hasFocus, isFalse); + expect(editableTextState.cursorCurrentlyVisible, isFalse); + + // Simulate long press again. + await tester.pump(); + await tester.longPress(find.byType(EditableText)); + await tester.pumpAndSettle(); + + // The blinking cursor should now be shown. + expect(focusNode.hasFocus, isTrue); + expect(editableTextState.cursorCurrentlyVisible, isTrue); + }, + variant: const TargetPlatformVariant({ + TargetPlatform.iOS, + TargetPlatform.android, + }), + ); + testWidgets( 'magnifier does not show when tapping outside field', (WidgetTester tester) async { diff --git a/packages/flutter/test/material/text_selection_toolbar_text_button_test.dart b/packages/flutter/test/material/text_selection_toolbar_text_button_test.dart index 8fd1464655602..ef321760f1f40 100644 --- a/packages/flutter/test/material/text_selection_toolbar_text_button_test.dart +++ b/packages/flutter/test/material/text_selection_toolbar_text_button_test.dart @@ -86,7 +86,7 @@ void main() { // The foreground color is hardcoded to black or white by default, not the // default value from ColorScheme.onSurface. expect( - textButton.style!.foregroundColor!.resolve({}), + textButton.style!.foregroundColor!.resolve({}), switch (colorScheme.brightness) { Brightness.light => const Color(0xff000000), Brightness.dark => const Color(0xffffffff), @@ -114,7 +114,7 @@ void main() { expect(find.byType(TextButton), findsOneWidget); final TextButton textButton = tester.widget(find.byType(TextButton)); - expect(textButton.style!.foregroundColor!.resolve({}), customForegroundColor); + expect(textButton.style!.foregroundColor!.resolve({}), customForegroundColor); }); testWidgets('background color by default', (WidgetTester tester) async { @@ -140,7 +140,7 @@ void main() { // are the color of the container behind them. For example TextSelectionToolbar // hardcodes the color value, and TextSelectionToolbarTextButton that are its // children should be that color. - expect(textButton.style!.backgroundColor!.resolve({}), Colors.transparent); + expect(textButton.style!.backgroundColor!.resolve({}), Colors.transparent); }); testWidgets('textButtonTheme should not override default background color', ( @@ -173,7 +173,7 @@ void main() { // are the color of the container behind them. For example TextSelectionToolbar // hardcodes the color value, and TextSelectionToolbarTextButton that are its // children should be that color. - expect(textButton.style!.backgroundColor!.resolve({}), Colors.transparent); + expect(textButton.style!.backgroundColor!.resolve({}), Colors.transparent); }); } } diff --git a/packages/flutter/test/material/theme_data_test.dart b/packages/flutter/test/material/theme_data_test.dart index 21a953d57b9f4..c494831cae139 100644 --- a/packages/flutter/test/material/theme_data_test.dart +++ b/packages/flutter/test/material/theme_data_test.dart @@ -1887,10 +1887,7 @@ void main() { ); expect(adaptiveString, 'Adaptive theme.'); - expect( - adaptiveSwitchTheme.thumbColor?.resolve({}), - isSameColorAs(Colors.brown), - ); + expect(adaptiveSwitchTheme.thumbColor?.resolve({}), isSameColorAs(Colors.brown)); }); testWidgets('should return null on extension not found', (WidgetTester tester) async { diff --git a/packages/flutter/test/material/time_picker_test.dart b/packages/flutter/test/material/time_picker_test.dart index 54c7afda964a7..0cc2c9f1aeb89 100644 --- a/packages/flutter/test/material/time_picker_test.dart +++ b/packages/flutter/test/material/time_picker_test.dart @@ -1589,13 +1589,13 @@ void main() { final SemanticsNode elevenHours = semantics .nodesWith( value: 'Select hours $initialValue', - ancestor: tester.renderObject(_hourControl).debugSemantics, + ancestor: tester.renderObject(_dialHourControl).debugSemantics, ) .single; tester.binding.pipelineOwner.semanticsOwner!.performAction(elevenHours.id, action); await tester.pumpAndSettle(); expect( - find.descendant(of: _hourControl, matching: find.text(finalValue)), + find.descendant(of: _dialHourControl, matching: find.text(finalValue)), findsOneWidget, ); } @@ -1643,13 +1643,13 @@ void main() { final SemanticsNode elevenHours = semantics .nodesWith( value: 'Select minutes $initialValue', - ancestor: tester.renderObject(_minuteControl).debugSemantics, + ancestor: tester.renderObject(_dialMinuteControl).debugSemantics, ) .single; tester.binding.pipelineOwner.semanticsOwner!.performAction(elevenHours.id, action); await tester.pumpAndSettle(); expect( - find.descendant(of: _minuteControl, matching: find.text(finalValue)), + find.descendant(of: _dialMinuteControl, matching: find.text(finalValue)), findsOneWidget, ); } @@ -1699,6 +1699,46 @@ void main() { expect(minuteSize.width, greaterThanOrEqualTo(48)); expect(minuteSize.height, greaterThanOrEqualTo(48)); }); + + testWidgets( + 'Period selector touch target respects accessibility guidelines - Portrait mode', + (WidgetTester tester) async { + final SemanticsTester semantics = SemanticsTester(tester); + const Size minInteractiveSize = Size(kMinInteractiveDimension, kMinInteractiveDimension); + + // Ensure picker is displayed in portrait mode. + tester.view.physicalSize = const Size(600, 1000); + addTearDown(tester.view.reset); + + await mediaQueryBoilerplate(tester, materialType: materialType); + + final SemanticsNode amButton = semantics.nodesWith(label: amString).single; + expect(amButton.rect.size >= minInteractiveSize, isTrue); + + final SemanticsNode pmButton = semantics.nodesWith(label: pmString).single; + expect(pmButton.rect.size >= minInteractiveSize, isTrue); + + semantics.dispose(); + }, + ); + + testWidgets( + 'Period selector touch target respects accessibility guidelines - Landscape mode', + (WidgetTester tester) async { + final SemanticsTester semantics = SemanticsTester(tester); + const Size minInteractiveSize = Size(kMinInteractiveDimension, kMinInteractiveDimension); + + await mediaQueryBoilerplate(tester, materialType: materialType); + + final SemanticsNode amButton = semantics.nodesWith(label: amString).single; + expect(amButton.rect.size >= minInteractiveSize, isTrue); + + final SemanticsNode pmButton = semantics.nodesWith(label: pmString).single; + expect(pmButton.rect.size >= minInteractiveSize, isTrue); + + semantics.dispose(); + }, + ); }); group('Time picker - Input (${materialType.name})', () { @@ -2273,6 +2313,89 @@ void main() { expect(result, equals(const TimeOfDay(hour: 6, minute: 45))); }); }); + + group('Time picker - emptyInitialInput (${materialType.name})', () { + testWidgets('Fields are empty and show correct hints when emptyInitialInput is true', ( + WidgetTester tester, + ) async { + await startPicker( + tester, + (_) {}, + entryMode: TimePickerEntryMode.input, + materialType: materialType, + emptyInitialInput: true, + ); + await tester.pump(); + + final List textFields = tester + .widgetList(find.byType(TextField)) + .toList(); + + expect(textFields[0].controller?.text, isEmpty); // hour + expect(textFields[1].controller?.text, isEmpty); // minute + expect(textFields[0].decoration?.hintText, isNull); + expect(textFields[1].decoration?.hintText, isNull); + await finishPicker(tester); + }); + + testWidgets('User sets hour/minute after initially empty fields', ( + WidgetTester tester, + ) async { + late TimeOfDay result; + await startPicker( + tester, + (TimeOfDay? time) { + result = time!; + }, + entryMode: TimePickerEntryMode.input, + materialType: materialType, + emptyInitialInput: true, + ); + + final List textFields = tester + .widgetList(find.byType(TextField)) + .toList(); + + expect(textFields[0].controller?.text, isEmpty); // hour + expect(textFields[1].controller?.text, isEmpty); // minute + expect(textFields[0].decoration?.hintText, isNull); + expect(textFields[1].decoration?.hintText, isNull); + + await tester.enterText(find.byType(TextField).first, '11'); + await tester.enterText(find.byType(TextField).last, '30'); + await finishPicker(tester); + + expect(result, equals(const TimeOfDay(hour: 11, minute: 30))); + }); + + testWidgets('User overrides default values when emptyInitialInput is false', ( + WidgetTester tester, + ) async { + late TimeOfDay result; + await startPicker( + tester, + (TimeOfDay? time) { + result = time!; + }, + entryMode: TimePickerEntryMode.input, + materialType: materialType, + ); + + final List textFields = tester + .widgetList(find.byType(TextField)) + .toList(); + + expect(textFields[0].controller?.text, '7'); // hour + expect(textFields[1].controller?.text, '00'); // minute + + await tester.enterText(find.byType(TextField).first, '8'); + await tester.enterText(find.byType(TextField).last, '15'); + await tester.pump(); + await finishPicker(tester); + + expect(result, equals(const TimeOfDay(hour: 8, minute: 15))); + }); + }); } testWidgets('Material3 - Time selector separator default text style', ( @@ -2301,41 +2424,24 @@ void main() { WidgetTester tester, ) async { final SemanticsTester semantics = SemanticsTester(tester); - await mediaQueryBoilerplate(tester, materialType: MaterialType.material3); + const TimeOfDay time = TimeOfDay(hour: 8, minute: 12); + + await mediaQueryBoilerplate(tester, initialTime: time, materialType: MaterialType.material3); final MaterialLocalizations localizations = MaterialLocalizations.of( tester.element(find.byType(TimePickerDialog)), ); - final Finder semanticsFinder = find.bySemanticsLabel( - localizations.timePickerHourModeAnnouncement, - ); - final SemanticsNode semanticsNode = tester.getSemantics(semanticsFinder); - expect( - semanticsNode.label, - localizations.timePickerHourModeAnnouncement, - reason: 'Label should announce hour mode initially', - ); - expect( - semanticsNode.hasFlag(SemanticsFlag.isLiveRegion), - isTrue, - reason: 'Node should be a live region to announce changes', - ); + final String formattedHour = localizations.formatHour(time); + final String formattedMinute = localizations.formatMinute(time); - // --- Switch to minute mode --- - final Finder minuteControlInkWell = find.descendant( - of: _minuteControl, - matching: find.byType(InkWell), + expect( + find.semantics.byValue('${localizations.timePickerHourModeAnnouncement} $formattedHour'), + findsOne, ); - expect(minuteControlInkWell, findsOneWidget, reason: 'Minute control should exist'); - await tester.tap(minuteControlInkWell); - await tester.pumpAndSettle(); - - // Get the updated node properties expect( - semanticsNode.label, - localizations.timePickerMinuteModeAnnouncement, - reason: 'Label should announce minute mode after switching', + find.semantics.byValue('${localizations.timePickerMinuteModeAnnouncement} $formattedMinute'), + findsOne, ); semantics.dispose(); @@ -2407,8 +2513,9 @@ void main() { (WidgetTester tester) async { addTearDown(tester.view.reset); - final Finder dayPeriodControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_DayPeriodControl', + final Finder amMaterialFinder = find.descendant( + of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_AmPmButton').first, + matching: find.byType(Material), ); final Finder timeControlFinder = find .ancestor(of: find.text('7'), matching: find.byType(Row)) @@ -2423,10 +2530,10 @@ void main() { locale: const Locale('ko', 'KR'), ); + const double dayPeriodPortraitGap = 12.0; // From Material spec. expect( - tester.getBottomLeft(timeControlFinder).dx - - tester.getBottomRight(dayPeriodControlFinder).dx, - 12, + tester.getBottomLeft(timeControlFinder).dx - tester.getBottomRight(amMaterialFinder).dx, + dayPeriodPortraitGap, ); // Dismiss the dialog. @@ -2445,9 +2552,10 @@ void main() { locale: const Locale('ko', 'KR'), ); + const double dayPeriodLandscapeGap = 16.0; // From Material spec. expect( - tester.getTopLeft(timeControlFinder).dy - tester.getBottomLeft(dayPeriodControlFinder).dy, - 12, + tester.getTopLeft(timeControlFinder).dy - tester.getBottomLeft(amMaterialFinder).dy, + dayPeriodLandscapeGap, ); }, ); @@ -2552,11 +2660,11 @@ Future mediaQueryBoilerplate( await tester.pumpAndSettle(); } -final Finder _hourControl = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_HourControl', +final Finder _dialHourControl = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialHourControl', ); -final Finder _minuteControl = find.byWidgetPredicate( - (Widget widget) => '${widget.runtimeType}' == '_MinuteControl', +final Finder _dialMinuteControl = find.byWidgetPredicate( + (Widget widget) => '${widget.runtimeType}' == '_DialMinuteControl', ); final Finder _timePicker = find.byWidgetPredicate( (Widget widget) => '${widget.runtimeType}' == '_TimePicker', @@ -2569,6 +2677,7 @@ class _TimePickerLauncher extends StatefulWidget { this.restorationId, this.cancelText, this.confirmText, + required this.emptyInitialInput, }); final ValueChanged onChanged; @@ -2576,6 +2685,7 @@ class _TimePickerLauncher extends StatefulWidget { final String? restorationId; final String? cancelText; final String? confirmText; + final bool emptyInitialInput; @override _TimePickerLauncherState createState() => _TimePickerLauncherState(); @@ -2653,6 +2763,7 @@ class _TimePickerLauncherState extends State<_TimePickerLauncher> with Restorati context: context, initialTime: const TimeOfDay(hour: 7, minute: 0), initialEntryMode: widget.entryMode, + emptyInitialInput: widget.emptyInitialInput, ), ); } else { @@ -2682,6 +2793,7 @@ Future startPicker( MaterialType? materialType, String? cancelText, String? confirmText, + bool emptyInitialInput = false, }) async { await tester.pumpWidget( MaterialApp( @@ -2694,6 +2806,7 @@ Future startPicker( restorationId: restorationId, cancelText: cancelText, confirmText: confirmText, + emptyInitialInput: emptyInitialInput, ), ), ); diff --git a/packages/flutter/test/material/time_picker_theme_test.dart b/packages/flutter/test/material/time_picker_theme_test.dart index 1d702546bb131..feff3d69d04b8 100644 --- a/packages/flutter/test/material/time_picker_theme_test.dart +++ b/packages/flutter/test/material/time_picker_theme_test.dart @@ -258,21 +258,31 @@ void main() { defaultTheme.colorScheme.onSurface.withOpacity(0.38), defaultTheme.colorScheme.surface, ); - final Material dayPeriodMaterial = _dayPeriodMaterial(tester); - expect( - dayPeriodMaterial.shape, - RoundedRectangleBorder( - borderRadius: const BorderRadius.all(Radius.circular(4.0)), - side: BorderSide(color: expectedBorderColor), + + final RoundedRectangleBorder expectedAmShape = RoundedRectangleBorder( + side: BorderSide(color: expectedBorderColor), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(4.0), + bottomLeft: Radius.circular(4.0), + ), + ); + expect(amMaterial.shape, expectedAmShape); + + final RoundedRectangleBorder expectedPmShape = RoundedRectangleBorder( + side: BorderSide(color: expectedBorderColor), + borderRadius: const BorderRadius.only( + topRight: Radius.circular(4.0), + bottomRight: Radius.circular(4.0), ), ); + expect(pmMaterial.shape, expectedPmShape); - final Container dayPeriodDivider = _dayPeriodDivider(tester); expect( - dayPeriodDivider.decoration, - BoxDecoration( - border: Border(left: BorderSide(color: expectedBorderColor)), + find.descendant( + of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_DayPeriodControl'), + matching: find.byType(Container), ), + findsNothing, ); final IconButton entryModeIconButton = _entryModeIconButton(tester); @@ -416,21 +426,30 @@ void main() { final Material pmMaterial = _textMaterial(tester, 'PM'); expect(pmMaterial.color, Colors.transparent); - final Material dayPeriodMaterial = _dayPeriodMaterial(tester); - expect( - dayPeriodMaterial.shape, - RoundedRectangleBorder( - borderRadius: const BorderRadius.all(Radius.circular(8.0)), - side: BorderSide(color: defaultTheme.colorScheme.outline), + final RoundedRectangleBorder expectedAmShape = RoundedRectangleBorder( + side: BorderSide(color: defaultTheme.colorScheme.outline), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(8.0), + bottomLeft: Radius.circular(8.0), + ), + ); + expect(amMaterial.shape, expectedAmShape); + + final RoundedRectangleBorder expectedPmShape = RoundedRectangleBorder( + side: BorderSide(color: defaultTheme.colorScheme.outline), + borderRadius: const BorderRadius.only( + topRight: Radius.circular(8.0), + bottomRight: Radius.circular(8.0), ), ); + expect(pmMaterial.shape, expectedPmShape); - final Container dayPeriodDivider = _dayPeriodDivider(tester); expect( - dayPeriodDivider.decoration, - BoxDecoration( - border: Border(left: BorderSide(color: defaultTheme.colorScheme.outline)), + find.descendant( + of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_DayPeriodControl'), + matching: find.byType(Container), ), + findsNothing, ); final IconButton entryModeIconButton = _entryModeIconButton(tester); @@ -463,8 +482,8 @@ void main() { expect(hourDecoration.filled, true); expect( hourDecoration.fillColor, - MaterialStateColor.resolveWith( - (Set states) => defaultTheme.colorScheme.onSurface.withOpacity(0.12), + WidgetStateColor.resolveWith( + (Set states) => defaultTheme.colorScheme.onSurface.withOpacity(0.12), ), ); expect( @@ -686,16 +705,34 @@ void main() { final Material pmMaterial = _textMaterial(tester, 'PM'); expect(pmMaterial.color, _unselectedColor); - final Material dayPeriodMaterial = _dayPeriodMaterial(tester); - expect( - dayPeriodMaterial.shape, - timePickerTheme.dayPeriodShape!.copyWith(side: timePickerTheme.dayPeriodBorderSide), + final RoundedRectangleBorder dayPeriodShape = + timePickerTheme.dayPeriodShape! as RoundedRectangleBorder; + final BorderRadius borderRadius = dayPeriodShape.borderRadius as BorderRadius; + + final RoundedRectangleBorder expectedAmShape = dayPeriodShape.copyWith( + side: timePickerTheme.dayPeriodBorderSide, + borderRadius: BorderRadius.only( + topLeft: borderRadius.topLeft, + bottomLeft: borderRadius.topRight, + ), + ); + expect(amMaterial.shape, expectedAmShape); + + final RoundedRectangleBorder expectedPmShape = dayPeriodShape.copyWith( + side: timePickerTheme.dayPeriodBorderSide, + borderRadius: BorderRadius.only( + topRight: borderRadius.topLeft, + bottomRight: borderRadius.topRight, + ), ); + expect(pmMaterial.shape, expectedPmShape); - final Container dayPeriodDivider = _dayPeriodDivider(tester); expect( - dayPeriodDivider.decoration, - BoxDecoration(border: Border(left: timePickerTheme.dayPeriodBorderSide!)), + find.descendant( + of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_DayPeriodControl'), + matching: find.byType(Container), + ), + findsNothing, ); final IconButton entryModeIconButton = _entryModeIconButton(tester); @@ -818,16 +855,34 @@ void main() { final Material pmMaterial = _textMaterial(tester, 'PM'); expect(pmMaterial.color, _unselectedColor); - final Material dayPeriodMaterial = _dayPeriodMaterial(tester); - expect( - dayPeriodMaterial.shape, - timePickerTheme.dayPeriodShape!.copyWith(side: timePickerTheme.dayPeriodBorderSide), + final RoundedRectangleBorder dayPeriodShape = + timePickerTheme.dayPeriodShape! as RoundedRectangleBorder; + final BorderRadius borderRadius = dayPeriodShape.borderRadius as BorderRadius; + + final RoundedRectangleBorder expectedAmShape = dayPeriodShape.copyWith( + side: timePickerTheme.dayPeriodBorderSide, + borderRadius: BorderRadius.only( + topLeft: borderRadius.topLeft, + bottomLeft: borderRadius.topRight, + ), ); + expect(amMaterial.shape, expectedAmShape); + + final RoundedRectangleBorder expectedPmShape = dayPeriodShape.copyWith( + side: timePickerTheme.dayPeriodBorderSide, + borderRadius: BorderRadius.only( + topRight: borderRadius.topLeft, + bottomRight: borderRadius.topRight, + ), + ); + expect(pmMaterial.shape, expectedPmShape); - final Container dayPeriodDivider = _dayPeriodDivider(tester); expect( - dayPeriodDivider.decoration, - BoxDecoration(border: Border(left: timePickerTheme.dayPeriodBorderSide!)), + find.descendant( + of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_DayPeriodControl'), + matching: find.byType(Container), + ), + findsNothing, ); final IconButton entryModeIconButton = _entryModeIconButton(tester); @@ -887,7 +942,7 @@ void main() { }, ); - testWidgets('Time picker dayPeriodColor does the right thing with non-MaterialStateColor', ( + testWidgets('Time picker dayPeriodColor does the right thing with non-WidgetStateColor', ( WidgetTester tester, ) async { final TimePickerThemeData timePickerTheme = _timePickerTheme().copyWith( @@ -907,13 +962,11 @@ void main() { expect(pmMaterial.color, Colors.transparent); }); - testWidgets('Time picker dayPeriodColor does the right thing with MaterialStateColor', ( + testWidgets('Time picker dayPeriodColor does the right thing with WidgetStateColor', ( WidgetTester tester, ) async { - final MaterialStateColor testColor = MaterialStateColor.resolveWith(( - Set states, - ) { - if (states.contains(MaterialState.selected)) { + final WidgetStateColor testColor = WidgetStateColor.resolveWith((Set states) { + if (states.contains(WidgetState.selected)) { return Colors.green; } return Colors.blue; @@ -1018,11 +1071,11 @@ final Color _selectedColor = Colors.green[100]!; final Color _unselectedColor = Colors.green[200]!; TimePickerThemeData _timePickerTheme({bool includeInputDecoration = false}) { - Color getColor(Set states) { - return states.contains(MaterialState.selected) ? _selectedColor : _unselectedColor; + Color getColor(Set states) { + return states.contains(WidgetState.selected) ? _selectedColor : _unselectedColor; } - final MaterialStateColor materialStateColor = MaterialStateColor.resolveWith(getColor); + final WidgetStateColor materialStateColor = WidgetStateColor.resolveWith(getColor); return TimePickerThemeData( backgroundColor: Colors.orange, cancelButtonStyle: TextButton.styleFrom(foregroundColor: Colors.red), @@ -1110,28 +1163,6 @@ TextField _textField(WidgetTester tester, String text) { ); } -Material _dayPeriodMaterial(WidgetTester tester) { - return tester.widget( - find - .descendant( - of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_DayPeriodControl'), - matching: find.byType(Material), - ) - .first, - ); -} - -Container _dayPeriodDivider(WidgetTester tester) { - return tester.widget( - find - .descendant( - of: find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_DayPeriodControl'), - matching: find.byType(Container), - ) - .at(0), - ); -} - IconButton _entryModeIconButton(WidgetTester tester) { return tester.widget( find.descendant(of: find.byType(Dialog), matching: find.byType(IconButton)).first, diff --git a/packages/flutter/test/material/toggle_buttons_test.dart b/packages/flutter/test/material/toggle_buttons_test.dart index 6b8d56381aff4..b95263ffeb5c1 100644 --- a/packages/flutter/test/material/toggle_buttons_test.dart +++ b/packages/flutter/test/material/toggle_buttons_test.dart @@ -551,7 +551,7 @@ void main() { expect(material.type, MaterialType.button); }); - testWidgets('Custom button fillColor - Non MaterialState', (WidgetTester tester) async { + testWidgets('Custom button fillColor - Non WidgetState', (WidgetTester tester) async { Material buttonColor(String text) { return tester.widget( find.descendant(of: find.byType(TextButton), matching: find.widgetWithText(Material, text)), @@ -593,7 +593,7 @@ void main() { expect(buttonColor('Second child').color, theme.colorScheme.surface.withOpacity(0.0)); }); - testWidgets('Custom button fillColor - MaterialState', (WidgetTester tester) async { + testWidgets('Custom button fillColor - WidgetState', (WidgetTester tester) async { Material buttonColor(String text) { return tester.widget( find.descendant(of: find.byType(TextButton), matching: find.widgetWithText(Material, text)), @@ -603,8 +603,8 @@ void main() { const Color selectedFillColor = Colors.orange; const Color defaultFillColor = Colors.blue; - Color getFillColor(Set states) { - if (states.contains(MaterialState.selected)) { + Color getFillColor(Set states) { + if (states.contains(WidgetState.selected)) { return selectedFillColor; } return defaultFillColor; @@ -613,7 +613,7 @@ void main() { await tester.pumpWidget( boilerplate( child: ToggleButtons( - fillColor: MaterialStateColor.resolveWith(getFillColor), + fillColor: WidgetStateColor.resolveWith(getFillColor), isSelected: const [false, true], onPressed: (int index) {}, children: const [Text('First child'), Text('Second child')], @@ -630,7 +630,7 @@ void main() { await tester.pumpWidget( boilerplate( child: ToggleButtons( - fillColor: MaterialStateColor.resolveWith(getFillColor), + fillColor: WidgetStateColor.resolveWith(getFillColor), isSelected: const [false, true], children: const [Text('First child'), Text('Second child')], ), diff --git a/packages/flutter/test/material/toggle_buttons_theme_test.dart b/packages/flutter/test/material/toggle_buttons_theme_test.dart index 8be14aee97495..e039229560ec4 100644 --- a/packages/flutter/test/material/toggle_buttons_theme_test.dart +++ b/packages/flutter/test/material/toggle_buttons_theme_test.dart @@ -374,10 +374,10 @@ void main() { const Color selectedFillColor = Colors.blue; const Color disabledFillColor = Colors.yellow; - Color getColor(Set states) { - if (states.contains(MaterialState.selected)) { + Color getColor(Set states) { + if (states.contains(WidgetState.selected)) { return selectedFillColor; - } else if (states.contains(MaterialState.disabled)) { + } else if (states.contains(WidgetState.disabled)) { return disabledFillColor; } return enabledFillColor; @@ -387,7 +387,7 @@ void main() { Material( child: boilerplate( child: ToggleButtonsTheme( - data: ToggleButtonsThemeData(fillColor: MaterialStateColor.resolveWith(getColor)), + data: ToggleButtonsThemeData(fillColor: WidgetStateColor.resolveWith(getColor)), child: ToggleButtons( isSelected: const [true, false], onPressed: (int index) {}, @@ -407,7 +407,7 @@ void main() { Material( child: boilerplate( child: ToggleButtonsTheme( - data: ToggleButtonsThemeData(fillColor: MaterialStateColor.resolveWith(getColor)), + data: ToggleButtonsThemeData(fillColor: WidgetStateColor.resolveWith(getColor)), child: ToggleButtons( isSelected: const [true, false], children: const [Text('First child'), Text('Second child')], diff --git a/packages/flutter/test/painting/edge_insets_test.dart b/packages/flutter/test/painting/edge_insets_test.dart index fde8cdf0452d7..7ba93daec5b7c 100644 --- a/packages/flutter/test/painting/edge_insets_test.dart +++ b/packages/flutter/test/painting/edge_insets_test.dart @@ -516,4 +516,154 @@ void main() { ), ); }); + + group('EdgeInsets RRect methods', () { + test('inflateRRect increases the size while preserving radius proportions', () { + final RRect original = RRect.fromLTRBAndCorners( + 10.0, + 20.0, + 30.0, + 60.0, + topLeft: const Radius.circular(5.0), + topRight: const Radius.circular(6.0), + bottomRight: const Radius.circular(7.0), + bottomLeft: const Radius.circular(8.0), + ); + + const EdgeInsets insets = EdgeInsets.fromLTRB(2.0, 3.0, 4.0, 5.0); + final RRect inflated = insets.inflateRRect(original); + + expect(inflated.left, equals(original.left - insets.left)); + expect(inflated.top, equals(original.top - insets.top)); + expect(inflated.right, equals(original.right + insets.right)); + expect(inflated.bottom, equals(original.bottom + insets.bottom)); + + expect(inflated.tlRadius.x, equals(original.tlRadius.x + insets.left)); + expect(inflated.tlRadius.y, equals(original.tlRadius.y + insets.top)); + + expect(inflated.trRadius.x, equals(original.trRadius.x + insets.right)); + expect(inflated.trRadius.y, equals(original.trRadius.y + insets.top)); + + expect(inflated.brRadius.x, equals(original.brRadius.x + insets.right)); + expect(inflated.brRadius.y, equals(original.brRadius.y + insets.bottom)); + + expect(inflated.blRadius.x, equals(original.blRadius.x + insets.left)); + expect(inflated.blRadius.y, equals(original.blRadius.y + insets.bottom)); + }); + + test('deflateRRect decreases the size while preserving radius proportions', () { + final RRect original = RRect.fromLTRBAndCorners( + 10.0, + 20.0, + 30.0, + 60.0, + topLeft: const Radius.circular(8.0), + topRight: const Radius.circular(9.0), + bottomRight: const Radius.circular(10.0), + bottomLeft: const Radius.circular(11.0), + ); + + const EdgeInsets insets = EdgeInsets.fromLTRB(2.0, 3.0, 4.0, 5.0); + final RRect deflated = insets.deflateRRect(original); + + expect(deflated.left, equals(original.left + insets.left)); + expect(deflated.top, equals(original.top + insets.top)); + expect(deflated.right, equals(original.right - insets.right)); + expect(deflated.bottom, equals(original.bottom - insets.bottom)); + + expect(deflated.tlRadius.x, equals(original.tlRadius.x - insets.left)); + expect(deflated.tlRadius.y, equals(original.tlRadius.y - insets.top)); + + expect(deflated.trRadius.x, equals(original.trRadius.x - insets.right)); + expect(deflated.trRadius.y, equals(original.trRadius.y - insets.top)); + + expect(deflated.brRadius.x, equals(original.brRadius.x - insets.right)); + expect(deflated.brRadius.y, equals(original.brRadius.y - insets.bottom)); + + expect(deflated.blRadius.x, equals(original.blRadius.x - insets.left)); + expect(deflated.blRadius.y, equals(original.blRadius.y - insets.bottom)); + }); + + test('inflateRRect with zero insets returns the same RRect', () { + final RRect original = RRect.fromLTRBAndCorners( + 10.0, + 20.0, + 30.0, + 60.0, + topLeft: const Radius.circular(5.0), + ); + + final RRect inflated = EdgeInsets.zero.inflateRRect(original); + + expect(inflated, equals(original)); + }); + + test('deflateRRect with zero insets returns the same RRect', () { + final RRect original = RRect.fromLTRBAndCorners( + 10.0, + 20.0, + 30.0, + 60.0, + topLeft: const Radius.circular(5.0), + ); + + final RRect deflated = EdgeInsets.zero.deflateRRect(original); + + expect(deflated, equals(original)); + }); + + test('deflateRRect clamps radius to zero when insets are larger than radius', () { + final RRect original = RRect.fromLTRBAndCorners( + 10.0, + 20.0, + 30.0, + 60.0, + topLeft: const Radius.circular(3.0), + topRight: const Radius.circular(3.0), + bottomRight: const Radius.circular(3.0), + bottomLeft: const Radius.circular(3.0), + ); + + const EdgeInsets largeInsets = EdgeInsets.all(5.0); + final RRect deflated = largeInsets.deflateRRect(original); + + expect(deflated.tlRadius.x, equals(0.0)); + expect(deflated.tlRadius.y, equals(0.0)); + expect(deflated.trRadius.x, equals(0.0)); + expect(deflated.trRadius.y, equals(0.0)); + expect(deflated.brRadius.x, equals(0.0)); + expect(deflated.brRadius.y, equals(0.0)); + expect(deflated.blRadius.x, equals(0.0)); + expect(deflated.blRadius.y, equals(0.0)); + }); + + test('inflateRRect and deflateRRect are inverse operations', () { + final RRect original = RRect.fromLTRBAndCorners( + 10.0, + 20.0, + 30.0, + 60.0, + topLeft: const Radius.circular(5.0), + topRight: const Radius.circular(6.0), + bottomRight: const Radius.circular(7.0), + bottomLeft: const Radius.circular(8.0), + ); + + const EdgeInsets insets = EdgeInsets.fromLTRB(2.0, 3.0, 4.0, 5.0); + + final RRect inflatedThenDeflated = insets.deflateRRect(insets.inflateRRect(original)); + + final RRect deflatedThenInflated = insets.inflateRRect(insets.deflateRRect(original)); + + expect(inflatedThenDeflated.left, closeTo(original.left, 0.001)); + expect(inflatedThenDeflated.top, closeTo(original.top, 0.001)); + expect(inflatedThenDeflated.right, closeTo(original.right, 0.001)); + expect(inflatedThenDeflated.bottom, closeTo(original.bottom, 0.001)); + + expect(deflatedThenInflated.left, closeTo(original.left, 0.001)); + expect(deflatedThenInflated.top, closeTo(original.top, 0.001)); + expect(deflatedThenInflated.right, closeTo(original.right, 0.001)); + expect(deflatedThenInflated.bottom, closeTo(original.bottom, 0.001)); + }); + }); } diff --git a/packages/flutter/test/rendering/table_border_test.dart b/packages/flutter/test/rendering/table_border_test.dart index 17c497907fb75..89ea77fceb812 100644 --- a/packages/flutter/test/rendering/table_border_test.dart +++ b/packages/flutter/test/rendering/table_border_test.dart @@ -148,4 +148,51 @@ void main() { ); expect(tableA.borderRadius, const BorderRadius.all(Radius.circular(8.0))); }); + + test('TableBorder outer border uniformity', () { + const TableBorder uniformOuter = TableBorder( + top: BorderSide(width: 2.0), + right: BorderSide(width: 2.0), + bottom: BorderSide(width: 2.0), + left: BorderSide(width: 2.0), + horizontalInside: BorderSide(color: Color(0xFF0000FF)), + verticalInside: BorderSide(color: Color(0xFF0000FF)), + ); + + expect(uniformOuter.isUniform, isFalse); + + final BorderSide topSide = uniformOuter.top; + expect(uniformOuter.right, equals(topSide)); + expect(uniformOuter.bottom, equals(topSide)); + expect(uniformOuter.left, equals(topSide)); + + const TableBorder nonUniformOuter = TableBorder( + top: BorderSide(width: 2.0), + right: BorderSide(color: Color(0xFF00FF00), width: 2.0), + bottom: BorderSide(width: 2.0), + left: BorderSide(width: 2.0), + ); + + expect(nonUniformOuter.right, isNot(equals(nonUniformOuter.top))); + }); + + test('TableBorder with non-uniform widths but uniform colors applies border radius', () { + const TableBorder borderWithRadius = TableBorder( + top: BorderSide(width: 3.0, color: Color(0xFF0000FF)), + right: BorderSide(color: Color(0xFF0000FF)), + bottom: BorderSide(width: 2.0, color: Color(0xFF0000FF)), + left: BorderSide(width: 1.5, color: Color(0xFF0000FF)), + borderRadius: BorderRadius.all(Radius.circular(8.0)), + ); + + expect(borderWithRadius.top.width, isNot(equals(borderWithRadius.bottom.width))); + expect(borderWithRadius.left.width, isNot(equals(borderWithRadius.right.width))); + + final Color topColor = borderWithRadius.top.color; + expect(borderWithRadius.right.color, equals(topColor)); + expect(borderWithRadius.bottom.color, equals(topColor)); + expect(borderWithRadius.left.color, equals(topColor)); + + expect(borderWithRadius.borderRadius, const BorderRadius.all(Radius.circular(8.0))); + }); } diff --git a/packages/flutter/test/semantics/semantics_binding_set_semantics_tree_enabled_1_test.dart b/packages/flutter/test/semantics/semantics_binding_set_semantics_tree_enabled_1_test.dart new file mode 100644 index 0000000000000..df18b3acbe9f1 --- /dev/null +++ b/packages/flutter/test/semantics/semantics_binding_set_semantics_tree_enabled_1_test.dart @@ -0,0 +1,38 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:ui'; + +import 'package:flutter_test/flutter_test.dart'; + +void main() { + test( + 'setSemanticsTreeEnabled calls when the semantics is enabled before binding initialized', + () async { + final SemanticsTestBindingWithInitialEnabled binding = + SemanticsTestBindingWithInitialEnabled(); + expect(binding.platformDispatcher.semanticsTreeEnabled, isTrue); + }, + ); +} + +class SemanticsTestBindingWithInitialEnabled extends AutomatedTestWidgetsFlutterBinding { + @override + TestPlatformDispatcherSpy get platformDispatcher => _platformDispatcherSpy; + static final TestPlatformDispatcherSpy _platformDispatcherSpy = TestPlatformDispatcherSpy( + platformDispatcher: PlatformDispatcher.instance, + ); +} + +class TestPlatformDispatcherSpy extends TestPlatformDispatcher { + TestPlatformDispatcherSpy({required super.platformDispatcher}); + bool semanticsTreeEnabled = false; + @override + void setSemanticsTreeEnabled(bool enabled) { + semanticsTreeEnabled = enabled; + } + + @override + bool get semanticsEnabled => true; +} diff --git a/packages/flutter/test/semantics/semantics_binding_set_semantics_tree_enabled_test.dart b/packages/flutter/test/semantics/semantics_binding_set_semantics_tree_enabled_test.dart new file mode 100644 index 0000000000000..c5578c78c89e1 --- /dev/null +++ b/packages/flutter/test/semantics/semantics_binding_set_semantics_tree_enabled_test.dart @@ -0,0 +1,35 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:ui'; + +import 'package:flutter_test/flutter_test.dart'; + +void main() { + test('SemanticsHandle ensureSemantics calls setSemanticsTreeEnabled', () async { + final SemanticsTestBinding binding = SemanticsTestBinding(); + expect(binding.platformDispatcher.semanticsTreeEnabled, isFalse); + final SemanticsHandle handle = binding.ensureSemantics(); + expect(binding.platformDispatcher.semanticsTreeEnabled, isTrue); + handle.dispose(); + expect(binding.platformDispatcher.semanticsTreeEnabled, isFalse); + }); +} + +class SemanticsTestBinding extends AutomatedTestWidgetsFlutterBinding { + @override + TestPlatformDispatcherSpy get platformDispatcher => _platformDispatcherSpy; + static final TestPlatformDispatcherSpy _platformDispatcherSpy = TestPlatformDispatcherSpy( + platformDispatcher: PlatformDispatcher.instance, + ); +} + +class TestPlatformDispatcherSpy extends TestPlatformDispatcher { + TestPlatformDispatcherSpy({required super.platformDispatcher}); + bool semanticsTreeEnabled = false; + @override + void setSemanticsTreeEnabled(bool enabled) { + semanticsTreeEnabled = enabled; + } +} diff --git a/packages/flutter/test/semantics/semantics_test.dart b/packages/flutter/test/semantics/semantics_test.dart index ecfba5fac5c5c..b9daee365f4fe 100644 --- a/packages/flutter/test/semantics/semantics_test.dart +++ b/packages/flutter/test/semantics/semantics_test.dart @@ -805,6 +805,23 @@ void main() { ); }); + test('validation result debug properties', () { + final SemanticsNode nodeWithValidationResult = SemanticsNode() + ..updateWith( + config: SemanticsConfiguration()..validationResult = SemanticsValidationResult.valid, + ); + + expect( + nodeWithValidationResult.toStringDeep(), + 'SemanticsNode#1\n' + ' STALE\n' + ' owner: null\n' + ' Rect.fromLTRB(0.0, 0.0, 0.0, 0.0)\n' + ' invisible\n' + ' validationResult: valid\n', + ); + }); + test('Custom actions debug properties', () { final SemanticsConfiguration configuration = SemanticsConfiguration(); const CustomSemanticsAction action1 = CustomSemanticsAction(label: 'action1'); @@ -937,7 +954,7 @@ void main() { expect(config.isChecked, null); expect(config.isSelected, isFalse); expect(config.isBlockingSemanticsOfPreviouslyPaintedNodes, isFalse); - expect(config.isFocused, isFalse); + expect(config.isFocused, null); expect(config.isTextField, isFalse); expect(config.onShowOnScreen, isNull); diff --git a/packages/flutter/test/services/font_loader_test.dart b/packages/flutter/test/services/font_loader_test.dart index 473a8da7d090b..933651cfcf45c 100644 --- a/packages/flutter/test/services/font_loader_test.dart +++ b/packages/flutter/test/services/font_loader_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:async'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -33,4 +34,27 @@ void main() { expect(tfl.fontAssets, unorderedEquals(expectedAssets)); }); + + test('FontLoader loads fonts in order', () async { + final TestFontLoader tfl = TestFontLoader('TestFamily'); + + final List expectedAssets = [ + Uint8List.fromList([1]), + Uint8List.fromList([2]), + ]; + final Completer completer = Completer(); + + // Deliberately delay the load of the first font. + tfl.addFont(() async { + await completer.future; + return ByteData.view(expectedAssets[0].buffer); + }()); + tfl.addFont(Future.value(ByteData.view(expectedAssets[1].buffer))); + + final Future fontLoadComplete = tfl.load(); + completer.complete(); + await fontLoadComplete; + + expect(tfl.fontAssets, equals(expectedAssets)); + }); } diff --git a/packages/flutter/test/services/system_chrome_test.dart b/packages/flutter/test/services/system_chrome_test.dart index 00ae4eaa99b0e..93ffd322f3c46 100644 --- a/packages/flutter/test/services/system_chrome_test.dart +++ b/packages/flutter/test/services/system_chrome_test.dart @@ -4,6 +4,7 @@ import 'dart:ui' as ui show AppLifecycleState; +import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -225,21 +226,133 @@ void main() { expect(log.single, isMethodCall('SystemChrome.setSystemUIChangeListener', arguments: null)); }); - test('toString works as intended', () async { - const SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle(); + group('SystemUiOverlayStyle', () { + test('toString default values should be null', () async { + const SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle(); + + final String result = systemUiOverlayStyle.toString(); + expect(result, startsWith('SystemUiOverlayStyle#')); + expect(result, contains('systemNavigationBarColor: null')); + expect(result, contains('systemNavigationBarDividerColor: null')); + expect(result, contains('systemStatusBarContrastEnforced: null')); + expect(result, contains('statusBarColor: null')); + expect(result, contains('statusBarBrightness: null')); + expect(result, contains('statusBarIconBrightness: null')); + expect(result, contains('systemNavigationBarIconBrightness: null')); + expect(result, contains('systemNavigationBarContrastEnforced: null')); + }); + + test('toString works as intended with actual values', () { + const SystemUiOverlayStyle style = SystemUiOverlayStyle( + systemNavigationBarColor: Color(0xFF123456), + systemNavigationBarDividerColor: Color(0xFF654321), + systemStatusBarContrastEnforced: true, + statusBarColor: Color(0xFFABCDEF), + statusBarBrightness: Brightness.dark, + statusBarIconBrightness: Brightness.light, + systemNavigationBarIconBrightness: Brightness.dark, + systemNavigationBarContrastEnforced: false, + ); + + final String result = style.toString(); + expect(result, startsWith('SystemUiOverlayStyle#')); + expect( + result, + contains( + 'systemNavigationBarColor: Color(alpha: 1.0000, red: 0.0706, green: 0.2039, blue: 0.3373, colorSpace: ColorSpace.sRGB)', + ), + ); + expect( + result, + contains( + 'systemNavigationBarDividerColor: Color(alpha: 1.0000, red: 0.3961, green: 0.2627, blue: 0.1294, colorSpace: ColorSpace.sRGB)', + ), + ); + expect(result, contains('systemStatusBarContrastEnforced: true')); + expect( + result, + contains( + 'statusBarColor: Color(alpha: 1.0000, red: 0.6706, green: 0.8039, blue: 0.9373, colorSpace: ColorSpace.sRGB)', + ), + ); + expect(result, contains('statusBarBrightness: Brightness.dark')); + expect(result, contains('statusBarIconBrightness: Brightness.light')); + expect(result, contains('systemNavigationBarIconBrightness: Brightness.dark')); + expect(result, contains('systemNavigationBarContrastEnforced: false')); + }); + + test('==, hashCode basics', () { + const SystemUiOverlayStyle style1 = SystemUiOverlayStyle( + systemNavigationBarColor: Color(0xFF123456), + statusBarBrightness: Brightness.dark, + ); + const SystemUiOverlayStyle style2 = SystemUiOverlayStyle( + systemNavigationBarColor: Color(0xFF123456), + statusBarBrightness: Brightness.dark, + ); + const SystemUiOverlayStyle style3 = SystemUiOverlayStyle( + systemNavigationBarColor: Color(0xFF654321), + statusBarBrightness: Brightness.dark, + ); + + expect(style1, equals(style2)); + expect(style1, isNot(equals(style3))); + expect(style1 == style2, isTrue); + expect(style1 == style3, isFalse); + + expect(style1.hashCode, equals(style2.hashCode)); + expect(style1.hashCode, isNot(equals(style3.hashCode))); + }); + + test('copyWith can override properties', () { + const SystemUiOverlayStyle style1 = SystemUiOverlayStyle( + systemNavigationBarColor: Color(0xFF123456), + statusBarBrightness: Brightness.dark, + systemStatusBarContrastEnforced: true, + ); + + final SystemUiOverlayStyle style2 = style1.copyWith( + systemNavigationBarColor: const Color(0xFF654321), + statusBarIconBrightness: Brightness.light, + ); + + expect(style2.systemNavigationBarColor, equals(const Color(0xFF654321))); + expect(style2.statusBarBrightness, equals(Brightness.dark)); + expect(style2.systemStatusBarContrastEnforced, equals(true)); + expect(style2.statusBarIconBrightness, equals(Brightness.light)); + expect(style2.systemNavigationBarDividerColor, isNull); + }); + + test('SystemUiOverlayStyle implements debugFillProperties', () { + final DiagnosticPropertiesBuilder builder = DiagnosticPropertiesBuilder(); - expect( - systemUiOverlayStyle.toString(), - 'SystemUiOverlayStyle({' - 'systemNavigationBarColor: null, ' - 'systemNavigationBarDividerColor: null, ' - 'systemStatusBarContrastEnforced: null, ' - 'statusBarColor: null, ' - 'statusBarBrightness: null, ' - 'statusBarIconBrightness: null, ' - 'systemNavigationBarIconBrightness: null, ' - 'systemNavigationBarContrastEnforced: null})', - ); + const SystemUiOverlayStyle( + systemNavigationBarColor: Color(0xFF123456), + systemNavigationBarDividerColor: Color(0xFF654321), + systemNavigationBarIconBrightness: Brightness.light, + systemNavigationBarContrastEnforced: true, + statusBarColor: Color(0xFFABCDEF), + statusBarBrightness: Brightness.dark, + statusBarIconBrightness: Brightness.light, + systemStatusBarContrastEnforced: false, + ).debugFillProperties(builder); + + final List description = builder.properties + .where((DiagnosticsNode node) => !node.isFiltered(DiagnosticLevel.info)) + .map((DiagnosticsNode node) => node.toString()) + .toList(); + + expect(description, [ + 'systemNavigationBarColor: Color(alpha: 1.0000, red: 0.0706, green: 0.2039, blue: 0.3373, colorSpace: ColorSpace.sRGB)', + 'systemNavigationBarDividerColor: Color(alpha: 1.0000, red: 0.3961, green: 0.2627, blue: 0.1294, colorSpace: ColorSpace.sRGB)', + 'systemNavigationBarIconBrightness: Brightness.light', + 'systemNavigationBarContrastEnforced: true', + 'statusBarColor: Color(alpha: 1.0000, red: 0.6706, green: 0.8039, blue: 0.9373, colorSpace: ColorSpace.sRGB)', + 'statusBarBrightness: Brightness.dark', + 'statusBarIconBrightness: Brightness.light', + 'systemStatusBarContrastEnforced: false', + ]); + }); }); testWidgets('SystemChrome handles detached lifecycle state', (WidgetTester tester) async { diff --git a/packages/flutter/test/services/system_context_menu_controller_test.dart b/packages/flutter/test/services/system_context_menu_controller_test.dart index 3e8520fe24d0d..23def95305b55 100644 --- a/packages/flutter/test/services/system_context_menu_controller_test.dart +++ b/packages/flutter/test/services/system_context_menu_controller_test.dart @@ -546,4 +546,291 @@ void main() { systemContextMenuController.showWithItems(anchor, defaultItemDatas); expect(systemContextMenuController.isVisible, isTrue); }); + + test('custom action callbacks are properly managed', () { + final FakeTextInputClient client = FakeTextInputClient(const TextEditingValue(text: 'test')); + final TextInputConnection connection = TextInput.attach(client, client.configuration); + addTearDown(() { + connection.close(); + }); + + bool action1Called = false; + bool action2Called = false; + + final SystemContextMenuController controller = SystemContextMenuController(); + addTearDown(() { + controller.dispose(); + }); + + final List items = [ + IOSSystemContextMenuItemDataCustom( + title: 'Action 1', + onPressed: () { + action1Called = true; + }, + ), + IOSSystemContextMenuItemDataCustom( + title: 'Action 2', + onPressed: () { + action2Called = true; + }, + ), + ]; + + const Rect rect = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + controller.showWithItems(rect, items); + + expect(controller.isVisible, isTrue); + + // Get the actual callback IDs from the items. + final String callbackId1 = (items[0] as IOSSystemContextMenuItemDataCustom).callbackId; + final String callbackId2 = (items[1] as IOSSystemContextMenuItemDataCustom).callbackId; + + controller.handleCustomContextMenuAction(callbackId1); + expect(action1Called, isTrue); + expect(action2Called, isFalse); + + controller.handleCustomContextMenuAction(callbackId2); + expect(action1Called, isTrue); + expect(action2Called, isTrue); + + controller.hide(); + expect(controller.isVisible, isFalse); + + expect(() => controller.handleCustomContextMenuAction(callbackId1), throwsAssertionError); + }); + + test('multiple controllers handle callbacks independently', () { + final FakeTextInputClient client1 = FakeTextInputClient(const TextEditingValue(text: 'test1')); + final TextInputConnection connection1 = TextInput.attach(client1, client1.configuration); + addTearDown(() { + connection1.close(); + }); + + bool controller1ActionCalled = false; + bool controller2ActionCalled = false; + + final SystemContextMenuController controller1 = SystemContextMenuController(); + final SystemContextMenuController controller2 = SystemContextMenuController(); + addTearDown(() { + controller1.dispose(); + controller2.dispose(); + }); + + final List items1 = [ + IOSSystemContextMenuItemDataCustom( + title: 'Controller 1 Action', + onPressed: () { + controller1ActionCalled = true; + }, + ), + ]; + + final List items2 = [ + IOSSystemContextMenuItemDataCustom( + title: 'Controller 2 Action', + onPressed: () { + controller2ActionCalled = true; + }, + ), + ]; + + const Rect rect1 = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + const Rect rect2 = Rect.fromLTWH(100.0, 100.0, 100.0, 100.0); + + controller1.showWithItems(rect1, items1); + expect(controller1.isVisible, isTrue); + + controller1.hide(); + expect(controller1.isVisible, isFalse); + + controller2.showWithItems(rect2, items2); + expect(controller2.isVisible, isTrue); + + // Get the actual callback ID from the items. + final String callbackId2 = (items2[0] as IOSSystemContextMenuItemDataCustom).callbackId; + + controller2.handleCustomContextMenuAction(callbackId2); + expect(controller2ActionCalled, isTrue); + expect(controller1ActionCalled, isFalse); + + // Get the actual callback ID from controller1's items. + final String callbackId1 = (items1[0] as IOSSystemContextMenuItemDataCustom).callbackId; + + expect(() => controller1.handleCustomContextMenuAction(callbackId1), throwsAssertionError); + }); + + test('platform dismissal clears callbacks', () { + final FakeTextInputClient client = FakeTextInputClient(const TextEditingValue(text: 'test')); + final TextInputConnection connection = TextInput.attach(client, client.configuration); + addTearDown(() { + connection.close(); + }); + + bool actionCalled = false; + + final SystemContextMenuController controller = SystemContextMenuController(); + addTearDown(() { + controller.dispose(); + }); + + final List items = [ + IOSSystemContextMenuItemDataCustom( + title: 'Test Action', + onPressed: () { + actionCalled = true; + }, + ), + ]; + + const Rect rect = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + controller.showWithItems(rect, items); + expect(controller.isVisible, isTrue); + + controller.handleSystemHide(); + expect(controller.isVisible, isFalse); + + // Get the actual callback ID from the item. + final String callbackId = (items[0] as IOSSystemContextMenuItemDataCustom).callbackId; + + expect(() => controller.handleCustomContextMenuAction(callbackId), throwsAssertionError); + expect(actionCalled, isFalse); + }); + + test('calling handleCustomContextMenuAction with no systemContextMenuClient', () { + // Don't create a controller or set any client. + ServicesBinding.systemContextMenuClient = null; + + expect(() async { + final ByteData message = const JSONMethodCodec().encodeMethodCall( + const MethodCall('ContextMenu.onPerformCustomAction', [0, 'test-id']), + ); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + message, + (_) {}, + ); + }, returnsNormally); + }); + + test('handleCustomContextMenuAction with non-existent callbackId', () { + final FakeTextInputClient client = FakeTextInputClient(const TextEditingValue(text: 'test')); + final TextInputConnection connection = TextInput.attach(client, client.configuration); + addTearDown(() { + connection.close(); + }); + + final SystemContextMenuController controller = SystemContextMenuController(); + addTearDown(() { + controller.dispose(); + }); + + final List items = [ + IOSSystemContextMenuItemDataCustom(title: 'Test Action', onPressed: () {}), + ]; + + const Rect rect = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + controller.showWithItems(rect, items); + expect(controller.isVisible, isTrue); + + expect(() => controller.handleCustomContextMenuAction('non-existent-id'), throwsAssertionError); + }); + + test('handleCustomContextMenuAction after hide clears callbacks', () { + final FakeTextInputClient client = FakeTextInputClient(const TextEditingValue(text: 'test')); + final TextInputConnection connection = TextInput.attach(client, client.configuration); + addTearDown(() { + connection.close(); + }); + + bool actionCalled = false; + + final SystemContextMenuController controller = SystemContextMenuController(); + addTearDown(() { + controller.dispose(); + }); + + final List items = [ + IOSSystemContextMenuItemDataCustom( + title: 'Test Action', + onPressed: () { + actionCalled = true; + }, + ), + ]; + + const Rect rect = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + controller.showWithItems(rect, items); + expect(controller.isVisible, isTrue); + + final String callbackId = (items[0] as IOSSystemContextMenuItemDataCustom).callbackId; + + // Test that it works before hiding. + controller.handleCustomContextMenuAction(callbackId); + expect(actionCalled, isTrue); + actionCalled = false; + + controller.hide(); + expect(controller.isVisible, isFalse); + + expect(() => controller.handleCustomContextMenuAction(callbackId), throwsAssertionError); + expect(actionCalled, isFalse); + }); + + test('showing new menu invalidates old menu callbacks', () { + final FakeTextInputClient client = FakeTextInputClient(const TextEditingValue(text: 'test')); + final TextInputConnection connection = TextInput.attach(client, client.configuration); + addTearDown(() { + connection.close(); + }); + + bool oldActionCalled = false; + bool newActionCalled = false; + + final SystemContextMenuController controller = SystemContextMenuController(); + addTearDown(() { + controller.dispose(); + }); + + // First menu with old action. + final List oldItems = [ + IOSSystemContextMenuItemDataCustom( + title: 'Old Action', + onPressed: () { + oldActionCalled = true; + }, + ), + ]; + + const Rect rect1 = Rect.fromLTWH(0.0, 0.0, 100.0, 100.0); + controller.showWithItems(rect1, oldItems); + expect(controller.isVisible, isTrue); + + final String oldCallbackId = (oldItems[0] as IOSSystemContextMenuItemDataCustom).callbackId; + + // Show new menu with new action. + final List newItems = [ + IOSSystemContextMenuItemDataCustom( + title: 'New Action', + onPressed: () { + newActionCalled = true; + }, + ), + ]; + + const Rect rect2 = Rect.fromLTWH(100.0, 100.0, 100.0, 100.0); + controller.showWithItems(rect2, newItems); + expect(controller.isVisible, isTrue); + + final String newCallbackId = (newItems[0] as IOSSystemContextMenuItemDataCustom).callbackId; + + // Old callback should not work. + expect(() => controller.handleCustomContextMenuAction(oldCallbackId), throwsAssertionError); + expect(oldActionCalled, isFalse); + + // New callback should work. + controller.handleCustomContextMenuAction(newCallbackId); + expect(newActionCalled, isTrue); + expect(oldActionCalled, isFalse); + }); } diff --git a/packages/flutter/test/system_context_menu_utils.dart b/packages/flutter/test/system_context_menu_utils.dart index ca1c8960e8340..5d249b4aed974 100644 --- a/packages/flutter/test/system_context_menu_utils.dart +++ b/packages/flutter/test/system_context_menu_utils.dart @@ -19,6 +19,7 @@ IOSSystemContextMenuItemData systemContextMenuItemDataFromJson(Map IOSSystemContextMenuItemDataShare(title: title!), 'lookUp' => IOSSystemContextMenuItemDataLookUp(title: title!), 'captureTextFromCamera' => const IOSSystemContextMenuItemDataLiveText(), + 'custom' => IOSSystemContextMenuItemDataCustom(title: title!, onPressed: () {}), _ => throw FlutterError('Invalid json for IOSSystemContextMenuItem.type $type.'), }; } diff --git a/packages/flutter/test/widgets/autocomplete_test.dart b/packages/flutter/test/widgets/autocomplete_test.dart index 8c002b2447876..a328dc849f582 100644 --- a/packages/flutter/test/widgets/autocomplete_test.dart +++ b/packages/flutter/test/widgets/autocomplete_test.dart @@ -3271,6 +3271,78 @@ void main() { expect(find.byKey(optionsKey), findsOneWidget); }); + testWidgets('Autocomplete Semantics announcement', (WidgetTester tester) async { + final SemanticsHandle handle = tester.ensureSemantics(); + final GlobalKey fieldKey = GlobalKey(); + final GlobalKey optionsKey = GlobalKey(); + late Iterable lastOptions; + late FocusNode focusNode; + late TextEditingController textEditingController; + const DefaultWidgetsLocalizations localizations = DefaultWidgetsLocalizations(); + + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: RawAutocomplete( + optionsBuilder: (TextEditingValue textEditingValue) { + return kOptions.where((String option) { + return option.contains(textEditingValue.text.toLowerCase()); + }); + }, + fieldViewBuilder: + ( + BuildContext context, + TextEditingController fieldTextEditingController, + FocusNode fieldFocusNode, + VoidCallback onFieldSubmitted, + ) { + focusNode = fieldFocusNode; + textEditingController = fieldTextEditingController; + return TextField( + key: fieldKey, + focusNode: focusNode, + controller: textEditingController, + ); + }, + optionsViewBuilder: + ( + BuildContext context, + AutocompleteOnSelected onSelected, + Iterable options, + ) { + lastOptions = options; + return Container(key: optionsKey); + }, + ), + ), + ), + ); + + expect(find.byKey(fieldKey), findsOneWidget); + expect(find.byKey(optionsKey), findsNothing); + + expect(tester.takeAnnouncements(), isEmpty); + + focusNode.requestFocus(); + await tester.pump(); + expect(find.byKey(optionsKey), findsOneWidget); + expect(lastOptions.length, kOptions.length); + expect(tester.takeAnnouncements().first.message, localizations.searchResultsFound); + + await tester.enterText(find.byKey(fieldKey), 'a'); + await tester.pump(); + expect(find.byKey(optionsKey), findsOneWidget); + expect(lastOptions.length, greaterThan(0)); + expect(tester.takeAnnouncements(), isEmpty); + + await tester.enterText(find.byKey(fieldKey), 'zzzz'); + await tester.pump(); + expect(find.byKey(optionsKey), findsNothing); + expect(tester.takeAnnouncements().first.message, localizations.noResultsFound); + + handle.dispose(); + }); + testWidgets('RawAutocomplete renders at zero area', (WidgetTester tester) async { await tester.pumpWidget( MaterialApp( diff --git a/packages/flutter/test/widgets/focus_scope_test.dart b/packages/flutter/test/widgets/focus_scope_test.dart index 597512257cd30..cdddb9465b53e 100644 --- a/packages/flutter/test/widgets/focus_scope_test.dart +++ b/packages/flutter/test/widgets/focus_scope_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:ui' show Tristate; + import 'package:flutter/semantics.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; @@ -1343,23 +1345,20 @@ void main() { final SemanticsNode semantics = tester.getSemantics(find.byKey(key)); expect(key.currentState!.focusNode.hasFocus, isFalse); - expect(semantics.flagsCollection.isFocused, isFalse); - expect(semantics.flagsCollection.isFocusable, isTrue); + expect(semantics.flagsCollection.isFocused, Tristate.isFalse); FocusScope.of(key.currentContext!).requestFocus(key.currentState!.focusNode); await tester.pumpAndSettle(); expect(key.currentState!.focusNode.hasFocus, isTrue); - expect(semantics.flagsCollection.isFocused, isTrue); - expect(semantics.flagsCollection.isFocusable, isTrue); + expect(semantics.flagsCollection.isFocused, Tristate.isTrue); key.currentState!.focusNode.canRequestFocus = false; await tester.pumpAndSettle(); expect(key.currentState!.focusNode.hasFocus, isFalse); expect(key.currentState!.focusNode.canRequestFocus, isFalse); - expect(semantics.flagsCollection.isFocused, isFalse); - expect(semantics.flagsCollection.isFocusable, isFalse); + expect(semantics.flagsCollection.isFocused, Tristate.none); }); testWidgets('Setting canRequestFocus on focus node causes update.', ( diff --git a/packages/flutter/test/widgets/framework_test.dart b/packages/flutter/test/widgets/framework_test.dart index 98b141cddbc28..6da409f7d60c8 100644 --- a/packages/flutter/test/widgets/framework_test.dart +++ b/packages/flutter/test/widgets/framework_test.dart @@ -2075,6 +2075,71 @@ The findRenderObject() method was called for the following element: ), ); }); + + testWidgets( + 'widget is not active if throw in deactivated', + experimentalLeakTesting: LeakTesting.settings + .withIgnoredAll(), // leaking by design because of exception + (WidgetTester tester) async { + final FlutterExceptionHandler? onError = FlutterError.onError; + FlutterError.onError = (_) {}; + const Widget child = Placeholder(); + await tester.pumpWidget( + StatefulWidgetSpy(onDeactivate: (_) => throw StateError('kaboom'), child: child), + ); + final Element element = tester.element(find.byWidget(child)); + assert(element.debugIsActive); + + await tester.pumpWidget(const SizedBox()); + FlutterError.onError = onError; + expect(element.debugIsActive, false); + expect(element.debugIsDefunct, false); + }, + ); + + testWidgets( + 'widget is not active if throw in activated', + experimentalLeakTesting: LeakTesting.settings + .withIgnoredAll(), // leaking by design because of exception + (WidgetTester tester) async { + final FlutterExceptionHandler? onError = FlutterError.onError; + FlutterError.onError = (_) {}; + const Widget child = Placeholder(); + final Widget widget = StatefulWidgetSpy( + key: GlobalKey(), + onActivate: (_) => throw StateError('kaboom'), + child: child, + ); + await tester.pumpWidget(widget); + final Element element = tester.element(find.byWidget(child)); + + await tester.pumpWidget(MetaData(child: widget)); + FlutterError.onError = onError; + expect(element.debugIsActive, false); + expect(element.debugIsDefunct, false); + }, + ); + + testWidgets( + 'widget is unmounted if throw in dispose', + experimentalLeakTesting: LeakTesting.settings + .withIgnoredAll(), // leaking by design because of exception + (WidgetTester tester) async { + final FlutterExceptionHandler? onError = FlutterError.onError; + FlutterError.onError = (_) {}; + const Widget child = Placeholder(); + final Widget widget = StatefulWidgetSpy( + onDispose: (_) => throw StateError('kaboom'), + child: child, + ); + await tester.pumpWidget(widget); + final Element element = tester.element(find.byWidget(child)); + await tester.pumpWidget(child); + + FlutterError.onError = onError; + expect(element.debugIsDefunct, true); + }, + ); } class _TestInheritedElement extends InheritedElement { @@ -2323,6 +2388,7 @@ class StatefulWidgetSpy extends StatefulWidget { this.onDeactivate, this.onActivate, this.onDidUpdateWidget, + this.child = const SizedBox(), }); final void Function(BuildContext)? onBuild; @@ -2332,6 +2398,7 @@ class StatefulWidgetSpy extends StatefulWidget { final void Function(BuildContext)? onDeactivate; final void Function(BuildContext)? onActivate; final void Function(BuildContext)? onDidUpdateWidget; + final Widget child; @override State createState() => _StatefulWidgetSpyState(); @@ -2377,7 +2444,7 @@ class _StatefulWidgetSpyState extends State { @override Widget build(BuildContext context) { widget.onBuild?.call(context); - return Container(); + return widget.child; } } diff --git a/packages/flutter/test/widgets/heroes_test.dart b/packages/flutter/test/widgets/heroes_test.dart index 5192603c482f8..fd2335afc6bb3 100644 --- a/packages/flutter/test/widgets/heroes_test.dart +++ b/packages/flutter/test/widgets/heroes_test.dart @@ -1449,6 +1449,7 @@ Future main() async { .text('Hero') .evaluate() .map((Element e) => e.renderObject!); + await tester.pump(const Duration(milliseconds: 1)); expect(renderObjects.where(isVisible).length, 1); // Hero BC's flight finishes normally. diff --git a/packages/flutter/test/widgets/html_element_view_test.dart b/packages/flutter/test/widgets/html_element_view_test.dart index cbbb296df339f..97ed6290df53c 100644 --- a/packages/flutter/test/widgets/html_element_view_test.dart +++ b/packages/flutter/test/widgets/html_element_view_test.dart @@ -6,11 +6,12 @@ library; import 'dart:async'; +import 'dart:ui' show PointerDeviceKind; import 'dart:ui_web' as ui_web; +import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:web/web.dart' as web; @@ -44,6 +45,17 @@ void main() { return web.document.createElement(params['tagName']! as String); }, ); + fakePlatformViewRegistry.registerViewFactory('Browser__WebContextMenuViewType__', ( + int viewId, { + Object? params, + }) { + final web.HTMLElement htmlElement = web.document.createElement('div') as web.HTMLElement; + htmlElement + ..style.width = '100%' + ..style.height = '100%' + ..classList.add('web-selectable-region-context-menu'); + return htmlElement; + }); }); group('HtmlElementView', () { @@ -417,4 +429,81 @@ void main() { }); }); }); + + // Regression test for https://github.com/flutter/flutter/issues/174246 + // There is a control case for non-Web in selection_area_test.dart. + testWidgets('SelectionArea applies correct mouse cursors in its empty region on Web', ( + WidgetTester tester, + ) async { + final GlobalKey innerRegion = GlobalKey(); + await tester.pumpWidget( + MaterialApp( + debugShowCheckedModeBanner: false, + home: Scaffold( + // Region 1 (fullscreen) + body: MouseRegion( + cursor: SystemMouseCursors.grab, + child: Center( + child: Container( + decoration: BoxDecoration(border: Border.all()), + // Region 2 (SelectionArea) + child: SelectionArea( + child: Padding( + padding: const EdgeInsetsGeometry.all(40), + // Region 3 (inner MouseRegion) + child: MouseRegion( + key: innerRegion, + cursor: SystemMouseCursors.forbidden, + onHover: (_) {}, + child: Container(color: const Color(0xFFAA9933), width: 200, height: 50), + ), + ), + ), + ), + ), + ), + ), + ), + ); + + // Initialize the HtmlElementView inside SelectionArea. + await tester.pump(); + + // Ensure that the HtmlElementView is initialized. + expect( + find.byWidgetPredicate( + (Widget widget) => widget.toString().contains('_PlatformViewPlaceHolder'), + ), + findsNothing, + ); + + const Offset region1 = Offset(10, 10); + final Offset region2 = tester.getTopLeft(find.byKey(innerRegion)) - const Offset(3, 3); + final Offset region3 = tester.getCenter(find.byKey(innerRegion)); + + final TestGesture gesture = await tester.startGesture(region1, kind: PointerDeviceKind.mouse); + addTearDown(gesture.removePointer); + expect( + RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), + SystemMouseCursors.grab, + ); + + await gesture.moveTo(region2); + expect( + RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), + SystemMouseCursors.grab, + ); + + await gesture.moveTo(region3); + expect( + RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), + SystemMouseCursors.forbidden, + ); + + await gesture.moveTo(region2); + expect( + RendererBinding.instance.mouseTracker.debugDeviceActiveCursor(1), + SystemMouseCursors.grab, + ); + }); } diff --git a/packages/flutter/test/widgets/localizations_test.dart b/packages/flutter/test/widgets/localizations_test.dart index a622ba6c0343c..cdc639c9b5dd3 100644 --- a/packages/flutter/test/widgets/localizations_test.dart +++ b/packages/flutter/test/widgets/localizations_test.dart @@ -22,6 +22,8 @@ void main() { expect(localizations.reorderItemRight, isNotNull); expect(localizations.reorderItemToEnd, isNotNull); expect(localizations.reorderItemToStart, isNotNull); + expect(localizations.searchResultsFound, isNotNull); + expect(localizations.noResultsFound, isNotNull); expect(localizations.copyButtonLabel, isNotNull); expect(localizations.cutButtonLabel, isNotNull); expect(localizations.pasteButtonLabel, isNotNull); diff --git a/packages/flutter/test/widgets/memory_allocations_test.dart b/packages/flutter/test/widgets/memory_allocations_test.dart index 7cdbefe55368f..83f6b9585418f 100644 --- a/packages/flutter/test/widgets/memory_allocations_test.dart +++ b/packages/flutter/test/widgets/memory_allocations_test.dart @@ -80,6 +80,7 @@ class _TestElement extends RenderObjectElement with RootElementMixin { final FocusManager newFocusManager = FocusManager(); assignOwner(BuildOwner(focusManager: newFocusManager)); mount(null, null); + // ignore: invalid_use_of_visible_for_overriding_member deactivate(); } @@ -145,6 +146,7 @@ Future<_EventStats> _activateFlutterObjectsAndReturnCountOfEvents() async { element.makeInactive(); result.creations += 4; // 1 for the new BuildOwner, 1 for the new FocusManager, 1 for the new FocusScopeNode, 1 for the new _HighlightModeManager + // ignore: invalid_use_of_visible_for_overriding_member element.unmount(); result.disposals += 2; // 1 for the old BuildOwner, 1 for the element renderObject.dispose(); diff --git a/packages/flutter/test/widgets/navigator_on_did_remove_page_test.dart b/packages/flutter/test/widgets/navigator_on_did_remove_page_test.dart new file mode 100644 index 0000000000000..2e20adb5accfa --- /dev/null +++ b/packages/flutter/test/widgets/navigator_on_did_remove_page_test.dart @@ -0,0 +1,127 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + Future buildPages( + List> pages, + WidgetTester tester, { + GlobalKey? navKey, + required List> removedPage, + }) { + return tester.pumpWidget( + MediaQuery( + data: MediaQueryData.fromView(tester.view), + child: Directionality( + textDirection: TextDirection.ltr, + child: Navigator(key: navKey, pages: pages, onDidRemovePage: removedPage.add), + ), + ), + ); + } + + testWidgets('Page API will not call onDidRemovePage', (WidgetTester tester) async { + final List> removedPages = >[]; + + const MaterialPage page = MaterialPage( + key: ValueKey('page'), + child: Text('page'), + ); + const MaterialPage page1 = MaterialPage( + key: ValueKey('page1'), + child: Text('page1'), + ); + const MaterialPage page2 = MaterialPage( + key: ValueKey('page2'), + child: Text('page2'), + ); + const MaterialPage page3 = MaterialPage( + key: ValueKey('page3'), + child: Text('page3'), + ); + const MaterialPage page4 = MaterialPage( + key: ValueKey('page4'), + child: Text('page4'), + ); + const MaterialPage page5 = MaterialPage( + key: ValueKey('page5'), + child: Text('page5'), + ); + const MaterialPage page6 = MaterialPage( + key: ValueKey('page6'), + child: Text('page6'), + ); + await buildPages(>[page], tester, removedPage: removedPages); + + expect(find.text('page'), findsOneWidget); + + await buildPages(>[page, page1, page2, page3], tester, removedPage: removedPages); + await buildPages(>[page, page4, page5, page6], tester, removedPage: removedPages); + await tester.pumpAndSettle(); + expect(find.text('page6'), findsOneWidget); + expect(removedPages, isEmpty); + + await buildPages(>[page, page4, page5], tester, removedPage: removedPages); + await tester.pumpAndSettle(); + expect(find.text('page5'), findsOneWidget); + expect(removedPages, isEmpty); + + await buildPages(>[page], tester, removedPage: removedPages); + await tester.pumpAndSettle(); + expect(find.text('page'), findsOneWidget); + expect(removedPages, isEmpty); + }); + + testWidgets('pop calls onDidRemovePage', (WidgetTester tester) async { + final GlobalKey key = GlobalKey(); + final List> removedPage = >[]; + + const MaterialPage page = MaterialPage( + key: ValueKey('page'), + child: Text('page'), + ); + const MaterialPage page1 = MaterialPage( + key: ValueKey('page1'), + child: Text('page1'), + ); + await buildPages(>[page, page1], tester, removedPage: removedPage, navKey: key); + + expect(find.text('page1'), findsOneWidget); + + key.currentState!.pop(); + await tester.pumpAndSettle(); + expect(find.text('page'), findsOneWidget); + expect(removedPage, >[page1]); + }); + + testWidgets('pushReplacement calls onDidRemovePage', (WidgetTester tester) async { + final GlobalKey key = GlobalKey(); + final List> removedPage = >[]; + + const MaterialPage page = MaterialPage( + key: ValueKey('page'), + child: Text('page'), + ); + const MaterialPage page1 = MaterialPage( + key: ValueKey('page1'), + child: Text('page1'), + ); + await buildPages(>[page, page1], tester, removedPage: removedPage, navKey: key); + + expect(find.text('page1'), findsOneWidget); + + key.currentState!.pushReplacement( + MaterialPageRoute( + builder: (_) { + return const Text('new page'); + }, + ), + ); + await tester.pumpAndSettle(); + expect(find.text('new page'), findsOneWidget); + expect(removedPage, >[page1]); + }); +} diff --git a/packages/flutter/test/widgets/navigator_restoration_test.dart b/packages/flutter/test/widgets/navigator_restoration_test.dart index 8e7b900fdc421..3e0abfecfd449 100644 --- a/packages/flutter/test/widgets/navigator_restoration_test.dart +++ b/packages/flutter/test/widgets/navigator_restoration_test.dart @@ -2,7 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; @@ -1095,18 +1094,6 @@ void main() { (exception as AssertionError).message, contains('All routes returned by onGenerateInitialRoutes are not restorable.'), ); - - // The previous assert leaves the widget tree in a broken state, so the - // following code catches any remaining exceptions from attempting to build - // new widget tree. - final FlutterExceptionHandler? oldHandler = FlutterError.onError; - dynamic remainingException; - FlutterError.onError = (FlutterErrorDetails details) { - remainingException ??= details.exception; - }; - await tester.pumpWidget(Container(key: UniqueKey())); - FlutterError.onError = oldHandler; - expect(remainingException, isAssertionError); }, ); } diff --git a/packages/flutter/test/widgets/navigator_test.dart b/packages/flutter/test/widgets/navigator_test.dart index 8ba7ddb118021..067a81335a147 100644 --- a/packages/flutter/test/widgets/navigator_test.dart +++ b/packages/flutter/test/widgets/navigator_test.dart @@ -250,40 +250,91 @@ void main() { expect(tester.widget(find.byType(Overlay)).clipBehavior, Clip.none); }); - testWidgets('Navigator should call observer.didPop when pops page-based routes', ( - WidgetTester tester, - ) async { + testWidgets('Navigator can set clip behavior', (WidgetTester tester) async { const MaterialPage page = MaterialPage(child: Text('page')); - const MaterialPage page1 = MaterialPage(child: Text('page1')); - final List> pages = >[page, page1]; - final _MockNavigatorObserver observer = _MockNavigatorObserver(); - final GlobalKey nav = GlobalKey(); + await tester.pumpWidget( + MediaQuery( + data: MediaQueryData.fromView(tester.view), + child: Directionality( + textDirection: TextDirection.ltr, + child: Navigator(pages: const >[page], onPopPage: (_, _) => false), + ), + ), + ); + // Default to hard edge. + expect(tester.widget(find.byType(Overlay)).clipBehavior, Clip.hardEdge); + await tester.pumpWidget( MediaQuery( data: MediaQueryData.fromView(tester.view), child: Directionality( textDirection: TextDirection.ltr, child: Navigator( - key: nav, - pages: pages, - observers: [observer], - onPopPage: (Route route, dynamic result) { - route.didPop(result); - pages.remove(route.settings); - return true; - }, + pages: const >[page], + clipBehavior: Clip.none, + onPopPage: (_, _) => false, ), ), ), ); + expect(tester.widget(find.byType(Overlay)).clipBehavior, Clip.none); + }); + + testWidgets('Can remove page before they are added', (WidgetTester tester) async { + final GlobalKey key = GlobalKey(); + Future buildPages(List> pages) { + return tester.pumpWidget( + MediaQuery( + data: MediaQueryData.fromView(tester.view), + child: Directionality( + textDirection: TextDirection.ltr, + child: Navigator(key: key, pages: pages, onDidRemovePage: (_) {}), + ), + ), + ); + } + + const MaterialPage page = MaterialPage( + key: ValueKey('page'), + child: Text('page'), + ); + const MaterialPage page1 = MaterialPage( + key: ValueKey('page1'), + child: Text('page1'), + ); + const MaterialPage page2 = MaterialPage( + key: ValueKey('page2'), + child: Text('page2'), + ); + const MaterialPage page3 = MaterialPage( + key: ValueKey('page3'), + child: Text('page3'), + ); + const MaterialPage page4 = MaterialPage( + key: ValueKey('page4'), + child: Text('page4'), + ); + const MaterialPage page5 = MaterialPage( + key: ValueKey('page5'), + child: Text('page5'), + ); + const MaterialPage page6 = MaterialPage( + key: ValueKey('page6'), + child: Text('page6'), + ); + await buildPages(>[page]); - expect(find.text('page1'), findsOneWidget); + expect(find.text('page'), findsOneWidget); - observer._invocations.clear(); - nav.currentState!.pop(); + await buildPages(>[page, page1, page2, page3]); + + // In mid transition; + await tester.pump(const Duration(microseconds: 150)); + // Cause page1 and page2 to be removed before they are added. + await buildPages(>[page, page4, page5, page6]); await tester.pumpAndSettle(); - expect(find.text('page'), findsOneWidget); - observer._checkInvocations(const [#didPop, #didChangeTop]); + expect(find.text('page6'), findsOneWidget); + expect(tester.takeException(), isNull); }); testWidgets('Zero transition page-based route correctly notifies observers when it is popped', ( @@ -2976,12 +3027,12 @@ void main() { await tester.pump(kFourTenthsOfTheTransitionDuration); expect(find.text('Route: 3'), findsOneWidget); expect(find.text('Route: 4'), findsOneWidget); - expect(route4Entry.value, 0.4); + expect(route4Entry.value, moreOrLessEquals(0.4)); await tester.pump(kFourTenthsOfTheTransitionDuration); expect(find.text('Route: 3'), findsOneWidget); expect(find.text('Route: 4'), findsOneWidget); - expect(route4Entry.value, 0.8); + expect(route4Entry.value, moreOrLessEquals(0.8)); expect(find.text('Route: 2', skipOffstage: false), findsOneWidget); expect(find.text('Route: 1', skipOffstage: false), findsOneWidget); expect(find.text('Route: root', skipOffstage: false), findsOneWidget); diff --git a/packages/flutter/test/widgets/overlay_portal_test.dart b/packages/flutter/test/widgets/overlay_portal_test.dart index c2cbfcae1e12c..8534966f3f63c 100644 --- a/packages/flutter/test/widgets/overlay_portal_test.dart +++ b/packages/flutter/test/widgets/overlay_portal_test.dart @@ -8,6 +8,7 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart'; +import 'multi_view_testing.dart'; import 'semantics_tester.dart'; class _ManyRelayoutBoundaries extends StatelessWidget { @@ -1242,13 +1243,7 @@ void main() { ); final _RenderLayoutCounter overlayLayoutCounter = _RenderLayoutCounter(); int layoutCount = 0; - OverlayPortal Function({ - Widget? child, - required OverlayPortalController controller, - Key? key, - required WidgetBuilder overlayChildBuilder, - }) - constructorToUse = OverlayPortal.new; + OverlayChildLocation location = OverlayChildLocation.nearestOverlay; late StateSetter setState; // This tree has 3 nested Overlays. @@ -1278,9 +1273,10 @@ void main() { return Center( child: Builder( builder: (BuildContext context) { - return constructorToUse( + return OverlayPortal( key: widgetKey, controller: controller1, + overlayLocation: location, overlayChildBuilder: (BuildContext context) { return LayoutBuilder( builder: @@ -1331,7 +1327,7 @@ void main() { // Now targets the root overlay. setState(() { - constructorToUse = OverlayPortal.targetsRootOverlay; + location = OverlayChildLocation.rootOverlay; }); await tester.pump(); @@ -1344,6 +1340,198 @@ void main() { verifyTreeIsClean(); }); + testWidgets('Listens to overlay changes', (WidgetTester tester) async { + // Use global key to ensure `OverlayCatcher` will be reparented instead + // of destroyed when Overlay gets swapped. + const GlobalObjectKey container = GlobalObjectKey('container'); + final OverlayPortalController controller1 = OverlayPortalController(); + final UniqueKey overlayPortal = UniqueKey(); + final Widget overlayBody = SizedBox( + width: 100, + height: 100, + child: OverlayPortal( + controller: controller1, + overlayChildBuilder: (BuildContext context) => Placeholder(key: overlayPortal), + ), + ); + + final OverlayEntry overlayEntry1 = OverlayEntry( + builder: (BuildContext context) { + return Container(key: container, child: overlayBody); + }, + ); + addTearDown( + () => overlayEntry1 + ..remove() + ..dispose(), + ); + final OverlayEntry overlayEntry2 = OverlayEntry( + builder: (BuildContext context) { + return Container(key: container, child: overlayBody); + }, + ); + addTearDown( + () => overlayEntry2 + ..remove() + ..dispose(), + ); + + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: OverlaySwaps(overlayEntry1, overlayEntry2), + ), + ); + + controller1.show(); + await tester.pump(); + + final RenderObject parentTheater = _ancestorRenderTheaters( + tester.renderObject(find.byKey(overlayPortal)), + ).single; + + final OverlaySwapsState swaps = tester.state(find.byType(OverlaySwaps)); + swaps.swaps(); + await tester.pump(); + + final RenderObject newParentTheater = _ancestorRenderTheaters( + tester.renderObject(find.byKey(overlayPortal)), + ).single; + expect(parentTheater, isNot(newParentTheater)); + }); + + testWidgets('Listens to root overlay changes', (WidgetTester tester) async { + final GlobalKey oldRoot = GlobalKey(); + final GlobalKey newRoot = GlobalKey(); + final UniqueKey overlayPortal = UniqueKey(); + final Widget overlayBody = SizedBox( + width: 100, + height: 100, + child: OverlayPortal( + controller: controller1, + overlayLocation: OverlayChildLocation.rootOverlay, + overlayChildBuilder: (BuildContext context) => Placeholder(key: overlayPortal), + ), + ); + + final OverlayEntry innerEntry = OverlayEntry( + builder: (BuildContext context) { + return Container(child: overlayBody); + }, + ); + addTearDown( + () => innerEntry + ..remove() + ..dispose(), + ); + + final OverlayEntry midEntry = OverlayEntry( + builder: (BuildContext context) { + return Overlay(initialEntries: [innerEntry]); + }, + ); + addTearDown( + () => midEntry + ..remove() + ..dispose(), + ); + + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: Overlay(key: oldRoot, initialEntries: [midEntry]), + ), + ); + + RenderObject parentTheater = _ancestorRenderTheaters( + tester.renderObject(find.byKey(overlayPortal)), + ).single; + expect(parentTheater, oldRoot.currentContext?.findRenderObject()); + + final OverlayEntry outerEntry = OverlayEntry( + builder: (BuildContext context) { + return Overlay(key: oldRoot, initialEntries: [midEntry]); + }, + ); + addTearDown( + () => outerEntry + ..remove() + ..dispose(), + ); + + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: Overlay( + // Add a new root. + key: newRoot, + initialEntries: [outerEntry], + ), + ), + ); + + parentTheater = _ancestorRenderTheaters(tester.renderObject(find.byKey(overlayPortal))).single; + expect(parentTheater, newRoot.currentContext?.findRenderObject()); + }); + + testWidgets('Root location uses view boundary', (WidgetTester tester) async { + final UniqueKey overlayPortal = UniqueKey(); + final GlobalKey outer = GlobalKey(); + final GlobalKey inner = GlobalKey(); + final Widget overlayBody = SizedBox( + width: 100, + height: 100, + child: OverlayPortal( + controller: controller1, + overlayLocation: OverlayChildLocation.rootOverlay, + overlayChildBuilder: (BuildContext context) => Placeholder(key: overlayPortal), + ), + ); + + final OverlayEntry innerEntry = OverlayEntry( + builder: (BuildContext context) { + return overlayBody; + }, + ); + addTearDown( + () => innerEntry + ..remove() + ..dispose(), + ); + + final OverlayEntry outerEntry = OverlayEntry( + builder: (BuildContext context) { + return ViewAnchor( + view: View( + view: FakeView(tester.view), + child: Overlay(key: inner, initialEntries: [innerEntry]), + ), + child: const Placeholder(), + ); + }, + ); + addTearDown( + () => outerEntry + ..remove() + ..dispose(), + ); + + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: Overlay(key: outer, initialEntries: [outerEntry]), + ), + ); + + controller1.show(); + await tester.pumpAndSettle(); + + expect( + _ancestorRenderTheaters(tester.renderObject(find.byKey(overlayPortal))).single, + inner.currentContext?.findRenderObject(), + ); + }); + testWidgets('PortalController can be assigned to another after deactivate', ( WidgetTester tester, ) async { @@ -3037,3 +3225,36 @@ class _RenderPaintRecorder extends RenderProxyBox { super.paint(context, offset); } } + +class OverlaySwaps extends StatefulWidget { + const OverlaySwaps(this.entry, this.entryAfterSwap, {super.key}); + + final OverlayEntry entry; + final OverlayEntry entryAfterSwap; + @override + State createState() => OverlaySwapsState(); +} + +class OverlaySwapsState extends State { + late UniqueKey overlayKey; + late OverlayEntry entry; + + @override + void initState() { + super.initState(); + overlayKey = UniqueKey(); + entry = widget.entry; + } + + void swaps() { + setState(() { + overlayKey = UniqueKey(); + entry = widget.entryAfterSwap; + }); + } + + @override + Widget build(BuildContext context) { + return Overlay(key: overlayKey, initialEntries: [entry]); + } +} diff --git a/packages/flutter/test/widgets/overlay_test.dart b/packages/flutter/test/widgets/overlay_test.dart index 5e5c15a3470bb..3efefb0594e2f 100644 --- a/packages/flutter/test/widgets/overlay_test.dart +++ b/packages/flutter/test/widgets/overlay_test.dart @@ -206,6 +206,13 @@ void main() { ); }); + test('of method calls getElementForInheritedWidgetOfExactType', () async { + final FakeBuildContext context = FakeBuildContext(); + expect(context.called, isFalse); + expect(Overlay.maybeOf(context), isNull); + expect(context.called, isTrue); + }); + testWidgets('insert top', (WidgetTester tester) async { final GlobalKey overlayKey = GlobalKey(); final List buildOrder = []; @@ -1956,5 +1963,105 @@ class StatefulTestState extends State { } } +class FakeBuildContext extends BuildContext { + bool called = false; + + @override + bool get debugDoingBuild => throw UnimplementedError(); + + @override + InheritedWidget dependOnInheritedElement(InheritedElement ancestor, {Object? aspect}) { + throw UnimplementedError(); + } + + @override + T? dependOnInheritedWidgetOfExactType({Object? aspect}) { + throw UnimplementedError(); + } + + @override + DiagnosticsNode describeElement( + String name, { + DiagnosticsTreeStyle style = DiagnosticsTreeStyle.errorProperty, + }) { + throw UnimplementedError(); + } + + @override + List describeMissingAncestor({required Type expectedAncestorType}) { + throw UnimplementedError(); + } + + @override + DiagnosticsNode describeOwnershipChain(String name) { + throw UnimplementedError(); + } + + @override + DiagnosticsNode describeWidget( + String name, { + DiagnosticsTreeStyle style = DiagnosticsTreeStyle.errorProperty, + }) { + throw UnimplementedError(); + } + + @override + void dispatchNotification(Notification notification) {} + + @override + T? findAncestorRenderObjectOfType() { + throw UnimplementedError(); + } + + @override + T? findAncestorStateOfType>() { + throw UnimplementedError(); + } + + @override + T? findAncestorWidgetOfExactType() { + throw UnimplementedError(); + } + + @override + RenderObject? findRenderObject() { + throw UnimplementedError(); + } + + @override + T? findRootAncestorStateOfType>() { + throw UnimplementedError(); + } + + @override + InheritedElement? getElementForInheritedWidgetOfExactType() { + called = true; + return null; + } + + @override + T? getInheritedWidgetOfExactType() { + throw UnimplementedError(); + } + + @override + bool get mounted => throw UnimplementedError(); + + @override + BuildOwner? get owner => throw UnimplementedError(); + + @override + Size? get size => throw UnimplementedError(); + + @override + void visitAncestorElements(ConditionalElementVisitor visitor) {} + + @override + void visitChildElements(ElementVisitor visitor) {} + + @override + Widget get widget => throw UnimplementedError(); +} + /// This helper makes leak tracker forgiving the entry is not disposed. OverlayEntry _buildOverlayEntry(WidgetBuilder builder) => OverlayEntry(builder: builder); diff --git a/packages/flutter/test/widgets/overscroll_stretch_indicator_test.dart b/packages/flutter/test/widgets/overscroll_stretch_indicator_test.dart index eec79a4e941bc..5a4e6854440e1 100644 --- a/packages/flutter/test/widgets/overscroll_stretch_indicator_test.dart +++ b/packages/flutter/test/widgets/overscroll_stretch_indicator_test.dart @@ -7,11 +7,18 @@ @Tags(['reduced-test-set']) library; +import 'dart:ui' as ui; + import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { + // `StretchingOverscrollIndicator` uses a different algorithm when + // shader is available, therefore the tests must be different depending + // on shader support. + final bool shaderSupported = ui.ImageFilter.isShaderFilterSupported; + Widget buildTest( GlobalKey box1Key, GlobalKey box2Key, @@ -146,373 +153,401 @@ void main() { expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); }); - testWidgets('Stretch overscroll vertically', (WidgetTester tester) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Stretch overscroll vertically', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget(buildTest(box1Key, box2Key, box3Key, controller)); + await tester.pumpWidget(buildTest(box1Key, box2Key, box3Key, controller)); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 500.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.vertical.start.png'), - ); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 500.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.vertical.start.png'), + ); - TestGesture gesture = await tester.startGesture( - tester.getCenter(find.byType(CustomScrollView)), - ); - // Overscroll the start - await gesture.moveBy(const Offset(0.0, 200.0)); - await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero).dy, greaterThan(255.0)); - expect(box3.localToGlobal(Offset.zero).dy, greaterThan(510.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.vertical.start.stretched.png'), - ); + TestGesture gesture = await tester.startGesture( + tester.getCenter(find.byType(CustomScrollView)), + ); + // Overscroll the start + await gesture.moveBy(const Offset(0.0, 200.0)); + await tester.pumpAndSettle(); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero).dy, greaterThan(255.0)); + expect(box3.localToGlobal(Offset.zero).dy, greaterThan(510.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.vertical.start.stretched.png'), + ); - await gesture.up(); - await tester.pumpAndSettle(); + await gesture.up(); + await tester.pumpAndSettle(); - // Stretch released back to the start - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 500.0)); + // Stretch released back to the start + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 500.0)); - // Jump to end of the list - controller.jumpTo(controller.position.maxScrollExtent); - await tester.pumpAndSettle(); - expect(controller.offset, 150.0); - expect(box1.localToGlobal(Offset.zero).dy, -150.0); - expect(box2.localToGlobal(Offset.zero).dy, 100.0); - expect(box3.localToGlobal(Offset.zero).dy, 350.0); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.vertical.end.png'), - ); + // Jump to end of the list + controller.jumpTo(controller.position.maxScrollExtent); + await tester.pumpAndSettle(); + expect(controller.offset, 150.0); + expect(box1.localToGlobal(Offset.zero).dy, -150.0); + expect(box2.localToGlobal(Offset.zero).dy, 100.0); + expect(box3.localToGlobal(Offset.zero).dy, 350.0); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.vertical.end.png'), + ); - gesture = await tester.startGesture(tester.getCenter(find.byType(CustomScrollView))); - // Overscroll the end - await gesture.moveBy(const Offset(0.0, -200.0)); - await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero).dy, lessThan(-165)); - expect(box2.localToGlobal(Offset.zero).dy, lessThan(90.0)); - expect(box3.localToGlobal(Offset.zero).dy, lessThan(350.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.vertical.end.stretched.png'), - ); + gesture = await tester.startGesture(tester.getCenter(find.byType(CustomScrollView))); + // Overscroll the end + await gesture.moveBy(const Offset(0.0, -200.0)); + await tester.pumpAndSettle(); + expect(box1.localToGlobal(Offset.zero).dy, lessThan(-165)); + expect(box2.localToGlobal(Offset.zero).dy, lessThan(90.0)); + expect(box3.localToGlobal(Offset.zero).dy, lessThan(350.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.vertical.end.stretched.png'), + ); - await gesture.up(); - await tester.pumpAndSettle(); + await gesture.up(); + await tester.pumpAndSettle(); - // Stretch released back - expect(box1.localToGlobal(Offset.zero).dy, -150.0); - expect(box2.localToGlobal(Offset.zero).dy, 100.0); - expect(box3.localToGlobal(Offset.zero).dy, 350.0); - }); + // Stretch released back + expect(box1.localToGlobal(Offset.zero).dy, -150.0); + expect(box2.localToGlobal(Offset.zero).dy, 100.0); + expect(box3.localToGlobal(Offset.zero).dy, 350.0); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Stretch overscroll works in reverse - vertical', (WidgetTester tester) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Stretch overscroll works in reverse - vertical', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget(buildTest(box1Key, box2Key, box3Key, controller, reverse: true)); + await tester.pumpWidget(buildTest(box1Key, box2Key, box3Key, controller, reverse: true)); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), const Offset(0.0, 350.0)); - expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 100.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(0.0, -150.0)); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), const Offset(0.0, 350.0)); + expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 100.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(0.0, -150.0)); - final TestGesture gesture = await tester.startGesture( - tester.getCenter(find.byType(CustomScrollView)), - ); - // Overscroll - await gesture.moveBy(const Offset(0.0, -200.0)); - await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero).dy, lessThan(350.0)); - expect(box2.localToGlobal(Offset.zero).dy, lessThan(100.0)); - expect(box3.localToGlobal(Offset.zero).dy, lessThan(-150.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.vertical.reverse.png'), - ); - }); + final TestGesture gesture = await tester.startGesture( + tester.getCenter(find.byType(CustomScrollView)), + ); + // Overscroll + await gesture.moveBy(const Offset(0.0, -200.0)); + await tester.pumpAndSettle(); + expect(box1.localToGlobal(Offset.zero).dy, lessThan(350.0)); + expect(box2.localToGlobal(Offset.zero).dy, lessThan(100.0)); + expect(box3.localToGlobal(Offset.zero).dy, lessThan(-150.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.vertical.reverse.png'), + ); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Stretch overscroll works in reverse - horizontal', (WidgetTester tester) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Stretch overscroll works in reverse - horizontal', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget( - buildTest(box1Key, box2Key, box3Key, controller, axis: Axis.horizontal, reverse: true), - ); + await tester.pumpWidget( + buildTest(box1Key, box2Key, box3Key, controller, axis: Axis.horizontal, reverse: true), + ); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), const Offset(500.0, 0.0)); - expect(box2.localToGlobal(Offset.zero), const Offset(200.0, 0.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(-100.0, 0.0)); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), const Offset(500.0, 0.0)); + expect(box2.localToGlobal(Offset.zero), const Offset(200.0, 0.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(-100.0, 0.0)); - final TestGesture gesture = await tester.startGesture( - tester.getCenter(find.byType(CustomScrollView)), - ); - // Overscroll - await gesture.moveBy(const Offset(-200.0, 0.0)); - await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero).dx, lessThan(500.0)); - expect(box2.localToGlobal(Offset.zero).dx, lessThan(200.0)); - expect(box3.localToGlobal(Offset.zero).dx, lessThan(-100.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.reverse.png'), - ); - }); + final TestGesture gesture = await tester.startGesture( + tester.getCenter(find.byType(CustomScrollView)), + ); + // Overscroll + await gesture.moveBy(const Offset(-200.0, 0.0)); + await tester.pumpAndSettle(); + expect(box1.localToGlobal(Offset.zero).dx, lessThan(500.0)); + expect(box2.localToGlobal(Offset.zero).dx, lessThan(200.0)); + expect(box3.localToGlobal(Offset.zero).dx, lessThan(-100.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.reverse.png'), + ); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Stretch overscroll works in reverse - horizontal - RTL', ( - WidgetTester tester, - ) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Stretch overscroll works in reverse - horizontal - RTL', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget( - buildTest( - box1Key, - box2Key, - box3Key, - controller, - axis: Axis.horizontal, - reverse: true, - textDirection: TextDirection.rtl, - ), - ); + await tester.pumpWidget( + buildTest( + box1Key, + box2Key, + box3Key, + controller, + axis: Axis.horizontal, + reverse: true, + textDirection: TextDirection.rtl, + ), + ); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(300.0, 0.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(600.0, 0.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.reverse.rtl.start.png'), - ); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(300.0, 0.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(600.0, 0.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.reverse.rtl.start.png'), + ); - TestGesture gesture = await tester.startGesture( - tester.getCenter(find.byType(CustomScrollView)), - ); - // Overscroll the start - await gesture.moveBy(const Offset(200.0, 0.0)); - await tester.pumpAndSettle(); + TestGesture gesture = await tester.startGesture( + tester.getCenter(find.byType(CustomScrollView)), + ); + // Overscroll the start + await gesture.moveBy(const Offset(200.0, 0.0)); + await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero).dx, greaterThan(305.0)); - expect(box3.localToGlobal(Offset.zero).dx, greaterThan(610.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.reverse.rtl.start.stretched.png'), - ); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero).dx, greaterThan(305.0)); + expect(box3.localToGlobal(Offset.zero).dx, greaterThan(610.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.reverse.rtl.start.stretched.png'), + ); - await gesture.up(); - await tester.pumpAndSettle(); + await gesture.up(); + await tester.pumpAndSettle(); - // Stretch released back to the start - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(300.0, 0.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(600.0, 0.0)); + // Stretch released back to the start + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(300.0, 0.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(600.0, 0.0)); - // Jump to end of the list - controller.jumpTo(controller.position.maxScrollExtent); - await tester.pumpAndSettle(); - expect(controller.offset, 100.0); - expect(box1.localToGlobal(Offset.zero).dx, -100.0); - expect(box2.localToGlobal(Offset.zero).dx, 200.0); - expect(box3.localToGlobal(Offset.zero).dx, 500.0); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.reverse.rtl.end.png'), - ); + // Jump to end of the list + controller.jumpTo(controller.position.maxScrollExtent); + await tester.pumpAndSettle(); + expect(controller.offset, 100.0); + expect(box1.localToGlobal(Offset.zero).dx, -100.0); + expect(box2.localToGlobal(Offset.zero).dx, 200.0); + expect(box3.localToGlobal(Offset.zero).dx, 500.0); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.reverse.rtl.end.png'), + ); - gesture = await tester.startGesture(tester.getCenter(find.byType(CustomScrollView))); - // Overscroll the end - await gesture.moveBy(const Offset(-200.0, 0.0)); - await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero).dx, lessThan(-116.0)); - expect(box2.localToGlobal(Offset.zero).dx, lessThan(190.0)); - expect(box3.localToGlobal(Offset.zero).dx, lessThan(500.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.reverse.rtl.end.stretched.png'), - ); + gesture = await tester.startGesture(tester.getCenter(find.byType(CustomScrollView))); + // Overscroll the end + await gesture.moveBy(const Offset(-200.0, 0.0)); + await tester.pumpAndSettle(); + expect(box1.localToGlobal(Offset.zero).dx, lessThan(-116.0)); + expect(box2.localToGlobal(Offset.zero).dx, lessThan(190.0)); + expect(box3.localToGlobal(Offset.zero).dx, lessThan(500.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.reverse.rtl.end.stretched.png'), + ); - await gesture.up(); - await tester.pumpAndSettle(); + await gesture.up(); + await tester.pumpAndSettle(); - // Stretch released back - expect(box1.localToGlobal(Offset.zero).dx, -100.0); - expect(box2.localToGlobal(Offset.zero).dx, 200.0); - expect(box3.localToGlobal(Offset.zero).dx, 500.0); - }); + // Stretch released back + expect(box1.localToGlobal(Offset.zero).dx, -100.0); + expect(box2.localToGlobal(Offset.zero).dx, 200.0); + expect(box3.localToGlobal(Offset.zero).dx, 500.0); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Stretch overscroll horizontally', (WidgetTester tester) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Stretch overscroll horizontally', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget( - buildTest(box1Key, box2Key, box3Key, controller, axis: Axis.horizontal), - ); + await tester.pumpWidget( + buildTest(box1Key, box2Key, box3Key, controller, axis: Axis.horizontal), + ); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(300.0, 0.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(600.0, 0.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.start.png'), - ); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(300.0, 0.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(600.0, 0.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.start.png'), + ); - TestGesture gesture = await tester.startGesture( - tester.getCenter(find.byType(CustomScrollView)), - ); - // Overscroll the start - await gesture.moveBy(const Offset(200.0, 0.0)); - await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero).dx, greaterThan(305.0)); - expect(box3.localToGlobal(Offset.zero).dx, greaterThan(610.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.start.stretched.png'), - ); + TestGesture gesture = await tester.startGesture( + tester.getCenter(find.byType(CustomScrollView)), + ); + // Overscroll the start + await gesture.moveBy(const Offset(200.0, 0.0)); + await tester.pumpAndSettle(); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero).dx, greaterThan(305.0)); + expect(box3.localToGlobal(Offset.zero).dx, greaterThan(610.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.start.stretched.png'), + ); - await gesture.up(); - await tester.pumpAndSettle(); + await gesture.up(); + await tester.pumpAndSettle(); - // Stretch released back to the start - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(300.0, 0.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(600.0, 0.0)); + // Stretch released back to the start + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(300.0, 0.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(600.0, 0.0)); - // Jump to end of the list - controller.jumpTo(controller.position.maxScrollExtent); - await tester.pumpAndSettle(); - expect(controller.offset, 100.0); - expect(box1.localToGlobal(Offset.zero).dx, -100.0); - expect(box2.localToGlobal(Offset.zero).dx, 200.0); - expect(box3.localToGlobal(Offset.zero).dx, 500.0); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.end.png'), - ); + // Jump to end of the list + controller.jumpTo(controller.position.maxScrollExtent); + await tester.pumpAndSettle(); + expect(controller.offset, 100.0); + expect(box1.localToGlobal(Offset.zero).dx, -100.0); + expect(box2.localToGlobal(Offset.zero).dx, 200.0); + expect(box3.localToGlobal(Offset.zero).dx, 500.0); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.end.png'), + ); - gesture = await tester.startGesture(tester.getCenter(find.byType(CustomScrollView))); - // Overscroll the end - await gesture.moveBy(const Offset(-200.0, 0.0)); - await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero).dx, lessThan(-116.0)); - expect(box2.localToGlobal(Offset.zero).dx, lessThan(190.0)); - expect(box3.localToGlobal(Offset.zero).dx, lessThan(500.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.end.stretched.png'), - ); + gesture = await tester.startGesture(tester.getCenter(find.byType(CustomScrollView))); + // Overscroll the end + await gesture.moveBy(const Offset(-200.0, 0.0)); + await tester.pumpAndSettle(); + expect(box1.localToGlobal(Offset.zero).dx, lessThan(-116.0)); + expect(box2.localToGlobal(Offset.zero).dx, lessThan(190.0)); + expect(box3.localToGlobal(Offset.zero).dx, lessThan(500.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.end.stretched.png'), + ); - await gesture.up(); - await tester.pumpAndSettle(); + await gesture.up(); + await tester.pumpAndSettle(); - // Stretch released back - expect(box1.localToGlobal(Offset.zero).dx, -100.0); - expect(box2.localToGlobal(Offset.zero).dx, 200.0); - expect(box3.localToGlobal(Offset.zero).dx, 500.0); - }); + // Stretch released back + expect(box1.localToGlobal(Offset.zero).dx, -100.0); + expect(box2.localToGlobal(Offset.zero).dx, 200.0); + expect(box3.localToGlobal(Offset.zero).dx, 500.0); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Stretch overscroll horizontally RTL', (WidgetTester tester) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Stretch overscroll horizontally RTL', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget( - buildTest( - box1Key, - box2Key, - box3Key, - controller, - axis: Axis.horizontal, - textDirection: TextDirection.rtl, - ), - ); + await tester.pumpWidget( + buildTest( + box1Key, + box2Key, + box3Key, + controller, + axis: Axis.horizontal, + textDirection: TextDirection.rtl, + ), + ); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), const Offset(500.0, 0.0)); - expect(box2.localToGlobal(Offset.zero), const Offset(200.0, 0.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(-100.0, 0.0)); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), const Offset(500.0, 0.0)); + expect(box2.localToGlobal(Offset.zero), const Offset(200.0, 0.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(-100.0, 0.0)); - final TestGesture gesture = await tester.startGesture( - tester.getCenter(find.byType(CustomScrollView)), - ); - // Overscroll - await gesture.moveBy(const Offset(-200.0, 0.0)); - await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero).dx, lessThan(500.0)); - expect(box2.localToGlobal(Offset.zero).dx, lessThan(200.0)); - expect(box3.localToGlobal(Offset.zero).dx, lessThan(-100.0)); - await expectLater( - find.byType(CustomScrollView), - matchesGoldenFile('overscroll_stretch.horizontal.rtl.png'), - ); - }); + final TestGesture gesture = await tester.startGesture( + tester.getCenter(find.byType(CustomScrollView)), + ); + // Overscroll + await gesture.moveBy(const Offset(-200.0, 0.0)); + await tester.pumpAndSettle(); + expect(box1.localToGlobal(Offset.zero).dx, lessThan(500.0)); + expect(box2.localToGlobal(Offset.zero).dx, lessThan(200.0)); + expect(box3.localToGlobal(Offset.zero).dx, lessThan(-100.0)); + await expectLater( + find.byType(CustomScrollView), + matchesGoldenFile('overscroll_stretch.horizontal.rtl.png'), + ); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); testWidgets('Disallow stretching overscroll', (WidgetTester tester) async { final GlobalKey box1Key = GlobalKey(); @@ -733,373 +768,403 @@ void main() { await tester.pumpAndSettle(); }); - testWidgets('Stretch limit', (WidgetTester tester) async { - // Regression test for https://github.com/flutter/flutter/issues/99264 - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: MediaQuery( - data: const MediaQueryData(), - child: ScrollConfiguration( - behavior: const ScrollBehavior().copyWith(overscroll: false), - child: StretchingOverscrollIndicator( - axisDirection: AxisDirection.down, - child: SizedBox( - height: 300, - child: ListView.builder( - itemCount: 20, - itemBuilder: (BuildContext context, int index) { - return Padding( - padding: const EdgeInsets.all(10.0), - child: Text('Index $index'), - ); - }, + testWidgets( + 'Stretch limit', + (WidgetTester tester) async { + // Regression test for https://github.com/flutter/flutter/issues/99264 + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: MediaQuery( + data: const MediaQueryData(), + child: ScrollConfiguration( + behavior: const ScrollBehavior().copyWith(overscroll: false), + child: StretchingOverscrollIndicator( + axisDirection: AxisDirection.down, + child: SizedBox( + height: 300, + child: ListView.builder( + itemCount: 20, + itemBuilder: (BuildContext context, int index) { + return Padding( + padding: const EdgeInsets.all(10.0), + child: Text('Index $index'), + ); + }, + ), ), ), ), ), ), - ), - ); - const double maxStretchLocation = 52.63178407049861; - - expect(find.text('Index 1'), findsOneWidget); - expect(tester.getCenter(find.text('Index 1')).dy, 51.0); + ); + const double maxStretchLocation = 52.63178407049861; - TestGesture pointer = await tester.startGesture(tester.getCenter(find.text('Index 1'))); - // Overscroll beyond the limit (the viewport is 600.0). - await pointer.moveBy(const Offset(0.0, 610.0)); - await tester.pumpAndSettle(); - expect(find.text('Index 1'), findsOneWidget); - expect(tester.getCenter(find.text('Index 1')).dy, maxStretchLocation); + expect(find.text('Index 1'), findsOneWidget); + expect(tester.getCenter(find.text('Index 1')).dy, 51.0); - pointer = await tester.startGesture(tester.getCenter(find.text('Index 1'))); - // Overscroll way way beyond the limit - await pointer.moveBy(const Offset(0.0, 1000.0)); - await tester.pumpAndSettle(); - expect(find.text('Index 1'), findsOneWidget); - expect(tester.getCenter(find.text('Index 1')).dy, maxStretchLocation); + TestGesture pointer = await tester.startGesture(tester.getCenter(find.text('Index 1'))); + // Overscroll beyond the limit (the viewport is 600.0). + await pointer.moveBy(const Offset(0.0, 610.0)); + await tester.pumpAndSettle(); + expect(find.text('Index 1'), findsOneWidget); + expect(tester.getCenter(find.text('Index 1')).dy, maxStretchLocation); - await pointer.up(); - await tester.pumpAndSettle(); - }); + pointer = await tester.startGesture(tester.getCenter(find.text('Index 1'))); + // Overscroll way way beyond the limit + await pointer.moveBy(const Offset(0.0, 1000.0)); + await tester.pumpAndSettle(); + expect(find.text('Index 1'), findsOneWidget); + expect(tester.getCenter(find.text('Index 1')).dy, maxStretchLocation); - testWidgets('Multiple pointers will not exceed stretch limit', (WidgetTester tester) async { - // Regression test for https://github.com/flutter/flutter/issues/99264 - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: MediaQuery( - data: const MediaQueryData(), - child: ScrollConfiguration( - behavior: const ScrollBehavior().copyWith(overscroll: false), - child: StretchingOverscrollIndicator( - axisDirection: AxisDirection.down, - child: SizedBox( - height: 300, - child: ListView.builder( - itemCount: 20, - itemBuilder: (BuildContext context, int index) { - return Padding( - padding: const EdgeInsets.all(10.0), - child: Text('Index $index'), - ); - }, + await pointer.up(); + await tester.pumpAndSettle(); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); + + testWidgets( + 'Multiple pointers will not exceed stretch limit', + (WidgetTester tester) async { + // Regression test for https://github.com/flutter/flutter/issues/99264 + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: MediaQuery( + data: const MediaQueryData(), + child: ScrollConfiguration( + behavior: const ScrollBehavior().copyWith(overscroll: false), + child: StretchingOverscrollIndicator( + axisDirection: AxisDirection.down, + child: SizedBox( + height: 300, + child: ListView.builder( + itemCount: 20, + itemBuilder: (BuildContext context, int index) { + return Padding( + padding: const EdgeInsets.all(10.0), + child: Text('Index $index'), + ); + }, + ), ), ), ), ), ), - ), - ); - expect(find.text('Index 1'), findsOneWidget); - expect(tester.getCenter(find.text('Index 1')).dy, 51.0); + ); + expect(find.text('Index 1'), findsOneWidget); + expect(tester.getCenter(find.text('Index 1')).dy, 51.0); - final TestGesture pointer1 = await tester.startGesture(tester.getCenter(find.text('Index 1'))); - // Overscroll the start. - await pointer1.moveBy(const Offset(0.0, 210.0)); - await tester.pumpAndSettle(); - expect(find.text('Index 1'), findsOneWidget); - double lastStretchedLocation = tester.getCenter(find.text('Index 1')).dy; - expect(lastStretchedLocation, greaterThan(51.0)); + final TestGesture pointer1 = await tester.startGesture( + tester.getCenter(find.text('Index 1')), + ); + // Overscroll the start. + await pointer1.moveBy(const Offset(0.0, 210.0)); + await tester.pumpAndSettle(); + expect(find.text('Index 1'), findsOneWidget); + double lastStretchedLocation = tester.getCenter(find.text('Index 1')).dy; + expect(lastStretchedLocation, greaterThan(51.0)); - final TestGesture pointer2 = await tester.startGesture(tester.getCenter(find.text('Index 1'))); - // Add overscroll from an additional pointer - await pointer2.moveBy(const Offset(0.0, 210.0)); - await tester.pumpAndSettle(); - expect(find.text('Index 1'), findsOneWidget); - expect(tester.getCenter(find.text('Index 1')).dy, greaterThan(lastStretchedLocation)); - lastStretchedLocation = tester.getCenter(find.text('Index 1')).dy; + final TestGesture pointer2 = await tester.startGesture( + tester.getCenter(find.text('Index 1')), + ); + // Add overscroll from an additional pointer + await pointer2.moveBy(const Offset(0.0, 210.0)); + await tester.pumpAndSettle(); + expect(find.text('Index 1'), findsOneWidget); + expect(tester.getCenter(find.text('Index 1')).dy, greaterThan(lastStretchedLocation)); + lastStretchedLocation = tester.getCenter(find.text('Index 1')).dy; - final TestGesture pointer3 = await tester.startGesture(tester.getCenter(find.text('Index 1'))); - // Add overscroll from an additional pointer, exceeding the max stretch (600) - await pointer3.moveBy(const Offset(0.0, 210.0)); - await tester.pumpAndSettle(); - expect(find.text('Index 1'), findsOneWidget); - expect(tester.getCenter(find.text('Index 1')).dy, greaterThan(lastStretchedLocation)); - lastStretchedLocation = tester.getCenter(find.text('Index 1')).dy; + final TestGesture pointer3 = await tester.startGesture( + tester.getCenter(find.text('Index 1')), + ); + // Add overscroll from an additional pointer, exceeding the max stretch (600) + await pointer3.moveBy(const Offset(0.0, 210.0)); + await tester.pumpAndSettle(); + expect(find.text('Index 1'), findsOneWidget); + expect(tester.getCenter(find.text('Index 1')).dy, greaterThan(lastStretchedLocation)); + lastStretchedLocation = tester.getCenter(find.text('Index 1')).dy; - final TestGesture pointer4 = await tester.startGesture(tester.getCenter(find.text('Index 1'))); - // Since we have maxed out the overscroll, it should not have stretched - // further, regardless of the number of pointers. - await pointer4.moveBy(const Offset(0.0, 210.0)); - await tester.pumpAndSettle(); - expect(find.text('Index 1'), findsOneWidget); - expect(tester.getCenter(find.text('Index 1')).dy, lastStretchedLocation); + final TestGesture pointer4 = await tester.startGesture( + tester.getCenter(find.text('Index 1')), + ); + // Since we have maxed out the overscroll, it should not have stretched + // further, regardless of the number of pointers. + await pointer4.moveBy(const Offset(0.0, 210.0)); + await tester.pumpAndSettle(); + expect(find.text('Index 1'), findsOneWidget); + expect(tester.getCenter(find.text('Index 1')).dy, lastStretchedLocation); - await pointer1.up(); - await pointer2.up(); - await pointer3.up(); - await pointer4.up(); - await tester.pumpAndSettle(); - }); + await pointer1.up(); + await pointer2.up(); + await pointer3.up(); + await pointer4.up(); + await tester.pumpAndSettle(); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Stretch overscroll vertically, change direction mid scroll', ( - WidgetTester tester, - ) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Stretch overscroll vertically, change direction mid scroll', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget( - buildTest( - box1Key, - box2Key, - box3Key, - controller, - // Setting the `boxHeight` to 100.0 will make the boxes fit in the - // scrollable viewport. - boxHeight: 100, - // To make the scroll view in the test still scrollable, we need to add - // the `AlwaysScrollableScrollPhysics`. - physics: const AlwaysScrollableScrollPhysics(), - ), - ); + await tester.pumpWidget( + buildTest( + box1Key, + box2Key, + box3Key, + controller, + // Setting the `boxHeight` to 100.0 will make the boxes fit in the + // scrollable viewport. + boxHeight: 100, + // To make the scroll view in the test still scrollable, we need to add + // the `AlwaysScrollableScrollPhysics`. + physics: const AlwaysScrollableScrollPhysics(), + ), + ); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 100.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 200.0)); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 100.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 200.0)); - final TestGesture gesture = await tester.startGesture( - tester.getCenter(find.byType(CustomScrollView)), - ); - // Overscroll the start - await gesture.moveBy(const Offset(0.0, 600.0)); - await tester.pumpAndSettle(); + final TestGesture gesture = await tester.startGesture( + tester.getCenter(find.byType(CustomScrollView)), + ); + // Overscroll the start + await gesture.moveBy(const Offset(0.0, 600.0)); + await tester.pumpAndSettle(); - // The boxes should now be at different locations because of the scaling. - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero).dy, greaterThan(103.0)); - expect(box3.localToGlobal(Offset.zero).dy, greaterThan(206.0)); + // The boxes should now be at different locations because of the scaling. + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero).dy, greaterThan(103.0)); + expect(box3.localToGlobal(Offset.zero).dy, greaterThan(206.0)); - // Move the pointer up a miniscule amount to trigger a directional change. - await gesture.moveBy(const Offset(0.0, -20.0)); - await tester.pumpAndSettle(); + // Move the pointer up a miniscule amount to trigger a directional change. + await gesture.moveBy(const Offset(0.0, -20.0)); + await tester.pumpAndSettle(); - // The boxes should remain roughly at the same locations, since the pointer - // didn't move far. - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero).dy, greaterThan(103.0)); - expect(box3.localToGlobal(Offset.zero).dy, greaterThan(206.0)); + // The boxes should remain roughly at the same locations, since the pointer + // didn't move far. + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero).dy, greaterThan(103.0)); + expect(box3.localToGlobal(Offset.zero).dy, greaterThan(206.0)); - // Now make the pointer overscroll to the end - await gesture.moveBy(const Offset(0.0, -1200.0)); - await tester.pumpAndSettle(); + // Now make the pointer overscroll to the end + await gesture.moveBy(const Offset(0.0, -1200.0)); + await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero).dy, lessThan(-19.0)); - expect(box2.localToGlobal(Offset.zero).dy, lessThan(85.0)); - expect(box3.localToGlobal(Offset.zero).dy, lessThan(188.0)); + expect(box1.localToGlobal(Offset.zero).dy, lessThan(-19.0)); + expect(box2.localToGlobal(Offset.zero).dy, lessThan(85.0)); + expect(box3.localToGlobal(Offset.zero).dy, lessThan(188.0)); - // Release the pointer - await gesture.up(); - await tester.pumpAndSettle(); + // Release the pointer + await gesture.up(); + await tester.pumpAndSettle(); - // Now the boxes should be back to their original locations. - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 100.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 200.0)); - }); + // Now the boxes should be back to their original locations. + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 100.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 200.0)); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Stretch overscroll horizontally, change direction mid scroll', ( - WidgetTester tester, - ) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Stretch overscroll horizontally, change direction mid scroll', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget( - buildTest( - box1Key, - box2Key, - box3Key, - controller, - // Setting the `boxWidth` to 100.0 will make the boxes fit in the - // scrollable viewport. - boxWidth: 100, - // To make the scroll view in the test still scrollable, we need to add - // the `AlwaysScrollableScrollPhysics`. - physics: const AlwaysScrollableScrollPhysics(), - axis: Axis.horizontal, - ), - ); + await tester.pumpWidget( + buildTest( + box1Key, + box2Key, + box3Key, + controller, + // Setting the `boxWidth` to 100.0 will make the boxes fit in the + // scrollable viewport. + boxWidth: 100, + // To make the scroll view in the test still scrollable, we need to add + // the `AlwaysScrollableScrollPhysics`. + physics: const AlwaysScrollableScrollPhysics(), + axis: Axis.horizontal, + ), + ); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(100.0, 0.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(200.0, 0.0)); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(100.0, 0.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(200.0, 0.0)); - final TestGesture gesture = await tester.startGesture( - tester.getCenter(find.byType(CustomScrollView)), - ); - // Overscroll the start - await gesture.moveBy(const Offset(600.0, 0.0)); - await tester.pumpAndSettle(); + final TestGesture gesture = await tester.startGesture( + tester.getCenter(find.byType(CustomScrollView)), + ); + // Overscroll the start + await gesture.moveBy(const Offset(600.0, 0.0)); + await tester.pumpAndSettle(); - // The boxes should now be at different locations because of the scaling. - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero).dx, greaterThan(102.0)); - expect(box3.localToGlobal(Offset.zero).dx, greaterThan(205.0)); + // The boxes should now be at different locations because of the scaling. + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero).dx, greaterThan(102.0)); + expect(box3.localToGlobal(Offset.zero).dx, greaterThan(205.0)); - // Move the pointer up a miniscule amount to trigger a directional change. - await gesture.moveBy(const Offset(-20.0, 0.0)); - await tester.pumpAndSettle(); + // Move the pointer up a miniscule amount to trigger a directional change. + await gesture.moveBy(const Offset(-20.0, 0.0)); + await tester.pumpAndSettle(); - // The boxes should remain roughly at the same locations, since the pointer - // didn't move far. - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero).dx, greaterThan(102.0)); - expect(box3.localToGlobal(Offset.zero).dx, greaterThan(205.0)); + // The boxes should remain roughly at the same locations, since the pointer + // didn't move far. + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero).dx, greaterThan(102.0)); + expect(box3.localToGlobal(Offset.zero).dx, greaterThan(205.0)); - // Now make the pointer overscroll to the end - await gesture.moveBy(const Offset(-1200.0, 0.0)); - await tester.pumpAndSettle(); + // Now make the pointer overscroll to the end + await gesture.moveBy(const Offset(-1200.0, 0.0)); + await tester.pumpAndSettle(); - expect(box1.localToGlobal(Offset.zero).dx, lessThan(-19.0)); - expect(box2.localToGlobal(Offset.zero).dx, lessThan(85.0)); - expect(box3.localToGlobal(Offset.zero).dx, lessThan(188.0)); + expect(box1.localToGlobal(Offset.zero).dx, lessThan(-19.0)); + expect(box2.localToGlobal(Offset.zero).dx, lessThan(85.0)); + expect(box3.localToGlobal(Offset.zero).dx, lessThan(188.0)); - // Release the pointer - await gesture.up(); - await tester.pumpAndSettle(); + // Release the pointer + await gesture.up(); + await tester.pumpAndSettle(); - // Now the boxes should be back to their original locations. - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(100.0, 0.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(200.0, 0.0)); - }); + // Now the boxes should be back to their original locations. + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(100.0, 0.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(200.0, 0.0)); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Fling toward the trailing edge causes stretch toward the leading edge', ( - WidgetTester tester, - ) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Fling toward the trailing edge causes stretch toward the leading edge', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget(buildTest(box1Key, box2Key, box3Key, controller)); + await tester.pumpWidget(buildTest(box1Key, box2Key, box3Key, controller)); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 500.0)); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 500.0)); - await tester.fling(find.byType(CustomScrollView), const Offset(0.0, -50.0), 10000.0); - await tester.pump(const Duration(milliseconds: 100)); - await tester.pump(const Duration(milliseconds: 100)); - await tester.pump(const Duration(milliseconds: 100)); + await tester.fling(find.byType(CustomScrollView), const Offset(0.0, -50.0), 10000.0); + await tester.pump(const Duration(milliseconds: 100)); + await tester.pump(const Duration(milliseconds: 100)); + await tester.pump(const Duration(milliseconds: 100)); - // The boxes should now be at different locations because of the scaling. - expect(controller.offset, 150.0); - expect(box1.localToGlobal(Offset.zero).dy, lessThan(-160.0)); - expect(box2.localToGlobal(Offset.zero).dy, lessThan(93.0)); - expect(box3.localToGlobal(Offset.zero).dy, lessThan(347.0)); + // The boxes should now be at different locations because of the scaling. + expect(controller.offset, 150.0); + expect(box1.localToGlobal(Offset.zero).dy, lessThan(-160.0)); + expect(box2.localToGlobal(Offset.zero).dy, lessThan(93.0)); + expect(box3.localToGlobal(Offset.zero).dy, lessThan(347.0)); - await tester.pumpAndSettle(); + await tester.pumpAndSettle(); - // The boxes should now be at their final position. - expect(controller.offset, 150.0); - expect(box1.localToGlobal(Offset.zero).dy, -150.0); - expect(box2.localToGlobal(Offset.zero).dy, 100.0); - expect(box3.localToGlobal(Offset.zero).dy, 350.0); - }); + // The boxes should now be at their final position. + expect(controller.offset, 150.0); + expect(box1.localToGlobal(Offset.zero).dy, -150.0); + expect(box2.localToGlobal(Offset.zero).dy, 100.0); + expect(box3.localToGlobal(Offset.zero).dy, 350.0); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); - testWidgets('Fling toward the leading edge causes stretch toward the trailing edge', ( - WidgetTester tester, - ) async { - final GlobalKey box1Key = GlobalKey(); - final GlobalKey box2Key = GlobalKey(); - final GlobalKey box3Key = GlobalKey(); - final ScrollController controller = ScrollController(); - addTearDown(controller.dispose); + testWidgets( + 'Fling toward the leading edge causes stretch toward the trailing edge', + (WidgetTester tester) async { + final GlobalKey box1Key = GlobalKey(); + final GlobalKey box2Key = GlobalKey(); + final GlobalKey box3Key = GlobalKey(); + final ScrollController controller = ScrollController(); + addTearDown(controller.dispose); - await tester.pumpWidget(buildTest(box1Key, box2Key, box3Key, controller)); + await tester.pumpWidget(buildTest(box1Key, box2Key, box3Key, controller)); - expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); - expect(find.byType(GlowingOverscrollIndicator), findsNothing); - final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); - final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); - final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); + expect(find.byType(StretchingOverscrollIndicator), findsOneWidget); + expect(find.byType(GlowingOverscrollIndicator), findsNothing); + final RenderBox box1 = tester.renderObject(find.byKey(box1Key)); + final RenderBox box2 = tester.renderObject(find.byKey(box2Key)); + final RenderBox box3 = tester.renderObject(find.byKey(box3Key)); - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero), Offset.zero); - expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); - expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 500.0)); + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero), Offset.zero); + expect(box2.localToGlobal(Offset.zero), const Offset(0.0, 250.0)); + expect(box3.localToGlobal(Offset.zero), const Offset(0.0, 500.0)); - // We fling to the trailing edge and let it settle. - await tester.fling(find.byType(CustomScrollView), const Offset(0.0, -50.0), 10000.0); - await tester.pumpAndSettle(); + // We fling to the trailing edge and let it settle. + await tester.fling(find.byType(CustomScrollView), const Offset(0.0, -50.0), 10000.0); + await tester.pumpAndSettle(); - // We are now at the trailing edge - expect(controller.offset, 150.0); - expect(box1.localToGlobal(Offset.zero).dy, -150.0); - expect(box2.localToGlobal(Offset.zero).dy, 100.0); - expect(box3.localToGlobal(Offset.zero).dy, 350.0); + // We are now at the trailing edge + expect(controller.offset, 150.0); + expect(box1.localToGlobal(Offset.zero).dy, -150.0); + expect(box2.localToGlobal(Offset.zero).dy, 100.0); + expect(box3.localToGlobal(Offset.zero).dy, 350.0); - // Now fling to the leading edge - await tester.fling(find.byType(CustomScrollView), const Offset(0.0, 50.0), 10000.0); - await tester.pump(const Duration(milliseconds: 100)); - await tester.pump(const Duration(milliseconds: 100)); - await tester.pump(const Duration(milliseconds: 100)); - await tester.pump(const Duration(milliseconds: 100)); + // Now fling to the leading edge + await tester.fling(find.byType(CustomScrollView), const Offset(0.0, 50.0), 10000.0); + await tester.pump(const Duration(milliseconds: 100)); + await tester.pump(const Duration(milliseconds: 100)); + await tester.pump(const Duration(milliseconds: 100)); + await tester.pump(const Duration(milliseconds: 100)); - // The boxes should now be at different locations because of the scaling. - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero).dy, 0.0); - expect(box2.localToGlobal(Offset.zero).dy, greaterThan(254.0)); - expect(box3.localToGlobal(Offset.zero).dy, greaterThan(508.0)); + // The boxes should now be at different locations because of the scaling. + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero).dy, 0.0); + expect(box2.localToGlobal(Offset.zero).dy, greaterThan(254.0)); + expect(box3.localToGlobal(Offset.zero).dy, greaterThan(508.0)); - await tester.pumpAndSettle(); + await tester.pumpAndSettle(); - // The boxes should now be at their final position. - expect(controller.offset, 0.0); - expect(box1.localToGlobal(Offset.zero).dy, 0.0); - expect(box2.localToGlobal(Offset.zero).dy, 250.0); - expect(box3.localToGlobal(Offset.zero).dy, 500.0); - }); + // The boxes should now be at their final position. + expect(controller.offset, 0.0); + expect(box1.localToGlobal(Offset.zero).dy, 0.0); + expect(box2.localToGlobal(Offset.zero).dy, 250.0); + expect(box3.localToGlobal(Offset.zero).dy, 500.0); + }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, + ); testWidgets( 'changing scroll direction during recede animation will not change the stretch direction', @@ -1166,6 +1231,8 @@ void main() { await gesture.up(); }, + // Skips this test when fragment shaders are used. + skip: shaderSupported, ); testWidgets('Stretch overscroll only uses image filter during stretch effect', ( @@ -1233,7 +1300,7 @@ void main() { // We fling to the trailing edge and let it settle. await tester.fling(find.byType(CustomScrollView), const Offset(0.0, -50.0), 10000.0); - await tester.pumpAndSettle(); + await tester.pumpAndSettle(const Duration(milliseconds: 300)); // We are now at the trailing edge expect(overscrollNotification.velocity, lessThan(25)); diff --git a/packages/flutter/test/widgets/page_transitions_builder_test.dart b/packages/flutter/test/widgets/page_transitions_builder_test.dart new file mode 100644 index 0000000000000..775f49093d070 --- /dev/null +++ b/packages/flutter/test/widgets/page_transitions_builder_test.dart @@ -0,0 +1,246 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + testWidgets('PageTransitionsBuilder buildTransitions method is called correctly', ( + WidgetTester tester, + ) async { + bool buildTransitionsCalled = false; + PageRoute? capturedRoute; + BuildContext? capturedContext; + Animation? capturedAnimation; + Animation? capturedSecondaryAnimation; + Widget? capturedChild; + + final _TestPageTransitionsBuilder builderWithCapture = _TestPageTransitionsBuilder( + onBuildTransitions: + ( + PageRoute route, + BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child, + ) { + buildTransitionsCalled = true; + capturedRoute = route; + capturedContext = context; + capturedAnimation = animation; + capturedSecondaryAnimation = secondaryAnimation; + capturedChild = child; + + return SlideTransition( + position: Tween( + begin: const Offset(1.0, 0.0), + end: Offset.zero, + ).animate(animation), + child: child, + ); + }, + ); + + final Map routes = { + '/': (BuildContext context) => Material( + child: TextButton( + child: const Text('push'), + onPressed: () { + Navigator.of(context).pushNamed('/test'); + }, + ), + ), + '/test': (BuildContext context) => const Material(child: Text('test page')), + }; + + await tester.pumpWidget( + MaterialApp( + theme: ThemeData( + pageTransitionsTheme: PageTransitionsTheme( + builders: { + TargetPlatform.android: builderWithCapture, + }, + ), + ), + routes: routes, + ), + ); + + // Trigger navigation + await tester.tap(find.text('push')); + await tester.pump(); + + // Verify buildTransitions was called with correct parameters + expect(buildTransitionsCalled, isTrue); + expect(capturedRoute, isNotNull); + expect(capturedContext, isNotNull); + expect(capturedAnimation, isNotNull); + expect(capturedSecondaryAnimation, isNotNull); + expect(capturedChild, isNotNull); + expect(capturedRoute!.settings.name, '/'); + }); + + testWidgets('PageTransitionsBuilder works with custom Navigator and PageRoute', ( + WidgetTester tester, + ) async { + final _TestPageTransitionsBuilder customTransitionsBuilder = _TestPageTransitionsBuilder( + onBuildTransitions: + ( + PageRoute route, + BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child, + ) { + return FadeTransition( + opacity: animation, + child: ScaleTransition( + scale: animation.drive( + Tween(begin: 0.5, end: 1.0).chain(CurveTween(curve: Curves.easeInOut)), + ), + child: child, + ), + ); + }, + ); + + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: Navigator( + onGenerateRoute: (RouteSettings settings) { + return _CustomPageRoute( + settings: settings, + transitionsBuilder: customTransitionsBuilder, + builder: (BuildContext context) { + if (settings.name == '/') { + return Center( + child: GestureDetector( + onTap: () { + Navigator.of(context).pushNamed('/second'); + }, + child: Container( + width: 200, + height: 50, + color: const Color(0xFF2196F3), + child: const Center( + child: Text('Navigate', style: TextStyle(color: Color(0xFFFFFFFF))), + ), + ), + ), + ); + } + return const ColoredBox( + color: Color(0xFF4CAF50), + child: Center( + child: Text( + 'Second Page', + style: TextStyle(color: Color(0xFFFFFFFF), fontSize: 24), + ), + ), + ); + }, + ); + }, + ), + ), + ); + + expect(find.text('Navigate'), findsOneWidget); + expect(find.text('Second Page'), findsNothing); + + await tester.tap(find.text('Navigate')); + await tester.pump(); + + expect(find.text('Navigate'), findsOneWidget); + expect(find.text('Second Page'), findsOneWidget); + + await tester.pump(const Duration(milliseconds: 50)); + + final FadeTransition fadeTransition = tester.widget( + find.byType(FadeTransition).first, + ); + expect(fadeTransition.opacity.value, greaterThan(0.0)); + expect(fadeTransition.opacity.value, lessThanOrEqualTo(1.0)); + + final ScaleTransition scaleTransition = tester.widget( + find.byType(ScaleTransition).first, + ); + expect(scaleTransition.scale.value, greaterThanOrEqualTo(0.5)); + expect(scaleTransition.scale.value, lessThanOrEqualTo(1.0)); + + await tester.pumpAndSettle(); + + expect(find.text('Navigate'), findsNothing); + expect(find.text('Second Page'), findsOneWidget); + }); +} + +class _CustomPageRoute extends PageRoute { + _CustomPageRoute({required this.builder, required this.transitionsBuilder, super.settings}); + + final WidgetBuilder builder; + final PageTransitionsBuilder transitionsBuilder; + + @override + Duration get transitionDuration => const Duration(milliseconds: 300); + + @override + bool get maintainState => true; + + @override + Color? get barrierColor => null; + + @override + String? get barrierLabel => null; + + @override + Widget buildPage( + BuildContext context, + Animation animation, + Animation secondaryAnimation, + ) { + return builder(context); + } + + @override + Widget buildTransitions( + BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child, + ) { + return transitionsBuilder.buildTransitions( + this, + context, + animation, + secondaryAnimation, + child, + ); + } +} + +class _TestPageTransitionsBuilder extends PageTransitionsBuilder { + const _TestPageTransitionsBuilder({required this.onBuildTransitions}); + + final Widget Function( + PageRoute route, + BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child, + ) + onBuildTransitions; + + @override + Widget buildTransitions( + PageRoute route, + BuildContext context, + Animation animation, + Animation secondaryAnimation, + Widget child, + ) { + return onBuildTransitions(route, context, animation, secondaryAnimation, child); + } +} diff --git a/packages/flutter/test/widgets/page_view_test.dart b/packages/flutter/test/widgets/page_view_test.dart index 92aa4509efb6b..3d127de0b4243 100644 --- a/packages/flutter/test/widgets/page_view_test.dart +++ b/packages/flutter/test/widgets/page_view_test.dart @@ -2,6 +2,11 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// This file is run as part of a reduced test set in CI on Mac and Windows +// machines. +@Tags(['reduced-test-set']) +library; + import 'package:flutter/foundation.dart'; import 'package:flutter/gestures.dart' show DragStartBehavior; import 'package:flutter/material.dart'; @@ -1264,19 +1269,10 @@ void main() { controller.animateToPage(2, duration: const Duration(milliseconds: 300), curve: Curves.ease); await tester.pumpAndSettle(); - final Finder transformFinder = find.descendant( - of: find.byType(PageView), - matching: find.byType(Transform), - ); - expect(transformFinder, findsOneWidget); - - // Get the Transform widget that stretches the PageView. - final Transform transform = tester.firstWidget( - find.descendant(of: find.byType(PageView), matching: find.byType(Transform)), + await expectLater( + find.byType(PageView), + matchesGoldenFile('page_view_no_stretch_precision_error.png'), ); - - // Check the stretch factor in the first element of the transform matrix. - expect(transform.transform.storage.first, 1.0); }); testWidgets('PageController onAttach, onDetach', (WidgetTester tester) async { diff --git a/packages/flutter/test/widgets/radio_group_test.dart b/packages/flutter/test/widgets/radio_group_test.dart index f5c00c7eae9b0..e34c97e189358 100644 --- a/packages/flutter/test/widgets/radio_group_test.dart +++ b/packages/flutter/test/widgets/radio_group_test.dart @@ -244,6 +244,89 @@ void main() { expect(radio1.hasFocus, isTrue); expect(textFieldAfter.hasFocus, isFalse); }); + + // Regression test for https://github.com/flutter/flutter/issues/175258. + testWidgets('Radio group throws on multiple selection', (WidgetTester tester) async { + final UniqueKey key1 = UniqueKey(); + await tester.pumpWidget( + MaterialApp( + home: Material( + child: TestRadioGroup( + child: Column( + children: [ + const Radio(value: 0), + Radio(key: key1, value: 1), + const Radio(value: 1), + const Radio(value: 2), + ], + ), + ), + ), + ), + ); + + expect(tester.takeException(), isNull); + + await tester.tap(find.byKey(key1)); + await tester.pump(); + + expect( + tester.takeException(), + isA().having( + (FlutterError e) => e.message, + 'message', + "RadioGroupPolicy can't be used for a radio group that allows multiple selection.", + ), + ); + }); + + // Regression test for https://github.com/flutter/flutter/issues/175258. + testWidgets('Radio group does not throw when number of children decreases', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + MaterialApp( + home: Material( + child: RadioGroup( + onChanged: (_) {}, + groupValue: 4, + child: const Column( + children: [ + Radio(value: 0), + Radio(value: 1), + Radio(value: 2), + Radio(value: 3), + Radio(value: 4), + ], + ), + ), + ), + ), + ); + + expect(tester.takeException(), isNull); + + await tester.pumpWidget( + MaterialApp( + home: Material( + child: RadioGroup( + onChanged: (_) {}, + groupValue: 4, + child: const Column( + children: [ + Radio(value: 1), + Radio(value: 2), + Radio(value: 3), + Radio(value: 4), + ], + ), + ), + ), + ), + ); + + expect(tester.takeException(), isNull); + }); } class TestRadioGroup extends StatefulWidget { diff --git a/packages/flutter/test/widgets/raw_menu_anchor_test.dart b/packages/flutter/test/widgets/raw_menu_anchor_test.dart index 693abfb4e7552..88d157fe32dae 100644 --- a/packages/flutter/test/widgets/raw_menu_anchor_test.dart +++ b/packages/flutter/test/widgets/raw_menu_anchor_test.dart @@ -2872,6 +2872,55 @@ void main() { expect(onCloseRequestedCalled, equals(1)); }); }); + + testWidgets('MenuController can be overridden after removing final modifier', ( + WidgetTester tester, + ) async { + final CustomMenuController customController = CustomMenuController(); + + await tester.pumpWidget( + App( + Menu( + controller: customController, + menuPanel: Panel(children: [Text(Tag.a.text)]), + child: const AnchorButton(Tag.anchor), + ), + ), + ); + + customController.open(); + await tester.pump(); + + expect(customController.isOpen, isTrue); + expect(customController.openCallCount, equals(1)); + expect(find.text(Tag.a.text), findsOneWidget); + + customController.close(); + await tester.pump(); + + expect(customController.isOpen, isFalse); + expect(customController.closeCallCount, equals(1)); + expect(find.text(Tag.a.text), findsNothing); + }); +} + +// Custom MenuController that extends the base MenuController +// This verifies that the final modifier has been removed +class CustomMenuController extends MenuController { + int openCallCount = 0; + int closeCallCount = 0; + + @override + void open({Offset? position}) { + openCallCount++; + super.open(position: position); + } + + @override + void close() { + closeCallCount++; + super.close(); + } } // ********* UTILITIES ********* // diff --git a/packages/flutter/test/widgets/scrollbar_test.dart b/packages/flutter/test/widgets/scrollbar_test.dart index 67824cf207bce..f0c1249c711b6 100644 --- a/packages/flutter/test/widgets/scrollbar_test.dart +++ b/packages/flutter/test/widgets/scrollbar_test.dart @@ -3635,4 +3635,79 @@ The provided ScrollController cannot be shared by multiple ScrollView widgets.'' expect(size.height - rtlRect1.bottom, 4); expect(rtlRect1.left, 3); }); + + testWidgets( + 'RawScrollbar does not assert when dynamically assigning controller with thumbVisibility true', + (WidgetTester tester) async { + // This test reproduces the issue from https://github.com/flutter/flutter/issues/172614 + // where dynamically assigning a controller and setting thumbVisibility to true + // in the same frame caused an assertion failure. + + final ScrollController scrollController = ScrollController(); + addTearDown(scrollController.dispose); + + bool useController = false; + bool thumbVisible = false; + bool interactive = false; + + await tester.pumpWidget( + StatefulBuilder( + builder: (BuildContext context, StateSetter setState) { + return Directionality( + textDirection: TextDirection.ltr, + child: MediaQuery( + data: const MediaQueryData(), + child: Column( + children: [ + ElevatedButton( + onPressed: () { + setState(() { + // This reproduces the exact scenario from the linked issue: + // Initially the controller is null, thumbVisibility is false, and interactive is false. + // Then, in the next frame, the controller is non-null, thumbVisibility is true, and interactive is true. + useController = true; + thumbVisible = true; + interactive = true; + }); + }, + child: const Text('Enable Scrollbar'), + ), + Expanded( + child: RawScrollbar( + controller: useController ? scrollController : null, + thumbVisibility: thumbVisible, + interactive: interactive, + child: SingleChildScrollView( + controller: useController ? scrollController : null, + child: const SizedBox(height: 2000.0, width: 100.0), + ), + ), + ), + ], + ), + ), + ); + }, + ), + ); + + await tester.pumpAndSettle(); + expect(find.byType(RawScrollbar), findsOneWidget); + + await tester.tap(find.text('Enable Scrollbar')); + await tester.pumpAndSettle(); + + // Verify scrollbar is now working properly and doesn't throw an assertion. + final Finder scrollbarFinder = find.byType(RawScrollbar); + expect(scrollbarFinder, findsOneWidget); + expect(scrollController.offset, 0.0); + + // Test that scrolling works without assertions. + await tester.drag(find.byType(SingleChildScrollView), const Offset(0.0, -100.0)); + await tester.pumpAndSettle(); + + // Verify the scroll happened. + expect(scrollController.offset, greaterThan(0.0)); + }, + ); } diff --git a/packages/flutter/test/widgets/semantics_merge_test.dart b/packages/flutter/test/widgets/semantics_merge_test.dart index a3b68e6b8ee4b..4ec6d400f7f52 100644 --- a/packages/flutter/test/widgets/semantics_merge_test.dart +++ b/packages/flutter/test/widgets/semantics_merge_test.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; -import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'semantics_tester.dart'; @@ -141,4 +140,55 @@ void main() { semantics.dispose(); }); + + testWidgets('LinkUri from child is passed up to the parent when merging nodes', ( + WidgetTester tester, + ) async { + final SemanticsTester semantics = SemanticsTester(tester); + final Uri uri = Uri.parse('https://flutter.com'); + const String label = 'test1'; + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: MergeSemantics( + child: Semantics( + linkUrl: uri, + link: true, + child: ElevatedButton( + onPressed: () {}, + child: const Text(label), + onFocusChange: (bool value) {}, + ), + ), + ), + ), + ); + + expect( + semantics, + hasSemantics( + TestSemantics.root( + children: [ + TestSemantics.rootChild( + id: 1, + linkUrl: uri, + flags: [ + SemanticsFlag.isButton, + SemanticsFlag.hasEnabledState, + SemanticsFlag.isEnabled, + SemanticsFlag.isFocusable, + SemanticsFlag.isLink, + ], + actions: [SemanticsAction.tap, SemanticsAction.focus], + label: label, + ), + ], + ), + ignoreRect: true, + ignoreTransform: true, + ), + ); + + semantics.dispose(); + }); } diff --git a/packages/flutter/test/widgets/sliver_cross_axis_group_test.dart b/packages/flutter/test/widgets/sliver_cross_axis_group_test.dart index 9108af441acbf..e765b4991355e 100644 --- a/packages/flutter/test/widgets/sliver_cross_axis_group_test.dart +++ b/packages/flutter/test/widgets/sliver_cross_axis_group_test.dart @@ -1054,6 +1054,102 @@ void main() { expect(controller.offset, 400); expect(counter, equals(2)); }); + + // Regression test for https://github.com/flutter/flutter/issues/174262. + testWidgets('SliverCrossAxisGroup pointer event positions', (WidgetTester tester) async { + final List<({int index, TapDownDetails details})> tapDownLog = + <({int index, TapDownDetails details})>[]; + + Widget buildItem(int index) { + return SliverToBoxAdapter( + child: GestureDetector( + behavior: HitTestBehavior.opaque, + onTapDown: (TapDownDetails details) => tapDownLog.add((index: index, details: details)), + child: const SizedBox.square(dimension: 20), + ), + ); + } + + Future checkTapDown({ + required Offset tapAt, + required int expectedIndex, + required Offset expectedLocalPosition, + }) async { + await tester.tapAt(tapAt); + expect(tapDownLog.last.index, expectedIndex); + expect(tapDownLog.last.details.localPosition, expectedLocalPosition); + expect(tapDownLog.last.details.globalPosition, tapAt); + } + + // Vertical axis. + await tester.pumpWidget( + KeyedSubtree( + key: const ObjectKey(Axis.vertical), + child: _buildSliverCrossAxisGroup( + viewportWidth: 40, + viewportHeight: 20, + slivers: [buildItem(0), buildItem(1)], + ), + ), + ); + + await checkTapDown( + tapAt: const Offset(5, 15), + expectedIndex: 0, + expectedLocalPosition: const Offset(5, 15), + ); + await checkTapDown( + tapAt: const Offset(15, 15), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 15), + ); + await checkTapDown( + tapAt: const Offset(25, 15), + expectedIndex: 1, + expectedLocalPosition: const Offset(5, 15), + ); + await checkTapDown( + tapAt: const Offset(35, 15), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 15), + ); + + tapDownLog.clear(); + + // Horizontal axis. + await tester.pumpWidget( + KeyedSubtree( + key: const ObjectKey(Axis.horizontal), + child: _buildSliverCrossAxisGroup( + viewportWidth: 20, + viewportHeight: 40, + scrollDirection: Axis.horizontal, + slivers: [buildItem(0), buildItem(1)], + ), + ), + ); + + await checkTapDown( + tapAt: const Offset(15, 5), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 5), + ); + await checkTapDown( + tapAt: const Offset(15, 15), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 15), + ); + await checkTapDown( + tapAt: const Offset(15, 25), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 5), + ); + await checkTapDown( + tapAt: const Offset(15, 35), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 15), + ); + }); } Widget _buildSliverList({ diff --git a/packages/flutter/test/widgets/sliver_list_test.dart b/packages/flutter/test/widgets/sliver_list_test.dart index b86624ed2e409..ef52933207992 100644 --- a/packages/flutter/test/widgets/sliver_list_test.dart +++ b/packages/flutter/test/widgets/sliver_list_test.dart @@ -363,6 +363,24 @@ void main() { expect(find.byKey(const Key('key1')), findsOneWidget); }, ); + + testWidgets('SliverList.builder respects semanticIndexOffset', (WidgetTester tester) async { + await tester.pumpWidget(_buildSliverListBuilder(semanticIndexOffset: 5)); + + IndexedSemantics semanticsForTile(int i) { + return tester.widget( + find.ancestor(of: find.text('Tile $i'), matching: find.byType(IndexedSemantics)).first, + ); + } + + final IndexedSemantics s0 = semanticsForTile(0); + final IndexedSemantics s1 = semanticsForTile(1); + final IndexedSemantics s2 = semanticsForTile(2); + + expect(s0.index, 5); + expect(s1.index, 6); + expect(s2.index, 7); + }); } Widget _buildSliverListRenderWidgetChild(List items, ScrollController controller) { @@ -426,3 +444,32 @@ Widget _buildSliverList({ ), ); } + +Widget _buildSliverListBuilder({ + ScrollController? controller, + int itemCount = 3, + int semanticIndexOffset = 0, + double itemHeight = 50.0, + double viewportHeight = 200.0, +}) { + return Directionality( + textDirection: TextDirection.ltr, + child: Center( + child: SizedBox( + height: viewportHeight, + child: CustomScrollView( + controller: controller, + slivers: [ + SliverList.builder( + itemCount: itemCount, + semanticIndexOffset: semanticIndexOffset, + itemBuilder: (BuildContext context, int index) { + return SizedBox(height: itemHeight, child: Text('Tile $index')); + }, + ), + ], + ), + ), + ), + ); +} diff --git a/packages/flutter/test/widgets/sliver_main_axis_group_test.dart b/packages/flutter/test/widgets/sliver_main_axis_group_test.dart index 63a0dd15f5d82..2a110a7238494 100644 --- a/packages/flutter/test/widgets/sliver_main_axis_group_test.dart +++ b/packages/flutter/test/widgets/sliver_main_axis_group_test.dart @@ -7,6 +7,7 @@ import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; import '../rendering/sliver_utils.dart'; +import 'semantics_tester.dart'; const double VIEWPORT_HEIGHT = 600; const double VIEWPORT_WIDTH = 300; @@ -454,7 +455,7 @@ void main() { ], ), ); - controller.jumpTo(300); + controller.jumpTo(RenderAbstractViewport.defaultCacheExtent + 200); await tester.pumpAndSettle(); final List visitedChildren = []; @@ -466,9 +467,10 @@ void main() { } renderGroup.visitChildrenForSemantics(visitor); - expect(visitedChildren.length, equals(2)); + expect(visitedChildren.length, equals(3)); expect(visitedChildren[0].geometry!.scrollExtent, equals(300)); expect(visitedChildren[1].geometry!.scrollExtent, equals(500)); + expect(visitedChildren[2].geometry!.scrollExtent, equals(400)); }); testWidgets('SliverPinnedPersistentHeader is painted within bounds of SliverMainAxisGroup', ( @@ -1197,6 +1199,294 @@ void main() { expect(tester.getBottomRight(find.byKey(key)), offset - const Offset(0.0, 20.0)); }, ); + + // Regression test for https://github.com/flutter/flutter/issues/173029. + testWidgets('SliverMainAxisGroup pointer event positions', (WidgetTester tester) async { + final List<({int index, TapDownDetails details})> tapDownLog = + <({int index, TapDownDetails details})>[]; + + Widget buildItem(int index) { + return SliverToBoxAdapter( + child: GestureDetector( + behavior: HitTestBehavior.opaque, + onTapDown: (TapDownDetails details) => tapDownLog.add((index: index, details: details)), + child: const SizedBox(height: 20), + ), + ); + } + + Future checkTapDown({ + required Offset tapAt, + required int expectedIndex, + required Offset expectedLocalPosition, + }) async { + await tester.tapAt(tapAt); + expect(tapDownLog.last.index, expectedIndex); + expect(tapDownLog.last.details.localPosition, expectedLocalPosition); + expect(tapDownLog.last.details.globalPosition, tapAt); + } + + // Forward direction. + final ScrollController controller1 = ScrollController(); + addTearDown(controller1.dispose); + await tester.pumpWidget( + KeyedSubtree( + key: const ObjectKey('froward'), + child: _buildSliverMainAxisGroup( + // x1.5 of item height, so only half of the second item is visible. + viewportHeight: 30, + viewportWidth: 30, + controller: controller1, + slivers: [buildItem(0), buildItem(1)], + ), + ), + ); + + await checkTapDown( + tapAt: const Offset(15, 5), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 5), + ); + await checkTapDown( + tapAt: const Offset(15, 15), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 15), + ); + await checkTapDown( + tapAt: const Offset(15, 25), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 5), + ); + + // Scroll to the end to fully reveal the second item. + controller1.jumpTo(10); + await tester.pump(); + + await checkTapDown( + tapAt: const Offset(15, 5), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 15), + ); + await checkTapDown( + tapAt: const Offset(15, 15), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 5), + ); + await checkTapDown( + tapAt: const Offset(15, 25), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 15), + ); + + tapDownLog.clear(); + + // Reverse direction. + final ScrollController controller2 = ScrollController(); + addTearDown(controller2.dispose); + await tester.pumpWidget( + KeyedSubtree( + key: const ObjectKey('reverse'), + child: _buildSliverMainAxisGroup( + reverse: true, + // x1.5 of item height, so only half of the second item is visible. + viewportHeight: 30, + viewportWidth: 30, + controller: controller2, + slivers: [buildItem(0), buildItem(1)], + ), + ), + ); + + await checkTapDown( + tapAt: const Offset(15, 5), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 15), + ); + await checkTapDown( + tapAt: const Offset(15, 15), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 5), + ); + await checkTapDown( + tapAt: const Offset(15, 25), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 15), + ); + + // Scroll to the end to fully reveal the second item. + controller2.jumpTo(10); + await tester.pump(); + + await checkTapDown( + tapAt: const Offset(15, 5), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 5), + ); + await checkTapDown( + tapAt: const Offset(15, 15), + expectedIndex: 1, + expectedLocalPosition: const Offset(15, 15), + ); + await checkTapDown( + tapAt: const Offset(15, 25), + expectedIndex: 0, + expectedLocalPosition: const Offset(15, 5), + ); + }); + testWidgets( + 'With SliverList can handle inaccurate scroll offset due to changes in children list', + (WidgetTester tester) async { + bool skip = true; + Widget buildItem(BuildContext context, int index) { + return !skip || index.isEven + ? Card( + child: ListTile(title: Text('item$index', style: const TextStyle(fontSize: 80))), + ) + : Container(); + } + + await tester.pumpWidget( + MaterialApp( + theme: ThemeData(useMaterial3: false), + home: Scaffold( + body: CustomScrollView( + slivers: [ + SliverMainAxisGroup( + slivers: [ + SliverList(delegate: SliverChildBuilderDelegate(buildItem, childCount: 30)), + ], + ), + ], + ), + ), + ), + ); + // Only even items 0~12 are on the screen. + for (int index = 0; index <= 12; index++) { + expect(find.text('item$index'), index.isEven ? findsOneWidget : findsNothing); + } + expect(find.text('item12'), findsOneWidget); + expect(find.text('item14'), findsNothing); + + await tester.drag(find.byType(CustomScrollView), const Offset(0.0, -750.0)); + await tester.pump(); + // Only even items 16~28 are on the screen. + expect(find.text('item15'), findsNothing); + expect(find.text('item16'), findsOneWidget); + expect(find.text('item28'), findsOneWidget); + + skip = false; + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: CustomScrollView( + slivers: [ + SliverMainAxisGroup( + slivers: [ + SliverList(delegate: SliverChildBuilderDelegate(buildItem, childCount: 30)), + ], + ), + ], + ), + ), + ), + ); + + // Only items 12~19 are on the screen. + expect(find.text('item11'), findsNothing); + expect(find.text('item12'), findsOneWidget); + expect(find.text('item19'), findsOneWidget); + expect(find.text('item20'), findsNothing); + + await tester.drag(find.byType(CustomScrollView), const Offset(0.0, 250.0)); + await tester.pump(); + + // Only items 10~16 are on the screen. + expect(find.text('item9'), findsNothing); + expect(find.text('item10'), findsOneWidget); + expect(find.text('item16'), findsOneWidget); + expect(find.text('item17'), findsNothing); + + // The inaccurate scroll offset should reach zero at this point + await tester.drag(find.byType(CustomScrollView), const Offset(0.0, 250.0)); + await tester.pump(); + + // Only items 7~13 are on the screen. + expect(find.text('item6'), findsNothing); + expect(find.text('item7'), findsOneWidget); + expect(find.text('item13'), findsOneWidget); + expect(find.text('item14'), findsNothing); + + // It will be corrected as we scroll, so we have to drag multiple times. + await tester.drag(find.byType(CustomScrollView), const Offset(0.0, 250.0)); + await tester.pump(); + await tester.drag(find.byType(CustomScrollView), const Offset(0.0, 250.0)); + await tester.pump(); + await tester.drag(find.byType(CustomScrollView), const Offset(0.0, 250.0)); + await tester.pump(); + + // Only items 0~6 are on the screen. + expect(find.text('item0'), findsOneWidget); + expect(find.text('item6'), findsOneWidget); + expect(find.text('item7'), findsNothing); + }, + ); + + testWidgets('SliverMainAxisGroup ensure semantics', (WidgetTester tester) async { + final SemanticsTester semantics = SemanticsTester(tester); + await tester.pumpWidget( + _buildSliverMainAxisGroup( + slivers: [ + const SliverEnsureSemantics(sliver: SliverToBoxAdapter(child: Text('a'))), + SliverList( + delegate: SliverChildBuilderDelegate( + (BuildContext context, int index) { + return Card( + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Text('Lorem Ipsum $index'), + ), + ); + }, + childCount: 50, + semanticIndexOffset: 1, + ), + ), + const SliverEnsureSemantics(sliver: SliverToBoxAdapter(child: Text('b'))), + ], + ), + ); + + // Even though 'b' is outside of the Viewport and cacheExtent, since it is + // wrapped with a `SliverEnsureSemantics` it will still be included in the + // semantics tree. + expect(semantics.nodesWith(label: 'b'), hasLength(1)); + expect(find.text('b'), findsNothing); + expect(find.byType(SliverEnsureSemantics, skipOffstage: false), findsNWidgets(2)); + semantics.dispose(); + }); + + testWidgets('SliverMainAxisGroup includes items in cacheExtent in semantics', ( + WidgetTester tester, + ) async { + final SemanticsTester semantics = SemanticsTester(tester); + await tester.pumpWidget( + _buildSliverMainAxisGroup( + viewportHeight: 300, + // Default cacheExtent is 250.0 + slivers: [ + const SliverToBoxAdapter(child: SizedBox(height: 300, child: Text('a'))), + const SliverToBoxAdapter(child: SizedBox(height: 100, child: Text('b'))), + ], + ), + ); + + // 'b' is not visible, but it should be in the cache extent. + expect(find.text('b'), findsNothing); + // So it should be in the semantics tree. + expect(semantics.nodesWith(label: 'b'), hasLength(1)); + semantics.dispose(); + }); } Widget _buildSliverList({ diff --git a/packages/flutter/test/widgets/slivers_evil_test.dart b/packages/flutter/test/widgets/slivers_evil_test.dart index ef5beda4cf266..6f00fdacaabd0 100644 --- a/packages/flutter/test/widgets/slivers_evil_test.dart +++ b/packages/flutter/test/widgets/slivers_evil_test.dart @@ -241,9 +241,17 @@ void main() { await tester.drag(find.text('5'), const Offset(0.0, -500.0)); await tester.pump(); + Finder findItem(String text) { + return find.descendant( + of: find.byType(SliverFixedExtentList), + matching: find.widgetWithText(ColoredBox, text), + ); + } + // Screen is 600px high. Moved bottom item 500px up. It's now at the top. - expect(tester.getTopLeft(find.widgetWithText(ColoredBox, '5')).dy, 0.0); - expect(tester.getBottomLeft(find.widgetWithText(ColoredBox, '10')).dy, 600.0); + expect(findItem('5'), findsOneWidget); + expect(tester.getTopLeft(findItem('5')).dy, 0.0); + expect(tester.getBottomLeft(findItem('10')).dy, 600.0); // Stop returning the first 3 items. await tester.pumpWidget( @@ -271,10 +279,10 @@ void main() { // Move up by 4 items, meaning item 1 would have been at the top but // 0 through 3 no longer exist, so item 4, 3 items down, is the first one. // Item 4 is also shifted to the top. - expect(tester.getTopLeft(find.widgetWithText(ColoredBox, '4')).dy, 0.0); + expect(tester.getTopLeft(findItem('4')).dy, 0.0); // Because the screen is still 600px, item 9 is now visible at the bottom instead // of what's supposed to be item 6 had we not re-shifted. - expect(tester.getBottomLeft(find.widgetWithText(ColoredBox, '9')).dy, 600.0); + expect(tester.getBottomLeft(findItem('9')).dy, 600.0); }); } diff --git a/packages/flutter/test/widgets/slivers_test.dart b/packages/flutter/test/widgets/slivers_test.dart index 1b578b2084a24..a684765c71833 100644 --- a/packages/flutter/test/widgets/slivers_test.dart +++ b/packages/flutter/test/widgets/slivers_test.dart @@ -1088,6 +1088,49 @@ void main() { expect(secondTapped, 1); }); + testWidgets('SliverFixedExtentList.builder should respect semanticIndexOffset', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + MaterialApp( + home: Directionality( + textDirection: TextDirection.ltr, + child: SizedBox( + height: 200, + child: CustomScrollView( + slivers: [ + SliverFixedExtentList.builder( + itemExtent: 50, + itemCount: 3, + semanticIndexOffset: 10, + itemBuilder: (BuildContext context, int index) { + return SizedBox(height: 50, child: Text('Item $index')); + }, + ), + ], + ), + ), + ), + ), + ); + + IndexedSemantics semanticsFor(String text) { + return tester.widget( + find.ancestor(of: find.text(text), matching: find.byType(IndexedSemantics)).first, + ); + } + + IndexedSemantics semanticsForItem(int index) => semanticsFor('Item $index'); + + final IndexedSemantics s0 = semanticsForItem(0); + final IndexedSemantics s1 = semanticsForItem(1); + final IndexedSemantics s2 = semanticsForItem(2); + + expect(s0.index, 10); + expect(s1.index, 11); + expect(s2.index, 12); + }); + testWidgets('SliverList.builder can build children', (WidgetTester tester) async { int firstTapped = 0; int secondTapped = 0; @@ -1389,6 +1432,102 @@ void main() { expect(secondTapped, 1); }); + testWidgets('SliverGrid.list can display children', (WidgetTester tester) async { + int firstTapped = 0; + int secondTapped = 0; + final Key key = UniqueKey(); + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + key: key, + body: CustomScrollView( + slivers: [ + SliverGrid.list( + gridDelegate: _TestArbitrarySliverGridDelegate(), + children: [ + Material( + color: Colors.yellow, + child: InkWell(onTap: () => firstTapped++, child: const Text('First')), + ), + Material( + color: Colors.red, + child: InkWell(onTap: () => secondTapped++, child: const Text('Second')), + ), + ], + ), + ], + ), + ), + ), + ); + + // Verify correct hit testing + await tester.tap(find.text('First')); + expect(firstTapped, 1); + expect(secondTapped, 0); + firstTapped = 0; + await tester.tap(find.text('Second')); + expect(firstTapped, 0); + expect(secondTapped, 1); + }); + + testWidgets('SliverGrid.list with empty children list', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: CustomScrollView( + slivers: [ + SliverGrid.list( + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), + children: const [], + ), + ], + ), + ), + ), + ); + + // Should render without errors - the SliverGrid should be present even with empty children + expect(find.byType(CustomScrollView), findsOneWidget); + }); + + testWidgets('SliverGrid.builder respects semanticIndexOffset', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: CustomScrollView( + slivers: [ + SliverGrid.builder( + itemCount: 3, + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2), + semanticIndexOffset: 7, + itemBuilder: (BuildContext context, int index) { + return Center(child: Text('G $index')); + }, + ), + ], + ), + ), + ), + ); + + IndexedSemantics semanticsFor(String text) { + return tester.widget( + find.ancestor(of: find.text(text), matching: find.byType(IndexedSemantics)).first, + ); + } + + IndexedSemantics semanticsForGridItem(int index) => semanticsFor('G $index'); + + final IndexedSemantics s0 = semanticsForGridItem(0); + final IndexedSemantics s1 = semanticsForGridItem(1); + final IndexedSemantics s2 = semanticsForGridItem(2); + + expect(s0.index, 7); + expect(s1.index, 8); + expect(s2.index, 9); + }); + testWidgets('SliverGridRegularTileLayout.computeMaxScrollOffset handles 0 children', ( WidgetTester tester, ) async { diff --git a/packages/flutter/test/widgets/stretch_effect_test.dart b/packages/flutter/test/widgets/stretch_effect_test.dart new file mode 100644 index 0000000000000..9f519c1e42f47 --- /dev/null +++ b/packages/flutter/test/widgets/stretch_effect_test.dart @@ -0,0 +1,56 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This file is run as part of a reduced test set in CI on Mac and Windows +// machines. +@Tags(['reduced-test-set']) +library; + +import 'dart:ui' as ui; + +import 'package:flutter/widgets.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + // `StretchingOverscrollIndicator` uses a different algorithm when + // shader is available, therefore the tests must be different depending + // on shader support. + final bool shaderSupported = ui.ImageFilter.isShaderFilterSupported; + + testWidgets( + 'Stretch effect covers full viewport', + (WidgetTester tester) async { + // This test verifies that when the stretch effect is applied to a scrollable widget, + // it should cover the entire scrollable area (e.g., full height of the scroll view), + // even if the actual content inside has a smaller height. + // + // Without this behavior, the shader is clipped only to the content area, + // causing the stretch effect to render incorrectly or be invisible + // when the content doesn't fill the scroll view. + await tester.pumpWidget( + Directionality( + textDirection: TextDirection.ltr, + child: StretchEffect( + stretchStrength: 1, + axis: Axis.vertical, + child: Stack( + alignment: Alignment.topCenter, + children: [ + Container(height: 100), + Container(height: 50, color: const Color.fromRGBO(255, 0, 0, 1)), + ], + ), + ), + ), + ); + + await expectLater( + find.byType(StretchEffect), + matchesGoldenFile('stretch_effect_covers_full_viewport.png'), + ); + }, + // Skips this test when fragment shaders are not used. + skip: !shaderSupported, + ); +} diff --git a/packages/flutter/test/widgets/system_context_menu_test.dart b/packages/flutter/test/widgets/system_context_menu_test.dart index 5fc4105ce3ac5..e4ec0c35432d6 100644 --- a/packages/flutter/test/widgets/system_context_menu_test.dart +++ b/packages/flutter/test/widgets/system_context_menu_test.dart @@ -895,4 +895,446 @@ void main() { }, skip: kIsWeb, // [intended] SystemContextMenu is not supported on web. ); + + testWidgets( + 'can use custom menu items', + (WidgetTester tester) async { + bool customAction1Called = false; + bool customAction2Called = false; + final List> itemsReceived = + >[]; + + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + (MethodCall methodCall) async { + switch (methodCall.method) { + case 'ContextMenu.showSystemContextMenu': + final Map arguments = methodCall.arguments as Map; + final List untypedItems = arguments['items'] as List; + final List lastItems = untypedItems.map(( + dynamic value, + ) { + final Map itemJson = value as Map; + return systemContextMenuItemDataFromJson(itemJson); + }).toList(); + itemsReceived.add(lastItems); + } + return; + }, + ); + addTearDown(() { + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( + SystemChannels.platform, + null, + ); + }); + + final List items = [ + const IOSSystemContextMenuItemCopy(), + IOSSystemContextMenuItemCustom( + title: 'Custom Action 1', + onPressed: () { + customAction1Called = true; + }, + ), + IOSSystemContextMenuItemCustom( + title: 'Custom Action 2', + onPressed: () { + customAction2Called = true; + }, + ), + ]; + + final TextEditingController controller = TextEditingController(text: 'test text'); + addTearDown(controller.dispose); + + await tester.pumpWidget( + Builder( + builder: (BuildContext context) { + final MediaQueryData mediaQueryData = MediaQuery.of(context); + return MediaQuery( + data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), + child: MaterialApp( + home: Scaffold( + body: Center( + child: TextField( + controller: controller, + contextMenuBuilder: + (BuildContext context, EditableTextState editableTextState) { + return SystemContextMenu.editableText( + editableTextState: editableTextState, + items: items, + ); + }, + ), + ), + ), + ), + ); + }, + ), + ); + + await tester.tap(find.byType(TextField)); + final EditableTextState state = tester.state(find.byType(EditableText)); + expect(state.showToolbar(), true); + await tester.pump(); + + expect(find.byType(SystemContextMenu), findsOneWidget); + expect(itemsReceived, hasLength(1)); + expect(itemsReceived.last, hasLength(3)); + + expect(itemsReceived.last[0], equals(const IOSSystemContextMenuItemDataCopy())); + expect(itemsReceived.last[1], isA()); + expect( + (itemsReceived.last[1] as IOSSystemContextMenuItemDataCustom).title, + 'Custom Action 1', + ); + expect(itemsReceived.last[2], isA()); + expect( + (itemsReceived.last[2] as IOSSystemContextMenuItemDataCustom).title, + 'Custom Action 2', + ); + + final IOSSystemContextMenuItemCustom customItem1 = items[1] as IOSSystemContextMenuItemCustom; + final IOSSystemContextMenuItemCustom customItem2 = items[2] as IOSSystemContextMenuItemCustom; + + ByteData? message = const JSONMethodCodec().encodeMethodCall( + MethodCall('ContextMenu.onPerformCustomAction', [ + 0, + customItem1.hashCode.toString(), + ]), + ); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + message, + (_) {}, + ); + expect(customAction1Called, isTrue); + expect(customAction2Called, isFalse); + + message = const JSONMethodCodec().encodeMethodCall( + MethodCall('ContextMenu.onPerformCustomAction', [ + 0, + customItem2.hashCode.toString(), + ]), + ); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + message, + (_) {}, + ); + expect(customAction2Called, isTrue); + + state.hideToolbar(); + await tester.pump(); + expect(find.byType(SystemContextMenu), findsNothing); + }, + skip: kIsWeb, // [intended] + variant: TargetPlatformVariant.only(TargetPlatform.iOS), + ); + + testWidgets( + 'system context menu auto-closes after custom action', + (WidgetTester tester) async { + bool customActionCalled = false; + final TextEditingController controller = TextEditingController(text: 'test text'); + addTearDown(controller.dispose); + + await tester.pumpWidget( + Builder( + builder: (BuildContext context) { + final MediaQueryData mediaQueryData = MediaQuery.of(context); + return MediaQuery( + data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), + child: MaterialApp( + home: Scaffold( + body: Center( + child: TextField( + controller: controller, + contextMenuBuilder: + (BuildContext context, EditableTextState editableTextState) { + return SystemContextMenu.editableText( + editableTextState: editableTextState, + items: [ + IOSSystemContextMenuItemCustom( + title: 'Test Action', + onPressed: () { + customActionCalled = true; + }, + ), + ], + ); + }, + ), + ), + ), + ), + ); + }, + ), + ); + + await tester.tap(find.byType(TextField)); + final EditableTextState state = tester.state(find.byType(EditableText)); + expect(state.showToolbar(), true); + await tester.pump(); + + expect(find.byType(SystemContextMenu), findsOneWidget); + + final SystemContextMenu menu = tester.widget( + find.byType(SystemContextMenu), + ); + final IOSSystemContextMenuItemCustom item = menu.items[0] as IOSSystemContextMenuItemCustom; + + final ByteData message = const JSONMethodCodec().encodeMethodCall( + MethodCall('ContextMenu.onPerformCustomAction', [0, item.hashCode.toString()]), + ); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + message, + (_) {}, + ); + + expect(customActionCalled, isTrue); + + // iOS system menus auto-close after custom actions on real devices. + // Simulate this by sending the platform dismiss message. + final ByteData? messageBytes = const JSONMessageCodec().encodeMessage({ + 'method': 'ContextMenu.onDismissSystemContextMenu', + }); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + messageBytes, + (_) {}, + ); + await tester.pump(); + + expect(find.byType(SystemContextMenu), findsNothing); + }, + skip: kIsWeb, // [intended] + variant: TargetPlatformVariant.only(TargetPlatform.iOS), + ); + + testWidgets( + 'can trigger custom menu action through platform channel message', + (WidgetTester tester) async { + final TextEditingController controller = TextEditingController(text: 'one two three'); + addTearDown(controller.dispose); + + bool customActionCalled = false; + final List items = [ + const IOSSystemContextMenuItemCut(), + IOSSystemContextMenuItemCustom( + title: 'Test Action', + onPressed: () { + customActionCalled = true; + }, + ), + ]; + + await tester.pumpWidget( + Builder( + builder: (BuildContext context) { + final MediaQueryData mediaQueryData = MediaQuery.of(context); + return MediaQuery( + data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), + child: MaterialApp( + home: Scaffold( + body: Center( + child: TextField( + controller: controller, + contextMenuBuilder: + (BuildContext context, EditableTextState editableTextState) { + return SystemContextMenu.editableText( + editableTextState: editableTextState, + items: items, + ); + }, + ), + ), + ), + ), + ); + }, + ), + ); + + await tester.tap(find.byType(TextField)); + await tester.pumpAndSettle(); + + const TextSelection selection = TextSelection(baseOffset: 0, extentOffset: 3); + controller.selection = selection; + + await tester.longPress(find.byType(TextField)); + await tester.pumpAndSettle(); + + expect(find.byType(SystemContextMenu), findsOneWidget); + + final IOSSystemContextMenuItemCustom customItem = items[1] as IOSSystemContextMenuItemCustom; + final String callbackId = customItem.hashCode.toString(); + + final ByteData message = const JSONMethodCodec().encodeMethodCall( + MethodCall('ContextMenu.onPerformCustomAction', [0, callbackId]), + ); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + message, + (_) {}, + ); + + expect(customActionCalled, isTrue); + + // Verify menu closes after custom action. + // Simulate platform dismiss message for consistency. + final ByteData? dismissMessage = const JSONMessageCodec().encodeMessage({ + 'method': 'ContextMenu.onDismissSystemContextMenu', + }); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + dismissMessage, + (_) {}, + ); + await tester.pump(); + expect(find.byType(SystemContextMenu), findsNothing); + }, + skip: kIsWeb, // [intended] + variant: TargetPlatformVariant.only(TargetPlatform.iOS), + ); + + testWidgets( + 'two TextFields can have different custom SystemContextMenu items', + (WidgetTester tester) async { + bool field1ActionCalled = false; + bool field2ActionCalled = false; + + final TextEditingController controller1 = TextEditingController(text: 'Field 1 text'); + final TextEditingController controller2 = TextEditingController(text: 'Field 2 text'); + addTearDown(() { + controller1.dispose(); + controller2.dispose(); + }); + + await tester.pumpWidget( + Builder( + builder: (BuildContext context) { + final MediaQueryData mediaQueryData = MediaQuery.of(context); + return MediaQuery( + data: mediaQueryData.copyWith(supportsShowingSystemContextMenu: true), + child: MaterialApp( + home: Scaffold( + body: Column( + children: [ + TextField( + controller: controller1, + contextMenuBuilder: + (BuildContext context, EditableTextState editableTextState) { + return SystemContextMenu.editableText( + editableTextState: editableTextState, + items: [ + IOSSystemContextMenuItemCustom( + title: 'Field 1 Action', + onPressed: () { + field1ActionCalled = true; + }, + ), + ], + ); + }, + ), + TextField( + controller: controller2, + contextMenuBuilder: + (BuildContext context, EditableTextState editableTextState) { + return SystemContextMenu.editableText( + editableTextState: editableTextState, + items: [ + IOSSystemContextMenuItemCustom( + title: 'Field 2 Action', + onPressed: () { + field2ActionCalled = true; + }, + ), + ], + ); + }, + ), + ], + ), + ), + ), + ); + }, + ), + ); + + await tester.longPress(find.byType(TextField).first); + await tester.pump(); + expect(find.byType(SystemContextMenu), findsOneWidget); + + final SystemContextMenu menu1 = tester.widget( + find.byType(SystemContextMenu), + ); + final IOSSystemContextMenuItemCustom item1 = menu1.items[0] as IOSSystemContextMenuItemCustom; + + ByteData message = const JSONMethodCodec().encodeMethodCall( + MethodCall('ContextMenu.onPerformCustomAction', [0, item1.hashCode.toString()]), + ); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + message, + (_) {}, + ); + + expect(field1ActionCalled, isTrue); + expect(field2ActionCalled, isFalse); + + final ByteData? messageBytes1 = const JSONMessageCodec().encodeMessage({ + 'method': 'ContextMenu.onDismissSystemContextMenu', + }); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + messageBytes1, + (_) {}, + ); + await tester.pump(); + + field1ActionCalled = false; + + await tester.longPress(find.byType(TextField).last); + await tester.pump(); + expect(find.byType(SystemContextMenu), findsOneWidget); + + final SystemContextMenu menu2 = tester.widget( + find.byType(SystemContextMenu), + ); + final IOSSystemContextMenuItemCustom item2 = menu2.items[0] as IOSSystemContextMenuItemCustom; + + message = const JSONMethodCodec().encodeMethodCall( + MethodCall('ContextMenu.onPerformCustomAction', [0, item2.hashCode.toString()]), + ); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + message, + (_) {}, + ); + + expect(field1ActionCalled, isFalse); + expect(field2ActionCalled, isTrue); + + final ByteData? messageBytes2 = const JSONMessageCodec().encodeMessage({ + 'method': 'ContextMenu.onDismissSystemContextMenu', + }); + await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage( + 'flutter/platform', + messageBytes2, + (_) {}, + ); + await tester.pump(); + + expect(find.byType(SystemContextMenu), findsNothing); + }, + skip: kIsWeb, // [intended] + variant: TargetPlatformVariant.only(TargetPlatform.iOS), + ); } diff --git a/packages/flutter/test/widgets/tree_shape_test.dart b/packages/flutter/test/widgets/tree_shape_test.dart index 76dabaa83bbe6..d32ac4901ba79 100644 --- a/packages/flutter/test/widgets/tree_shape_test.dart +++ b/packages/flutter/test/widgets/tree_shape_test.dart @@ -94,29 +94,32 @@ void main() { }, ); - testWidgets('A View can not be moved via GlobalKey to be a child of a RenderObject', ( - WidgetTester tester, - ) async { - final Widget globalKeyedView = View( - key: GlobalKey(), - view: FakeView(tester.view), - child: const ColoredBox(color: Colors.red), - ); + testWidgets( + 'A View can not be moved via GlobalKey to be a child of a RenderObject', + experimentalLeakTesting: LeakTesting.settings + .withIgnoredAll(), // leaking by design because of exception + (WidgetTester tester) async { + final Widget globalKeyedView = View( + key: GlobalKey(), + view: FakeView(tester.view), + child: const ColoredBox(color: Colors.red), + ); - await tester.pumpWidget(wrapWithView: false, globalKeyedView); - expect(tester.takeException(), isNull); + await tester.pumpWidget(wrapWithView: false, globalKeyedView); + expect(tester.takeException(), isNull); - await tester.pumpWidget(wrapWithView: false, View(view: tester.view, child: globalKeyedView)); + await tester.pumpWidget(wrapWithView: false, View(view: tester.view, child: globalKeyedView)); - expect( - tester.takeException(), - isFlutterError.having( - (FlutterError error) => error.message, - 'message', - contains('cannot maintain an independent render tree at its current location.'), - ), - ); - }); + expect( + tester.takeException(), + isFlutterError.having( + (FlutterError error) => error.message, + 'message', + contains('cannot maintain an independent render tree at its current location.'), + ), + ); + }, + ); testWidgets('The view property of a ViewAnchor cannot be a render object widget', ( WidgetTester tester, diff --git a/packages/flutter/test/widgets/visibility_test.dart b/packages/flutter/test/widgets/visibility_test.dart index 1a5c0d4a14b7c..129e8b1f98286 100644 --- a/packages/flutter/test/widgets/visibility_test.dart +++ b/packages/flutter/test/widgets/visibility_test.dart @@ -492,6 +492,18 @@ void main() { }, ); + testWidgets( + 'Visibility throws assertion error if maintainFocusability is true without maintainState', + (WidgetTester tester) async { + expect(() { + Visibility( + maintainFocusability: true, + child: const Text('hello', textDirection: TextDirection.ltr), + ); + }, throwsAssertionError); + }, + ); + testWidgets('Visibility does not force compositing when visible and maintain*', ( WidgetTester tester, ) async { diff --git a/packages/flutter/test/widgets/windowing_test.dart b/packages/flutter/test/widgets/windowing_test.dart index aec8eef1ca510..ca8995bed2da1 100644 --- a/packages/flutter/test/widgets/windowing_test.dart +++ b/packages/flutter/test/widgets/windowing_test.dart @@ -11,7 +11,8 @@ import 'package:flutter/src/widgets/_window.dart' RegularWindowController, RegularWindowControllerDelegate, WindowScope, - WindowingOwner; + WindowingOwner, + createDefaultWindowingOwner; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -73,12 +74,12 @@ void main() { }); test('createDefaultOwner returns a WindowingOwner', () { - final WindowingOwner owner = WindowingOwner.createDefaultOwner(); + final WindowingOwner owner = createDefaultWindowingOwner(); expect(owner, isA()); }); test('default WindowingOwner throws when accessing createRegularWindowController', () { - final WindowingOwner owner = WindowingOwner.createDefaultOwner(); + final WindowingOwner owner = createDefaultWindowingOwner(); expect( () => owner.createRegularWindowController(delegate: RegularWindowControllerDelegate()), throwsUnsupportedError, @@ -86,7 +87,7 @@ void main() { }); test('default WindowingOwner throws when accessing hasTopLevelWindows', () { - final WindowingOwner owner = WindowingOwner.createDefaultOwner(); + final WindowingOwner owner = createDefaultWindowingOwner(); expect(() => owner.hasTopLevelWindows(), throwsUnsupportedError); }); @@ -110,23 +111,22 @@ void main() { isWindowingEnabled = true; }); - test('createDefaultOwner returns a WindowingOwner', () { - final WindowingOwner owner = WindowingOwner.createDefaultOwner(); - expect(owner, isA()); - }); - testWidgets('RegularWindow does not throw', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, - RegularWindow(controller: _StubWindowController(tester), child: Container()), + RegularWindow(controller: controller, child: Container()), ); }); testWidgets('Can access WindowScope.of', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final BaseWindowController scope = WindowScope.of(context); @@ -139,10 +139,12 @@ void main() { }); testWidgets('Can access WindowScope.maybeOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final BaseWindowController? scope = WindowScope.maybeOf(context); @@ -155,10 +157,12 @@ void main() { }); testWidgets('Can access WindowScope.contentSizeOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final Size size = WindowScope.contentSizeOf(context); @@ -171,10 +175,12 @@ void main() { }); testWidgets('Can access WindowScope.maybeContentSizeOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final Size? size = WindowScope.maybeContentSizeOf(context); @@ -187,10 +193,12 @@ void main() { }); testWidgets('Can access WindowScope.titleOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final String title = WindowScope.titleOf(context); @@ -203,10 +211,12 @@ void main() { }); testWidgets('Can access WindowScope.maybeTitleOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final String? title = WindowScope.maybeTitleOf(context); @@ -219,10 +229,12 @@ void main() { }); testWidgets('Can access WindowScope.isActivatedOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final bool isActivated = WindowScope.isActivatedOf(context); @@ -235,10 +247,12 @@ void main() { }); testWidgets('Can access WindowScope.maybeIsActivatedOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final bool? isActivated = WindowScope.maybeIsActivatedOf(context); @@ -251,10 +265,12 @@ void main() { }); testWidgets('Can access WindowScope.isMinimizedOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final bool isMinimized = WindowScope.isMinimizedOf(context); @@ -267,10 +283,12 @@ void main() { }); testWidgets('Can access WindowScope.maybeIsMinimizedOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final bool? isMinimized = WindowScope.maybeIsMinimizedOf(context); @@ -283,10 +301,12 @@ void main() { }); testWidgets('Can access WindowScope.isMaximizedOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final bool isMaximized = WindowScope.isMaximizedOf(context); @@ -299,10 +319,12 @@ void main() { }); testWidgets('Can access WindowScope.maybeIsMaximizedOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final bool? isMaximized = WindowScope.maybeIsMaximizedOf(context); @@ -315,10 +337,12 @@ void main() { }); testWidgets('Can access WindowScope.isFullscreenOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final bool isFullscreen = WindowScope.isFullscreenOf(context); @@ -331,10 +355,12 @@ void main() { }); testWidgets('Can access WindowScope.maybeIsFullscreenOf', (WidgetTester tester) async { + final _StubWindowController controller = _StubWindowController(tester); + addTearDown(controller.dispose); await tester.pumpWidget( wrapWithView: false, RegularWindow( - controller: _StubWindowController(tester), + controller: controller, child: Builder( builder: (BuildContext context) { final bool? isFullscreen = WindowScope.maybeIsFullscreenOf(context); diff --git a/packages/flutter/test_profile/README.md b/packages/flutter/test_profile/README.md index 9194d32482ddc..e48b3e331a9d3 100644 --- a/packages/flutter/test_profile/README.md +++ b/packages/flutter/test_profile/README.md @@ -1,3 +1,3 @@ This folder contains unit tests that are run with `kProfileMode` set to true. This can be used for unit testing code that is guarded by this boolean, such as in cases where debug code is intentionally elided for performance or code size reasons. The unit tests are still run in the VM and are not otherwise precompiled. -To run these test from the command line, use the command: `flutter test --dart-define=dart.vm.profile=true test_release/` +To run these test from the command line, use the command: `flutter test --dart-define=dart.vm.profile=true test_profile/` diff --git a/packages/flutter/test_release/widgets/memory_allocations_test.dart b/packages/flutter/test_release/widgets/memory_allocations_test.dart index 659c6ccbf4352..b901c0ab3a807 100644 --- a/packages/flutter/test_release/widgets/memory_allocations_test.dart +++ b/packages/flutter/test_release/widgets/memory_allocations_test.dart @@ -60,6 +60,7 @@ class _TestElement extends RenderTreeRootElement with RootElementMixin { void makeInactive() { assignOwner(BuildOwner(focusManager: FocusManager())); mount(null, null); + // ignore: invalid_use_of_visible_for_overriding_member deactivate(); } @@ -95,6 +96,7 @@ class _MyStatefulWidgetState extends State<_MyStatefulWidget> { Future _activateFlutterObjects(WidgetTester tester) async { final _TestElement element = _TestElement(); element.makeInactive(); + // ignore: invalid_use_of_visible_for_overriding_member element.unmount(); // Create and dispose State: diff --git a/packages/flutter_driver/lib/src/common/deserialization_factory.dart b/packages/flutter_driver/lib/src/common/deserialization_factory.dart index e0ae3d86ec530..0ad97ca2f60d2 100644 --- a/packages/flutter_driver/lib/src/common/deserialization_factory.dart +++ b/packages/flutter_driver/lib/src/common/deserialization_factory.dart @@ -22,17 +22,23 @@ import 'wait.dart'; /// A factory for deserializing [SerializableFinder]s. mixin DeserializeFinderFactory { /// Deserializes the finder from JSON generated by [SerializableFinder.serialize]. - SerializableFinder deserializeFinder(Map json) { - return switch (json['finderType']) { - 'ByType' => ByType.deserialize(json), - 'ByValueKey' => ByValueKey.deserialize(json), - 'ByTooltipMessage' => ByTooltipMessage.deserialize(json), - 'BySemanticsLabel' => BySemanticsLabel.deserialize(json), - 'ByText' => ByText.deserialize(json), + /// + /// The [path] is the current path to the [json] object from the parent object. + SerializableFinder deserializeFinder(Map json, {String? path}) { + final String? finderType = json['finderType']; + if (finderType == null) { + throw ArgumentError.notNull(path == null ? 'finderType' : '$path.finderType'); + } + return switch (finderType) { + 'ByType' => ByType.deserialize(json, path: path), + 'ByValueKey' => ByValueKey.deserialize(json, path: path), + 'ByTooltipMessage' => ByTooltipMessage.deserialize(json, path: path), + 'BySemanticsLabel' => BySemanticsLabel.deserialize(json, path: path), + 'ByText' => ByText.deserialize(json, path: path), 'PageBack' => const PageBack(), - 'Descendant' => Descendant.deserialize(json, this), - 'Ancestor' => Ancestor.deserialize(json, this), - _ => throw DriverError('Unsupported search specification type ${json['finderType']}'), + 'Descendant' => Descendant.deserialize(json, this, path: path), + 'Ancestor' => Ancestor.deserialize(json, this, path: path), + _ => throw DriverError('Unsupported search specification type $finderType'), }; } } @@ -40,31 +46,41 @@ mixin DeserializeFinderFactory { /// A factory for deserializing [Command]s. mixin DeserializeCommandFactory { /// Deserializes the finder from JSON generated by [Command.serialize] or [CommandWithTarget.serialize]. - Command deserializeCommand(Map params, DeserializeFinderFactory finderFactory) { - return switch (params['command']) { + /// + /// The [path] is the current path to the [params] object from the parent object. + Command deserializeCommand( + Map params, + DeserializeFinderFactory finderFactory, { + String? path, + }) { + final String? command = params['command']; + if (command == null) { + throw ArgumentError.notNull(path == null ? 'command' : '$path.command'); + } + return switch (command) { 'get_health' => GetHealth.deserialize(params), 'get_layer_tree' => GetLayerTree.deserialize(params), 'get_render_tree' => GetRenderTree.deserialize(params), - 'enter_text' => EnterText.deserialize(params), + 'enter_text' => EnterText.deserialize(params, path: path), 'send_text_input_action' => SendTextInputAction.deserialize(params), - 'get_text' => GetText.deserialize(params, finderFactory), + 'get_text' => GetText.deserialize(params, finderFactory, path: path), 'request_data' => RequestData.deserialize(params), - 'scroll' => Scroll.deserialize(params, finderFactory), - 'scrollIntoView' => ScrollIntoView.deserialize(params, finderFactory), + 'scroll' => Scroll.deserialize(params, finderFactory, path: path), + 'scrollIntoView' => ScrollIntoView.deserialize(params, finderFactory, path: path), 'set_frame_sync' => SetFrameSync.deserialize(params), 'set_semantics' => SetSemantics.deserialize(params), 'set_text_entry_emulation' => SetTextEntryEmulation.deserialize(params), - 'tap' => Tap.deserialize(params, finderFactory), - 'waitFor' => WaitFor.deserialize(params, finderFactory), - 'waitForAbsent' => WaitForAbsent.deserialize(params, finderFactory), - 'waitForTappable' => WaitForTappable.deserialize(params, finderFactory), + 'tap' => Tap.deserialize(params, finderFactory, path: path), + 'waitFor' => WaitFor.deserialize(params, finderFactory, path: path), + 'waitForAbsent' => WaitForAbsent.deserialize(params, finderFactory, path: path), + 'waitForTappable' => WaitForTappable.deserialize(params, finderFactory, path: path), 'waitForCondition' => WaitForCondition.deserialize(params), 'waitUntilNoTransientCallbacks' => WaitForCondition.deserialize(params), 'waitUntilNoPendingFrame' => WaitForCondition.deserialize(params), 'waitUntilFirstFrameRasterized' => WaitForCondition.deserialize(params), - 'get_semantics_id' => GetSemanticsId.deserialize(params, finderFactory), - 'get_offset' => GetOffset.deserialize(params, finderFactory), - 'get_diagnostics_tree' => GetDiagnosticsTree.deserialize(params, finderFactory), + 'get_semantics_id' => GetSemanticsId.deserialize(params, finderFactory, path: path), + 'get_offset' => GetOffset.deserialize(params, finderFactory, path: path), + 'get_diagnostics_tree' => GetDiagnosticsTree.deserialize(params, finderFactory, path: path), 'screenshot' => ScreenshotCommand.deserialize(params), final String? kind => throw DriverError('Unsupported command kind $kind'), }; diff --git a/packages/flutter_driver/lib/src/common/diagnostics_tree.dart b/packages/flutter_driver/lib/src/common/diagnostics_tree.dart index 0903a9e241401..f5269b5a92bb0 100644 --- a/packages/flutter_driver/lib/src/common/diagnostics_tree.dart +++ b/packages/flutter_driver/lib/src/common/diagnostics_tree.dart @@ -38,10 +38,17 @@ class GetDiagnosticsTree extends CommandWithTarget { }); /// Deserializes this command from the value generated by [serialize]. - GetDiagnosticsTree.deserialize(super.json, super.finderFactory) - : subtreeDepth = int.parse(json['subtreeDepth']!), - includeProperties = json['includeProperties'] == 'true', - diagnosticsType = _diagnosticsTypeIndex.lookupBySimpleName(json['diagnosticsType']!), + /// + /// The [path] is the current path to the [json] object from the parent object. + GetDiagnosticsTree.deserialize(super.json, super.finderFactory, {super.path}) + : subtreeDepth = json.containsKey('subtreeDepth') ? int.parse(json['subtreeDepth']!) : 0, + includeProperties = json['includeProperties'] != 'false', + diagnosticsType = json.containsKey('diagnosticsType') + ? _diagnosticsTypeIndex.lookupBySimpleName( + json['diagnosticsType']!, + path: path == null ? 'diagnosticsType' : '$path.diagnosticsType', + ) + : throw ArgumentError.notNull(path == null ? 'diagnosticsType' : '$path.diagnosticsType'), super.deserialize(); /// How many levels of children to include in the JSON result. diff --git a/packages/flutter_driver/lib/src/common/enum_util.dart b/packages/flutter_driver/lib/src/common/enum_util.dart index 750f937ca67cb..0e83b33c5cd7d 100644 --- a/packages/flutter_driver/lib/src/common/enum_util.dart +++ b/packages/flutter_driver/lib/src/common/enum_util.dart @@ -25,7 +25,22 @@ class EnumIndex { final Map _valueToName; /// Given a [simpleName] finds the corresponding enum value. - E lookupBySimpleName(String simpleName) => _nameToValue[simpleName]!; + /// + /// Throws an [ArgumentError] if [simpleName] is not valid. + /// + /// The [path] is the path in the parent JSON structure at which this value + /// was found, and will be reported in any [ArgumentError]s as the name. + E lookupBySimpleName(String simpleName, {String? path}) { + final E? value = _nameToValue[simpleName]; + if (value == null) { + throw ArgumentError.value( + simpleName, + path, + 'Invalid enum value, valid values are ${_nameToValue.keys.join(', ')}', + ); + } + return value; + } /// Returns the simple name for [enumValue]. String toSimpleName(E enumValue) => _valueToName[enumValue]!; diff --git a/packages/flutter_driver/lib/src/common/find.dart b/packages/flutter_driver/lib/src/common/find.dart index 6f92095d7a070..eabc688f37c3f 100644 --- a/packages/flutter_driver/lib/src/common/find.dart +++ b/packages/flutter_driver/lib/src/common/find.dart @@ -34,8 +34,8 @@ abstract class CommandWithTarget extends Command { CommandWithTarget(this.finder, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - CommandWithTarget.deserialize(super.json, DeserializeFinderFactory finderFactory) - : finder = finderFactory.deserializeFinder(json), + CommandWithTarget.deserialize(super.json, DeserializeFinderFactory finderFactory, {String? path}) + : finder = finderFactory.deserializeFinder(json, path: path), super.deserialize(); /// Locates the object or objects targeted by this command. @@ -62,7 +62,7 @@ class WaitFor extends CommandWithTarget { WaitFor(super.finder, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - WaitFor.deserialize(super.json, super.finderFactory) : super.deserialize(); + WaitFor.deserialize(super.json, super.finderFactory, {super.path}) : super.deserialize(); @override String get kind => 'waitFor'; @@ -77,7 +77,7 @@ class WaitForAbsent extends CommandWithTarget { WaitForAbsent(super.finder, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - WaitForAbsent.deserialize(super.json, super.finderFactory) : super.deserialize(); + WaitForAbsent.deserialize(super.json, super.finderFactory, {super.path}) : super.deserialize(); @override String get kind => 'waitForAbsent'; @@ -92,7 +92,7 @@ class WaitForTappable extends CommandWithTarget { WaitForTappable(super.finder, {super.timeout}); /// Deserialized this command from the value generated by [serialize]. - WaitForTappable.deserialize(super.json, super.finderFactory) : super.deserialize(); + WaitForTappable.deserialize(super.json, super.finderFactory, {super.path}) : super.deserialize(); @override String get kind => 'waitForTappable'; @@ -130,8 +130,12 @@ class ByTooltipMessage extends SerializableFinder { Map serialize() => super.serialize()..addAll({'text': text}); /// Deserializes the finder from JSON generated by [serialize]. - static ByTooltipMessage deserialize(Map json) { - return ByTooltipMessage(json['text']!); + static ByTooltipMessage deserialize(Map json, {String? path}) { + final String? text = json['text']; + if (text == null) { + throw ArgumentError.notNull(path == null ? 'text' : '$path.text'); + } + return ByTooltipMessage(text); } } @@ -163,9 +167,13 @@ class BySemanticsLabel extends SerializableFinder { } /// Deserializes the finder from JSON generated by [serialize]. - static BySemanticsLabel deserialize(Map json) { + static BySemanticsLabel deserialize(Map json, {String? path}) { + final String? label = json['label']; + if (label == null) { + throw ArgumentError.notNull(path == null ? 'label' : '$path.label'); + } final bool isRegExp = json['isRegExp'] == 'true'; - return BySemanticsLabel(isRegExp ? RegExp(json['label']!) : json['label']!); + return BySemanticsLabel(isRegExp ? RegExp(label) : label); } } @@ -186,8 +194,12 @@ class ByText extends SerializableFinder { Map serialize() => super.serialize()..addAll({'text': text}); /// Deserializes the finder from JSON generated by [serialize]. - static ByText deserialize(Map json) { - return ByText(json['text']!); + static ByText deserialize(Map json, {String? path}) { + final String? text = json['text']; + if (text == null) { + throw ArgumentError.notNull(path == null ? 'text' : '$path.text'); + } + return ByText(text); } } @@ -222,9 +234,16 @@ class ByValueKey extends SerializableFinder { ..addAll({'keyValueString': keyValueString, 'keyValueType': keyValueType}); /// Deserializes the finder from JSON generated by [serialize]. - static ByValueKey deserialize(Map json) { - final String keyValueString = json['keyValueString']!; - return switch (json['keyValueType']!) { + static ByValueKey deserialize(Map json, {String? path}) { + final String? keyValueString = json['keyValueString']; + if (keyValueString == null) { + throw ArgumentError.notNull(path == null ? 'keyValueString' : '$path.keyValueString'); + } + final String? keyValueType = json['keyValueType']; + if (keyValueType == null) { + throw ArgumentError.notNull(path == null ? 'keyValueType' : '$path.keyValueType'); + } + return switch (keyValueType) { 'int' => ByValueKey(int.parse(keyValueString)), 'String' => ByValueKey(keyValueString), final String keyValueType => throw _createInvalidKeyValueTypeError(keyValueType), @@ -247,8 +266,12 @@ class ByType extends SerializableFinder { Map serialize() => super.serialize()..addAll({'type': type}); /// Deserializes the finder from JSON generated by [serialize]. - static ByType deserialize(Map json) { - return ByType(json['type']!); + static ByType deserialize(Map json, {String? path}) { + final String? type = json['type']; + if (type == null) { + throw ArgumentError.notNull(path == null ? 'type' : '$path.type'); + } + return ByType(type); } } @@ -306,16 +329,31 @@ class Descendant extends SerializableFinder { } /// Deserializes the finder from JSON generated by [serialize]. - static Descendant deserialize(Map json, DeserializeFinderFactory finderFactory) { + static Descendant deserialize( + Map json, + DeserializeFinderFactory finderFactory, { + String? path, + }) { + final String? of = json['of']; + if (of == null) { + throw ArgumentError.notNull(path == null ? 'of' : '$path.of'); + } + final String? matching = json['matching']; + if (matching == null) { + throw ArgumentError.notNull(path == null ? 'matching' : '$path.matching'); + } final Map jsonOfMatcher = Map.from( - jsonDecode(json['of']!) as Map, + jsonDecode(of) as Map, ); final Map jsonMatchingMatcher = Map.from( - jsonDecode(json['matching']!) as Map, + jsonDecode(matching) as Map, ); return Descendant( - of: finderFactory.deserializeFinder(jsonOfMatcher), - matching: finderFactory.deserializeFinder(jsonMatchingMatcher), + of: finderFactory.deserializeFinder(jsonOfMatcher, path: path == null ? 'of' : '$path.of'), + matching: finderFactory.deserializeFinder( + jsonMatchingMatcher, + path: path == null ? 'matching' : '$path.matching', + ), matchRoot: json['matchRoot'] == 'true', firstMatchOnly: json['firstMatchOnly'] == 'true', ); @@ -362,16 +400,31 @@ class Ancestor extends SerializableFinder { } /// Deserializes the finder from JSON generated by [serialize]. - static Ancestor deserialize(Map json, DeserializeFinderFactory finderFactory) { + static Ancestor deserialize( + Map json, + DeserializeFinderFactory finderFactory, { + String? path, + }) { + final String? of = json['of']; + if (of == null) { + throw ArgumentError.notNull(path == null ? 'of' : '$path.of'); + } + final String? matching = json['matching']; + if (matching == null) { + throw ArgumentError.notNull(path == null ? 'matching' : '$path.matching'); + } final Map jsonOfMatcher = Map.from( - jsonDecode(json['of']!) as Map, + jsonDecode(of) as Map, ); final Map jsonMatchingMatcher = Map.from( - jsonDecode(json['matching']!) as Map, + jsonDecode(matching) as Map, ); return Ancestor( - of: finderFactory.deserializeFinder(jsonOfMatcher), - matching: finderFactory.deserializeFinder(jsonMatchingMatcher), + of: finderFactory.deserializeFinder(jsonOfMatcher, path: path == null ? 'of' : '$path.of'), + matching: finderFactory.deserializeFinder( + jsonMatchingMatcher, + path: path == null ? 'matching' : '$path.matching', + ), matchRoot: json['matchRoot'] == 'true', firstMatchOnly: json['firstMatchOnly'] == 'true', ); @@ -395,7 +448,7 @@ class GetSemanticsId extends CommandWithTarget { GetSemanticsId(super.finder, {super.timeout}); /// Creates a command from a JSON map. - GetSemanticsId.deserialize(super.json, super.finderFactory) : super.deserialize(); + GetSemanticsId.deserialize(super.json, super.finderFactory, {super.path}) : super.deserialize(); @override String get kind => 'get_semantics_id'; diff --git a/packages/flutter_driver/lib/src/common/frame_sync.dart b/packages/flutter_driver/lib/src/common/frame_sync.dart index f211640c30ad7..571228f799413 100644 --- a/packages/flutter_driver/lib/src/common/frame_sync.dart +++ b/packages/flutter_driver/lib/src/common/frame_sync.dart @@ -10,8 +10,10 @@ class SetFrameSync extends Command { const SetFrameSync(this.enabled, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - SetFrameSync.deserialize(super.json) - : enabled = json['enabled']!.toLowerCase() == 'true', + SetFrameSync.deserialize(super.json, {String? path}) + : enabled = json.containsKey('enabled') + ? json['enabled']!.toLowerCase() == 'true' + : throw ArgumentError.notNull(path == null ? 'enabled' : '$path.enabled'), super.deserialize(); /// Whether frameSync should be enabled or disabled. diff --git a/packages/flutter_driver/lib/src/common/geometry.dart b/packages/flutter_driver/lib/src/common/geometry.dart index 43c89e3dee1c9..cb7982c4bb64e 100644 --- a/packages/flutter_driver/lib/src/common/geometry.dart +++ b/packages/flutter_driver/lib/src/common/geometry.dart @@ -36,8 +36,13 @@ class GetOffset extends CommandWithTarget { GetOffset(super.finder, this.offsetType, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - GetOffset.deserialize(super.json, super.finderFactory) - : offsetType = _offsetTypeIndex.lookupBySimpleName(json['offsetType']!), + GetOffset.deserialize(super.json, super.finderFactory, {super.path}) + : offsetType = json.containsKey('offsetType') + ? _offsetTypeIndex.lookupBySimpleName( + json['offsetType']!, + path: path == null ? 'offsetType' : '$path.offsetType', + ) + : throw ArgumentError.notNull(path == null ? 'offsetType' : '$path.offsetType'), super.deserialize(); @override diff --git a/packages/flutter_driver/lib/src/common/gesture.dart b/packages/flutter_driver/lib/src/common/gesture.dart index ea13236044848..f06b7c142024e 100644 --- a/packages/flutter_driver/lib/src/common/gesture.dart +++ b/packages/flutter_driver/lib/src/common/gesture.dart @@ -13,7 +13,7 @@ class Tap extends CommandWithTarget { Tap(super.finder, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - Tap.deserialize(super.json, super.finderFactory) : super.deserialize(); + Tap.deserialize(super.json, super.finderFactory, {super.path}) : super.deserialize(); @override String get kind => 'tap'; @@ -26,11 +26,19 @@ class Scroll extends CommandWithTarget { Scroll(super.finder, this.dx, this.dy, this.duration, this.frequency, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - Scroll.deserialize(super.json, super.finderFactory) - : dx = double.parse(json['dx']!), - dy = double.parse(json['dy']!), - duration = Duration(microseconds: int.parse(json['duration']!)), - frequency = int.parse(json['frequency']!), + Scroll.deserialize(super.json, super.finderFactory, {super.path}) + : dx = json.containsKey('dx') + ? double.parse(json['dx']!) + : throw ArgumentError.notNull(path == null ? 'dx' : '$path.dx'), + dy = json.containsKey('dy') + ? double.parse(json['dy']!) + : throw ArgumentError.notNull(path == null ? 'dy' : '$path.dy'), + duration = json.containsKey('duration') + ? Duration(microseconds: int.parse(json['duration']!)) + : throw ArgumentError.notNull(path == null ? 'duration' : '$path.duration'), + frequency = json.containsKey('frequency') + ? int.parse(json['frequency']!) + : throw ArgumentError.notNull(path == null ? 'frequency' : '$path.frequency'), super.deserialize(); /// Delta X offset per move event. @@ -66,8 +74,8 @@ class ScrollIntoView extends CommandWithTarget { ScrollIntoView(super.finder, {this.alignment = 0.0, super.timeout}); /// Deserializes this command from the value generated by [serialize]. - ScrollIntoView.deserialize(super.json, super.finderFactory) - : alignment = double.parse(json['alignment']!), + ScrollIntoView.deserialize(super.json, super.finderFactory, {super.path}) + : alignment = json.containsKey('alignment') ? double.parse(json['alignment']!) : 0.0, super.deserialize(); /// How the widget should be aligned. diff --git a/packages/flutter_driver/lib/src/common/request_data.dart b/packages/flutter_driver/lib/src/common/request_data.dart index de4b972be3581..89871f99b9648 100644 --- a/packages/flutter_driver/lib/src/common/request_data.dart +++ b/packages/flutter_driver/lib/src/common/request_data.dart @@ -24,7 +24,7 @@ class RequestData extends Command { @override Map serialize() => - super.serialize()..addAll({if (message != null) 'message': message!}); + super.serialize()..addAll({'message': ?message}); } /// The result of the [RequestData] command. diff --git a/packages/flutter_driver/lib/src/common/screenshot.dart b/packages/flutter_driver/lib/src/common/screenshot.dart index 40c36d1217619..42849cad446cf 100644 --- a/packages/flutter_driver/lib/src/common/screenshot.dart +++ b/packages/flutter_driver/lib/src/common/screenshot.dart @@ -39,7 +39,9 @@ class ScreenshotCommand extends Command { /// Deserializes this command from the value generated by [serialize]. ScreenshotCommand.deserialize(super.json) - : format = ScreenshotFormat.values[int.tryParse(json['format']!) ?? 4], + : format = json.containsKey('format') + ? ScreenshotFormat.values[int.tryParse(json['format']!) ?? 4] + : ScreenshotFormat.png, super.deserialize(); /// Whether the resulting data is PNG compressed. diff --git a/packages/flutter_driver/lib/src/common/semantics.dart b/packages/flutter_driver/lib/src/common/semantics.dart index 21bb40833c513..d82e56266d472 100644 --- a/packages/flutter_driver/lib/src/common/semantics.dart +++ b/packages/flutter_driver/lib/src/common/semantics.dart @@ -10,8 +10,10 @@ class SetSemantics extends Command { const SetSemantics(this.enabled, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - SetSemantics.deserialize(super.json) - : enabled = json['enabled']!.toLowerCase() == 'true', + SetSemantics.deserialize(super.json, {String? path}) + : enabled = json.containsKey('enabled') + ? json['enabled']!.toLowerCase() == 'true' + : throw ArgumentError.notNull(path == null ? 'enabled' : '$path.enabled'), super.deserialize(); /// Whether semantics should be enabled (true) or disabled (false). diff --git a/packages/flutter_driver/lib/src/common/text.dart b/packages/flutter_driver/lib/src/common/text.dart index 124a8adf88853..89c2dff761626 100644 --- a/packages/flutter_driver/lib/src/common/text.dart +++ b/packages/flutter_driver/lib/src/common/text.dart @@ -11,7 +11,7 @@ class GetText extends CommandWithTarget { GetText(super.finder, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - GetText.deserialize(super.json, super.finderFactory) : super.deserialize(); + GetText.deserialize(super.json, super.finderFactory, {super.path}) : super.deserialize(); @override String get kind => 'get_text'; @@ -40,7 +40,11 @@ class EnterText extends Command { const EnterText(this.text, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - EnterText.deserialize(super.json) : text = json['text']!, super.deserialize(); + EnterText.deserialize(super.json, {String? path}) + : text = json.containsKey('text') + ? json['text']! + : throw ArgumentError.notNull(path == null ? 'text' : '$path.text'), + super.deserialize(); /// The text extracted by the [GetText] command. final String text; diff --git a/packages/flutter_driver/lib/src/common/text_input_action.dart b/packages/flutter_driver/lib/src/common/text_input_action.dart index 908124bff04f3..47cee0dcb6c44 100644 --- a/packages/flutter_driver/lib/src/common/text_input_action.dart +++ b/packages/flutter_driver/lib/src/common/text_input_action.dart @@ -18,8 +18,13 @@ class SendTextInputAction extends Command { const SendTextInputAction(this.textInputAction, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - SendTextInputAction.deserialize(super.json) - : textInputAction = _textInputActionIndex.lookupBySimpleName(json['action']!), + SendTextInputAction.deserialize(super.json, {String? path}) + : textInputAction = json.containsKey('action') + ? _textInputActionIndex.lookupBySimpleName( + json['action']!, + path: path == null ? 'action' : '$path.action', + ) + : throw ArgumentError.notNull(path == null ? 'action' : '$path.action'), super.deserialize(); /// The [TextInputAction] diff --git a/packages/flutter_driver/lib/src/common/wait.dart b/packages/flutter_driver/lib/src/common/wait.dart index ebf6aec1aa6b5..bf751422974ad 100644 --- a/packages/flutter_driver/lib/src/common/wait.dart +++ b/packages/flutter_driver/lib/src/common/wait.dart @@ -15,7 +15,11 @@ class WaitForCondition extends Command { const WaitForCondition(this.condition, {super.timeout}); /// Deserializes this command from the value generated by [serialize]. - WaitForCondition.deserialize(super.json) : condition = _deserialize(json), super.deserialize(); + /// + /// The [path] is the current path to the [json] object from the parent object. + WaitForCondition.deserialize(super.json, {String? path}) + : condition = _deserialize(json, path: path), + super.deserialize(); /// The condition that this command shall wait for. final SerializableWaitCondition condition; @@ -167,7 +171,7 @@ class CombinedCondition extends SerializableWaitCondition { /// Factory constructor to parse a [CombinedCondition] instance from the /// given JSON map. - factory CombinedCondition.deserialize(Map jsonMap) { + factory CombinedCondition.deserialize(Map jsonMap, {String? path}) { if (jsonMap['conditionName'] != 'CombinedCondition') { throw SerializationException( 'Error occurred during deserializing the CombinedCondition JSON string: $jsonMap', @@ -178,9 +182,16 @@ class CombinedCondition extends SerializableWaitCondition { } final List conditions = []; + int i = 0; for (final Map condition in (json.decode(jsonMap['conditions']!) as List).cast>()) { - conditions.add(_deserialize(condition.cast())); + conditions.add( + _deserialize( + condition.cast(), + path: path == null ? 'conditions[$i]' : '$path.conditions[$i]', + ), + ); + i++; } return CombinedCondition(conditions); } @@ -205,13 +216,17 @@ class CombinedCondition extends SerializableWaitCondition { } /// Parses a [SerializableWaitCondition] or its subclass from the given [json] map. -SerializableWaitCondition _deserialize(Map json) { - return switch (json['conditionName']!) { +SerializableWaitCondition _deserialize(Map json, {String? path}) { + final String? conditionName = json['conditionName']; + if (conditionName == null) { + throw ArgumentError.notNull(path == null ? 'conditionName' : '$path.conditionName'); + } + return switch (conditionName) { 'NoTransientCallbacksCondition' => NoTransientCallbacks.deserialize(json), 'NoPendingFrameCondition' => NoPendingFrame.deserialize(json), 'FirstFrameRasterizedCondition' => FirstFrameRasterized.deserialize(json), 'NoPendingPlatformMessagesCondition' => NoPendingPlatformMessages.deserialize(json), - 'CombinedCondition' => CombinedCondition.deserialize(json), + 'CombinedCondition' => CombinedCondition.deserialize(json, path: path), final String condition => throw SerializationException( 'Unsupported wait condition $condition in the JSON string $json', ), diff --git a/packages/flutter_driver/lib/src/extension/extension.dart b/packages/flutter_driver/lib/src/extension/extension.dart index 049de69b2028d..406992530b7d5 100644 --- a/packages/flutter_driver/lib/src/extension/extension.dart +++ b/packages/flutter_driver/lib/src/extension/extension.dart @@ -138,7 +138,7 @@ class _DriverBinding extends BindingBase /// String get finderType => 'SomeFinder'; /// /// @override -/// SerializableFinder deserialize(Map params, DeserializeFinderFactory finderFactory) { +/// SerializableFinder deserialize(Map params, DeserializeFinderFactory finderFactory, {String? path}) { /// return SomeFinder(params['title']!); /// } /// @@ -441,13 +441,13 @@ class FlutterDriverExtension } @override - SerializableFinder deserializeFinder(Map json) { + SerializableFinder deserializeFinder(Map json, {String? path}) { final String? finderType = json['finderType']; if (_finderExtensions.containsKey(finderType)) { return _finderExtensions[finderType]!.deserialize(json, this); } - return super.deserializeFinder(json); + return super.deserializeFinder(json, path: path); } @override @@ -461,13 +461,17 @@ class FlutterDriverExtension } @override - Command deserializeCommand(Map params, DeserializeFinderFactory finderFactory) { + Command deserializeCommand( + Map params, + DeserializeFinderFactory finderFactory, { + String? path, + }) { final String? kind = params['command']; if (_commandExtensions.containsKey(kind)) { return _commandExtensions[kind]!.deserialize(params, finderFactory, this); } - return super.deserializeCommand(params, finderFactory); + return super.deserializeCommand(params, finderFactory, path: path); } @override diff --git a/packages/flutter_driver/test/src/real_tests/find_test.dart b/packages/flutter_driver/test/src/real_tests/find_test.dart index 25dae5d33ac1c..524a93dc36e2a 100644 --- a/packages/flutter_driver/test/src/real_tests/find_test.dart +++ b/packages/flutter_driver/test/src/real_tests/find_test.dart @@ -39,6 +39,61 @@ void main() { expect(a.firstMatchOnly, isTrue); }); + test('Ancestor finder deserialize with missing `of`', () { + final Map serialized = { + 'finderType': 'Ancestor', + 'matching': '{"finderType":"ByValueKey","keyValueString":"hello","keyValueType":"String"}', + 'matchRoot': 'true', + 'firstMatchOnly': 'true', + }; + + expect( + () => Ancestor.deserialize(serialized, fakeDeserialize), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'of'), + ), + ); + }); + + test('Ancestor finder deserialize with missing `matching`', () { + final Map serialized = { + 'finderType': 'Ancestor', + 'of': '{"finderType":"ByType","type":"Text","text":"Hi"}', + 'matchRoot': 'true', + 'firstMatchOnly': 'true', + }; + + expect( + () => Ancestor.deserialize(serialized, fakeDeserialize), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'matching'), + ), + ); + }); + + test('Ancestor finder deserialize with missing nested `of.type`', () { + final Map serialized = { + 'finderType': 'Ancestor', + 'matching': '{"finderType":"ByValueKey","keyValueString":"hello","keyValueType":"String"}', + 'of': '{"finderType":"ByType"}', + 'matchRoot': 'true', + 'firstMatchOnly': 'true', + }; + + expect( + () => Ancestor.deserialize(serialized, fakeDeserialize), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'of.type'), + ), + ); + }); + test('Descendant finder serialize', () { const SerializableFinder of = ByType('Text'); final SerializableFinder matching = ByValueKey('hello'); @@ -73,6 +128,191 @@ void main() { expect(a.matchRoot, isTrue); expect(a.firstMatchOnly, isTrue); }); + + test('Descendant finder deserialize with missing `of`', () { + final Map serialized = { + 'finderType': 'Descendant', + 'matching': '{"finderType":"ByValueKey","keyValueString":"hello","keyValueType":"String"}', + 'matchRoot': 'true', + 'firstMatchOnly': 'true', + }; + + expect( + () => Descendant.deserialize(serialized, fakeDeserialize), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'of'), + ), + ); + }); + + test('Descendant finder deserialize with missing `matching`', () { + final Map serialized = { + 'finderType': 'Descendant', + 'of': '{"finderType":"ByType","type":"Text","text":"Hi"}', + 'matchRoot': 'true', + 'firstMatchOnly': 'true', + }; + + expect( + () => Descendant.deserialize(serialized, fakeDeserialize), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'matching'), + ), + ); + }); + + group('ByTooltipMessage', () { + test('serializes and deserializes', () { + const ByTooltipMessage finder = ByTooltipMessage('hello'); + final ByTooltipMessage roundTrip = ByTooltipMessage.deserialize(finder.serialize()); + expect(roundTrip.text, 'hello'); + }); + + test('deserialize with missing text', () { + final Map serialized = {'finderType': 'ByTooltipMessage'}; + expect( + () => ByTooltipMessage.deserialize(serialized), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'text'), + ), + ); + }); + }); + + group('BySemanticsLabel', () { + test('serializes and deserializes', () { + const BySemanticsLabel finder = BySemanticsLabel('hello'); + final BySemanticsLabel roundTrip = BySemanticsLabel.deserialize(finder.serialize()); + expect(roundTrip.label, 'hello'); + }); + + test('serializes and deserializes with regexp', () { + final BySemanticsLabel finder = BySemanticsLabel(RegExp('hello')); + final BySemanticsLabel roundTrip = BySemanticsLabel.deserialize(finder.serialize()); + expect(roundTrip.label, isA()); + expect((roundTrip.label as RegExp).pattern, 'hello'); + }); + + test('deserialize with missing label', () { + final Map serialized = {'finderType': 'BySemanticsLabel'}; + expect( + () => BySemanticsLabel.deserialize(serialized), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'label'), + ), + ); + }); + }); + + group('ByText', () { + test('serializes and deserializes', () { + const ByText finder = ByText('hello'); + final ByText roundTrip = ByText.deserialize(finder.serialize()); + expect(roundTrip.text, 'hello'); + }); + + test('deserialize with missing text', () { + final Map serialized = {'finderType': 'ByText'}; + expect( + () => ByText.deserialize(serialized), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'text'), + ), + ); + }); + }); + + group('ByValueKey', () { + test('serializes and deserializes with string', () { + final ByValueKey finder = ByValueKey('hello'); + final ByValueKey roundTrip = ByValueKey.deserialize(finder.serialize()); + expect(roundTrip.keyValue, 'hello'); + }); + + test('serializes and deserializes with int', () { + final ByValueKey finder = ByValueKey(123); + final ByValueKey roundTrip = ByValueKey.deserialize(finder.serialize()); + expect(roundTrip.keyValue, 123); + }); + + test('deserialize with missing keyValueString', () { + final Map serialized = { + 'finderType': 'ByValueKey', + 'keyValueType': 'String', + }; + expect( + () => ByValueKey.deserialize(serialized), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'keyValueString'), + ), + ); + }); + + test('deserialize with missing keyValueType', () { + final Map serialized = { + 'finderType': 'ByValueKey', + 'keyValueString': 'hello', + }; + expect( + () => ByValueKey.deserialize(serialized), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'keyValueType'), + ), + ); + }); + + test('deserialize with unsupported keyValueType', () { + final Map serialized = { + 'finderType': 'ByValueKey', + 'keyValueString': 'hello', + 'keyValueType': 'double', + }; + expect( + () => ByValueKey.deserialize(serialized), + throwsA( + isA().having( + (DriverError e) => e.message, + 'message', + 'Unsupported key value type double. Flutter Driver only supports String, int', + ), + ), + ); + }); + }); + + group('ByType', () { + test('serializes and deserializes', () { + const ByType finder = ByType('Text'); + final ByType roundTrip = ByType.deserialize(finder.serialize()); + expect(roundTrip.type, 'Text'); + }); + + test('deserialize with missing type', () { + final Map serialized = {'finderType': 'ByType'}; + expect( + () => ByType.deserialize(serialized), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'type'), + ), + ); + }); + }); } class FakeDeserialize extends Fake with DeserializeFinderFactory {} diff --git a/packages/flutter_driver/test/src/real_tests/request_data_test.dart b/packages/flutter_driver/test/src/real_tests/request_data_test.dart index d2da5703eebe9..76f251fb12a31 100644 --- a/packages/flutter_driver/test/src/real_tests/request_data_test.dart +++ b/packages/flutter_driver/test/src/real_tests/request_data_test.dart @@ -7,9 +7,17 @@ import 'package:flutter_driver/flutter_driver.dart'; import '../../common.dart'; void main() { - test('RequestData does not insert "null" string when no message is provided', () { - const RequestData data = RequestData(null); + group('RequestData', () { + test('does not insert "null" string when no message is provided', () { + const RequestData data = RequestData(null); - expect(data.serialize(), {'command': 'request_data'}); + expect(data.serialize(), {'command': 'request_data'}); + }); + + test('serializes and deserializes', () { + const RequestData data = RequestData('hello'); + final RequestData roundTrip = RequestData.deserialize(data.serialize()); + expect(roundTrip.message, 'hello'); + }); }); } diff --git a/packages/flutter_driver/test/src/real_tests/text_input_action_test.dart b/packages/flutter_driver/test/src/real_tests/text_input_action_test.dart index 241e9b50c01ee..57e999b76e4da 100644 --- a/packages/flutter_driver/test/src/real_tests/text_input_action_test.dart +++ b/packages/flutter_driver/test/src/real_tests/text_input_action_test.dart @@ -3,9 +3,34 @@ // found in the LICENSE file. import 'package:flutter_driver/flutter_driver.dart' as flutter_driver; +import 'package:flutter_driver/src/common/text_input_action.dart' as command; import 'package:flutter_test/flutter_test.dart'; void main() { + group('SendTextInputAction', () { + test('serializes and deserializes', () { + const command.SendTextInputAction action = command.SendTextInputAction( + flutter_driver.TextInputAction.done, + ); + final command.SendTextInputAction roundTrip = command.SendTextInputAction.deserialize( + action.serialize(), + ); + expect(roundTrip.textInputAction, flutter_driver.TextInputAction.done); + }); + + test('deserialize with missing action', () { + final Map serialized = {'command': 'send_text_input_action'}; + expect( + () => command.SendTextInputAction.deserialize(serialized), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'action'), + ), + ); + }); + }); + test('flutter_driver.TextInputAction should be sync with TextInputAction', () { final List actual = flutter_driver.TextInputAction.values .map((flutter_driver.TextInputAction action) => action.name) diff --git a/packages/flutter_driver/test/src/real_tests/wait_test.dart b/packages/flutter_driver/test/src/real_tests/wait_test.dart index 1816d46e8ed00..f670f296f0272 100644 --- a/packages/flutter_driver/test/src/real_tests/wait_test.dart +++ b/packages/flutter_driver/test/src/real_tests/wait_test.dart @@ -51,6 +51,18 @@ void main() { expect(waitForCondition.timeout, equals(const Duration(milliseconds: 10))); }); + test('WaitForCondition deserialize with missing conditionName', () { + final Map jsonMap = {'command': 'waitForCondition'}; + expect( + () => WaitForCondition.deserialize(jsonMap), + throwsA( + isA() + .having((ArgumentError e) => e.message, 'message', 'Must not be null') + .having((ArgumentError e) => e.name, 'name', 'conditionName'), + ), + ); + }); + test('WaitForCondition requiresRootWidget', () { expect(const WaitForCondition(NoTransientCallbacks()).requiresRootWidgetAttached, isTrue); expect(const WaitForCondition(FirstFrameRasterized()).requiresRootWidgetAttached, isFalse); diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_af.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_af.arb index 246e6e750fc6a..0df5375f8aacf 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_af.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_af.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Deel …", "clearButtonLabel": "Vee uit", "cancelButtonLabel": "Kanselleer", - "backButtonLabel": "Terug" + "backButtonLabel": "Terug", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_am.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_am.arb index 54f9b08cbac8d..c7a1a187e0348 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_am.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_am.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "አጋራ...", "clearButtonLabel": "አጽዳ", "cancelButtonLabel": "ይቅር", - "backButtonLabel": "ተመለስ" + "backButtonLabel": "ተመለስ", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ar.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ar.arb index a68dc1f8dbf72..aba06359389f0 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ar.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ar.arb @@ -49,5 +49,11 @@ "searchWebButtonLabel": "البحث على الويب", "shareButtonLabel": "مشاركة…", "cancelButtonLabel": "الإلغاء", - "backButtonLabel": "رجوع" + "backButtonLabel": "رجوع", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_as.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_as.arb index 44c09fc05c574..55a1c19fa3a37 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_as.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_as.arb @@ -29,5 +29,11 @@ "searchWebButtonLabel": "ৱেবত সন্ধান কৰক", "shareButtonLabel": "শ্বেয়াৰ কৰক…", "cancelButtonLabel": "বাতিল কৰক", - "backButtonLabel": "উভতি যাওক" + "backButtonLabel": "উভতি যাওক", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_az.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_az.arb index 0a0d115b8760b..840b835b3e560 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_az.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_az.arb @@ -29,5 +29,11 @@ "searchWebButtonLabel": "Vebdə axtarın", "shareButtonLabel": "Paylaşın...", "cancelButtonLabel": "Ləğv edin", - "backButtonLabel": "Geri" + "backButtonLabel": "Geri", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_be.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_be.arb index 4224289245e3c..f08c770bc98f1 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_be.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_be.arb @@ -39,5 +39,11 @@ "searchWebButtonLabel": "Пошук у сетцы", "shareButtonLabel": "Абагуліць...", "cancelButtonLabel": "Скасаваць", - "backButtonLabel": "Назад" + "backButtonLabel": "Назад", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_bg.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_bg.arb index c0cf127c3be57..4308281f60b1a 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_bg.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_bg.arb @@ -29,5 +29,11 @@ "searchWebButtonLabel": "Търсене в мрежата", "shareButtonLabel": "Споделяне...", "cancelButtonLabel": "Отказ", - "backButtonLabel": "Назад" + "backButtonLabel": "Назад", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_bn.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_bn.arb index 6f15a8f902e2f..08810dc5918bd 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_bn.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_bn.arb @@ -29,5 +29,11 @@ "searchWebButtonLabel": "ওয়েবে সার্চ করুন", "shareButtonLabel": "শেয়ার করুন...", "cancelButtonLabel": "বাতিল করুন", - "backButtonLabel": "ফিরে যান" + "backButtonLabel": "ফিরে যান", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_bo.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_bo.arb index da02aa078cfe8..9c9610ff01b14 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_bo.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_bo.arb @@ -29,5 +29,11 @@ "modalBarrierDismissLabel": "འདོར་བ།", "menuDismissLabel": "ཐོ་གཞུང་འདོར་བ།", "cancelButtonLabel": "ཕྱིར་འཐེན།", - "backButtonLabel": "Back" + "backButtonLabel": "Back", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_bs.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_bs.arb index 4ecd63aed837f..a014195b8474c 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_bs.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_bs.arb @@ -34,5 +34,11 @@ "searchWebButtonLabel": "Pretraži Web", "shareButtonLabel": "Dijeli...", "cancelButtonLabel": "Otkaži", - "backButtonLabel": "Nazad" + "backButtonLabel": "Nazad", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ca.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ca.arb index c359c0c42c31d..2f136d875bd46 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ca.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ca.arb @@ -29,5 +29,11 @@ "searchWebButtonLabel": "Cerca al web", "shareButtonLabel": "Comparteix...", "cancelButtonLabel": "Cancel·la", - "backButtonLabel": "Enrere" + "backButtonLabel": "Enrere", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_cs.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_cs.arb index 4db3eebfa67d8..afd607db1fd50 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_cs.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_cs.arb @@ -39,5 +39,11 @@ "searchWebButtonLabel": "Vyhledávat na webu", "shareButtonLabel": "Sdílet…", "cancelButtonLabel": "Zrušit", - "backButtonLabel": "Zpět" + "backButtonLabel": "Zpět", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_cy.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_cy.arb index 04adcb2a83e06..c733439c25324 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_cy.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_cy.arb @@ -49,5 +49,11 @@ "searchWebButtonLabel": "Chwilio'r We", "shareButtonLabel": "Rhannu...", "cancelButtonLabel": "Canslo", - "backButtonLabel": "Nôl" + "backButtonLabel": "Nôl", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_da.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_da.arb index fb4ff6da804d3..379b8d833e928 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_da.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_da.arb @@ -29,5 +29,11 @@ "searchWebButtonLabel": "Søg på nettet", "shareButtonLabel": "Del…", "cancelButtonLabel": "Annuller", - "backButtonLabel": "Tilbage" + "backButtonLabel": "Tilbage", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_de.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_de.arb index 9c5230c22cfca..4427b0f60476e 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_de.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_de.arb @@ -29,5 +29,11 @@ "searchWebButtonLabel": "Im Web suchen", "shareButtonLabel": "Teilen…", "cancelButtonLabel": "Abbrechen", - "backButtonLabel": "Zurück" + "backButtonLabel": "Zurück", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_el.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_el.arb index 0e58a2c75a1ce..87afea1b67dba 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_el.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_el.arb @@ -29,5 +29,11 @@ "searchWebButtonLabel": "Αναζήτηση στον ιστό", "shareButtonLabel": "Κοινοποίηση…", "cancelButtonLabel": "Ακύρωση", - "backButtonLabel": "Πίσω" + "backButtonLabel": "Πίσω", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_en.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_en.arb index 960a808165fd4..6a459d19a6659 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_en.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_en.arb @@ -213,5 +213,35 @@ "backButtonLabel": "Back", "@backButtonLabel": { "description": "Label for the back button. Used as the semantic label for the back button in CupertinoNavigationBar and CupertinoSliverNavigationBar and as a fallback display when the previous page title is truncated." + }, + + "expansionTileExpandedHint": "double tap to collapse", + "@expansionTileExpandedHint": { + "description": "The verb which describes the tap action on an expanded CupertinoExpansionTile. This is used by VoiceOver on iOS and macOS. This string will be appended to the collapsedHint string which describes the action to be performed on an expanded CupertinoExpansionTile. In the case of US english, this would be 'Expanded\n double tap to collapse.' The exact phrasing of the hint will vary based on locale" + }, + + "expansionTileCollapsedHint": "double tap to expand", + "@expansionTileCollapsedHint": { + "description": "The verb which describes the tap action on a collapsed CupertinoExpansionTile. This is used by VoiceOver on iOS and macOS. This string will be appended to the expandedHint string which describes the action to be performed on a collapsed CupertinoExpansionTile. In the case of US english, this would be 'Collapsed\n double tap to expand.' The exact phrasing of the hint will vary based on locale" + }, + + "expansionTileExpandedTapHint": "Collapse", + "@expansionTileExpandedTapHint": { + "description": "The verb which describes what happens when an expanded CupertinoExpansionTile is pressed. This is used by TalkBack on Android to replace the default hint on the accessibility action. The verb will be concatenated with a prefix string which describes how to perform the action, which by default is 'double tap to activate'. In the case of US english, this would be 'double tap to collapse.' The exact phrasing of the hint will vary based on locale" + }, + + "expansionTileCollapsedTapHint": "Expand for more details", + "@expansionTileCollapsedTapHint": { + "description": "The verb which describes what happens when an expanded CupertinoExpansionTile is pressed. This is used by TalkBack on Android to replace the default hint on the accessibility action. The verb will be concatenated with a prefix string which describes how to perform the action, which by default is 'double tap to activate'. In the case of US english, this would be 'double tap to expand for more details.' The exact phrasing of the hint will vary based on locale" + }, + + "expandedHint": "Collapsed", + "@expandedHint": { + "description": "The verb which describes the CupertinoExpansionTile state when an expanded CupertinoExpansionTile is pressed." + }, + + "collapsedHint": "Expanded", + "@collapsedHint": { + "description": "The verb which describes the CupertinoExpansionTile state when a collapsed CupertinoExpansionTile is pressed." } } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_es.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_es.arb index 098c4e7e2655e..b833e53d0b103 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_es.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_es.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Compartir...", "clearButtonLabel": "Borrar", "cancelButtonLabel": "Cancelar", - "backButtonLabel": "Atrás" + "backButtonLabel": "Atrás", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_et.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_et.arb index 2fa295e537bfc..53afaad720c15 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_et.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_et.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Jaga …", "clearButtonLabel": "Kustutamine", "cancelButtonLabel": "Tühista", - "backButtonLabel": "Tagasi" + "backButtonLabel": "Tagasi", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_eu.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_eu.arb index df7ecb26881ca..865855effc1b6 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_eu.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_eu.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Partekatu...", "clearButtonLabel": "Garbitu", "cancelButtonLabel": "Utzi", - "backButtonLabel": "Atzera" + "backButtonLabel": "Atzera", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_fa.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_fa.arb index 39b69c13bf5b0..d36b040561efe 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_fa.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_fa.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "هم‌رسانی…", "clearButtonLabel": "پاک کردن", "cancelButtonLabel": "لغو", - "backButtonLabel": "برگشتن" + "backButtonLabel": "برگشتن", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_fi.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_fi.arb index a35a4337b4443..0d82a024ec3b1 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_fi.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_fi.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Jaa…", "clearButtonLabel": "Tyhjennä", "cancelButtonLabel": "Peru", - "backButtonLabel": "Takaisin" + "backButtonLabel": "Takaisin", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_fil.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_fil.arb index 831d358374404..a3a92ecbc9f48 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_fil.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_fil.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Ibahagi...", "clearButtonLabel": "I-clear", "cancelButtonLabel": "Kanselahin", - "backButtonLabel": "Bumalik" + "backButtonLabel": "Bumalik", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_fr.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_fr.arb index 63836bd51d1a6..7ca16f0420eee 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_fr.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_fr.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Partager…", "clearButtonLabel": "Effacer", "cancelButtonLabel": "Annuler", - "backButtonLabel": "Retour" + "backButtonLabel": "Retour", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ga.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ga.arb index c2761be38de91..1f5cfe0559009 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ga.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ga.arb @@ -44,5 +44,11 @@ "modalBarrierDismissLabel": "Ruaig", "menuDismissLabel": "Ruaig an roghchlár", "cancelButtonLabel": "Cealaigh", - "backButtonLabel": "Siar" + "backButtonLabel": "Siar", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_gl.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_gl.arb index f73aeda7fe2bf..d250bccd7da1d 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_gl.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_gl.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Compartir…", "clearButtonLabel": "Borrar", "cancelButtonLabel": "Cancelar", - "backButtonLabel": "Atrás" + "backButtonLabel": "Atrás", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_gsw.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_gsw.arb index c8780b0c98828..0150c2249575c 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_gsw.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_gsw.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Teilen…", "clearButtonLabel": "Löschen", "cancelButtonLabel": "Abbrechen", - "backButtonLabel": "Zurück" + "backButtonLabel": "Zurück", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_gu.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_gu.arb index 0aeaa5f47c67c..16a79a08cf918 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_gu.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_gu.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "શેર કરો…", "clearButtonLabel": "સાફ કરો", "cancelButtonLabel": "રદ કરો", - "backButtonLabel": "પાછળ" + "backButtonLabel": "પાછળ", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_he.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_he.arb index 6c8204dc8fea7..86bf9ad76b42b 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_he.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_he.arb @@ -39,5 +39,11 @@ "shareButtonLabel": "שיתוף…", "clearButtonLabel": "ניקוי", "cancelButtonLabel": "ביטול", - "backButtonLabel": "למסך הקודם" + "backButtonLabel": "למסך הקודם", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_hi.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_hi.arb index 7921cff26b635..1b2ee4596f596 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_hi.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_hi.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "शेयर करें…", "clearButtonLabel": "मिटाएं", "cancelButtonLabel": "रद्द करें", - "backButtonLabel": "वापस जाएं" + "backButtonLabel": "वापस जाएं", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_hr.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_hr.arb index bc7ed3758c564..eeeff1f5dd0cd 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_hr.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_hr.arb @@ -34,5 +34,11 @@ "shareButtonLabel": "Dijeli...", "clearButtonLabel": "Izbriši", "cancelButtonLabel": "Odustani", - "backButtonLabel": "Natrag" + "backButtonLabel": "Natrag", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_hu.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_hu.arb index 85ca273920bcc..ed0cb2477e65c 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_hu.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_hu.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Megosztás…", "clearButtonLabel": "Törlés", "cancelButtonLabel": "Mégse", - "backButtonLabel": "Vissza" + "backButtonLabel": "Vissza", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_hy.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_hy.arb index beb42e2384f47..9c0901c75307c 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_hy.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_hy.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Կիսվել...", "clearButtonLabel": "Մաքրել", "cancelButtonLabel": "Չեղարկել", - "backButtonLabel": "Հետ" + "backButtonLabel": "Հետ", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_id.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_id.arb index 06bd13a885aee..384eb84558c44 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_id.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_id.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Bagikan...", "clearButtonLabel": "Hapus", "cancelButtonLabel": "Batal", - "backButtonLabel": "Kembali" + "backButtonLabel": "Kembali", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_is.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_is.arb index 9248f33c0f27c..889446f47597d 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_is.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_is.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Deila...", "clearButtonLabel": "Hreinsa", "cancelButtonLabel": "Hætta við", - "backButtonLabel": "Til baka" + "backButtonLabel": "Til baka", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_it.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_it.arb index 8e1e2b203bfeb..dff9dc5d47281 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_it.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_it.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Condividi…", "clearButtonLabel": "Cancella", "cancelButtonLabel": "Annulla", - "backButtonLabel": "Indietro" + "backButtonLabel": "Indietro", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ja.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ja.arb index 18fdbb338fce3..c74e2c9dd254d 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ja.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ja.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "共有...", "clearButtonLabel": "消去", "cancelButtonLabel": "キャンセル", - "backButtonLabel": "戻る" + "backButtonLabel": "戻る", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ka.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ka.arb index 0a5484d3233d2..3386fd74f22b9 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ka.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ka.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "გაზიარება...", "clearButtonLabel": "გასუფთავება", "cancelButtonLabel": "გაუქმება", - "backButtonLabel": "უკან" + "backButtonLabel": "უკან", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_kk.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_kk.arb index d8a099e7352ac..1f0c140eec577 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_kk.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_kk.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Бөлісу…", "clearButtonLabel": "Өшіру", "cancelButtonLabel": "Бас тарту", - "backButtonLabel": "Артқа" + "backButtonLabel": "Артқа", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_km.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_km.arb index afcafb0dfaf0a..569dc4e293e35 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_km.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_km.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "ចែករំលែក...", "clearButtonLabel": "សម្អាត", "cancelButtonLabel": "បោះបង់", - "backButtonLabel": "ថយក្រោយ" + "backButtonLabel": "ថយក្រោយ", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_kn.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_kn.arb index 1b604aecc04ad..d594bbfbd2bbf 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_kn.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_kn.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "\u0cb9\u0c82\u0c9a\u0cbf\u0c95\u0cca\u0cb3\u0ccd\u0cb3\u0cbf\u002e\u002e\u002e", "clearButtonLabel": "\u0ca4\u0cc6\u0cb0\u0cb5\u0cc1\u0c97\u0cca\u0cb3\u0cbf\u0cb8\u0cbf", "cancelButtonLabel": "\u0cb0\u0ca6\u0ccd\u0ca6\u0cc1\u0cae\u0cbe\u0ca1\u0cbf", - "backButtonLabel": "\u0cb9\u0cbf\u0c82\u0ca6\u0cc6" + "backButtonLabel": "\u0cb9\u0cbf\u0c82\u0ca6\u0cc6", + "expansionTileExpandedHint": "\u0064\u006f\u0075\u0062\u006c\u0065\u0020\u0074\u0061\u0070\u0020\u0074\u006f\u0020\u0063\u006f\u006c\u006c\u0061\u0070\u0073\u0065\u0027", + "expansionTileCollapsedHint": "\u0064\u006f\u0075\u0062\u006c\u0065\u0020\u0074\u0061\u0070\u0020\u0074\u006f\u0020\u0065\u0078\u0070\u0061\u006e\u0064", + "expansionTileExpandedTapHint": "\u0043\u006f\u006c\u006c\u0061\u0070\u0073\u0065", + "expansionTileCollapsedTapHint": "\u0045\u0078\u0070\u0061\u006e\u0064\u0020\u0066\u006f\u0072\u0020\u006d\u006f\u0072\u0065\u0020\u0064\u0065\u0074\u0061\u0069\u006c\u0073", + "expandedHint": "\u0043\u006f\u006c\u006c\u0061\u0070\u0073\u0065\u0064", + "collapsedHint": "\u0045\u0078\u0070\u0061\u006e\u0064\u0065\u0064" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ko.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ko.arb index 5a7fdf47c6ec3..fc9833da99fa0 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ko.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ko.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "공유...", "clearButtonLabel": "삭제", "cancelButtonLabel": "취소", - "backButtonLabel": "뒤로" + "backButtonLabel": "뒤로", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ky.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ky.arb index cce34cf0beefb..8eb3c7790d8b5 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ky.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ky.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Бөлүшүү…", "clearButtonLabel": "Тазалоо", "cancelButtonLabel": "Токтотуу", - "backButtonLabel": "Артка" + "backButtonLabel": "Артка", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_lo.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_lo.arb index e1cd7b024c134..08c46d775db4b 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_lo.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_lo.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "ແບ່ງປັນ...", "clearButtonLabel": "ລຶບລ້າງ", "cancelButtonLabel": "ຍົກເລີກ", - "backButtonLabel": "ກັບຄືນ" + "backButtonLabel": "ກັບຄືນ", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_lt.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_lt.arb index d62f4754bd954..aebe71af95438 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_lt.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_lt.arb @@ -39,5 +39,11 @@ "shareButtonLabel": "Bendrinti...", "clearButtonLabel": "Išvalyti", "cancelButtonLabel": "Atšaukti", - "backButtonLabel": "Atgal" + "backButtonLabel": "Atgal", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_lv.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_lv.arb index edb861d70cd1c..02bed5aa68127 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_lv.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_lv.arb @@ -34,5 +34,11 @@ "shareButtonLabel": "Kopīgot…", "clearButtonLabel": "Notīrīt", "cancelButtonLabel": "Atcelt", - "backButtonLabel": "Atpakaļ" + "backButtonLabel": "Atpakaļ", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_mk.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_mk.arb index 43df9da65c41e..c33c97340f868 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_mk.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_mk.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Споделете...", "clearButtonLabel": "Избриши", "cancelButtonLabel": "Откажи", - "backButtonLabel": "Назад" + "backButtonLabel": "Назад", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ml.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ml.arb index 34dff230af7aa..b7cfc039af660 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ml.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ml.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "പങ്കിടുക...", "clearButtonLabel": "മായ്ക്കുക", "cancelButtonLabel": "റദ്ദാക്കുക", - "backButtonLabel": "മടങ്ങുക" + "backButtonLabel": "മടങ്ങുക", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_mn.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_mn.arb index 7ff824bb8a269..b592db2944da2 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_mn.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_mn.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Хуваалцах...", "clearButtonLabel": "Арилгах", "cancelButtonLabel": "Цуцлах", - "backButtonLabel": "Буцах" + "backButtonLabel": "Буцах", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_mr.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_mr.arb index 4dc948eb6fa51..f0fba2b566670 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_mr.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_mr.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "शेअर करा...", "clearButtonLabel": "साफ करा", "cancelButtonLabel": "रद्द करा", - "backButtonLabel": "मागे जा" + "backButtonLabel": "मागे जा", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ms.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ms.arb index 2a98937b13421..f8045157bd9d8 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ms.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ms.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Kongsi...", "clearButtonLabel": "Kosongkan", "cancelButtonLabel": "Batal", - "backButtonLabel": "Kembali" + "backButtonLabel": "Kembali", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_my.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_my.arb index 2fd2ac3b971ee..1408793a74de7 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_my.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_my.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "မျှဝေရန်...", "clearButtonLabel": "ဖယ်ရှားရန်", "cancelButtonLabel": "မလုပ်တော့", - "backButtonLabel": "နောက်သို့" + "backButtonLabel": "နောက်သို့", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_nb.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_nb.arb index dfbe46b875fb9..cd708169e29d3 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_nb.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_nb.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Del…", "clearButtonLabel": "Slett", "cancelButtonLabel": "Avbryt", - "backButtonLabel": "Tilbake" + "backButtonLabel": "Tilbake", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ne.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ne.arb index 0d5624ae32dff..31236897422c8 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ne.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ne.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "सेयर गर्नुहोस्...", "clearButtonLabel": "हटाउनुहोस्", "cancelButtonLabel": "रद्द गर्नुहोस्", - "backButtonLabel": "पछाडि" + "backButtonLabel": "पछाडि", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_nl.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_nl.arb index 020289957f51a..490a63e23c77c 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_nl.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_nl.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Delen...", "clearButtonLabel": "Wissen", "cancelButtonLabel": "Annuleren", - "backButtonLabel": "Terug" + "backButtonLabel": "Terug", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_no.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_no.arb index dfbe46b875fb9..cd708169e29d3 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_no.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_no.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Del…", "clearButtonLabel": "Slett", "cancelButtonLabel": "Avbryt", - "backButtonLabel": "Tilbake" + "backButtonLabel": "Tilbake", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_or.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_or.arb index 9e749e6482512..ceb24a125b593 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_or.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_or.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "ସେୟାର୍ କରନ୍ତୁ...", "clearButtonLabel": "ଖାଲି କରନ୍ତୁ", "cancelButtonLabel": "ବାତିଲ କରନ୍ତୁ", - "backButtonLabel": "Back" + "backButtonLabel": "Back", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_pa.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_pa.arb index 076355335795c..8c9b89782a280 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_pa.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_pa.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "ਸਾਂਝਾ ਕਰੋ...", "clearButtonLabel": "ਕਲੀਅਰ ਕਰੋ", "cancelButtonLabel": "ਰੱਦ ਕਰੋ", - "backButtonLabel": "ਪਿੱਛੇ" + "backButtonLabel": "ਪਿੱਛੇ", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_pl.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_pl.arb index 2ac5c6e25f614..d4a4c0866de76 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_pl.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_pl.arb @@ -39,5 +39,11 @@ "shareButtonLabel": "Udostępnij…", "clearButtonLabel": "Wyczyść", "cancelButtonLabel": "Anuluj", - "backButtonLabel": "Wstecz" + "backButtonLabel": "Wstecz", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_pt.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_pt.arb index 6d7c3cfde10d4..93eac0f814493 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_pt.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_pt.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Compartilhar…", "clearButtonLabel": "Limpar", "cancelButtonLabel": "Cancelar", - "backButtonLabel": "Voltar" + "backButtonLabel": "Voltar", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ro.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ro.arb index 94dcb91a3a4fb..d01175fb1cdd7 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ro.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ro.arb @@ -34,5 +34,11 @@ "shareButtonLabel": "Trimiteți…", "clearButtonLabel": "Ștergeți", "cancelButtonLabel": "Anulați", - "backButtonLabel": "Înapoi" + "backButtonLabel": "Înapoi", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ru.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ru.arb index 3b7e1f13816e1..c95d03458678d 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ru.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ru.arb @@ -39,5 +39,11 @@ "shareButtonLabel": "Поделиться", "clearButtonLabel": "Очистить", "cancelButtonLabel": "Отмена", - "backButtonLabel": "Назад" + "backButtonLabel": "Назад", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_si.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_si.arb index 4708f686e773f..ef2ec2035dc5f 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_si.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_si.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "බෙදා ගන්න...", "clearButtonLabel": "හිස් කරන්න", "cancelButtonLabel": "අවලංගු කරන්න", - "backButtonLabel": "Back" + "backButtonLabel": "Back", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_sk.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_sk.arb index e5225aee48964..3defe0a39d6fe 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_sk.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_sk.arb @@ -39,5 +39,11 @@ "shareButtonLabel": "Zdieľať…", "clearButtonLabel": "Vymazať", "cancelButtonLabel": "Zrušiť", - "backButtonLabel": "Späť" + "backButtonLabel": "Späť", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_sl.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_sl.arb index e4c1eff802049..52343c15588f0 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_sl.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_sl.arb @@ -39,5 +39,11 @@ "shareButtonLabel": "Deli …", "clearButtonLabel": "Počisti", "cancelButtonLabel": "Prekliči", - "backButtonLabel": "Nazaj" + "backButtonLabel": "Nazaj", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_sq.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_sq.arb index 6c174aea95545..6e099ee4f5222 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_sq.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_sq.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Ndaj...", "clearButtonLabel": "Pastro", "cancelButtonLabel": "Anulo", - "backButtonLabel": "Prapa" + "backButtonLabel": "Prapa", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_sr.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_sr.arb index 5129a9bcbabe2..a8a3f9e8ac3fd 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_sr.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_sr.arb @@ -34,5 +34,11 @@ "shareButtonLabel": "Дели…", "clearButtonLabel": "Обриши", "cancelButtonLabel": "Откажи", - "backButtonLabel": "Назад" + "backButtonLabel": "Назад", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_sv.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_sv.arb index 66839d4c7fd20..aa27436f73792 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_sv.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_sv.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Dela …", "clearButtonLabel": "Rensa", "cancelButtonLabel": "Avbryt", - "backButtonLabel": "Tillbaka" + "backButtonLabel": "Tillbaka", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_sw.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_sw.arb index 5e8f85b285904..c46db1e3b2fd7 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_sw.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_sw.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Shiriki...", "clearButtonLabel": "Futa", "cancelButtonLabel": "Ghairi", - "backButtonLabel": "Nyuma" + "backButtonLabel": "Nyuma", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ta.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ta.arb index 5add15860d81b..ee15f12eb9686 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ta.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ta.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "பகிர்...", "clearButtonLabel": "அழி", "cancelButtonLabel": "ரத்துசெய்", - "backButtonLabel": "பின்செல்" + "backButtonLabel": "பின்செல்", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_te.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_te.arb index 2c535ebf29335..f6cc87e02ca01 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_te.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_te.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "షేర్ చేయండి...", "clearButtonLabel": "క్లియర్ చేయండి", "cancelButtonLabel": "రద్దు చేయండి", - "backButtonLabel": "Back" + "backButtonLabel": "Back", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_th.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_th.arb index b9c2a99465e7d..b6af99eaf06d0 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_th.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_th.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "แชร์...", "clearButtonLabel": "ล้าง", "cancelButtonLabel": "ยกเลิก", - "backButtonLabel": "กลับ" + "backButtonLabel": "กลับ", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_tl.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_tl.arb index 831d358374404..a3a92ecbc9f48 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_tl.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_tl.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Ibahagi...", "clearButtonLabel": "I-clear", "cancelButtonLabel": "Kanselahin", - "backButtonLabel": "Bumalik" + "backButtonLabel": "Bumalik", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_tr.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_tr.arb index 072cc7df4a74a..b50394e019f2c 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_tr.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_tr.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Paylaş...", "clearButtonLabel": "Temizle", "cancelButtonLabel": "İptal", - "backButtonLabel": "Geri" + "backButtonLabel": "Geri", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ug.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ug.arb index e394261e29442..58231bc1df36a 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ug.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ug.arb @@ -29,5 +29,11 @@ "modalBarrierDismissLabel": "بىكار قىلىش", "menuDismissLabel": "تىزىملىكنى بىكار قىلىش", "cancelButtonLabel": "بىكار قىلىش", - "backButtonLabel": "Back" + "backButtonLabel": "Back", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_uk.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_uk.arb index 884864c542d29..000552986cfdf 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_uk.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_uk.arb @@ -39,5 +39,11 @@ "shareButtonLabel": "Поділитися…", "clearButtonLabel": "Очистити", "cancelButtonLabel": "Скасувати", - "backButtonLabel": "Назад" + "backButtonLabel": "Назад", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_ur.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_ur.arb index 1184b3e87b3e9..90ee3422e05a7 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_ur.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_ur.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "اشتراک کریں...", "clearButtonLabel": "صاف کریں", "cancelButtonLabel": "منسوخ کریں", - "backButtonLabel": "Back" + "backButtonLabel": "Back", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_uz.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_uz.arb index 786215e544f07..6517a9f6721e2 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_uz.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_uz.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Ulashish…", "clearButtonLabel": "Tozalash", "cancelButtonLabel": "Bekor qilish", - "backButtonLabel": "Orqaga" + "backButtonLabel": "Orqaga", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_vi.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_vi.arb index f78962d320e9a..1976282db4ded 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_vi.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_vi.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Chia sẻ...", "clearButtonLabel": "Xoá", "cancelButtonLabel": "Huỷ", - "backButtonLabel": "Quay lại" + "backButtonLabel": "Quay lại", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_zh.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_zh.arb index dfd9b56099df6..8c58f0e7da39d 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_zh.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_zh.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "共享…", "clearButtonLabel": "清除", "cancelButtonLabel": "取消", - "backButtonLabel": "返回" + "backButtonLabel": "返回", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/cupertino_zu.arb b/packages/flutter_localizations/lib/src/l10n/cupertino_zu.arb index 1be5850920cb4..15be4c9c34d7d 100644 --- a/packages/flutter_localizations/lib/src/l10n/cupertino_zu.arb +++ b/packages/flutter_localizations/lib/src/l10n/cupertino_zu.arb @@ -29,5 +29,11 @@ "shareButtonLabel": "Yabelana...", "clearButtonLabel": "Sula", "cancelButtonLabel": "Khansela", - "backButtonLabel": "Emuva" + "backButtonLabel": "Emuva", + "expansionTileExpandedHint": "double tap to collapse", + "expansionTileCollapsedHint": "double tap to expand", + "expansionTileExpandedTapHint": "Collapse", + "expansionTileCollapsedTapHint": "Expand for more details", + "expandedHint": "Collapsed", + "collapsedHint": "Expanded" } diff --git a/packages/flutter_localizations/lib/src/l10n/generated_cupertino_localizations.dart b/packages/flutter_localizations/lib/src/l10n/generated_cupertino_localizations.dart index 2a83c5984908a..b45580603872c 100644 --- a/packages/flutter_localizations/lib/src/l10n/generated_cupertino_localizations.dart +++ b/packages/flutter_localizations/lib/src/l10n/generated_cupertino_localizations.dart @@ -56,6 +56,9 @@ class CupertinoLocalizationAf extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Vee uit'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopieer'; @@ -104,6 +107,21 @@ class CupertinoLocalizationAf extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Kyk op'; @@ -228,6 +246,9 @@ class CupertinoLocalizationAm extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'አጽዳ'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'ቅዳ'; @@ -276,6 +297,21 @@ class CupertinoLocalizationAm extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'ይመልከቱ'; @@ -400,6 +436,9 @@ class CupertinoLocalizationAr extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'محو'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'نسخ'; @@ -448,6 +487,21 @@ class CupertinoLocalizationAr extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => r'$minute دقيقة​'; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'بحث عام'; @@ -572,6 +626,9 @@ class CupertinoLocalizationAs extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'মচক'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'প্ৰতিলিপি কৰক'; @@ -620,6 +677,21 @@ class CupertinoLocalizationAs extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'ওপৰলৈ চাওক'; @@ -744,6 +816,9 @@ class CupertinoLocalizationAz extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Silin'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopyalayın'; @@ -792,6 +867,21 @@ class CupertinoLocalizationAz extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Axtarın'; @@ -916,6 +1006,9 @@ class CupertinoLocalizationBe extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Ачысціць'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Капіраваць'; @@ -964,6 +1057,21 @@ class CupertinoLocalizationBe extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Знайсці'; @@ -1088,6 +1196,9 @@ class CupertinoLocalizationBg extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Изчистване'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Копиране'; @@ -1136,6 +1247,21 @@ class CupertinoLocalizationBg extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Look Up'; @@ -1260,6 +1386,9 @@ class CupertinoLocalizationBn extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'মুছুন'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'কপি করুন'; @@ -1308,6 +1437,21 @@ class CupertinoLocalizationBn extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'লুক-আপ'; @@ -1432,6 +1576,9 @@ class CupertinoLocalizationBo extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'གཙང་བཟོ།'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'བཤུས།'; @@ -1480,6 +1627,21 @@ class CupertinoLocalizationBo extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'འཚོལ་བ།'; @@ -1604,6 +1766,9 @@ class CupertinoLocalizationBs extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Obriši'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiraj'; @@ -1652,6 +1817,21 @@ class CupertinoLocalizationBs extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Pogled nagore'; @@ -1776,6 +1956,9 @@ class CupertinoLocalizationCa extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Esborra'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copia'; @@ -1824,6 +2007,21 @@ class CupertinoLocalizationCa extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Mira amunt'; @@ -1948,6 +2146,9 @@ class CupertinoLocalizationCs extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Vymazat'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopírovat'; @@ -1996,6 +2197,21 @@ class CupertinoLocalizationCs extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Vyhledat'; @@ -2120,6 +2336,9 @@ class CupertinoLocalizationCy extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Clirio'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copïo'; @@ -2168,6 +2387,21 @@ class CupertinoLocalizationCy extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => r'$minute munud'; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Chwilio'; @@ -2292,6 +2526,9 @@ class CupertinoLocalizationDa extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Ryd'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiér'; @@ -2340,6 +2577,21 @@ class CupertinoLocalizationDa extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Slå op'; @@ -2464,6 +2716,9 @@ class CupertinoLocalizationDe extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Löschen'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopieren'; @@ -2512,6 +2767,21 @@ class CupertinoLocalizationDe extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Nachschlagen'; @@ -2664,6 +2934,9 @@ class CupertinoLocalizationEl extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Διαγραφή'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Αντιγραφή'; @@ -2712,6 +2985,21 @@ class CupertinoLocalizationEl extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Look Up'; @@ -2836,6 +3124,9 @@ class CupertinoLocalizationEn extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Clear'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copy'; @@ -2884,6 +3175,21 @@ class CupertinoLocalizationEn extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Look Up'; @@ -3250,6 +3556,9 @@ class CupertinoLocalizationEs extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Borrar'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copiar'; @@ -3298,6 +3607,21 @@ class CupertinoLocalizationEs extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Buscador visual'; @@ -4342,6 +4666,9 @@ class CupertinoLocalizationEt extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Kustutamine'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopeeri'; @@ -4390,6 +4717,21 @@ class CupertinoLocalizationEt extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Look Up'; @@ -4514,6 +4856,9 @@ class CupertinoLocalizationEu extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Garbitu'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiatu'; @@ -4562,6 +4907,21 @@ class CupertinoLocalizationEu extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Bilatu'; @@ -4686,6 +5046,9 @@ class CupertinoLocalizationFa extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'پاک کردن'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'کپی'; @@ -4734,6 +5097,21 @@ class CupertinoLocalizationFa extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'جستجو'; @@ -4858,6 +5236,9 @@ class CupertinoLocalizationFi extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Tyhjennä'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopioi'; @@ -4907,10 +5288,25 @@ class CupertinoLocalizationFi extends GlobalCupertinoLocalizations { String? get datePickerMinuteSemanticsLabelZero => null; @override - String get lookUpButtonLabel => 'Hae'; + String get expandedHint => 'Collapsed'; @override - String get menuDismissLabel => 'Hylkää valikko'; + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + + @override + String get lookUpButtonLabel => 'Hae'; + + @override + String get menuDismissLabel => 'Hylkää valikko'; @override String get modalBarrierDismissLabel => 'Ohita'; @@ -5030,6 +5426,9 @@ class CupertinoLocalizationFil extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'I-clear'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopyahin'; @@ -5078,6 +5477,21 @@ class CupertinoLocalizationFil extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Tumingin sa Itaas'; @@ -5202,6 +5616,9 @@ class CupertinoLocalizationFr extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Effacer'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copier'; @@ -5250,6 +5667,21 @@ class CupertinoLocalizationFr extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Recherche visuelle'; @@ -5420,6 +5852,9 @@ class CupertinoLocalizationGa extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Glan'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Cóipeáil'; @@ -5468,6 +5903,21 @@ class CupertinoLocalizationGa extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Cuardaigh'; @@ -5592,6 +6042,9 @@ class CupertinoLocalizationGl extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Borrar'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copiar'; @@ -5640,6 +6093,21 @@ class CupertinoLocalizationGl extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Mirar cara arriba'; @@ -5764,6 +6232,9 @@ class CupertinoLocalizationGsw extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Löschen'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopieren'; @@ -5812,6 +6283,21 @@ class CupertinoLocalizationGsw extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Nachschlagen'; @@ -5936,6 +6422,9 @@ class CupertinoLocalizationGu extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'સાફ કરો'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'કૉપિ કરો'; @@ -5984,6 +6473,21 @@ class CupertinoLocalizationGu extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'શોધો'; @@ -6108,6 +6612,9 @@ class CupertinoLocalizationHe extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'ניקוי'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'העתקה'; @@ -6156,6 +6663,21 @@ class CupertinoLocalizationHe extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'חיפוש'; @@ -6280,6 +6802,9 @@ class CupertinoLocalizationHi extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'मिटाएं'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'कॉपी करें'; @@ -6328,6 +6853,21 @@ class CupertinoLocalizationHi extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'लुक अप बटन'; @@ -6452,6 +6992,9 @@ class CupertinoLocalizationHr extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Izbriši'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiraj'; @@ -6500,6 +7043,21 @@ class CupertinoLocalizationHr extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Pogled prema gore'; @@ -6624,6 +7182,9 @@ class CupertinoLocalizationHu extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Törlés'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Másolás'; @@ -6672,6 +7233,21 @@ class CupertinoLocalizationHu extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Felfelé nézés'; @@ -6796,6 +7372,9 @@ class CupertinoLocalizationHy extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Մաքրել'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Պատճենել'; @@ -6844,6 +7423,21 @@ class CupertinoLocalizationHy extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Փնտրել'; @@ -6968,6 +7562,9 @@ class CupertinoLocalizationId extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Hapus'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Salin'; @@ -7016,6 +7613,21 @@ class CupertinoLocalizationId extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Cari'; @@ -7140,6 +7752,9 @@ class CupertinoLocalizationIs extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Hreinsa'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Afrita'; @@ -7188,6 +7803,21 @@ class CupertinoLocalizationIs extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Look Up'; @@ -7312,6 +7942,9 @@ class CupertinoLocalizationIt extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Cancella'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copia'; @@ -7360,6 +7993,21 @@ class CupertinoLocalizationIt extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Cerca'; @@ -7484,6 +8132,9 @@ class CupertinoLocalizationJa extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => '消去'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'コピー'; @@ -7532,6 +8183,21 @@ class CupertinoLocalizationJa extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => '調べる'; @@ -7656,6 +8322,9 @@ class CupertinoLocalizationKa extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'გასუფთავება'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'კოპირება'; @@ -7704,6 +8373,21 @@ class CupertinoLocalizationKa extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'აიხედეთ ზემოთ'; @@ -7828,6 +8512,9 @@ class CupertinoLocalizationKk extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Өшіру'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Көшіру'; @@ -7876,6 +8563,21 @@ class CupertinoLocalizationKk extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Іздеу'; @@ -8000,6 +8702,9 @@ class CupertinoLocalizationKm extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'សម្អាត'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'ចម្លង'; @@ -8048,6 +8753,21 @@ class CupertinoLocalizationKm extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'រកមើល'; @@ -8172,6 +8892,9 @@ class CupertinoLocalizationKn extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => '\u{ca4}\u{cc6}\u{cb0}\u{cb5}\u{cc1}\u{c97}\u{cca}\u{cb3}\u{cbf}\u{cb8}\u{cbf}'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => '\u{c95}\u{cbe}\u{caa}\u{cbf}\u{20}\u{cae}\u{cbe}\u{ca1}\u{cbf}'; @@ -8220,6 +8943,21 @@ class CupertinoLocalizationKn extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => "double tap to collapse'"; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => '\u{cae}\u{cc7}\u{cb2}\u{cc6}\u{20}\u{ca8}\u{ccb}\u{ca1}\u{cbf}'; @@ -8344,6 +9082,9 @@ class CupertinoLocalizationKo extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => '삭제'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => '복사'; @@ -8392,6 +9133,21 @@ class CupertinoLocalizationKo extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => '찾기'; @@ -8516,6 +9272,9 @@ class CupertinoLocalizationKy extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Тазалоо'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Көчүрүү'; @@ -8564,6 +9323,21 @@ class CupertinoLocalizationKy extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Издөө'; @@ -8688,6 +9462,9 @@ class CupertinoLocalizationLo extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'ລຶບລ້າງ'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'ສຳເນົາ'; @@ -8736,6 +9513,21 @@ class CupertinoLocalizationLo extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'ຊອກຫາຂໍ້ມູນ'; @@ -8860,6 +9652,9 @@ class CupertinoLocalizationLt extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Išvalyti'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopijuoti'; @@ -8908,6 +9703,21 @@ class CupertinoLocalizationLt extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Ieškoti'; @@ -9032,6 +9842,9 @@ class CupertinoLocalizationLv extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Notīrīt'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopēt'; @@ -9080,6 +9893,21 @@ class CupertinoLocalizationLv extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => r'$minute minūtes'; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Meklēt'; @@ -9204,6 +10032,9 @@ class CupertinoLocalizationMk extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Избриши'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Копирај'; @@ -9252,6 +10083,21 @@ class CupertinoLocalizationMk extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Погледнете нагоре'; @@ -9376,6 +10222,9 @@ class CupertinoLocalizationMl extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'മായ്ക്കുക'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'പകർത്തുക'; @@ -9424,6 +10273,21 @@ class CupertinoLocalizationMl extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'മുകളിലേക്ക് നോക്കുക'; @@ -9548,6 +10412,9 @@ class CupertinoLocalizationMn extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Арилгах'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Хуулах'; @@ -9596,6 +10463,21 @@ class CupertinoLocalizationMn extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Дээшээ харах'; @@ -9720,6 +10602,9 @@ class CupertinoLocalizationMr extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'साफ करा'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'कॉपी करा'; @@ -9768,6 +10653,21 @@ class CupertinoLocalizationMr extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'शोध घ्या'; @@ -9892,6 +10792,9 @@ class CupertinoLocalizationMs extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Kosongkan'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Salin'; @@ -9940,6 +10843,21 @@ class CupertinoLocalizationMs extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Lihat ke Atas'; @@ -10064,6 +10982,9 @@ class CupertinoLocalizationMy extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'ဖယ်ရှားရန်'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'မိတ္တူကူးရန်'; @@ -10112,6 +11033,21 @@ class CupertinoLocalizationMy extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'အပေါ်ကြည့်ရန်'; @@ -10236,6 +11172,9 @@ class CupertinoLocalizationNb extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Slett'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiér'; @@ -10284,6 +11223,21 @@ class CupertinoLocalizationNb extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Slå opp'; @@ -10408,6 +11362,9 @@ class CupertinoLocalizationNe extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'हटाउनुहोस्'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'कपी गर्नुहोस्'; @@ -10456,6 +11413,21 @@ class CupertinoLocalizationNe extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'माथितिर हेर्नुहोस्'; @@ -10580,6 +11552,9 @@ class CupertinoLocalizationNl extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Wissen'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiëren'; @@ -10628,6 +11603,21 @@ class CupertinoLocalizationNl extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Opzoeken'; @@ -10752,6 +11742,9 @@ class CupertinoLocalizationNo extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Slett'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiér'; @@ -10800,6 +11793,21 @@ class CupertinoLocalizationNo extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Slå opp'; @@ -10924,6 +11932,9 @@ class CupertinoLocalizationOr extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'ଖାଲି କରନ୍ତୁ'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'କପି କରନ୍ତୁ'; @@ -10972,6 +11983,21 @@ class CupertinoLocalizationOr extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'ଉପରକୁ ଦେଖନ୍ତୁ'; @@ -11096,6 +12122,9 @@ class CupertinoLocalizationPa extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'ਕਲੀਅਰ ਕਰੋ'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'ਕਾਪੀ ਕਰੋ'; @@ -11144,6 +12173,21 @@ class CupertinoLocalizationPa extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'ਖੋਜੋ'; @@ -11268,6 +12312,9 @@ class CupertinoLocalizationPl extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Wyczyść'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiuj'; @@ -11316,6 +12363,21 @@ class CupertinoLocalizationPl extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Sprawdź'; @@ -11440,6 +12502,9 @@ class CupertinoLocalizationPt extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Limpar'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copiar'; @@ -11477,16 +12542,31 @@ class CupertinoLocalizationPt extends GlobalCupertinoLocalizations { String? get datePickerMinuteSemanticsLabelMany => null; @override - String? get datePickerMinuteSemanticsLabelOne => '1 minuto'; + String? get datePickerMinuteSemanticsLabelOne => '1 minuto'; + + @override + String get datePickerMinuteSemanticsLabelOther => r'$minute minutos'; + + @override + String? get datePickerMinuteSemanticsLabelTwo => null; + + @override + String? get datePickerMinuteSemanticsLabelZero => null; + + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; @override - String get datePickerMinuteSemanticsLabelOther => r'$minute minutos'; + String get expansionTileCollapsedTapHint => 'Expand for more details'; @override - String? get datePickerMinuteSemanticsLabelTwo => null; + String get expansionTileExpandedHint => 'double tap to collapse'; @override - String? get datePickerMinuteSemanticsLabelZero => null; + String get expansionTileExpandedTapHint => 'Collapse'; @override String get lookUpButtonLabel => 'Pesquisar'; @@ -11664,6 +12744,9 @@ class CupertinoLocalizationRo extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Ștergeți'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Copiați'; @@ -11712,6 +12795,21 @@ class CupertinoLocalizationRo extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Privire în sus'; @@ -11836,6 +12934,9 @@ class CupertinoLocalizationRu extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Очистить'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Копировать'; @@ -11884,6 +12985,21 @@ class CupertinoLocalizationRu extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Найти'; @@ -12008,6 +13124,9 @@ class CupertinoLocalizationSi extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'හිස් කරන්න'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'පිටපත් කරන්න'; @@ -12056,6 +13175,21 @@ class CupertinoLocalizationSi extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'උඩ බලන්න'; @@ -12180,6 +13314,9 @@ class CupertinoLocalizationSk extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Vymazať'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopírovať'; @@ -12228,6 +13365,21 @@ class CupertinoLocalizationSk extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Pohľad nahor'; @@ -12352,6 +13504,9 @@ class CupertinoLocalizationSl extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Počisti'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiraj'; @@ -12400,6 +13555,21 @@ class CupertinoLocalizationSl extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Pogled gor'; @@ -12524,6 +13694,9 @@ class CupertinoLocalizationSq extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Pastro'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopjo'; @@ -12572,6 +13745,21 @@ class CupertinoLocalizationSq extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Kërko'; @@ -12696,6 +13884,9 @@ class CupertinoLocalizationSr extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Обриши'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Копирај'; @@ -12744,6 +13935,21 @@ class CupertinoLocalizationSr extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Поглед нагоре'; @@ -13008,6 +14214,9 @@ class CupertinoLocalizationSv extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Rensa'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopiera'; @@ -13056,6 +14265,21 @@ class CupertinoLocalizationSv extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Titta upp'; @@ -13180,6 +14404,9 @@ class CupertinoLocalizationSw extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Futa'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Nakili'; @@ -13228,6 +14455,21 @@ class CupertinoLocalizationSw extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Tafuta'; @@ -13352,6 +14594,9 @@ class CupertinoLocalizationTa extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'அழி'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'நகலெடு'; @@ -13400,6 +14645,21 @@ class CupertinoLocalizationTa extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'தேடு'; @@ -13524,6 +14784,9 @@ class CupertinoLocalizationTe extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'క్లియర్ చేయండి'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'కాపీ చేయి'; @@ -13572,6 +14835,21 @@ class CupertinoLocalizationTe extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'వెతకండి'; @@ -13696,6 +14974,9 @@ class CupertinoLocalizationTh extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'ล้าง'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'คัดลอก'; @@ -13744,6 +15025,21 @@ class CupertinoLocalizationTh extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'ค้นหา'; @@ -13868,6 +15164,9 @@ class CupertinoLocalizationTl extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'I-clear'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopyahin'; @@ -13916,6 +15215,21 @@ class CupertinoLocalizationTl extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Tumingin sa Itaas'; @@ -14040,6 +15354,9 @@ class CupertinoLocalizationTr extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Temizle'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopyala'; @@ -14088,6 +15405,21 @@ class CupertinoLocalizationTr extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Ara'; @@ -14212,6 +15544,9 @@ class CupertinoLocalizationUg extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'تازىلاش'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'كۆچۈرۈش'; @@ -14260,6 +15595,21 @@ class CupertinoLocalizationUg extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'ئىزدەش'; @@ -14384,6 +15734,9 @@ class CupertinoLocalizationUk extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Очистити'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Копіювати'; @@ -14432,6 +15785,21 @@ class CupertinoLocalizationUk extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Шукати'; @@ -14556,6 +15924,9 @@ class CupertinoLocalizationUr extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'صاف کریں'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'کاپی کریں'; @@ -14604,6 +15975,21 @@ class CupertinoLocalizationUr extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'تفصیل دیکھیں'; @@ -14728,6 +16114,9 @@ class CupertinoLocalizationUz extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Tozalash'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Nusxa olish'; @@ -14776,6 +16165,21 @@ class CupertinoLocalizationUz extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Tepaga qarang'; @@ -14900,6 +16304,9 @@ class CupertinoLocalizationVi extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Xoá'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Sao chép'; @@ -14948,6 +16355,21 @@ class CupertinoLocalizationVi extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Tra cứu'; @@ -15072,6 +16494,9 @@ class CupertinoLocalizationZh extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => '清除'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => '复制'; @@ -15120,6 +16545,21 @@ class CupertinoLocalizationZh extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => '查询'; @@ -15416,6 +16856,9 @@ class CupertinoLocalizationZu extends GlobalCupertinoLocalizations { @override String get clearButtonLabel => 'Sula'; + @override + String get collapsedHint => 'Expanded'; + @override String get copyButtonLabel => 'Kopisha'; @@ -15464,6 +16907,21 @@ class CupertinoLocalizationZu extends GlobalCupertinoLocalizations { @override String? get datePickerMinuteSemanticsLabelZero => null; + @override + String get expandedHint => 'Collapsed'; + + @override + String get expansionTileCollapsedHint => 'double tap to expand'; + + @override + String get expansionTileCollapsedTapHint => 'Expand for more details'; + + @override + String get expansionTileExpandedHint => 'double tap to collapse'; + + @override + String get expansionTileExpandedTapHint => 'Collapse'; + @override String get lookUpButtonLabel => 'Bheka Phezulu'; diff --git a/packages/flutter_localizations/lib/src/l10n/generated_widgets_localizations.dart b/packages/flutter_localizations/lib/src/l10n/generated_widgets_localizations.dart index 8a6ac52ba3fd0..dfc6f78aea681 100644 --- a/packages/flutter_localizations/lib/src/l10n/generated_widgets_localizations.dart +++ b/packages/flutter_localizations/lib/src/l10n/generated_widgets_localizations.dart @@ -37,6 +37,9 @@ class WidgetsLocalizationAf extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Kyk op'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Plak'; @@ -58,6 +61,9 @@ class WidgetsLocalizationAf extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Skuif op'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Deursoek web'; @@ -84,6 +90,9 @@ class WidgetsLocalizationAm extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'ይመልከቱ'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ለጥፍ'; @@ -105,6 +114,9 @@ class WidgetsLocalizationAm extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ወደ ላይ ውሰድ'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ድርን ፈልግ'; @@ -131,6 +143,9 @@ class WidgetsLocalizationAr extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'بحث عام'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'لصق'; @@ -152,6 +167,9 @@ class WidgetsLocalizationAr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'نقل لأعلى'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'البحث على الويب'; @@ -178,6 +196,9 @@ class WidgetsLocalizationAs extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'ওপৰলৈ চাওক'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => "পে'ষ্ট কৰক"; @@ -199,6 +220,9 @@ class WidgetsLocalizationAs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ওপৰলৈ নিয়ক'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ৱেবত সন্ধান কৰক'; @@ -225,6 +249,9 @@ class WidgetsLocalizationAz extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Axtarın'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Yerləşdirin'; @@ -246,6 +273,9 @@ class WidgetsLocalizationAz extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Yuxarı köçürün'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Vebdə axtarın'; @@ -272,6 +302,9 @@ class WidgetsLocalizationBe extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Знайсці'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Уставіць'; @@ -293,6 +326,9 @@ class WidgetsLocalizationBe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Перамясціць уверх'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Пошук у сетцы'; @@ -319,6 +355,9 @@ class WidgetsLocalizationBg extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Look Up'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Поставяне'; @@ -340,6 +379,9 @@ class WidgetsLocalizationBg extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Преместване нагоре'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Търсене в мрежата'; @@ -366,6 +408,9 @@ class WidgetsLocalizationBn extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'লুক-আপ'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'পেস্ট করুন'; @@ -387,6 +432,9 @@ class WidgetsLocalizationBn extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'উপরের দিকে সরান'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ওয়েবে সার্চ করুন'; @@ -413,6 +461,9 @@ class WidgetsLocalizationBs extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Pogled nagore'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Zalijepi'; @@ -434,6 +485,9 @@ class WidgetsLocalizationBs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Pomjeri nagore'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Pretraži Web'; @@ -460,6 +514,9 @@ class WidgetsLocalizationCa extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Mira amunt'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Enganxa'; @@ -481,6 +538,9 @@ class WidgetsLocalizationCa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mou amunt'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Cerca al web'; @@ -507,6 +567,9 @@ class WidgetsLocalizationCs extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Vyhledat'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Vložit'; @@ -528,6 +591,9 @@ class WidgetsLocalizationCs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Přesunout nahoru'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Vyhledávat na webu'; @@ -554,6 +620,9 @@ class WidgetsLocalizationCy extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Chwilio'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Gludo'; @@ -575,6 +644,9 @@ class WidgetsLocalizationCy extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Symud i fyny'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => "Chwilio'r We"; @@ -601,6 +673,9 @@ class WidgetsLocalizationDa extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Slå op'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Indsæt'; @@ -622,6 +697,9 @@ class WidgetsLocalizationDa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Flyt op'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Søg på nettet'; @@ -648,6 +726,9 @@ class WidgetsLocalizationDe extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Nachschlagen'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Einsetzen'; @@ -669,6 +750,9 @@ class WidgetsLocalizationDe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Nach oben verschieben'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Im Web suchen'; @@ -703,6 +787,9 @@ class WidgetsLocalizationEl extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Look Up'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Επικόλληση'; @@ -724,6 +811,9 @@ class WidgetsLocalizationEl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Μετακίνηση προς τα πάνω'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Αναζήτηση στον ιστό'; @@ -750,6 +840,9 @@ class WidgetsLocalizationEn extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Look Up'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Paste'; @@ -771,6 +864,9 @@ class WidgetsLocalizationEn extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Move up'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Search Web'; @@ -930,6 +1026,9 @@ class WidgetsLocalizationEs extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Buscador visual'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Pegar'; @@ -951,6 +1050,9 @@ class WidgetsLocalizationEs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mover hacia arriba'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Buscar en la Web'; @@ -1257,6 +1359,9 @@ class WidgetsLocalizationEt extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Look Up'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Kleebi'; @@ -1278,6 +1383,9 @@ class WidgetsLocalizationEt extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Teisalda üles'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Otsi veebist'; @@ -1304,6 +1412,9 @@ class WidgetsLocalizationEu extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Bilatu'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Itsatsi'; @@ -1325,6 +1436,9 @@ class WidgetsLocalizationEu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Eraman gora'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Bilatu sarean'; @@ -1351,6 +1465,9 @@ class WidgetsLocalizationFa extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'جستجو'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'جای‌گذاری'; @@ -1372,6 +1489,9 @@ class WidgetsLocalizationFa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'انتقال به بالا'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'جستجو در وب'; @@ -1398,6 +1518,9 @@ class WidgetsLocalizationFi extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Hae'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Liitä'; @@ -1419,6 +1542,9 @@ class WidgetsLocalizationFi extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Siirrä ylös'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Hae verkosta'; @@ -1445,6 +1571,9 @@ class WidgetsLocalizationFil extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Tumingin sa Itaas'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'I-paste'; @@ -1466,6 +1595,9 @@ class WidgetsLocalizationFil extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Ilipat pataas'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Maghanap sa Web'; @@ -1492,6 +1624,9 @@ class WidgetsLocalizationFr extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Recherche visuelle'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Coller'; @@ -1513,6 +1648,9 @@ class WidgetsLocalizationFr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Déplacer vers le haut'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Rechercher sur le Web'; @@ -1556,6 +1694,9 @@ class WidgetsLocalizationGl extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Mirar cara arriba'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Pegar'; @@ -1577,6 +1718,9 @@ class WidgetsLocalizationGl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mover cara arriba'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Buscar na Web'; @@ -1603,6 +1747,9 @@ class WidgetsLocalizationGsw extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Nachschlagen'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Einsetzen'; @@ -1624,6 +1771,9 @@ class WidgetsLocalizationGsw extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Nach oben verschieben'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Im Web suchen'; @@ -1650,6 +1800,9 @@ class WidgetsLocalizationGu extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'શોધો'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'પેસ્ટ કરો'; @@ -1671,6 +1824,9 @@ class WidgetsLocalizationGu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ઉપર ખસેડો'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'વેબ પર શોધો'; @@ -1697,6 +1853,9 @@ class WidgetsLocalizationHe extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'חיפוש'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'הדבקה'; @@ -1718,6 +1877,9 @@ class WidgetsLocalizationHe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'העברה למעלה'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'חיפוש באינטרנט'; @@ -1744,6 +1906,9 @@ class WidgetsLocalizationHi extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'लुक अप बटन'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'चिपकाएं'; @@ -1765,6 +1930,9 @@ class WidgetsLocalizationHi extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ऊपर ले जाएं'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'वेब पर खोजें'; @@ -1791,6 +1959,9 @@ class WidgetsLocalizationHr extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Pogled prema gore'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Zalijepi'; @@ -1812,6 +1983,9 @@ class WidgetsLocalizationHr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Pomakni prema gore'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Pretraži web'; @@ -1838,6 +2012,9 @@ class WidgetsLocalizationHu extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Felfelé nézés'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Beillesztés'; @@ -1859,6 +2036,9 @@ class WidgetsLocalizationHu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Áthelyezés felfelé'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Keresés az interneten'; @@ -1885,6 +2065,9 @@ class WidgetsLocalizationHy extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Փնտրել'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Տեղադրել'; @@ -1906,6 +2089,9 @@ class WidgetsLocalizationHy extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Տեղափոխել վերև'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Որոնել համացանցում'; @@ -1932,6 +2118,9 @@ class WidgetsLocalizationId extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Cari'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Tempel'; @@ -1953,6 +2142,9 @@ class WidgetsLocalizationId extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Naikkan'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Telusuri di Web'; @@ -1979,6 +2171,9 @@ class WidgetsLocalizationIs extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Look Up'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Líma'; @@ -2000,6 +2195,9 @@ class WidgetsLocalizationIs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Færa upp'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Leita á vefnum'; @@ -2026,6 +2224,9 @@ class WidgetsLocalizationIt extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Cerca'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Incolla'; @@ -2047,6 +2248,9 @@ class WidgetsLocalizationIt extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Sposta su'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Cerca sul web'; @@ -2073,6 +2277,9 @@ class WidgetsLocalizationJa extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => '調べる'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => '貼り付け'; @@ -2094,6 +2301,9 @@ class WidgetsLocalizationJa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => '上に移動'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ウェブを検索'; @@ -2120,6 +2330,9 @@ class WidgetsLocalizationKa extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'აიხედეთ ზემოთ'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ჩასმა'; @@ -2141,6 +2354,9 @@ class WidgetsLocalizationKa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ზემოთ გადატანა'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ვებში ძიება'; @@ -2167,6 +2383,9 @@ class WidgetsLocalizationKk extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Іздеу'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Қою'; @@ -2188,6 +2407,9 @@ class WidgetsLocalizationKk extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Жоғарыға жылжыту'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Интернеттен іздеу'; @@ -2214,6 +2436,9 @@ class WidgetsLocalizationKm extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'រកមើល'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ដាក់​ចូល'; @@ -2235,6 +2460,9 @@ class WidgetsLocalizationKm extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ផ្លាស់ទី​ឡើង​លើ'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ស្វែងរក​លើបណ្ដាញ'; @@ -2261,6 +2489,9 @@ class WidgetsLocalizationKn extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => '\u{cae}\u{cc7}\u{cb2}\u{cc6}\u{20}\u{ca8}\u{ccb}\u{ca1}\u{cbf}'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => '\u{c85}\u{c82}\u{c9f}\u{cbf}\u{cb8}\u{cbf}'; @@ -2282,6 +2513,9 @@ class WidgetsLocalizationKn extends GlobalWidgetsLocalizations { @override String get reorderItemUp => '\u{cae}\u{cc7}\u{cb2}\u{cc6}\u{20}\u{cb8}\u{cb0}\u{cbf}\u{cb8}\u{cbf}'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => '\u{cb5}\u{cc6}\u{cac}\u{ccd}\u{200c}\u{ca8}\u{cb2}\u{ccd}\u{cb2}\u{cbf}\u{20}\u{cb9}\u{cc1}\u{ca1}\u{cc1}\u{c95}\u{cbf}'; @@ -2308,6 +2542,9 @@ class WidgetsLocalizationKo extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => '찾기'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => '붙여넣기'; @@ -2329,6 +2566,9 @@ class WidgetsLocalizationKo extends GlobalWidgetsLocalizations { @override String get reorderItemUp => '위로 이동'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => '웹 검색'; @@ -2355,6 +2595,9 @@ class WidgetsLocalizationKy extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Издөө'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Чаптоо'; @@ -2376,6 +2619,9 @@ class WidgetsLocalizationKy extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Жогору жылдыруу'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Интернеттен издөө'; @@ -2402,6 +2648,9 @@ class WidgetsLocalizationLo extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'ຊອກຫາຂໍ້ມູນ'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ວາງ'; @@ -2423,6 +2672,9 @@ class WidgetsLocalizationLo extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ຍ້າຍຂຶ້ນ'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ຊອກຫາຢູ່ອິນເຕີເນັດ'; @@ -2449,6 +2701,9 @@ class WidgetsLocalizationLt extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Ieškoti'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Įklijuoti'; @@ -2470,6 +2725,9 @@ class WidgetsLocalizationLt extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Perkelti aukštyn'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Ieškoti žiniatinklyje'; @@ -2496,6 +2754,9 @@ class WidgetsLocalizationLv extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Meklēt'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Ielīmēt'; @@ -2517,6 +2778,9 @@ class WidgetsLocalizationLv extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Pārvietot uz augšu'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Meklēt tīmeklī'; @@ -2543,6 +2807,9 @@ class WidgetsLocalizationMk extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Погледнете нагоре'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Залепи'; @@ -2564,6 +2831,9 @@ class WidgetsLocalizationMk extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Преместете нагоре'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Пребарајте на интернет'; @@ -2590,6 +2860,9 @@ class WidgetsLocalizationMl extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'മുകളിലേക്ക് നോക്കുക'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ഒട്ടിക്കുക'; @@ -2611,6 +2884,9 @@ class WidgetsLocalizationMl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'മുകളിലോട്ട് നീക്കുക'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'വെബിൽ തിരയുക'; @@ -2637,6 +2913,9 @@ class WidgetsLocalizationMn extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Дээшээ харах'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Буулгах'; @@ -2658,6 +2937,9 @@ class WidgetsLocalizationMn extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Дээш зөөх'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Вебээс хайх'; @@ -2684,6 +2966,9 @@ class WidgetsLocalizationMr extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'शोध घ्या'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'पेस्ट करा'; @@ -2705,6 +2990,9 @@ class WidgetsLocalizationMr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'वर हलवा'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'वेबवर शोधा'; @@ -2731,6 +3019,9 @@ class WidgetsLocalizationMs extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Lihat ke Atas'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Tampal'; @@ -2752,6 +3043,9 @@ class WidgetsLocalizationMs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Alih ke atas'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Buat carian pada Web'; @@ -2778,6 +3072,9 @@ class WidgetsLocalizationMy extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'အပေါ်ကြည့်ရန်'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ကူးထည့်ရန်'; @@ -2799,6 +3096,9 @@ class WidgetsLocalizationMy extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'အပေါ်သို့ ရွှေ့ရန်'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ဝဘ်တွင်ရှာရန်'; @@ -2825,6 +3125,9 @@ class WidgetsLocalizationNb extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Slå opp'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Lim inn'; @@ -2846,6 +3149,9 @@ class WidgetsLocalizationNb extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Flytt opp'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Søk på nettet'; @@ -2872,6 +3178,9 @@ class WidgetsLocalizationNe extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'माथितिर हेर्नुहोस्'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'टाँस्नुहोस्'; @@ -2893,6 +3202,9 @@ class WidgetsLocalizationNe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'माथि सार्नुहोस्'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'वेबमा खोज्नुहोस्'; @@ -2919,6 +3231,9 @@ class WidgetsLocalizationNl extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Opzoeken'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Plakken'; @@ -2940,6 +3255,9 @@ class WidgetsLocalizationNl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Omhoog verplaatsen'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Op internet zoeken'; @@ -2966,6 +3284,9 @@ class WidgetsLocalizationNo extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Slå opp'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Lim inn'; @@ -2987,6 +3308,9 @@ class WidgetsLocalizationNo extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Flytt opp'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Søk på nettet'; @@ -3013,6 +3337,9 @@ class WidgetsLocalizationOr extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'ଉପରକୁ ଦେଖନ୍ତୁ'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ପେଷ୍ଟ କରନ୍ତୁ'; @@ -3034,6 +3361,9 @@ class WidgetsLocalizationOr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ଉପରକୁ ନିଅନ୍ତୁ'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ୱେବ ସର୍ଚ୍ଚ କରନ୍ତୁ'; @@ -3060,6 +3390,9 @@ class WidgetsLocalizationPa extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'ਖੋਜੋ'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ਪੇਸਟ ਕਰੋ'; @@ -3081,6 +3414,9 @@ class WidgetsLocalizationPa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ਉੱਪਰ ਲਿਜਾਓ'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => "ਵੈੱਬ 'ਤੇ ਖੋਜੋ"; @@ -3107,6 +3443,9 @@ class WidgetsLocalizationPl extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Sprawdź'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Wklej'; @@ -3128,6 +3467,9 @@ class WidgetsLocalizationPl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Przenieś w górę'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Szukaj w internecie'; @@ -3154,6 +3496,9 @@ class WidgetsLocalizationPs extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Look Up'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'پیټ کړئ'; @@ -3175,6 +3520,9 @@ class WidgetsLocalizationPs extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Move up'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Search Web'; @@ -3201,6 +3549,9 @@ class WidgetsLocalizationPt extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Pesquisar'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Colar'; @@ -3222,6 +3573,9 @@ class WidgetsLocalizationPt extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mover para cima'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Pesquisar na Web'; @@ -3265,6 +3619,9 @@ class WidgetsLocalizationRo extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Privire în sus'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Inserați'; @@ -3286,6 +3643,9 @@ class WidgetsLocalizationRo extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Mutați în sus'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Căutați pe web'; @@ -3312,6 +3672,9 @@ class WidgetsLocalizationRu extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Найти'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Вставить'; @@ -3333,6 +3696,9 @@ class WidgetsLocalizationRu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Переместить вверх'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Искать в интернете'; @@ -3359,6 +3725,9 @@ class WidgetsLocalizationSi extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'උඩ බලන්න'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'අලවන්න'; @@ -3380,6 +3749,9 @@ class WidgetsLocalizationSi extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ඉහළට ගෙන යන්න'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'වෙබය සොයන්න'; @@ -3406,6 +3778,9 @@ class WidgetsLocalizationSk extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Pohľad nahor'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Prilepiť'; @@ -3427,6 +3802,9 @@ class WidgetsLocalizationSk extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Presunúť nahor'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Hľadať na webe'; @@ -3453,6 +3831,9 @@ class WidgetsLocalizationSl extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Pogled gor'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Prilepi'; @@ -3474,6 +3855,9 @@ class WidgetsLocalizationSl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Premakni navzgor'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Iskanje v spletu'; @@ -3500,6 +3884,9 @@ class WidgetsLocalizationSq extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Kërko'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Ngjit'; @@ -3521,6 +3908,9 @@ class WidgetsLocalizationSq extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Lëvize lart'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Kërko në ueb'; @@ -3547,6 +3937,9 @@ class WidgetsLocalizationSr extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Поглед нагоре'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Налепи'; @@ -3568,6 +3961,9 @@ class WidgetsLocalizationSr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Померите нагоре'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Претражи веб'; @@ -3649,6 +4045,9 @@ class WidgetsLocalizationSv extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Titta upp'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Klistra in'; @@ -3670,6 +4069,9 @@ class WidgetsLocalizationSv extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Flytta uppåt'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Sök på webben'; @@ -3696,6 +4098,9 @@ class WidgetsLocalizationSw extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Tafuta'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Bandika'; @@ -3717,6 +4122,9 @@ class WidgetsLocalizationSw extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Sogeza juu'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Tafuta kwenye Wavuti'; @@ -3743,6 +4151,9 @@ class WidgetsLocalizationTa extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'தேடு'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'ஒட்டு'; @@ -3764,6 +4175,9 @@ class WidgetsLocalizationTa extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'மேலே நகர்த்தவும்'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'இணையத்தில் தேடு'; @@ -3790,6 +4204,9 @@ class WidgetsLocalizationTe extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'వెతకండి'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'పేస్ట్ చేయండి'; @@ -3811,6 +4228,9 @@ class WidgetsLocalizationTe extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'పైకి జరపండి'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'వెబ్‌లో సెర్చ్ చేయండి'; @@ -3837,6 +4257,9 @@ class WidgetsLocalizationTh extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'ค้นหา'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'วาง'; @@ -3858,6 +4281,9 @@ class WidgetsLocalizationTh extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'ย้ายขึ้น'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ค้นหาบนอินเทอร์เน็ต'; @@ -3884,6 +4310,9 @@ class WidgetsLocalizationTl extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Tumingin sa Itaas'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'I-paste'; @@ -3905,6 +4334,9 @@ class WidgetsLocalizationTl extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Ilipat pataas'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Maghanap sa Web'; @@ -3931,6 +4363,9 @@ class WidgetsLocalizationTr extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Ara'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Yapıştır'; @@ -3952,6 +4387,9 @@ class WidgetsLocalizationTr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Yukarı taşı'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => "Web'de Ara"; @@ -3978,6 +4416,9 @@ class WidgetsLocalizationUk extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Шукати'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Вставити'; @@ -3999,6 +4440,9 @@ class WidgetsLocalizationUk extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Перемістити вгору'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Пошук в Інтернеті'; @@ -4025,6 +4469,9 @@ class WidgetsLocalizationUr extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'تفصیل دیکھیں'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'پیسٹ کریں'; @@ -4046,6 +4493,9 @@ class WidgetsLocalizationUr extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'اوپر منتقل کریں'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'ویب تلاش کریں'; @@ -4072,6 +4522,9 @@ class WidgetsLocalizationUz extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Tepaga qarang'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Joylash'; @@ -4093,6 +4546,9 @@ class WidgetsLocalizationUz extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Tepaga siljitish'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Internetdan qidirish'; @@ -4119,6 +4575,9 @@ class WidgetsLocalizationVi extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Tra cứu'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Dán'; @@ -4140,6 +4599,9 @@ class WidgetsLocalizationVi extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Di chuyển lên'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Tìm kiếm trên web'; @@ -4166,6 +4628,9 @@ class WidgetsLocalizationZh extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => '查询'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => '粘贴'; @@ -4187,6 +4652,9 @@ class WidgetsLocalizationZh extends GlobalWidgetsLocalizations { @override String get reorderItemUp => '上移'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => '搜索'; @@ -4290,6 +4758,9 @@ class WidgetsLocalizationZu extends GlobalWidgetsLocalizations { @override String get lookUpButtonLabel => 'Bheka Phezulu'; + @override + String get noResultsFound => 'No results found'; + @override String get pasteButtonLabel => 'Namathisela'; @@ -4311,6 +4782,9 @@ class WidgetsLocalizationZu extends GlobalWidgetsLocalizations { @override String get reorderItemUp => 'Iya phezulu'; + @override + String get searchResultsFound => 'Search results found'; + @override String get searchWebButtonLabel => 'Sesha Iwebhu'; diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_af.arb b/packages/flutter_localizations/lib/src/l10n/widgets_af.arb index 84d974930cdce..fd168c7613c90 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_af.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_af.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Deursoek web", "shareButtonLabel": "Deel", "pasteButtonLabel": "Plak", - "selectAllButtonLabel": "Kies alles" + "selectAllButtonLabel": "Kies alles", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_am.arb b/packages/flutter_localizations/lib/src/l10n/widgets_am.arb index 713426c2c0c1e..277a24fe2ba80 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_am.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_am.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ድርን ፈልግ", "shareButtonLabel": "አጋራ", "pasteButtonLabel": "ለጥፍ", - "selectAllButtonLabel": "ሁሉንም ምረጥ" + "selectAllButtonLabel": "ሁሉንም ምረጥ", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ar.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ar.arb index 26dd4388cf43b..6ddb1fe0a0dac 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ar.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ar.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "البحث على الويب", "shareButtonLabel": "مشاركة", "pasteButtonLabel": "لصق", - "selectAllButtonLabel": "اختيار الكل" + "selectAllButtonLabel": "اختيار الكل", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_as.arb b/packages/flutter_localizations/lib/src/l10n/widgets_as.arb index 020cdb10d8bd7..0a82b27fb641b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_as.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_as.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ৱেবত সন্ধান কৰক", "shareButtonLabel": "শ্বেয়াৰ কৰক", "pasteButtonLabel": "পে'ষ্ট কৰক", - "selectAllButtonLabel": "সকলো বাছনি কৰক" + "selectAllButtonLabel": "সকলো বাছনি কৰক", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_az.arb b/packages/flutter_localizations/lib/src/l10n/widgets_az.arb index 152c332e292db..b462d53ed2e2a 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_az.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_az.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Vebdə axtarın", "shareButtonLabel": "Paylaşın", "pasteButtonLabel": "Yerləşdirin", - "selectAllButtonLabel": "Hamısını seçin" + "selectAllButtonLabel": "Hamısını seçin", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_be.arb b/packages/flutter_localizations/lib/src/l10n/widgets_be.arb index 025af98c12380..983d33b539a9c 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_be.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_be.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Пошук у сетцы", "shareButtonLabel": "Абагуліць", "pasteButtonLabel": "Уставіць", - "selectAllButtonLabel": "Выбраць усе" + "selectAllButtonLabel": "Выбраць усе", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_bg.arb b/packages/flutter_localizations/lib/src/l10n/widgets_bg.arb index aa318a0a60a64..f71ca03b3f599 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_bg.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_bg.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Търсене в мрежата", "shareButtonLabel": "Споделяне", "pasteButtonLabel": "Поставяне", - "selectAllButtonLabel": "Избиране на всички" + "selectAllButtonLabel": "Избиране на всички", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_bn.arb b/packages/flutter_localizations/lib/src/l10n/widgets_bn.arb index e75401fda3f3f..f2ae4022e7dad 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_bn.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_bn.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ওয়েবে সার্চ করুন", "shareButtonLabel": "শেয়ার করুন", "pasteButtonLabel": "পেস্ট করুন", - "selectAllButtonLabel": "সব বেছে নিন" + "selectAllButtonLabel": "সব বেছে নিন", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_bs.arb b/packages/flutter_localizations/lib/src/l10n/widgets_bs.arb index 0a16f92b4502c..104705f40f464 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_bs.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_bs.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Pretraži Web", "shareButtonLabel": "Dijeli", "pasteButtonLabel": "Zalijepi", - "selectAllButtonLabel": "Odaberi sve" + "selectAllButtonLabel": "Odaberi sve", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ca.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ca.arb index c35d4b0bcd505..758f3810f4f3b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ca.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ca.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Cerca al web", "shareButtonLabel": "Comparteix", "pasteButtonLabel": "Enganxa", - "selectAllButtonLabel": "Selecciona-ho tot" + "selectAllButtonLabel": "Selecciona-ho tot", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_cs.arb b/packages/flutter_localizations/lib/src/l10n/widgets_cs.arb index 762fd3e767d1e..9e026378c6096 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_cs.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_cs.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Vyhledávat na webu", "shareButtonLabel": "Sdílet", "pasteButtonLabel": "Vložit", - "selectAllButtonLabel": "Vybrat vše" + "selectAllButtonLabel": "Vybrat vše", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_cy.arb b/packages/flutter_localizations/lib/src/l10n/widgets_cy.arb index a827c0cf899e0..633dea567d32e 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_cy.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_cy.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Chwilio'r We", "shareButtonLabel": "Rhannu", "pasteButtonLabel": "Gludo", - "selectAllButtonLabel": "Dewis y Cyfan" + "selectAllButtonLabel": "Dewis y Cyfan", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_da.arb b/packages/flutter_localizations/lib/src/l10n/widgets_da.arb index 3af378ea2910b..59ac66557bc5c 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_da.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_da.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Søg på nettet", "shareButtonLabel": "Del", "pasteButtonLabel": "Indsæt", - "selectAllButtonLabel": "Markér alt" + "selectAllButtonLabel": "Markér alt", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_de.arb b/packages/flutter_localizations/lib/src/l10n/widgets_de.arb index add0d1b7e74ef..e1381d9e125b7 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_de.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_de.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Im Web suchen", "shareButtonLabel": "Teilen", "pasteButtonLabel": "Einsetzen", - "selectAllButtonLabel": "Alle auswählen" + "selectAllButtonLabel": "Alle auswählen", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_el.arb b/packages/flutter_localizations/lib/src/l10n/widgets_el.arb index 11d077ad30f13..90b2806bc8bf1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_el.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_el.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Αναζήτηση στον ιστό", "shareButtonLabel": "Κοινή χρήση", "pasteButtonLabel": "Επικόλληση", - "selectAllButtonLabel": "Επιλογή όλων" + "selectAllButtonLabel": "Επιλογή όλων", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_en.arb b/packages/flutter_localizations/lib/src/l10n/widgets_en.arb index f23acd3830230..43bacced03955 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_en.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_en.arb @@ -11,6 +11,10 @@ "@reorderItemLeft": {"description":"The audio announcement to move an item in a Reorderable List left in the list when it is oriented horizontally."}, "reorderItemRight": "Move right", "@reorderItemRight": {"description":"The audio announcement to move an item in a Reorderable List right in the list when it is oriented horizontally."}, + "searchResultsFound": "Search results found", + "@searchResultsFound": {"description":"The audio announcement when Autocomplete search results become available."}, + "noResultsFound": "No results found", + "@noResultsFound": {"description":"The audio announcement when Autocomplete search results become unavailable."}, "copyButtonLabel": "Copy", "@copyButtonLabel": {"description":"The label for copy buttons and menu items."}, "cutButtonLabel": "Cut", diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_es.arb b/packages/flutter_localizations/lib/src/l10n/widgets_es.arb index 63a2b15006ea9..c089b33ae4315 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_es.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_es.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Buscar en la Web", "shareButtonLabel": "Compartir", "pasteButtonLabel": "Pegar", - "selectAllButtonLabel": "Seleccionar todo" + "selectAllButtonLabel": "Seleccionar todo", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_et.arb b/packages/flutter_localizations/lib/src/l10n/widgets_et.arb index 6ddd8a681d461..be1d0a43f1da0 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_et.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_et.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Otsi veebist", "shareButtonLabel": "Jagamine", "pasteButtonLabel": "Kleebi", - "selectAllButtonLabel": "Vali kõik" + "selectAllButtonLabel": "Vali kõik", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_eu.arb b/packages/flutter_localizations/lib/src/l10n/widgets_eu.arb index a6f2bf5c53e2e..abc645842ff95 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_eu.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_eu.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Bilatu sarean", "shareButtonLabel": "Partekatu", "pasteButtonLabel": "Itsatsi", - "selectAllButtonLabel": "Hautatu guztiak" + "selectAllButtonLabel": "Hautatu guztiak", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fa.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fa.arb index f73d1f66fd34e..e398c8a981a45 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fa.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fa.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "جستجو در وب", "shareButtonLabel": "هم‌رسانی کردن", "pasteButtonLabel": "جای‌گذاری", - "selectAllButtonLabel": "انتخاب همه" + "selectAllButtonLabel": "انتخاب همه", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fi.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fi.arb index ea8f1b50de51c..2df7f360dfb3b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fi.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fi.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Hae verkosta", "shareButtonLabel": "Jaa", "pasteButtonLabel": "Liitä", - "selectAllButtonLabel": "Valitse kaikki" + "selectAllButtonLabel": "Valitse kaikki", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fil.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fil.arb index b566bb5e3ba60..e18e01cab9eff 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fil.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fil.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Maghanap sa Web", "shareButtonLabel": "I-share", "pasteButtonLabel": "I-paste", - "selectAllButtonLabel": "Piliin lahat" + "selectAllButtonLabel": "Piliin lahat", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_fr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_fr.arb index 8c656b35791bd..959b4ac5a7609 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_fr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_fr.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Rechercher sur le Web", "shareButtonLabel": "Partager", "pasteButtonLabel": "Coller", - "selectAllButtonLabel": "Tout sélectionner" + "selectAllButtonLabel": "Tout sélectionner", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_gl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_gl.arb index 286051df4eb43..cae496aae1aff 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_gl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_gl.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Buscar na Web", "shareButtonLabel": "Compartir", "pasteButtonLabel": "Pegar", - "selectAllButtonLabel": "Seleccionar todo" + "selectAllButtonLabel": "Seleccionar todo", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_gsw.arb b/packages/flutter_localizations/lib/src/l10n/widgets_gsw.arb index add0d1b7e74ef..e1381d9e125b7 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_gsw.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_gsw.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Im Web suchen", "shareButtonLabel": "Teilen", "pasteButtonLabel": "Einsetzen", - "selectAllButtonLabel": "Alle auswählen" + "selectAllButtonLabel": "Alle auswählen", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_gu.arb b/packages/flutter_localizations/lib/src/l10n/widgets_gu.arb index a6adb2d5b8f46..113c0bfb3bfd0 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_gu.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_gu.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "વેબ પર શોધો", "shareButtonLabel": "શેર કરો", "pasteButtonLabel": "પેસ્ટ કરો", - "selectAllButtonLabel": "બધા પસંદ કરો" + "selectAllButtonLabel": "બધા પસંદ કરો", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_he.arb b/packages/flutter_localizations/lib/src/l10n/widgets_he.arb index c3dcd5beccf43..be9ed03429642 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_he.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_he.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "חיפוש באינטרנט", "shareButtonLabel": "שיתוף", "pasteButtonLabel": "הדבקה", - "selectAllButtonLabel": "בחירת הכול" + "selectAllButtonLabel": "בחירת הכול", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_hi.arb b/packages/flutter_localizations/lib/src/l10n/widgets_hi.arb index 756909a1cda64..60d3f6d4fdaf8 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_hi.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_hi.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "वेब पर खोजें", "shareButtonLabel": "शेयर करें", "pasteButtonLabel": "चिपकाएं", - "selectAllButtonLabel": "सभी को चुनें" + "selectAllButtonLabel": "सभी को चुनें", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_hr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_hr.arb index a8a229fa5b4db..654214813e67d 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_hr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_hr.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Pretraži web", "shareButtonLabel": "Dijeli", "pasteButtonLabel": "Zalijepi", - "selectAllButtonLabel": "Odaberi sve" + "selectAllButtonLabel": "Odaberi sve", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_hu.arb b/packages/flutter_localizations/lib/src/l10n/widgets_hu.arb index 3509d742f5273..b8206e5486c9e 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_hu.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_hu.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Keresés az interneten", "shareButtonLabel": "Megosztás", "pasteButtonLabel": "Beillesztés", - "selectAllButtonLabel": "Összes kijelölése" + "selectAllButtonLabel": "Összes kijelölése", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_hy.arb b/packages/flutter_localizations/lib/src/l10n/widgets_hy.arb index 0128ee1149291..a608c050e28a7 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_hy.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_hy.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Որոնել համացանցում", "shareButtonLabel": "Կիսվել", "pasteButtonLabel": "Տեղադրել", - "selectAllButtonLabel": "Նշել բոլորը" + "selectAllButtonLabel": "Նշել բոլորը", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_id.arb b/packages/flutter_localizations/lib/src/l10n/widgets_id.arb index a43523bb22e98..e6e21869c0782 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_id.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_id.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Telusuri di Web", "shareButtonLabel": "Bagikan", "pasteButtonLabel": "Tempel", - "selectAllButtonLabel": "Pilih semua" + "selectAllButtonLabel": "Pilih semua", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_is.arb b/packages/flutter_localizations/lib/src/l10n/widgets_is.arb index a85afe02a70a0..2670e9e7bacb2 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_is.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_is.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Leita á vefnum", "shareButtonLabel": "Deila", "pasteButtonLabel": "Líma", - "selectAllButtonLabel": "Velja allt" + "selectAllButtonLabel": "Velja allt", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_it.arb b/packages/flutter_localizations/lib/src/l10n/widgets_it.arb index 5e6235218e3b2..ee59fe281fa0a 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_it.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_it.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Cerca sul web", "shareButtonLabel": "Condividi", "pasteButtonLabel": "Incolla", - "selectAllButtonLabel": "Seleziona tutto" + "selectAllButtonLabel": "Seleziona tutto", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ja.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ja.arb index 640ce147e79fb..b34d90b49c676 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ja.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ja.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ウェブを検索", "shareButtonLabel": "共有", "pasteButtonLabel": "貼り付け", - "selectAllButtonLabel": "すべてを選択" + "selectAllButtonLabel": "すべてを選択", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ka.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ka.arb index e48f53fdf5480..2d875240dd9b5 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ka.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ka.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ვებში ძიება", "shareButtonLabel": "გაზიარება", "pasteButtonLabel": "ჩასმა", - "selectAllButtonLabel": "ყველას არჩევა" + "selectAllButtonLabel": "ყველას არჩევა", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_kk.arb b/packages/flutter_localizations/lib/src/l10n/widgets_kk.arb index 86b6636f4acdb..f84b350eaa931 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_kk.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_kk.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Интернеттен іздеу", "shareButtonLabel": "Бөлісу", "pasteButtonLabel": "Қою", - "selectAllButtonLabel": "Барлығын таңдау" + "selectAllButtonLabel": "Барлығын таңдау", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_km.arb b/packages/flutter_localizations/lib/src/l10n/widgets_km.arb index 90468610ea94d..58a89f8e5b895 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_km.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_km.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ស្វែងរក​លើបណ្ដាញ", "shareButtonLabel": "ចែករំលែក", "pasteButtonLabel": "ដាក់​ចូល", - "selectAllButtonLabel": "ជ្រើសរើស​ទាំងអស់" + "selectAllButtonLabel": "ជ្រើសរើស​ទាំងអស់", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_kn.arb b/packages/flutter_localizations/lib/src/l10n/widgets_kn.arb index e0639b1ba52a2..027c64e914529 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_kn.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_kn.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "\u0cb5\u0cc6\u0cac\u0ccd\u200c\u0ca8\u0cb2\u0ccd\u0cb2\u0cbf\u0020\u0cb9\u0cc1\u0ca1\u0cc1\u0c95\u0cbf", "shareButtonLabel": "\u0cb9\u0c82\u0c9a\u0cbf\u0c95\u0cca\u0cb3\u0ccd\u0cb3\u0cbf", "pasteButtonLabel": "\u0c85\u0c82\u0c9f\u0cbf\u0cb8\u0cbf", - "selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cbf" + "selectAllButtonLabel": "\u0c8e\u0cb2\u0ccd\u0cb2\u0cb5\u0ca8\u0ccd\u0ca8\u0cc2\u0020\u0c86\u0caf\u0ccd\u0c95\u0cc6\u0020\u0cae\u0cbe\u0ca1\u0cbf", + "searchResultsFound": "\u0053\u0065\u0061\u0072\u0063\u0068\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0073\u0020\u0066\u006f\u0075\u006e\u0064", + "noResultsFound": "\u004e\u006f\u0020\u0072\u0065\u0073\u0075\u006c\u0074\u0073\u0020\u0066\u006f\u0075\u006e\u0064" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ko.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ko.arb index 50c89e8f68cae..9deed6186a2e3 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ko.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ko.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "웹 검색", "shareButtonLabel": "공유", "pasteButtonLabel": "붙여넣기", - "selectAllButtonLabel": "전체 선택" + "selectAllButtonLabel": "전체 선택", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ky.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ky.arb index 22c168d49cfab..b14a2e3752c32 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ky.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ky.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Интернеттен издөө", "shareButtonLabel": "Бөлүшүү", "pasteButtonLabel": "Чаптоо", - "selectAllButtonLabel": "Баарын тандоо" + "selectAllButtonLabel": "Баарын тандоо", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_lo.arb b/packages/flutter_localizations/lib/src/l10n/widgets_lo.arb index 7ae02a952898f..ca8f6bf073027 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_lo.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_lo.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ຊອກຫາຢູ່ອິນເຕີເນັດ", "shareButtonLabel": "ແບ່ງປັນ", "pasteButtonLabel": "ວາງ", - "selectAllButtonLabel": "ເລືອກທັງໝົດ" + "selectAllButtonLabel": "ເລືອກທັງໝົດ", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_lt.arb b/packages/flutter_localizations/lib/src/l10n/widgets_lt.arb index 79c5aecc7c316..4966c13af6704 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_lt.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_lt.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Ieškoti žiniatinklyje", "shareButtonLabel": "Bendrinti", "pasteButtonLabel": "Įklijuoti", - "selectAllButtonLabel": "Pasirinkti viską" + "selectAllButtonLabel": "Pasirinkti viską", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_lv.arb b/packages/flutter_localizations/lib/src/l10n/widgets_lv.arb index f0fba2f7cd5b3..9abffb0dde6ca 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_lv.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_lv.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Meklēt tīmeklī", "shareButtonLabel": "Kopīgot", "pasteButtonLabel": "Ielīmēt", - "selectAllButtonLabel": "Atlasīt visu" + "selectAllButtonLabel": "Atlasīt visu", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_mk.arb b/packages/flutter_localizations/lib/src/l10n/widgets_mk.arb index 1964b6fd29e42..e3a604ec0c162 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_mk.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_mk.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Пребарајте на интернет", "shareButtonLabel": "Сподели", "pasteButtonLabel": "Залепи", - "selectAllButtonLabel": "Избери ги сите" + "selectAllButtonLabel": "Избери ги сите", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ml.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ml.arb index 46aef5961518a..945f7ba42cb4d 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ml.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ml.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "വെബിൽ തിരയുക", "shareButtonLabel": "പങ്കിടുക", "pasteButtonLabel": "ഒട്ടിക്കുക", - "selectAllButtonLabel": "എല്ലാം തിരഞ്ഞെടുക്കുക" + "selectAllButtonLabel": "എല്ലാം തിരഞ്ഞെടുക്കുക", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_mn.arb b/packages/flutter_localizations/lib/src/l10n/widgets_mn.arb index 8003eaad8308d..d7fcee2bbf3c9 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_mn.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_mn.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Вебээс хайх", "shareButtonLabel": "Хуваалцах", "pasteButtonLabel": "Буулгах", - "selectAllButtonLabel": "Бүгдийг сонгох" + "selectAllButtonLabel": "Бүгдийг сонгох", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_mr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_mr.arb index 3c131890c95d7..55659f2949aa1 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_mr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_mr.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "वेबवर शोधा", "shareButtonLabel": "शेअर करा", "pasteButtonLabel": "पेस्ट करा", - "selectAllButtonLabel": "सर्व निवडा" + "selectAllButtonLabel": "सर्व निवडा", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ms.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ms.arb index c852d61a9df39..db591b78df341 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ms.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ms.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Buat carian pada Web", "shareButtonLabel": "Kongsi", "pasteButtonLabel": "Tampal", - "selectAllButtonLabel": "Pilih semua" + "selectAllButtonLabel": "Pilih semua", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_my.arb b/packages/flutter_localizations/lib/src/l10n/widgets_my.arb index e5cac86a8f5f5..9d97190a54cfd 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_my.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_my.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ဝဘ်တွင်ရှာရန်", "shareButtonLabel": "မျှဝေရန်", "pasteButtonLabel": "ကူးထည့်ရန်", - "selectAllButtonLabel": "အားလုံး ရွေးရန်" + "selectAllButtonLabel": "အားလုံး ရွေးရန်", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_nb.arb b/packages/flutter_localizations/lib/src/l10n/widgets_nb.arb index 4904ad168b95e..87fbee82aefda 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_nb.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_nb.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Søk på nettet", "shareButtonLabel": "Del", "pasteButtonLabel": "Lim inn", - "selectAllButtonLabel": "Velg alle" + "selectAllButtonLabel": "Velg alle", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ne.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ne.arb index 62aa699ba64a2..9c6585c55d2f3 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ne.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ne.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "वेबमा खोज्नुहोस्", "shareButtonLabel": "सेयर गर्नुहोस्", "pasteButtonLabel": "टाँस्नुहोस्", - "selectAllButtonLabel": "सबै बटनहरू चयन गर्नुहोस्" + "selectAllButtonLabel": "सबै बटनहरू चयन गर्नुहोस्", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_nl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_nl.arb index cbd8a91ff4417..d64c99b49e51c 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_nl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_nl.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Op internet zoeken", "shareButtonLabel": "Delen", "pasteButtonLabel": "Plakken", - "selectAllButtonLabel": "Alles selecteren" + "selectAllButtonLabel": "Alles selecteren", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_no.arb b/packages/flutter_localizations/lib/src/l10n/widgets_no.arb index 4904ad168b95e..87fbee82aefda 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_no.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_no.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Søk på nettet", "shareButtonLabel": "Del", "pasteButtonLabel": "Lim inn", - "selectAllButtonLabel": "Velg alle" + "selectAllButtonLabel": "Velg alle", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_or.arb b/packages/flutter_localizations/lib/src/l10n/widgets_or.arb index a0ab09fac4abf..5243ef0d1a2ed 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_or.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_or.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ୱେବ ସର୍ଚ୍ଚ କରନ୍ତୁ", "shareButtonLabel": "ସେୟାର କରନ୍ତୁ", "pasteButtonLabel": "ପେଷ୍ଟ କରନ୍ତୁ", - "selectAllButtonLabel": "ସବୁ ଚୟନ କରନ୍ତୁ" + "selectAllButtonLabel": "ସବୁ ଚୟନ କରନ୍ତୁ", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_pa.arb b/packages/flutter_localizations/lib/src/l10n/widgets_pa.arb index 4a58293306563..ebc13e96c413b 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_pa.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_pa.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ਵੈੱਬ 'ਤੇ ਖੋਜੋ", "shareButtonLabel": "ਸਾਂਝਾ ਕਰੋ", "pasteButtonLabel": "ਪੇਸਟ ਕਰੋ", - "selectAllButtonLabel": "ਸਭ ਚੁਣੋ" + "selectAllButtonLabel": "ਸਭ ਚੁਣੋ", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_pl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_pl.arb index d4955bf836b83..a8040c5b0bbf5 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_pl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_pl.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Szukaj w internecie", "shareButtonLabel": "Udostępnij", "pasteButtonLabel": "Wklej", - "selectAllButtonLabel": "Zaznacz wszystko" + "selectAllButtonLabel": "Zaznacz wszystko", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ps.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ps.arb index a7ba79d5bb57f..3f193edb7c946 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ps.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ps.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Search Web", "shareButtonLabel": "Share...", "pasteButtonLabel": "پیټ کړئ", - "selectAllButtonLabel": "غوره کړئ" + "selectAllButtonLabel": "غوره کړئ", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_pt.arb b/packages/flutter_localizations/lib/src/l10n/widgets_pt.arb index 114b613a1a7b3..3a36859d676d3 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_pt.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_pt.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Pesquisar na Web", "shareButtonLabel": "Compartilhar", "pasteButtonLabel": "Colar", - "selectAllButtonLabel": "Selecionar tudo" + "selectAllButtonLabel": "Selecionar tudo", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ro.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ro.arb index b3c8194ffc41f..73043f96efee8 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ro.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ro.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Căutați pe web", "shareButtonLabel": "Trimiteți", "pasteButtonLabel": "Inserați", - "selectAllButtonLabel": "Selectați tot" + "selectAllButtonLabel": "Selectați tot", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ru.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ru.arb index 7db9d8302b6b8..05d61c01096ad 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ru.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ru.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Искать в интернете", "shareButtonLabel": "Поделиться", "pasteButtonLabel": "Вставить", - "selectAllButtonLabel": "Выбрать все" + "selectAllButtonLabel": "Выбрать все", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_si.arb b/packages/flutter_localizations/lib/src/l10n/widgets_si.arb index c7cc543f83075..791059355a685 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_si.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_si.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "වෙබය සොයන්න", "shareButtonLabel": "බෙදා ගන්න", "pasteButtonLabel": "අලවන්න", - "selectAllButtonLabel": "සියල්ල තෝරන්න" + "selectAllButtonLabel": "සියල්ල තෝරන්න", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sk.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sk.arb index 693c744f38725..3df13a85eac89 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sk.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sk.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Hľadať na webe", "shareButtonLabel": "Zdieľať", "pasteButtonLabel": "Prilepiť", - "selectAllButtonLabel": "Vybrať všetko" + "selectAllButtonLabel": "Vybrať všetko", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sl.arb index 9ba4978c89d3f..05bdbec2e11c9 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sl.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Iskanje v spletu", "shareButtonLabel": "Deli", "pasteButtonLabel": "Prilepi", - "selectAllButtonLabel": "Izberi vse" + "selectAllButtonLabel": "Izberi vse", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sq.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sq.arb index d0696f8583f1f..1e3998580ec4e 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sq.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sq.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Kërko në ueb", "shareButtonLabel": "Ndaj", "pasteButtonLabel": "Ngjit", - "selectAllButtonLabel": "Zgjidh të gjitha" + "selectAllButtonLabel": "Zgjidh të gjitha", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sr.arb index c73af4e8ee0d6..d2f2f3ad58998 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sr.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Претражи веб", "shareButtonLabel": "Дели", "pasteButtonLabel": "Налепи", - "selectAllButtonLabel": "Изабери све" + "selectAllButtonLabel": "Изабери све", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sv.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sv.arb index d2413b6a90f45..126262682b8e8 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sv.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sv.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Sök på webben", "shareButtonLabel": "Dela", "pasteButtonLabel": "Klistra in", - "selectAllButtonLabel": "Markera allt" + "selectAllButtonLabel": "Markera allt", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_sw.arb b/packages/flutter_localizations/lib/src/l10n/widgets_sw.arb index 39768d24aa40b..86a340e8ac489 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_sw.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_sw.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Tafuta kwenye Wavuti", "shareButtonLabel": "Tuma", "pasteButtonLabel": "Bandika", - "selectAllButtonLabel": "Chagua vyote" + "selectAllButtonLabel": "Chagua vyote", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ta.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ta.arb index 95938d222dd2d..5e73bf133a139 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ta.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ta.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "இணையத்தில் தேடு", "shareButtonLabel": "பகிர்", "pasteButtonLabel": "ஒட்டு", - "selectAllButtonLabel": "அனைத்தையும் தேர்ந்தெடு" + "selectAllButtonLabel": "அனைத்தையும் தேர்ந்தெடு", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_te.arb b/packages/flutter_localizations/lib/src/l10n/widgets_te.arb index 407f592c391ce..837576fc8297a 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_te.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_te.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "వెబ్‌లో సెర్చ్ చేయండి", "shareButtonLabel": "షేర్ చేయండి", "pasteButtonLabel": "పేస్ట్ చేయండి", - "selectAllButtonLabel": "అన్నింటినీ ఎంచుకోండి" + "selectAllButtonLabel": "అన్నింటినీ ఎంచుకోండి", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_th.arb b/packages/flutter_localizations/lib/src/l10n/widgets_th.arb index e9236b5064bcf..d37a0f40d4c14 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_th.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_th.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ค้นหาบนอินเทอร์เน็ต", "shareButtonLabel": "แชร์", "pasteButtonLabel": "วาง", - "selectAllButtonLabel": "เลือกทั้งหมด" + "selectAllButtonLabel": "เลือกทั้งหมด", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_tl.arb b/packages/flutter_localizations/lib/src/l10n/widgets_tl.arb index b566bb5e3ba60..e18e01cab9eff 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_tl.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_tl.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Maghanap sa Web", "shareButtonLabel": "I-share", "pasteButtonLabel": "I-paste", - "selectAllButtonLabel": "Piliin lahat" + "selectAllButtonLabel": "Piliin lahat", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_tr.arb b/packages/flutter_localizations/lib/src/l10n/widgets_tr.arb index ffa7f72fb7c8d..4d6d1b272f6e2 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_tr.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_tr.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Web'de Ara", "shareButtonLabel": "Paylaş", "pasteButtonLabel": "Yapıştır", - "selectAllButtonLabel": "Tümünü seç" + "selectAllButtonLabel": "Tümünü seç", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_uk.arb b/packages/flutter_localizations/lib/src/l10n/widgets_uk.arb index 9a7d59b756297..e685898d4931d 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_uk.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_uk.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Пошук в Інтернеті", "shareButtonLabel": "Поділитися", "pasteButtonLabel": "Вставити", - "selectAllButtonLabel": "Вибрати всі" + "selectAllButtonLabel": "Вибрати всі", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_ur.arb b/packages/flutter_localizations/lib/src/l10n/widgets_ur.arb index e7bae3b02deba..5bc2ad830b058 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_ur.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_ur.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "ویب تلاش کریں", "shareButtonLabel": "اشتراک کریں", "pasteButtonLabel": "پیسٹ کریں", - "selectAllButtonLabel": "سبھی کو منتخب کریں" + "selectAllButtonLabel": "سبھی کو منتخب کریں", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_uz.arb b/packages/flutter_localizations/lib/src/l10n/widgets_uz.arb index 5a314605580aa..cae0b430e47d8 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_uz.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_uz.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Internetdan qidirish", "shareButtonLabel": "Ulashish", "pasteButtonLabel": "Joylash", - "selectAllButtonLabel": "Hammasi" + "selectAllButtonLabel": "Hammasi", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_vi.arb b/packages/flutter_localizations/lib/src/l10n/widgets_vi.arb index 2de10788ef5b1..21beef831ea89 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_vi.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_vi.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Tìm kiếm trên web", "shareButtonLabel": "Chia sẻ", "pasteButtonLabel": "Dán", - "selectAllButtonLabel": "Chọn tất cả" + "selectAllButtonLabel": "Chọn tất cả", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_zh.arb b/packages/flutter_localizations/lib/src/l10n/widgets_zh.arb index 542c1e719a7d3..78bc58788c220 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_zh.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_zh.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "搜索", "shareButtonLabel": "分享", "pasteButtonLabel": "粘贴", - "selectAllButtonLabel": "全选" + "selectAllButtonLabel": "全选", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/lib/src/l10n/widgets_zu.arb b/packages/flutter_localizations/lib/src/l10n/widgets_zu.arb index e93485da5c51f..e2711cefcf7ed 100644 --- a/packages/flutter_localizations/lib/src/l10n/widgets_zu.arb +++ b/packages/flutter_localizations/lib/src/l10n/widgets_zu.arb @@ -11,5 +11,7 @@ "searchWebButtonLabel": "Sesha Iwebhu", "shareButtonLabel": "Yabelana", "pasteButtonLabel": "Namathisela", - "selectAllButtonLabel": "Khetha konke" + "selectAllButtonLabel": "Khetha konke", + "searchResultsFound": "Search results found", + "noResultsFound": "No results found" } diff --git a/packages/flutter_localizations/test/material/time_picker_test.dart b/packages/flutter_localizations/test/material/time_picker_test.dart index 1bc803095f72a..141e51817282f 100644 --- a/packages/flutter_localizations/test/material/time_picker_test.dart +++ b/packages/flutter_localizations/test/material/time_picker_test.dart @@ -26,11 +26,11 @@ void main() { matching: find.byType(Text), ) .first; - final Finder hourControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_HourControl', + final Finder dialHourControlFinder = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialHourControl', ); - final Finder minuteControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_MinuteControl', + final Finder dialMinuteControlFinder = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialMinuteControl', ); final Finder dayPeriodControlFinder = find.byWidgetPredicate( (Widget w) => '${w.runtimeType}' == '_DayPeriodControl', @@ -54,8 +54,8 @@ void main() { useMaterial3: false, ); final Text stringFragmentText = tester.widget(timeSelectorSeparatorFinder); - final double hourLeftOffset = tester.getTopLeft(hourControlFinder).dx; - final double minuteLeftOffset = tester.getTopLeft(minuteControlFinder).dx; + final double hourLeftOffset = tester.getTopLeft(dialHourControlFinder).dx; + final double minuteLeftOffset = tester.getTopLeft(dialMinuteControlFinder).dx; final double stringFragmentLeftOffset = tester.getTopLeft(timeSelectorSeparatorFinder).dx; if (locale == const Locale('en', 'US')) { @@ -111,11 +111,11 @@ void main() { matching: find.byType(Text), ) .first; - final Finder hourControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_HourControl', + final Finder dialHourControlFinder = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialHourControl', ); - final Finder minuteControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_MinuteControl', + final Finder dialMinuteControlFinder = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialMinuteControl', ); final Finder dayPeriodControlFinder = find.byWidgetPredicate( (Widget w) => '${w.runtimeType}' == '_DayPeriodControl', @@ -139,8 +139,8 @@ void main() { useMaterial3: true, ); final Text stringFragmentText = tester.widget(timeSelectorSeparatorFinder); - final double hourLeftOffset = tester.getTopLeft(hourControlFinder).dx; - final double minuteLeftOffset = tester.getTopLeft(minuteControlFinder).dx; + final double hourLeftOffset = tester.getTopLeft(dialHourControlFinder).dx; + final double minuteLeftOffset = tester.getTopLeft(dialMinuteControlFinder).dx; final double stringFragmentLeftOffset = tester.getTopLeft(timeSelectorSeparatorFinder).dx; if (locale == const Locale('en', 'US')) { @@ -196,11 +196,11 @@ void main() { matching: find.byType(Text), ) .first; - final Finder hourControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_HourControl', + final Finder dialHourControlFinder = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialHourControl', ); - final Finder minuteControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_MinuteControl', + final Finder dialMinuteControlFinder = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialMinuteControl', ); final Finder dayPeriodControlFinder = find.byWidgetPredicate( (Widget w) => '${w.runtimeType}' == '_DayPeriodControl', @@ -224,9 +224,9 @@ void main() { useMaterial3: false, ); final Text stringFragmentText = tester.widget(timeSelectorSeparatorFinder); - final double hourLeftOffset = tester.getTopLeft(hourControlFinder).dx; - final double hourTopOffset = tester.getTopLeft(hourControlFinder).dy; - final double minuteLeftOffset = tester.getTopLeft(minuteControlFinder).dx; + final double hourLeftOffset = tester.getTopLeft(dialHourControlFinder).dx; + final double hourTopOffset = tester.getTopLeft(dialHourControlFinder).dy; + final double minuteLeftOffset = tester.getTopLeft(dialMinuteControlFinder).dx; final double stringFragmentLeftOffset = tester.getTopLeft(timeSelectorSeparatorFinder).dx; if (locale == const Locale('en', 'US')) { @@ -286,11 +286,11 @@ void main() { matching: find.byType(Text), ) .first; - final Finder hourControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_HourControl', + final Finder dialHourControlFinder = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialHourControl', ); - final Finder minuteControlFinder = find.byWidgetPredicate( - (Widget w) => '${w.runtimeType}' == '_MinuteControl', + final Finder dialMinuteControlFinder = find.byWidgetPredicate( + (Widget w) => '${w.runtimeType}' == '_DialMinuteControl', ); final Finder dayPeriodControlFinder = find.byWidgetPredicate( (Widget w) => '${w.runtimeType}' == '_DayPeriodControl', @@ -314,9 +314,9 @@ void main() { useMaterial3: true, ); final Text stringFragmentText = tester.widget(timeSelectorSeparatorFinder); - final double hourLeftOffset = tester.getTopLeft(hourControlFinder).dx; - final double hourTopOffset = tester.getTopLeft(hourControlFinder).dy; - final double minuteLeftOffset = tester.getTopLeft(minuteControlFinder).dx; + final double hourLeftOffset = tester.getTopLeft(dialHourControlFinder).dx; + final double hourTopOffset = tester.getTopLeft(dialHourControlFinder).dy; + final double minuteLeftOffset = tester.getTopLeft(dialMinuteControlFinder).dx; final double stringFragmentLeftOffset = tester.getTopLeft(timeSelectorSeparatorFinder).dx; if (locale == const Locale('en', 'US')) { @@ -365,10 +365,10 @@ void main() { testWidgets('Material2 - can localize input mode in all known formats', ( WidgetTester tester, ) async { - final Finder hourControlFinder = find.byWidgetPredicate( + final Finder inputHourControlFinder = find.byWidgetPredicate( (Widget w) => '${w.runtimeType}' == '_HourTextField', ); - final Finder minuteControlFinder = find.byWidgetPredicate( + final Finder inputMinuteControlFinder = find.byWidgetPredicate( (Widget w) => '${w.runtimeType}' == '_MinuteTextField', ); final Finder dayPeriodControlFinder = find.byWidgetPredicate( @@ -404,8 +404,8 @@ void main() { await tester.pumpAndSettle(const Duration(seconds: 1)); final Text stringFragmentText = tester.widget(timeSelectorSeparatorFinder); - final double hourLeftOffset = tester.getTopLeft(hourControlFinder).dx; - final double minuteLeftOffset = tester.getTopLeft(minuteControlFinder).dx; + final double hourLeftOffset = tester.getTopLeft(inputHourControlFinder).dx; + final double minuteLeftOffset = tester.getTopLeft(inputMinuteControlFinder).dx; final double stringFragmentLeftOffset = tester.getTopLeft(timeSelectorSeparatorFinder).dx; if (locale == const Locale('en', 'US')) { @@ -450,10 +450,10 @@ void main() { testWidgets('Material3 - can localize input mode in all known formats', ( WidgetTester tester, ) async { - final Finder hourControlFinder = find.byWidgetPredicate( + final Finder inputHourControlFinder = find.byWidgetPredicate( (Widget w) => '${w.runtimeType}' == '_HourTextField', ); - final Finder minuteControlFinder = find.byWidgetPredicate( + final Finder inputMinuteControlFinder = find.byWidgetPredicate( (Widget w) => '${w.runtimeType}' == '_MinuteTextField', ); final Finder dayPeriodControlFinder = find.byWidgetPredicate( @@ -489,8 +489,8 @@ void main() { await tester.pumpAndSettle(const Duration(seconds: 1)); final Text stringFragmentText = tester.widget(timeSelectorSeparatorFinder); - final double hourLeftOffset = tester.getTopLeft(hourControlFinder).dx; - final double minuteLeftOffset = tester.getTopLeft(minuteControlFinder).dx; + final double hourLeftOffset = tester.getTopLeft(inputHourControlFinder).dx; + final double minuteLeftOffset = tester.getTopLeft(inputMinuteControlFinder).dx; final double stringFragmentLeftOffset = tester.getTopLeft(timeSelectorSeparatorFinder).dx; if (locale == const Locale('en', 'US')) { diff --git a/packages/flutter_test/lib/src/controller.dart b/packages/flutter_test/lib/src/controller.dart index ec9d84590cf5e..9d54f05a71aea 100644 --- a/packages/flutter_test/lib/src/controller.dart +++ b/packages/flutter_test/lib/src/controller.dart @@ -367,7 +367,11 @@ class SemanticsController { return true; } - final bool hasContent = data.label.isNotEmpty || data.value.isNotEmpty || data.hint.isNotEmpty; + final bool hasContent = + data.label.isNotEmpty || + data.value.isNotEmpty || + data.hint.isNotEmpty || + data.tooltip.isNotEmpty; if (hasContent) { return true; } diff --git a/packages/flutter_test/lib/src/matchers.dart b/packages/flutter_test/lib/src/matchers.dart index c7a13e1c72901..2fb1f571b24d5 100644 --- a/packages/flutter_test/lib/src/matchers.dart +++ b/packages/flutter_test/lib/src/matchers.dart @@ -879,7 +879,7 @@ Matcher containsSemantics({ int? platformViewId, int? maxValueLength, int? currentValueLength, - SemanticsValidationResult validationResult = SemanticsValidationResult.none, + SemanticsValidationResult? validationResult, ui.SemanticsInputType? inputType, // Flags bool? hasCheckedState, @@ -2538,7 +2538,7 @@ class _MatchesSemanticsData extends Matcher { final int? currentValueLength; final ui.SemanticsInputType? inputType; final List? children; - final SemanticsValidationResult validationResult; + final SemanticsValidationResult? validationResult; /// There are three possible states for these two maps: /// @@ -2645,7 +2645,7 @@ class _MatchesSemanticsData extends Matcher { if (hintOverrides != null) { description.add(' with custom hints: $hintOverrides'); } - if (validationResult != SemanticsValidationResult.none) { + if (validationResult != null) { description.add(' with validation result: $validationResult'); } if (children != null) { @@ -2778,7 +2778,7 @@ class _MatchesSemanticsData extends Matcher { if (maxValueLength != null && maxValueLength != data.maxValueLength) { return failWithDescription(matchState, 'maxValueLength was: ${data.maxValueLength}'); } - if (validationResult != data.validationResult) { + if (validationResult != null && validationResult != data.validationResult) { return failWithDescription(matchState, 'validationResult was: ${data.validationResult}'); } if (inputType != null && inputType != data.inputType) { diff --git a/packages/flutter_test/lib/src/window.dart b/packages/flutter_test/lib/src/window.dart index 514894229475e..78e7af53eb5dc 100644 --- a/packages/flutter_test/lib/src/window.dart +++ b/packages/flutter_test/lib/src/window.dart @@ -175,6 +175,9 @@ class TestPlatformDispatcher implements PlatformDispatcher { : null; } + @override + int? get engineId => 1; + final Map _testViews = {}; final Map _testDisplays = {}; diff --git a/packages/flutter_test/test/controller_test.dart b/packages/flutter_test/test/controller_test.dart index 3e966a57a495f..0e64c70a07625 100644 --- a/packages/flutter_test/test/controller_test.dart +++ b/packages/flutter_test/test/controller_test.dart @@ -1036,6 +1036,19 @@ void main() { orderedEquals([containsSemantics(label: '1\n2\n3')]), ); }); + testWidgets('a node with only a tooltip is important for accessibility', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + const MaterialApp( + home: Tooltip(message: 'My tooltip', child: SizedBox()), + ), + ); + expect( + tester.semantics.simulatedAccessibilityTraversal(), + contains(containsSemantics(tooltip: 'My tooltip')), + ); + }); }); group('actions', () { diff --git a/packages/flutter_test/test/matchers_test.dart b/packages/flutter_test/test/matchers_test.dart index 66151ead0da5c..c172f95e9fb4f 100644 --- a/packages/flutter_test/test/matchers_test.dart +++ b/packages/flutter_test/test/matchers_test.dart @@ -14,14 +14,15 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:vector_math/vector_math_64.dart' show Matrix3; SemanticsFlags allFlags = SemanticsFlags( - hasCheckedState: true, - isChecked: true, - isSelected: true, + isChecked: ui.CheckedState.isTrue, + isSelected: ui.Tristate.isTrue, + isEnabled: ui.Tristate.isTrue, + isToggled: ui.Tristate.isTrue, + isExpanded: ui.Tristate.isTrue, + isRequired: ui.Tristate.isTrue, + isFocused: ui.Tristate.isTrue, isButton: true, isTextField: true, - isFocused: true, - hasEnabledState: true, - isEnabled: true, isInMutuallyExclusiveGroup: true, isHeader: true, isObscured: true, @@ -30,21 +31,12 @@ SemanticsFlags allFlags = SemanticsFlags( isHidden: true, isImage: true, isLiveRegion: true, - hasToggledState: true, - isToggled: true, hasImplicitScrolling: true, isMultiline: true, isReadOnly: true, - isFocusable: true, isLink: true, isSlider: true, isKeyboardKey: true, - isCheckStateMixed: true, - hasExpandedState: true, - isExpanded: true, - hasSelectedState: true, - hasRequiredState: true, - isRequired: true, ); /// Class that makes it easy to mock common toStringDeep behavior. @@ -777,7 +769,6 @@ void main() { /* Flags */ hasCheckedState: true, isChecked: true, - isCheckStateMixed: true, hasSelectedState: true, isSelected: true, isButton: true, @@ -1357,6 +1348,49 @@ void main() { handle.dispose(); }); + testWidgets('can match validation result', (WidgetTester tester) async { + final SemanticsHandle handle = tester.ensureSemantics(); + const Key key = Key('a'); + await tester.pumpWidget( + Semantics( + key: key, + label: 'Foo', + validationResult: SemanticsValidationResult.valid, + textDirection: TextDirection.ltr, + ), + ); + final SemanticsNode node = tester.getSemantics(find.byKey(key)); + + expect( + node, + containsSemantics( + label: 'Foo', + validationResult: SemanticsValidationResult.valid, + textDirection: TextDirection.ltr, + ), + ); + + handle.dispose(); + }); + + testWidgets('can ignore validation result', (WidgetTester tester) async { + final SemanticsHandle handle = tester.ensureSemantics(); + const Key key = Key('a'); + await tester.pumpWidget( + Semantics( + key: key, + label: 'Foo', + validationResult: SemanticsValidationResult.valid, + textDirection: TextDirection.ltr, + ), + ); + final SemanticsNode node = tester.getSemantics(find.byKey(key)); + // It is important that validationResult is passed as null to containsSemantics, + // because this is testing that null means "ignore the validation result value". + expect(node, containsSemantics(label: 'Foo', textDirection: TextDirection.ltr)); + + handle.dispose(); + }); testWidgets('can match only custom actions', (WidgetTester tester) async { const CustomSemanticsAction action = CustomSemanticsAction(label: 'test'); diff --git a/packages/flutter_tools/bin/xcode_backend.dart b/packages/flutter_tools/bin/xcode_backend.dart index 74cd92c7f1d83..7b715d8882b97 100644 --- a/packages/flutter_tools/bin/xcode_backend.dart +++ b/packages/flutter_tools/bin/xcode_backend.dart @@ -136,23 +136,23 @@ class Context { } errorOutput.write(resultStderr); if (skipErrorLog) { - // Pipe stderr to stdout under verbose mode. - // An example is on macOS 26, plutil reports NSBonjourServices key not found - // via stderr (rather than stdout on older macOS), and logging the message - // in stderr would be confusing, since not having the key is one of the expected states. + // Even if skipErrorLog, we still want to write to stdout if verbose. if (verbose) { echo(errorOutput.toString()); } } else { echoError(errorOutput.toString()); } - // Stream stderr to the Flutter build process. // When in verbose mode, `echoError` above will show the logs. So only // stream if not in verbose mode to avoid duplicate logs. // Also, only stream if exitCode is 0 since errors are handled separately // by the tool on failure. - if (!verbose && exitCode == 0) { + // Also check for `skipErrorLog`, because some errors should not be printed + // out. For example, on macOS 26, plutil reports NSBonjourServices key not + // found as an error. However, logging it in non-verbose mode would be + // confusing, since not having the key is one of the expected states. + if (!verbose && exitCode == 0 && !skipErrorLog) { streamOutput(errorOutput.toString()); } } @@ -540,8 +540,6 @@ class Context { final String buildMode = parseFlutterBuildMode(); - _validateBuildMode(platform, buildMode); - final List flutterArgs = _generateFlutterArgsForAssemble( command: 'build', buildMode: buildMode, @@ -570,53 +568,6 @@ class Context { echo('Project $projectPath built and packaged successfully.'); } - /// Validate that the build mode targeted matches the build mode set by the - /// Flutter CLI. - /// If it doesn't match, print a warning unless the Xcode action is `install`, - /// which means the app is being archived for distribution. In that case, print - /// an error and fail the build. - /// - /// The targeted build mode might not match the one set by Flutter CLI when it - /// is changed and ran directly through Xcode. - /// - /// Flutter may change settings or files depending on the build mode. For - /// example, dev dependencies are excluded from release builds and requires - /// the Flutter CLI to update certain files. - void _validateBuildMode(TargetPlatform platform, String currentBuildMode) { - final String? buildModeCLILastUsed = environment['FLUTTER_CLI_BUILD_MODE']; - - // Also fail the build if ACTION=install, which indicates the app is being - // built for distribution. - final String? action = environment['ACTION']; - final fatal = action == 'install'; - - if (buildModeCLILastUsed == null) { - final message = - 'Your Flutter build settings are outdated. Please run ' - '"flutter build ${platform.name} --config-only --$currentBuildMode" in your Flutter ' - 'project and try again.\n'; - if (fatal) { - echoXcodeError(message); - exitApp(-1); - } else { - echoXcodeWarning(message); - return; - } - } - if (currentBuildMode != buildModeCLILastUsed) { - final message = - 'Your Flutter project is currently configured for $buildModeCLILastUsed mode. ' - 'Please run `flutter build ${platform.name} --config-only --$currentBuildMode` ' - 'in your Flutter project to update your settings.\n'; - if (fatal) { - echoXcodeError(message); - exitApp(-1); - } else { - echoXcodeWarning(message); - } - } - } - List _generateFlutterArgsForAssemble({ required String command, required String buildMode, diff --git a/packages/flutter_tools/gradle/src/main/kotlin/Deeplink.kt b/packages/flutter_tools/gradle/src/main/kotlin/Deeplink.kt index d7eccebcabcef..0e9a1f8946eaf 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/Deeplink.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/Deeplink.kt @@ -4,16 +4,20 @@ package com.flutter.gradle +import androidx.annotation.VisibleForTesting import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.buildJsonObject import kotlinx.serialization.json.put -// TODO(gmackall): Identify which of these can be val instead of var. class Deeplink( - private var scheme: String?, - private var host: String?, - var path: String?, - private var intentFilterCheck: IntentFilterCheck + @VisibleForTesting + val scheme: String?, + @VisibleForTesting + val host: String?, + @VisibleForTesting + val path: String?, + @VisibleForTesting + val intentFilterCheck: IntentFilterCheck ) { // TODO(gmackall): This behavior was kept identical to the original Groovy behavior as part of // the Groovy->Kotlin conversion, but should be changed once the conversion is complete. diff --git a/packages/flutter_tools/gradle/src/main/kotlin/DependencyVersionChecker.kt b/packages/flutter_tools/gradle/src/main/kotlin/DependencyVersionChecker.kt index 592315a40639a..7179fa26be711 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/DependencyVersionChecker.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/DependencyVersionChecker.kt @@ -155,7 +155,7 @@ object DependencyVersionChecker { val minSdkCheckTask = project.tasks.register(taskName) { doLast { - val minSdkVersion = getMinSdkVersion(project, it) + val minSdkVersion = getMinSdkVersion(it) try { checkMinSdkVersion(minSdkVersion, project.rootDir.path, project.logger) } catch (e: DependencyValidationException) { @@ -180,20 +180,7 @@ object DependencyVersionChecker { private fun generateMinSdkCheckTaskName(it: Variant) = "${FlutterPluginUtils.capitalize(it.name)}$MIN_SDK_CHECK_TASK_POSTFIX" - private fun getMinSdkVersion( - project: Project, - it: Variant - ): MinSdkVersion { - val agpVersion: AndroidPluginVersion? = VersionFetcher.getAGPVersion(project) - // TODO(reidbaker): Remove version check as 8.3 is the minimum supported version. - // Keeping the check around so that users that bypass will get the error message and not - // a compile time error. See https://github.com/flutter/flutter/pull/171399 - return if (agpVersion != null && agpVersion.major >= 8 && agpVersion.minor >= 1) { - MinSdkVersion(it.name, it.minSdk.apiLevel) - } else { - MinSdkVersion(it.name, it.minSdkVersion.apiLevel) - } - } + private fun getMinSdkVersion(it: Variant): MinSdkVersion = MinSdkVersion(it.name, it.minSdk.apiLevel) @VisibleForTesting internal fun getErrorMessage( dependencyName: String, diff --git a/packages/flutter_tools/gradle/src/main/kotlin/FlutterPlugin.kt b/packages/flutter_tools/gradle/src/main/kotlin/FlutterPlugin.kt index 23a931a087534..34dc19a7114e1 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/FlutterPlugin.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/FlutterPlugin.kt @@ -8,6 +8,7 @@ import com.android.build.api.dsl.ApplicationExtension import com.android.build.gradle.AbstractAppExtension import com.android.build.gradle.BaseExtension import com.android.build.gradle.LibraryExtension +import com.android.build.gradle.api.ApkVariant import com.android.build.gradle.tasks.PackageAndroidArtifact import com.android.build.gradle.tasks.ProcessAndroidResources import com.flutter.gradle.FlutterPluginUtils.readPropertiesIfExist @@ -431,14 +432,7 @@ class FlutterPlugin : Plugin { filename += "-${FlutterPluginUtils.buildModeFor(variant.buildType)}" projectToAddTasksTo.copy { from(File("$outputDirectoryStr/${output.outputFileName}")) - into( - File( - "${ - projectToAddTasksTo.layout.buildDirectory.dir("outputs/flutter-apk") - .get() - }" - ) - ) + into(projectToAddTasksTo.layout.buildDirectory.dir("outputs/flutter-apk")) rename { "$filename.apk" } } } @@ -620,6 +614,8 @@ class FlutterPlugin : Plugin { // https://github.com/flutter/flutter/issues/166550 @Suppress("DEPRECATION") output as com.android.build.gradle.api.ApkVariantOutput + val versionCodeIfPresent: Int? = if (variant is ApkVariant) variant.versionCode else null + // TODO(gmackall): Migrate to AGPs variant api. // https://github.com/flutter/flutter/issues/166550 @Suppress("DEPRECATION") @@ -627,7 +623,10 @@ class FlutterPlugin : Plugin { output.getFilter(com.android.build.VariantOutput.FilterType.ABI) val abiVersionCode: Int? = FlutterPluginConstants.ABI_VERSION[filterIdentifier] if (abiVersionCode != null) { - output.versionCodeOverride = abiVersionCode * 1000 + variant.mergedFlavor.versionCode as Int + output.versionCodeOverride = abiVersionCode * 1000 + ( + versionCodeIfPresent + ?: variant.mergedFlavor.versionCode as Int + ) } } } @@ -681,7 +680,6 @@ class FlutterPlugin : Plugin { localEngineSrcPath = flutterPlugin.localEngineSrcPath targetPath = FlutterPluginUtils.getFlutterTarget(project) verbose = FlutterPluginUtils.isProjectVerbose(project) - fastStart = FlutterPluginUtils.isProjectFastStart(project) fileSystemRoots = fileSystemRootsValue fileSystemScheme = fileSystemSchemeValue trackWidgetCreation = trackWidgetCreationValue @@ -704,7 +702,7 @@ class FlutterPlugin : Plugin { validateDeferredComponents = validateDeferredComponentsValue flavor = flavorValue } - val compileTask: FlutterTask = compileTaskProvider.get() + val flutterCompileTask: FlutterTask = compileTaskProvider.get() val libJar: File = project.file( project.layout.buildDirectory.dir("${FlutterPluginConstants.INTERMEDIATES_DIR}/flutter/${variant.name}/libs.jar") @@ -716,10 +714,10 @@ class FlutterPlugin : Plugin { ) { destinationDirectory.set(libJar.parentFile) archiveFileName.set(libJar.name) - dependsOn(compileTask) + dependsOn(flutterCompileTask) targetPlatforms.forEach { targetPlatform -> val abi: String? = FlutterPluginConstants.PLATFORM_ARCH_MAP[targetPlatform] - from("${compileTask.intermediateDir}/$abi") { + from("${flutterCompileTask.intermediateDir}/$abi") { include("*.so") // Move `app.so` to `lib//libapp.so` rename { filename: String -> "lib/$abi/lib$filename" } @@ -749,8 +747,8 @@ class FlutterPlugin : Plugin { "copyFlutterAssets${FlutterPluginUtils.capitalize(variant.name)}", Copy::class.java ) { - dependsOn(compileTask) - with(compileTask.assets) + dependsOn(flutterCompileTask) + with(flutterCompileTask.assets) filePermissions { user { read = true diff --git a/packages/flutter_tools/gradle/src/main/kotlin/FlutterPluginUtils.kt b/packages/flutter_tools/gradle/src/main/kotlin/FlutterPluginUtils.kt index 55747ba1e92f4..9e8dc5d29bf35 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/FlutterPluginUtils.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/FlutterPluginUtils.kt @@ -4,13 +4,15 @@ package com.flutter.gradle +import com.android.build.api.artifact.SingleArtifact +import com.android.build.api.variant.AndroidComponentsExtension import com.android.build.gradle.AbstractAppExtension import com.android.build.gradle.BaseExtension import com.android.build.gradle.tasks.ProcessAndroidResources import com.android.builder.model.BuildType import com.flutter.gradle.plugins.PluginHandler +import com.flutter.gradle.tasks.DeepLinkJsonFromManifestTask import groovy.lang.Closure -import groovy.util.Node import org.gradle.api.GradleException import org.gradle.api.Project import org.gradle.api.Task @@ -24,10 +26,6 @@ import java.util.Properties * A collection of static utility functions used by the Flutter Gradle Plugin. */ object FlutterPluginUtils { - private const val MANIFEST_NAME_KEY = "android:name" - private const val MANIFEST_VALUE_KEY = "android:value" - private const val MANIFEST_VALUE_TRUE = "true" - // Gradle properties. These must correspond to the values used in // flutter/packages/flutter_tools/lib/src/android/gradle.dart, and therefore it is not // recommended to use these const values in tests. @@ -35,7 +33,6 @@ object FlutterPluginUtils { internal const val PROP_SPLIT_PER_ABI = "split-per-abi" internal const val PROP_LOCAL_ENGINE_REPO = "local-engine-repo" internal const val PROP_IS_VERBOSE = "verbose" - internal const val PROP_IS_FAST_START = "fast-start" internal const val PROP_TARGET = "target" internal const val PROP_LOCAL_ENGINE_BUILD_MODE = "local-engine-build-mode" internal const val PROP_TARGET_PLATFORM = "target-platform" @@ -206,16 +203,6 @@ object FlutterPluginUtils { @JvmName("isProjectVerbose") internal fun isProjectVerbose(project: Project): Boolean = project.findProperty(PROP_IS_VERBOSE)?.toString()?.toBoolean() ?: false - /** Whether to build the debug app in "fast-start" mode. */ - @JvmStatic - @JvmName("isProjectFastStart") - internal fun isProjectFastStart(project: Project): Boolean = - project - .findProperty( - PROP_IS_FAST_START - )?.toString() - ?.toBoolean() ?: false - /** * TODO: Remove this AGP hack. https://github.com/flutter/flutter/issues/109560 * @@ -399,6 +386,7 @@ object FlutterPluginUtils { return project.extensions.findByType(BaseExtension::class.java)!! } + // Avoid new usages this class is not part of the public AGP DSL. private fun getAndroidAppExtensionOrNull(project: Project): AbstractAppExtension? = project.extensions.findByType(AbstractAppExtension::class.java) @@ -783,16 +771,11 @@ object FlutterPluginUtils { * Add a task that can be called on Flutter projects that outputs app link related project * settings into a json file. * See https://developer.android.com/training/app-links/ for more information about app link. - * The json will be saved in path stored in outputPath parameter. + * The json will be saved in path stored in "outputPath" parameter or in the projects build + * directory with the file deeplink.json if not specified. + * + * See DeepLinkJsonFromManifestTask for the structure of the json. * - * An example json: - * { - * applicationId: "com.example.app", - * deeplinks: [ - * {"scheme":"http", "host":"example.com", "path":".*"}, - * {"scheme":"https","host":"example.com","path":".*"} - * ] - * } * The output file is parsed and used by devtool. */ @JvmStatic @@ -800,182 +783,31 @@ object FlutterPluginUtils { internal fun addTasksForOutputsAppLinkSettings(project: Project) { // Integration test for AppLinkSettings task defined in // flutter/flutter/packages/flutter_tools/test/integration.shard/android_gradle_outputs_app_link_settings_test.dart - val android = getAndroidAppExtensionOrNull(project) - if (android == null) { - project.logger.info("addTasksForOutputsAppLinkSettings called on project without android extension.") - return - } - android.applicationVariants.configureEach { - val variant = this - project.tasks.register("output${capitalize(variant.name)}AppLinkSettings") { - val task: Task = this - task.description = - "stores app links settings for the given build variant of this Android project into a json file." - variant.outputs.configureEach { - // TODO(gmackall): Migrate to AGPs variant api. - // https://github.com/flutter/flutter/issues/166550 - @Suppress("DEPRECATION") - val baseVariantOutput: com.android.build.gradle.api.BaseVariantOutput = this - // Deeplinks are defined in AndroidManifest.xml and is only available after - // processResourcesProvider. - dependsOn(findProcessResources(baseVariantOutput)) - } - doLast { - // We are configuring the same object before a doLast and in a doLast. - // without a clear reason why. That is not good. - variant.outputs.configureEach { - val appLinkSettings = createAppLinkSettings(variant, this) - File(project.property("outputPath").toString()).writeText( - appLinkSettings.toJson().toString() + val androidComponents = project.extensions.getByType(AndroidComponentsExtension::class.java) + androidComponents.onVariants { variant -> + val manifestUpdater = + project.tasks.register("output${capitalize(variant.name)}AppLinkSettings", DeepLinkJsonFromManifestTask::class.java) { + namespace.set(variant.namespace) + // Flutter should always use project.layout.buildDirectory.file("deeplink.json") + // instead of relying on passing in a path. + if (project.hasProperty("outputPath")) { + deepLinkJson.set( + File(project.property("outputPath").toString()) ) + } else { + deepLinkJson.set(project.layout.buildDirectory.file("deeplink.json")) } } - } - } - } - - /** - * Extracts app deeplink information from the Android manifest file of a variant then returns - * an AppLinkSettings object. - * - * @param BaseVariantOutput The output of a specific build variant (e.g., debug, release). - * @param variant The application variant being processed. - */ - @Suppress("KDocUnresolvedReference") - private fun createAppLinkSettings( - // TODO(gmackall): Migrate to AGPs variant api. - // https://github.com/flutter/flutter/issues/166550 - @Suppress("DEPRECATION") variant: com.android.build.gradle.api.ApplicationVariant, - @Suppress("DEPRECATION") baseVariantOutput: com.android.build.gradle.api.BaseVariantOutput - ): AppLinkSettings { - val appLinkSettings = AppLinkSettings(variant.applicationId) - - // XmlParser is not namespace aware because it makes querying nodes cumbersome. - // TODO(gmackall): Migrate to AGPs variant api. - // https://github.com/flutter/flutter/issues/166550 - @Suppress("DEPRECATION") - val manifest: Node = - groovy.xml - .XmlParser(false, false) - .parse(findProcessResources(baseVariantOutput).manifestFile) - val applicationNode: Node? = - manifest.children().find { node -> - node is Node && node.name() == "application" - } as Node? - if (applicationNode == null) { - return appLinkSettings - } - val activities: List = - applicationNode.children().filterIsInstance().filter { item -> - item.name() == "activity" - } - - activities.forEach { activity -> - val metaDataItems: List = - activity.children().filterIsInstance().filter { metaItem -> - metaItem.name() == "meta-data" - } - metaDataItems.forEach { metaDataItem -> - val nameAttribute: Boolean = - metaDataItem.attribute(MANIFEST_NAME_KEY) == "flutter_deeplinking_enabled" - val valueAttribute: Boolean = - metaDataItem.attribute(MANIFEST_VALUE_KEY) == MANIFEST_VALUE_TRUE - if (nameAttribute && valueAttribute) { - appLinkSettings.deeplinkingFlagEnabled = true - } - } - val intentFilterItems: List = - activity.children().filterIsInstance().filter { filterItem -> - filterItem.name() == "intent-filter" - } - intentFilterItems.forEach { appLinkIntent -> - // Print out the host attributes in data tags. - val schemes: MutableSet = mutableSetOf() - val hosts: MutableSet = mutableSetOf() - val paths: MutableSet = mutableSetOf() - val intentFilterCheck = IntentFilterCheck() - if (appLinkIntent.attribute("android:autoVerify") == MANIFEST_VALUE_TRUE) { - intentFilterCheck.hasAutoVerify = true - } - - val actionItems: List = - appLinkIntent.children().filterIsInstance().filter { item -> - item.name() == "action" - } - // Any action item causes intentFilterCheck to always be true - // and we keep looping instead of exiting out early. - // TODO: Exit out early per intent filter action view. - actionItems.forEach { action -> - if (action.attribute(MANIFEST_NAME_KEY) == "android.intent.action.VIEW") { - intentFilterCheck.hasActionView = true - } - } - val categoryItems: List = - appLinkIntent.children().filterIsInstance().filter { item -> - item.name() == "category" - } - categoryItems.forEach { category -> - // TODO: Exit out early per intent filter default category. - if (category.attribute(MANIFEST_NAME_KEY) == "android.intent.category.DEFAULT") { - intentFilterCheck.hasDefaultCategory = true - } - // TODO: Exit out early per intent filter browsable category. - if (category.attribute(MANIFEST_NAME_KEY) == "android.intent.category.BROWSABLE") { - intentFilterCheck.hasBrowsableCategory = - true - } - } - val dataItems: List = - appLinkIntent.children().filterIsInstance().filter { item -> - item.name() == "data" - } - dataItems.forEach { data -> - data.attributes().forEach { entry -> - when (entry.key) { - "android:scheme" -> schemes.add(entry.value.toString()) - "android:host" -> hosts.add(entry.value.toString()) - // All path patterns add to paths. - "android:pathAdvancedPattern" -> - paths.add( - entry.value.toString() - ) - - "android:pathPattern" -> paths.add(entry.value.toString()) - "android:path" -> paths.add(entry.value.toString()) - "android:pathPrefix" -> paths.add(entry.value.toString() + ".*") - "android:pathSuffix" -> paths.add(".*" + entry.value.toString()) - } - } - } - if (hosts.isNotEmpty() || paths.isNotEmpty()) { - if (schemes.isEmpty()) { - schemes.add(null) - } - if (hosts.isEmpty()) { - hosts.add(null) - } - if (paths.isEmpty()) { - paths.add(".*") - } - // Sets are not ordered this could produce a bug. - schemes.forEach { scheme -> - hosts.forEach { host -> - paths.forEach { path -> - appLinkSettings.deeplinks.add( - Deeplink( - scheme, - host, - path, - intentFilterCheck - ) - ) - } - } - } - } - } + // This task does not modify the manifest despite using an api + // designed for modification. The task is responsible for an exact copy of the input + // manifest being used for the output manifest. + variant.artifacts + .use(manifestUpdater) + .wiredWithFiles( + DeepLinkJsonFromManifestTask::manifestFile, + DeepLinkJsonFromManifestTask::updatedManifest + ).toTransform(SingleArtifact.MERGED_MANIFEST) // (3) Indicate the artifact and operation type. } - return appLinkSettings } } diff --git a/packages/flutter_tools/gradle/src/main/kotlin/IntentFilterCheck.kt b/packages/flutter_tools/gradle/src/main/kotlin/IntentFilterCheck.kt index 90b3ebe955e0f..98766cbd63133 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/IntentFilterCheck.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/IntentFilterCheck.kt @@ -8,13 +8,12 @@ import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.buildJsonObject import kotlinx.serialization.json.put -class IntentFilterCheck { - // TODO(gmackall): Identify which of these can be val instead of var. - var hasAutoVerify = false - var hasActionView = false - var hasDefaultCategory = false - var hasBrowsableCategory = false - +class IntentFilterCheck( + var hasAutoVerify: Boolean = false, + var hasActionView: Boolean = false, + var hasDefaultCategory: Boolean = false, + var hasBrowsableCategory: Boolean = false +) { fun toJson(): JsonObject = buildJsonObject { put("hasAutoVerify", hasAutoVerify) diff --git a/packages/flutter_tools/gradle/src/main/kotlin/plugins/PluginHandler.kt b/packages/flutter_tools/gradle/src/main/kotlin/plugins/PluginHandler.kt index a1fecf24ec5c7..3da4623b9f71f 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/plugins/PluginHandler.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/plugins/PluginHandler.kt @@ -11,6 +11,7 @@ import com.flutter.gradle.FlutterPluginUtils.addApiDependencies import com.flutter.gradle.FlutterPluginUtils.buildModeFor import com.flutter.gradle.FlutterPluginUtils.getAndroidExtension import com.flutter.gradle.FlutterPluginUtils.getCompileSdkFromProject +import com.flutter.gradle.FlutterPluginUtils.isBuiltAsApp import com.flutter.gradle.FlutterPluginUtils.supportsBuildMode import com.flutter.gradle.NativePluginLoaderReflectionBridge import org.gradle.api.Project @@ -177,7 +178,23 @@ class PluginHandler( // Copy build types from the app to the plugin. // This allows to build apps with plugins and custom build types or flavors. - getAndroidExtension(pluginProject).buildTypes.addAll(getAndroidExtension(project).buildTypes) + // However, only copy if the plugin is also an app project, since library projects + // cannot have applicationIdSuffix and other app-specific properties. + if (isBuiltAsApp(pluginProject)) { + getAndroidExtension(pluginProject).buildTypes.addAll(getAndroidExtension(project).buildTypes) + } else { + // For library projects, create compatible build types without app-specific properties + getAndroidExtension(project).buildTypes.forEach { appBuildType -> + if (getAndroidExtension(pluginProject).buildTypes.findByName(appBuildType.name) == null) { + getAndroidExtension(pluginProject).buildTypes.create(appBuildType.name) { + // Copy library-compatible properties only + isDebuggable = appBuildType.isDebuggable + isMinifyEnabled = appBuildType.isMinifyEnabled + // Note: applicationIdSuffix and other app-specific properties are intentionally not copied + } + } + } + } // The embedding is API dependency of the plugin, so the AGP is able to desugar // default method implementations when the interface is implemented by a plugin. diff --git a/packages/flutter_tools/gradle/src/main/kotlin/tasks/BaseFlutterTask.kt b/packages/flutter_tools/gradle/src/main/kotlin/tasks/BaseFlutterTask.kt index 6147809ea6fb3..1858a139d0e96 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/tasks/BaseFlutterTask.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/tasks/BaseFlutterTask.kt @@ -43,10 +43,6 @@ open class BaseFlutterTask : DefaultTask() { @Input var localEngineSrcPath: String? = null - @Optional - @Input - var fastStart: Boolean? = null - @Input var targetPath: String? = null diff --git a/packages/flutter_tools/gradle/src/main/kotlin/tasks/BaseFlutterTaskHelper.kt b/packages/flutter_tools/gradle/src/main/kotlin/tasks/BaseFlutterTaskHelper.kt index edbfd888d07b5..2d16640d324fd 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/tasks/BaseFlutterTaskHelper.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/tasks/BaseFlutterTaskHelper.kt @@ -13,7 +13,6 @@ import org.gradle.api.tasks.OutputFiles import org.gradle.kotlin.dsl.support.serviceOf import org.gradle.process.ExecOperations import org.gradle.process.ExecSpec -import java.nio.file.Paths /** * Stateless object to contain the logic used in [BaseFlutterTask]. Any required state should be stored @@ -111,21 +110,7 @@ object BaseFlutterTaskHelper { baseFlutterTask.performanceMeasurementFile?.let { args("--performance-measurement-file=$it") } - if (!baseFlutterTask.fastStart!! || baseFlutterTask.buildMode != "debug") { - args("-dTargetFile=${baseFlutterTask.targetPath}") - } else { - args( - "-dTargetFile=${ - Paths.get( - baseFlutterTask.flutterRoot!!.absolutePath, - "examples", - "splash", - "lib", - "main.dart" - ) - }" - ) - } + args("-dTargetFile=${baseFlutterTask.targetPath}") args("-dTargetPlatform=android") args("-dBuildMode=${baseFlutterTask.buildMode}") baseFlutterTask.trackWidgetCreation?.let { diff --git a/packages/flutter_tools/gradle/src/main/kotlin/tasks/DeepLinkJsonFromManifestTask.kt b/packages/flutter_tools/gradle/src/main/kotlin/tasks/DeepLinkJsonFromManifestTask.kt new file mode 100644 index 0000000000000..364371cf40657 --- /dev/null +++ b/packages/flutter_tools/gradle/src/main/kotlin/tasks/DeepLinkJsonFromManifestTask.kt @@ -0,0 +1,47 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package com.flutter.gradle.tasks + +import org.gradle.api.DefaultTask +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.InputFile +import org.gradle.api.tasks.OutputFile +import org.gradle.api.tasks.TaskAction + +/** + * Create a json file of deeplink settings from an AndroidManifest. + * + * This task does not modify the manifest despite using an api + * designed for modification. The task is responsible for an exact copy of the input + * manifest being used for the output manifest. +*/ +abstract class DeepLinkJsonFromManifestTask : DefaultTask() { + // Input property to receive the manifest file + @get:InputFile + abstract val manifestFile: RegularFileProperty + + // In the past for this task namespace was the ApplicationId. + @get:Input + abstract val namespace: Property + + // Does not need to transform manifest at all but there does not appear to be another dsl + // supported way to depend on the merged manifest. + @get:OutputFile + abstract val updatedManifest: RegularFileProperty + + @get:OutputFile + abstract val deepLinkJson: RegularFileProperty + + @TaskAction + fun processManifest() { + manifestFile.get().asFile.copyTo(updatedManifest.get().asFile, overwrite = true) + logger.debug("DeepLinkJsonFromManifestTask: Unmodified manifest written.") + + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettingsFile(namespace.get(), manifestFile, deepLinkJson) + logger.debug("DeepLinkJsonFromManifestTask: appLinkSettings written to ${deepLinkJson.get().asFile.absolutePath}.") + } +} diff --git a/packages/flutter_tools/gradle/src/main/kotlin/tasks/DeepLinkJsonFromManifestTaskHelper.kt b/packages/flutter_tools/gradle/src/main/kotlin/tasks/DeepLinkJsonFromManifestTaskHelper.kt new file mode 100644 index 0000000000000..f9f3c296471cd --- /dev/null +++ b/packages/flutter_tools/gradle/src/main/kotlin/tasks/DeepLinkJsonFromManifestTaskHelper.kt @@ -0,0 +1,174 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package com.flutter.gradle.tasks + +import androidx.annotation.VisibleForTesting +import com.flutter.gradle.AppLinkSettings +import com.flutter.gradle.Deeplink +import com.flutter.gradle.IntentFilterCheck +import groovy.util.Node +import org.gradle.api.file.RegularFileProperty +import java.io.File +import kotlin.collections.forEach +import kotlin.io.writeText + +/** + * Stateless object to contain the logic used in [FlutterTask]. Any required state should be stored + * on [FlutterTask] instead, while any logic needed by [FlutterTask] should be added here. + */ +object DeepLinkJsonFromManifestTaskHelper { + private const val MANIFEST_NAME_KEY = "android:name" + private const val MANIFEST_VALUE_KEY = "android:value" + private const val MANIFEST_VALUE_TRUE = "true" + + /** + * Creates a jsonfile with deeplink information from the Android manifest file. + * + * + * An example json: + * { + * applicationId: "com.example.app", + * deeplinks: [ + * {"scheme":"http", "host":"example.com", "path":".*"}, + * {"scheme":"https","host":"example.com","path":".*"} + * ] + * } + */ + fun createAppLinkSettingsFile( + applicationId: String, + manifestFile: RegularFileProperty, + deepLinkJson: RegularFileProperty + ) { + val appLinkSettings = createAppLinkSettings(applicationId, manifestFile.get().asFile) + deepLinkJson.get().asFile.writeText(appLinkSettings.toJson().toString()) + } + + /** + * Extracts app deeplink information from the Android manifest file then returns + * an AppLinkSettings object. + * + * @param applicationId The application ID or the namespace of the variant. + * @param manifest the Android manifest to be parsed. + */ + @VisibleForTesting + fun createAppLinkSettings( + applicationId: String, + manifestFile: File + ): AppLinkSettings { + val appLinkSettings = AppLinkSettings(applicationId) + val manifest: Node = + groovy.xml + .XmlParser(false, false) + .parse(manifestFile) + val applicationNode: Node? = + manifest.children().find { node -> + node is Node && node.name() == "application" + } as Node? + if (applicationNode == null) { + return appLinkSettings + } + val activities: List = + applicationNode.children().filterIsInstance().filter { item -> + item.name() == "activity" + } + + activities.forEach { activity -> + val metaDataItems: List = + activity.children().filterIsInstance().filter { metaItem -> + metaItem.name() == "meta-data" + } + metaDataItems.forEach { metaDataItem -> + val nameAttribute: Boolean = + metaDataItem.attribute(MANIFEST_NAME_KEY) == "flutter_deeplinking_enabled" + val valueAttribute: Boolean = + metaDataItem.attribute(MANIFEST_VALUE_KEY) == MANIFEST_VALUE_TRUE + if (nameAttribute && valueAttribute) { + appLinkSettings.deeplinkingFlagEnabled = true + } + } + val intentFilterItems: List = + activity.children().filterIsInstance().filter { filterItem -> + filterItem.name() == "intent-filter" + } + intentFilterItems.forEach { appLinkIntent -> + // Print out the host attributes in data tags. + val schemes: MutableSet = mutableSetOf() + val hosts: MutableSet = mutableSetOf() + val paths: MutableSet = mutableSetOf() + val intentFilterCheck = IntentFilterCheck() + if (appLinkIntent.attribute("android:autoVerify") == MANIFEST_VALUE_TRUE) { + intentFilterCheck.hasAutoVerify = true + } + + val actionItems: List = + appLinkIntent.children().filterIsInstance().filter { item -> + item.name() == "action" + } + intentFilterCheck.hasActionView = + actionItems.any { action -> + action.attribute(MANIFEST_NAME_KEY) == "android.intent.action.VIEW" + } + val categoryItems: List = + appLinkIntent.children().filterIsInstance().filter { item -> + item.name() == "category" + } + intentFilterCheck.hasDefaultCategory = + categoryItems.any { category -> category.attribute(MANIFEST_NAME_KEY) == "android.intent.category.DEFAULT" } + intentFilterCheck.hasBrowsableCategory = + categoryItems.any { category -> category.attribute(MANIFEST_NAME_KEY) == "android.intent.category.BROWSABLE" } + + val dataItems: List = + appLinkIntent.children().filterIsInstance().filter { item -> + item.name() == "data" + } + dataItems.forEach { data -> + data.attributes().forEach { entry -> + when (entry.key) { + "android:scheme" -> schemes.add(entry.value.toString()) + "android:host" -> hosts.add(entry.value.toString()) + // All path patterns add to paths. + "android:pathAdvancedPattern" -> + paths.add( + entry.value.toString() + ) + + "android:pathPattern" -> paths.add(entry.value.toString()) + "android:path" -> paths.add(entry.value.toString()) + "android:pathPrefix" -> paths.add(entry.value.toString() + ".*") + "android:pathSuffix" -> paths.add(".*" + entry.value.toString()) + } + } + } + if (hosts.isNotEmpty() || paths.isNotEmpty()) { + if (schemes.isEmpty()) { + schemes.add(null) + } + if (hosts.isEmpty()) { + hosts.add(null) + } + if (paths.isEmpty()) { + paths.add(".*") + } + // Sets are not ordered so the sortedBy gives them a predictable order. + schemes.sortedBy { it ?: "" }.forEach { scheme -> + hosts.sortedBy { it ?: "" }.forEach { host -> + paths.sortedBy { it ?: "" }.forEach { path -> + appLinkSettings.deeplinks.add( + Deeplink( + scheme, + host, + path, + intentFilterCheck + ) + ) + } + } + } + } + } + } + return appLinkSettings + } +} diff --git a/packages/flutter_tools/gradle/src/main/kotlin/tasks/FlutterTask.kt b/packages/flutter_tools/gradle/src/main/kotlin/tasks/FlutterTask.kt index 86e5ad0bb4735..b017cc941cb3f 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/tasks/FlutterTask.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/tasks/FlutterTask.kt @@ -25,10 +25,12 @@ abstract class FlutterTask : BaseFlutterTask() { val outputDirectory: File? get() = FlutterTaskHelper.getOutputDirectory(flutterTask = this) + // Warning assetsDirectory assets appear to return different contents. @get:Internal val assetsDirectory: String get() = FlutterTaskHelper.getAssetsDirectory(flutterTask = this) + // Warning assetsDirectory assets appear to return different contents. @get:Internal val assets: CopySpec get() = FlutterTaskHelper.getAssets(project, flutterTask = this) diff --git a/packages/flutter_tools/gradle/src/main/kotlin/tasks/FlutterTaskHelper.kt b/packages/flutter_tools/gradle/src/main/kotlin/tasks/FlutterTaskHelper.kt index 8909602d02242..1ff117da75667 100644 --- a/packages/flutter_tools/gradle/src/main/kotlin/tasks/FlutterTaskHelper.kt +++ b/packages/flutter_tools/gradle/src/main/kotlin/tasks/FlutterTaskHelper.kt @@ -19,7 +19,7 @@ object FlutterTaskHelper { internal fun getOutputDirectory(flutterTask: FlutterTask): File? = flutterTask.intermediateDir - internal fun getAssetsDirectory(flutterTask: FlutterTask): String = "${flutterTask.outputDirectory}/flutter_assets" + internal fun getAssetsDirectory(flutterTask: FlutterTask): String = "${flutterTask.outputDirectory}${File.separator}flutter_assets" internal fun getAssets( project: Project, @@ -38,7 +38,7 @@ object FlutterTaskHelper { from("${flutterTask.intermediateDir}") if (flutterTask.buildMode == "release" || flutterTask.buildMode == "profile") { flutterTask.targetPlatformValues!!.forEach { targetArch -> - include("${FlutterPluginConstants.PLATFORM_ARCH_MAP[targetArch]}/app.so") + include("${FlutterPluginConstants.PLATFORM_ARCH_MAP[targetArch]}${File.separator}app.so") } } } @@ -58,7 +58,7 @@ object FlutterTaskHelper { val matcher = Regex("""(\\ |\S)+""").findAll(fileString) // then we replace all escaped spaces with regular spaces val depList = - matcher.map { it.value.replace("\\\\ ", " ") }.toList() + matcher.map { it.value.replace("\\ ", " ") }.toList() return project.files(depList) } return project.files() diff --git a/packages/flutter_tools/gradle/src/test/kotlin/AppLinkSettingsTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/AppLinkSettingsTest.kt index 030b0e4a85cff..726ae7f4cf7bd 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/AppLinkSettingsTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/AppLinkSettingsTest.kt @@ -39,7 +39,7 @@ class AppLinkSettingsTest { val settingsJson = appLinkSettings.toJson() // Keys are not a reference because the key values are accessed - // across the gradle/dart boundery. + // across the gradle/dart boundary. assertTrue(settingsJson.containsKey("applicationId")) assertTrue(settingsJson.containsKey("deeplinkingFlagEnabled")) assertTrue(settingsJson.containsKey("deeplinks")) diff --git a/packages/flutter_tools/gradle/src/test/kotlin/DeeplinkTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/DeeplinkTest.kt index 8f28020698eaf..1b779b21fae50 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/DeeplinkTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/DeeplinkTest.kt @@ -52,7 +52,7 @@ class DeeplinkTest { val deeplink = Deeplink("scheme1", "host1", "path1", intentFilterCheck) val linkJson = deeplink.toJson() // Keys are not a reference because the key values are accessed - // across the gradle/dart boundery. + // across the gradle/dart boundary. assertTrue(linkJson.containsKey("scheme")) assertTrue(linkJson.containsKey("host")) assertTrue(linkJson.containsKey("path")) diff --git a/packages/flutter_tools/gradle/src/test/kotlin/FlutterPluginTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/FlutterPluginTest.kt index 19d324b074240..146c7b89628a4 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/FlutterPluginTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/FlutterPluginTest.kt @@ -2,6 +2,7 @@ package com.flutter.gradle import com.android.build.api.dsl.ApplicationDefaultConfig import com.android.build.api.dsl.ApplicationExtension +import com.android.build.api.variant.AndroidComponentsExtension import com.android.build.gradle.AbstractAppExtension import com.android.build.gradle.BaseExtension import com.android.build.gradle.api.AndroidSourceDirectorySet @@ -48,6 +49,12 @@ class FlutterPluginTest { val project = mockk(relaxed = true) val mockAbstractAppExtension = mockk(relaxed = true) every { project.extensions.findByType(AbstractAppExtension::class.java) } returns mockAbstractAppExtension + val mockAndroidComponentsExtension = mockk>(relaxed = true) + every { project.extensions.getByType(AndroidComponentsExtension::class.java) } returns mockAndroidComponentsExtension + every { mockAndroidComponentsExtension.selector() } returns + mockk { + every { all() } returns mockk() + } every { project.extensions.getByType(AbstractAppExtension::class.java) } returns mockAbstractAppExtension every { project.extensions.findByName("android") } returns mockAbstractAppExtension every { project.projectDir } returns projectDir.toFile() @@ -106,6 +113,12 @@ class FlutterPluginTest { every { project.extensions.findByType(AbstractAppExtension::class.java) } returns mockAbstractAppExtension every { project.extensions.getByType(AbstractAppExtension::class.java) } returns mockAbstractAppExtension every { project.extensions.findByName("android") } returns mockAbstractAppExtension + val mockAndroidComponentsExtension = mockk>(relaxed = true) + every { project.extensions.getByType(AndroidComponentsExtension::class.java) } returns mockAndroidComponentsExtension + every { mockAndroidComponentsExtension.selector() } returns + mockk { + every { all() } returns mockk() + } every { project.projectDir } returns projectDir.toFile() every { project.findProperty("flutter.sdk") } returns fakeFlutterSdkDir.toString() every { project.file(fakeFlutterSdkDir.toString()) } returns fakeFlutterSdkDir.toFile() diff --git a/packages/flutter_tools/gradle/src/test/kotlin/FlutterPluginUtilsTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/FlutterPluginUtilsTest.kt index bf69fdb964b5b..9e429f1dfb189 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/FlutterPluginUtilsTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/FlutterPluginUtilsTest.kt @@ -6,11 +6,8 @@ package com.flutter.gradle import com.android.build.gradle.AbstractAppExtension import com.android.build.gradle.BaseExtension -import com.android.build.gradle.api.ApplicationVariant -import com.android.build.gradle.api.BaseVariantOutput import com.android.build.gradle.internal.dsl.CmakeOptions import com.android.build.gradle.internal.dsl.DefaultConfig -import com.android.build.gradle.tasks.ProcessAndroidResources import com.android.builder.model.BuildType import com.flutter.gradle.plugins.PluginHandler import io.mockk.called @@ -20,8 +17,6 @@ import io.mockk.mockkObject import io.mockk.slot import io.mockk.verify import org.gradle.api.Action -import org.gradle.api.DomainObjectCollection -import org.gradle.api.DomainObjectSet import org.gradle.api.GradleException import org.gradle.api.Project import org.gradle.api.Task @@ -29,8 +24,6 @@ import org.gradle.api.UnknownTaskException import org.gradle.api.file.Directory import org.gradle.api.file.DirectoryProperty import org.gradle.api.logging.Logger -import org.gradle.api.tasks.TaskContainer -import org.gradle.api.tasks.TaskProvider import org.jetbrains.kotlin.gradle.plugin.extraProperties import org.junit.jupiter.api.assertThrows import org.junit.jupiter.api.io.TempDir @@ -333,23 +326,6 @@ class FlutterPluginUtilsTest { assertEquals(true, result) } - // isProjectFastStart - @Test - fun `isProjectFastStart returns false by default`() { - val project = mockk() - every { project.findProperty(FlutterPluginUtils.PROP_IS_FAST_START) } returns null - val result = FlutterPluginUtils.isProjectFastStart(project) - assertEquals(false, result) - } - - @Test - fun `isProjectFastStart returns true when the property is set to true`() { - val project = mockk() - every { project.findProperty(FlutterPluginUtils.PROP_IS_FAST_START) } returns true - val result = FlutterPluginUtils.isProjectFastStart(project) - assertEquals(true, result) - } - // shouldConfigureFlutterTask @Test fun `shouldConfigureFlutterTask returns true for assemble task`() { @@ -1088,156 +1064,4 @@ class FlutterPluginUtilsTest { mockTask.description = "Prints out all build variants for this Android project" } } - - @Test - fun addTasksForOutputsAppLinkSettingsActual( - @TempDir tempDir: Path - ) { - val variants: MutableList = mutableListOf() - val registerTaskList = mutableListOf() - val descriptionSlot = slot() - // vars so variables can be overridden below. - var mockLogger = mockk() - var variantWithLinks = mockk() - - val mockProject = - mockk { - every { logger } returns - mockk { - mockLogger = this - every { info(any()) } returns Unit - every { warn(any()) } returns Unit - } - every { extensions.findByType(AbstractAppExtension::class.java) } returns - mockk { - val variant1 = - mockk { - every { name } returns "one" - every { applicationId } returns "com.example.FlutterActivity1" - } - variants.add(variant1) - mockk { - variantWithLinks = this - every { name } returns "two" - every { applicationId } returns "com.example.FlutterActivity2" - } - variants.add(variantWithLinks) - // Capture the "action" that needs to be run for each variant. - val actionSlot = slot>() - every { applicationVariants } returns - mockk> { - every { configureEach(capture(actionSlot)) } answers { - // Execute the action for each variant. - variants.forEach { variant -> - actionSlot.captured.execute(variant) - } - } - } - } - - val registerTaskSlot = slot>() - every { tasks } returns - mockk { - val registerTaskNameSlot = slot() - every { - register( - capture(registerTaskNameSlot), - capture(registerTaskSlot) - ) - } answers registerAnswer@{ - val mockRegisterTask = - mockk { - every { name } returns registerTaskNameSlot.captured - every { - description = capture(descriptionSlot) - } returns Unit - every { dependsOn(any()) } returns mockk() - val doLastActionSlot = slot>() - every { doLast(capture(doLastActionSlot)) } answers doLastAnswer@{ - // We need to capture the task as well - doLastActionSlot.captured.execute(mockk()) - return@doLastAnswer mockk() - } - } - registerTaskList.add(mockRegisterTask) - registerTaskSlot.captured.execute(mockRegisterTask) - return@registerAnswer mockk() - } - - every { named(any()) } returns - mockk { - every { configure(any>()) } returns mockk() - } - } - } - - variants.forEach { variant -> - val testOutputs: DomainObjectCollection = - mockk>() - val baseVariantSlot = slot>() - val baseVariantOutput = mockk() - // Create a real file in a temp directory. - val manifest = - tempDir - .resolve("${tempDir.toAbsolutePath()}/AndroidManifest.xml") - .toFile() - manifest.writeText(manifestText) - val mockProcessResourcesProvider = mockk>() - val mockProcessResources = mockk() - every { - mockProcessResourcesProvider.hint(ProcessAndroidResources::class).get() - } returns mockProcessResources - every { baseVariantOutput.processResourcesProvider } returns mockProcessResourcesProvider - // Fallback processing. - every { mockProcessResources.manifestFile } returns manifest - - every { testOutputs.configureEach(capture(baseVariantSlot)) } answers { - // Execute the action for each output. - baseVariantSlot.captured.execute(baseVariantOutput) - } - every { variant.outputs } returns testOutputs - } - val outputFile = - tempDir - .resolve("${tempDir.toAbsolutePath()}/app-link-settings-build-variant.json") - .toFile() - every { mockProject.property("outputPath") } returns outputFile - - FlutterPluginUtils.addTasksForOutputsAppLinkSettings(mockProject) - - verify(exactly = 0) { mockLogger.info(any()) } - assert(descriptionSlot.captured.contains("stores app links settings for the given build variant")) - assertEquals(variants.size, registerTaskList.size) - for (i in 0 until variants.size) { - assertEquals( - "output${FlutterPluginUtils.capitalize(variants[i].name)}AppLinkSettings", - registerTaskList[i].name - ) - verify(exactly = 1) { registerTaskList[i].dependsOn(any()) } - } - // Output assertions are minimal which ensures code is running but is not exhaustive testing. - // Integration test for more exhaustive behavior is defined in - // flutter/flutter/packages/flutter_tools/test/integration.shard/android_gradle_outputs_app_link_settings_test.dart - val outputFileText = outputFile.readText() - // Only variant2 since that one has app links. - assertContains(outputFileText, variantWithLinks.applicationId) - // Host. - assertContains(outputFileText, "deeplink.flutter.dev") - // pathPrefix used in variant2 combined with prefix logic. - assertContains(outputFileText, "some.prefix.*") - // Deep linking - assertContains(outputFileText, "deeplinkingFlagEnabled\":true") - } - - @Test - fun addTasksForOutputsAppLinkSettingsNoAndroid() { - val mockProject = mockk() - val mockLogger = mockk() - every { mockProject.logger } returns mockLogger - every { mockLogger.info(any()) } returns Unit - every { mockProject.extensions.findByType(AbstractAppExtension::class.java) } returns null - - FlutterPluginUtils.addTasksForOutputsAppLinkSettings(mockProject) - verify(exactly = 1) { mockLogger.info("addTasksForOutputsAppLinkSettings called on project without android extension.") } - } } diff --git a/packages/flutter_tools/gradle/src/test/kotlin/IntentFilterCheckTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/IntentFilterCheckTest.kt index b95f295a47ecd..f609b0716f7f9 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/IntentFilterCheckTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/IntentFilterCheckTest.kt @@ -18,7 +18,7 @@ class IntentFilterCheckTest { val intentJson = intentFilterCheck.toJson() // Keys are not a reference because the key values are accessed - // across the gradle/dart boundery. + // across the gradle/dart boundary. assertTrue(intentJson.containsKey("hasAutoVerify")) assertTrue(intentJson.containsKey("hasActionView")) assertTrue(intentJson.containsKey("hasDefaultCategory")) diff --git a/packages/flutter_tools/gradle/src/test/kotlin/VersionUtilsTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/VersionUtilsTest.kt index d1230549a7e01..419404568abc5 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/VersionUtilsTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/VersionUtilsTest.kt @@ -9,7 +9,7 @@ import kotlin.test.assertEquals class VersionUtilsTest { @Test - fun handles_documenation_examples() { + fun handles_documentation_examples() { versionComparison("2.8.0", "2.8", expected = "2.8.0") versionComparison("8.7-rc-2", "8.7.2", expected = "8.7.2") } diff --git a/packages/flutter_tools/gradle/src/test/kotlin/plugins/PluginHandlerTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/plugins/PluginHandlerTest.kt index 4655045de6ccd..5ea588d1d4511 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/plugins/PluginHandlerTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/plugins/PluginHandlerTest.kt @@ -6,6 +6,7 @@ package com.flutter.gradle.plugins import com.android.build.gradle.BaseExtension import com.flutter.gradle.FlutterExtension +import com.flutter.gradle.FlutterPluginUtils import com.flutter.gradle.FlutterPluginUtilsTest.Companion.EXAMPLE_ENGINE_VERSION import com.flutter.gradle.FlutterPluginUtilsTest.Companion.cameraDependency import com.flutter.gradle.FlutterPluginUtilsTest.Companion.flutterPluginAndroidLifecycleDependency @@ -174,6 +175,9 @@ class PluginHandlerTest { val mockBuildType = mockk() every { pluginProject.hasProperty("local-engine-repo") } returns false every { pluginProject.hasProperty("android") } returns true + val mockPluginContainer = mockk() + every { pluginProject.plugins } returns mockPluginContainer + every { mockPluginContainer.hasPlugin("com.android.application") } returns false every { mockBuildType.name } returns "debug" every { mockBuildType.isDebuggable } returns true every { project.rootProject.findProject(":${cameraDependency["name"]}") } returns pluginProject @@ -246,7 +250,8 @@ class PluginHandlerTest { } verify { project.dependencies.add("debugApi", pluginProject) } verify { mockLogger wasNot called } - verify { mockPluginProjectBuildTypes.addAll(project.extensions.findByType(BaseExtension::class.java)!!.buildTypes) } + // For library projects, individual build types should be created, not addAll + verify(exactly = 0) { mockPluginProjectBuildTypes.addAll(any()) } verify { pluginProject.dependencies.add("implementation", pluginDependencyProject) } } @@ -326,4 +331,136 @@ class PluginHandlerTest { ) } } + + @Test + fun `configurePlugins uses addAll for app plugins`( + @TempDir tempDir: Path + ) { + val project = mockk() + val pluginProject = mockk() + + // Setup minimal mocks + setupBasicMocks(project, pluginProject, mockk(), tempDir) + setupPluginMocks(project) + + // Mock isBuiltAsApp to return true (app plugin) + mockkObject(FlutterPluginUtils) + every { FlutterPluginUtils.isBuiltAsApp(pluginProject) } returns true + + val mockProjectBuildTypes = mockk>() + val mockPluginProjectBuildTypes = mockk>() + + every { project.extensions.findByType(BaseExtension::class.java)!!.buildTypes } returns mockProjectBuildTypes + every { pluginProject.extensions.findByType(BaseExtension::class.java)!!.buildTypes } returns mockPluginProjectBuildTypes + every { mockPluginProjectBuildTypes.addAll(any()) } returns true + every { mockProjectBuildTypes.iterator() } returns mutableListOf().iterator() + + // Mock FlutterPluginUtils calls that our logic depends on + mockkObject(FlutterPluginUtils) + every { FlutterPluginUtils.getAndroidExtension(project) } returns project.extensions.findByType(BaseExtension::class.java)!! + every { FlutterPluginUtils.getAndroidExtension(pluginProject) } returns + pluginProject.extensions.findByType(BaseExtension::class.java)!! + + // For app plugins, the old addAll behavior should be used + // This is tested implicitly by verifying the absence of individual create calls + // Verify no individual create calls were made (app behavior uses addAll) + verify(exactly = 0) { + mockPluginProjectBuildTypes.create( + any(), + any>() + ) + } + } + + @Test + fun `configurePlugins creates individual build types for library plugins`( + @TempDir tempDir: Path + ) { + val project = mockk() + val pluginProject = mockk() + + // Setup minimal mocks + setupBasicMocks(project, pluginProject, mockk(), tempDir) + setupPluginMocks(project) + + // Mock isBuiltAsApp to return false (library plugin) + mockkObject(FlutterPluginUtils) + every { FlutterPluginUtils.isBuiltAsApp(pluginProject) } returns false + + val mockProjectBuildTypes = mockk>() + val mockPluginProjectBuildTypes = mockk>() + val mockCreatedBuildType = mockk(relaxed = true) + + every { project.extensions.findByType(BaseExtension::class.java)!!.buildTypes } returns mockProjectBuildTypes + every { pluginProject.extensions.findByType(BaseExtension::class.java)!!.buildTypes } returns mockPluginProjectBuildTypes + every { mockPluginProjectBuildTypes.findByName("debug") } returns null + every { + mockPluginProjectBuildTypes.create( + "debug", + any>() + ) + } returns mockCreatedBuildType + + // Mock the iterator for forEach + val testBuildType = mockk() + every { testBuildType.name } returns "debug" + every { testBuildType.isDebuggable } returns true + every { testBuildType.isMinifyEnabled } returns false + every { mockProjectBuildTypes.iterator() } returns mutableListOf(testBuildType).iterator() + + // Mock FlutterPluginUtils calls that our logic depends on + mockkObject(FlutterPluginUtils) + every { FlutterPluginUtils.getAndroidExtension(project) } returns project.extensions.findByType(BaseExtension::class.java)!! + every { FlutterPluginUtils.getAndroidExtension(pluginProject) } returns + pluginProject.extensions.findByType(BaseExtension::class.java)!! + + // For library plugins, individual build type creation should happen + // This is tested by verifying that create is called for the build type + // Verify that individual create was called (library behavior) + verify(exactly = 0) { mockPluginProjectBuildTypes.addAll(any()) } + } + + private fun setupBasicMocks( + project: Project, + pluginProject: Project, + mockBuildType: com.android.build.gradle.internal.dsl.BuildType, + tempDir: Path + ) { + // Configuration for project directory + val projectDir = tempDir.resolve("my-plugin") + projectDir.toFile().mkdirs() + every { project.projectDir } returns projectDir.toFile() + val settingsGradle = File(projectDir.parent.toFile(), "settings.gradle") + settingsGradle.createNewFile() + val mockLogger = mockk() + every { project.logger } returns mockLogger + + // Plugin project setup + every { pluginProject.hasProperty("local-engine-repo") } returns false + every { pluginProject.hasProperty("android") } returns true + val mockPluginContainer = mockk() + every { pluginProject.plugins } returns mockPluginContainer + every { mockPluginContainer.hasPlugin("com.android.application") } returns false + every { mockBuildType.name } returns "debug" + every { mockBuildType.isDebuggable } returns true + every { project.rootProject.findProject(":${cameraDependency["name"]}") } returns pluginProject + every { pluginProject.extensions.create(any(), any>()) } returns mockk() + every { project.afterEvaluate(any>()) } returns Unit + every { pluginProject.afterEvaluate(any>()) } returns Unit + + // Dependencies and configurations + every { pluginProject.configurations.named(any()) } returns mockk() + every { pluginProject.dependencies.add(any(), any()) } returns mockk() + every { project.dependencies.add(any(), any()) } returns mockk() + every { project.extensions.findByType(BaseExtension::class.java)!!.compileSdkVersion } returns "android-35" + every { pluginProject.extensions.findByType(BaseExtension::class.java)!!.compileSdkVersion } returns "android-35" + } + + private fun setupPluginMocks(project: Project) { + mockkObject(NativePluginLoaderReflectionBridge) + every { NativePluginLoaderReflectionBridge.getPlugins(any(), any()) } returns listOf(cameraDependency) + every { project.extraProperties } returns mockk() + every { project.extensions.findByType(FlutterExtension::class.java) } returns FlutterExtension() + every { project.file(any()) } returns mockk() + } } diff --git a/packages/flutter_tools/gradle/src/test/kotlin/tasks/BaseFlutterTaskHelperTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/tasks/BaseFlutterTaskHelperTest.kt index 88cca3d0fd9c7..fd92b7ea6d261 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/tasks/BaseFlutterTaskHelperTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/tasks/BaseFlutterTaskHelperTest.kt @@ -177,6 +177,8 @@ class BaseFlutterTaskHelperTest { baseFlutterTask.flutterExecutable!!.absolutePath } returns BaseFlutterTaskPropertiesTest.FLUTTER_EXECUTABLE_ABSOLUTE_PATH_TEST + every { baseFlutterTask.targetPath } returns BaseFlutterTaskPropertiesTest.FLUTTER_TARGET_FILE_PATH + every { baseFlutterTask.localEngine } returns BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_TEST every { baseFlutterTask.localEngineSrcPath } returns BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_SRC_PATH_TEST @@ -185,7 +187,6 @@ class BaseFlutterTaskHelperTest { every { baseFlutterTask.intermediateDir } returns BaseFlutterTaskPropertiesTest.intermediateDirFileTest every { baseFlutterTask.performanceMeasurementFile } returns BaseFlutterTaskPropertiesTest.PERFORMANCE_MEASUREMENT_FILE_TEST - every { baseFlutterTask.fastStart } returns true every { baseFlutterTask.buildMode } returns buildModeString every { baseFlutterTask.flutterRoot } returns BaseFlutterTaskPropertiesTest.flutterRootTest every { baseFlutterTask.flutterRoot!!.absolutePath } returns BaseFlutterTaskPropertiesTest.FLUTTER_ROOT_ABSOLUTE_PATH_TEST @@ -277,6 +278,8 @@ class BaseFlutterTaskHelperTest { baseFlutterTask.flutterExecutable!!.absolutePath } returns BaseFlutterTaskPropertiesTest.FLUTTER_EXECUTABLE_ABSOLUTE_PATH_TEST + every { baseFlutterTask.targetPath } returns BaseFlutterTaskPropertiesTest.FLUTTER_TARGET_FILE_PATH + every { baseFlutterTask.localEngine } returns null every { baseFlutterTask.localEngineSrcPath } returns null @@ -285,7 +288,6 @@ class BaseFlutterTaskHelperTest { every { baseFlutterTask.intermediateDir } returns BaseFlutterTaskPropertiesTest.intermediateDirFileTest every { baseFlutterTask.performanceMeasurementFile } returns null - every { baseFlutterTask.fastStart } returns true every { baseFlutterTask.buildMode } returns buildModeString every { baseFlutterTask.flutterRoot } returns BaseFlutterTaskPropertiesTest.flutterRootTest every { baseFlutterTask.flutterRoot!!.absolutePath } returns BaseFlutterTaskPropertiesTest.FLUTTER_ROOT_ABSOLUTE_PATH_TEST @@ -342,205 +344,6 @@ class BaseFlutterTaskHelperTest { verify { mockExecSpec.args(ruleNamesList) } } - @Test - fun `createSpecActionFromTask creates the correct build configurations when verbose is false and fastStart is false`() { - val buildModeString = "debug" - - // Create necessary mocks. - val baseFlutterTask = mockk() - val mockExecSpec = mockk() - val mockProcessForkOptions = mockk() - - // When baseFlutterTask.sourceDir is null, an exception is thrown. We mock its return value - // before creating a BaseFlutterTaskHelper object. - every { baseFlutterTask.sourceDir } returns BaseFlutterTaskPropertiesTest.sourceDirTest - val execSpecActionFromTask = BaseFlutterTaskHelper.createExecSpecActionFromTask(baseFlutterTask) - - // Mock return values of properties. - every { baseFlutterTask.flutterExecutable } returns BaseFlutterTaskPropertiesTest.flutterExecutableTest - every { - baseFlutterTask.flutterExecutable!!.absolutePath - } returns BaseFlutterTaskPropertiesTest.FLUTTER_EXECUTABLE_ABSOLUTE_PATH_TEST - - every { baseFlutterTask.localEngine } returns BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_TEST - every { baseFlutterTask.localEngineSrcPath } returns BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_SRC_PATH_TEST - - every { baseFlutterTask.localEngineHost } returns BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_HOST_TEST - every { baseFlutterTask.verbose } returns false - every { baseFlutterTask.intermediateDir } returns BaseFlutterTaskPropertiesTest.intermediateDirFileTest - every { baseFlutterTask.performanceMeasurementFile } returns BaseFlutterTaskPropertiesTest.PERFORMANCE_MEASUREMENT_FILE_TEST - - every { baseFlutterTask.fastStart } returns false - every { baseFlutterTask.buildMode } returns buildModeString - every { baseFlutterTask.targetPath } returns BaseFlutterTaskPropertiesTest.FLUTTER_TARGET_PATH - - every { baseFlutterTask.trackWidgetCreation } returns true - every { baseFlutterTask.splitDebugInfo } returns BaseFlutterTaskPropertiesTest.SPLIT_DEBUG_INFO_TEST - every { baseFlutterTask.treeShakeIcons } returns true - - every { baseFlutterTask.dartObfuscation } returns true - every { baseFlutterTask.dartDefines } returns BaseFlutterTaskPropertiesTest.DART_DEFINES_TEST - every { baseFlutterTask.bundleSkSLPath } returns BaseFlutterTaskPropertiesTest.BUNDLE_SK_SL_PATH_TEST - - every { baseFlutterTask.codeSizeDirectory } returns BaseFlutterTaskPropertiesTest.CODE_SIZE_DIRECTORY_TEST - every { baseFlutterTask.flavor } returns BaseFlutterTaskPropertiesTest.FLAVOR_TEST - every { baseFlutterTask.extraGenSnapshotOptions } returns BaseFlutterTaskPropertiesTest.EXTRA_GEN_SNAPSHOT_OPTIONS_TEST - - every { baseFlutterTask.frontendServerStarterPath } returns BaseFlutterTaskPropertiesTest.FRONTEND_SERVER_STARTER_PATH_TEST - every { baseFlutterTask.extraFrontEndOptions } returns BaseFlutterTaskPropertiesTest.EXTRA_FRONTEND_OPTIONS_TEST - - every { baseFlutterTask.targetPlatformValues } returns BaseFlutterTaskPropertiesTest.targetPlatformValuesList - - every { baseFlutterTask.minSdkVersion } returns BaseFlutterTaskPropertiesTest.MIN_SDK_VERSION_TEST - - // Mock the method calls. We collapse all the args mock calls into four calls. - every { mockExecSpec.executable(any()) } returns mockExecSpec - every { mockExecSpec.workingDir(any()) } returns mockProcessForkOptions - every { mockExecSpec.args(any(), any()) } returns mockExecSpec - every { mockExecSpec.args(any(), any()) } returns mockExecSpec - every { mockExecSpec.args(any()) } returns mockExecSpec - every { mockExecSpec.args(any>()) } returns mockExecSpec - - // Generate rule names for verification and can only be generated after buildMode is mocked. - val ruleNamesList: List = BaseFlutterTaskHelper.generateRuleNames(baseFlutterTask) - - // The exec function will be deprecated in gradle 8.11 and will be removed in gradle 9.0 - // https://docs.gradle.org/current/kotlin-dsl/gradle/org.gradle.kotlin.dsl/-kotlin-script/exec.html?query=abstract%20fun%20exec(configuration:%20Action%3CExecSpec%3E):%20ExecResult - // The actions are executed. - execSpecActionFromTask.execute(mockExecSpec) - - // After execution, we verify the functions are actually being - // called with the expected argument passed in. - verify { mockExecSpec.executable(BaseFlutterTaskPropertiesTest.FLUTTER_EXECUTABLE_ABSOLUTE_PATH_TEST) } - verify { mockExecSpec.workingDir(BaseFlutterTaskPropertiesTest.sourceDirTest) } - verify { mockExecSpec.args("--local-engine", BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_TEST) } - verify { mockExecSpec.args("--local-engine-src-path", BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_SRC_PATH_TEST) } - verify { mockExecSpec.args("--local-engine-host", BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_HOST_TEST) } - verify { mockExecSpec.args("--quiet") } - verify { mockExecSpec.args("assemble") } - verify { mockExecSpec.args("--no-version-check") } - verify { mockExecSpec.args("--depfile", "${BaseFlutterTaskPropertiesTest.intermediateDirFileTest}/flutter_build.d") } - verify { mockExecSpec.args("--output", "${BaseFlutterTaskPropertiesTest.intermediateDirFileTest}") } - verify { mockExecSpec.args("--performance-measurement-file=${BaseFlutterTaskPropertiesTest.PERFORMANCE_MEASUREMENT_FILE_TEST}") } - verify { mockExecSpec.args("-dTargetFile=${BaseFlutterTaskPropertiesTest.FLUTTER_TARGET_PATH}") } - verify { mockExecSpec.args("-dTargetPlatform=android") } - verify { mockExecSpec.args("-dBuildMode=$buildModeString") } - verify { mockExecSpec.args("-dTrackWidgetCreation=${true}") } - verify { mockExecSpec.args("-dSplitDebugInfo=${BaseFlutterTaskPropertiesTest.SPLIT_DEBUG_INFO_TEST}") } - verify { mockExecSpec.args("-dTreeShakeIcons=true") } - verify { mockExecSpec.args("-dDartObfuscation=true") } - verify { mockExecSpec.args("--DartDefines=${BaseFlutterTaskPropertiesTest.DART_DEFINES_TEST}") } - verify { mockExecSpec.args("-dBundleSkSLPath=${BaseFlutterTaskPropertiesTest.BUNDLE_SK_SL_PATH_TEST}") } - verify { mockExecSpec.args("-dCodeSizeDirectory=${BaseFlutterTaskPropertiesTest.CODE_SIZE_DIRECTORY_TEST}") } - verify { mockExecSpec.args("-dFlavor=${BaseFlutterTaskPropertiesTest.FLAVOR_TEST}") } - verify { mockExecSpec.args("--ExtraGenSnapshotOptions=${BaseFlutterTaskPropertiesTest.EXTRA_GEN_SNAPSHOT_OPTIONS_TEST}") } - verify { mockExecSpec.args("-dFrontendServerStarterPath=${BaseFlutterTaskPropertiesTest.FRONTEND_SERVER_STARTER_PATH_TEST}") } - verify { mockExecSpec.args("--ExtraFrontEndOptions=${BaseFlutterTaskPropertiesTest.EXTRA_FRONTEND_OPTIONS_TEST}") } - verify { mockExecSpec.args("-dAndroidArchs=${BaseFlutterTaskPropertiesTest.TARGET_PLATFORM_VALUES_JOINED_LIST}") } - verify { mockExecSpec.args("-dMinSdkVersion=${BaseFlutterTaskPropertiesTest.MIN_SDK_VERSION_TEST}") } - verify { mockExecSpec.args(ruleNamesList) } - } - - @Test - fun `createSpecActionFromTask creates the correct build configurations when fastStart is true and buildMode is not debug`() { - val buildModeString = "release" - - // Create necessary mocks. - val baseFlutterTask = mockk() - val mockExecSpec = mockk() - val mockProcessForkOptions = mockk() - - // When baseFlutterTask.sourceDir is null, an exception is thrown. We mock its return value - // before creating a BaseFlutterTaskHelper object. - every { baseFlutterTask.sourceDir } returns BaseFlutterTaskPropertiesTest.sourceDirTest - val execSpecActionFromTask = BaseFlutterTaskHelper.createExecSpecActionFromTask(baseFlutterTask) - - // Mock return values of properties. - every { baseFlutterTask.flutterExecutable } returns BaseFlutterTaskPropertiesTest.flutterExecutableTest - every { - baseFlutterTask.flutterExecutable!!.absolutePath - } returns BaseFlutterTaskPropertiesTest.FLUTTER_EXECUTABLE_ABSOLUTE_PATH_TEST - - every { baseFlutterTask.localEngine } returns BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_TEST - every { baseFlutterTask.localEngineSrcPath } returns BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_SRC_PATH_TEST - - every { baseFlutterTask.localEngineHost } returns BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_HOST_TEST - every { baseFlutterTask.verbose } returns true - every { baseFlutterTask.intermediateDir } returns BaseFlutterTaskPropertiesTest.intermediateDirFileTest - every { baseFlutterTask.performanceMeasurementFile } returns BaseFlutterTaskPropertiesTest.PERFORMANCE_MEASUREMENT_FILE_TEST - - every { baseFlutterTask.fastStart } returns true - every { baseFlutterTask.buildMode } returns buildModeString - every { baseFlutterTask.targetPath } returns BaseFlutterTaskPropertiesTest.FLUTTER_TARGET_PATH - - every { baseFlutterTask.trackWidgetCreation } returns true - every { baseFlutterTask.splitDebugInfo } returns BaseFlutterTaskPropertiesTest.SPLIT_DEBUG_INFO_TEST - every { baseFlutterTask.treeShakeIcons } returns true - - every { baseFlutterTask.dartObfuscation } returns true - every { baseFlutterTask.dartDefines } returns BaseFlutterTaskPropertiesTest.DART_DEFINES_TEST - every { baseFlutterTask.bundleSkSLPath } returns BaseFlutterTaskPropertiesTest.BUNDLE_SK_SL_PATH_TEST - - every { baseFlutterTask.codeSizeDirectory } returns BaseFlutterTaskPropertiesTest.CODE_SIZE_DIRECTORY_TEST - every { baseFlutterTask.flavor } returns BaseFlutterTaskPropertiesTest.FLAVOR_TEST - every { baseFlutterTask.extraGenSnapshotOptions } returns BaseFlutterTaskPropertiesTest.EXTRA_GEN_SNAPSHOT_OPTIONS_TEST - - every { baseFlutterTask.frontendServerStarterPath } returns BaseFlutterTaskPropertiesTest.FRONTEND_SERVER_STARTER_PATH_TEST - every { baseFlutterTask.extraFrontEndOptions } returns BaseFlutterTaskPropertiesTest.EXTRA_FRONTEND_OPTIONS_TEST - - every { baseFlutterTask.deferredComponents } returns true - every { baseFlutterTask.targetPlatformValues } returns BaseFlutterTaskPropertiesTest.targetPlatformValuesList - - every { baseFlutterTask.minSdkVersion } returns BaseFlutterTaskPropertiesTest.MIN_SDK_VERSION_TEST - - // Mock the method calls. We collapse all the args mock calls into four calls. - every { mockExecSpec.executable(any()) } returns mockExecSpec - every { mockExecSpec.workingDir(any()) } returns mockProcessForkOptions - every { mockExecSpec.args(any(), any()) } returns mockExecSpec - every { mockExecSpec.args(any(), any()) } returns mockExecSpec - every { mockExecSpec.args(any()) } returns mockExecSpec - every { mockExecSpec.args(any>()) } returns mockExecSpec - - // Generate rule names for verification and can only be generated after buildMode is mocked. - val ruleNamesList: List = BaseFlutterTaskHelper.generateRuleNames(baseFlutterTask) - - // The exec function will be deprecated in gradle 8.11 and will be removed in gradle 9.0 - // https://docs.gradle.org/current/kotlin-dsl/gradle/org.gradle.kotlin.dsl/-kotlin-script/exec.html?query=abstract%20fun%20exec(configuration:%20Action%3CExecSpec%3E):%20ExecResult - // The actions are executed. - execSpecActionFromTask.execute(mockExecSpec) - - // After execution, we verify the functions are actually being - // called with the expected argument passed in. - verify { mockExecSpec.executable(BaseFlutterTaskPropertiesTest.FLUTTER_EXECUTABLE_ABSOLUTE_PATH_TEST) } - verify { mockExecSpec.workingDir(BaseFlutterTaskPropertiesTest.sourceDirTest) } - verify { mockExecSpec.args("--local-engine", BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_TEST) } - verify { mockExecSpec.args("--local-engine-src-path", BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_SRC_PATH_TEST) } - verify { mockExecSpec.args("--local-engine-host", BaseFlutterTaskPropertiesTest.LOCAL_ENGINE_HOST_TEST) } - verify { mockExecSpec.args("--verbose") } - verify { mockExecSpec.args("assemble") } - verify { mockExecSpec.args("--no-version-check") } - verify { mockExecSpec.args("--depfile", "${BaseFlutterTaskPropertiesTest.intermediateDirFileTest}/flutter_build.d") } - verify { mockExecSpec.args("--output", "${BaseFlutterTaskPropertiesTest.intermediateDirFileTest}") } - verify { mockExecSpec.args("--performance-measurement-file=${BaseFlutterTaskPropertiesTest.PERFORMANCE_MEASUREMENT_FILE_TEST}") } - verify { mockExecSpec.args("-dTargetFile=${BaseFlutterTaskPropertiesTest.FLUTTER_TARGET_PATH}") } - verify { mockExecSpec.args("-dTargetPlatform=android") } - verify { mockExecSpec.args("-dBuildMode=$buildModeString") } - verify { mockExecSpec.args("-dTrackWidgetCreation=${true}") } - verify { mockExecSpec.args("-dSplitDebugInfo=${BaseFlutterTaskPropertiesTest.SPLIT_DEBUG_INFO_TEST}") } - verify { mockExecSpec.args("-dTreeShakeIcons=true") } - verify { mockExecSpec.args("-dDartObfuscation=true") } - verify { mockExecSpec.args("--DartDefines=${BaseFlutterTaskPropertiesTest.DART_DEFINES_TEST}") } - verify { mockExecSpec.args("-dBundleSkSLPath=${BaseFlutterTaskPropertiesTest.BUNDLE_SK_SL_PATH_TEST}") } - verify { mockExecSpec.args("-dCodeSizeDirectory=${BaseFlutterTaskPropertiesTest.CODE_SIZE_DIRECTORY_TEST}") } - verify { mockExecSpec.args("-dFlavor=${BaseFlutterTaskPropertiesTest.FLAVOR_TEST}") } - verify { mockExecSpec.args("--ExtraGenSnapshotOptions=${BaseFlutterTaskPropertiesTest.EXTRA_GEN_SNAPSHOT_OPTIONS_TEST}") } - verify { mockExecSpec.args("-dFrontendServerStarterPath=${BaseFlutterTaskPropertiesTest.FRONTEND_SERVER_STARTER_PATH_TEST}") } - verify { mockExecSpec.args("--ExtraFrontEndOptions=${BaseFlutterTaskPropertiesTest.EXTRA_FRONTEND_OPTIONS_TEST}") } - verify { mockExecSpec.args("-dAndroidArchs=${BaseFlutterTaskPropertiesTest.TARGET_PLATFORM_VALUES_JOINED_LIST}") } - verify { mockExecSpec.args("-dMinSdkVersion=${BaseFlutterTaskPropertiesTest.MIN_SDK_VERSION_TEST}") } - verify { mockExecSpec.args(ruleNamesList) } - } - @Test fun `buildBundle calls the correct methods`() { val baseFlutterTask = mockk() diff --git a/packages/flutter_tools/gradle/src/test/kotlin/tasks/DeepLinkJsonFromManifestTaskTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/tasks/DeepLinkJsonFromManifestTaskTest.kt new file mode 100644 index 0000000000000..51ea7f41d780d --- /dev/null +++ b/packages/flutter_tools/gradle/src/test/kotlin/tasks/DeepLinkJsonFromManifestTaskTest.kt @@ -0,0 +1,537 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +package com.flutter.gradle.tasks + +import com.flutter.gradle.Deeplink +import com.flutter.gradle.IntentFilterCheck +import com.flutter.gradle.tasks.DeepLinkJsonFromManifestTaskTest.DeeplinkManifestBuilder.PathOverride +import io.mockk.every +import io.mockk.mockk +import org.gradle.api.file.RegularFileProperty +import org.xml.sax.SAXParseException +import java.io.File +import kotlin.test.Test +import kotlin.test.assertContains +import kotlin.test.assertEquals +import kotlin.test.assertFailsWith +import kotlin.test.assertFalse +import kotlin.test.assertTrue +import kotlin.test.fail + +/** + * Tests for [DeepLinkJsonFromManifestTaskHelper]. + * + * Parsing tests for corner cases are in + * `flutter/packages/flutter_tools/test/integration.shard/android_gradle_outputs_app_link_settings_test.dart`. + * Json tests are in `flutter/packages/flutter_tools/gradle/src/test/kotlin/AppLinkSettingsTest.kt` and + * `flutter/packages/flutter_tools/gradle/src/test/kotlin/DeeplinkTest.kt`. + * + * Tests here are focused on malformed manifest behavior and that there are some tests that cover + * reading from files. The contents of DeepLinks should not be tested in this file. + */ +class DeepLinkJsonFromManifestTaskTest { + private val defaultNamespace = "dev.flutter.example" + private val defaultActivity = ".MainActivity" + + private fun createTempManifestFile(content: String): File { + val manifestFile = File.createTempFile("AndroidManifestTest", ".xml") + manifestFile.deleteOnExit() + manifestFile.writeText(content.trimIndent()) + return manifestFile + } + + @Test + fun createAppLinkSettingsFileCreation() { + val scheme = "http" + val host = "example.com" + val pathPrefix = "/profile" + val manifestContent = + DeeplinkManifestBuilder() + .addActivity(defaultActivity) + .addDeeplinks(defaultActivity, listOf(Deeplink(scheme, host, pathPrefix, IntentFilterCheck(hasActionView = true)))) + .build() + val manifestFile = + createTempManifestFile(manifestContent) + val manifest = mockk() + every { manifest.get().asFile } returns manifestFile + + val jsonFile = File.createTempFile("deeplink", ".json") + jsonFile.deleteOnExit() + val json = mockk() + every { json.get().asFile } returns jsonFile + + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettingsFile( + defaultNamespace, + manifest, + json + ) + assertEquals( + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings(defaultNamespace, manifestFile).toJson().toString(), + jsonFile.readText() + ) + } + + @Test + fun noApplicationInManifest() { + val manifestContent = + """ + + + + """.trimIndent() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings(defaultNamespace, manifestFile) + + assertEquals(defaultNamespace, appLinkSettings.applicationId) + assertFalse(appLinkSettings.deeplinkingFlagEnabled) + assertTrue(appLinkSettings.deeplinks.isEmpty()) + } + + @Test + fun applicationNoDeepLinkingElements() { + val manifestContent = DeeplinkManifestBuilder().build() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings(defaultNamespace, manifestFile) + assertEquals(defaultNamespace, appLinkSettings.applicationId) + assertFalse(appLinkSettings.deeplinkingFlagEnabled) + assertTrue(appLinkSettings.deeplinks.isEmpty()) + } + + @Test + fun metaDataDeepLinkingEnabledTrue() { + val manifestContent = DeeplinkManifestBuilder().addActivity("$defaultNamespace.MainActivity").setDeeplinkEnabled(true).build() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = + DeepLinkJsonFromManifestTaskHelper + .createAppLinkSettings( + defaultNamespace, + manifestFile + ) + assertEquals(defaultNamespace, appLinkSettings.applicationId) + assertTrue(appLinkSettings.deeplinkingFlagEnabled) + assertTrue(appLinkSettings.deeplinks.isEmpty()) + } + + @Test + fun metaDataDeepLinkingEnabledFalse() { + val manifestContent = DeeplinkManifestBuilder().addActivity("$defaultNamespace.MainActivity").setDeeplinkEnabled(false).build() + val manifestFile = createTempManifestFile(manifestContent) + + val appLinkSettings = DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings(defaultNamespace, manifestFile) + assertEquals(defaultNamespace, appLinkSettings.applicationId) + assertFalse(appLinkSettings.deeplinkingFlagEnabled) + assertTrue(appLinkSettings.deeplinks.isEmpty()) + } + + @Test + fun metaDataDeepLinkingEnabledInvalidValue() { + val manifestContent = + """ + + + + + + + """.trimIndent() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings(defaultNamespace, manifestFile) + + assertEquals(defaultNamespace, appLinkSettings.applicationId) + assertFalse(appLinkSettings.deeplinkingFlagEnabled, "Should default to false for invalid meta-data value") + assertTrue(appLinkSettings.deeplinks.isEmpty()) + } + + @Test + fun metaDataDeepLinkingNoValue() { + val manifestContent = + """ + + + + + + + """.trimIndent() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings(defaultNamespace, manifestFile) + + assertEquals(defaultNamespace, appLinkSettings.applicationId) + assertFalse(appLinkSettings.deeplinkingFlagEnabled, "Should default to false if meta-data value is missing") + assertTrue(appLinkSettings.deeplinks.isEmpty()) + } + + @Test + fun basicDeepLink() { + val scheme = "http" + val host = "example.com" + val pathPrefix = "/profile" + val expectedDeeplink = Deeplink(scheme, host, pathPrefix, IntentFilterCheck(hasActionView = true)) + val manifestContent = + DeeplinkManifestBuilder() + .addActivity( + defaultActivity + ).addDeeplinks(defaultActivity, listOf(expectedDeeplink)) + .build() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings( + defaultNamespace, + manifestFile + ) + + assertEquals(defaultNamespace, appLinkSettings.applicationId) + assertTrue(appLinkSettings.deeplinkingFlagEnabled) + assertEquals(1, appLinkSettings.deeplinks.size) + assertContains( + appLinkSettings.deeplinks, + expectedDeeplink, + "Did not find $expectedDeeplink in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + } + + @Test + fun deepLinkWithAutoVerify() { + val scheme = "https" + val host = "secure.example.com" + val expectedDeeplink = + Deeplink(scheme, host, "", IntentFilterCheck(hasAutoVerify = true, hasDefaultCategory = true, hasBrowsableCategory = true)) + val manifestContent = + DeeplinkManifestBuilder() + .addActivity( + defaultActivity + ).addDeeplinks(defaultActivity, listOf(expectedDeeplink)) + .build() + val manifestFile = createTempManifestFile(manifestContent) + try { + val appLinkSettings = + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings( + defaultNamespace, + manifestFile + ) + assertEquals(1, appLinkSettings.deeplinks.size) + assertContains( + appLinkSettings.deeplinks, + expectedDeeplink, + "Did not find $expectedDeeplink in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + } catch (e: SAXParseException) { + fail("Failed to parse Manifest:\n$manifestContent", e) + } + } + + @Test + fun multipleIntentFilters() { + val expectedLink1 = + Deeplink( + "custom", + "filter.one", + ".*", + IntentFilterCheck(hasAutoVerify = false, hasActionView = true, hasDefaultCategory = true, hasBrowsableCategory = true) + ) + val expectedLink2 = + Deeplink( + "https", + "filter.two", + "/product.*", + IntentFilterCheck(hasAutoVerify = true, hasActionView = true, hasDefaultCategory = true, hasBrowsableCategory = true) + ) + val manifestContent = + DeeplinkManifestBuilder() + .addActivity( + defaultActivity + ).addDeeplinks(defaultActivity, listOf(expectedLink1, expectedLink2)) + .build() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings( + defaultNamespace, + manifestFile + ) + assertEquals(2, appLinkSettings.deeplinks.size) + assertContains( + appLinkSettings.deeplinks, + expectedLink1, + "Did not find $expectedLink1 in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + assertContains( + appLinkSettings.deeplinks, + expectedLink2, + "Did not find $expectedLink2 in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + } + + @Test + fun multipleActivitiesWithDeepLinks() { + val otherActivity = ".OtherActivity" + val expectedDeeplink1 = + Deeplink( + "app", + "main.activity", + null, + IntentFilterCheck(hasActionView = true, hasDefaultCategory = true, hasBrowsableCategory = true) + ) + val expectedDeeplink2 = + Deeplink( + "http", + "other.activity", + ".*user.*", + IntentFilterCheck(hasAutoVerify = true, hasActionView = true, hasBrowsableCategory = true) + ) + val manifestContent = + DeeplinkManifestBuilder() + .addActivity(defaultActivity) + .addActivity(otherActivity) + .addDeeplinks(defaultActivity, listOf(expectedDeeplink1)) + .addDeeplinks(otherActivity, listOf(expectedDeeplink2)) + .build() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings( + defaultNamespace, + manifestFile + ) + assertEquals(2, appLinkSettings.deeplinks.size) + assertContains( + appLinkSettings.deeplinks, + // Path when not set is assumed to be ".*" + Deeplink(expectedDeeplink1.scheme, expectedDeeplink1.host, ".*", expectedDeeplink1.intentFilterCheck), + "Did not find $expectedDeeplink1 in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + assertContains( + appLinkSettings.deeplinks, + expectedDeeplink2, + "Did not find $expectedDeeplink2 in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + } + + @Test + fun intentFilterMissingHostInData() { + val expectedDeeplink = + Deeplink( + "http", + host = null, + path = null, + IntentFilterCheck(hasActionView = true, hasBrowsableCategory = true, hasDefaultCategory = true) + ) + val manifestContent = + DeeplinkManifestBuilder() + .addActivity( + defaultActivity + ).addDeeplinks(defaultActivity, listOf(expectedDeeplink)) + .build() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings(defaultNamespace, manifestFile) + assertTrue(appLinkSettings.deeplinks.isEmpty(), "Intent filter with data missing host should be ignored") + } + + @Test + fun malformedManifestXML() { + val manifestFile = createTempManifestFile("") // Malformed XML + assertFailsWith { + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings(defaultNamespace, manifestFile) + } + } + + @Test + fun multiplePathTypes() { + val expectedLink1 = + Deeplink( + "custom", + "filter.one", + "/product.*", + IntentFilterCheck(hasAutoVerify = true, hasActionView = true, hasDefaultCategory = true, hasBrowsableCategory = true) + ) + val expectedLink2 = + Deeplink( + "https", + "filter.two", + "/product2.*", + IntentFilterCheck(hasAutoVerify = true, hasActionView = true, hasDefaultCategory = true) + ) + val expectedLink3 = + Deeplink( + "https", + "filter.three", + "prefix", + IntentFilterCheck(hasAutoVerify = true, hasActionView = true) + ) + val expectedLink4 = + Deeplink( + "https", + "filter.four", + "suffix", + IntentFilterCheck(hasAutoVerify = true) + ) + // pathOverride requires all links to have a different host + val pathOverride = + PathOverride { deeplink -> + if (expectedLink1.host == deeplink.host) { + return@PathOverride """android:pathAdvancedPattern="${deeplink.path}"""" + } + if (expectedLink2.host == deeplink.host) { + return@PathOverride """android:pathPattern="${deeplink.path}"""" + } + if (expectedLink3.host == deeplink.host) { + return@PathOverride """android:pathPrefix="${deeplink.path}"""" + } + if (expectedLink4.host == deeplink.host) { + return@PathOverride """android:pathSuffix="${deeplink.path}"""" + } + // Same as default. + return@PathOverride """android:path="${deeplink.path}"""" + } + val manifestContent = + DeeplinkManifestBuilder() + .addActivity(defaultActivity) + .addDeeplinks(defaultActivity, listOf(expectedLink1, expectedLink2, expectedLink3, expectedLink4)) + .setDeeplinkPathOverride(pathOverride) + .build() + val manifestFile = createTempManifestFile(manifestContent) + val appLinkSettings = + DeepLinkJsonFromManifestTaskHelper.createAppLinkSettings( + defaultNamespace, + manifestFile + ) + assertEquals(4, appLinkSettings.deeplinks.size) + assertContains( + appLinkSettings.deeplinks, + expectedLink1, + "Did not find $expectedLink1 in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + assertContains( + appLinkSettings.deeplinks, + expectedLink2, + "Did not find $expectedLink2 in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + val prefix = Deeplink(expectedLink3.scheme, expectedLink3.host, "${expectedLink3.path}.*", expectedLink1.intentFilterCheck) + assertContains( + appLinkSettings.deeplinks, + prefix, + "Did not find $prefix in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + val suffix = Deeplink(expectedLink4.scheme, expectedLink4.host, ".*${expectedLink4.path}", expectedLink4.intentFilterCheck) + assertContains( + appLinkSettings.deeplinks, + suffix, + "Did not find $suffix in ${appLinkSettings.deeplinks.joinToString { it.toJson().toString() }}" + ) + } + + /** + * Helper class for creating valid android manifest file that contains deep links. + */ + class DeeplinkManifestBuilder { + private var namespace: String = "dev.flutter.example" + + private var deeplinkEnabled = true + private val activitySet: MutableSet = mutableSetOf() + private val deeplinkMap: MutableMap> = mutableMapOf() + + fun interface PathOverride { + /** + * Allow's for per deeplink override of manifest entry value. + */ + fun generatePath(deeplink: Deeplink): String + } + + // By default use android:path with the passed in deeplink.path contents. + private var pathOverride = + PathOverride { deeplink -> + deeplink.path?.let { path -> """android:path="$path"""" } ?: "" + } + + fun setNamespace(namespace: String): DeeplinkManifestBuilder { + this.namespace = namespace + return this + } + + fun addActivity(activity: String): DeeplinkManifestBuilder { + activitySet.add(activity) + return this + } + + fun addDeeplinks( + activity: String, + deeplinks: List + ): DeeplinkManifestBuilder { + deeplinkMap[activity] = deeplinks + return this + } + + fun setDeeplinkEnabled(enabled: Boolean): DeeplinkManifestBuilder { + deeplinkEnabled = enabled + return this + } + + fun setDeeplinkPathOverride(override: PathOverride): DeeplinkManifestBuilder { + pathOverride = override + return this + } + + fun build(): String { + var activitySection = "" + // Warning: Xml parsing can be sensitive to whitespace changes. + if (activitySet.isNotEmpty()) { + for (activity in activitySet) { + activitySection += "\t\n" + if (deeplinkEnabled) { + activitySection += + "\t\t" + """""" + "\n" + } + if (deeplinkMap[activity] == null) { + // Close activity and do not continue to deep link parsing. + activitySection += "\t" + continue + } + for (deeplink in deeplinkMap[activity]!!) { + if (deeplink.intentFilterCheck.hasAutoVerify) { + activitySection += ("\t\t" + """""" + "\n") + } else { + activitySection += ("\t\t" + """""" + "\n") + } + if (deeplink.intentFilterCheck.hasActionView) { + activitySection += "\t\t\t" + """""" + "\n" + } + if (deeplink.intentFilterCheck.hasDefaultCategory) { + activitySection += "\t\t\t" + """""" + "\n" + } + if (deeplink.intentFilterCheck.hasBrowsableCategory) { + activitySection += "\t\t\t" + """""" + "\n" + } + val scheme = + deeplink.scheme?.let { scheme -> """android:scheme="$scheme"""" } ?: "" + val host = deeplink.host?.let { host -> """android:host="$host"""" } ?: "" + val path = pathOverride.generatePath(deeplink) + activitySection += "\t\t\t\n" + activitySection += "\t\t" + """""" + "\n" + } + activitySection += "\t\n" + } + } + + val manifestContent = """ + + + $activitySection + + +""" + try { + // Debugging malformed xml data from a SAXParseException log only + // is difficult. Print the manifest content to aid in debugging. + groovy.xml + .XmlParser(false, false) + .parseText(manifestContent) + } catch (e: SAXParseException) { + fail("Failed to parse Manifest:\n$manifestContent", e) + } + return manifestContent + } + } +} diff --git a/packages/flutter_tools/gradle/src/test/kotlin/tasks/FlutterTaskHelperTest.kt b/packages/flutter_tools/gradle/src/test/kotlin/tasks/FlutterTaskHelperTest.kt index 433e9d6fd4acd..baa02e5e2bdd8 100644 --- a/packages/flutter_tools/gradle/src/test/kotlin/tasks/FlutterTaskHelperTest.kt +++ b/packages/flutter_tools/gradle/src/test/kotlin/tasks/FlutterTaskHelperTest.kt @@ -24,8 +24,8 @@ class FlutterTaskHelperTest { fun `getAssetsDirectory returns correct path`() { val flutterTask = mockk() val mockFile = mockk() - val flutterTaskOutputDirectory = "/path/to/assets" - val expectedPath = "$flutterTaskOutputDirectory/flutter_assets" + val flutterTaskOutputDirectory = "${File.separator}path${File.separator}to${File.separator}assets" + val expectedPath = "$flutterTaskOutputDirectory${File.separator}flutter_assets" every { flutterTask.outputDirectory } returns mockFile every { mockFile.toString() } returns flutterTaskOutputDirectory @@ -40,7 +40,7 @@ class FlutterTaskHelperTest { val mockFile = mockk() val mockCopySpec = mockk() val copySpecActionSlot = slot>() - val fakeFromPath = "/path/to/intermediate" + val fakeFromPath = "${File.separator}path${File.separator}to${File.separator}intermediate" every { flutterTask.intermediateDir } returns mockFile every { mockFile.toString() } returns fakeFromPath @@ -61,7 +61,7 @@ class FlutterTaskHelperTest { val mockCopySpec = mockk() val copySpecActionSlot = slot>() val fakeIntermediateDirectory = mockk() - val fakeIntermediateDirectoryPath = "/path/to/intermediate" + val fakeIntermediateDirectoryPath = "${File.separator}path${File.separator}to${File.separator}intermediate" every { flutterTask.intermediateDir } returns fakeIntermediateDirectory every { flutterTask.buildMode } returns "release" @@ -75,8 +75,8 @@ class FlutterTaskHelperTest { copySpecActionSlot.captured.execute(mockCopySpec) verify { mockCopySpec.from(fakeIntermediateDirectoryPath) } - verify { mockCopySpec.include("${FlutterPluginConstants.PLATFORM_ARCH_MAP["arm64-v8a"]}/app.so") } - verify { mockCopySpec.include("${FlutterPluginConstants.PLATFORM_ARCH_MAP["x64"]}/app.so") } + verify { mockCopySpec.include("${FlutterPluginConstants.PLATFORM_ARCH_MAP["arm64-v8a"]}${File.separator}app.so") } + verify { mockCopySpec.include("${FlutterPluginConstants.PLATFORM_ARCH_MAP["x64"]}${File.separator}app.so") } } @Test @@ -86,7 +86,7 @@ class FlutterTaskHelperTest { val mockCopySpec = mockk() val copySpecActionSlot = slot>() val fakeIntermediateDirectory = mockk() - val fakeIntermediateDirectoryPath = "/path/to/intermediate" + val fakeIntermediateDirectoryPath = "${File.separator}path${File.separator}to${File.separator}intermediate" every { flutterTask.intermediateDir } returns fakeIntermediateDirectory every { flutterTask.buildMode } returns "debug" @@ -119,10 +119,10 @@ class FlutterTaskHelperTest { every { mockFlutterTask.getDependenciesFiles() } returns mockDependenciesFileCollection val dependenciesFile = tempDir - .resolve("${mockFlutterTask.intermediateDir}/flutter_build.d") + .resolve("${mockFlutterTask.intermediateDir}${File.separator}flutter_build.d") .toFile() dependenciesFile.writeText( - " ${tempDir.toFile().path}/pre/delimiter/one ${tempDir.toFile().path}/pre/delimiter/two: ${tempDir.toFile().path}/post/delimiter/one ${tempDir.toFile().path}/post/delimiter/two" + " ${tempDir.toFile().path}${File.separator}pre${File.separator}delimiter${File.separator}one ${tempDir.toFile().path}${File.separator}pre${File.separator}delimiter${File.separator}two: ${tempDir.toFile().path}${File.separator}post${File.separator}delimiter${File.separator}one ${tempDir.toFile().path}${File.separator}post${File.separator}delimiter${File.separator}two" ) every { mockDependenciesFileCollection.iterator() } returns (mutableListOf(dependenciesFile).iterator()) @@ -131,8 +131,44 @@ class FlutterTaskHelperTest { verify { project.files( listOf( - "${tempDir.toFile().path}/post/delimiter/one", - "${tempDir.toFile().path}/post/delimiter/two" + "${tempDir.toFile().path}${File.separator}post${File.separator}delimiter${File.separator}one", + "${tempDir.toFile().path}${File.separator}post${File.separator}delimiter${File.separator}two" + ) + ) + } + + verify { project.files("pubspec.yaml") } + } + + @Test + fun `getSourceFiles correctly replaces escaped spaces`( + @TempDir tempDir: Path + ) { + val mockProjectFileCollection = mockk(relaxed = true) + val mockDependenciesFileCollection = mockk() + val project = mockk() + val mockFlutterTask = mockk() + + every { project.files() } returns mockProjectFileCollection + every { project.files(any()) } returns mockProjectFileCollection + + every { mockFlutterTask.intermediateDir } returns tempDir.toFile() + every { mockFlutterTask.getDependenciesFiles() } returns mockDependenciesFileCollection + val dependenciesFile = + tempDir + .resolve("${mockFlutterTask.intermediateDir}${File.separator}flutter_build.d") + .toFile() + dependenciesFile.writeText( + " ${tempDir.toFile().path}${File.separator}pre${File.separator}delimiter\\ space${File.separator}one: ${tempDir.toFile().path}${File.separator}post${File.separator}delimiter\\ space${File.separator}one" + ) + every { mockDependenciesFileCollection.iterator() } returns (mutableListOf(dependenciesFile).iterator()) + + FlutterTaskHelper.getSourceFiles(project, mockFlutterTask) + + verify { + project.files( + listOf( + "${tempDir.toFile().path}${File.separator}post${File.separator}delimiter space${File.separator}one" ) ) } @@ -156,10 +192,10 @@ class FlutterTaskHelperTest { every { mockFlutterTask.getDependenciesFiles() } returns mockDependenciesFileCollection val dependenciesFile = tempDir - .resolve("${mockFlutterTask.intermediateDir}/flutter_build.d") + .resolve("${mockFlutterTask.intermediateDir}${File.separator}flutter_build.d") .toFile() dependenciesFile.writeText( - " ${tempDir.toFile().path}/pre/delimiter/one ${tempDir.toFile().path}/pre/delimiter/two: ${tempDir.toFile().path}/post/delimiter/one ${tempDir.toFile().path}/post/delimiter/two" + " ${tempDir.toFile().path}${File.separator}pre${File.separator}delimiter${File.separator}one ${tempDir.toFile().path}${File.separator}pre${File.separator}delimiter${File.separator}two: ${tempDir.toFile().path}${File.separator}post${File.separator}delimiter${File.separator}one ${tempDir.toFile().path}${File.separator}post${File.separator}delimiter${File.separator}two" ) every { mockDependenciesFileCollection.iterator() } returns (mutableListOf(dependenciesFile).iterator()) @@ -168,8 +204,8 @@ class FlutterTaskHelperTest { verify { project.files( listOf( - "${tempDir.toFile().path}/pre/delimiter/one", - "${tempDir.toFile().path}/pre/delimiter/two" + "${tempDir.toFile().path}${File.separator}pre${File.separator}delimiter${File.separator}one", + "${tempDir.toFile().path}${File.separator}pre${File.separator}delimiter${File.separator}two" ) ) } diff --git a/packages/flutter_tools/lib/executable.dart b/packages/flutter_tools/lib/executable.dart index 76a4aaba2f2cc..ee96e12fc435e 100644 --- a/packages/flutter_tools/lib/executable.dart +++ b/packages/flutter_tools/lib/executable.dart @@ -11,6 +11,7 @@ import 'src/base/template.dart'; import 'src/base/terminal.dart'; import 'src/base/user_messages.dart'; import 'src/build_system/build_targets.dart'; +import 'src/build_system/targets/hook_runner_native.dart' show FlutterHookRunnerNative; import 'src/cache.dart'; import 'src/commands/analyze.dart'; import 'src/commands/assemble.dart'; @@ -47,6 +48,7 @@ import 'src/devtools_launcher.dart'; import 'src/features.dart'; import 'src/globals.dart' as globals; // Files in `isolated` are intentionally excluded from google3 tooling. +import 'src/hook_runner.dart' show FlutterHookRunner; import 'src/isolated/build_targets.dart'; import 'src/isolated/mustache_template.dart'; import 'src/isolated/native_assets/test/native_assets.dart'; @@ -86,12 +88,8 @@ Future main(List args) async { final bool muteCommandLogging = (help || doctor) && !veryVerbose; final bool verboseHelp = help && verbose; final bool daemon = args.contains('daemon'); - final bool runMachine = - (args.contains('--machine') && args.contains('run')) || - (args.contains('--machine') && args.contains('attach')) || - // `flutter widget-preview start` starts an application that requires a logger - // to be setup for machine mode. - (args.contains('widget-preview') && args.contains('start')); + final bool widgetPreviews = args.contains(WidgetPreviewCommand.kWidgetPreview); + final bool runMachine = args.contains('--machine'); // Cache.flutterRoot must be set early because other features use it (e.g. // enginePath's initializer uses it). This can only work with the real @@ -109,6 +107,7 @@ Future main(List args) async { muteCommandLogging: muteCommandLogging, verboseHelp: verboseHelp, overrides: { + FlutterHookRunner: () => FlutterHookRunnerNative(), // The web runner is not supported in google3 because it depends // on dwds. WebRunnerFactory: () => DwdsWebRunnerFactory(), @@ -135,6 +134,7 @@ Future main(List args) async { verbose: verbose && !muteCommandLogging, prefixedErrors: prefixedErrors, windows: globals.platform.isWindows, + widgetPreviews: widgetPreviews, ); }, AnsiTerminal: () { @@ -296,6 +296,7 @@ class LoggerFactory { required bool machine, required bool daemon, required bool windows, + required bool widgetPreviews, }) { Logger logger; if (windows) { @@ -319,6 +320,9 @@ class LoggerFactory { if (prefixedErrors) { logger = PrefixedErrorLogger(logger); } + if (widgetPreviews) { + return WidgetPreviewMachineAwareLogger(logger, machine: machine, verbose: verbose); + } if (daemon) { return NotifyingLogger(verbose: verbose, parent: logger); } diff --git a/packages/flutter_tools/lib/src/android/README.md b/packages/flutter_tools/lib/src/android/README.md index e80eccf03e4a9..d2096f1ae9524 100644 --- a/packages/flutter_tools/lib/src/android/README.md +++ b/packages/flutter_tools/lib/src/android/README.md @@ -94,7 +94,7 @@ When new versions of the Android Gradle Plugin become available, make sure to: steps to ensure that we are testing this version in CI. - Update the `_javaAgpCompatList` that contains the Java/AGP compatibility information known to the tool. -- Update the test cases in [gradle_utils_test.dart](../../..test/general.shard/android/gradle_utils_test.dart) that test compatibility between Java and AGP versions +- Update the test cases in [gradle_utils_test.dart](../../../test/general.shard/android/gradle_utils_test.dart) that test compatibility between Java and AGP versions (relevant tests should fail if you do not fix them preemptively, but should also be marked inline). - Update the test cases in [create_test.dart](../../../test/commands.shard/permeable/create_test.dart) that test for a warning for Java/AGP incompatibilities as needed diff --git a/packages/flutter_tools/lib/src/android/android_device.dart b/packages/flutter_tools/lib/src/android/android_device.dart index 3d3d07063f6c3..d19732120c3c3 100644 --- a/packages/flutter_tools/lib/src/android/android_device.dart +++ b/packages/flutter_tools/lib/src/android/android_device.dart @@ -570,7 +570,6 @@ class AndroidDevice extends Device { androidBuildInfo: AndroidBuildInfo( debuggingOptions.buildInfo, targetArchs: [androidArch], - fastStart: debuggingOptions.fastStart, ), ); // Package has been built, so we can get the updated application ID and @@ -733,9 +732,6 @@ class AndroidDevice extends Device { @override bool get supportsHotRestart => true; - @override - bool get supportsFastStart => true; - @override Future stopApp(ApplicationPackage? app, {String? userIdentifier}) async { if (app == null) { diff --git a/packages/flutter_tools/lib/src/android/gradle.dart b/packages/flutter_tools/lib/src/android/gradle.dart index 192cf9b0fe710..b132b4cbe530a 100644 --- a/packages/flutter_tools/lib/src/android/gradle.dart +++ b/packages/flutter_tools/lib/src/android/gradle.dart @@ -132,11 +132,6 @@ String getAarTaskFor(BuildInfo buildInfo) { return _taskFor('assembleAar', buildInfo); } -@visibleForTesting -const androidX86DeprecationWarning = - 'Support for Android x86 targets will be removed in the next stable release after 3.27. ' - 'See https://github.com/flutter/flutter/issues/157543 for details.'; - /// Returns the output APK file names for a given [AndroidBuildInfo]. /// /// For example, when [AndroidBuildInfo.splitPerAbi] is `true`, multiple APKs are created. @@ -570,9 +565,6 @@ class AndroidGradleBuilder implements AndroidBuilder { if (androidBuildInfo.splitPerAbi) { options.add('-Psplit-per-abi=true'); } - if (androidBuildInfo.fastStart) { - options.add('-Pfast-start=true'); - } late Stopwatch sw; final int exitCode = await _runGradleTask( assembleTask, diff --git a/packages/flutter_tools/lib/src/android/gradle_errors.dart b/packages/flutter_tools/lib/src/android/gradle_errors.dart index ce4b091941183..77f7f7384666d 100644 --- a/packages/flutter_tools/lib/src/android/gradle_errors.dart +++ b/packages/flutter_tools/lib/src/android/gradle_errors.dart @@ -10,7 +10,7 @@ import '../base/process.dart'; import '../base/terminal.dart'; import '../globals.dart' as globals; import '../project.dart'; -import 'gradle_utils.dart'; +import 'gradle_utils.dart' as utils; typedef GradleErrorTest = bool Function(String); @@ -400,20 +400,16 @@ final outdatedGradleHandler = GradleHandledError( test: _outdatedGradlePattern.hasMatch, handler: ({required String line, required FlutterProject project, required bool usesAndroidX}) async { final File gradleFile = project.android.hostAppGradleFile; - final File gradlePropertiesFile = project.directory - .childDirectory('android') - .childDirectory('gradle') - .childDirectory('wrapper') - .childFile('gradle-wrapper.properties'); + final File gradlePropertiesFile = project.android.gradleWrapperPropertiesFile; globals.printBox( '${globals.logger.terminal.warningMark} Your project needs to upgrade Gradle and the Android Gradle plugin.\n\n' 'To fix this issue, replace the following content:\n' '${gradleFile.path}:\n' ' ${globals.terminal.color("- classpath 'com.android.tools.build:gradle:'", TerminalColor.red)}\n' - ' ${globals.terminal.color("+ classpath 'com.android.tools.build:gradle:$templateAndroidGradlePluginVersion'", TerminalColor.green)}\n' + ' ${globals.terminal.color("+ classpath 'com.android.tools.build:gradle:${utils.templateAndroidGradlePluginVersion}'", TerminalColor.green)}\n' '${gradlePropertiesFile.path}:\n' ' ${globals.terminal.color('- https://services.gradle.org/distributions/gradle--all.zip', TerminalColor.red)}\n' - ' ${globals.terminal.color('+ https://services.gradle.org/distributions/gradle-$templateDefaultGradleVersion-all.zip', TerminalColor.green)}', + ' ${globals.terminal.color('+ https://services.gradle.org/distributions/gradle-${utils.templateDefaultGradleVersion}-all.zip', TerminalColor.green)}', title: _boxTitle, ); return GradleBuildStatus.exit; @@ -507,11 +503,7 @@ final incompatibleJavaAndGradleVersionsHandler = GradleHandledError( }, handler: ({required String line, required FlutterProject project, required bool usesAndroidX}) async { - final File gradlePropertiesFile = project.directory - .childDirectory('android') - .childDirectory('gradle') - .childDirectory('wrapper') - .childFile('gradle-wrapper.properties'); + final File gradlePropertiesFile = project.android.gradleWrapperPropertiesFile; // TODO(reidbaker): Replace URL with constant defined in // https://github.com/flutter/flutter/pull/123916. globals.printBox( diff --git a/packages/flutter_tools/lib/src/android/gradle_utils.dart b/packages/flutter_tools/lib/src/android/gradle_utils.dart index 9ce9a60c24c2a..ed083988c3b0f 100644 --- a/packages/flutter_tools/lib/src/android/gradle_utils.dart +++ b/packages/flutter_tools/lib/src/android/gradle_utils.dart @@ -51,10 +51,10 @@ const templateKotlinGradlePluginVersion = '2.1.0'; // so new versions are picked up after a Flutter upgrade. // // Please see the README before changing any of these values. -const compileSdkVersion = '36'; -final int compileSdkVersionInt = int.parse(compileSdkVersion); -const minSdkVersion = '24'; -final int minSdkVersionInt = int.parse(minSdkVersion); +const compileSdkVersionInt = 36; +const compileSdkVersion = '$compileSdkVersionInt'; +const minSdkVersionInt = 24; +const minSdkVersion = '$minSdkVersionInt'; const targetSdkVersion = '36'; const ndkVersion = '27.0.12077973'; final minBuildToolsVersion = Version(28, 0, 3); @@ -63,14 +63,14 @@ final minJavaMinVersionAndroid = Version(11, 0, 0); // Update these when new major versions of Java are supported by new Gradle // versions that we support. // Source of truth: https://docs.gradle.org/current/userguide/compatibility.html -const oneMajorVersionHigherJavaVersion = '24'; +const oneMajorVersionHigherJavaVersion = '26'; // Update this when new versions of Gradle come out including minor versions // and should correspond to the maximum Gradle version we test in CI. // // Supported here means supported by the tooling for // flutter analyze --suggestions and does not imply broader flutter support. -const maxKnownAndSupportedGradleVersion = '8.12'; +const maxKnownAndSupportedGradleVersion = '9.1.0'; // Update this with new KGP versions come out including minor versions. // @@ -83,10 +83,10 @@ const maxKnownAndSupportedKgpVersion = '2.1.20'; // Supported here means tooling is aware of this version's Java <-> AGP // compatibility. @visibleForTesting -const maxKnownAndSupportedAgpVersion = '8.9.1'; +const maxKnownAndSupportedAgpVersion = '9.0'; // Update this when new versions of AGP come out. -const maxKnownAgpVersion = '8.9.1'; +const maxKnownAgpVersion = '9.0'; // Supported here means tooling is aware of this versions // Java <-> AGP compatibility and does not imply broader flutter support. @@ -171,8 +171,15 @@ final gradleOrgVersionMatch = RegExp( // This matches uncommented minSdkVersion lines in the module-level build.gradle // file which have minSdkVersion 16, 17, 18, 19, 20, 21, 22, 23 set with space sytax, // equals syntax and when using minSdk or minSdkVersion. -final tooOldMinSdkVersionMatch = RegExp( - r'(?<=^\s*)minSdk(Version)?\s=?\s?(1[6789]|2[0123])(?=\s*(?://|$))', +// Matches uncommented minSdkVersion lines using equals syntax (=) +final tooOldMinSdkVersionEqualsMatch = RegExp( + r'(?<=^\s*)minSdk(Version)?\s*=\s*(1[6789]|2[0123])(?=\s*(?://|$))', + multiLine: true, +); + +// Matches uncommented minSdkVersion lines using space syntax (no =) +final tooOldMinSdkVersionSpaceMatch = RegExp( + r'(?<=^\s*)minSdk(Version)?\s+(1[6789]|2[0123])(?=\s*(?://|$))', multiLine: true, ); @@ -738,13 +745,14 @@ bool validateGradleAndAgp(Logger logger, {required String? gradleV, required Str } // Check highest supported version before checking unknown versions. - if (isWithinVersionRange(agpV, min: '8.0', max: maxKnownAndSupportedAgpVersion)) { - return isWithinVersionRange(gradleV, min: '8.0', max: maxKnownAndSupportedGradleVersion); + // https://developer.android.com/build/releases/agp-preview#android-gradle-plugin-compatibility + if (isWithinVersionRange(agpV, min: '9.0', max: '9.0.99')) { + return isWithinVersionRange(gradleV, min: '9.0', max: maxKnownAndSupportedGradleVersion); } // Check if versions are newer than the max known versions. if (isWithinVersionRange(agpV, min: maxKnownAndSupportedAgpVersion, max: '100.100')) { // Assume versions we do not know about are valid but log. - final bool validGradle = isWithinVersionRange(gradleV, min: '8.0', max: '100.00'); + final bool validGradle = isWithinVersionRange(gradleV, min: '9.1.0', max: '100.00'); logger.printTrace( 'Newer than known AGP version ($agpV), gradle ($gradleV).' '\n Treating as valid configuration.', @@ -753,6 +761,33 @@ bool validateGradleAndAgp(Logger logger, {required String? gradleV, required Str } // Begin Known Gradle <-> AGP validation. + if (isWithinVersionRange(agpV, min: '8.13.0', max: '8.13.99')) { + return isWithinVersionRange(gradleV, min: '8.13', max: maxKnownAndSupportedGradleVersion); + } + if (isWithinVersionRange(agpV, min: '8.12.0', max: '8.12.99')) { + return isWithinVersionRange(gradleV, min: '8.13', max: maxKnownAndSupportedGradleVersion); + } + if (isWithinVersionRange(agpV, min: '8.11.0', max: '8.11.99')) { + return isWithinVersionRange(gradleV, min: '8.13', max: maxKnownAndSupportedGradleVersion); + } + if (isWithinVersionRange(agpV, min: '8.10.0', max: '8.10.99')) { + return isWithinVersionRange(gradleV, min: '8.11.1', max: maxKnownAndSupportedGradleVersion); + } + if (isWithinVersionRange(agpV, min: '8.9.0', max: '8.9.99')) { + return isWithinVersionRange(gradleV, min: '8.11.1', max: maxKnownAndSupportedGradleVersion); + } + if (isWithinVersionRange(agpV, min: '8.8.0', max: '8.8.99')) { + return isWithinVersionRange(gradleV, min: '8.10.2', max: maxKnownAndSupportedGradleVersion); + } + if (isWithinVersionRange(agpV, min: '8.7.0', max: '8.7.99')) { + return isWithinVersionRange(gradleV, min: '8.9', max: maxKnownAndSupportedGradleVersion); + } + if (isWithinVersionRange(agpV, min: '8.6.0', max: '8.6.99')) { + return isWithinVersionRange(gradleV, min: '8.7', max: maxKnownAndSupportedGradleVersion); + } + if (isWithinVersionRange(agpV, min: '8.5.0', max: '8.5.99')) { + return isWithinVersionRange(gradleV, min: '8.7', max: maxKnownAndSupportedGradleVersion); + } if (isWithinVersionRange(agpV, min: '8.4.0', max: '8.4.99')) { return isWithinVersionRange(gradleV, min: '8.6', max: maxKnownAndSupportedGradleVersion); } @@ -872,7 +907,12 @@ bool validateJavaAndGradle( max: data.javaMax, inclusiveMax: false, )) { - return isWithinVersionRange(gradleVersion, min: data.gradleMin, max: data.gradleMax); + // Null max value should be treated as unbounded on the max side. + return isWithinVersionRange( + gradleVersion, + min: data.gradleMin, + max: data.gradleMax ?? '100.100', + ); } } @@ -990,7 +1030,7 @@ VersionRange getJavaVersionFor({required String gradleV, required String agpV}) /// Returns the Gradle version that is required by the given Android Gradle plugin version /// by picking the largest compatible version from /// https://developer.android.com/studio/releases/gradle-plugin#updating-gradle -String getGradleVersionFor(String androidPluginVersion) { +String getGradleVersionFor(String agpV) { final compatList = [ GradleForAgp(agpMin: '1.0.0', agpMax: '1.1.3', minRequiredGradle: '2.3'), GradleForAgp(agpMin: '1.2.0', agpMax: '1.3.1', minRequiredGradle: '2.9'), @@ -1016,7 +1056,12 @@ String getGradleVersionFor(String androidPluginVersion) { GradleForAgp(agpMin: '8.7.0', agpMax: '8.7.99', minRequiredGradle: '8.9'), GradleForAgp(agpMin: '8.8.0', agpMax: '8.8.99', minRequiredGradle: '8.10.2'), GradleForAgp(agpMin: '8.9.0', agpMax: '8.9.99', minRequiredGradle: '8.11.1'), - // Assume if AGP is newer than this code know about return the highest gradle + GradleForAgp(agpMin: '8.10.0', agpMax: '8.10.99', minRequiredGradle: '8.11.1'), + GradleForAgp(agpMin: '8.11.0', agpMax: '8.11.99', minRequiredGradle: '8.13'), + GradleForAgp(agpMin: '8.12.0', agpMax: '8.12.99', minRequiredGradle: '8.13'), + GradleForAgp(agpMin: '8.13.0', agpMax: '8.13.99', minRequiredGradle: '8.13'), + GradleForAgp(agpMin: '9.0', agpMax: '9.0.99', minRequiredGradle: '9.0.0'), + // Assume if AGP is newer than this code knows about return the highest gradle // version we know about. GradleForAgp( agpMin: maxKnownAgpVersion, @@ -1025,14 +1070,14 @@ String getGradleVersionFor(String androidPluginVersion) { ), ]; for (final data in compatList) { - if (isWithinVersionRange(androidPluginVersion, min: data.agpMin, max: data.agpMax)) { + if (isWithinVersionRange(agpV, min: data.agpMin, max: data.agpMax)) { return data.minRequiredGradle; } } - if (isWithinVersionRange(androidPluginVersion, min: maxKnownAgpVersion, max: '100.100')) { + if (isWithinVersionRange(agpV, min: maxKnownAgpVersion, max: '100.100')) { return maxKnownAndSupportedGradleVersion; } - throwToolExit('Unsupported Android Plugin version: $androidPluginVersion.'); + throwToolExit('Unsupported Android Plugin version: $agpV.'); } /// Overwrite local.properties in the specified Flutter project's Android @@ -1128,19 +1173,20 @@ void exitWithNoSdkMessage() { // // The [javaMax] is exclusive in terms of supporting the noted [gradleMin], // whereas [javaMin] is inclusive. +// Gradle Max is not required and when unset should mean unbound. @immutable class JavaGradleCompat { const JavaGradleCompat({ required this.javaMin, required this.javaMax, required this.gradleMin, - required this.gradleMax, + this.gradleMax, }); final String javaMin; final String javaMax; final String gradleMin; - final String gradleMax; + final String? gradleMax; @override bool operator ==(Object other) => @@ -1152,6 +1198,11 @@ class JavaGradleCompat { @override int get hashCode => Object.hash(javaMin, javaMax, gradleMin, gradleMax); + + @override + String toString() { + return '$javaMin, $javaMax, $gradleMin, $gradleMax'; + } } // Data class to hold defined Java <-> AGP compatibility criteria. @@ -1207,48 +1258,15 @@ String getGradlewFileName(Platform platform) { /// of Gradle, as https://docs.gradle.org/current/userguide/compatibility.html /// details. var _javaGradleCompatList = const [ - JavaGradleCompat( - javaMin: '23', - javaMax: '24', - gradleMin: '8.10', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - JavaGradleCompat( - javaMin: '22', - javaMax: '23', - gradleMin: '8.7', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - JavaGradleCompat( - javaMin: '21', - javaMax: '22', - gradleMin: '8.4', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - JavaGradleCompat( - javaMin: '20', - javaMax: '21', - gradleMin: '8.1', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - JavaGradleCompat( - javaMin: '19', - javaMax: '20', - gradleMin: '7.6', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - JavaGradleCompat( - javaMin: '18', - javaMax: '19', - gradleMin: '7.5', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - JavaGradleCompat( - javaMin: '17', - javaMax: '18', - gradleMin: '7.3', - gradleMax: maxKnownAndSupportedGradleVersion, - ), + JavaGradleCompat(javaMin: '25', javaMax: '26', gradleMin: '9.1.0'), + JavaGradleCompat(javaMin: '24', javaMax: '25', gradleMin: '8.14'), + JavaGradleCompat(javaMin: '23', javaMax: '24', gradleMin: '8.10'), + JavaGradleCompat(javaMin: '22', javaMax: '23', gradleMin: '8.7'), + JavaGradleCompat(javaMin: '21', javaMax: '22', gradleMin: '8.4'), + JavaGradleCompat(javaMin: '20', javaMax: '21', gradleMin: '8.1'), + JavaGradleCompat(javaMin: '19', javaMax: '20', gradleMin: '7.6'), + JavaGradleCompat(javaMin: '18', javaMax: '19', gradleMin: '7.5'), + JavaGradleCompat(javaMin: '17', javaMax: '18', gradleMin: '7.3'), JavaGradleCompat( javaMin: '16', javaMax: '17', diff --git a/packages/flutter_tools/lib/src/android/java.dart b/packages/flutter_tools/lib/src/android/java.dart index 2b34b47cca11d..a741041033630 100644 --- a/packages/flutter_tools/lib/src/android/java.dart +++ b/packages/flutter_tools/lib/src/android/java.dart @@ -152,7 +152,7 @@ class Java { /// This map should be used as the environment when invoking any Java-dependent /// processes, such as Gradle or Android SDK tools (avdmanager, sdkmanager, etc.) Map get environment => { - if (javaHome != null) javaHomeEnvironmentVariable: javaHome!, + javaHomeEnvironmentVariable: ?javaHome, 'PATH': _fileSystem.path.dirname(binaryPath) + _os.pathVarSeparator + diff --git a/packages/flutter_tools/lib/src/android/migrations/min_sdk_version_migration.dart b/packages/flutter_tools/lib/src/android/migrations/min_sdk_version_migration.dart index 56433278cfe35..1039eb1ed7859 100644 --- a/packages/flutter_tools/lib/src/android/migrations/min_sdk_version_migration.dart +++ b/packages/flutter_tools/lib/src/android/migrations/min_sdk_version_migration.dart @@ -15,6 +15,12 @@ import '../gradle_utils.dart'; @visibleForTesting const replacementMinSdkText = 'minSdkVersion flutter.minSdkVersion'; +@visibleForTesting +const groovyReplacementWithEquals = 'minSdkVersion = flutter.minSdkVersion'; + +@visibleForTesting +const kotlinReplacementMinSdkText = 'minSdk = flutter.minSdkVersion'; + @visibleForTesting const appGradleNotFoundWarning = 'Module level build.gradle file not found, skipping minSdkVersion migration.'; @@ -40,6 +46,14 @@ class MinSdkVersionMigration extends ProjectMigrator { @override String migrateFileContents(String fileContents) { - return fileContents.replaceAll(tooOldMinSdkVersionMatch, replacementMinSdkText); + if (_project.appGradleFile.path.endsWith('.kts')) { + // For Kotlin Gradle files, only the equals syntax is valid and we should use 'minSdk'. + return fileContents.replaceAll(tooOldMinSdkVersionEqualsMatch, kotlinReplacementMinSdkText); + } + + // For Groovy Gradle files, both space and equals syntax are valid, and the property name is 'minSdkVersion'. + return fileContents + .replaceAll(tooOldMinSdkVersionSpaceMatch, replacementMinSdkText) + .replaceAll(tooOldMinSdkVersionEqualsMatch, groovyReplacementWithEquals); } } diff --git a/packages/flutter_tools/lib/src/asset.dart b/packages/flutter_tools/lib/src/asset.dart index 393f882f38183..805496f1e4a37 100644 --- a/packages/flutter_tools/lib/src/asset.dart +++ b/packages/flutter_tools/lib/src/asset.dart @@ -25,6 +25,84 @@ import 'license_collector.dart'; import 'package_graph.dart'; import 'project.dart'; +class FlutterHookResult { + const FlutterHookResult({ + required this.buildStart, + required this.buildEnd, + required this.dataAssets, + required this.dependencies, + }); + + FlutterHookResult.empty() + : this( + buildStart: DateTime.fromMillisecondsSinceEpoch(0), + buildEnd: DateTime.fromMillisecondsSinceEpoch(0), + dataAssets: [], + dependencies: [], + ); + + final List dataAssets; + + /// The timestamp at which we start a build - so the timestamp of the inputs. + final DateTime buildStart; + + /// The timestamp at which we finish a build - so the timestamp of the + /// outputs. + final DateTime buildEnd; + + /// The dependencies of the build are used to check if the build needs to be + /// rerun. + final List dependencies; + + /// Whether caller may need to re-run the Dart build. + bool hasAnyModifiedFiles(FileSystem fileSystem) => + _wasAnyFileModifiedSince(fileSystem, buildStart, dependencies); + + /// Whether the files produced by the build are up-to-date. + /// + /// NOTICE: The build itself may be up-to-date but the output may not be (as + /// the output may be existing on disc and not be produced by the build + /// itself - in which case we may not need to re-build if the file changes, + /// but we may need to make a new asset bundle with the modified file). + bool isOutputDirty(FileSystem fileSystem) => _wasAnyFileModifiedSince( + fileSystem, + buildEnd, + dataAssets.map((HookAsset e) => e.file).toList(), + ); + + static bool _wasAnyFileModifiedSince(FileSystem fileSystem, DateTime since, List uris) { + for (final uri in uris) { + final DateTime modified = fileSystem.statSync(uri.toFilePath()).modified; + if (modified.isAfter(since)) { + return true; + } + } + return false; + } + + @override + String toString() { + return dataAssets.toString(); + } +} + +/// A convenience class to wrap native assets +/// +/// When translating from a `DartHooksResult` to a [FlutterHookResult], where we +/// need to have different classes to not import `isolated/` stuff. +class HookAsset { + HookAsset({required this.file, required this.name, required this.package}); + + final Uri file; + final String name; + final String package; + + @override + String toString() { + return 'HookAsset(file: $file, name: $name, package: $package)'; + } +} + const defaultManifestPath = 'pubspec.yaml'; const kFontManifestJson = 'FontManifest.json'; @@ -50,7 +128,7 @@ const kMaterialFonts = >[ }, ]; -const kMaterialShaders = ['shaders/ink_sparkle.frag']; +const kMaterialShaders = ['shaders/ink_sparkle.frag', 'shaders/stretch_effect.frag']; /// Injected factory class for spawning [AssetBundle] instances. abstract class AssetBundleFactory { @@ -113,6 +191,7 @@ abstract class AssetBundle { /// Returns 0 for success; non-zero for failure. Future build({ + FlutterHookResult? flutterHookResult, String manifestPath = defaultManifestPath, required String packageConfigPath, bool deferredComponentsEnabled = false, @@ -163,7 +242,8 @@ class ManifestAssetBundle implements AssetBundle { _platform = platform, _flutterRoot = flutterRoot, _splitDeferredAssets = splitDeferredAssets, - _licenseCollector = LicenseCollector(fileSystem: fileSystem); + _licenseCollector = LicenseCollector(fileSystem: fileSystem), + _lastHookResult = FlutterHookResult.empty(); final Logger _logger; final FileSystem _fileSystem; @@ -188,6 +268,8 @@ class ManifestAssetBundle implements AssetBundle { DateTime? _lastBuildTimestamp; + FlutterHookResult _lastHookResult; + // We assume the main asset is designed for a device pixel ratio of 1.0. static const _kAssetManifestBinFilename = 'AssetManifest.bin'; static const _kAssetManifestBinJsonFilename = 'AssetManifest.bin.json'; @@ -206,13 +288,19 @@ class ManifestAssetBundle implements AssetBundle { @override bool needsBuild({String manifestPath = defaultManifestPath}) { - final DateTime? lastBuildTimestamp = _lastBuildTimestamp; - if (lastBuildTimestamp == null) { + if (!wasBuiltOnce() || + // We need to re-run the Dart build. + _lastHookResult.hasAnyModifiedFiles(_fileSystem) || + // We don't have to re-run the Dart build, but some files the Dart build + // wants us to bundle have changed contents. + _lastHookResult.isOutputDirty(_fileSystem)) { return true; } + final DateTime lastBuildTimestamp = _lastBuildTimestamp!; final FileStat manifestStat = _fileSystem.file(manifestPath).statSync(); - if (manifestStat.type == FileSystemEntityType.notFound) { + if (manifestStat.type == FileSystemEntityType.notFound || + manifestStat.modified.isAfter(lastBuildTimestamp)) { return true; } @@ -221,18 +309,19 @@ class ManifestAssetBundle implements AssetBundle { return true; // directory was deleted. } for (final File file in directory.listSync().whereType()) { - final DateTime dateTime = file.statSync().modified; - if (dateTime.isAfter(lastBuildTimestamp)) { + final DateTime lastModified = file.statSync().modified; + if (lastModified.isAfter(lastBuildTimestamp)) { return true; } } } - return manifestStat.modified.isAfter(lastBuildTimestamp); + return false; } @override Future build({ + FlutterHookResult? flutterHookResult, String manifestPath = defaultManifestPath, FlutterProject? flutterProject, required String packageConfigPath, @@ -256,6 +345,7 @@ class ManifestAssetBundle implements AssetBundle { // hang on hot reload, as the incremental dill files will never be copied to the // device. _lastBuildTimestamp = DateTime.now(); + _lastHookResult = flutterHookResult ?? FlutterHookResult.empty(); if (flutterManifest.isEmpty) { final ByteData emptyAssetManifest = const StandardMessageCodec().encodeMessage( {}, @@ -418,9 +508,29 @@ class ManifestAssetBundle implements AssetBundle { ); } } + for (final HookAsset dataAsset in flutterHookResult?.dataAssets ?? []) { + final Package package = packageConfig[dataAsset.package]!; + final Uri fileUri = dataAsset.file; + + final String filePath = fileUri.toFilePath(); + + final asset = _Asset( + baseDir: _fileSystem.path.dirname(filePath), + relativeUri: Uri(path: _fileSystem.path.basename(filePath)), + entryUri: Uri.parse(_fileSystem.path.join('packages', dataAsset.package, dataAsset.name)), + package: package, + ); + if (assetVariants.containsKey(asset)) { + _logger.printError( + 'Conflicting assets: The asset "$asset" was declared in the pubspec and the hook.', + ); + return 1; + } + assetVariants[asset] = <_Asset>[asset]; + } // Save the contents of each image, image variant, and font - // asset in entries. + // asset in [entries]. for (final _Asset asset in assetVariants.keys) { final File assetFile = asset.lookupAssetFile(_fileSystem); final List<_Asset> variants = assetVariants[asset]!; @@ -1015,18 +1125,11 @@ class ManifestAssetBundle implements AssetBundle { required List transformers, }) { final String directoryPath; - try { - directoryPath = _fileSystem.path.join( - assetBase, - assetUri.toFilePath(windows: _platform.isWindows), - ); - } on UnsupportedError catch (e) { - throwToolExit( - 'Unable to search for asset files in directory path "${assetUri.path}". ' - 'Please ensure that this entry in pubspec.yaml is a valid file path.\n' - 'Error details:\n$e', - ); - } + _ensureAssetPathIsValid(assetsBaseDir: assetBase, assetUri: assetUri); + directoryPath = _fileSystem.path.join( + assetBase, + assetUri.toFilePath(windows: _platform.isWindows), + ); if (!_fileSystem.directory(directoryPath).existsSync()) { _logger.printError('Error: unable to find directory entry in pubspec.yaml: $directoryPath'); @@ -1182,6 +1285,27 @@ class ManifestAssetBundle implements AssetBundle { throwToolExit(errorMessage.toString()); } + void _ensureAssetPathIsValid({required String assetsBaseDir, required Uri assetUri}) { + if (!assetUri.isScheme('file') && assetUri.scheme.isNotEmpty) { + throwToolExit( + 'Asset path "$assetUri" has scheme "${assetUri.scheme}" and is not a valid file or ' + 'directory path. Please update this entry in the pubspec.yaml to point to a valid file ' + 'path.', + ); + } + if (Uri.directory( + assetsBaseDir, + windows: _platform.isWindows, + ).resolveUri(assetUri).toFilePath(windows: _platform.isWindows) == + assetUri.toFilePath(windows: _platform.isWindows)) { + throwToolExit( + '"${assetUri.toFilePath(windows: _platform.isWindows)}" is not a valid asset path. ' + 'Asset paths must be relative to the location of pubspec.yaml. Please update this entry ' + 'in the pubspec.yaml to use a relative path.', + ); + } + } + _Asset _resolveAsset( PackageConfig packageConfig, String assetsBaseDir, @@ -1193,9 +1317,11 @@ class ManifestAssetBundle implements AssetBundle { required Set flavors, required List transformers, }) { - final String assetPath = _fileSystem.path.fromUri(assetUri); + _ensureAssetPathIsValid(assetsBaseDir: assetsBaseDir, assetUri: assetUri); if (assetUri.pathSegments.first == 'packages' && - !_fileSystem.isFileSync(_fileSystem.path.join(assetsBaseDir, assetPath))) { + !_fileSystem.isFileSync( + _fileSystem.path.join(assetsBaseDir, _fileSystem.path.fromUri(assetUri)), + )) { // The asset is referenced in the pubspec.yaml as // 'packages/PACKAGE_NAME/PATH/TO/ASSET . final _Asset? packageAsset = _resolvePackageAsset( diff --git a/packages/flutter_tools/lib/src/base/dds.dart b/packages/flutter_tools/lib/src/base/dds.dart index 1a9cb3537e6b4..6e99b22fb678d 100644 --- a/packages/flutter_tools/lib/src/base/dds.dart +++ b/packages/flutter_tools/lib/src/base/dds.dart @@ -4,15 +4,20 @@ import 'dart:async'; +import 'package:browser_launcher/browser_launcher.dart'; import 'package:dds/dds.dart'; import 'package:dds/dds_launcher.dart'; import 'package:meta/meta.dart'; import '../artifacts.dart'; +import '../build_info.dart'; import '../device.dart'; import '../globals.dart' as globals; +import '../resident_runner.dart'; +import '../vmservice.dart'; import 'io.dart' as io; import 'logger.dart'; +import 'utils.dart'; export 'package:dds/dds.dart' show DartDevelopmentServiceException, ExistingDartDevelopmentServiceException; @@ -42,12 +47,19 @@ class DartDevelopmentService with DartDevelopmentServiceLocalOperationsMixin { DartDevelopmentServiceLauncher? _ddsInstance; + @override Uri? get uri => _ddsInstance?.uri ?? _existingDdsUri; Uri? _existingDdsUri; + @override + Uri? get devToolsUri => _ddsInstance?.devToolsUri; + + Uri? get dtdUri => _ddsInstance?.dtdUri; + Future get done => _completer.future; final _completer = Completer(); + @override final Logger _logger; @override @@ -85,6 +97,7 @@ class DartDevelopmentService with DartDevelopmentServiceLocalOperationsMixin { enableAuthCodes: disableServiceAuthCodes != true, // Enables caching of CPU samples collected during application startup. cachedUserTags: cacheStartupProfile ? const ['AppStartUp'] : const [], + serveDevTools: enableDevTools, devToolsServerAddress: devToolsServerAddress, google3WorkspaceRoot: google3WorkspaceRoot, dartExecutable: globals.artifacts!.getArtifactPath(Artifact.engineDartBinary), @@ -106,6 +119,15 @@ class DartDevelopmentService with DartDevelopmentServiceLocalOperationsMixin { /// Contains common functionality that can be used with any implementation of /// [DartDevelopmentService]. mixin DartDevelopmentServiceLocalOperationsMixin { + Uri? get uri; + Uri? get devToolsUri; + Logger get _logger; + + /// Used to confirm `launchDevToolsInBrowser` is called in tests. + @visibleForTesting + bool get calledLaunchDevToolsInBrowser => _calledLaunchDevToolsInBrowser; + var _calledLaunchDevToolsInBrowser = false; + Future startDartDevelopmentService( Uri vmServiceUri, { int? ddsPort, @@ -132,4 +154,118 @@ mixin DartDevelopmentServiceLocalOperationsMixin { google3WorkspaceRoot: debuggingOptions.google3WorkspaceRoot, devToolsServerAddress: debuggingOptions.devToolsServerAddress, ); + + /// Launches a DevTools instance connected to the DDS instance connected to + /// [device] in Chrome. + bool launchDevToolsInBrowser(FlutterDevice device) { + _calledLaunchDevToolsInBrowser = true; + if (devToolsUri == null) { + return false; + } + assert(devToolsUri != null); + _logger.printStatus('Launching Flutter DevTools for ${device.device!.name} at $devToolsUri'); + unawaited(Chrome.start([devToolsUri!.toString()])); + return true; + } + + /// Re-initializes Flutter framework service extension state after a hot + /// restart. + Future handleHotRestart(FlutterDevice? device) => invokeServiceExtensions(device); + + /// Initializes Flutter framework service extension state related to DevTools + /// and VM service connection information. + Future invokeServiceExtensions(FlutterDevice? device) async { + await Future.wait(>[ + maybeCallDevToolsUriServiceExtension(device: device, uri: devToolsUri), + _callConnectedVmServiceUriExtension(device), + ]); + } + + /// Returns null if the service extension cannot be found on the device. + Future _waitForExtensionsForDevice(FlutterDevice flutterDevice, String extension) async { + try { + await flutterDevice.vmService?.findExtensionIsolate(extension); + return true; + } on VmServiceDisappearedException { + _logger.printTrace( + 'The VM Service for ${flutterDevice.device} disappeared while trying to' + ' find the $extension service extension. Skipping subsequent DevTools ' + 'setup for this device.', + ); + return false; + } + } + + /// Sets the DevTools URI in the Flutter framework, used for deep linking + /// support. + Future maybeCallDevToolsUriServiceExtension({ + required FlutterDevice? device, + required Uri? uri, + }) async { + if (uri != null && device?.vmService != null) { + // We're only setting the URI pointing to where DevTools is being served from. Don't include + // any query parameters, including those used to automatically connect to the application. + if (uri.hasQuery) { + uri = uri.withoutQueryParameters(); + } + await _callDevToolsUriExtension(device!, uri); + } + } + + Future _callDevToolsUriExtension(FlutterDevice device, Uri uri) async { + try { + await _invokeRpcOnFirstView( + 'ext.flutter.activeDevToolsServerAddress', + device: device, + params: {'value': uri.toString()}, + ); + } on Exception catch (e) { + _logger.printError( + 'Failed to set DevTools server address: $e. Deep links to' + ' DevTools will not show in Flutter errors.', + ); + } + } + + Future _callConnectedVmServiceUriExtension(FlutterDevice? device) async { + if (device == null || uri == null) { + return; + } + try { + await _invokeRpcOnFirstView( + 'ext.flutter.connectedVmServiceUri', + device: device, + params: {'value': uri.toString()}, + ); + } on Exception catch (e) { + _logger.printError(e.toString()); + _logger.printError( + 'Failed to set vm service URI: $e. Deep links to DevTools' + ' will not show in Flutter errors.', + ); + } + } + + Future _invokeRpcOnFirstView( + String method, { + required FlutterDevice device, + required Map params, + }) async { + if (!(await _waitForExtensionsForDevice(device, method))) { + return; + } + if (device.targetPlatform == TargetPlatform.web_javascript) { + await device.vmService!.callMethodWrapper(method, args: params); + return; + } + final List views = await device.vmService!.getFlutterViews(); + if (views.isEmpty) { + return; + } + await device.vmService!.invokeFlutterExtensionRpcRaw( + method, + args: params, + isolateId: views.first.uiIsolate!.id, + ); + } } diff --git a/packages/flutter_tools/lib/src/base/process.dart b/packages/flutter_tools/lib/src/base/process.dart index e37acdd79e125..5e8fabf119c58 100644 --- a/packages/flutter_tools/lib/src/base/process.dart +++ b/packages/flutter_tools/lib/src/base/process.dart @@ -28,6 +28,9 @@ typedef ShutdownHook = FutureOr Function(); abstract class ShutdownHooks { factory ShutdownHooks() = _DefaultShutdownHooks; + /// Indicates whether the shutdown hooks have been run. + bool get isShuttingDown; + /// Registers a [ShutdownHook] to be executed before the VM exits. void addShutdownHook(ShutdownHook shutdownHook); @@ -53,6 +56,10 @@ class _DefaultShutdownHooks implements ShutdownHooks { @override final registeredHooks = []; + @override + bool get isShuttingDown => _isShuttingDown; + var _isShuttingDown = false; + var _shutdownHooksRunning = false; @override @@ -63,6 +70,10 @@ class _DefaultShutdownHooks implements ShutdownHooks { @override Future runShutdownHooks(Logger logger) async { + if (_isShuttingDown) { + return; + } + _isShuttingDown = true; logger.printTrace( 'Running ${registeredHooks.length} shutdown hook${registeredHooks.length == 1 ? '' : 's'}', ); diff --git a/packages/flutter_tools/lib/src/base/utils.dart b/packages/flutter_tools/lib/src/base/utils.dart index 1e6bde63911fa..043a80143c1c9 100644 --- a/packages/flutter_tools/lib/src/base/utils.dart +++ b/packages/flutter_tools/lib/src/base/utils.dart @@ -573,3 +573,10 @@ extension DurationAgo on Duration { return '$inMinutes minutes ago'; } } + +extension UriExtension on Uri { + /// Returns this [Uri] with its query parameters removed. + Uri withoutQueryParameters() { + return Uri(scheme: scheme, userInfo: userInfo, host: host, port: port, path: this.path); + } +} diff --git a/packages/flutter_tools/lib/src/build_info.dart b/packages/flutter_tools/lib/src/build_info.dart index b94cd02ceb673..b59d4b3912bcd 100644 --- a/packages/flutter_tools/lib/src/build_info.dart +++ b/packages/flutter_tools/lib/src/build_info.dart @@ -313,18 +313,18 @@ class BuildInfo { kBuildMode: mode.cliName, if (dartDefines.isNotEmpty) kDartDefines: encodeDartDefines(dartDefines), kDartObfuscation: dartObfuscation.toString(), - if (frontendServerStarterPath != null) kFrontendServerStarterPath: frontendServerStarterPath!, + kFrontendServerStarterPath: ?frontendServerStarterPath, if (extraFrontEndOptions.isNotEmpty) kExtraFrontEndOptions: extraFrontEndOptions.join(','), if (extraGenSnapshotOptions.isNotEmpty) kExtraGenSnapshotOptions: extraGenSnapshotOptions.join(','), - if (splitDebugInfoPath != null) kSplitDebugInfo: splitDebugInfoPath!, + kSplitDebugInfo: ?splitDebugInfoPath, kTrackWidgetCreation: trackWidgetCreation.toString(), kIconTreeShakerFlag: treeShakeIcons.toString(), - if (codeSizeDirectory != null) kCodeSizeDirectory: codeSizeDirectory!, + kCodeSizeDirectory: ?codeSizeDirectory, if (fileSystemRoots.isNotEmpty) kFileSystemRoots: fileSystemRoots.join(','), - if (fileSystemScheme != null) kFileSystemScheme: fileSystemScheme!, - if (buildName != null) kBuildName: buildName!, - if (buildNumber != null) kBuildNumber: buildNumber!, + kFileSystemScheme: ?fileSystemScheme, + kBuildName: ?buildName, + kBuildNumber: ?buildNumber, if (useLocalCanvasKit) kUseLocalCanvasKitFlag: useLocalCanvasKit.toString(), }; } @@ -343,14 +343,14 @@ class BuildInfo { 'EXTRA_FRONT_END_OPTIONS': extraFrontEndOptions.join(','), if (extraGenSnapshotOptions.isNotEmpty) 'EXTRA_GEN_SNAPSHOT_OPTIONS': extraGenSnapshotOptions.join(','), - if (splitDebugInfoPath != null) 'SPLIT_DEBUG_INFO': splitDebugInfoPath!, + 'SPLIT_DEBUG_INFO': ?splitDebugInfoPath, 'TRACK_WIDGET_CREATION': trackWidgetCreation.toString(), 'TREE_SHAKE_ICONS': treeShakeIcons.toString(), if (performanceMeasurementFile != null) 'PERFORMANCE_MEASUREMENT_FILE': performanceMeasurementFile!, 'PACKAGE_CONFIG': packageConfigPath, - if (codeSizeDirectory != null) 'CODE_SIZE_DIRECTORY': codeSizeDirectory!, - if (flavor != null) 'FLAVOR': flavor!, + 'CODE_SIZE_DIRECTORY': ?codeSizeDirectory, + 'FLAVOR': ?flavor, }; } @@ -389,7 +389,6 @@ class AndroidBuildInfo { AndroidArch.x86_64, ], this.splitPerAbi = false, - this.fastStart = false, }); // The build info containing the mode and flavor. @@ -404,9 +403,6 @@ class AndroidBuildInfo { /// The target platforms for the build. final Iterable targetArchs; - - /// Whether to bootstrap an empty application. - final bool fastStart; } /// A summary of the compilation strategy used for Dart. @@ -618,6 +614,35 @@ enum TargetPlatform { } } + String get osName { + switch (this) { + case TargetPlatform.linux_x64: + case TargetPlatform.linux_arm64: + return 'linux'; + case TargetPlatform.darwin: + return 'macos'; + case TargetPlatform.windows_x64: + case TargetPlatform.windows_arm64: + return 'windows'; + case TargetPlatform.android: + case TargetPlatform.android_arm: + case TargetPlatform.android_arm64: + case TargetPlatform.android_x64: + return 'android'; + case TargetPlatform.fuchsia_arm64: + case TargetPlatform.fuchsia_x64: + return 'fuchsia'; + case TargetPlatform.ios: + return 'ios'; + case TargetPlatform.tester: + return 'flutter-tester'; + case TargetPlatform.web_javascript: + return 'web'; + case TargetPlatform.unsupported: + throw UnsupportedError('Unexpected target platform $this'); + } + } + String get simpleName { switch (this) { case TargetPlatform.linux_x64: @@ -744,6 +769,12 @@ DarwinArch getDarwinArchForName(String arch) { }; } +List getDarwinArchsFromEnv(Map defines) { + const defaultDarwinArchitectures = [DarwinArch.x86_64, DarwinArch.arm64]; + return defines[kDarwinArchs]?.split(' ').map(getDarwinArchForName).toList() ?? + defaultDarwinArchitectures; +} + String getNameForTargetPlatform(TargetPlatform platform, {DarwinArch? darwinArch}) { return switch (platform) { TargetPlatform.ios when darwinArch != null => 'ios-${darwinArch.name}', @@ -983,20 +1014,6 @@ const kSdkRoot = 'SdkRoot'; /// Whether to enable Dart obfuscation and where to save the symbol map. const kDartObfuscation = 'DartObfuscation'; -/// Whether to enable Native Assets. -/// -/// If true, native assets are built and the mapping for native assets lookup -/// at runtime is embedded in the kernel file. -/// -/// If false, native assets are not built, and an empty mapping is embedded in -/// the kernel file. Used for targets that trigger kernel builds but -/// are not OS/architecture specific. -/// -/// Supported values are 'true' and 'false'. -/// -/// Defaults to 'true'. -const kNativeAssets = 'NativeAssets'; - /// An output directory where one or more code-size measurements may be written. const kCodeSizeDirectory = 'CodeSizeDirectory'; diff --git a/packages/flutter_tools/lib/src/build_system/build_system.dart b/packages/flutter_tools/lib/src/build_system/build_system.dart index 7b44ee6748368..0146558ea2332 100644 --- a/packages/flutter_tools/lib/src/build_system/build_system.dart +++ b/packages/flutter_tools/lib/src/build_system/build_system.dart @@ -227,7 +227,7 @@ abstract class Target { 'dependencies': [for (final Target target in dependencies) target.name], 'inputs': [for (final File file in resolveInputs(environment).sources) file.path], 'outputs': [for (final File file in resolveOutputs(environment).sources) file.path], - if (key != null) 'buildKey': key, + 'buildKey': ?key, 'stamp': _findStampFile(environment).absolute.path, }; } diff --git a/packages/flutter_tools/lib/src/build_system/targets/android.dart b/packages/flutter_tools/lib/src/build_system/targets/android.dart index c9cabad6571c1..d8140aeccd7f5 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/android.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/android.dart @@ -9,6 +9,7 @@ import '../../base/file_system.dart'; import '../../build_info.dart'; import '../../devfs.dart'; import '../../globals.dart' as globals show xcode; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../../project.dart'; import '../build_system.dart'; import '../depfile.dart'; @@ -70,9 +71,11 @@ abstract class AndroidAssetBundle extends Target { .file(isolateSnapshotData) .copySync(outputDirectory.childFile('isolate_snapshot_data').path); } + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); final Depfile assetDepfile = await copyAssets( environment, outputDirectory, + dartHookResult: dartHookResult, targetPlatform: TargetPlatform.android, buildMode: buildMode, flavor: environment.defines[kFlavor], @@ -89,7 +92,11 @@ abstract class AndroidAssetBundle extends Target { } @override - List get dependencies => const [KernelSnapshot(), InstallCodeAssets()]; + List get dependencies => const [ + DartBuildForNative(), + KernelSnapshot(), + InstallCodeAssets(), + ]; } /// An implementation of [AndroidAssetBundle] that includes dependencies on vm diff --git a/packages/flutter_tools/lib/src/build_system/targets/assets.dart b/packages/flutter_tools/lib/src/build_system/targets/assets.dart index 327aaf4a39aea..be7cef8103597 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/assets.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/assets.dart @@ -12,6 +12,7 @@ import '../../build_info.dart'; import '../../dart/package_map.dart'; import '../../devfs.dart'; import '../../flutter_manifest.dart'; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../build_system.dart'; import '../depfile.dart'; import '../exceptions.dart'; @@ -33,6 +34,7 @@ import 'native_assets.dart'; Future copyAssets( Environment environment, Directory outputDirectory, { + required DartHooksResult dartHookResult, Map additionalContent = const {}, required TargetPlatform targetPlatform, required BuildMode buildMode, @@ -48,6 +50,7 @@ Future copyAssets( splitDeferredAssets: buildMode != BuildMode.debug && buildMode != BuildMode.jitRelease, ).createBundle(); final int resultCode = await assetBundle.build( + flutterHookResult: dartHookResult.asFlutterResult, manifestPath: pubspecFile.path, packageConfigPath: findPackageConfigFileOrDefault(environment.projectDir).path, deferredComponentsEnabled: environment.defines[kDeferredComponents] == 'true', @@ -244,7 +247,11 @@ class CopyAssets extends Target { String get name => 'copy_assets'; @override - List get dependencies => const [KernelSnapshot(), InstallCodeAssets()]; + List get dependencies => const [ + DartBuildForNative(), + KernelSnapshot(), + InstallCodeAssets(), + ]; @override List get inputs => const [ @@ -270,9 +277,11 @@ class CopyAssets extends Target { final buildMode = BuildMode.fromCliName(buildModeEnvironment); final Directory output = environment.buildDir.childDirectory('flutter_assets'); output.createSync(recursive: true); + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); final Depfile depfile = await copyAssets( environment, output, + dartHookResult: dartHookResult, targetPlatform: TargetPlatform.android, buildMode: buildMode, flavor: environment.defines[kFlavor], diff --git a/packages/flutter_tools/lib/src/build_system/targets/common.dart b/packages/flutter_tools/lib/src/build_system/targets/common.dart index 1be5f6aff5a0a..63eb1c736e825 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/common.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/common.dart @@ -14,6 +14,7 @@ import '../../dart/package_map.dart'; import '../../darwin/darwin.dart'; import '../../devfs.dart'; import '../../globals.dart' as globals show xcode; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../../project.dart'; import '../build_system.dart'; import '../depfile.dart'; @@ -83,9 +84,11 @@ class CopyFlutterBundle extends Target { .file(isolateSnapshotData) .copySync(environment.outputDir.childFile('isolate_snapshot_data').path); } + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); final Depfile assetDepfile = await copyAssets( environment, environment.outputDir, + dartHookResult: dartHookResult, targetPlatform: TargetPlatform.android, buildMode: buildMode, flavor: flavor, @@ -102,7 +105,11 @@ class CopyFlutterBundle extends Target { } @override - List get dependencies => const [KernelSnapshot(), InstallCodeAssets()]; + List get dependencies => const [ + DartBuildForNative(), + KernelSnapshot(), + InstallCodeAssets(), + ]; } /// Copies the pre-built flutter bundle for release mode. diff --git a/packages/flutter_tools/lib/src/build_system/targets/hook_runner_native.dart b/packages/flutter_tools/lib/src/build_system/targets/hook_runner_native.dart new file mode 100644 index 0000000000000..6103018621aa7 --- /dev/null +++ b/packages/flutter_tools/lib/src/build_system/targets/hook_runner_native.dart @@ -0,0 +1,49 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import '../../asset.dart'; +import '../../base/logger.dart' show Logger; +import '../../build_info.dart'; +import '../../globals.dart' as globals; +import '../../hook_runner.dart' show FlutterHookRunner; +import '../../isolated/native_assets/dart_hook_result.dart' show DartHooksResult; +import '../build_system.dart' show BuildResult, Environment, ExceptionMeasurement; +import 'native_assets.dart' show DartBuild; + +class FlutterHookRunnerNative implements FlutterHookRunner { + FlutterHookResult? _flutterHookResult; + + @override + Future runHooks({ + required TargetPlatform targetPlatform, + required Environment environment, + Logger? logger, + }) async { + logger?.printTrace('runHooks() with ${environment.defines} and $targetPlatform'); + if (_flutterHookResult != null && !_flutterHookResult!.hasAnyModifiedFiles(globals.fs)) { + logger?.printTrace('runHooks() - up-to-date already'); + return _flutterHookResult!; + } + logger?.printTrace('runHooks() - will perform dart build'); + + final BuildResult lastBuild = await globals.buildSystem.build( + DartBuild(specifiedTargetPlatform: targetPlatform), + environment, + ); + if (!lastBuild.success) { + for (final ExceptionMeasurement exceptionMeasurement in lastBuild.exceptions.values) { + logger?.printError( + exceptionMeasurement.exception.toString(), + stackTrace: logger.isVerbose ? exceptionMeasurement.stackTrace : null, + ); + } + } + + final DartHooksResult dartHooksResult = await DartBuild.loadHookResult(environment); + final FlutterHookResult flutterHookResult = dartHooksResult.asFlutterResult; + _flutterHookResult = flutterHookResult; + logger?.printTrace('runHooks() - done'); + return flutterHookResult; + } +} diff --git a/packages/flutter_tools/lib/src/build_system/targets/ios.dart b/packages/flutter_tools/lib/src/build_system/targets/ios.dart index 9fa5f9882ef32..b9d8058dfd215 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/ios.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/ios.dart @@ -18,6 +18,7 @@ import '../../darwin/darwin.dart'; import '../../devfs.dart'; import '../../globals.dart' as globals; import '../../ios/mac.dart'; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../../macos/xcode.dart'; import '../../project.dart'; import '../build_system.dart'; @@ -571,24 +572,25 @@ class DebugIosLLDBInit extends Target { // Also, this cannot check for a specific path/name for the LLDB Init File // since Flutter's LLDB Init file may be imported from within a user's // custom LLDB Init File. - var anyLLDBInitFound = false; - await for (final FileSystemEntity entity in xcodeProjectDir.list(recursive: true)) { - if (environment.fileSystem.path.extension(entity.path) == '.xcscheme' && entity is File) { - if (entity.readAsStringSync().contains('customLLDBInitFile')) { - anyLLDBInitFound = true; - break; + final FlutterProject flutterProject = FlutterProject.fromDirectory(environment.projectDir); + if (flutterProject.isModule) { + var anyLLDBInitFound = false; + await for (final FileSystemEntity entity in xcodeProjectDir.list(recursive: true)) { + if (environment.fileSystem.path.extension(entity.path) == '.xcscheme' && entity is File) { + if (entity.readAsStringSync().contains('customLLDBInitFile')) { + anyLLDBInitFound = true; + break; + } } } - } - if (!anyLLDBInitFound) { - final FlutterProject flutterProject = FlutterProject.fromDirectory(environment.projectDir); - final tab = flutterProject.isModule ? 'Use CocoaPods' : 'Use frameworks'; - printXcodeWarning( - 'Debugging Flutter on new iOS versions requires an LLDB Init File. To ' - 'ensure debug mode works, please complete instructions found in ' - '"Embed a Flutter module in your iOS app > $tab > Set LLDB Init File" ' - 'section of https://docs.flutter.dev/to/ios-add-to-app-embed-setup.', - ); + if (!anyLLDBInitFound) { + printXcodeWarning( + 'Debugging Flutter on new iOS versions requires an LLDB Init File. To ' + 'ensure debug mode works, please complete instructions found in ' + '"Embed a Flutter module in your iOS app > Use CocoaPods > Set LLDB Init File" ' + 'section of https://docs.flutter.dev/to/ios-add-to-app-embed-setup.', + ); + } } return; } @@ -609,6 +611,7 @@ abstract class IosAssetBundle extends Target { KernelSnapshot(), InstallCodeAssets(), _IssueLaunchRootViewControllerAccess(), + DartBuildForNative(), ]; @override @@ -695,9 +698,11 @@ abstract class IosAssetBundle extends Target { final String? flavor = await flutterProject.ios.parseFlavorFromConfiguration(environment); // Copy the assets. + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); final Depfile assetDepfile = await copyAssets( environment, assetDirectory, + dartHookResult: dartHookResult, targetPlatform: TargetPlatform.ios, buildMode: buildMode, additionalInputs: [ diff --git a/packages/flutter_tools/lib/src/build_system/targets/linux.dart b/packages/flutter_tools/lib/src/build_system/targets/linux.dart index 60932d0922134..eb346d674069f 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/linux.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/linux.dart @@ -7,6 +7,7 @@ import '../../base/file_system.dart'; import '../../build_info.dart'; import '../../convert.dart'; import '../../devfs.dart'; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../../project.dart'; import '../build_system.dart'; import '../depfile.dart'; @@ -93,6 +94,7 @@ abstract class BundleLinuxAssets extends Target { @override List get dependencies => [ + const DartBuildForNative(), const KernelSnapshot(), const InstallCodeAssets(), UnpackLinux(targetPlatform), @@ -127,9 +129,11 @@ abstract class BundleLinuxAssets extends Target { .copySync(outputDirectory.childFile('kernel_blob.bin').path); } final String versionInfo = getVersionInfo(environment.defines); + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); final Depfile depfile = await copyAssets( environment, outputDirectory, + dartHookResult: dartHookResult, targetPlatform: targetPlatform, buildMode: buildMode, additionalContent: { diff --git a/packages/flutter_tools/lib/src/build_system/targets/macos.dart b/packages/flutter_tools/lib/src/build_system/targets/macos.dart index 9860e8b271068..d4693d9952fc8 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/macos.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/macos.dart @@ -13,6 +13,7 @@ import '../../build_info.dart'; import '../../darwin/darwin.dart'; import '../../devfs.dart'; import '../../globals.dart' as globals show xcode; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../../project.dart'; import '../build_system.dart'; import '../depfile.dart'; @@ -206,9 +207,7 @@ class DebugMacOSFramework extends Target { environment.fileSystem.path.join(environment.buildDir.path, 'App.framework', 'App'), ); - final Iterable darwinArchs = - environment.defines[kDarwinArchs]?.split(' ').map(getDarwinArchForName) ?? - [DarwinArch.x86_64, DarwinArch.arm64]; + final Iterable darwinArchs = getDarwinArchsFromEnv(environment.defines); final Iterable darwinArchArguments = darwinArchs.expand( (DarwinArch arch) => ['-arch', arch.name], @@ -285,9 +284,7 @@ class CompileMacOSFramework extends Target { kExtraGenSnapshotOptions, ); final TargetPlatform targetPlatform = getTargetPlatformForName(targetPlatformEnvironment); - final List darwinArchs = - environment.defines[kDarwinArchs]?.split(' ').map(getDarwinArchForName).toList() ?? - [DarwinArch.x86_64, DarwinArch.arm64]; + final List darwinArchs = getDarwinArchsFromEnv(environment.defines); if (targetPlatform != TargetPlatform.darwin) { throw Exception('compile_macos_framework is only supported for darwin TargetPlatform.'); } @@ -377,6 +374,9 @@ class CompileMacOSFramework extends Target { abstract class MacOSBundleFlutterAssets extends Target { const MacOSBundleFlutterAssets(); + @override + List get dependencies => const [DartBuildForNative()]; + @override List get inputs => const [ Source.pattern('{BUILD_DIR}/App.framework/App'), @@ -438,9 +438,11 @@ abstract class MacOSBundleFlutterAssets extends Target { final FlutterProject flutterProject = FlutterProject.fromDirectory(environment.projectDir); final String? flavor = await flutterProject.macos.parseFlavorFromConfiguration(environment); + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); final Depfile assetDepfile = await copyAssets( environment, assetDirectory, + dartHookResult: dartHookResult, targetPlatform: TargetPlatform.darwin, buildMode: buildMode, flavor: flavor, @@ -560,11 +562,12 @@ class DebugMacOSBundleFlutterAssets extends MacOSBundleFlutterAssets { String get name => 'debug_macos_bundle_flutter_assets'; @override - List get dependencies => const [ - KernelSnapshot(), - DebugMacOSFramework(), - DebugUnpackMacOS(), - InstallCodeAssets(), + List get dependencies => [ + ...super.dependencies, + const KernelSnapshot(), + const DebugMacOSFramework(), + const DebugUnpackMacOS(), + const InstallCodeAssets(), ]; @override @@ -606,10 +609,11 @@ class ProfileMacOSBundleFlutterAssets extends MacOSBundleFlutterAssets { String get name => 'profile_macos_bundle_flutter_assets'; @override - List get dependencies => const [ - CompileMacOSFramework(), - InstallCodeAssets(), - ProfileUnpackMacOS(), + List get dependencies => [ + ...super.dependencies, + const CompileMacOSFramework(), + const InstallCodeAssets(), + const ProfileUnpackMacOS(), ]; @override diff --git a/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart b/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart index 4e12771aae04c..97aded9879dd6 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/native_assets.dart @@ -10,84 +10,85 @@ import '../../base/file_system.dart'; import '../../build_info.dart'; import '../../convert.dart'; import '../../dart/package_map.dart'; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../../isolated/native_assets/native_assets.dart'; import '../build_system.dart'; import '../depfile.dart'; -import '../exceptions.dart'; +import '../exceptions.dart' show MissingDefineException; /// Runs the dart build of the app. -abstract class DartBuild extends Target { - const DartBuild({@visibleForTesting FlutterNativeAssetsBuildRunner? buildRunner}) - : _buildRunner = buildRunner; +class DartBuild extends Target { + const DartBuild({ + @visibleForTesting FlutterNativeAssetsBuildRunner? buildRunner, + this.specifiedTargetPlatform, + }) : _buildRunner = buildRunner; final FlutterNativeAssetsBuildRunner? _buildRunner; + /// The target OS and architecture that we are building for. + final TargetPlatform? specifiedTargetPlatform; + @override Future build(Environment environment) async { final FileSystem fileSystem = environment.fileSystem; - final String? nativeAssetsEnvironment = environment.defines[kNativeAssets]; - - final DartBuildResult result; - if (nativeAssetsEnvironment == 'false') { - result = const DartBuildResult.empty(); - } else { - final TargetPlatform targetPlatform = _getTargetPlatformFromEnvironment(environment, name); - - final File packageConfigFile = fileSystem.file(environment.packageConfigPath); - final PackageConfig packageConfig = await loadPackageConfigWithLogging( - packageConfigFile, - logger: environment.logger, - ); - final Uri projectUri = environment.projectDir.uri; - final String? runPackageName = packageConfig.packages - .where((Package p) => p.root == projectUri) - .firstOrNull - ?.name; - if (runPackageName == null) { - throw StateError( - 'Could not determine run package name. ' - 'Project path "${projectUri.toFilePath()}" did not occur as package ' - 'root in package config "${environment.packageConfigPath}". ' - 'Please report a reproduction on ' - 'https://github.com/flutter/flutter/issues/169475.', - ); - } - final String pubspecPath = packageConfigFile.uri.resolve('../pubspec.yaml').toFilePath(); - final String? buildModeEnvironment = environment.defines[kBuildMode]; - if (buildModeEnvironment == null) { - throw MissingDefineException(kBuildMode, name); - } - final buildMode = BuildMode.fromCliName(buildModeEnvironment); - final bool includeDevDependencies = !buildMode.isRelease; - final FlutterNativeAssetsBuildRunner buildRunner = - _buildRunner ?? - FlutterNativeAssetsBuildRunnerImpl( - environment.packageConfigPath, - packageConfig, - fileSystem, - environment.logger, - runPackageName, - includeDevDependencies: includeDevDependencies, - pubspecPath, - ); - result = await runFlutterSpecificDartBuild( - environmentDefines: environment.defines, - buildRunner: buildRunner, - targetPlatform: targetPlatform, - projectUri: projectUri, - fileSystem: fileSystem, + final DartHooksResult result; + + final TargetPlatform targetPlatform = + specifiedTargetPlatform ?? _getTargetPlatformFromEnvironment(environment, name); + + final File packageConfigFile = fileSystem.file(environment.packageConfigPath); + final PackageConfig packageConfig = await loadPackageConfigWithLogging( + packageConfigFile, + logger: environment.logger, + ); + final Uri projectUri = environment.projectDir.uri; + final String? runPackageName = packageConfig.packages + .where((Package p) => p.root == projectUri) + .firstOrNull + ?.name; + if (runPackageName == null) { + throw StateError( + 'Could not determine run package name. ' + 'Project path "${projectUri.toFilePath()}" did not occur as package ' + 'root in package config "${environment.packageConfigPath}". ' + 'Please report a reproduction on ' + 'https://github.com/flutter/flutter/issues/169475.', ); } - - final File dartBuildResultJsonFile = environment.buildDir.childFile(dartBuildResultFilename); - if (!dartBuildResultJsonFile.parent.existsSync()) { - dartBuildResultJsonFile.parent.createSync(recursive: true); + final String pubspecPath = packageConfigFile.uri.resolve('../pubspec.yaml').toFilePath(); + final String? buildModeEnvironment = environment.defines[kBuildMode]; + if (buildModeEnvironment == null) { + throw MissingDefineException(kBuildMode, name); } - dartBuildResultJsonFile.writeAsStringSync(json.encode(result.toJson())); + final buildMode = BuildMode.fromCliName(buildModeEnvironment); + final bool includeDevDependencies = !buildMode.isRelease; + final FlutterNativeAssetsBuildRunner buildRunner = + _buildRunner ?? + FlutterNativeAssetsBuildRunnerImpl( + environment.packageConfigPath, + packageConfig, + fileSystem, + environment.logger, + runPackageName, + includeDevDependencies: includeDevDependencies, + pubspecPath, + ); + result = await runFlutterSpecificHooks( + environmentDefines: environment.defines, + buildRunner: buildRunner, + targetPlatform: targetPlatform, + projectUri: projectUri, + fileSystem: fileSystem, + ); + final File dartHookResultJsonFile = environment.buildDir.childFile(dartHookResultFilename); + if (!dartHookResultJsonFile.parent.existsSync()) { + dartHookResultJsonFile.parent.createSync(recursive: true); + } + dartHookResultJsonFile.writeAsStringSync(json.encode(result.toJson())); final depfile = Depfile( [for (final Uri dependency in result.dependencies) fileSystem.file(dependency)], - [fileSystem.file(dartBuildResultJsonFile)], + [fileSystem.file(dartHookResultJsonFile)], ); final File outputDepfile = environment.buildDir.childFile(depFilename); if (!outputDepfile.parent.existsSync()) { @@ -116,22 +117,26 @@ abstract class DartBuild extends Target { String get name => 'dart_build'; @override - List get outputs => const [ - Source.pattern('{BUILD_DIR}/$dartBuildResultFilename'), - ]; + List get outputs => const [Source.pattern('{BUILD_DIR}/$dartHookResultFilename')]; /// Dependent build [Target]s can use this to consume the result of the /// [DartBuild] target. - static Future loadBuildResult(Environment environment) async { - final File dartBuildResultJsonFile = environment.buildDir.childFile( - DartBuild.dartBuildResultFilename, + static Future loadHookResult(Environment environment) async { + final File dartHookResultJsonFile = environment.buildDir.childFile( + DartBuild.dartHookResultFilename, ); - return DartBuildResult.fromJson( - json.decode(dartBuildResultJsonFile.readAsStringSync()) as Map, + if (!dartHookResultJsonFile.existsSync()) { + return DartHooksResult.empty(); + } + return DartHooksResult.fromJson( + json.decode(dartHookResultJsonFile.readAsStringSync()) as Map, ); } - static const dartBuildResultFilename = 'dart_build_result.json'; + @override + List get dependencies => []; + + static const dartHookResultFilename = 'dart_build_result.json'; static const depFilename = 'dart_build.d'; } @@ -158,13 +163,13 @@ class InstallCodeAssets extends Target { final TargetPlatform targetPlatform = _getTargetPlatformFromEnvironment(environment, name); // We fetch the result from the [DartBuild]. - final DartBuildResult dartBuildResult = await DartBuild.loadBuildResult(environment); + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); // And install/copy the code assets to the right place and create a // native_asset.yaml that can be used by the final AOT compilation. final Uri nativeAssetsFileUri = environment.buildDir.childFile(nativeAssetsFilename).uri; await installCodeAssets( - dartBuildResult: dartBuildResult, + dartHookResult: dartHookResult, environmentDefines: environment.defines, targetPlatform: targetPlatform, projectUri: projectUri, @@ -174,7 +179,7 @@ class InstallCodeAssets extends Target { assert(await fileSystem.file(nativeAssetsFileUri).exists()); final depfile = Depfile( - [for (final Uri file in dartBuildResult.filesToBeBundled) fileSystem.file(file)], + [for (final Uri file in dartHookResult.filesToBeBundled) fileSystem.file(file)], [fileSystem.file(nativeAssetsFileUri)], ); final File outputDepfile = environment.buildDir.childFile(depFilename); diff --git a/packages/flutter_tools/lib/src/build_system/targets/web.dart b/packages/flutter_tools/lib/src/build_system/targets/web.dart index 1f9d7bae6b2a2..bf0e19f3877a3 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/web.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/web.dart @@ -18,6 +18,7 @@ import '../../dart/language_version.dart'; import '../../dart/package_map.dart'; import '../../flutter_plugins.dart'; import '../../globals.dart' as globals; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../../project.dart'; import '../../web/bootstrap.dart'; import '../../web/compile.dart'; @@ -29,6 +30,7 @@ import '../depfile.dart'; import '../exceptions.dart'; import 'assets.dart'; import 'localizations.dart'; +import 'native_assets.dart'; /// Generates an entry point for a web target. // Keep this in sync with build_runner/resident_web_runner.dart @@ -478,7 +480,11 @@ class WebReleaseBundle extends Target { String get name => 'web_release_bundle'; @override - List get dependencies => [...compileTargets, templatedFilesTarget]; + List get dependencies => [ + ...compileTargets, + templatedFilesTarget, + const DartBuild(specifiedTargetPlatform: TargetPlatform.web_javascript), + ]; Iterable get buildPatternStems => compileTargets.expand((Dart2WebTarget target) => target.buildPatternStems); @@ -518,9 +524,11 @@ class WebReleaseBundle extends Target { final Directory outputDirectory = environment.outputDir.childDirectory('assets'); outputDirectory.createSync(recursive: true); + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); final Depfile depfile = await copyAssets( environment, environment.outputDir.childDirectory('assets'), + dartHookResult: dartHookResult, targetPlatform: TargetPlatform.web_javascript, buildMode: buildMode, ); diff --git a/packages/flutter_tools/lib/src/build_system/targets/windows.dart b/packages/flutter_tools/lib/src/build_system/targets/windows.dart index 98b058ec3a5a9..a6e2e4b698381 100644 --- a/packages/flutter_tools/lib/src/build_system/targets/windows.dart +++ b/packages/flutter_tools/lib/src/build_system/targets/windows.dart @@ -6,6 +6,7 @@ import '../../artifacts.dart'; import '../../base/file_system.dart'; import '../../build_info.dart'; import '../../devfs.dart'; +import '../../isolated/native_assets/dart_hook_result.dart'; import '../build_system.dart'; import '../depfile.dart'; import '../exceptions.dart'; @@ -106,6 +107,7 @@ abstract class BundleWindowsAssets extends Target { @override List get dependencies => [ + const DartBuildForNative(), const KernelSnapshot(), const InstallCodeAssets(), UnpackWindows(targetPlatform), @@ -141,9 +143,11 @@ abstract class BundleWindowsAssets extends Target { .childFile('app.dill') .copySync(outputDirectory.childFile('kernel_blob.bin').path); } + final DartHooksResult dartHookResult = await DartBuild.loadHookResult(environment); final Depfile depfile = await copyAssets( environment, outputDirectory, + dartHookResult: dartHookResult, targetPlatform: targetPlatform, buildMode: buildMode, additionalContent: { diff --git a/packages/flutter_tools/lib/src/bundle_builder.dart b/packages/flutter_tools/lib/src/bundle_builder.dart index ee3488cfe7377..13d09c75c49af 100644 --- a/packages/flutter_tools/lib/src/bundle_builder.dart +++ b/packages/flutter_tools/lib/src/bundle_builder.dart @@ -29,10 +29,6 @@ class BundleBuilder { /// /// The default `mainPath` is `lib/main.dart`. /// The default `manifestPath` is `pubspec.yaml`. - /// - /// If [buildNativeAssets], native assets are built and the mapping for native - /// assets lookup at runtime is embedded in the kernel file, otherwise an - /// empty native assets mapping is embedded in the kernel file. Future build({ required TargetPlatform platform, required BuildInfo buildInfo, @@ -42,7 +38,6 @@ class BundleBuilder { String? applicationKernelFilePath, String? depfilePath, String? assetDirPath, - bool buildNativeAssets = true, @visibleForTesting BuildSystem? buildSystem, }) async { project ??= FlutterProject.current(); @@ -68,7 +63,6 @@ class BundleBuilder { kTargetFile: mainPath, kDeferredComponents: 'false', ...buildInfo.toBuildSystemEnvironment(), - if (!buildNativeAssets) kNativeAssets: 'false', }, artifacts: globals.artifacts!, fileSystem: globals.fs, diff --git a/packages/flutter_tools/lib/src/commands/attach.dart b/packages/flutter_tools/lib/src/commands/attach.dart index 83815504994ba..431e6b65daaa6 100644 --- a/packages/flutter_tools/lib/src/commands/attach.dart +++ b/packages/flutter_tools/lib/src/commands/attach.dart @@ -4,6 +4,7 @@ import 'dart:async'; +import 'package:meta/meta.dart'; import 'package:unified_analytics/unified_analytics.dart'; import 'package:vm_service/vm_service.dart'; @@ -21,6 +22,7 @@ import '../compile.dart'; import '../daemon.dart'; import '../device.dart'; import '../device_vm_service_discovery_for_attach.dart'; +import '../hook_runner.dart' show hookRunner; import '../ios/devices.dart'; import '../ios/simulators.dart'; import '../macos/macos_ipad_device.dart'; @@ -332,10 +334,7 @@ known, it can be explicitly provided to attach via the command-line, e.g. vmServiceUri = vmServiceDiscovery.uris; // Stop the timer once we receive the first uri. - vmServiceUri = vmServiceUri.map((Uri uri) { - discoveryStatus.stop(); - return uri; - }); + vmServiceUri = streamWithCallbackOnFirstItem(vmServiceUri, () => discoveryStatus.stop()); } else { vmServiceUri = Stream.fromFuture( buildVMServiceUri( @@ -483,8 +482,14 @@ known, it can be explicitly provided to attach via the command-line, e.g. flutterProject: flutterProject, nativeAssetsYamlFile: stringArg(FlutterOptions.kNativeAssetsYamlFile), analytics: analytics, + logger: _logger, ) - : ColdRunner(flutterDevices, target: targetFile, debuggingOptions: debuggingOptions); + : ColdRunner( + flutterDevices, + target: targetFile, + debuggingOptions: debuggingOptions, + dartBuilder: hookRunner, + ); } Future _validateArguments() async {} @@ -509,6 +514,7 @@ class HotRunnerFactory { FlutterProject? flutterProject, String? nativeAssetsYamlFile, required Analytics analytics, + Logger? logger, }) => HotRunner( devices, target: target, @@ -521,5 +527,19 @@ class HotRunnerFactory { stayResident: stayResident, nativeAssetsYamlFile: nativeAssetsYamlFile, analytics: analytics, + dartBuilder: hookRunner, + logger: logger, ); } + +@visibleForTesting +Stream streamWithCallbackOnFirstItem(Stream stream, void Function() callback) { + var called = false; + return stream.map((i) { + if (!called) { + callback(); + called = true; + } + return i; + }); +} diff --git a/packages/flutter_tools/lib/src/commands/build_bundle.dart b/packages/flutter_tools/lib/src/commands/build_bundle.dart index e2252f23c9957..927edb2287702 100644 --- a/packages/flutter_tools/lib/src/commands/build_bundle.dart +++ b/packages/flutter_tools/lib/src/commands/build_bundle.dart @@ -147,7 +147,6 @@ class BuildBundleCommand extends BuildSubCommand { mainPath: targetFile, depfilePath: stringArg('depfile'), assetDirPath: stringArg('asset-dir'), - buildNativeAssets: false, ); return FlutterCommandResult.success(); } diff --git a/packages/flutter_tools/lib/src/commands/build_web.dart b/packages/flutter_tools/lib/src/commands/build_web.dart index adf841a67f77d..904b3b49250f3 100644 --- a/packages/flutter_tools/lib/src/commands/build_web.dart +++ b/packages/flutter_tools/lib/src/commands/build_web.dart @@ -237,13 +237,14 @@ class BuildWebCommand extends BuildSubCommand { sourceMaps: sourceMaps, renderer: webRenderer, ), - WasmCompilerConfig( - optimizationLevel: optimizationLevel, - stripWasm: boolArg('strip-wasm'), - sourceMaps: sourceMaps, - minify: minifyWasm, - dryRun: boolArg('wasm-dry-run'), - ), + if (boolArg('wasm-dry-run')) + WasmCompilerConfig( + optimizationLevel: optimizationLevel, + stripWasm: boolArg('strip-wasm'), + sourceMaps: sourceMaps, + minify: minifyWasm, + dryRun: true, + ), ]; } diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart index 357c6621d0119..4eb742dbd31a3 100644 --- a/packages/flutter_tools/lib/src/commands/create.dart +++ b/packages/flutter_tools/lib/src/commands/create.dart @@ -70,8 +70,9 @@ class CreateCommand extends FlutterCommand with CreateBase { defaultsTo: 'swift', allowed: ['objc', 'swift'], help: - '(deprecated) The language to use for iOS-specific code, either Swift (recommended) or Objective-C (legacy). ' - 'Only supported for "--template=plugin".', + '(deprecated) This option is deprecated and no longer has any effect. ' + 'Swift is always used for iOS-specific code. ' + 'This flag will be removed in a future version of Flutter.', hide: !verboseHelp, ); argParser.addOption( @@ -163,7 +164,6 @@ class CreateCommand extends FlutterCommand with CreateBase { commandHasTerminal: hasTerminal, createProjectType: stringArg('template'), createAndroidLanguage: stringArg('android-language'), - createIosLanguage: stringArg('ios-language'), ); // Lazy-initialize the net utilities with values from the context. @@ -334,21 +334,11 @@ class CreateCommand extends FlutterCommand with CreateBase { exitCode: 2, ); } else if (argResults!.wasParsed('ios-language')) { - if (generateMethodChannelsPlugin) { - globals.printWarning( - 'The "ios-language" option is deprecated and will be removed in a future Flutter release.', - ); - if (stringArg('ios-language') == 'objc') { - globals.printWarning( - 'Please comment in https://github.com/flutter/flutter/issues/169683 describing your use-case for using Objective-C instead of Swift.', - ); - } - } else { - throwToolExit( - 'The "ios-language" option is only supported for "--template=plugin".', - exitCode: 2, - ); - } + globals.printWarning( + 'The "--ios-language" option is deprecated and no longer has any effect. ' + 'Swift is always used for iOS-specific code. ' + 'This flag will be removed in a future version of Flutter.', + ); } final String organization = await getOrganization(); @@ -425,7 +415,6 @@ class CreateCommand extends FlutterCommand with CreateBase { withFfiPackage: generateFfiPackage, withEmptyMain: emptyArgument, androidLanguage: stringArg('android-language'), - iosLanguage: stringArg('ios-language'), iosDevelopmentTeam: developmentTeam, ios: includeIos, android: includeAndroid, diff --git a/packages/flutter_tools/lib/src/commands/create_base.dart b/packages/flutter_tools/lib/src/commands/create_base.dart index bbd004f119eab..5d808b8fd7a92 100644 --- a/packages/flutter_tools/lib/src/commands/create_base.dart +++ b/packages/flutter_tools/lib/src/commands/create_base.dart @@ -296,7 +296,6 @@ mixin CreateBase on FlutterCommand { String? projectDescription, String? androidLanguage, String? iosDevelopmentTeam, - String? iosLanguage, required String flutterRoot, required String dartSdkVersionBounds, String? agpVersion, @@ -357,7 +356,6 @@ mixin CreateBase on FlutterCommand { 'withPluginHook': withFfiPluginHook || withFfiPackage || withPlatformChannelPluginHook, 'withEmptyMain': withEmptyMain, 'androidLanguage': androidLanguage, - 'iosLanguage': iosLanguage, 'hasIosDevelopmentTeam': iosDevelopmentTeam != null && iosDevelopmentTeam.isNotEmpty, 'iosDevelopmentTeam': iosDevelopmentTeam ?? '', 'flutterRevision': escapeYamlString(globals.flutterVersion.frameworkRevision), diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart index ba45ab2846f1b..678f7a793ec44 100644 --- a/packages/flutter_tools/lib/src/commands/daemon.dart +++ b/packages/flutter_tools/lib/src/commands/daemon.dart @@ -724,6 +724,7 @@ class AppDomain extends Domain { hostIsIde: true, machine: machine, analytics: globals.analytics, + logger: globals.logger, ); } else { runner = ColdRunner( @@ -789,7 +790,7 @@ class AppDomain extends Domain { Completer? connectionInfoCompleter; - if (runner.debuggingEnabled) { + if (runner.supportsServiceProtocol && runner.debuggingEnabled) { connectionInfoCompleter = Completer(); // We don't want to wait for this future to complete and callbacks won't fail. // As it just writes to stdout. @@ -1279,7 +1280,11 @@ class DeviceDomain extends Domain { devToolsServerAddress: devToolsServerAddress, ); unawaited(device.dds.done.whenComplete(() => sendEvent('device.dds.done.$deviceId'))); - return {'ddsUri': device.dds.uri?.toString()}; + return { + 'ddsUri': device.dds.uri?.toString(), + 'devToolsUri': device.dds.devToolsUri?.toString(), + 'dtdUri': device.dds.dtdUri?.toString(), + }; } /// Starts DDS for the device. @@ -1402,7 +1407,8 @@ Future> _deviceToMap(Device device) async { 'hotReload': device.supportsHotReload, 'hotRestart': device.supportsHotRestart, 'screenshot': device.supportsScreenshot, - 'fastStart': device.supportsFastStart, + // TODO(bkonyi): remove once fg3 is updated. + 'fastStart': false, 'flutterExit': device.supportsFlutterExit, 'hardwareRendering': await device.supportsHardwareRendering, 'startPaused': device.supportsStartPaused, @@ -1824,7 +1830,7 @@ final class MachineOutputLogger extends DelegatingLogger { final event = { 'id': eventId, 'progressId': eventType, - if (message != null) 'message': message, + 'message': ?message, 'finished': finished, }; diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart index bd64b2f343f87..d31d30fdcd9f7 100644 --- a/packages/flutter_tools/lib/src/commands/run.dart +++ b/packages/flutter_tools/lib/src/commands/run.dart @@ -16,6 +16,7 @@ import '../build_info.dart'; import '../device.dart'; import '../features.dart'; import '../globals.dart' as globals; +import '../hook_runner.dart' show hookRunner; import '../ios/devices.dart'; import '../project.dart'; import '../resident_runner.dart'; @@ -364,10 +365,6 @@ abstract class RunCommandBase extends FlutterCommand with DeviceBasedDevelopment webRenderer: webRenderer, webUseWasm: useWasm, vmserviceOutFile: stringArg('vmservice-out-file'), - fastStart: - argParser.options.containsKey('fast-start') && - boolArg('fast-start') && - !runningWithPrebuiltApplication, nativeNullAssertions: boolArg('native-null-assertions'), enableImpeller: enableImpeller, enableFlutterGpu: enableFlutterGpu, @@ -464,17 +461,6 @@ class RunCommand extends RunCommandBase { 'measure the startup time and the app restart time, write the ' 'results out to "refresh_benchmark.json", and exit. This flag is ' 'intended for use in generating automated flutter benchmarks.', - ) - // TODO(zanderso): Off by default with investigating whether this - // is slower for certain use cases. - // See: https://github.com/flutter/flutter/issues/49499 - ..addFlag( - 'fast-start', - help: - 'Whether to quickly bootstrap applications with a minimal app. ' - 'Currently this is only supported on Android devices. This option ' - 'cannot be paired with "--${FlutterOptions.kUseApplicationBinary}".', - hide: !verboseHelp, ); } @@ -741,6 +727,8 @@ class RunCommand extends RunCommandBase { stayResident: stayResident, analytics: globals.analytics, nativeAssetsYamlFile: stringArg(FlutterOptions.kNativeAssetsYamlFile), + dartBuilder: hookRunner, + logger: globals.logger, ); } else if (webMode) { return webRunnerFactory!.createWebRunner( @@ -768,6 +756,7 @@ class RunCommand extends RunCommandBase { ? null : globals.fs.file(applicationBinaryPath), stayResident: stayResident, + dartBuilder: hookRunner, ); } diff --git a/packages/flutter_tools/lib/src/commands/widget_preview.dart b/packages/flutter_tools/lib/src/commands/widget_preview.dart index 5c56005518e14..bfd3e18f9df72 100644 --- a/packages/flutter_tools/lib/src/commands/widget_preview.dart +++ b/packages/flutter_tools/lib/src/commands/widget_preview.dart @@ -5,6 +5,7 @@ import 'dart:async'; import 'package:args/args.dart'; +import 'package:collection/collection.dart'; import 'package:meta/meta.dart'; import 'package:package_config/package_config.dart'; import 'package:process/process.dart'; @@ -12,20 +13,22 @@ import 'package:process/process.dart'; import '../artifacts.dart'; import '../base/common.dart'; import '../base/file_system.dart'; +import '../base/io.dart'; import '../base/logger.dart'; import '../base/os.dart'; import '../base/platform.dart'; import '../base/process.dart'; +import '../base/terminal.dart'; import '../build_info.dart'; import '../bundle.dart' as bundle; import '../cache.dart'; +import '../convert.dart'; import '../device.dart'; import '../globals.dart' as globals; import '../isolated/resident_web_runner.dart'; import '../project.dart'; import '../resident_runner.dart'; import '../runner/flutter_command.dart'; -import '../runner/flutter_command_runner.dart'; import '../web/web_device.dart'; import '../widget_preview/analytics.dart'; import '../widget_preview/dependency_graph.dart'; @@ -74,7 +77,8 @@ class WidgetPreviewCommand extends FlutterCommand { String get description => 'Manage the widget preview environment.'; @override - String get name => 'widget-preview'; + String get name => kWidgetPreview; + static const kWidgetPreview = 'widget-preview'; @override String get category => FlutterCommandCategory.tools; @@ -117,7 +121,7 @@ abstract base class WidgetPreviewSubCommandBase extends FlutterCommand { final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with CreateBase { WidgetPreviewStartCommand({ this.verbose = false, - required this.logger, + required Logger logger, required this.fs, required this.projectFactory, required this.cache, @@ -127,11 +131,13 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C required this.processManager, required this.artifacts, @visibleForTesting WidgetPreviewDtdServices? dtdServicesOverride, - }) { + }) : _logger = logger { if (dtdServicesOverride != null) { _dtdService = dtdServicesOverride; } addPubOptions(); + addMachineOutputFlag(verboseHelp: verbose); + addDevToolsOptions(verboseHelp: verbose); argParser ..addFlag( kWebServer, @@ -139,6 +145,12 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C 'Serve the widget preview environment using the web-server device instead of the ' 'browser.', ) + ..addOption( + kDtdUrl, + help: + 'The address of an existing Dart Tooling Daemon instance to be used by the Flutter CLI.', + hide: !verbose, + ) ..addFlag( kLaunchPreviewer, defaultsTo: true, @@ -156,6 +168,7 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C ); } + static const kDtdUrl = 'dtd-url'; static const kWidgetPreviewScaffoldName = 'widget_preview_scaffold'; static const kLaunchPreviewer = 'launch-previewer'; static const kHeadless = 'headless'; @@ -165,6 +178,11 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C /// Environment variable used to pass the DTD URI to the widget preview scaffold. static const kWidgetPreviewDtdUriEnvVar = 'WIDGET_PREVIEW_DTD_URI'; + @visibleForTesting + static const kBrowserNotFoundErrorMessage = + 'Failed to locate browser. Make sure you are using an up-to-date Chrome or Edge. ' + 'Otherwise, consider running with --$kWebServer instead.'; + @override Future> get requiredArtifacts async => const { // Ensure the Flutter Web SDK is installed. @@ -183,7 +201,8 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C final FileSystem fs; @override - final Logger logger; + WidgetPreviewMachineAwareLogger get logger => _logger as WidgetPreviewMachineAwareLogger; + final Logger _logger; @override final FlutterProjectFactory projectFactory; @@ -213,6 +232,7 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C ); late final _previewDetector = PreviewDetector( + platform: platform, previewAnalytics: previewAnalytics, projectRoot: rootProject.directory, logger: logger, @@ -241,8 +261,11 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C @override Future runCommand() async { + assert(_logger is WidgetPreviewMachineAwareLogger); + // Start the timer tracking how long it takes to launch the preview environment. previewAnalytics.initializeLaunchStopwatch(); + logger.sendInitializingEvent(); final String? customPreviewScaffoldOutput = stringArg(kWidgetPreviewScaffoldOutputDir); final Directory widgetPreviewScaffold = customPreviewScaffoldOutput != null @@ -306,12 +329,14 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C await _previewPubspecBuilder.populatePreviewPubspec(rootProject: rootProject); } - final PreviewDependencyGraph graph = await _previewDetector.initialize(); - _previewCodeGenerator.populatePreviewsInGeneratedPreviewScaffold(graph); - shutdownHooks.addShutdownHook(() async { await _widgetPreviewApp?.exitApp(); + await _previewDetector.dispose(); }); + + final PreviewDependencyGraph graph = await _previewDetector.initialize(); + _previewCodeGenerator.populatePreviewsInGeneratedPreviewScaffold(graph); + await configureDtd(); final int result = await runPreviewEnvironment( widgetPreviewScaffoldProject: rootProject.widgetPreviewScaffoldProject, @@ -320,7 +345,6 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C throwToolExit('Failed to launch the widget previewer.', exitCode: result); } - await _previewDetector.dispose(); return FlutterCommandResult.success(); } @@ -342,7 +366,7 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C /// /// If --dtd-uri is not provided, a DTD instance managed by the tool will be started. Future configureDtd() async { - final String? existingDtdUriStr = stringArg(FlutterGlobalOptions.kDtdUrl, global: true); + final String? existingDtdUriStr = stringArg(kDtdUrl); Uri? existingDtdUri; try { if (existingDtdUriStr != null) { @@ -362,8 +386,9 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C Future runPreviewEnvironment({required FlutterProject widgetPreviewScaffoldProject}) async { try { - final List devices; + final Device device; if (boolArg(kWebServer)) { + final List devices; try { // The web-server device is hidden by default, make it visible before trying to look it up. WebServerDevice.showWebServerDevice = true; @@ -372,10 +397,12 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C // Reset the flag to false to avoid affecting other commands. WebServerDevice.showWebServerDevice = false; } + assert(devices.length == 1); + device = devices.single; } else { // Since the only target supported by the widget preview scaffold is the web // device, only a single web device should be returned. - devices = await deviceManager!.getDevices( + final List devices = await deviceManager!.getDevices( filter: DeviceDiscoveryFilter( supportFilter: DeviceDiscoverySupportFilter.excludeDevicesUnsupportedByFlutterOrProject( flutterProject: widgetPreviewScaffoldProject, @@ -383,12 +410,26 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C deviceConnectionInterface: DeviceConnectionInterface.attached, ), ); + + if (devices.isEmpty) { + throwToolExit(kBrowserNotFoundErrorMessage); + } + if (devices.length > 1) { + // Prefer Google Chrome as the target browser. + device = + devices.firstWhereOrNull((device) => device is GoogleChromeDevice) ?? devices.first; + + logger.printTrace( + 'Detected ${devices.length} web devices (${devices.map((e) => e.displayName).join(', ')}). ' + 'Defaulting to ${device.displayName}.', + ); + } else { + device = devices.single; + } } - assert(devices.length == 1); - final Device device = devices.first; // WARNING: this log message is used by test/integration.shard/widget_preview_test.dart - logger.printStatus('Launching the Widget Preview Scaffold...'); + logger.printStatus('Launching the Widget Preview Scaffold on ${device.displayName}...'); final debuggingOptions = DebuggingOptions.enabled( BuildInfo( @@ -412,6 +453,8 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C ), webEnableExposeUrl: false, webRunHeadless: boolArg(kHeadless), + enableDevTools: boolArg(FlutterCommand.kEnableDevTools), + devToolsServerAddress: devToolsServerAddress, ); final String target = bundle.defaultMainPath; final FlutterDevice flutterDevice = await FlutterDevice.create( @@ -438,6 +481,7 @@ final class WidgetPreviewStartCommand extends WidgetPreviewSubCommandBase with C ); unawaited(_widgetPreviewApp!.run(appStartedCompleter: appStarted)); await appStarted.future; + logger.sendStartedEvent(applicationUrl: flutterDevice.devFS!.baseUri!); } } on Exception catch (error) { throwToolExit(error.toString()); @@ -485,3 +529,169 @@ final class WidgetPreviewCleanCommand extends WidgetPreviewSubCommandBase { return FlutterCommandResult.success(); } } + +/// A custom logger for the widget-preview commands that disables non-event output to stdio when +/// machine mode is enabled. +final class WidgetPreviewMachineAwareLogger extends DelegatingLogger { + WidgetPreviewMachineAwareLogger(super.delegate, {required this.machine, required this.verbose}); + + final bool machine; + final bool verbose; + + @override + void printError( + String message, { + StackTrace? stackTrace, + bool? emphasis, + TerminalColor? color, + int? indent, + int? hangingIndent, + bool? wrap, + }) { + if (machine) { + sendEvent('logMessage', { + 'level': 'error', + 'message': message, + 'stackTrace': ?stackTrace?.toString(), + }); + return; + } + super.printError( + message, + stackTrace: stackTrace, + emphasis: emphasis, + color: color, + indent: indent, + hangingIndent: hangingIndent, + wrap: wrap, + ); + } + + @override + void printWarning( + String message, { + bool? emphasis, + TerminalColor? color, + int? indent, + int? hangingIndent, + bool? wrap, + bool fatal = true, + }) { + if (machine) { + sendEvent('logMessage', {'level': 'warning', 'message': message}); + return; + } + super.printWarning( + message, + emphasis: emphasis, + color: color, + indent: indent, + hangingIndent: hangingIndent, + wrap: wrap, + fatal: fatal, + ); + } + + @override + void printStatus( + String message, { + bool? emphasis, + TerminalColor? color, + bool? newline, + int? indent, + int? hangingIndent, + bool? wrap, + }) { + if (machine) { + sendEvent('logMessage', {'level': 'status', 'message': message}); + return; + } + super.printStatus( + message, + emphasis: emphasis, + color: color, + newline: newline, + indent: indent, + hangingIndent: hangingIndent, + wrap: wrap, + ); + } + + @override + void printBox(String message, {String? title}) { + if (machine) { + return; + } + super.printBox(message, title: title); + } + + @override + void printTrace(String message) { + if (!verbose) { + return; + } + if (machine) { + sendEvent('logMessage', {'level': 'trace', 'message': message}); + return; + } + super.printTrace(message); + } + + /// Notifies tooling that the widget previewer is initializing. + void sendInitializingEvent() { + sendEvent('initializing', {'pid': pid}); + } + + /// Notifies tooling that the widget previewer has started and is being + /// served at [applicationUrl]. + void sendStartedEvent({required Uri applicationUrl}) { + sendEvent('started', {'url': applicationUrl.toString()}); + } + + @override + void sendEvent(String name, [Map? args]) { + if (!machine) { + return; + } + super.printStatus( + json.encode([ + {'event': 'widget_preview.$name', 'params': ?args}, + ]), + ); + } + + @override + Status startProgress( + String message, { + String? progressId, + int progressIndicatorPadding = kDefaultStatusPadding, + }) { + if (machine) { + printStatus(message); + return SilentStatus(stopwatch: Stopwatch()); + } + return super.startProgress( + message, + progressId: progressId, + progressIndicatorPadding: progressIndicatorPadding, + ); + } + + @override + Status startSpinner({ + VoidCallback? onFinish, + Duration? timeout, + SlowWarningCallback? slowWarningCallback, + TerminalColor? warningColor, + }) { + if (machine) { + return SilentStatus(stopwatch: Stopwatch()); + } + return super.startSpinner( + onFinish: onFinish, + timeout: timeout, + slowWarningCallback: slowWarningCallback, + warningColor: warningColor, + ); + } +} diff --git a/packages/flutter_tools/lib/src/compile.dart b/packages/flutter_tools/lib/src/compile.dart index 73ac2d7432c86..2aa8dea5b7f96 100644 --- a/packages/flutter_tools/lib/src/compile.dart +++ b/packages/flutter_tools/lib/src/compile.dart @@ -16,6 +16,7 @@ import 'base/file_system.dart'; import 'base/io.dart'; import 'base/logger.dart'; import 'base/platform.dart'; +import 'base/process.dart'; import 'build_info.dart'; import 'convert.dart'; @@ -505,6 +506,7 @@ abstract class ResidentCompiler { required Artifacts artifacts, required Platform platform, required FileSystem fileSystem, + required ShutdownHooks shutdownHooks, bool testCompilation, bool trackWidgetCreation, String packagesPath, @@ -625,6 +627,7 @@ class DefaultResidentCompiler implements ResidentCompiler { required this.artifacts, required Platform platform, required FileSystem fileSystem, + required ShutdownHooks shutdownHooks, this.testCompilation = false, this.trackWidgetCreation = true, this.packagesPath, @@ -642,6 +645,7 @@ class DefaultResidentCompiler implements ResidentCompiler { @visibleForTesting StdoutHandler? stdoutHandler, }) : _logger = logger, _processManager = processManager, + _shutdownHooks = shutdownHooks, _stdoutHandler = stdoutHandler ?? StdoutHandler(logger: logger, fileSystem: fileSystem), _platform = platform, dartDefines = dartDefines ?? const [], @@ -654,6 +658,7 @@ class DefaultResidentCompiler implements ResidentCompiler { final ProcessManager _processManager; final Artifacts artifacts; final Platform _platform; + final ShutdownHooks _shutdownHooks; final bool testCompilation; final BuildMode buildMode; @@ -906,7 +911,9 @@ class DefaultResidentCompiler implements ResidentCompiler { unawaited( _server?.exitCode.then((int code) { - if (code != 0) { + // The frontend server exits with a 253 error code when we shutdown due to a signal. + // Don't treat this as an error if we're in the middle of the shutdown sequence. + if (code != 0 && !_shutdownHooks.isShuttingDown) { throwToolExit('The Dart compiler exited unexpectedly.'); } }), diff --git a/packages/flutter_tools/lib/src/daemon.dart b/packages/flutter_tools/lib/src/daemon.dart index f11629a9a8b51..efa0f541746e8 100644 --- a/packages/flutter_tools/lib/src/daemon.dart +++ b/packages/flutter_tools/lib/src/daemon.dart @@ -282,11 +282,7 @@ class DaemonConnection { final id = '${++_outgoingRequestId}'; final completer = Completer(); _outgoingRequestCompleters[id] = completer; - final data = { - 'id': id, - 'method': method, - if (params != null) 'params': params, - }; + final data = {'id': id, 'method': method, 'params': ?params}; _logger.printTrace('-> Sending to daemon, id = $id, method = $method'); _daemonStreams.send(data, binary); return completer.future; @@ -294,7 +290,7 @@ class DaemonConnection { /// Sends a response to the other end of the connection. void sendResponse(Object id, [Object? result]) { - _daemonStreams.send({'id': id, if (result != null) 'result': result}); + _daemonStreams.send({'id': id, 'result': ?result}); } /// Sends an error response to the other end of the connection. @@ -304,10 +300,7 @@ class DaemonConnection { /// Sends an event to the client. void sendEvent(String name, [Object? params, List? binary]) { - _daemonStreams.send({ - 'event': name, - if (params != null) 'params': params, - }, binary); + _daemonStreams.send({'event': name, 'params': ?params}, binary); } /// Handles the input from the stream. diff --git a/packages/flutter_tools/lib/src/debug_adapters/flutter_adapter_args.dart b/packages/flutter_tools/lib/src/debug_adapters/flutter_adapter_args.dart index ff5b3776b19f8..3be9e9371295e 100644 --- a/packages/flutter_tools/lib/src/debug_adapters/flutter_adapter_args.dart +++ b/packages/flutter_tools/lib/src/debug_adapters/flutter_adapter_args.dart @@ -81,10 +81,10 @@ class FlutterAttachRequestArguments extends DartCommonLaunchAttachRequestArgumen @override Map toJson() => { ...super.toJson(), - if (toolArgs != null) 'toolArgs': toolArgs, - if (customTool != null) 'customTool': customTool, - if (customToolReplacesArgs != null) 'customToolReplacesArgs': customToolReplacesArgs, - if (vmServiceUri != null) 'vmServiceUri': vmServiceUri, + 'toolArgs': ?toolArgs, + 'customTool': ?customTool, + 'customToolReplacesArgs': ?customToolReplacesArgs, + 'vmServiceUri': ?vmServiceUri, }; } @@ -162,11 +162,11 @@ class FlutterLaunchRequestArguments extends DartCommonLaunchAttachRequestArgumen @override Map toJson() => { ...super.toJson(), - if (noDebug != null) 'noDebug': noDebug, - if (program != null) 'program': program, - if (args != null) 'args': args, - if (toolArgs != null) 'toolArgs': toolArgs, - if (customTool != null) 'customTool': customTool, - if (customToolReplacesArgs != null) 'customToolReplacesArgs': customToolReplacesArgs, + 'noDebug': ?noDebug, + 'program': ?program, + 'args': ?args, + 'toolArgs': ?toolArgs, + 'customTool': ?customTool, + 'customToolReplacesArgs': ?customToolReplacesArgs, }; } diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart index 540af0fe19aee..ff8dc795b5e96 100644 --- a/packages/flutter_tools/lib/src/device.dart +++ b/packages/flutter_tools/lib/src/device.dart @@ -709,6 +709,9 @@ abstract class Device { /// Get the DDS instance for this device. final DartDevelopmentService dds; + /// Get the DevTools URI for the application instance. + Uri? get devToolsUri => dds.devToolsUri; + /// Clear the device's logs. void clearLogs(); @@ -768,9 +771,6 @@ abstract class Device { /// application. bool get supportsScreenshot => false; - /// Whether the device supports the '--fast-start' development mode. - bool get supportsFastStart => false; - /// Whether the Flavors feature ('--flavor') is supported for this device. bool get supportsFlavors => false; @@ -874,7 +874,6 @@ abstract class Device { 'hotReload': supportsHotReload, 'hotRestart': supportsHotRestart, 'screenshot': supportsScreenshot, - 'fastStart': supportsFastStart, 'flutterExit': supportsFlutterExit, 'hardwareRendering': isLocalEmu && await supportsHardwareRendering, 'startPaused': supportsStartPaused, @@ -961,7 +960,6 @@ class DebuggingOptions { WebRendererMode? webRenderer, this.webUseWasm = false, this.vmserviceOutFile, - this.fastStart = false, this.nativeNullAssertions = false, this.enableImpeller = ImpellerStatus.platformDefault, this.enableFlutterGpu = false, @@ -1027,7 +1025,6 @@ class DebuggingOptions { ddsPort = null, devToolsServerAddress = null, vmserviceOutFile = null, - fastStart = false, webEnableExpressionEvaluation = false, nativeNullAssertions = false, enableDevTools = false, @@ -1074,7 +1071,6 @@ class DebuggingOptions { required this.webRenderer, required this.webUseWasm, required this.vmserviceOutFile, - required this.fastStart, required this.nativeNullAssertions, required this.enableImpeller, required this.enableFlutterGpu, @@ -1168,7 +1164,6 @@ class DebuggingOptions { /// A file where the VM Service URL should be written after the application is started. final String? vmserviceOutFile; - final bool fastStart; /// Additional null runtime checks inserted for web applications. /// @@ -1266,7 +1261,6 @@ class DebuggingOptions { 'webRenderer': webRenderer.name, 'webUseWasm': webUseWasm, 'vmserviceOutFile': vmserviceOutFile, - 'fastStart': fastStart, 'nativeNullAssertions': nativeNullAssertions, 'enableImpeller': enableImpeller.asBool, 'enableFlutterGpu': enableFlutterGpu, @@ -1275,6 +1269,8 @@ class DebuggingOptions { 'profileStartup': profileStartup, 'enableEmbedderApi': enableEmbedderApi, 'usingCISystem': usingCISystem, + // TODO(bkonyi): remove once fg3 is updated. + 'fastStart': false, 'debugLogsDirectoryPath': debugLogsDirectoryPath, 'enableDevTools': enableDevTools, 'ipv6': ipv6, @@ -1331,7 +1327,6 @@ class DebuggingOptions { webRenderer: WebRendererMode.values.byName(json['webRenderer']! as String), webUseWasm: json['webUseWasm']! as bool, vmserviceOutFile: json['vmserviceOutFile'] as String?, - fastStart: json['fastStart']! as bool, nativeNullAssertions: json['nativeNullAssertions']! as bool, enableImpeller: ImpellerStatus.fromBool(json['enableImpeller'] as bool?), enableFlutterGpu: json['enableFlutterGpu']! as bool, diff --git a/packages/flutter_tools/lib/src/drive/web_driver_service.dart b/packages/flutter_tools/lib/src/drive/web_driver_service.dart index c7d878424d7ef..75e7e088431d6 100644 --- a/packages/flutter_tools/lib/src/drive/web_driver_service.dart +++ b/packages/flutter_tools/lib/src/drive/web_driver_service.dart @@ -352,8 +352,8 @@ Map getDesiredCapabilities( 'v8,blink.console,benchmark,blink,' 'blink.user_timing', }, - if (chromeBinary != null) 'binary': chromeBinary, - if (mobileEmulation != null) 'mobileEmulation': mobileEmulation, + 'binary': ?chromeBinary, + 'mobileEmulation': ?mobileEmulation, }, }, Browser.firefox => { diff --git a/packages/flutter_tools/lib/src/features.dart b/packages/flutter_tools/lib/src/features.dart index 31d02666a59b0..74fb5da826baf 100644 --- a/packages/flutter_tools/lib/src/features.dart +++ b/packages/flutter_tools/lib/src/features.dart @@ -56,6 +56,9 @@ abstract class FeatureFlags { /// Whether native assets compilation and bundling is enabled. bool get isNativeAssetsEnabled; + /// Whether dart data assets building and bundling is enabled. + bool get isDartDataAssetsEnabled => false; + /// Whether Swift Package Manager dependency management is enabled. bool get isSwiftPackageManagerEnabled; @@ -87,6 +90,7 @@ abstract class FeatureFlags { flutterCustomDevicesFeature, cliAnimation, nativeAssets, + dartDataAssets, swiftPackageManager, omitLegacyVersionFile, windowingFeature, @@ -186,6 +190,14 @@ const nativeAssets = Feature( beta: FeatureChannelSetting(available: true, enabledByDefault: true), ); +/// Enable Dart data assets building and bundling. +const dartDataAssets = Feature( + name: 'Dart data assets building and bundling', + configSetting: 'enable-dart-data-assets', + environmentOverride: 'FLUTTER_DART_DATA_ASSETS', + master: FeatureChannelSetting(available: true), +); + /// Enable Swift Package Manager as a darwin dependency manager. const swiftPackageManager = Feature( name: 'support for Swift Package Manager for iOS and macOS', @@ -199,16 +211,13 @@ const swiftPackageManager = Feature( /// Whether to continue writing the `{FLUTTER_ROOT}/version` legacy file. /// /// Tracking removal: . -const omitLegacyVersionFile = Feature( +const omitLegacyVersionFile = Feature.fullyEnabled( name: 'stops writing the legacy version file', configSetting: 'omit-legacy-version-file', extraHelpText: 'If set, the file {FLUTTER_ROOT}/version is no longer written as part of ' 'the flutter tool execution; a newer file format has existed for some ' 'time in {FLUTTER_ROOT}/bin/cache/flutter.version.json.', - master: FeatureChannelSetting(available: true), - beta: FeatureChannelSetting(available: true), - stable: FeatureChannelSetting(available: true), ); /// Whether desktop windowing is enabled. diff --git a/packages/flutter_tools/lib/src/flutter_features.dart b/packages/flutter_tools/lib/src/flutter_features.dart index 386fcbc625e4b..fbc339d4b07fc 100644 --- a/packages/flutter_tools/lib/src/flutter_features.dart +++ b/packages/flutter_tools/lib/src/flutter_features.dart @@ -49,6 +49,9 @@ mixin FlutterFeatureFlagsIsEnabled implements FeatureFlags { @override bool get isNativeAssetsEnabled => isEnabled(nativeAssets); + @override + bool get isDartDataAssetsEnabled => isEnabled(dartDataAssets); + @override bool get isSwiftPackageManagerEnabled => isEnabled(swiftPackageManager); diff --git a/packages/flutter_tools/lib/src/flutter_manifest.dart b/packages/flutter_tools/lib/src/flutter_manifest.dart index 97a59c10b01f5..92e8fe61472f3 100644 --- a/packages/flutter_tools/lib/src/flutter_manifest.dart +++ b/packages/flutter_tools/lib/src/flutter_manifest.dart @@ -416,7 +416,7 @@ class FlutterManifest { continue; } try { - results.add(Uri(pathSegments: item.split('/'))); + results.add(Uri.parse(item)); } on FormatException { _logger.printError('$singularName manifest contains invalid uri: $item.'); } @@ -822,7 +822,7 @@ class AssetsEntry { static (AssetsEntry? assetsEntry, String? error) parseFromYamlSafe(Object? yaml) { (Uri?, String?) tryParseUri(String uri) { try { - return (Uri(pathSegments: uri.split('/')), null); + return (Uri.parse(uri), null); } on FormatException { return (null, 'Asset manifest contains invalid uri: $uri.'); } diff --git a/packages/flutter_tools/lib/src/hook_runner.dart b/packages/flutter_tools/lib/src/hook_runner.dart new file mode 100644 index 0000000000000..331bef2a7499e --- /dev/null +++ b/packages/flutter_tools/lib/src/hook_runner.dart @@ -0,0 +1,22 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'asset.dart' show FlutterHookResult; +import 'base/context.dart' show context; +import 'base/logger.dart' show Logger; +import 'build_info.dart' show TargetPlatform; +import 'build_system/build_system.dart' show Environment; + +/// To not need `isolated/` imports, we use this interface to be passed around +/// everywhere. It's implementation can run the build and link hooks during a +/// Flutter build/run/test/etc. +FlutterHookRunner? get hookRunner => context.get(); + +abstract interface class FlutterHookRunner { + Future runHooks({ + required TargetPlatform targetPlatform, + required Environment environment, + Logger? logger, + }); +} diff --git a/packages/flutter_tools/lib/src/ios/core_devices.dart b/packages/flutter_tools/lib/src/ios/core_devices.dart index bab9e5d27ce1b..8db15860a934d 100644 --- a/packages/flutter_tools/lib/src/ios/core_devices.dart +++ b/packages/flutter_tools/lib/src/ios/core_devices.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:async'; + import 'package:meta/meta.dart'; import 'package:process/process.dart'; @@ -48,6 +50,12 @@ class IOSCoreDeviceLauncher { final FileSystem _fileSystem; final LLDB _lldb; + /// Contains a stream that devicectl sends logs to. + final coreDeviceLogForwarder = IOSCoreDeviceLogForwarder(); + + /// Contains a stream that LLDB sends logs to. + final lldbLogForwarder = LLDBLogForwarder(); + /// Install and launch the app on the device with `devicectl` ([_coreDeviceControl]) /// and do not attach a debugger. This is generally only used for release mode. Future launchAppWithoutDebugger({ @@ -57,12 +65,10 @@ class IOSCoreDeviceLauncher { required List launchArguments, }) async { // Install app to device - final bool installSuccess = await _coreDeviceControl.installApp( - deviceId: deviceId, - bundlePath: bundlePath, - ); - if (!installSuccess) { - return installSuccess; + final (bool installStatus, IOSCoreDeviceInstallResult? installResult) = await _coreDeviceControl + .installApp(deviceId: deviceId, bundlePath: bundlePath); + if (!installStatus) { + return false; } // Launch app to device @@ -90,34 +96,47 @@ class IOSCoreDeviceLauncher { required List launchArguments, }) async { // Install app to device - final bool installSuccess = await _coreDeviceControl.installApp( - deviceId: deviceId, - bundlePath: bundlePath, - ); - if (!installSuccess) { - return installSuccess; + final (bool installStatus, IOSCoreDeviceInstallResult? installResult) = await _coreDeviceControl + .installApp(deviceId: deviceId, bundlePath: bundlePath); + final String? installationURL = installResult?.installationURL; + if (!installStatus || installationURL == null) { + return false; } // Launch app on device, but start it stopped so it will wait until the debugger is attached before starting. - final IOSCoreDeviceLaunchResult? launchResult = await _coreDeviceControl.launchApp( + final bool launchResult = await _coreDeviceControl.launchAppAndStreamLogs( + coreDeviceLogForwarder: coreDeviceLogForwarder, deviceId: deviceId, bundleId: bundleId, launchArguments: launchArguments, startStopped: true, ); - if (launchResult == null || launchResult.outcome != 'success') { - return false; + if (!launchResult) { + return launchResult; } - final IOSCoreDeviceRunningProcess? launchedProcess = launchResult.process; + // Find the process that was launched using the installationURL. + final List processes = await _coreDeviceControl + .getRunningProcesses(deviceId: deviceId); + final IOSCoreDeviceRunningProcess? launchedProcess = processes + .where( + (IOSCoreDeviceRunningProcess process) => + process.executable != null && process.executable!.contains(installationURL), + ) + .firstOrNull; + final int? processId = launchedProcess?.processIdentifier; if (launchedProcess == null || processId == null) { return false; } // Start LLDB and attach to the device process. - final bool attachStatus = await _lldb.attachAndStart(deviceId, processId); + final bool attachStatus = await _lldb.attachAndStart( + deviceId: deviceId, + appProcessId: processId, + lldbLogForwarder: lldbLogForwarder, + ); // If it fails to attach with lldb, kill the launched process so it doesn't stay hanging. if (!attachStatus) { @@ -220,6 +239,9 @@ class IOSCoreDeviceLauncher { processToStop = processId; } + // Then kill the attached launch process first so it doesn't process any additional logs when you terminate the app + await Future.wait([coreDeviceLogForwarder.exit(), lldbLogForwarder.exit()]); + if (processToStop == null) { return false; } @@ -230,6 +252,35 @@ class IOSCoreDeviceLauncher { } } +/// This class is used to forward logs from devicectl to any active listeners. +class IOSCoreDeviceLogForwarder { + /// The `devicectl` process that launched the app and is streaming the logs. + Process? launchProcess; + + final _streamController = StreamController.broadcast(); + Stream get logLines => _streamController.stream; + + /// Whether or not a `devicectl` launch process is running. + bool get isRunning => launchProcess != null; + + void addLog(String log) { + if (!_streamController.isClosed) { + _streamController.add(log); + } + } + + /// Kill [launchProcess] if available and set it to null. + Future exit() async { + final bool success = (launchProcess == null) || launchProcess!.kill(); + launchProcess = null; + if (_streamController.hasListener) { + // Tell listeners the process died. + await _streamController.close(); + } + return success; + } +} + /// A wrapper around the `devicectl` command line tool. /// /// CoreDevice is a device connectivity stack introduced in Xcode 15. Devices @@ -258,6 +309,31 @@ class IOSCoreDeviceControl { /// run the command. static const _minimumTimeoutInSeconds = 5; + /// A list of log patterns to ignore. + static final _ignorePatterns = [ + // Ignore process logs that don't contain Flutter or user logs. + // Example: + // * Ignore logs with prefix in brackets that doesn't match FML: + // 2025-09-16 12:15:47.939171-0500 Runner[1230:133819] [UIKit App Config] ... + // * Ignore logs with timestamp/process prefix: + // 2025-09-16 12:15:47.939171-0500 Runner[1230:133819] CoreText note: ... + // * Don't ignore FML logs: + // 2025-09-16 12:05:54.162621-0500 Runner[1215:129795] [FATAL:flutter/runtime/service_protocol.cc(121)] ... + // * Don't ignore logs with no timestamp/process prefix: + // A log with no prefix (NSLog, print in Swift, and FlutterLogger) + // * Don't ignore flutter logs: + // 2025-09-16 12:50:07.953318-0500 Runner[1279:149305] flutter: ... + RegExp( + r'^\S* \S* \S*\[[0-9:]*] ((?!(\[INFO|\[WARNING|\[ERROR|\[IMPORTANT|\[FATAL):))(?!(flutter:)).*', + ), + // Ignore iOS execution mode and potential error. This is not meaningful to the developer. + // Example: + // * Dart execution mode: JIT + // * Dart execution mode: simulator + RegExp(r'Dart execution mode: .*'), + 'Failed to execute code (error: EXC_BAD_ACCESS, debugger assist: not detected)', + ]; + /// Executes `devicectl` command to get list of devices. The command will /// likely complete before [timeout] is reached. If [timeout] is reached, /// the command will be stopped as a failure. @@ -436,10 +512,13 @@ class IOSCoreDeviceControl { return false; } - Future installApp({required String deviceId, required String bundlePath}) async { + Future<(bool, IOSCoreDeviceInstallResult?)> installApp({ + required String deviceId, + required String bundlePath, + }) async { if (!_xcode.isDevicectlInstalled) { - _logger.printError('devicectl is not installed.'); - return false; + _logger.printTrace('devicectl is not installed.'); + return (false, null); } final Directory tempDirectory = _fileSystem.systemTempDirectory.createTempSync('core_devices.'); @@ -464,20 +543,24 @@ class IOSCoreDeviceControl { final String stringOutput = output.readAsStringSync(); try { - final Object? decodeResult = (json.decode(stringOutput) as Map)['info']; - if (decodeResult is Map && decodeResult['outcome'] == 'success') { - return true; + final Object? decodedJson = json.decode(stringOutput); + if (decodedJson is Map) { + final result = IOSCoreDeviceInstallResult.fromJson(decodedJson); + if (result.outcome != null) { + final success = result.outcome == 'success'; + return (success, result); + } } - _logger.printError('devicectl returned unexpected JSON response: $stringOutput'); - return false; + _logger.printTrace('devicectl returned unexpected JSON response: $stringOutput'); + return (false, null); } on FormatException { // We failed to parse the devicectl output, or it returned junk. - _logger.printError('devicectl returned non-JSON response: $stringOutput'); - return false; + _logger.printTrace('devicectl returned non-JSON response: $stringOutput'); + return (false, null); } } on ProcessException catch (err) { - _logger.printError('Error executing devicectl: $err'); - return false; + _logger.printTrace('Error executing devicectl: $err'); + return (false, null); } finally { tempDirectory.deleteSync(recursive: true); } @@ -536,22 +619,18 @@ class IOSCoreDeviceControl { /// /// If [startStopped] is true, the app will be launched and paused, waiting /// for a debugger to attach. - Future launchApp({ + /// + /// If [attachToConsole] is true, attaches the application to the console and waits for the app + /// to terminate. + List _launchAppCommand({ required String deviceId, required String bundleId, List launchArguments = const [], bool startStopped = false, - }) async { - if (!_xcode.isDevicectlInstalled) { - _logger.printTrace('devicectl is not installed.'); - return null; - } - - final Directory tempDirectory = _fileSystem.systemTempDirectory.createTempSync('core_devices.'); - final File output = tempDirectory.childFile('launch_results.json'); - output.createSync(); - - final command = [ + bool attachToConsole = false, + File? outputFile, + }) { + return [ ..._xcode.xcrunCommand(), 'devicectl', 'device', @@ -560,11 +639,44 @@ class IOSCoreDeviceControl { '--device', deviceId, if (startStopped) '--start-stopped', + if (attachToConsole) ...[ + '--console', + '--environment-variables', + // OS_ACTIVITY_DT_MODE needs to be set to get NSLog and os_log output + // See https://github.com/llvm/llvm-project/blob/19b43e1757b4fd3d0f188cf8a08e9febb0dbec2f/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp#L1227-L1233 + '{"OS_ACTIVITY_DT_MODE": "enable"}', + ], + if (outputFile != null) ...['--json-output', outputFile.path], bundleId, if (launchArguments.isNotEmpty) ...launchArguments, - '--json-output', - output.path, ]; + } + + /// Launches the app on the device. + /// + /// If [startStopped] is true, the app will be launched and paused, waiting + /// for a debugger to attach. + Future launchApp({ + required String deviceId, + required String bundleId, + List launchArguments = const [], + bool startStopped = false, + }) async { + if (!_xcode.isDevicectlInstalled) { + _logger.printTrace('devicectl is not installed.'); + return null; + } + + final Directory tempDirectory = _fileSystem.systemTempDirectory.createTempSync('core_devices.'); + final File output = tempDirectory.childFile('launch_results.json')..createSync(); + + final List command = _launchAppCommand( + bundleId: bundleId, + deviceId: deviceId, + launchArguments: launchArguments, + startStopped: startStopped, + outputFile: output, + ); try { await _processUtils.run(command, throwOnError: true); @@ -592,6 +704,92 @@ class IOSCoreDeviceControl { } } + /// Launches the app on the device, streams the logs, and stays attached until the app terminates. + /// + /// If [startStopped] is true, the app will be launched and paused, waiting + /// for a debugger to attach. + Future launchAppAndStreamLogs({ + required IOSCoreDeviceLogForwarder coreDeviceLogForwarder, + required String deviceId, + required String bundleId, + List launchArguments = const [], + bool startStopped = false, + }) async { + if (!_xcode.isDevicectlInstalled) { + _logger.printTrace('devicectl is not installed.'); + return false; + } + if (coreDeviceLogForwarder.isRunning) { + _logger.printTrace( + 'A launch process is already running. It must be stopped before starting a new one.', + ); + return false; + } + + final launchCompleter = Completer(); + final List command = _launchAppCommand( + bundleId: bundleId, + deviceId: deviceId, + launchArguments: launchArguments, + startStopped: startStopped, + attachToConsole: true, + ); + + try { + final Process launchProcess = await _processUtils.start(command); + coreDeviceLogForwarder.launchProcess = launchProcess; + + final StreamSubscription stdoutSubscription = launchProcess.stdout + .transform(utf8.decoder) + .transform(const LineSplitter()) + .listen((String line) { + if (launchCompleter.isCompleted && !_ignoreLog(line)) { + coreDeviceLogForwarder.addLog(line); + } else { + _logger.printTrace(line); + } + + if (line.contains('Waiting for the application to terminate')) { + launchCompleter.complete(true); + } + }); + + final StreamSubscription stderrSubscription = launchProcess.stderr + .transform(utf8.decoder) + .transform(const LineSplitter()) + .listen((String line) { + if (launchCompleter.isCompleted && !_ignoreLog(line)) { + coreDeviceLogForwarder.addLog(line); + } else { + _logger.printTrace(line); + } + }); + + unawaited( + launchProcess.exitCode + .then((int status) async { + _logger.printTrace('lldb exited with code $status'); + await stdoutSubscription.cancel(); + await stderrSubscription.cancel(); + }) + .whenComplete(() async { + await coreDeviceLogForwarder.exit(); + if (!launchCompleter.isCompleted) { + launchCompleter.complete(false); + } + }), + ); + return launchCompleter.future; + } on ProcessException catch (err) { + _logger.printTrace('Error executing devicectl: $err'); + return false; + } + } + + bool _ignoreLog(String log) { + return _ignorePatterns.any((Pattern pattern) => log.contains(pattern)); + } + /// Terminate the [processId] on the device using `devicectl`. Future terminateProcess({required String deviceId, required int processId}) async { if (!_xcode.isDevicectlInstalled) { @@ -644,6 +842,65 @@ class IOSCoreDeviceControl { tempDirectory.deleteSync(recursive: true); } } + + Future> _listRunningProcesses({required String deviceId}) async { + if (!_xcode.isDevicectlInstalled) { + _logger.printTrace('devicectl is not installed.'); + return []; + } + + final Directory tempDirectory = _fileSystem.systemTempDirectory.createTempSync('core_devices.'); + final File output = tempDirectory.childFile('core_device_process_list.json')..createSync(); + + final command = [ + ..._xcode.xcrunCommand(), + 'devicectl', + 'device', + 'info', + 'processes', + '--device', + deviceId, + '--json-output', + output.path, + ]; + + try { + await _processUtils.run(command, throwOnError: true); + + final String stringOutput = output.readAsStringSync(); + + try { + if (json.decode(stringOutput) case { + 'result': {'runningProcesses': final List decodedProcesses}, + }) { + return decodedProcesses; + } + _logger.printTrace('devicectl returned unexpected JSON response: $stringOutput'); + return []; + } on FormatException { + // We failed to parse the devicectl output, or it returned junk. + _logger.printTrace('devicectl returned non-JSON response: $stringOutput'); + return []; + } + } on ProcessException catch (err) { + _logger.printTrace('Error executing devicectl: $err'); + return []; + } on FileSystemException catch (err) { + _logger.printTrace('Error reading output file: $err'); + return []; + } finally { + tempDirectory.deleteSync(recursive: true); + } + } + + Future> getRunningProcesses({required String deviceId}) async { + final List processesData = await _listRunningProcesses(deviceId: deviceId); + return [ + for (final Object? processObject in processesData) + if (processObject is Map) + IOSCoreDeviceRunningProcess.fromJson(processObject), + ]; + } } class IOSCoreDevice { @@ -1188,3 +1445,64 @@ class IOSCoreDeviceRunningProcess { final String? executable; final int? processIdentifier; } + +class IOSCoreDeviceInstallResult { + IOSCoreDeviceInstallResult._({ + required this.outcome, + required this.bundleID, + required this.databaseUUID, + required this.installationURL, + required this.launchServicesIdentifier, + }); + + /// Parse JSON from `devicectl device install app --device --json-output`. + /// + /// Example: + /// { + /// "info" : { + /// ... + /// "outcome" : "success", + /// ... + /// }, + /// "result" : { + /// ... + /// "installedApplications" : [ + /// { + /// "bundleID" : "com.example.app", + /// "databaseSequenceNumber" : 1324, + /// "databaseUUID" : "DF123456-1234-4C46-B3F2-EF7D18596C3D", + /// "installationURL" : "file:////private/var/containers/Bundle/Application/D12EFD3B-4567-890E-B1F2-23456DAA789A/Runner.app/", + /// "launchServicesIdentifier" : "unknown", + /// "options" : { + /// } + /// } + /// ] + /// } + /// } + factory IOSCoreDeviceInstallResult.fromJson(Map data) { + String? outcome; + final Object? info = data['info']; + if (info is Map) { + outcome = info['outcome'] as String?; + } + + final Map? installedApp = switch (data['result']) { + {'installedApplications': [final Map app, ...]} => app, + _ => null, + }; + + return IOSCoreDeviceInstallResult._( + outcome: outcome, + bundleID: installedApp?['bundleID'] as String?, + databaseUUID: installedApp?['databaseUUID'] as String?, + installationURL: installedApp?['installationURL'] as String?, + launchServicesIdentifier: installedApp?['launchServicesIdentifier'] as String?, + ); + } + + final String? outcome; + final String? bundleID; + final String? databaseUUID; + final String? installationURL; + final String? launchServicesIdentifier; +} diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart index a6dd75ee5a90d..bbcca01aae9f9 100644 --- a/packages/flutter_tools/lib/src/ios/devices.dart +++ b/packages/flutter_tools/lib/src/ios/devices.dart @@ -2,6 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +/// @docImport '../resident_runner.dart'; +library; + import 'dart:async'; import 'package:meta/meta.dart'; @@ -28,6 +31,7 @@ import '../device_vm_service_discovery_for_attach.dart'; import '../features.dart'; import '../globals.dart' as globals; import '../macos/xcdevice.dart'; +import '../macos/xcode.dart'; import '../mdns_discovery.dart'; import '../project.dart'; import '../protocol_discovery.dart'; @@ -37,6 +41,7 @@ import 'core_devices.dart'; import 'ios_deploy.dart'; import 'ios_workflow.dart'; import 'iproxy.dart'; +import 'lldb.dart'; import 'mac.dart'; import 'xcode_build_settings.dart'; import 'xcode_debug.dart'; @@ -414,8 +419,11 @@ class IOSDevice extends Device { int installationResult; try { if (isCoreDevice) { - installationResult = - await _coreDeviceControl.installApp(deviceId: id, bundlePath: bundle.path) ? 0 : 1; + final (bool installSuccess, _) = await _coreDeviceControl.installApp( + deviceId: id, + bundlePath: bundle.path, + ); + installationResult = installSuccess ? 0 : 1; } else { installationResult = await _iosDeploy.installApp( deviceId: id, @@ -964,7 +972,7 @@ class IOSDevice extends Device { // Release mode // Install app to device - final bool installSuccess = await _coreDeviceControl.installApp( + final (bool installSuccess, _) = await _coreDeviceControl.installApp( deviceId: id, bundlePath: package.deviceBundlePath, ); @@ -991,6 +999,14 @@ class IOSDevice extends Device { final Version? xcodeVersion = globals.xcode?.currentVersion; final bool lldbFeatureEnabled = featureFlags.isLLDBDebuggingEnabled; if (xcodeVersion != null && xcodeVersion.major >= 26 && lldbFeatureEnabled) { + final DeviceLogReader deviceLogReader = getLogReader( + app: package, + usingCISystem: debuggingOptions.usingCISystem, + ); + if (deviceLogReader is IOSDeviceLogReader) { + await deviceLogReader.listenToCoreDeviceLauncher(_coreDeviceLauncher); + } + final bool launchSuccess = await _coreDeviceLauncher.launchAppWithLLDBDebugger( deviceId: id, bundlePath: package.deviceBundlePath, @@ -1138,6 +1154,7 @@ class IOSDevice extends Device { app: app, iMobileDevice: _iMobileDevice, usingCISystem: usingCISystem, + xcode: globals.xcode, ), ); } @@ -1291,8 +1308,21 @@ String decodeSyslog(String line) { } } +/// Listens to multiple logging sources to get the logs from the physical iOS device. +/// +/// Potential logging sources include: +/// * `idevicesyslog` +/// * `ios-deploy` +/// * `devicectl` and `lldb` +/// * Unified Logging (Dart VM) +/// +/// Not all logging sources work on all devices. See [logSources] for limitations. +/// +/// Logs are added to the [linesController] and consumed through the [logLines] stream by +/// [FlutterDevice.startEchoingDeviceLog]. class IOSDeviceLogReader extends DeviceLogReader { IOSDeviceLogReader._( + this._xcode, this._iMobileDevice, this._majorSdkVersion, this._deviceId, @@ -1313,10 +1343,12 @@ class IOSDeviceLogReader extends DeviceLogReader { required IOSDevice device, IOSApp? app, required IMobileDevice iMobileDevice, + required Xcode? xcode, bool usingCISystem = false, }) { final String appName = app?.name?.replaceAll('.app', '') ?? ''; return IOSDeviceLogReader._( + xcode, iMobileDevice, device.majorSdkVersion, device.id, @@ -1331,6 +1363,7 @@ class IOSDeviceLogReader extends DeviceLogReader { /// Create an [IOSDeviceLogReader] for testing. factory IOSDeviceLogReader.test({ required IMobileDevice iMobileDevice, + required Xcode? xcode, bool useSyslog = true, bool usingCISystem = false, int? majorSdkVersion, @@ -1339,6 +1372,7 @@ class IOSDeviceLogReader extends DeviceLogReader { }) { final int sdkVersion = majorSdkVersion ?? (useSyslog ? 12 : 13); return IOSDeviceLogReader._( + xcode, iMobileDevice, sdkVersion, '1234', @@ -1357,6 +1391,7 @@ class IOSDeviceLogReader extends DeviceLogReader { final bool _isWirelesslyConnected; final bool _isCoreDevice; final IMobileDevice _iMobileDevice; + final Xcode? _xcode; final bool _usingCISystem; // Matches a syslog line from the runner. @@ -1448,6 +1483,15 @@ class IOSDeviceLogReader extends DeviceLogReader { @override Stream get logLines => linesController.stream; + final _coreDeviceLoggingSource = CoreDeviceLoggingSource(); + Future listenToCoreDeviceLauncher(IOSCoreDeviceLauncher launcher) async { + if (!useCoreDeviceLogging) { + return; + } + _coreDeviceLoggingSource.coreDeviceLauncher = launcher; + await _coreDeviceLoggingSource.listenToLogs(addToLinesController, linesController); + } + FlutterVmService? _connectedVmService; @override @@ -1469,6 +1513,15 @@ class IOSDeviceLogReader extends DeviceLogReader { // Also, `idevicesyslog` does not work with iOS 17 wireless devices, so use the // Dart VM for wireless devices. if (_isCoreDevice) { + // `idevicesyslog` stopped working with at least Xcode 26 (may have been before). + // Instead, use logging from `devicectl` and `lldb`. + final Version? xcodeVersion = _xcode?.currentVersion; + if (xcodeVersion != null && xcodeVersion.major >= 26) { + return _IOSDeviceLogSources( + primarySource: IOSDeviceLogSource.devicectlAndLldb, + fallbackSource: IOSDeviceLogSource.unifiedLogging, + ); + } if (_isWirelesslyConnected) { return _IOSDeviceLogSources(primarySource: IOSDeviceLogSource.unifiedLogging); } @@ -1536,6 +1589,13 @@ class IOSDeviceLogReader extends DeviceLogReader { logSources.fallbackSource == IOSDeviceLogSource.iosDeploy; } + /// Whether `devicectl` and `lldb` are used as the primary or fallback source for device logs. + @visibleForTesting + bool get useCoreDeviceLogging { + return logSources.primarySource == IOSDeviceLogSource.devicectlAndLldb || + logSources.fallbackSource == IOSDeviceLogSource.devicectlAndLldb; + } + /// Listen to Dart VM for logs on iOS 13 or greater. Future _listenToUnifiedLoggingEvents(FlutterVmService connectedVmService) async { if (!useUnifiedLogging) { @@ -1671,6 +1731,7 @@ class IOSDeviceLogReader extends DeviceLogReader { } idevicesyslogProcess?.kill(); _iosDeployDebugger?.detach(); + _coreDeviceLoggingSource.dispose(); } } @@ -1683,6 +1744,9 @@ enum IOSDeviceLogSource { /// Gets logs from the Dart VM Service. unifiedLogging, + + /// Gets logs from `devicectl` and `lldb` + devicectlAndLldb, } class _IOSDeviceLogSources { @@ -1692,6 +1756,62 @@ class _IOSDeviceLogSources { final IOSDeviceLogSource? fallbackSource; } +@visibleForTesting +class CoreDeviceLoggingSource { + IOSCoreDeviceLauncher? coreDeviceLauncher; + final _loggingSubscriptions = >[]; + + Future listenToLogs( + void Function(String, IOSDeviceLogSource) onLogMessage, + StreamController linesController, + ) async { + final IOSCoreDeviceLogForwarder? debugger = coreDeviceLauncher?.coreDeviceLogForwarder; + if (debugger != null) { + _loggingSubscriptions.add( + debugger.logLines.listen( + (String line) => + onLogMessage(_debuggerLineHandler(line), IOSDeviceLogSource.devicectlAndLldb), + onError: linesController.addError, + onDone: linesController.close, + cancelOnError: true, + ), + ); + } + + final LLDBLogForwarder? lldbLogForwarder = coreDeviceLauncher?.lldbLogForwarder; + if (lldbLogForwarder != null) { + _loggingSubscriptions.add( + lldbLogForwarder.logLines.listen( + (String line) => + onLogMessage(_debuggerLineHandler(line), IOSDeviceLogSource.devicectlAndLldb), + onError: linesController.addError, + onDone: linesController.close, + cancelOnError: true, + ), + ); + } + } + + // Logging from native code/Flutter engine is prefixed by timestamp and process metadata: + // 2020-09-15 19:15:10.931434-0700 Runner[541:226276] Did finish launching. + // 2020-09-15 19:15:10.931434-0700 Runner[541:226276] [Category] Did finish launching. + // + // Logging from the dart code has no prefixing metadata. + final _debuggerLoggingRegex = RegExp(r'^\S* \S* \S*\[[0-9:]*] (.*)'); + + // Strip off the logging metadata (leave the category), or just echo the line. + String _debuggerLineHandler(String line) => + _debuggerLoggingRegex.firstMatch(line)?.group(1) ?? line; + + void dispose() { + for (final StreamSubscription loggingSubscription in _loggingSubscriptions) { + loggingSubscription.cancel(); + } + coreDeviceLauncher?.lldbLogForwarder.exit(); + coreDeviceLauncher?.coreDeviceLogForwarder.exit(); + } +} + /// A [DevicePortForwarder] specialized for iOS usage with iproxy. class IOSDevicePortForwarder extends DevicePortForwarder { /// Create a new [IOSDevicePortForwarder]. diff --git a/packages/flutter_tools/lib/src/ios/lldb.dart b/packages/flutter_tools/lib/src/ios/lldb.dart index 025876ecec4f6..8da71ee17d082 100644 --- a/packages/flutter_tools/lib/src/ios/lldb.dart +++ b/packages/flutter_tools/lib/src/ios/lldb.dart @@ -29,6 +29,9 @@ class LLDB { /// Whether or not a LLDB process is running. bool get isRunning => _lldbProcess != null; + /// Whether or not the LLDB process has attached and resumed the application process. + var _isAttached = false; + /// The process id of the application running on the iOS device. int? get appProcessId => _lldbProcess?.appProcessId; @@ -49,6 +52,9 @@ class LLDB { /// Example: Breakpoint 1: no locations (pending). static final _breakpointPattern = RegExp(r'Breakpoint (\d+)*:'); + /// A list of log patterns to ignore. + static final _ignorePatterns = [RegExp(r'\d+ location added to breakpoint \d+')]; + /// Breakpoint script required for JIT on iOS. /// /// This should match the "handle_new_rx_page" function in [IosProject._lldbPythonHelperTemplate]. @@ -75,7 +81,14 @@ return False /// Starts an LLDB process and inputs commands to start debugging the [appProcessId]. /// This will start a debugserver on the device, which is required for JIT. - Future attachAndStart(String deviceId, int appProcessId) async { + /// + /// After attaching and starting the app process, forwards logs to [lldbLogForwarder]. + /// This may include crash logs. + Future attachAndStart({ + required String deviceId, + required int appProcessId, + required LLDBLogForwarder lldbLogForwarder, + }) async { Timer? timer; try { timer = Timer(const Duration(minutes: 1), () { @@ -90,7 +103,10 @@ return False ); }); - final bool start = await _startLLDB(appProcessId); + final bool start = await _startLLDB( + appProcessId: appProcessId, + lldbLogForwarder: lldbLogForwarder, + ); if (!start) { return false; } @@ -98,6 +114,7 @@ return False await _setBreakpoint(); await _attachToAppProcess(appProcessId); await _resumeProcess(); + _isAttached = true; } on _LLDBError catch (e) { _logger.printTrace('lldb failed with error: ${e.message}'); exit(); @@ -113,7 +130,10 @@ return False /// Streams `stdout` and `stderr`. When receiving a log from `stdout`, check /// if it matches the pattern [_logCompleter] is waiting for. If a log is sent /// to `stderr`, complete with an error and stop the process. - Future _startLLDB(int appProcessId) async { + Future _startLLDB({ + required int appProcessId, + required LLDBLogForwarder lldbLogForwarder, + }) async { if (_lldbProcess != null) { _logger.printTrace( 'An LLDB process is already running. It must be stopped before starting a new one.', @@ -131,16 +151,29 @@ return False .transform(utf8.decoder) .transform(const LineSplitter()) .listen((String line) { - _logger.printTrace('[lldb]: $line'); - _logCompleter?.checkForMatch(line); + if (_isAttached && !_ignoreLog(line)) { + // Only forwards logs after LLDB is attached. All logs before then are part of the + // attach process. + + lldbLogForwarder.addLog(line); + } else { + _logger.printTrace('[lldb]: $line'); + _logCompleter?.checkForMatch(line); + } }); final StreamSubscription stderrSubscription = _lldbProcess!.stderr .transform(utf8.decoder) .transform(const LineSplitter()) .listen((String line) { - _logger.printTrace('[lldb]: $line'); _monitorError(line); + if (_isAttached && !_ignoreLog(line)) { + // Only forwards logs after LLDB is attached. All logs before then are part of the + // attach process. + lldbLogForwarder.addLog(line); + } else { + _logger.printTrace('[lldb]: $line'); + } }); unawaited( @@ -166,6 +199,7 @@ return False final bool success = (_lldbProcess == null) || _lldbProcess!.kill(); _lldbProcess = null; _logCompleter = null; + _isAttached = false; return success; } @@ -258,6 +292,10 @@ return False exit(); } } + + bool _ignoreLog(String log) { + return _ignorePatterns.any((Pattern pattern) => log.contains(pattern)); + } } class _LLDBError implements Exception { @@ -334,3 +372,23 @@ class _LLDBProcess { return _stdinWriteFuture; } } + +/// This class is used to forward logs from LLDB to any active listeners. +class LLDBLogForwarder { + final _streamController = StreamController.broadcast(); + Stream get logLines => _streamController.stream; + + void addLog(String log) { + if (!_streamController.isClosed) { + _streamController.add(log); + } + } + + Future exit() async { + if (_streamController.hasListener) { + // Tell listeners the process died. + await _streamController.close(); + } + return true; + } +} diff --git a/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart b/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart index 253bc7fe3cd5a..6a54493d09216 100644 --- a/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart +++ b/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart @@ -180,9 +180,6 @@ Future> _xcodeBuildSettingsLines({ parsedBuildNumber(manifest: project.manifest, buildInfo: buildInfo) ?? '1'; xcodeBuildSettings.add('FLUTTER_BUILD_NUMBER=$buildNumber'); - // The current build mode being targeted. - xcodeBuildSettings.add('FLUTTER_CLI_BUILD_MODE=${buildInfo.mode.cliName}'); - // CoreDevices in debug and profile mode are launched, but not built, via Xcode. // Set the CONFIGURATION_BUILD_DIR so Xcode knows where to find the app // bundle to launch. diff --git a/packages/flutter_tools/lib/src/ios/xcode_debug.dart b/packages/flutter_tools/lib/src/ios/xcode_debug.dart index aec8d559e4712..d6bbc1298b73c 100644 --- a/packages/flutter_tools/lib/src/ios/xcode_debug.dart +++ b/packages/flutter_tools/lib/src/ios/xcode_debug.dart @@ -410,6 +410,7 @@ class XcodeDebug { final String schemeXml = schemeFile.readAsStringSync(); try { final document = XmlDocument.parse(schemeXml); + // ignore: experimental_member_use final Iterable nodes = document.xpath('/Scheme/LaunchAction'); if (nodes.isEmpty) { _logger.printError('Failed to find LaunchAction for the Scheme in ${schemeFile.path}.'); diff --git a/packages/flutter_tools/lib/src/ios/xcresult.dart b/packages/flutter_tools/lib/src/ios/xcresult.dart index 698d31435f32f..c9f44a1e953c0 100644 --- a/packages/flutter_tools/lib/src/ios/xcresult.dart +++ b/packages/flutter_tools/lib/src/ios/xcresult.dart @@ -85,23 +85,23 @@ class XCResult { }) { final issues = []; - /// Detect which xcresult JSON format is being used to ensure backwards compatibility. - /// - /// Xcode 16 introduced a new `get build-results` command with a flatter JSON structure. - /// Older versions use the original `get` command with a deeply nested structure. - /// We differentiate them by checking for the presence of top-level 'errors' or 'warnings' - /// keys, which are unique to the modern format. + // Detect which xcresult JSON format is being used to ensure backwards compatibility. + // + // Xcode 16 introduced a new `get build-results` command with a flatter JSON structure. + // Older versions use the original `get` command with a deeply nested structure. + // We differentiate them by checking for the presence of top-level 'errors' or 'warnings' + // keys, which are unique to the modern format. if (resultJson.containsKey('errors') || resultJson.containsKey('warnings')) { issues.addAll( - _parseIssuesFromNewFormat( + _parseIssuesFromXcode16Format( type: XCResultIssueType.error, jsonList: resultJson['errors'], issueDiscarders: issueDiscarders, ), ); issues.addAll( - _parseIssuesFromNewFormat( + _parseIssuesFromXcode16Format( type: XCResultIssueType.warning, jsonList: resultJson['warnings'], issueDiscarders: issueDiscarders, @@ -415,8 +415,8 @@ bool _shouldDiscardIssue({ return false; } -/// Helper to parse issues from the new (Xcode 16+) flat list format. -List _parseIssuesFromNewFormat({ +/// Helper to parse issues from the (Xcode 16+) flat list format. +List _parseIssuesFromXcode16Format({ required XCResultIssueType type, required Object? jsonList, required List issueDiscarders, diff --git a/packages/flutter_tools/lib/src/isolated/devfs_web.dart b/packages/flutter_tools/lib/src/isolated/devfs_web.dart index 8b19f531df041..c6e756b0701e0 100644 --- a/packages/flutter_tools/lib/src/isolated/devfs_web.dart +++ b/packages/flutter_tools/lib/src/isolated/devfs_web.dart @@ -67,7 +67,7 @@ class WebDevFS implements DevFS { required this.useSseForInjectedClient, required this.buildInfo, required this.enableDwds, - required this.enableDds, + required this.ddsConfig, required this.entrypoint, required this.expressionCompiler, required this.chromiumLauncher, @@ -100,7 +100,7 @@ class WebDevFS implements DevFS { final bool useSseForInjectedClient; final BuildInfo buildInfo; final bool enableDwds; - final bool enableDds; + final DartDevelopmentServiceConfiguration ddsConfig; final bool testMode; final bool ddcModuleSystem; final bool canaryFeatures; @@ -206,7 +206,7 @@ class WebDevFS implements DevFS { useSseForInjectedClient, buildInfo, enableDwds, - enableDds, + ddsConfig, entrypoint, expressionCompiler, webRenderer: webRenderer, @@ -403,13 +403,9 @@ class WebDevFS implements DevFS { } on FileSystemException catch (err) { throwToolExit('Failed to load recompiled sources:\n$err'); } - if (fullRestart) { - webAssetServer.performRestart( - modules, - writeRestartScripts: ddcModuleSystem && !bundleFirstUpload, - ); - } else { - webAssetServer.performReload(modules); + webAssetServer.updateModulesAndDigests(modules); + if (!bundleFirstUpload && ddcModuleSystem) { + webAssetServer.writeReloadedSources(modules); } return UpdateFSReport( success: true, diff --git a/packages/flutter_tools/lib/src/isolated/native_assets/dart_hook_result.dart b/packages/flutter_tools/lib/src/isolated/native_assets/dart_hook_result.dart new file mode 100644 index 0000000000000..75c4c640ee8ea --- /dev/null +++ b/packages/flutter_tools/lib/src/isolated/native_assets/dart_hook_result.dart @@ -0,0 +1,129 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:code_assets/code_assets.dart'; +import 'package:data_assets/data_assets.dart'; +import 'package:hooks/hooks.dart'; +import 'package:hooks_runner/hooks_runner.dart'; +import '../../asset.dart' show FlutterHookResult, HookAsset; +import 'native_assets.dart' show FlutterCodeAsset; + +/// The assets produced by a Dart hook run and the dependencies of those assets. +/// +/// If any of the dependencies change, then the Dart build should be performed +/// again. +final class DartHooksResult { + const DartHooksResult({ + required this.buildStart, + required this.buildEnd, + required this.codeAssets, + required this.dataAssets, + required this.dependencies, + }); + + DartHooksResult.empty() + : buildStart = DateTime.now(), + buildEnd = DateTime.now(), + codeAssets = const [], + dataAssets = const [], + dependencies = const []; + + factory DartHooksResult.fromJson(Map json) { + if (json case { + _buildStartKey: final String buildStartString, + _buildEndKey: final String buildEndString, + _dependenciesKey: final List? dependenciesList, + _codeAssetsKey: final List codeAssetsList, + _dataAssetsKey: final List? dataAssetsList, + }) { + final DateTime buildStart = DateTime.parse(buildStartString); + final DateTime buildEnd = DateTime.parse(buildEndString); + final dependencies = [ + for (final Object? encodedUri in dependenciesList ?? []) + Uri.parse(encodedUri! as String), + ]; + final codeAssets = [ + for (final (Map codeAsset, String target) in codeAssetsList.map( + (Object? codeJson) => switch (codeJson) { + {_assetKey: final Map codeAsset, _targetKey: final String target} => ( + codeAsset, + target, + ), + _ => throw UnimplementedError(), + }, + )) + FlutterCodeAsset( + codeAsset: CodeAsset.fromEncoded(EncodedAsset.fromJson(codeAsset)), + target: Target.fromString(target), + ), + ]; + final dataAssets = [ + for (final Object? dataAssetJson in dataAssetsList ?? const []) + DataAsset.fromEncoded(EncodedAsset.fromJson(dataAssetJson! as Map)), + ]; + return DartHooksResult( + buildStart: buildStart, + buildEnd: buildEnd, + codeAssets: codeAssets, + dataAssets: dataAssets, + dependencies: dependencies, + ); + } else { + throw ArgumentError('Invalid json $json'); + } + } + + /// The timestamp at which we start a build - so the timestamp of the inputs. + final DateTime buildStart; + + /// The timestamp at which we finish a build - so the timestamp of the + /// outputs. + final DateTime buildEnd; + final List codeAssets; + final List dataAssets; + final List dependencies; + + Map toJson() => { + _buildStartKey: buildStart.toIso8601String(), + _buildEndKey: buildEnd.toIso8601String(), + _dependenciesKey: [for (final Uri dep in dependencies) dep.toString()], + _codeAssetsKey: [ + for (final FlutterCodeAsset code in codeAssets) + { + _assetKey: code.codeAsset.encode().toJson(), + _targetKey: code.target.toString(), + }, + ], + _dataAssetsKey: [for (final DataAsset asset in dataAssets) asset.encode().toJson()], + }; + + static const _buildStartKey = 'build_start'; + static const _buildEndKey = 'build_end'; + static const _dependenciesKey = 'dependencies'; + static const _codeAssetsKey = 'code_assets'; + static const _dataAssetsKey = 'data_assets'; + static const _assetKey = 'asset'; + static const _targetKey = 'target'; + + /// The files that eventually should be bundled with the app. + List get filesToBeBundled => [ + for (final FlutterCodeAsset code in codeAssets) + if (code.codeAsset.linkMode is DynamicLoadingBundled) code.codeAsset.file!, + ]; + + FlutterHookResult get asFlutterResult { + final List hookAssets = dataAssets + .map( + (DataAsset asset) => + HookAsset(file: asset.file, name: asset.name, package: asset.package), + ) + .toList(); + return FlutterHookResult( + buildStart: buildStart, + buildEnd: buildEnd, + dataAssets: hookAssets, + dependencies: dependencies, + ); + } +} diff --git a/packages/flutter_tools/lib/src/isolated/native_assets/linux/native_assets.dart b/packages/flutter_tools/lib/src/isolated/native_assets/linux/native_assets.dart index be5cb9a34d8e7..07a5df00f020b 100644 --- a/packages/flutter_tools/lib/src/isolated/native_assets/linux/native_assets.dart +++ b/packages/flutter_tools/lib/src/isolated/native_assets/linux/native_assets.dart @@ -14,9 +14,11 @@ import '../../../globals.dart' as globals; /// Search for the accompanying `clang`, `ar`, and `ld`. Future cCompilerConfigLinux() async { const kClangPlusPlusBinary = 'clang++'; - const kClangBinary = 'clang'; - const kArBinary = 'llvm-ar'; - const kLdBinary = 'ld.lld'; + // NOTE: these binaries sometimes have different names depending on the installation; + // thus, we check for a few possible options (in order of preference). + const kClangBinaryOptions = ['clang']; + const kArBinaryOptions = ['llvm-ar', 'ar']; + const kLdBinaryOptions = ['ld.lld', 'ld']; final ProcessResult whichResult = await globals.processManager.run([ 'which', @@ -29,19 +31,24 @@ Future cCompilerConfigLinux() async { clangPpFile = globals.fs.file(await clangPpFile.resolveSymbolicLinks()); final Directory clangDir = clangPpFile.parent; - final binaryPaths = {}; - for (final binary in [kClangBinary, kArBinary, kLdBinary]) { - final File binaryFile = clangDir.childFile(binary); - if (!await binaryFile.exists()) { - throwToolExit("Failed to find $binary relative to $clangPpFile: $binaryFile doesn't exist."); - } - binaryPaths[binary] = binaryFile.uri; - } - final Uri? archiver = binaryPaths[kArBinary]; - final Uri? compiler = binaryPaths[kClangBinary]; - final Uri? linker = binaryPaths[kLdBinary]; - if (archiver == null || compiler == null || linker == null) { - throwToolExit('Clang could not be found.'); - } - return CCompilerConfig(archiver: archiver, compiler: compiler, linker: linker); + return CCompilerConfig( + linker: _findExecutableIfExists(path: clangDir, possibleExecutableNames: kLdBinaryOptions), + compiler: _findExecutableIfExists(path: clangDir, possibleExecutableNames: kClangBinaryOptions), + archiver: _findExecutableIfExists(path: clangDir, possibleExecutableNames: kArBinaryOptions), + ); +} + +/// Searches for an executable with a name in [possibleExecutableNames] +/// at [path] and returns the first one it finds, if one is found. +/// Otherwise, throws an error. +Uri _findExecutableIfExists({ + required List possibleExecutableNames, + required Directory path, +}) { + return possibleExecutableNames + .map((execName) => path.childFile(execName)) + .where((file) => file.existsSync()) + .map((file) => file.uri) + .firstOrNull ?? + throwToolExit('Failed to find any of $possibleExecutableNames in $path'); } diff --git a/packages/flutter_tools/lib/src/isolated/native_assets/native_assets.dart b/packages/flutter_tools/lib/src/isolated/native_assets/native_assets.dart index d4ac0fd6b4945..1ed907c050a11 100644 --- a/packages/flutter_tools/lib/src/isolated/native_assets/native_assets.dart +++ b/packages/flutter_tools/lib/src/isolated/native_assets/native_assets.dart @@ -5,6 +5,7 @@ // Logic for native assets shared between all host OSes. import 'package:code_assets/code_assets.dart'; +import 'package:data_assets/data_assets.dart'; import 'package:hooks/hooks.dart'; import 'package:hooks_runner/hooks_runner.dart'; import 'package:logging/logging.dart' as logging; @@ -20,64 +21,11 @@ import '../../cache.dart'; import '../../convert.dart'; import '../../features.dart'; import '../../globals.dart' as globals; -import '../../macos/xcode.dart' as xcode; import 'android/native_assets.dart'; +import 'dart_hook_result.dart'; import 'ios/native_assets.dart'; -import 'linux/native_assets.dart'; import 'macos/native_assets.dart'; -import 'macos/native_assets_host.dart'; -import 'windows/native_assets.dart'; - -/// The assets produced by a Dart build and the dependencies of those assets. -/// -/// If any of the dependencies change, then the Dart build should be performed -/// again. -final class DartBuildResult { - const DartBuildResult(this.codeAssets, this.dependencies); - - const DartBuildResult.empty() - : codeAssets = const [], - dependencies = const []; - - factory DartBuildResult.fromJson(Map json) { - final dependencies = [ - for (final Object? encodedUri in json['dependencies']! as List) - Uri.parse(encodedUri! as String), - ]; - final codeAssets = [ - for (final Object? json in json['code_assets']! as List) - FlutterCodeAsset( - codeAsset: CodeAsset.fromEncoded( - EncodedAsset.fromJson( - (json! as Map)['asset']! as Map, - ), - ), - target: Target.fromString((json as Map)['target']! as String), - ), - ]; - return DartBuildResult(codeAssets, dependencies); - } - - final List codeAssets; - final List dependencies; - - Map toJson() => { - 'dependencies': [for (final Uri dep in dependencies) dep.toString()], - 'code_assets': [ - for (final FlutterCodeAsset code in codeAssets) - { - 'asset': code.codeAsset.encode().toJson(), - 'target': code.target.toString(), - }, - ], - }; - - /// The files that eventually should be bundled with the app. - List get filesToBeBundled => [ - for (final FlutterCodeAsset code in codeAssets) - if (code.codeAsset.linkMode is DynamicLoadingBundled) code.codeAsset.file!, - ]; -} +import 'targets.dart'; /// A [CodeAsset] for a specific [target]. /// @@ -90,57 +38,66 @@ class FlutterCodeAsset { final CodeAsset codeAsset; final Target target; - - @override - String toString() => - 'FlutterCodeAsset(codeAsset: ${codeAsset.id} ${codeAsset.file}, target: $target)'; } -/// Invokes the build of all transitive Dart packages and prepares code assets +/// Matching [CodeAsset] and [DataAsset] in native assets - but Flutter could +/// support more asset types in the future. +enum SupportedAssetTypes { codeAssets, dataAssets } + +/// Invokes the build of all transitive Dart package hooks and prepares assets /// to be included in the native build. -Future runFlutterSpecificDartBuild({ +Future runFlutterSpecificHooks({ required Map environmentDefines, required FlutterNativeAssetsBuildRunner buildRunner, required TargetPlatform targetPlatform, required Uri projectUri, required FileSystem fileSystem, }) async { - final OS targetOS = getNativeOSFromTargetPlatform(targetPlatform); - final Uri buildUri = nativeAssetsBuildUri(projectUri, targetOS); + final Uri buildUri = nativeAssetsBuildUri(projectUri, targetPlatform.osName); final Directory buildDir = fileSystem.directory(buildUri); - - final flutterTester = targetPlatform == TargetPlatform.tester; - if (!await buildDir.exists()) { // Ensure the folder exists so the native build system can copy it even // if there's no native assets. await buildDir.create(recursive: true); } - if (!await _nativeBuildRequired(buildRunner)) { - return const DartBuildResult.empty(); + if (!await _hookRunRequired(buildRunner)) { + return DartHooksResult.empty(); } - final BuildMode buildMode = _getBuildMode(environmentDefines, flutterTester); - final List architectures = flutterTester - ? [Architecture.current] - : _architecturesForOS(targetPlatform, targetOS, environmentDefines); - final DartBuildResult result = architectures.isEmpty - ? const DartBuildResult.empty() - : await _runDartBuild( - environmentDefines: environmentDefines, - buildRunner: buildRunner, - architectures: architectures, - projectUri: projectUri, - linkingEnabled: _nativeAssetsLinkingEnabled(buildMode), - fileSystem: fileSystem, - targetOS: targetOS, - ); - return result; + final supportedAssetTypes = [ + if (featureFlags.isNativeAssetsEnabled) SupportedAssetTypes.codeAssets, + if (featureFlags.isDartDataAssetsEnabled) SupportedAssetTypes.dataAssets, + ]; + final List targets = AssetBuildTarget.targetsFor( + targetPlatform: targetPlatform, + environmentDefines: environmentDefines, + fileSystem: fileSystem, + supportedAssetTypes: supportedAssetTypes, + ); + + // This is ugly, but sadly necessary as fetching the cCompilerConfig is async, + // while using it in native_assets_builder is not. + for (final CodeAssetTarget target in targets.whereType()) { + await buildRunner.setCCompilerConfig(target); + } + + final BuildMode buildMode = _getBuildMode( + environmentDefines, + targetPlatform == TargetPlatform.tester, + ); + final bool linkingEnabled = _nativeAssetsLinkingEnabled(buildMode); + + return _runDartHooks( + buildRunner: buildRunner, + projectUri: projectUri, + linkingEnabled: linkingEnabled, + targets: targets, + ); } Future installCodeAssets({ - required DartBuildResult dartBuildResult, + required DartHooksResult dartHookResult, required Map environmentDefines, required TargetPlatform targetPlatform, required Uri projectUri, @@ -148,14 +105,14 @@ Future installCodeAssets({ required Uri nativeAssetsFileUri, }) async { final OS targetOS = getNativeOSFromTargetPlatform(targetPlatform); - final Uri buildUri = nativeAssetsBuildUri(projectUri, targetOS); + final Uri buildUri = nativeAssetsBuildUri(projectUri, targetOS.name); final flutterTester = targetPlatform == TargetPlatform.tester; final BuildMode buildMode = _getBuildMode(environmentDefines, flutterTester); final String? codesignIdentity = environmentDefines[kCodesignIdentity]; final Map assetTargetLocations = assetTargetLocationsForOS( targetOS, - dartBuildResult.codeAssets, + dartHookResult.codeAssets, flutterTester, buildUri, ); @@ -178,7 +135,7 @@ Future installCodeAssets({ /// Programmatic API to be used by Dart launchers to invoke native builds. /// /// It enables mocking `package:hooks_runner` package. -/// It also enables mocking native toolchain discovery via [cCompilerConfig]. +/// It also enables mocking native toolchain discovery via [setCCompilerConfig]. abstract interface class FlutterNativeAssetsBuildRunner { /// All packages in the transitive dependencies that have a `build.dart`. Future> packagesWithNativeAssets(); @@ -195,11 +152,7 @@ abstract interface class FlutterNativeAssetsBuildRunner { required BuildResult buildResult, }); - /// The C compiler config to use for compilation. - Future get cCompilerConfig; - - /// The NDK compiler to use to use for compilation for Android. - Future get ndkCCompilerConfig; + Future setCCompilerConfig(CodeAssetTarget target); } /// Uses `package:hooks_runner` for its implementation. @@ -306,26 +259,7 @@ class FlutterNativeAssetsBuildRunnerImpl implements FlutterNativeAssetsBuildRunn } @override - late final Future cCompilerConfig = () { - if (globals.platform.isMacOS || globals.platform.isIOS) { - return cCompilerConfigMacOS(); - } - if (globals.platform.isLinux) { - return cCompilerConfigLinux(); - } - if (globals.platform.isWindows) { - return cCompilerConfigWindows(); - } - if (globals.platform.isAndroid) { - throwToolExit('Should use ndkCCompilerConfig for Android.'); - } - throwToolExit('Unknown target OS.'); - }(); - - @override - late final Future ndkCCompilerConfig = () { - return cCompilerConfigAndroid(); - }(); + Future setCCompilerConfig(CodeAssetTarget target) async => target.setCCompilerConfig(); } Future _writeNativeAssetsJson( @@ -383,7 +317,7 @@ bool _nativeAssetsLinkingEnabled(BuildMode buildMode) { } } -Future _nativeBuildRequired(FlutterNativeAssetsBuildRunner buildRunner) async { +Future _hookRunRequired(FlutterNativeAssetsBuildRunner buildRunner) async { final List packagesWithNativeAssets = await buildRunner.packagesWithNativeAssets(); if (packagesWithNativeAssets.isEmpty) { globals.logger.printTrace( @@ -392,11 +326,12 @@ Future _nativeBuildRequired(FlutterNativeAssetsBuildRunner buildRunner) as return false; } - if (!featureFlags.isNativeAssetsEnabled) { + if (!featureFlags.isNativeAssetsEnabled && !featureFlags.isDartDataAssetsEnabled) { final String packageNames = packagesWithNativeAssets.join(' '); throwToolExit( - 'Package(s) $packageNames require the native assets feature to be enabled. ' - 'Enable using `flutter config --enable-native-assets`.', + 'Package(s) $packageNames require the dart assets feature to be enabled.\n' + ' Enable code assets using `flutter config --enable-native-assets`.' + ' Enable data assets using `flutter config --enable-dart-data-assets`.', ); } return true; @@ -429,9 +364,9 @@ Future ensureNoNativeAssetsOrOsIsSupported( /// This should be the same for different archs, debug/release, etc. /// It should work for all macOS. -Uri nativeAssetsBuildUri(Uri projectUri, OS os) { +Uri nativeAssetsBuildUri(Uri projectUri, String osName) { final String buildDir = getBuildDirectory(); - return projectUri.resolve('$buildDir/native_assets/$os/'); + return projectUri.resolve('$buildDir/native_assets/$osName/'); } Map _assetTargetLocationsWindowsLinux( @@ -570,92 +505,58 @@ Future _copyNativeCodeAssetsForOS( /// /// This will invoke `hook/build.dart` and `hook/link.dart` (if applicable) for /// all transitive dart packages that define such hooks. -Future _runDartBuild({ - required Map environmentDefines, +Future _runDartHooks({ required FlutterNativeAssetsBuildRunner buildRunner, - required List architectures, + required List targets, required Uri projectUri, - required FileSystem fileSystem, - required OS? targetOS, required bool linkingEnabled, }) async { - final architectureString = architectures.length == 1 - ? architectures.single.toString() - : architectures.toList().toString(); + final buildStart = DateTime.now(); + + final String targetString = targets + .map((AssetBuildTarget target) => target.targetString) + .join(', '); + + globals.logger.printTrace('Building native assets for $targetString.'); - globals.logger.printTrace('Building native assets for $targetOS $architectureString.'); final codeAssets = []; + final dataAssets = []; final dependencies = {}; - - final EnvironmentType? environmentType; - if (targetOS == OS.iOS) { - final String? sdkRoot = environmentDefines[kSdkRoot]; - if (sdkRoot == null) { - throw MissingDefineException(kSdkRoot, 'native_assets'); + for (var i = 0; i < targets.length; i++) { + final AssetBuildTarget target = targets[i]; + final List extensions; + if (i > 0) { + // We do not have to rebuild assets for the same target. + extensions = target.extensions.whereType().toList(); + } else { + extensions = target.extensions; } - environmentType = xcode.environmentTypeFromSdkroot(sdkRoot, fileSystem); - } else { - environmentType = null; - } - - final CCompilerConfig? cCompilerConfig = targetOS == OS.android - ? await buildRunner.ndkCCompilerConfig - : await buildRunner.cCompilerConfig; + final BuildResult buildResult = await _build(buildRunner, extensions, linkingEnabled); - final String? codesignIdentity = environmentDefines[kCodesignIdentity]; - assert(codesignIdentity == null || targetOS == OS.iOS || targetOS == OS.macOS); - - final AndroidCodeConfig? androidConfig = targetOS == OS.android - ? AndroidCodeConfig(targetNdkApi: targetAndroidNdkApi(environmentDefines)) - : null; - final IOSCodeConfig? iosConfig = targetOS == OS.iOS - ? IOSCodeConfig(targetVersion: targetIOSVersion, targetSdk: getIOSSdk(environmentType!)) - : null; - final MacOSCodeConfig? macOSConfig = targetOS == OS.macOS - ? MacOSCodeConfig(targetVersion: targetMacOSVersion) - : null; - for (final architecture in architectures) { - final target = Target.fromArchitectureAndOS(architecture, targetOS!); - final BuildResult? buildResult = await buildRunner.build( - extensions: [ - CodeAssetExtension( - targetArchitecture: architecture, - linkModePreference: LinkModePreference.dynamic, - cCompiler: cCompilerConfig, - targetOS: targetOS, - android: androidConfig, - iOS: iosConfig, - macOS: macOSConfig, - ), - ], - linkingEnabled: linkingEnabled, - ); - if (buildResult == null) { - _throwNativeAssetsBuildFailed(); - } - dependencies.addAll(buildResult.dependencies); - codeAssets.addAll(_filterCodeAssets(buildResult.encodedAssets, target)); + LinkResult? linkResult; if (linkingEnabled) { - final LinkResult? linkResult = await buildRunner.link( - extensions: [ - CodeAssetExtension( - targetArchitecture: architecture, - linkModePreference: LinkModePreference.dynamic, - cCompiler: cCompilerConfig, - targetOS: targetOS, - android: androidConfig, - iOS: iosConfig, - macOS: macOSConfig, + linkResult = await _link(buildRunner, extensions, buildResult); + if (target is CodeAssetTarget) { + codeAssets.addAll( + _filterCodeAssets( + linkResult.encodedAssets, + Target.fromArchitectureAndOS(target.architecture, target.os), ), - ], - buildResult: buildResult, - ); - if (linkResult == null) { - _throwNativeAssetsLinkFailed(); + ); } - codeAssets.addAll(_filterCodeAssets(linkResult.encodedAssets, target)); + dataAssets.addAll(_filterDataAssets(linkResult.encodedAssets)); dependencies.addAll(linkResult.dependencies); } + if (target is CodeAssetTarget) { + codeAssets.addAll( + _filterCodeAssets( + buildResult.encodedAssets, + Target.fromArchitectureAndOS(target.architecture, target.os), + ), + ); + } + dataAssets.addAll(_filterDataAssets(buildResult.encodedAssets)); + dependencies.addAll(buildResult.dependencies); } if (codeAssets.isNotEmpty) { globals.logger.printTrace( @@ -664,72 +565,68 @@ Future _runDartBuild({ 'https://dart.dev/interop/c-interop#native-assets for more details.', ); } - globals.logger.printTrace('Building native assets for $targetOS $architectureString done.'); - return DartBuildResult(codeAssets, dependencies.toList()); + + if (dataAssets.map((DataAsset asset) => asset.id).toSet().length != dataAssets.length) { + throwToolExit( + 'Found duplicates in the data assets: ${dataAssets.map((DataAsset e) => e.id).toList()} while compiling for ${targets.map((AssetBuildTarget e) => e.targetString).toList()}.', + ); + } + + if (codeAssets.toSet().length != codeAssets.length) { + throwToolExit( + 'Found duplicates in the code assets: ${codeAssets.map((FlutterCodeAsset e) => e.codeAsset.id).toList()} while compiling for ${targets.map((AssetBuildTarget e) => e.targetString).toList()}.', + ); + } + + globals.logger.printTrace('Building native assets for $targetString done.'); + + return DartHooksResult( + buildStart: buildStart, + buildEnd: DateTime.now(), + codeAssets: codeAssets, + dataAssets: dataAssets, + dependencies: dependencies.toList(), + ); } -List _filterCodeAssets(List assets, Target target) => assets +Iterable _filterCodeAssets(Iterable assets, Target target) => assets .where((EncodedAsset asset) => asset.isCodeAsset) .map( (EncodedAsset encodedAsset) => FlutterCodeAsset(codeAsset: encodedAsset.asCodeAsset, target: target), - ) - .toList(); + ); -List _architecturesForOS( - TargetPlatform targetPlatform, - OS targetOS, - Map environmentDefines, -) { - switch (targetOS) { - case OS.linux: - return [_getNativeArchitecture(targetPlatform)]; - case OS.windows: - return [_getNativeArchitecture(targetPlatform)]; - case OS.macOS: - final List darwinArchs = - _emptyToNull( - environmentDefines[kDarwinArchs], - )?.split(' ').map(getDarwinArchForName).toList() ?? - [DarwinArch.x86_64, DarwinArch.arm64]; - return darwinArchs.map(getNativeMacOSArchitecture).toList(); - case OS.android: - final String? androidArchsEnvironment = environmentDefines[kAndroidArchs]; - final List androidArchs = _androidArchs(targetPlatform, androidArchsEnvironment); - return androidArchs.map(getNativeAndroidArchitecture).toList(); - case OS.iOS: - final List iosArchs = - _emptyToNull(environmentDefines[kIosArchs])?.split(' ').map(getIOSArchForName).toList() ?? - [DarwinArch.arm64]; - return iosArchs.map(getNativeIOSArchitecture).toList(); - default: - // TODO(dacoharkes): Implement other OSes. https://github.com/flutter/flutter/issues/129757 - // Write the file we claim to have in the [outputs]. - return []; +Iterable _filterDataAssets(Iterable assets) => + assets.where((EncodedAsset asset) => asset.isDataAsset).map(DataAsset.fromEncoded); + +Future _build( + FlutterNativeAssetsBuildRunner buildRunner, + List extensions, + bool linkingEnabled, +) async { + final BuildResult? buildResult = await buildRunner.build( + extensions: extensions, + linkingEnabled: linkingEnabled, + ); + if (buildResult == null) { + _throwNativeAssetsBuildFailed(); } + return buildResult; } -Architecture _getNativeArchitecture(TargetPlatform targetPlatform) { - switch (targetPlatform) { - case TargetPlatform.linux_x64: - case TargetPlatform.windows_x64: - return Architecture.x64; - case TargetPlatform.linux_arm64: - case TargetPlatform.windows_arm64: - return Architecture.arm64; - case TargetPlatform.android: - case TargetPlatform.ios: - case TargetPlatform.darwin: - case TargetPlatform.fuchsia_arm64: - case TargetPlatform.fuchsia_x64: - case TargetPlatform.tester: - case TargetPlatform.web_javascript: - case TargetPlatform.android_arm: - case TargetPlatform.android_arm64: - case TargetPlatform.android_x64: - case TargetPlatform.unsupported: - throw Exception('Unknown targetPlatform: $targetPlatform.'); +Future _link( + FlutterNativeAssetsBuildRunner buildRunner, + List extensions, + BuildResult buildResult, +) async { + final LinkResult? linkResult = await buildRunner.link( + extensions: extensions, + buildResult: buildResult, + ); + if (linkResult == null) { + _throwNativeAssetsLinkFailed(); } + return linkResult; } Future _copyNativeCodeAssetsToBundleOnWindowsLinux( @@ -798,42 +695,6 @@ OS getNativeOSFromTargetPlatform(TargetPlatform platform) { } } -List _androidArchs(TargetPlatform targetPlatform, String? androidArchsEnvironment) { - switch (targetPlatform) { - case TargetPlatform.android_arm: - return [AndroidArch.armeabi_v7a]; - case TargetPlatform.android_arm64: - return [AndroidArch.arm64_v8a]; - case TargetPlatform.android_x64: - return [AndroidArch.x86_64]; - case TargetPlatform.android: - if (androidArchsEnvironment == null) { - throw MissingDefineException(kAndroidArchs, 'native_assets'); - } - return androidArchsEnvironment.split(' ').map(getAndroidArchForName).toList(); - case TargetPlatform.darwin: - case TargetPlatform.fuchsia_arm64: - case TargetPlatform.fuchsia_x64: - case TargetPlatform.ios: - case TargetPlatform.linux_arm64: - case TargetPlatform.linux_x64: - case TargetPlatform.tester: - case TargetPlatform.web_javascript: - case TargetPlatform.windows_x64: - case TargetPlatform.windows_arm64: - throwToolExit('Unsupported Android target platform: $targetPlatform.'); - case TargetPlatform.unsupported: - TargetPlatform.throwUnsupportedTarget(); - } -} - -String? _emptyToNull(String? input) { - if (input == null || input.isEmpty) { - return null; - } - return input; -} - extension OSArchitectures on OS { Set get architectures => _osTargets[this]!; } diff --git a/packages/flutter_tools/lib/src/isolated/native_assets/targets.dart b/packages/flutter_tools/lib/src/isolated/native_assets/targets.dart new file mode 100644 index 0000000000000..b6dd0d42fd938 --- /dev/null +++ b/packages/flutter_tools/lib/src/isolated/native_assets/targets.dart @@ -0,0 +1,401 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:code_assets/code_assets.dart'; +import 'package:data_assets/data_assets.dart'; +import 'package:file/file.dart' show FileSystem; +import 'package:hooks/hooks.dart'; + +import '../../base/common.dart' show throwToolExit; +import '../../build_info.dart' + show + AndroidArch, + DarwinArch, + EnvironmentType, + TargetPlatform, + getAndroidArchForName, + getDarwinArchsFromEnv, + getIOSArchForName, + kAndroidArchs, + kIosArchs, + kSdkRoot; +import '../../build_system/exceptions.dart' show MissingDefineException; +import '../../macos/xcode.dart' as xcode show environmentTypeFromSdkroot; +import 'android/native_assets.dart' + show cCompilerConfigAndroid, getNativeAndroidArchitecture, targetAndroidNdkApi; +import 'ios/native_assets.dart' show getIOSSdk, getNativeIOSArchitecture, targetIOSVersion; +import 'linux/native_assets.dart'; +import 'macos/native_assets.dart' show getNativeMacOSArchitecture, targetMacOSVersion; +import 'macos/native_assets_host.dart'; +import 'native_assets.dart'; +import 'windows/native_assets.dart'; + +/// This is a translation layer between Flutter, which knows only +/// [TargetPlatform]s, and `dart-lang/native`, which knows only asset types and +/// how to build them based on things like [OS]s and [Architecture]s. +sealed class AssetBuildTarget { + const AssetBuildTarget({required this.supportedAssetTypes}); + + /// The asset types supported by this target. + /// + /// For example, native code assets might not be supported on the web. + final List supportedAssetTypes; + + /// The [ProtocolExtension]s are defined per asset type. + List get extensions; + + /// A human readable string representing this target. + String get targetString; + + List get dataAssetExtensions => [ + if (supportedAssetTypes.contains(SupportedAssetTypes.dataAssets)) DataAssetsExtension(), + ]; + + /// Build the list of [AssetBuildTarget]s for a given [TargetPlatform]. + /// + /// It needs access to other parameters such as the [fileSystem] or + /// [environmentDefines] to retrieve options for some of the targets. + static List targetsFor({ + required TargetPlatform targetPlatform, + required Map environmentDefines, + required FileSystem fileSystem, + required List supportedAssetTypes, + }) { + switch (targetPlatform) { + case TargetPlatform.windows_x64: + return _windowsTarget(supportedAssetTypes, Architecture.x64); + case TargetPlatform.linux_x64: + return _linuxTarget(supportedAssetTypes, Architecture.x64); + case TargetPlatform.linux_arm64: + return _linuxTarget(supportedAssetTypes, Architecture.arm64); + case TargetPlatform.windows_arm64: + return _windowsTarget(supportedAssetTypes, Architecture.arm64); + case TargetPlatform.darwin: + return _macTargets(environmentDefines, supportedAssetTypes); + case TargetPlatform.android: + case TargetPlatform.android_arm: + case TargetPlatform.android_arm64: + case TargetPlatform.android_x64: + return _androidTargets(targetPlatform, environmentDefines, supportedAssetTypes); + case TargetPlatform.ios: + return _iosTargets(environmentDefines, fileSystem, supportedAssetTypes); + case TargetPlatform.web_javascript: + return _webTarget(supportedAssetTypes); + case TargetPlatform.tester: + return _flutterTesterTarget(supportedAssetTypes); + case TargetPlatform.fuchsia_arm64: + case TargetPlatform.fuchsia_x64: + case TargetPlatform.unsupported: + throwToolExit('No targets defined for target platform $targetPlatform.'); + } + } + + static List _linuxTarget( + List supportedAssetTypes, + Architecture architecture, + ) { + return [ + LinuxAssetTarget(architecture: architecture, supportedAssetTypes: supportedAssetTypes), + ]; + } + + static List _windowsTarget( + List supportedAssetTypes, + Architecture architecture, + ) { + return [ + WindowsAssetTarget(architecture: architecture, supportedAssetTypes: supportedAssetTypes), + ]; + } + + static List _macTargets( + Map environmentDefines, + List supportedAssetTypes, + ) { + return getDarwinArchsFromEnv(environmentDefines) + .map(getNativeMacOSArchitecture) + .map( + (Architecture architecture) => MacOSAssetTarget( + architecture: architecture, + supportedAssetTypes: supportedAssetTypes, + ), + ) + .toList(); + } + + static List _androidTargets( + TargetPlatform targetPlatform, + Map environmentDefines, + List supportedAssetTypes, + ) { + return _androidArchs(targetPlatform, environmentDefines[kAndroidArchs]) + .map(getNativeAndroidArchitecture) + .map( + (Architecture architecture) => AndroidAssetTarget( + architecture: architecture, + supportedAssetTypes: supportedAssetTypes, + environmentDefines: environmentDefines, + ), + ) + .toList(); + } + + static List _iosTargets( + Map environmentDefines, + FileSystem fileSystem, + List supportedAssetTypes, + ) { + final List iosArchitectures = + _emptyToNull(environmentDefines[kIosArchs])?.split(' ').map(getIOSArchForName).toList() ?? + [DarwinArch.arm64]; + return iosArchitectures + .map(getNativeIOSArchitecture) + .map( + (Architecture architecture) => IOSAssetTarget( + environmentDefines: environmentDefines, + fileSystem: fileSystem, + architecture: architecture, + supportedAssetTypes: supportedAssetTypes, + ), + ) + .toList(); + } + + static List _webTarget(List supportedAssetTypes) => + [WebAssetTarget(supportedAssetTypes: supportedAssetTypes)]; + + static List _flutterTesterTarget( + List supportedAssetTypes, + ) { + return [FlutterTesterAssetTarget(supportedAssetTypes: supportedAssetTypes)]; + } +} + +final class WebAssetTarget extends AssetBuildTarget { + WebAssetTarget({required super.supportedAssetTypes}); + + @override + List get extensions => [...dataAssetExtensions]; + + @override + String get targetString => 'web'; +} + +sealed class CodeAssetTarget extends AssetBuildTarget { + CodeAssetTarget({ + required super.supportedAssetTypes, + required this.architecture, + required this.os, + }); + + final Architecture architecture; + final OS os; + + late final CCompilerConfig? cCompilerConfigSync; + + Future setCCompilerConfig(); + + List get codeAssetExtensions { + return [ + if (supportedAssetTypes.contains(SupportedAssetTypes.codeAssets)) + CodeAssetExtension( + targetArchitecture: architecture, + linkModePreference: LinkModePreference.dynamic, + cCompiler: cCompilerConfigSync, + targetOS: os, + ), + ]; + } + + @override + String get targetString => '${os.name}_${architecture.name}'; +} + +class WindowsAssetTarget extends CodeAssetTarget { + WindowsAssetTarget({required super.supportedAssetTypes, required super.architecture}) + : super(os: OS.windows); + + @override + List get extensions => [ + ...codeAssetExtensions, + ...dataAssetExtensions, + ]; + + @override + Future setCCompilerConfig() async => cCompilerConfigSync = await cCompilerConfigWindows(); +} + +final class LinuxAssetTarget extends CodeAssetTarget { + LinuxAssetTarget({required super.supportedAssetTypes, required super.architecture}) + : super(os: OS.linux); + + @override + Future setCCompilerConfig() async => cCompilerConfigSync = await cCompilerConfigLinux(); + + @override + List get extensions => [ + ...codeAssetExtensions, + ...dataAssetExtensions, + ]; +} + +final class IOSAssetTarget extends CodeAssetTarget { + IOSAssetTarget({ + required super.supportedAssetTypes, + required super.architecture, + required this.environmentDefines, + required this.fileSystem, + }) : super(os: OS.iOS); + + final Map environmentDefines; + final FileSystem fileSystem; + + @override + Future setCCompilerConfig() async => cCompilerConfigSync = await cCompilerConfigMacOS(); + + IOSCodeConfig _getIOSConfig(Map environmentDefines, FileSystem fileSystem) { + final String? sdkRoot = environmentDefines[kSdkRoot]; + if (sdkRoot == null) { + throw MissingDefineException(kSdkRoot, 'native_assets'); + } + final EnvironmentType? environmentType = xcode.environmentTypeFromSdkroot(sdkRoot, fileSystem); + return IOSCodeConfig(targetVersion: targetIOSVersion, targetSdk: getIOSSdk(environmentType!)); + } + + @override + List get extensions { + return [ + if (supportedAssetTypes.contains(SupportedAssetTypes.codeAssets)) + CodeAssetExtension( + targetArchitecture: architecture, + linkModePreference: LinkModePreference.dynamic, + cCompiler: cCompilerConfigSync, + targetOS: OS.iOS, + iOS: _getIOSConfig(environmentDefines, fileSystem), + ), + ...dataAssetExtensions, + ]; + } +} + +final class MacOSAssetTarget extends CodeAssetTarget { + MacOSAssetTarget({required super.supportedAssetTypes, required super.architecture}) + : super(os: OS.macOS); + + @override + List get extensions { + return [ + if (supportedAssetTypes.contains(SupportedAssetTypes.codeAssets)) + CodeAssetExtension( + targetArchitecture: architecture, + linkModePreference: LinkModePreference.dynamic, + cCompiler: cCompilerConfigSync, + targetOS: OS.macOS, + macOS: MacOSCodeConfig(targetVersion: targetMacOSVersion), + ), + ...dataAssetExtensions, + ]; + } + + @override + Future setCCompilerConfig() async => cCompilerConfigSync = await cCompilerConfigMacOS(); +} + +final class AndroidAssetTarget extends CodeAssetTarget { + AndroidAssetTarget({ + required super.architecture, + required Map environmentDefines, + required super.supportedAssetTypes, + }) : _androidCodeConfig = AndroidCodeConfig( + targetNdkApi: targetAndroidNdkApi(environmentDefines), + ), + super(os: OS.android); + + final AndroidCodeConfig? _androidCodeConfig; + + @override + Future setCCompilerConfig() async => cCompilerConfigSync = await cCompilerConfigAndroid(); + + @override + List get extensions => [ + if (supportedAssetTypes.contains(SupportedAssetTypes.codeAssets)) + CodeAssetExtension( + targetArchitecture: architecture, + linkModePreference: LinkModePreference.dynamic, + cCompiler: cCompilerConfigSync, + targetOS: OS.android, + android: _androidCodeConfig, + ), + ...dataAssetExtensions, + ]; +} + +final class FlutterTesterAssetTarget extends CodeAssetTarget { + FlutterTesterAssetTarget({required super.supportedAssetTypes}) + : super(architecture: Architecture.current, os: OS.current) { + subtarget = switch (os) { + OS.linux => LinuxAssetTarget( + supportedAssetTypes: supportedAssetTypes, + architecture: architecture, + ), + OS.windows => WindowsAssetTarget( + supportedAssetTypes: supportedAssetTypes, + architecture: architecture, + ), + OS.macOS => MacOSAssetTarget( + supportedAssetTypes: supportedAssetTypes, + architecture: architecture, + ), + OS() => throw UnsupportedError('Flutter tester supports only Linux, Windows and MacOS.'), + }; + } + + /// The Flutter tester is a headless Flutter, but can run on different targets + /// itself. The subtarget thus captures the target OS, architecture, etc. + late final CodeAssetTarget subtarget; + + @override + List get extensions => subtarget.extensions; + + @override + CCompilerConfig? get cCompilerConfigSync => subtarget.cCompilerConfigSync; + + @override + Future setCCompilerConfig() async => subtarget.setCCompilerConfig(); +} + +List _androidArchs(TargetPlatform targetPlatform, String? androidArchsEnvironment) { + switch (targetPlatform) { + case TargetPlatform.android_arm: + return [AndroidArch.armeabi_v7a]; + case TargetPlatform.android_arm64: + return [AndroidArch.arm64_v8a]; + case TargetPlatform.android_x64: + return [AndroidArch.x86_64]; + case TargetPlatform.android: + if (androidArchsEnvironment == null) { + throw MissingDefineException(kAndroidArchs, 'native_assets'); + } + return androidArchsEnvironment.split(' ').map(getAndroidArchForName).toList(); + case TargetPlatform.darwin: + case TargetPlatform.fuchsia_arm64: + case TargetPlatform.fuchsia_x64: + case TargetPlatform.ios: + case TargetPlatform.linux_arm64: + case TargetPlatform.linux_x64: + case TargetPlatform.tester: + case TargetPlatform.web_javascript: + case TargetPlatform.windows_x64: + case TargetPlatform.windows_arm64: + case TargetPlatform.unsupported: + throwToolExit('Unsupported Android target platform: $targetPlatform.'); + } +} + +String? _emptyToNull(String? input) { + if (input == null || input.isEmpty) { + return null; + } + return input; +} diff --git a/packages/flutter_tools/lib/src/isolated/native_assets/test/native_assets.dart b/packages/flutter_tools/lib/src/isolated/native_assets/test/native_assets.dart index 9b55b1280ca30..c5cd1bf2f0724 100644 --- a/packages/flutter_tools/lib/src/isolated/native_assets/test/native_assets.dart +++ b/packages/flutter_tools/lib/src/isolated/native_assets/test/native_assets.dart @@ -12,6 +12,7 @@ import '../../../build_info.dart'; import '../../../globals.dart' as globals; import '../../../native_assets.dart'; import '../../../project.dart'; +import '../dart_hook_result.dart'; import '../native_assets.dart'; class TestCompilerNativeAssetsBuilderImpl implements TestCompilerNativeAssetsBuilder { @@ -22,7 +23,7 @@ class TestCompilerNativeAssetsBuilderImpl implements TestCompilerNativeAssetsBui @override String windowsBuildDirectory(FlutterProject project) => - nativeAssetsBuildUri(project.directory.uri, OS.windows).toFilePath(); + nativeAssetsBuildUri(project.directory.uri, OS.windows.name).toFilePath(); } Future testCompilerBuildNativeAssets(BuildInfo buildInfo) async { @@ -60,13 +61,13 @@ Future testCompilerBuildNativeAssets(BuildInfo buildInfo) async { // `build/native_assets//native_assets.json` file which uses absolute // paths to the shared libraries. final OS targetOS = getNativeOSFromTargetPlatform(TargetPlatform.tester); - final Uri buildUri = nativeAssetsBuildUri(projectUri, targetOS); + final Uri buildUri = nativeAssetsBuildUri(projectUri, targetOS.name); final Uri nativeAssetsFileUri = buildUri.resolve('native_assets.json'); final environmentDefines = {kBuildMode: buildInfo.mode.cliName}; // First perform the dart build. - final DartBuildResult dartBuildResult = await runFlutterSpecificDartBuild( + final DartHooksResult dartHookResult = await runFlutterSpecificHooks( environmentDefines: environmentDefines, buildRunner: buildRunner, targetPlatform: TargetPlatform.tester, @@ -76,7 +77,7 @@ Future testCompilerBuildNativeAssets(BuildInfo buildInfo) async { // Then "install" the code assets so they can be used at runtime. await installCodeAssets( - dartBuildResult: dartBuildResult, + dartHookResult: dartHookResult, environmentDefines: environmentDefines, targetPlatform: TargetPlatform.tester, projectUri: projectUri, diff --git a/packages/flutter_tools/lib/src/isolated/resident_web_runner.dart b/packages/flutter_tools/lib/src/isolated/resident_web_runner.dart index 6e472cae9810e..12bf47fbb17de 100644 --- a/packages/flutter_tools/lib/src/isolated/resident_web_runner.dart +++ b/packages/flutter_tools/lib/src/isolated/resident_web_runner.dart @@ -29,9 +29,9 @@ import '../devfs.dart'; import '../device.dart'; import '../flutter_plugins.dart'; import '../globals.dart' as globals; +import '../hook_runner.dart' show hookRunner; import '../project.dart'; import '../reporting/reporting.dart'; -import '../resident_devtools_handler.dart'; import '../resident_runner.dart'; import '../run_hot.dart'; import '../vmservice.dart'; @@ -104,8 +104,6 @@ class ResidentWebRunner extends ResidentRunner { required SystemClock systemClock, required Analytics analytics, UrlTunneller? urlTunneller, - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - ResidentDevtoolsHandlerFactory devtoolsHandler = createDefaultHandler, }) : _fileSystem = fileSystem, _logger = logger, _platform = platform, @@ -118,13 +116,13 @@ class ResidentWebRunner extends ResidentRunner { debuggingOptions: debuggingOptions, stayResident: stayResident, machine: machine, - devtoolsHandler: devtoolsHandler, commandHelp: CommandHelp( logger: logger, terminal: terminal, platform: platform, outputPreferences: outputPreferences, ), + dartBuilder: hookRunner, ); final FileSystem _fileSystem; @@ -216,8 +214,6 @@ class ResidentWebRunner extends ResidentRunner { if (_exited) { return; } - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - await residentDevtoolsHandler!.shutdown(); await _stdOutSub?.cancel(); await _stdErrSub?.cancel(); await _serviceSub?.cancel(); @@ -296,7 +292,12 @@ class ResidentWebRunner extends ResidentRunner { useSseForInjectedClient: debuggingOptions.webUseSseForInjectedClient, buildInfo: debuggingOptions.buildInfo, enableDwds: supportsServiceProtocol, - enableDds: debuggingOptions.enableDds, + ddsConfig: DartDevelopmentServiceConfiguration( + enable: debuggingOptions.enableDds, + port: debuggingOptions.ddsPort, + serveDevTools: debuggingOptions.enableDevTools, + devToolsServerAddress: debuggingOptions.devToolsServerAddress, + ), entrypoint: _fileSystem.file(target).uri, expressionCompiler: expressionCompiler, chromiumLauncher: _chromiumLauncher, @@ -485,6 +486,12 @@ class ResidentWebRunner extends ResidentRunner { } } + if (_connectionResult == null) { + status.stop(); + _logger.printStatus('Recompile complete. No client connected..'); + return OperationResult.ok; + } + // Both will be null when not assigned. Duration? reloadDuration; Duration? reassembleDuration; @@ -554,7 +561,9 @@ class ResidentWebRunner extends ResidentRunner { _logger.printStatus('${fullRestart ? 'Restarted' : 'Reloaded'} application in $elapsedMS.'); if (fullRestart) { - unawaited(residentDevtoolsHandler!.hotRestart(flutterDevices)); + for (final FlutterDevice? device in flutterDevices) { + unawaited(device?.handleHotRestart()); + } } // Don't track restart times for dart2js builds or web-server devices. @@ -703,6 +712,11 @@ class ResidentWebRunner extends ResidentRunner { if (rebuildBundle) { _logger.printTrace('Updating assets'); final int result = await assetBundle.build( + flutterHookResult: await dartBuilder?.runHooks( + targetPlatform: TargetPlatform.web_javascript, + environment: environment, + logger: _logger, + ), packageConfigPath: debuggingOptions.buildInfo.packageConfigPath, targetPlatform: TargetPlatform.web_javascript, ); @@ -769,13 +783,13 @@ class ResidentWebRunner extends ResidentRunner { } _wipConnection = await chromeTab.connect(); } - Uri? websocketUri; if (supportsServiceProtocol) { assert(connectDebug != null); unawaited( connectDebug!.then((connectionResult) async { _connectionResult = connectionResult; - unawaited(_connectionResult!.debugConnection!.onDone.whenComplete(_cleanupAndExit)); + final DebugConnection debugConnection = connectionResult!.debugConnection!; + unawaited(debugConnection.onDone.whenComplete(_cleanupAndExit)); void onLogEvent(vmservice.Event event) { final String message = processVmServiceMessage(event); @@ -837,8 +851,11 @@ class ResidentWebRunner extends ResidentRunner { vmService: _vmService.service, ); - websocketUri = Uri.parse(_connectionResult!.debugConnection!.uri); + final Uri websocketUri = Uri.parse(debugConnection.uri); device!.vmService = _vmService; + if (debugConnection.devToolsUri != null) { + (device!.device! as WebDevice).devToolsUri = Uri.parse(debugConnection.devToolsUri!); + } // Run main immediately if the app is not started paused or if there // is no debugger attached. Otherwise, runMain when a resume event @@ -855,30 +872,21 @@ class ResidentWebRunner extends ResidentRunner { }); } - if (websocketUri != null) { - if (debuggingOptions.vmserviceOutFile != null) { - _fileSystem.file(debuggingOptions.vmserviceOutFile) - ..createSync(recursive: true) - ..writeAsStringSync(websocketUri.toString()); - } - _logger.printStatus('Debug service listening on $websocketUri'); + if (debuggingOptions.vmserviceOutFile != null) { + _fileSystem.file(debuggingOptions.vmserviceOutFile) + ..createSync(recursive: true) + ..writeAsStringSync(websocketUri.toString()); } + // TODO(bkonyi): consider removing this log message and using only the standard VM + // service message instead. + _logger.printStatus('Debug service listening on $websocketUri'); + printDebuggerList(); connectionInfoCompleter?.complete(DebugConnectionInfo(wsUri: websocketUri)); }), ); } else { connectionInfoCompleter?.complete(DebugConnectionInfo()); } - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - if (debuggingOptions.enableDevTools) { - // The method below is guaranteed never to return a failing future. - unawaited( - residentDevtoolsHandler!.serveAndAnnounceDevTools( - devToolsServerAddress: debuggingOptions.devToolsServerAddress, - flutterDevices: flutterDevices, - ), - ); - } appStartedCompleter?.complete(); if (stayResident) { @@ -914,6 +922,9 @@ class ResidentWebRunner extends ResidentRunner { Uri _httpUriFromWebsocketUri(Uri websocketUri) { const wsPath = '/ws'; - final String path = websocketUri.path; - return websocketUri.replace(scheme: 'http', path: path.substring(0, path.length - wsPath.length)); + String path = websocketUri.path; + if (path.endsWith(wsPath)) { + path = path.substring(0, path.length - wsPath.length); + } + return websocketUri.replace(scheme: 'http', path: path); } diff --git a/packages/flutter_tools/lib/src/isolated/web_asset_server.dart b/packages/flutter_tools/lib/src/isolated/web_asset_server.dart index f3f8d492383d7..aef052bd5bd6b 100644 --- a/packages/flutter_tools/lib/src/isolated/web_asset_server.dart +++ b/packages/flutter_tools/lib/src/isolated/web_asset_server.dart @@ -97,21 +97,7 @@ class WebAssetServer implements AssetReader { /// Given a list of [modules] that need to be loaded, compute module names and /// digests. - /// - /// If [writeRestartScripts] is true, writes a list of sources mapped to their - /// ids to the file system that can then be consumed by the hot restart - /// callback. - /// - /// For example: - /// ```json - /// [ - /// { - /// "src": "", - /// "id": "", - /// }, - /// ] - /// ``` - void performRestart(List modules, {required bool writeRestartScripts}) { + void updateModulesAndDigests(List modules) { for (final module in modules) { // We skip computing the digest by using the hashCode of the underlying buffer. // Whenever a file is updated, the corresponding Uint8List.view it corresponds @@ -122,18 +108,13 @@ class WebAssetServer implements AssetReader { _modules[name] = path; _digests[name] = _webMemoryFS.files[moduleName].hashCode.toString(); } - if (writeRestartScripts) { - final srcIdsList = >[ - for (final String src in modules) {'src': '$baseUri/$src', 'id': src}, - ]; - writeFile('restart_scripts.json', json.encode(srcIdsList)); - } } - static const _reloadScriptsFileName = 'reload_scripts.json'; + static const _reloadedSourcesFileName = 'reloaded_sources.json'; - /// Given a list of [modules] that need to be reloaded, writes a file that - /// contains a list of objects each with three fields: + /// Given a list of [modules] that need to be reloaded during a hot restart or + /// hot reload, writes a file that contains a list of objects each with three + /// fields: /// /// `src`: A string that corresponds to the file path containing a DDC library /// bundle. To support embedded libraries, the path should include the @@ -155,7 +136,7 @@ class WebAssetServer implements AssetReader { /// /// The path of the output file should stay consistent across the lifetime of /// the app. - void performReload(List modules) { + void writeReloadedSources(List modules) { final moduleToLibrary = >[]; for (final module in modules) { final metadata = ModuleMetadata.fromJson( @@ -170,7 +151,7 @@ class WebAssetServer implements AssetReader { 'libraries': libraries, }); } - writeFile(_reloadScriptsFileName, json.encode(moduleToLibrary)); + writeFile(_reloadedSourcesFileName, json.encode(moduleToLibrary)); } @visibleForTesting @@ -196,7 +177,7 @@ class WebAssetServer implements AssetReader { bool useSseForInjectedClient, BuildInfo buildInfo, bool enableDwds, - bool enableDds, + DartDevelopmentServiceConfiguration ddsConfig, Uri entrypoint, ExpressionCompiler? expressionCompiler, { required WebDevServerConfig webDevServerConfig, @@ -356,9 +337,9 @@ class WebAssetServer implements AssetReader { ), ), packageConfigPath: buildInfo.packageConfigPath, - hotReloadSourcesUri: server._baseUri.replace( + reloadedSourcesUri: server._baseUri.replace( pathSegments: List.from(server._baseUri.pathSegments) - ..add(_reloadScriptsFileName), + ..add(_reloadedSourcesFileName), ), ).strategy : FrontendServerRequireStrategyProvider( @@ -380,7 +361,7 @@ class WebAssetServer implements AssetReader { useSseForDebugBackend: useSseForDebugBackend, useSseForInjectedClient: useSseForInjectedClient, expressionCompiler: expressionCompiler, - spawnDds: enableDds, + ddsConfiguration: ddsConfig, ), appMetadata: AppMetadata(hostname: hostname), ), diff --git a/packages/flutter_tools/lib/src/migrations/lldb_init_migration.dart b/packages/flutter_tools/lib/src/migrations/lldb_init_migration.dart index eb41ea5c7125b..3751808b96ac7 100644 --- a/packages/flutter_tools/lib/src/migrations/lldb_init_migration.dart +++ b/packages/flutter_tools/lib/src/migrations/lldb_init_migration.dart @@ -42,9 +42,14 @@ class LLDBInitMigration extends ProjectMigrator { @override Future migrate() async { SchemeInfo? schemeInfo; + // LLDB Init File is only needed for debug and profile mode. + if (_buildInfo.mode == BuildMode.release) { + return; + } try { if (!_xcodeProjectInfoFile.existsSync()) { - throw Exception('Xcode project not found.'); + logger.printTrace('Xcode project not found.'); + throw _exceptionMessage(); } schemeInfo = await _getSchemeInfo(); @@ -54,10 +59,10 @@ class LLDBInitMigration extends ProjectMigrator { return; } _migrateScheme(schemeInfo); - } on Exception catch (e) { + } on _LLDBError catch (e) { logger.printError( 'An error occurred when adding LLDB Init File:\n' - '$e', + '${e.message}', ); } } @@ -65,10 +70,12 @@ class LLDBInitMigration extends ProjectMigrator { Future _getSchemeInfo() async { final XcodeProjectInfo? projectInfo = await _xcodeProject.projectInfo(); if (projectInfo == null) { - throw Exception('Unable to get Xcode project info.'); + logger.printTrace('Unable to get Xcode project info.'); + throw _exceptionMessage(); } if (_xcodeProject.xcodeWorkspace == null) { - throw Exception('Xcode workspace not found.'); + logger.printTrace('Xcode workspace not found.'); + throw _exceptionMessage(); } final String? scheme = projectInfo.schemeFor(_buildInfo); if (scheme == null) { @@ -77,7 +84,8 @@ class LLDBInitMigration extends ProjectMigrator { final File schemeFile = _xcodeProject.xcodeProjectSchemeFile(scheme: scheme); if (!schemeFile.existsSync()) { - throw Exception('Unable to get scheme file for $scheme.'); + logger.printTrace('Unable to get scheme file for $scheme.'); + throw _exceptionMessage(schemeName: scheme); } final String schemeContent = schemeFile.readAsStringSync(); @@ -94,12 +102,12 @@ class LLDBInitMigration extends ProjectMigrator { lldbInitFileLaunchPath = _parseLLDBInitFileFromScheme( action: _launchActionIdentifier, document: document, - schemeFile: schemeInfo.schemeFile, + schemeInfo: schemeInfo, ); lldbInitFileTestPath = _parseLLDBInitFileFromScheme( action: _testActionIdentifier, document: document, - schemeFile: schemeInfo.schemeFile, + schemeInfo: schemeInfo, ); final bool launchActionMigrated = lldbInitFileLaunchPath != null && lldbInitFileLaunchPath.contains(_initPath); @@ -111,16 +119,17 @@ class LLDBInitMigration extends ProjectMigrator { } else if (launchActionMigrated && !testActionMigrated) { // If LaunchAction has it set, but TestAction doesn't, give an error // with instructions to add it to the TestAction. - throw _missingActionException('Test', schemeInfo.schemeName); + throw _exceptionMessage(missingAction: 'Test', schemeName: schemeInfo.schemeName); } else if (testActionMigrated && !launchActionMigrated) { // If TestAction has it set, but LaunchAction doesn't, give an error // with instructions to add it to the LaunchAction. - throw _missingActionException('Launch', schemeInfo.schemeName); + throw _exceptionMessage(missingAction: 'Run', schemeName: schemeInfo.schemeName); } } on XmlException catch (exception) { - throw Exception( + logger.printTrace( 'Failed to parse ${schemeInfo.schemeFile.basename}: Invalid xml: ${schemeInfo.schemeContent}\n$exception', ); + throw _exceptionMessage(schemeName: schemeInfo.schemeName); } // If the scheme is using a LLDB Init File that is not flutter_lldbinit, @@ -163,12 +172,13 @@ class LLDBInitMigration extends ProjectMigrator { return true; } } on XmlException catch (exception) { - throw Exception( + logger.printTrace( 'Failed to parse ${schemeInfo.schemeFile.basename}: Invalid xml: ${schemeInfo.schemeContent}\n$exception', ); + throw _exceptionMessage(schemeName: schemeInfo.schemeName); } - throw Exception( + throw _LLDBError( 'Running Flutter in debug mode on new iOS versions requires a LLDB ' 'Init File, but the scheme already has one set. To ensure debug ' 'mode works, please complete one of the following:\n' @@ -197,17 +207,18 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" _validateSchemeAction( action: _launchActionIdentifier, document: document, - schemeFile: schemeFile, + schemeInfo: schemeInfo, ); _validateSchemeAction( action: _testActionIdentifier, document: document, - schemeFile: schemeFile, + schemeInfo: schemeInfo, ); } on XmlException catch (exception) { - throw Exception( + logger.printTrace( 'Failed to parse ${schemeFile.basename}: Invalid xml: $newScheme\n$exception', ); + throw _exceptionMessage(schemeName: schemeInfo.schemeName); } schemeFile.writeAsStringSync(newScheme); } @@ -217,17 +228,18 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" void _validateSchemeAction({ required String action, required XmlDocument document, - required File schemeFile, + required SchemeInfo schemeInfo, }) { final String? lldbInitFile = _parseLLDBInitFileFromScheme( action: action, document: document, - schemeFile: schemeFile, + schemeInfo: schemeInfo, ); if (lldbInitFile == null || !lldbInitFile.contains(_initPath)) { - throw Exception( - 'Failed to find correct customLLDBInitFile in $action for the Scheme in ${schemeFile.path}.', + logger.printTrace( + 'Failed to find correct customLLDBInitFile in $action for the Scheme in ${schemeInfo.schemeFile.path}.', ); + throw _exceptionMessage(schemeName: schemeInfo.schemeName); } } @@ -235,11 +247,13 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" String? _parseLLDBInitFileFromScheme({ required String action, required XmlDocument document, - required File schemeFile, + required SchemeInfo schemeInfo, }) { + // ignore: experimental_member_use final Iterable nodes = document.xpath('/Scheme/$action'); if (nodes.isEmpty) { - throw Exception('Failed to find $action for the Scheme in ${schemeFile.path}.'); + logger.printTrace('Failed to find $action for the Scheme in ${schemeInfo.schemeFile.path}.'); + throw _exceptionMessage(schemeName: schemeInfo.schemeName); } final XmlNode actionNode = nodes.first; final XmlAttribute? lldbInitFile = actionNode.attributes @@ -262,19 +276,43 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" return _fileSystem.file(lldbInitFilePath); } - Exception _missingActionException(String missingAction, String schemeName) { - return Exception( - 'Running Flutter in debug mode on new iOS versions requires a LLDB ' - 'Init File, but the $missingAction action in the $schemeName scheme ' - 'does not have it set. To ensure debug mode works, please complete ' - 'the following:\n' - ' * Open Xcode > Product > Scheme > Edit Scheme and for the ' - '$missingAction action, set LLDB Init File to:\n\n' + _LLDBError _exceptionMessage({String? missingAction, String? schemeName}) { + final String buildMode = _buildInfo.mode.cliName; + if (missingAction != null && schemeName != null) { + return _LLDBError( + 'Running Flutter in $buildMode mode on new iOS versions requires a LLDB ' + 'Init File, but the $missingAction action in the $schemeName scheme ' + 'does not have it set. To ensure $buildMode mode works, please complete ' + 'the following:\n' + ' * Open Xcode > Product > Scheme > Edit Scheme and for the ' + '$missingAction action, set LLDB Init File to:\n\n' + ' $_initPath\n', + ); + } else if (schemeName != null) { + return _LLDBError( + 'Running Flutter in $buildMode mode on new iOS versions requires a LLDB ' + 'Init File, but the $schemeName scheme does not have it set. To ensure ' + '$buildMode mode works, please complete the following:\n' + ' * Open Xcode > Product > Scheme > Edit Scheme and for the Run and Test actions, set LLDB Init File to:\n\n' + ' $_initPath\n', + ); + } + return _LLDBError( + 'Running Flutter in $buildMode mode on new iOS versions requires a LLDB ' + 'Init File, but the scheme does not have it set. To ensure $buildMode mode ' + 'works, please complete the following:\n' + ' * Open Xcode > Product > Scheme > Edit Scheme and for the Run and Test actions, set LLDB Init File to:\n\n' ' $_initPath\n', ); } } +class _LLDBError implements Exception { + _LLDBError(this.message); + + final String message; +} + class SchemeInfo { SchemeInfo({required this.schemeName, required this.schemeFile, required this.schemeContent}); diff --git a/packages/flutter_tools/lib/src/platform_plugins.dart b/packages/flutter_tools/lib/src/platform_plugins.dart index a7d066afea783..0dac5673cb6a5 100644 --- a/packages/flutter_tools/lib/src/platform_plugins.dart +++ b/packages/flutter_tools/lib/src/platform_plugins.dart @@ -166,12 +166,12 @@ class AndroidPlugin extends PluginPlatform implements NativeOrDartPlugin { Map toMap() { return { 'name': name, - if (package != null) 'package': package, - if (pluginClass != null) 'class': pluginClass, - if (dartPluginClass != null) kDartPluginClass: dartPluginClass, - if (dartFileName != null) kDartFileName: dartFileName, + 'package': ?package, + 'class': ?pluginClass, + kDartPluginClass: ?dartPluginClass, + kDartFileName: ?dartFileName, if (ffiPlugin) kFfiPlugin: true, - if (defaultPackage != null) kDefaultPackage: defaultPackage, + kDefaultPackage: ?defaultPackage, // Mustache doesn't support complex types. 'supportsEmbeddingV1': _supportedEmbeddings.contains('1'), 'supportsEmbeddingV2': _supportedEmbeddings.contains('2'), @@ -326,12 +326,12 @@ class IOSPlugin extends PluginPlatform implements NativeOrDartPlugin, DarwinPlug return { 'name': name, 'prefix': classPrefix, - if (pluginClass != null) 'class': pluginClass, - if (dartPluginClass != null) kDartPluginClass: dartPluginClass, - if (dartFileName != null) kDartFileName: dartFileName, + 'class': ?pluginClass, + kDartPluginClass: ?dartPluginClass, + kDartFileName: ?dartFileName, if (ffiPlugin) kFfiPlugin: true, if (sharedDarwinSource) kSharedDarwinSource: true, - if (defaultPackage != null) kDefaultPackage: defaultPackage, + kDefaultPackage: ?defaultPackage, }; } } @@ -413,12 +413,12 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin, DarwinPl Map toMap() { return { 'name': name, - if (pluginClass != null) 'class': pluginClass, - if (dartPluginClass != null) kDartPluginClass: dartPluginClass, - if (dartFileName != null) kDartFileName: dartFileName, + 'class': ?pluginClass, + kDartPluginClass: ?dartPluginClass, + kDartFileName: ?dartFileName, if (ffiPlugin) kFfiPlugin: true, if (sharedDarwinSource) kSharedDarwinSource: true, - if (defaultPackage != null) kDefaultPackage: defaultPackage, + kDefaultPackage: ?defaultPackage, }; } } @@ -513,12 +513,12 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin, Varian Map toMap() { return { 'name': name, - if (pluginClass != null) 'class': pluginClass, + 'class': ?pluginClass, if (pluginClass != null) 'filename': _filenameForCppClass(pluginClass!), - if (dartPluginClass != null) kDartPluginClass: dartPluginClass, - if (dartFileName != null) kDartFileName: dartFileName, + kDartPluginClass: ?dartPluginClass, + kDartFileName: ?dartFileName, if (ffiPlugin) kFfiPlugin: true, - if (defaultPackage != null) kDefaultPackage: defaultPackage, + kDefaultPackage: ?defaultPackage, }; } } @@ -596,12 +596,12 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin { Map toMap() { return { 'name': name, - if (pluginClass != null) 'class': pluginClass, + 'class': ?pluginClass, if (pluginClass != null) 'filename': _filenameForCppClass(pluginClass!), - if (dartPluginClass != null) kDartPluginClass: dartPluginClass, - if (dartFileName != null) kDartFileName: dartFileName, + kDartPluginClass: ?dartPluginClass, + kDartFileName: ?dartFileName, if (ffiPlugin) kFfiPlugin: true, - if (defaultPackage != null) kDefaultPackage: defaultPackage, + kDefaultPackage: ?defaultPackage, }; } } diff --git a/packages/flutter_tools/lib/src/project.dart b/packages/flutter_tools/lib/src/project.dart index ffefebb07eadd..40eee32063cdc 100644 --- a/packages/flutter_tools/lib/src/project.dart +++ b/packages/flutter_tools/lib/src/project.dart @@ -33,18 +33,14 @@ export 'xcode_project.dart'; /// Enum for each officially supported platform. enum SupportedPlatform { - android(name: 'android'), - ios(name: 'ios'), - linux(name: 'linux'), - macos(name: 'macos'), - web(name: 'web'), - windows(name: 'windows'), - fuchsia(name: 'fuchsia'), - root(name: 'root'); // Special platform to represent the root project directory - - const SupportedPlatform({required this.name}); - - final String name; + android, + ios, + linux, + macos, + web, + windows, + fuchsia, + root, // Special platform to represent the root project directory } class FlutterProjectFactory { @@ -414,8 +410,8 @@ class FlutterProject { final String? buildNumber = manifest.buildNumber; final versionFileJson = { 'app_name': manifest.appName, - if (buildName != null) 'version': buildName, - if (buildNumber != null) 'build_number': buildNumber, + 'version': ?buildName, + 'build_number': ?buildNumber, 'package_name': manifest.appName, }; return jsonEncode(versionFileJson); @@ -599,8 +595,8 @@ class AndroidProject extends FlutterProjectPlatform { /// Gets the project root level Gradle settings file. /// - /// The file must exist and it must be written in either Groovy (build.gradle) - /// or Kotlin (build.gradle.kts). + /// The file must exist and it must be written in either Groovy (settings.gradle) + /// or Kotlin (settings.gradle.kts). File get settingsGradleFile { return getGroovyOrKotlin(hostAppGradleRoot, 'settings.gradle'); } @@ -645,6 +641,18 @@ class AndroidProject extends FlutterProjectPlatform { return hostAppGradleRoot.childFile('AndroidManifest.xml'); } + /// Gets the Gradle wrapper properties file. + /// + /// This file is located under `gradle/wrapper/gradle-wrapper.properties` + /// in the host app's Gradle root directory. It defines the distribution + /// settings for the Gradle wrapper. + File get gradleWrapperPropertiesFile { + return hostAppGradleRoot + .childDirectory('gradle') + .childDirectory('wrapper') + .childFile('gradle-wrapper.properties'); + } + File get generatedPluginRegistrantFile { return hostAppGradleRoot .childDirectory('app') diff --git a/packages/flutter_tools/lib/src/proxied_devices/devices.dart b/packages/flutter_tools/lib/src/proxied_devices/devices.dart index 0915476983e66..30840a43c96e7 100644 --- a/packages/flutter_tools/lib/src/proxied_devices/devices.dart +++ b/packages/flutter_tools/lib/src/proxied_devices/devices.dart @@ -127,7 +127,6 @@ class ProxiedDevices extends PollingDeviceDiscovery { supportsHotRestart: _cast(capabilities['hotRestart']), supportsFlutterExit: _cast(capabilities['flutterExit']), supportsScreenshot: _cast(capabilities['screenshot']), - supportsFastStart: _cast(capabilities['fastStart']), supportsHardwareRendering: _cast(capabilities['hardwareRendering']), logger: _logger, fileTransfer: _fileTransfer, @@ -184,7 +183,6 @@ class ProxiedDevice extends Device { required this.supportsHotRestart, required this.supportsFlutterExit, required this.supportsScreenshot, - required this.supportsFastStart, required bool supportsHardwareRendering, required super.logger, FileTransfer fileTransfer = const FileTransfer(), @@ -387,9 +385,6 @@ class ProxiedDevice extends Device { @override final bool supportsScreenshot; - @override - final bool supportsFastStart; - @override Future stopApp(covariant PrebuiltApplicationPackage? app, {String? userIdentifier}) async { return _cast( @@ -519,7 +514,7 @@ class _ProxiedLogReader extends DeviceLogReader { (String? applicationPackageId) async => _cast( await connection.sendRequest('device.logReader.start', { 'deviceId': device.id, - if (applicationPackageId != null) 'applicationPackageId': applicationPackageId, + 'applicationPackageId': ?applicationPackageId, }), ), ); @@ -833,6 +828,14 @@ class ProxiedDartDevelopmentService Uri? get uri => _ddsStartedLocally ? _localDds.uri : _localUri; Uri? _localUri; + @override + Uri? get devToolsUri => _ddsStartedLocally ? _localDds.devToolsUri : _remoteDevToolsUri; + Uri? _remoteDevToolsUri; + + @override + Uri? get dtdUri => _ddsStartedLocally ? _localDds.dtdUri : _remoteDtdUri; + Uri? _remoteDtdUri; + @override Future get done => _completer.future; final _completer = Completer(); @@ -872,6 +875,7 @@ class ProxiedDartDevelopmentService google3WorkspaceRoot: google3WorkspaceRoot, devToolsServerAddress: devToolsServerAddress, ); + unawaited(_localDds.invokeServiceExtensions(device)); unawaited(_localDds.done.then(_completer.complete)); } @@ -902,10 +906,21 @@ class ProxiedDartDevelopmentService 'deviceId': deviceId, 'vmServiceUri': remoteVMServiceUri.toString(), 'disableServiceAuthCodes': disableServiceAuthCodes, + 'enableDevTools': enableDevTools, + if (devToolsServerAddress != null) + 'devToolsServerAddress': devToolsServerAddress.toString(), }); if (response is Map) { remoteUriStr = response['ddsUri'] as String?; + final devToolsUriStr = response['devToolsUri'] as String?; + if (devToolsUriStr != null) { + _remoteDevToolsUri = Uri.parse(devToolsUriStr); + } + final dtdUriStr = response['dtdUri'] as String?; + if (dtdUriStr != null) { + _remoteDtdUri = Uri.parse(dtdUriStr); + } } else { // For backwards compatibility in google3. // TODO(bkonyi): remove once a newer version of the flutter_tool is rolled out. diff --git a/packages/flutter_tools/lib/src/reporting/custom_dimensions.dart b/packages/flutter_tools/lib/src/reporting/custom_dimensions.dart index d6a67deb511ba..72a16eb72ce52 100644 --- a/packages/flutter_tools/lib/src/reporting/custom_dimensions.dart +++ b/packages/flutter_tools/lib/src/reporting/custom_dimensions.dart @@ -27,7 +27,6 @@ class CustomDimensions { this.commandRunProjectType, this.commandRunProjectHostLanguage, this.commandCreateAndroidLanguage, - this.commandCreateIosLanguage, this.commandRunProjectModule, this.commandCreateProjectType, this.commandPackagesNumberPlugins, @@ -83,7 +82,6 @@ class CustomDimensions { final String? commandRunProjectType; // cd14 final String? commandRunProjectHostLanguage; // cd15 final String? commandCreateAndroidLanguage; // cd16 - final String? commandCreateIosLanguage; // cd17 final bool? commandRunProjectModule; // cd18 final String? commandCreateProjectType; // cd19 final int? commandPackagesNumberPlugins; // cd20 @@ -161,8 +159,6 @@ class CustomDimensions { if (commandCreateAndroidLanguage != null) CustomDimensionsEnum.commandCreateAndroidLanguage.cdKey: commandCreateAndroidLanguage .toString(), - if (commandCreateIosLanguage != null) - CustomDimensionsEnum.commandCreateIosLanguage.cdKey: commandCreateIosLanguage.toString(), if (commandRunProjectModule != null) CustomDimensionsEnum.commandRunProjectModule.cdKey: commandRunProjectModule.toString(), if (commandCreateProjectType != null) @@ -276,7 +272,6 @@ class CustomDimensions { other.commandRunProjectHostLanguage ?? commandRunProjectHostLanguage, commandCreateAndroidLanguage: other.commandCreateAndroidLanguage ?? commandCreateAndroidLanguage, - commandCreateIosLanguage: other.commandCreateIosLanguage ?? commandCreateIosLanguage, commandRunProjectModule: other.commandRunProjectModule ?? commandRunProjectModule, commandCreateProjectType: other.commandCreateProjectType ?? commandCreateProjectType, commandPackagesNumberPlugins: @@ -356,7 +351,6 @@ class CustomDimensions { map, CustomDimensionsEnum.commandCreateAndroidLanguage, ), - commandCreateIosLanguage: _extractString(map, CustomDimensionsEnum.commandCreateIosLanguage), commandRunProjectModule: _extractBool(map, CustomDimensionsEnum.commandRunProjectModule), commandCreateProjectType: _extractString(map, CustomDimensionsEnum.commandCreateProjectType), commandPackagesNumberPlugins: _extractInt( @@ -475,7 +469,8 @@ enum CustomDimensionsEnum { commandRunProjectType, // cd14 commandRunProjectHostLanguage, // cd15 commandCreateAndroidLanguage, // cd16 - commandCreateIosLanguage, // cd17 + // ignore: unused_field + _nullCreateIosLanguageDeprecatedDoNotUse, // cd17 commandRunProjectModule, // cd18 commandCreateProjectType, // cd19 commandPackagesNumberPlugins, // cd20 diff --git a/packages/flutter_tools/lib/src/reporting/usage.dart b/packages/flutter_tools/lib/src/reporting/usage.dart index 1bc0f92ce49c4..cdea29afd298d 100644 --- a/packages/flutter_tools/lib/src/reporting/usage.dart +++ b/packages/flutter_tools/lib/src/reporting/usage.dart @@ -379,8 +379,8 @@ class LogToFileAnalytics extends AnalyticsMock { final parameters = { 'variableName': variableName, 'time': '$time', - if (category != null) 'category': category, - if (label != null) 'label': label, + 'category': ?category, + 'label': ?label, }; _sendController.add(parameters); logFile.writeAsStringSync('timing $parameters\n', mode: FileMode.append); diff --git a/packages/flutter_tools/lib/src/resident_devtools_handler.dart b/packages/flutter_tools/lib/src/resident_devtools_handler.dart deleted file mode 100644 index e2c3c8f5df26b..0000000000000 --- a/packages/flutter_tools/lib/src/resident_devtools_handler.dart +++ /dev/null @@ -1,382 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -// TODO(bkonyi): remove this file when ready to serve DevTools from DDS. -// -// See https://github.com/flutter/flutter/issues/150044 - -import 'dart:async'; - -import 'package:meta/meta.dart'; - -import 'base/io.dart'; -import 'base/logger.dart'; -import 'build_info.dart'; -import 'resident_runner.dart'; -import 'vmservice.dart'; -import 'web/chrome.dart'; - -typedef ResidentDevtoolsHandlerFactory = - ResidentDevtoolsHandler Function(DevtoolsLauncher?, ResidentRunner, Logger, ChromiumLauncher); - -ResidentDevtoolsHandler createDefaultHandler( - DevtoolsLauncher? launcher, - ResidentRunner runner, - Logger logger, - ChromiumLauncher chromiumLauncher, -) { - return FlutterResidentDevtoolsHandler(launcher, runner, logger, chromiumLauncher); -} - -/// Helper class to manage the life-cycle of devtools and its interaction with -/// the resident runner. -abstract class ResidentDevtoolsHandler { - /// The current devtools server, or null if one is not running. - DevToolsServerAddress? get activeDevToolsServer; - - /// The Dart Tooling Daemon (DTD) URI for the DTD instance being hosted by - /// DevTools server. - /// - /// This will be null if the DevTools server is not served through Flutter - /// tools (e.g. if it is served from an IDE). - Uri? get dtdUri; - - /// Whether to print the Dart Tooling Daemon URI. - /// - /// This will always return false when there is not a DTD instance being - /// served from the DevTools server. - bool get printDtdUri; - - /// Whether it's ok to announce the [activeDevToolsServer]. - /// - /// This should only return true once all the devices have been notified - /// of the DevTools. - bool get readyToAnnounce; - - Future hotRestart(List flutterDevices); - - Future serveAndAnnounceDevTools({ - Uri? devToolsServerAddress, - required List flutterDevices, - bool isStartPaused = false, - }); - - bool launchDevToolsInBrowser({required List flutterDevices}); - - Future shutdown(); -} - -class FlutterResidentDevtoolsHandler implements ResidentDevtoolsHandler { - FlutterResidentDevtoolsHandler( - this._devToolsLauncher, - this._residentRunner, - this._logger, - this._chromiumLauncher, - ); - - static const launchInBrowserTimeout = Duration(seconds: 15); - - final DevtoolsLauncher? _devToolsLauncher; - final ResidentRunner _residentRunner; - final ChromiumLauncher _chromiumLauncher; - final Logger _logger; - var _shutdown = false; - - @visibleForTesting - var launchedInBrowser = false; - - @override - DevToolsServerAddress? get activeDevToolsServer { - assert(!_readyToAnnounce || _devToolsLauncher?.activeDevToolsServer != null); - return _devToolsLauncher?.activeDevToolsServer; - } - - @override - Uri? get dtdUri => _devToolsLauncher?.dtdUri; - - @override - bool get printDtdUri => _devToolsLauncher?.printDtdUri ?? false; - - @override - bool get readyToAnnounce => _readyToAnnounce; - var _readyToAnnounce = false; - - // This must be guaranteed not to return a Future that fails. - @override - Future serveAndAnnounceDevTools({ - Uri? devToolsServerAddress, - required List flutterDevices, - bool isStartPaused = false, - }) async { - assert(!_readyToAnnounce); - if (!_residentRunner.supportsServiceProtocol || _devToolsLauncher == null) { - return; - } - if (devToolsServerAddress != null) { - _devToolsLauncher.devToolsUrl = devToolsServerAddress; - } else { - await _devToolsLauncher.serve(); - } - await _devToolsLauncher.ready; - // Do not attempt to print debugger list if the connection has failed or if we're shutting down. - if (_devToolsLauncher.activeDevToolsServer == null || _shutdown) { - assert(!_readyToAnnounce); - return; - } - - Future callServiceExtensions() async { - final List devicesWithExtension = await _devicesWithExtensions( - flutterDevices, - ); - await Future.wait(>[ - _maybeCallDevToolsUriServiceExtension(devicesWithExtension), - _callConnectedVmServiceUriExtension(devicesWithExtension), - ]); - } - - // If the application is starting paused, we can't invoke service extensions - // as they're handled on the target app's paused isolate. Since invoking - // service extensions will block in this situation, we should wait to invoke - // them until after we've output the DevTools connection details. - if (!isStartPaused) { - await callServiceExtensions(); - } - - // This check needs to happen after the possible asynchronous call above, - // otherwise a shutdown event might be missed and the DevTools launcher may - // no longer be initialized. - if (_shutdown) { - // If we're shutting down, no point reporting the debugger list. - return; - } - - _readyToAnnounce = true; - assert(_devToolsLauncher.activeDevToolsServer != null); - if (_residentRunner.reportedDebuggers) { - // Since the DevTools only just became available, we haven't had a chance to - // report their URLs yet. Do so now. - _residentRunner.printDebuggerList(includeVmService: false); - } - - if (isStartPaused) { - await callServiceExtensions(); - } - } - - // This must be guaranteed not to return a Future that fails. - @override - bool launchDevToolsInBrowser({required List flutterDevices}) { - if (!_residentRunner.supportsServiceProtocol || _devToolsLauncher == null) { - return false; - } - if (_devToolsLauncher.devToolsUrl == null) { - _logger.startProgress('Waiting for Flutter DevTools to be served...'); - unawaited( - _devToolsLauncher.ready.then((_) { - _launchDevToolsForDevices(flutterDevices); - }), - ); - } else { - _launchDevToolsForDevices(flutterDevices); - } - return true; - } - - void _launchDevToolsForDevices(List flutterDevices) { - assert(activeDevToolsServer != null); - for (final device in flutterDevices) { - final devToolsUrl = activeDevToolsServer!.uri! - .replace(queryParameters: {'uri': '${device!.vmService!.httpAddress}'}) - .toString(); - _logger.printStatus('Launching Flutter DevTools for ${device.device!.name} at $devToolsUrl'); - - _chromiumLauncher.launch(devToolsUrl).catchError((Object e) { - _logger.printError('Failed to launch web browser: $e'); - throw ProcessException('Chrome', [ - devToolsUrl, - ], 'Failed to launch browser for dev tools'); - }).ignore(); - } - launchedInBrowser = true; - } - - Future _maybeCallDevToolsUriServiceExtension(List flutterDevices) async { - if (_devToolsLauncher?.activeDevToolsServer == null) { - return; - } - await Future.wait(>[ - for (final FlutterDevice? device in flutterDevices) - if (device?.vmService != null) _callDevToolsUriExtension(device!), - ]); - } - - Future _callDevToolsUriExtension(FlutterDevice device) async { - try { - await _invokeRpcOnFirstView( - 'ext.flutter.activeDevToolsServerAddress', - device: device, - params: {'value': _devToolsLauncher!.activeDevToolsServer!.uri.toString()}, - ); - } on Exception catch (e) { - if (!_shutdown) { - _logger.printError( - 'Failed to set DevTools server address: $e. Deep links to' - ' DevTools will not show in Flutter errors.', - ); - } - } - } - - Future> _devicesWithExtensions(List flutterDevices) async { - return Future.wait(>[ - for (final FlutterDevice? device in flutterDevices) _waitForExtensionsForDevice(device!), - ]); - } - - /// Returns null if the service extension cannot be found on the device. - Future _waitForExtensionsForDevice(FlutterDevice flutterDevice) async { - const extension = 'ext.flutter.connectedVmServiceUri'; - try { - await flutterDevice.vmService?.findExtensionIsolate(extension); - return flutterDevice; - } on VmServiceDisappearedException { - _logger.printTrace( - 'The VM Service for ${flutterDevice.device} disappeared while trying to' - ' find the $extension service extension. Skipping subsequent DevTools ' - 'setup for this device.', - ); - return null; - } - } - - Future _callConnectedVmServiceUriExtension(List flutterDevices) async { - await Future.wait(>[ - for (final FlutterDevice? device in flutterDevices) - if (device?.vmService != null) _callConnectedVmServiceExtension(device!), - ]); - } - - Future _callConnectedVmServiceExtension(FlutterDevice device) async { - final Uri? uri = device.vmService!.httpAddress ?? device.vmService!.wsAddress; - if (uri == null) { - return; - } - try { - await _invokeRpcOnFirstView( - 'ext.flutter.connectedVmServiceUri', - device: device, - params: {'value': uri.toString()}, - ); - } on Exception catch (e) { - if (!_shutdown) { - _logger.printError(e.toString()); - _logger.printError( - 'Failed to set vm service URI: $e. Deep links to DevTools' - ' will not show in Flutter errors.', - ); - } - } - } - - Future _invokeRpcOnFirstView( - String method, { - required FlutterDevice device, - required Map params, - }) async { - if (device.targetPlatform == TargetPlatform.web_javascript) { - await device.vmService!.callMethodWrapper(method, args: params); - return; - } - final List views = await device.vmService!.getFlutterViews(); - if (views.isEmpty) { - return; - } - await device.vmService!.invokeFlutterExtensionRpcRaw( - method, - args: params, - isolateId: views.first.uiIsolate!.id, - ); - } - - @override - Future hotRestart(List flutterDevices) async { - final List devicesWithExtension = await _devicesWithExtensions(flutterDevices); - await Future.wait(>[ - _maybeCallDevToolsUriServiceExtension(devicesWithExtension), - _callConnectedVmServiceUriExtension(devicesWithExtension), - ]); - } - - @override - Future shutdown() async { - _shutdown = true; - if (_devToolsLauncher == null) { - return; - } - _readyToAnnounce = false; - await _devToolsLauncher.close(); - } -} - -@visibleForTesting -NoOpDevtoolsHandler createNoOpHandler( - DevtoolsLauncher? launcher, - ResidentRunner runner, - Logger logger, - ChromiumLauncher? chromiumLauncher, -) { - return NoOpDevtoolsHandler(); -} - -@visibleForTesting -class NoOpDevtoolsHandler implements ResidentDevtoolsHandler { - var wasShutdown = false; - - @override - DevToolsServerAddress? get activeDevToolsServer => null; - - @override - bool get readyToAnnounce => false; - - @override - Future hotRestart(List flutterDevices) async { - return; - } - - @override - Future serveAndAnnounceDevTools({ - Uri? devToolsServerAddress, - List? flutterDevices, - bool isStartPaused = false, - }) async { - return; - } - - @override - bool launchDevToolsInBrowser({List? flutterDevices}) { - return false; - } - - @override - Future shutdown() async { - wasShutdown = true; - return; - } - - @override - Uri? get dtdUri => null; - - @override - bool get printDtdUri => false; -} - -/// Convert the [uri] with query parameters into a display format instead -/// of the default URI encoding. -String urlToDisplayString(Uri uri) { - final base = StringBuffer(uri.replace(queryParameters: {}).toString()); - base.write( - uri.queryParameters.keys.map((String key) => '$key=${uri.queryParameters[key]}').join('&'), - ); - return base.toString(); -} diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart index 2d10d089f6d87..ed44be71db965 100644 --- a/packages/flutter_tools/lib/src/resident_runner.dart +++ b/packages/flutter_tools/lib/src/resident_runner.dart @@ -32,14 +32,13 @@ import 'convert.dart'; import 'devfs.dart'; import 'device.dart'; import 'globals.dart' as globals; +import 'hook_runner.dart' show FlutterHookRunner; import 'ios/application_package.dart'; import 'ios/devices.dart'; import 'project.dart'; -import 'resident_devtools_handler.dart'; import 'run_cold.dart'; import 'run_hot.dart'; import 'vmservice.dart'; -import 'web/chrome.dart'; class FlutterDevice { FlutterDevice( @@ -72,6 +71,7 @@ class FlutterDevice { logger: globals.logger, platform: globals.platform, fileSystem: globals.fs, + shutdownHooks: globals.shutdownHooks, ); /// Create a [FlutterDevice] with optional code generation enabled. @@ -152,6 +152,7 @@ class FlutterDevice { logger: globals.logger, fileSystem: globals.fs, platform: platform, + shutdownHooks: globals.shutdownHooks, ); } else { List extraFrontEndOptions = buildInfo.extraFrontEndOptions; @@ -187,6 +188,7 @@ class FlutterDevice { logger: globals.logger, platform: platform, fileSystem: globals.fs, + shutdownHooks: globals.shutdownHooks, ); } @@ -270,6 +272,7 @@ class FlutterDevice { try { service = await connectToVmService(vmServiceUri!, logger: globals.logger); await service.dispose(); + break; } on vm_service.RPCError catch (e, st) { if (!e.isConnectionDisposedException) { handleVmServiceCheckException(e); @@ -388,6 +391,23 @@ class FlutterDevice { globals.printTrace('Successfully connected to service protocol: $vmServiceUri'); vmService = service; + if (debuggingOptions.enableDds && !existingDds) { + // Don't await this as service extensions won't return if the target + // isolate is paused on start. + unawaited(device!.dds.invokeServiceExtensions(this)); + } + if ((existingDds || !debuggingOptions.enableDds) && + debuggingOptions.devToolsServerAddress != null) { + // Don't await this as service extensions won't return if the target + // isolate is paused on start. + unawaited( + device!.dds.maybeCallDevToolsUriServiceExtension( + device: this, + uri: debuggingOptions.devToolsServerAddress, + ), + ); + } + await (await device!.getLogReader(app: package)).provideVmService(vmService!); completer.complete(); await subscription.cancel(); @@ -622,6 +642,10 @@ class FlutterDevice { await generator?.reject(); } } + + Future handleHotRestart() async { + await device?.dds.handleHotRestart(this); + } } /// A subset of the [ResidentRunner] for delegating to attached flutter devices. @@ -660,9 +684,6 @@ abstract class ResidentHandlers { /// Whether an application can be detached without being stopped. bool get supportsDetach; - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - ResidentDevtoolsHandler? get residentDevtoolsHandler; - @protected Logger get logger; @@ -1038,8 +1059,8 @@ abstract class ResidentRunner extends ResidentHandlers { this.hotMode = true, String? dillOutputPath, this.machine = false, - ResidentDevtoolsHandlerFactory devtoolsHandler = createDefaultHandler, CommandHelp? commandHelp, + this.dartBuilder, }) : mainPath = globals.fs.file(target).absolute.path, packagesFilePath = debuggingOptions.buildInfo.packageConfigPath, projectRootPath = projectRootPath ?? globals.fs.currentDirectory.path, @@ -1059,20 +1080,6 @@ abstract class ResidentRunner extends ResidentHandlers { if (!artifactDirectory.existsSync()) { artifactDirectory.createSync(recursive: true); } - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - _residentDevtoolsHandler = devtoolsHandler( - DevtoolsLauncher.instance, - this, - globals.logger, - ChromiumLauncher( - fileSystem: globals.fs, - platform: globals.platform, - processManager: globals.processManager, - operatingSystemUtils: globals.os, - browserFinder: findChromeExecutable, - logger: globals.logger, - ), - ); } @override @@ -1101,15 +1108,35 @@ abstract class ResidentRunner extends ResidentHandlers { final CommandHelp commandHelp; final bool machine; - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - @override - ResidentDevtoolsHandler? get residentDevtoolsHandler => _residentDevtoolsHandler; - ResidentDevtoolsHandler? _residentDevtoolsHandler; - var _exited = false; var _finished = Completer(); BuildResult? _lastBuild; - Environment? _environment; + + late final _environment = Environment( + artifacts: globals.artifacts!, + logger: globals.logger, + cacheDir: globals.cache.getRoot(), + engineVersion: globals.flutterVersion.engineRevision, + fileSystem: globals.fs, + flutterRootDir: globals.fs.directory(Cache.flutterRoot), + outputDir: globals.fs.directory(getBuildDirectory()), + processManager: globals.processManager, + platform: globals.platform, + analytics: globals.analytics, + projectDir: globals.fs.currentDirectory, + packageConfigPath: debuggingOptions.buildInfo.packageConfigPath, + generateDartPluginRegistry: generateDartPluginRegistry, + defines: { + // Needed for Dart plugin registry generation. + kTargetFile: mainPath, + kBuildMode: debuggingOptions.buildInfo.mode.cliName, + }, + ); + + Environment get environment => _environment; + + /// Can dispatch [FlutterHookRunner.runHooks] to get new assets from the hooks. + final FlutterHookRunner? dartBuilder; @override bool hotMode; @@ -1206,26 +1233,6 @@ abstract class ResidentRunner extends ResidentHandlers { @override Future runSourceGenerators() async { - _environment ??= Environment( - artifacts: globals.artifacts!, - logger: globals.logger, - cacheDir: globals.cache.getRoot(), - engineVersion: globals.flutterVersion.engineRevision, - fileSystem: globals.fs, - flutterRootDir: globals.fs.directory(Cache.flutterRoot), - outputDir: globals.fs.directory(getBuildDirectory()), - processManager: globals.processManager, - platform: globals.platform, - analytics: globals.analytics, - projectDir: globals.fs.currentDirectory, - packageConfigPath: debuggingOptions.buildInfo.packageConfigPath, - generateDartPluginRegistry: generateDartPluginRegistry, - defines: { - // Needed for Dart plugin registry generation. - kTargetFile: mainPath, - }, - ); - final compositeTarget = CompositeTarget([ globals.buildTargets.generateLocalizationsTarget, globals.buildTargets.dartPluginRegistrantTarget, @@ -1233,7 +1240,7 @@ abstract class ResidentRunner extends ResidentHandlers { _lastBuild = await globals.buildSystem.buildIncremental( compositeTarget, - _environment!, + _environment, _lastBuild, ); if (!_lastBuild!.success) { @@ -1266,8 +1273,6 @@ abstract class ResidentRunner extends ResidentHandlers { @override Future exit() async { _exited = true; - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - await residentDevtoolsHandler!.shutdown(); await stopEchoingDeviceLog(); await preExit(); await exitApp(); // calls appFinished @@ -1279,8 +1284,6 @@ abstract class ResidentRunner extends ResidentHandlers { Future detach() async { stopAppDuringCleanup = false; - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - await residentDevtoolsHandler!.shutdown(); await stopEchoingDeviceLog(); await preExit(); appFinished(); @@ -1443,42 +1446,40 @@ abstract class ResidentRunner extends ResidentHandlers { bool get reportedDebuggers => _reportedDebuggers; var _reportedDebuggers = false; - void printDebuggerList({bool includeVmService = true, bool includeDevtools = true}) { - // TODO(bkonyi): update this logic when ready to serve DevTools from DDS. - final DevToolsServerAddress? devToolsServerAddress = - residentDevtoolsHandler!.activeDevToolsServer; - if (!residentDevtoolsHandler!.readyToAnnounce) { - includeDevtools = false; - } - assert(!includeDevtools || devToolsServerAddress != null); + void printDebuggerList() { for (final FlutterDevice? device in flutterDevices) { if (device!.vmService == null) { continue; } - if (includeVmService) { - // Caution: This log line is parsed by device lab tests. - logger.printStatus( - 'A Dart VM Service on ${device.device!.displayName} ' - 'is available at: ${device.vmService!.httpAddress}', - ); + // Caution: This log line is parsed by device lab tests. + globals.printStatus( + 'A Dart VM Service on ${device.device!.name} is available at: ' + '${device.vmService!.httpAddress}', + ); + + final DartDevelopmentService dds = device.device!.dds; + final Uri? dtdUri = dds.dtdUri; + if (debuggingOptions.printDtd && dtdUri != null) { + globals.printStatus('The Dart Tooling Daemon is available at: $dtdUri'); } - if (includeDevtools) { - if (_residentDevtoolsHandler!.printDtdUri) { - final Uri? dtdUri = residentDevtoolsHandler!.dtdUri; - if (dtdUri != null) { - logger.printStatus('The Dart Tooling Daemon is available at: $dtdUri\n'); - } - } - final Uri? uri = devToolsServerAddress!.uri?.replace( - queryParameters: {'uri': '${device.vmService!.httpAddress}'}, - ); - if (uri != null) { - logger.printStatus( - 'The Flutter DevTools debugger and profiler ' - 'on ${device.device!.displayName} ' - 'is available at: ${urlToDisplayString(uri)}', + final Uri? devToolsUri = device.device!.devToolsUri; + if (devToolsUri != null) { + /// Convert a [URI] with query parameters into a display format instead + /// of the default URI encoding. + String urlToDisplayString(Uri uri) { + final base = StringBuffer(uri.withoutQueryParameters().toString()); + base.write( + uri.queryParameters.keys + .map((String key) => '$key=${uri.queryParameters[key]}') + .join('&'), ); + return base.toString(); } + + globals.printStatus( + 'The Flutter DevTools debugger and profiler ' + 'on ${device.device!.name} is available at: ${urlToDisplayString(devToolsUri)}', + ); } } _reportedDebuggers = true; @@ -1511,12 +1512,12 @@ abstract class ResidentRunner extends ResidentHandlers { } void printHelpDetails() { - commandHelp.v.print(); if (flutterDevices.any((FlutterDevice? d) => d!.device!.supportsScreenshot)) { commandHelp.s.print(); } if (supportsServiceProtocol) { if (isRunningDebug) { + commandHelp.v.print(); commandHelp.w.print(); commandHelp.t.print(); commandHelp.L.print(); @@ -1529,6 +1530,15 @@ abstract class ResidentRunner extends ResidentHandlers { commandHelp.o.print(); commandHelp.b.print(); } else { + final bool isRunningOnWeb = flutterDevices.every((FlutterDevice? flutterDevice) { + return flutterDevice?.targetPlatform == TargetPlatform.web_javascript; + }); + + if (!isRunningOnWeb) { + // DevTools are only supported in debug mode for web, see https://docs.flutter.dev/testing/build-modes#profile + commandHelp.v.print(); + } + commandHelp.S.print(); commandHelp.U.print(); } @@ -1781,9 +1791,24 @@ class TerminalHandler { return residentRunner.debugDumpSemanticsTreeInInverseHitTestOrder(); case 'v': case 'V': - return residentRunner.residentDevtoolsHandler!.launchDevToolsInBrowser( - flutterDevices: residentRunner.flutterDevices, - ); + final bool isRunningOnWeb = residentRunner.flutterDevices.every(( + FlutterDevice? flutterDevice, + ) { + return flutterDevice?.targetPlatform == TargetPlatform.web_javascript; + }); + if (residentRunner.isRunningDebug || !isRunningOnWeb) { + // DevTools are only supported in debug mode for web, see https://docs.flutter.dev/testing/build-modes#profile + return residentRunner.flutterDevices + .where( + (FlutterDevice? device) => device?.targetPlatform != TargetPlatform.web_javascript, + ) + .fold( + true, + (bool s, FlutterDevice? device) => + s && device!.device!.dds.launchDevToolsInBrowser(device), + ); + } + return false; case 'w': case 'W': return residentRunner.debugDumpApp(); diff --git a/packages/flutter_tools/lib/src/run_cold.dart b/packages/flutter_tools/lib/src/run_cold.dart index bc2909da8f904..1d37ae0976eb2 100644 --- a/packages/flutter_tools/lib/src/run_cold.dart +++ b/packages/flutter_tools/lib/src/run_cold.dart @@ -24,7 +24,7 @@ class ColdRunner extends ResidentRunner { this.applicationBinary, super.stayResident, super.machine, - super.devtoolsHandler, + super.dartBuilder, }) : super(hotMode: false); final bool traceStartup; @@ -75,18 +75,6 @@ class ColdRunner extends ResidentRunner { } } - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - if (debuggingEnabled && debuggingOptions.enableDevTools) { - // The method below is guaranteed never to return a failing future. - unawaited( - residentDevtoolsHandler!.serveAndAnnounceDevTools( - devToolsServerAddress: debuggingOptions.devToolsServerAddress, - flutterDevices: flutterDevices, - isStartPaused: debuggingOptions.startPaused, - ), - ); - } - if (flutterDevices.first.vmServiceUris != null) { // For now, only support one debugger connection. connectionInfoCompleter?.complete( @@ -177,7 +165,6 @@ class ColdRunner extends ResidentRunner { for (final FlutterDevice? flutterDevice in flutterDevices) { await flutterDevice!.device!.dispose(); } - await residentDevtoolsHandler!.shutdown(); await stopEchoingDeviceLog(); } diff --git a/packages/flutter_tools/lib/src/run_hot.dart b/packages/flutter_tools/lib/src/run_hot.dart index e7e22e07106a3..a6aeaaa6a37ef 100644 --- a/packages/flutter_tools/lib/src/run_hot.dart +++ b/packages/flutter_tools/lib/src/run_hot.dart @@ -84,21 +84,23 @@ class HotRunner extends ResidentRunner { this.benchmarkMode = false, this.applicationBinary, this.hostIsIde = false, + Logger? logger, super.projectRootPath, super.dillOutputPath, super.stayResident, super.machine, - super.devtoolsHandler, StopwatchFactory stopwatchFactory = const StopwatchFactory(), ReloadSourcesHelper reloadSourcesHelper = defaultReloadSourcesHelper, ReassembleHelper reassembleHelper = _defaultReassembleHelper, String? nativeAssetsYamlFile, required Analytics analytics, + super.dartBuilder, }) : _stopwatchFactory = stopwatchFactory, _reloadSourcesHelper = reloadSourcesHelper, _reassembleHelper = reassembleHelper, _nativeAssetsYamlFile = nativeAssetsYamlFile, _analytics = analytics, + _logger = logger, super(hotMode: true); final StopwatchFactory _stopwatchFactory; @@ -125,7 +127,12 @@ class HotRunner extends ResidentRunner { final benchmarkData = >{}; - String? _targetPlatform; + String? _targetPlatformName; + TargetPlatform get _targetPlatform => _targetPlatformName != null + ? getTargetPlatformForName(_targetPlatformName!) + : throw ArgumentError( + 'Access to the target platform needs a call to _calculateTargetPlatform first', + ); String? _sdkName; bool? _emulator; @@ -133,26 +140,28 @@ class HotRunner extends ResidentRunner { String? flavor; + final Logger? _logger; + @override bool get supportsDetach => stopAppDuringCleanup; Future _calculateTargetPlatform() async { - if (_targetPlatform != null) { + if (_targetPlatformName != null) { return; } switch (flutterDevices.length) { case 1: final Device device = flutterDevices.first.device!; - _targetPlatform = getNameForTargetPlatform(await device.targetPlatform); + _targetPlatformName = getNameForTargetPlatform(await device.targetPlatform); _sdkName = await device.sdkNameAndVersion; _emulator = await device.isLocalEmulator; case > 1: - _targetPlatform = 'multiple'; + _targetPlatformName = 'multiple'; _sdkName = 'multiple'; _emulator = false; default: - _targetPlatform = 'unknown'; + _targetPlatformName = 'unknown'; _sdkName = 'unknown'; _emulator = false; } @@ -262,17 +271,6 @@ class HotRunner extends ResidentRunner { globals.printError('Error connecting to the service protocol: $error'); return 2; } - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - if (debuggingOptions.enableDevTools) { - // The method below is guaranteed never to return a failing future. - unawaited( - residentDevtoolsHandler!.serveAndAnnounceDevTools( - devToolsServerAddress: debuggingOptions.devToolsServerAddress, - flutterDevices: flutterDevices, - isStartPaused: debuggingOptions.startPaused, - ), - ); - } for (final FlutterDevice? device in flutterDevices) { device!.developmentShaderCompiler.configureCompiler(device.targetPlatform); @@ -294,8 +292,14 @@ class HotRunner extends ResidentRunner { return 3; } + await _calculateTargetPlatform(); + final initialUpdateDevFSsTimer = Stopwatch()..start(); - final UpdateFSReport devfsResult = await _updateDevFS(fullRestart: needsFullRestart); + final UpdateFSReport devfsResult = await _updateDevFS( + fullRestart: needsFullRestart, + targetPlatform: _targetPlatform, + ); + _addBenchmarkData( 'hotReloadInitialDevFSSyncMilliseconds', initialUpdateDevFSsTimer.elapsed.inMilliseconds, @@ -316,13 +320,6 @@ class HotRunner extends ResidentRunner { } } - // In fast-start mode, apps are initialized from a placeholder splashscreen - // app. We must do a restart here to load the program and assets for the - // real app. - if (debuggingOptions.fastStart) { - await restart(fullRestart: true, reason: 'restart', silent: true); - } - appStartedCompleter?.complete(); if (benchmarkMode) { @@ -429,7 +426,7 @@ class HotRunner extends ResidentRunner { appStartedCompleter?.future.then((_) { HotEvent( 'reload-ready', - targetPlatform: _targetPlatform!, + targetPlatform: _targetPlatformName!, sdkName: _sdkName!, emulator: _emulator!, fullRestart: false, @@ -441,7 +438,7 @@ class HotRunner extends ResidentRunner { _analytics.send( Event.hotRunnerInfo( label: 'reload-ready', - targetPlatform: _targetPlatform!, + targetPlatform: _targetPlatformName!, sdkName: _sdkName!, emulator: _emulator!, fullRestart: false, @@ -481,12 +478,20 @@ class HotRunner extends ResidentRunner { ]; } - Future _updateDevFS({bool fullRestart = false}) async { + Future _updateDevFS({ + bool fullRestart = false, + required TargetPlatform targetPlatform, + }) async { final bool isFirstUpload = !assetBundle.wasBuiltOnce(); final bool rebuildBundle = assetBundle.needsBuild(); if (rebuildBundle) { globals.printTrace('Updating assets'); final int result = await assetBundle.build( + flutterHookResult: await dartBuilder?.runHooks( + targetPlatform: targetPlatform, + environment: environment, + logger: _logger, + ), packageConfigPath: debuggingOptions.buildInfo.packageConfigPath, flavor: debuggingOptions.buildInfo.flavor, ); @@ -601,7 +606,7 @@ class HotRunner extends ResidentRunner { final restartTimer = Stopwatch()..start(); UpdateFSReport updatedDevFS; try { - updatedDevFS = await _updateDevFS(fullRestart: true); + updatedDevFS = await _updateDevFS(fullRestart: true, targetPlatform: _targetPlatform); } finally { hotRunnerConfig!.updateDevFSComplete(); } @@ -779,7 +784,7 @@ class HotRunner extends ResidentRunner { if (fullRestart) { final OperationResult result = await _fullRestartHelper( - targetPlatform: _targetPlatform, + targetPlatform: _targetPlatformName, sdkName: _sdkName, emulator: _emulator, reason: reason, @@ -788,15 +793,13 @@ class HotRunner extends ResidentRunner { if (!silent) { globals.printStatus('Restarted application in ${getElapsedAsMilliseconds(timer.elapsed)}.'); } - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - unawaited(residentDevtoolsHandler!.hotRestart(flutterDevices)); - // for (final FlutterDevice? device in flutterDevices) { - // unawaited(device?.handleHotRestart()); - // } + for (final FlutterDevice? device in flutterDevices) { + unawaited(device?.handleHotRestart()); + } return result; } final OperationResult result = await _hotReloadHelper( - targetPlatform: _targetPlatform, + targetPlatform: _targetPlatformName, sdkName: _sdkName, emulator: _emulator, reason: reason, @@ -1018,7 +1021,7 @@ class HotRunner extends ResidentRunner { final devFSTimer = Stopwatch()..start(); UpdateFSReport updatedDevFS; try { - updatedDevFS = await _updateDevFS(); + updatedDevFS = await _updateDevFS(targetPlatform: _targetPlatform); } finally { hotRunnerConfig!.updateDevFSComplete(); } @@ -1180,7 +1183,10 @@ class HotRunner extends ResidentRunner { assetsDirectory: deviceAssetsDirectoryUri, uiIsolateId: view.uiIsolate!.id, viewId: view.id, - windows: device.targetPlatform == TargetPlatform.windows_x64, + windows: + (device.targetPlatform == TargetPlatform.tester && globals.platform.isWindows) || + device.targetPlatform == TargetPlatform.windows_x64 || + device.targetPlatform == TargetPlatform.windows_arm64, ), ), ); @@ -1222,7 +1228,6 @@ class HotRunner extends ResidentRunner { @override Future cleanupAfterSignal() async { - await residentDevtoolsHandler!.shutdown(); await stopEchoingDeviceLog(); await hotRunnerConfig!.runPreShutdownOperations(); shutdownDartDevelopmentService(); @@ -1245,7 +1250,6 @@ class HotRunner extends ResidentRunner { await flutterDevice!.device!.dispose(); } await _cleanupDevFS(); - await residentDevtoolsHandler!.shutdown(); await stopEchoingDeviceLog(); } } diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart index d5016d1450e9f..34e4469b24834 100644 --- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart @@ -36,7 +36,6 @@ abstract final class FlutterGlobalOptions { static const kMachineFlag = 'machine'; static const kPackagesOption = 'packages'; static const kPrefixedErrorsFlag = 'prefixed-errors'; - static const kDtdUrl = 'dtd-url'; static const kPrintDtd = 'print-dtd'; static const kQuietFlag = 'quiet'; static const kShowTestDeviceFlag = 'show-test-device'; @@ -152,12 +151,6 @@ class FlutterCommandRunner extends CommandRunner { hide: !verboseHelp, help: 'Path to your "package_config.json" file.', ); - argParser.addOption( - FlutterGlobalOptions.kDtdUrl, - help: - 'The address of an existing Dart Tooling Daemon instance to be used by the Flutter CLI.', - hide: !verboseHelp, - ); argParser.addFlag( FlutterGlobalOptions.kPrintDtd, negatable: false, diff --git a/packages/flutter_tools/lib/src/test/flutter_tester_device.dart b/packages/flutter_tools/lib/src/test/flutter_tester_device.dart index dfc34548d6673..815e57484a829 100644 --- a/packages/flutter_tools/lib/src/test/flutter_tester_device.dart +++ b/packages/flutter_tools/lib/src/test/flutter_tester_device.dart @@ -138,7 +138,7 @@ class FlutterTesterTestDevice extends TestDevice { 'APP_NAME': flutterProject?.manifest.appName ?? '', if (debuggingOptions.enableImpeller == ImpellerStatus.enabled) 'FLUTTER_TEST_IMPELLER': 'true', - if (testAssetDirectory != null) 'UNIT_TEST_ASSETS': testAssetDirectory!, + 'UNIT_TEST_ASSETS': ?testAssetDirectory, if (platform.isWindows && nativeAssetsBuilder != null && flutterProject != null) 'PATH': '${nativeAssetsBuilder!.windowsBuildDirectory(flutterProject!)};${platform.environment['PATH']}', @@ -173,6 +173,7 @@ class FlutterTesterTestDevice extends TestDevice { ); Uri? forwardingUri; + Uri? devToolsUri; if (debuggingOptions.enableDds) { logger.printTrace('test $id: Starting Dart Development Service'); @@ -181,6 +182,7 @@ class FlutterTesterTestDevice extends TestDevice { debuggingOptions: debuggingOptions, ); forwardingUri = _ddsLauncher.uri; + devToolsUri = _ddsLauncher.devToolsUri; logger.printTrace( 'test $id: Dart Development Service started at $forwardingUri, forwarding to VM service at $detectedUri.', ); @@ -197,7 +199,11 @@ class FlutterTesterTestDevice extends TestDevice { logger.printTrace('test $id: Successfully connected to service protocol: $forwardingUri'); if (debuggingOptions.startPaused && !machine!) { logger.printStatus('The Dart VM service is listening on $forwardingUri'); - await _startDevTools(forwardingUri, _ddsLauncher); + if (devToolsUri != null) { + logger.printStatus( + 'The Flutter DevTools debugger and profiler is available at: $devToolsUri', + ); + } logger.printStatus(''); logger.printStatus( 'The test process has been started. Set any relevant breakpoints and then resume the test in the debugger.', @@ -256,26 +262,6 @@ class FlutterTesterTestDevice extends TestDevice { return connectToVmService(httpUri, compileExpression: compileExpression, logger: logger); } - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - Future _startDevTools(Uri forwardingUri, DartDevelopmentService? dds) async { - _devToolsLauncher = DevtoolsLauncher.instance; - logger.printTrace('test $id: Serving DevTools...'); - final DevToolsServerAddress? devToolsServerAddress = await _devToolsLauncher?.serve(); - - if (devToolsServerAddress == null) { - logger.printTrace('test $id: Failed to start DevTools'); - return; - } - await _devToolsLauncher?.ready; - logger.printTrace('test $id: DevTools is being served at ${devToolsServerAddress.uri}'); - - final Uri devToolsUri = devToolsServerAddress.uri!.replace( - // Use query instead of queryParameters to avoid unnecessary encoding. - query: 'uri=$forwardingUri', - ); - logger.printStatus('The Flutter DevTools debugger and profiler is available at: $devToolsUri'); - } - /// Binds an [HttpServer] serving from `host` on `port`. /// /// Only intended to be overridden in tests. diff --git a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart index 04716575657e5..dba635d5a492d 100644 --- a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart +++ b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart @@ -57,7 +57,7 @@ shelf.Handler createDirectoryHandler(Directory directory, {required bool crossOr return shelf.Response.ok( file.openRead(), headers: { - if (contentType != null) 'Content-Type': contentType, + 'Content-Type': ?contentType, if (needsCrossOriginIsolated) ...kMultiThreadedHeaders, }, ); @@ -580,7 +580,7 @@ class FlutterWebPlatform extends PlatformPlugin { final Runtime browser = platform.runtime; try { - _browserManager = await _launchBrowser(browser); + _browserManager ??= await _launchBrowser(browser); } on Error catch (_) { await _suiteLock.close(); rethrow; @@ -600,8 +600,6 @@ class FlutterWebPlatform extends PlatformPlugin { suiteConfig, message, onDone: () async { - await _browserManager!.close(); - _browserManager = null; lockResource.release(); if (_logger.isVerbose) { _logger.printTrace('Test suite $relativePath finished.'); diff --git a/packages/flutter_tools/lib/src/test/runner.dart b/packages/flutter_tools/lib/src/test/runner.dart index 86aa2ea08820b..67517dac453c8 100644 --- a/packages/flutter_tools/lib/src/test/runner.dart +++ b/packages/flutter_tools/lib/src/test/runner.dart @@ -105,6 +105,7 @@ interface class FlutterTestRunner { artifacts: globals.artifacts!, processManager: globals.processManager, config: globals.config, + shutdownHooks: globals.shutdownHooks, ).initialize( projectDirectory: flutterProject!.directory, testOutputDir: tempBuildDir, @@ -572,6 +573,7 @@ class SpawnPlugin extends PlatformPlugin { fileSystem: globals.fs, fileSystemRoots: debuggingOptions.buildInfo.fileSystemRoots, fileSystemScheme: debuggingOptions.buildInfo.fileSystemScheme, + shutdownHooks: globals.shutdownHooks, ); await residentCompiler.recompile( @@ -734,7 +736,7 @@ class SpawnPlugin extends PlatformPlugin { 'FLUTTER_TEST': flutterTest, 'FONTCONFIG_FILE': FontConfigManager().fontConfigFile.path, 'APP_NAME': flutterProject.manifest.appName, - if (testAssetDirectory != null) 'UNIT_TEST_ASSETS': testAssetDirectory, + 'UNIT_TEST_ASSETS': ?testAssetDirectory, if (nativeAssetsBuilder != null && globals.platform.isWindows) 'PATH': '${nativeAssetsBuilder.windowsBuildDirectory(flutterProject)};${globals.platform.environment['PATH']}', diff --git a/packages/flutter_tools/lib/src/test/test_compiler.dart b/packages/flutter_tools/lib/src/test/test_compiler.dart index 50670abf787f6..967df8459f91c 100644 --- a/packages/flutter_tools/lib/src/test/test_compiler.dart +++ b/packages/flutter_tools/lib/src/test/test_compiler.dart @@ -195,6 +195,7 @@ class TestCompiler { fileSystem: globals.fs, fileSystemRoots: buildInfo.fileSystemRoots, fileSystemScheme: buildInfo.fileSystemScheme, + shutdownHooks: globals.shutdownHooks, ); return residentCompiler; } diff --git a/packages/flutter_tools/lib/src/test/test_golden_comparator.dart b/packages/flutter_tools/lib/src/test/test_golden_comparator.dart index 5b6cfe6489a73..a021c9b066fab 100644 --- a/packages/flutter_tools/lib/src/test/test_golden_comparator.dart +++ b/packages/flutter_tools/lib/src/test/test_golden_comparator.dart @@ -349,8 +349,8 @@ void main() async { try { bool success = await goldenFileComparator.compare(bytes, goldenKey); print(jsonEncode({'success': success})); - } on Exception catch (ex) { - print(jsonEncode({'success': false, 'message': '\$ex'})); + } on /*FlutterError*/ Object? catch (e) { + print(jsonEncode({'success': false, 'message': '\$e'})); } } } else { diff --git a/packages/flutter_tools/lib/src/test/web_test_compiler.dart b/packages/flutter_tools/lib/src/test/web_test_compiler.dart index 263f50ca82777..79edc1bba76df 100644 --- a/packages/flutter_tools/lib/src/test/web_test_compiler.dart +++ b/packages/flutter_tools/lib/src/test/web_test_compiler.dart @@ -32,18 +32,21 @@ class WebTestCompiler { required Platform platform, required ProcessManager processManager, required Config config, + required ShutdownHooks shutdownHooks, }) : _logger = logger, _fileSystem = fileSystem, _artifacts = artifacts, _platform = platform, _processManager = processManager, - _config = config; + _config = config, + _shutdownHooks = shutdownHooks; final Logger _logger; final FileSystem _fileSystem; final Artifacts _artifacts; final Platform _platform; final ProcessManager _processManager; + final ShutdownHooks _shutdownHooks; final Config _config; Future _generateTestEntrypoint({ @@ -160,6 +163,7 @@ class WebTestCompiler { logger: _logger, platform: _platform, fileSystem: _fileSystem, + shutdownHooks: _shutdownHooks, ); final CompilerOutput? output = await residentCompiler.recompile( diff --git a/packages/flutter_tools/lib/src/update_packages_pins.dart b/packages/flutter_tools/lib/src/update_packages_pins.dart index 782adc77c2f8c..9615e1522c56c 100644 --- a/packages/flutter_tools/lib/src/update_packages_pins.dart +++ b/packages/flutter_tools/lib/src/update_packages_pins.dart @@ -22,16 +22,16 @@ const kManuallyPinnedDependencies = { // Add pinned packages here. Please leave a comment explaining why. 'archive': '3.6.1', // https://github.com/flutter/flutter/issues/115660 'code_assets': - '0.19.4', // Under active development with breaking changes until 1.0.0. Manually rolled by @dcharkes. + '0.19.6', // Under active development with breaking changes until 1.0.0. Manually rolled by @dcharkes. 'dds': '5.0.3', // 5.0.4 contains bugs described in https://github.com/Dart-Code/Dart-Code/issues/4678. 'flutter_gallery_assets': '1.0.2', // Tests depend on the exact version. 'flutter_template_images': '5.0.0', // Must always exactly match flutter_tools template. 'google_mobile_ads': '5.1.0', // https://github.com/flutter/flutter/issues/156912 'hooks': - '0.19.5', // Under active development with breaking changes until 1.0.0. Manually rolled by @dcharkes. + '0.20.1', // Under active development with breaking changes until 1.0.0. Manually rolled by @dcharkes. 'hooks_runner': - '0.21.0', // Under active development with breaking changes until 1.0.0. Manually rolled by @dcharkes. + '0.22.1', // Under active development with breaking changes until 1.0.0. Manually rolled by @dcharkes. 'material_color_utilities': '0.11.1', // Keep pinned to latest until 1.0.0. }; diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart index 97801031e507b..ae26f300a5548 100644 --- a/packages/flutter_tools/lib/src/version.dart +++ b/packages/flutter_tools/lib/src/version.dart @@ -271,9 +271,9 @@ abstract class FlutterVersion { 'frameworkRevision': frameworkRevision, 'frameworkCommitDate': frameworkCommitDate, 'engineRevision': engineRevision, - if (engineCommitDate != null) 'engineCommitDate': engineCommitDate!, - if (engineContentHash != null) 'engineContentHash': engineContentHash!, - if (engineBuildDate != null) 'engineBuildDate': engineBuildDate!, + 'engineCommitDate': ?engineCommitDate, + 'engineContentHash': ?engineContentHash, + 'engineBuildDate': ?engineBuildDate, 'dartSdkVersion': dartSdkVersion, 'devToolsVersion': devToolsVersion, 'flutterVersion': frameworkVersion, @@ -1049,23 +1049,47 @@ class GitTagVersion { } } - // If we're not currently on a tag, use git describe to find the most - // recent tag and number of commits past. - return parse( - git - .runSync([ - 'describe', - '--match', - '*.*.*', - '--long', - '--tags', - gitRef, - ], workingDirectory: workingDirectory) - .stdout - .trim(), + // If we don't exist in a tag, use git to find the latest tag. + return _useNewestTagAndCommitsPastFallback( + git: git, + workingDirectory: workingDirectory, + gitRef: gitRef, ); } + static GitTagVersion _useNewestTagAndCommitsPastFallback({ + required Git git, + required String? workingDirectory, + required String gitRef, + }) { + final String latestTag = git + .runSync([ + 'for-each-ref', + '--sort=-v:refname', + '--count=1', + '--format=%(refname:short)', + 'refs/tags/[0-9]*.*.*', + ], workingDirectory: workingDirectory) + .stdout + .trim(); + + final String ancestorRef = git + .runSync(['merge-base', gitRef, latestTag], workingDirectory: workingDirectory) + .stdout + .trim(); + + final String commitCount = git + .runSync([ + 'rev-list', + '--count', + '$ancestorRef..$gitRef', + ], workingDirectory: workingDirectory) + .stdout + .trim(); + + return parse('$latestTag-$commitCount'); + } + /// Parse a version string. /// /// The version string can either be an exact release tag (e.g. '1.2.3' for @@ -1109,6 +1133,7 @@ class GitTagVersion { ); } + @visibleForTesting static GitTagVersion parse(String version) { GitTagVersion gitTagVersion; diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart index 2fdf3374a4d81..21d21501f448c 100644 --- a/packages/flutter_tools/lib/src/vmservice.dart +++ b/packages/flutter_tools/lib/src/vmservice.dart @@ -789,7 +789,7 @@ class FlutterVmService { }) async { final vm_service.Response? response = await _checkedCallServiceExtension( method, - args: {if (isolateId != null) 'isolateId': isolateId, ...?args}, + args: {'isolateId': ?isolateId, ...?args}, ); return response?.json; } diff --git a/packages/flutter_tools/lib/src/web/bootstrap.dart b/packages/flutter_tools/lib/src/web/bootstrap.dart index d2fa08a896587..a9c4e81468fce 100644 --- a/packages/flutter_tools/lib/src/web/bootstrap.dart +++ b/packages/flutter_tools/lib/src/web/bootstrap.dart @@ -8,14 +8,14 @@ import 'package:package_config/package_config.dart'; const _simpleLoaderScript = r''' window.$dartCreateScript = (function() { // Find the nonce value. (Note, this is only computed once.) - var scripts = Array.from(document.getElementsByTagName("script")); - var nonce; + const scripts = Array.from(document.getElementsByTagName("script")); + let nonce; scripts.some( script => (nonce = script.nonce || script.getAttribute("nonce"))); // If present, return a closure that automatically appends the nonce. if (nonce) { return function() { - var script = document.createElement("script"); + const script = document.createElement("script"); script.nonce = nonce; return script; }; @@ -29,10 +29,10 @@ window.$dartCreateScript = (function() { // Loads a module [relativeUrl] relative to [root]. // // If not specified, [root] defaults to the directory serving the main app. -var forceLoadModule = function (relativeUrl, root) { - var actualRoot = root ?? _currentDirectory; +const forceLoadModule = function (relativeUrl, root) { + const actualRoot = root ?? _currentDirectory; return new Promise(function(resolve, reject) { - var script = self.$dartCreateScript(); + const script = self.$dartCreateScript(); let policy = { createScriptURL: function(src) {return src;} }; @@ -150,11 +150,11 @@ String generateDDCLibraryBundleBootstrapScript({ return ''' ${generateLoadingIndicator ? _generateLoadingIndicator() : ""} // Save the current directory so we can access it in a closure. -var _currentDirectory = (function () { - var _url = document.currentScript.src; - var lastSlash = _url.lastIndexOf('/'); +const _currentDirectory = (function () { + const _url = document.currentScript.src; + const lastSlash = _url.lastIndexOf('/'); if (lastSlash == -1) return _url; - var currentDirectory = _url.substring(0, lastSlash + 1); + const currentDirectory = _url.substring(0, lastSlash + 1); return currentDirectory; })(); @@ -184,7 +184,7 @@ $_simpleLoaderScript Promise.all(prerequisiteLoads).then((_) => afterPrerequisiteLogic()); // Save the current script so we can access it in a closure. - var _currentScript = document.currentScript; + const _currentScript = document.currentScript; // Create a policy if needed to load the files during a hot restart. let policy = { @@ -194,7 +194,7 @@ $_simpleLoaderScript policy = self.trustedTypes.createPolicy('dartDdcModuleUrl', policy); } - var afterPrerequisiteLogic = function() { + const afterPrerequisiteLogic = function() { window.\$dartLoader.rootDirectories.push(_currentDirectory); let scripts = [ { @@ -238,7 +238,7 @@ $_simpleLoaderScript !window.\$dartStackTraceUtility.ready) { window.\$dartStackTraceUtility.ready = true; window.\$dartStackTraceUtility.setSourceMapProvider(function(url) { - var baseUrl = window.location.protocol + '//' + window.location.host; + const baseUrl = window.location.protocol + '//' + window.location.host; url = url.replace(baseUrl + '/', ''); if (url == 'dart_sdk.js') { return dartDevEmbedder.debugger.getSourceMap('dart_sdk'); @@ -252,40 +252,44 @@ $_simpleLoaderScript // We should have written a file containing all the scripts that need to be // reloaded into the page. This is then read when a hot restart is triggered // in DDC via the `\$dartReloadModifiedModules` callback. - let restartScripts = _currentDirectory + 'restart_scripts.json'; + // TODO(srujzs): We should avoid using a callback here in the bootstrap once + // the embedder supports passing a list of files/libraries to `hotRestart` + // instead. Currently, we're forced to read this file twice. + let reloadedSources = _currentDirectory + 'reloaded_sources.json'; if (!window.\$dartReloadModifiedModules) { window.\$dartReloadModifiedModules = (function(appName, callback) { - var xhttp = new XMLHttpRequest(); + const xhttp = new XMLHttpRequest(); xhttp.withCredentials = true; xhttp.onreadystatechange = function() { // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState if (this.readyState == 4 && this.status == 200 || this.status == 304) { - var scripts = JSON.parse(this.responseText); - var numToLoad = 0; - var numLoaded = 0; - for (var i = 0; i < scripts.length; i++) { - var script = scripts[i]; - if (script.id == null) continue; - var src = script.src.toString(); - var oldSrc = window.\$dartLoader.moduleIdToUrl.get(script.id); + const scripts = JSON.parse(this.responseText); + let numToLoad = 0; + let numLoaded = 0; + for (let i = 0; i < scripts.length; i++) { + const script = scripts[i]; + const module = script.module; + if (module == null) continue; + const src = script.src; + const oldSrc = window.\$dartLoader.moduleIdToUrl.get(module); // We might actually load from a different uri, delete the old one // just to be sure. window.\$dartLoader.urlToModuleId.delete(oldSrc); - window.\$dartLoader.moduleIdToUrl.set(script.id, src); - window.\$dartLoader.urlToModuleId.set(src, script.id); + window.\$dartLoader.moduleIdToUrl.set(module, src); + window.\$dartLoader.urlToModuleId.set(src, module); numToLoad++; - var el = document.getElementById(script.id); + let el = document.getElementById(module); if (el) el.remove(); el = window.\$dartCreateScript(); el.src = policy.createScriptURL(src); el.async = false; el.defer = true; - el.id = script.id; + el.id = module; el.onload = function() { numLoaded++; if (numToLoad == numLoaded) callback(); @@ -296,7 +300,7 @@ $_simpleLoaderScript if (numToLoad == 0) callback(); } }; - xhttp.open("GET", restartScripts, true); + xhttp.open("GET", reloadedSources, true); xhttp.send(); }); } @@ -381,7 +385,7 @@ document.head.appendChild(requireEl); /// or `flutter build web --debug` should not use this indicator. String _generateLoadingIndicator() { return ''' -var styles = ` +const styles = ` .flutter-loader { width: 100%; height: 8px; @@ -437,16 +441,16 @@ var styles = ` } `; -var styleSheet = document.createElement("style") +const styleSheet = document.createElement("style") styleSheet.type = "text/css"; styleSheet.innerText = styles; document.head.appendChild(styleSheet); -var loader = document.createElement('div'); +const loader = document.createElement('div'); loader.className = "flutter-loader"; document.body.append(loader); -var indeterminate = document.createElement('div'); +const indeterminate = document.createElement('div'); indeterminate.className = "indeterminate"; loader.appendChild(indeterminate); @@ -474,14 +478,14 @@ String generateDDCLibraryBundleMainModule({ /* ENTRYPOINT_EXTENTION_MARKER */ (function() { - let appName = "org-dartlang-app:/$entrypoint"; + const appName = "org-dartlang-app:/$entrypoint"; dartDevEmbedder.debugger.registerDevtoolsFormatter(); $setMaxRequests // Set up a final script that lets us know when all scripts have been loaded. // Only then can we call the main method. - let onLoadEndSrc = '$onLoadEndBootstrap'; + const onLoadEndSrc = '$onLoadEndBootstrap'; window.\$dartLoader.loadConfig.bootstrapScript = { src: onLoadEndSrc, id: onLoadEndSrc, @@ -490,9 +494,9 @@ String generateDDCLibraryBundleMainModule({ // Should be called by $onLoadEndBootstrap once all the scripts have been // loaded. window.$_onLoadEndCallback = function() { - let child = {}; + const child = {}; child.main = function() { - let sdkOptions = { + const sdkOptions = { nativeNonNullAsserts: $nativeNullAssertions, }; dartDevEmbedder.runMain(appName, sdkOptions); diff --git a/packages/flutter_tools/lib/src/web/chrome.dart b/packages/flutter_tools/lib/src/web/chrome.dart index 3314a803fccdd..3fe8b23c6f5f4 100644 --- a/packages/flutter_tools/lib/src/web/chrome.dart +++ b/packages/flutter_tools/lib/src/web/chrome.dart @@ -245,13 +245,9 @@ class ChromiumLauncher { // debugging purposes. // See: https://github.com/flutter/flutter/issues/153928 '--disable-search-engine-choice-screen', + '--no-sandbox', - if (headless) ...[ - '--headless', - '--disable-gpu', - '--no-sandbox', - '--window-size=2400,1800', - ], + if (headless) ...['--headless', '--disable-gpu', '--window-size=2400,1800'], ...webBrowserFlags, url, ]; diff --git a/packages/flutter_tools/lib/src/web/compile.dart b/packages/flutter_tools/lib/src/web/compile.dart index 1e1a72a519829..b79ee7c309976 100644 --- a/packages/flutter_tools/lib/src/web/compile.dart +++ b/packages/flutter_tools/lib/src/web/compile.dart @@ -102,8 +102,8 @@ class WebBuilder { defines: { kTargetFile: target, kHasWebPlugins: hasWebPlugins.toString(), - if (baseHref != null) kBaseHref: baseHref, - if (staticAssetsUrl != null) kStaticAssetsUrl: staticAssetsUrl, + kBaseHref: ?baseHref, + kStaticAssetsUrl: ?staticAssetsUrl, kServiceWorkerStrategy: serviceWorkerStrategy.cliName, ...buildInfo.toBuildSystemEnvironment(), }, diff --git a/packages/flutter_tools/lib/src/web/compiler_config.dart b/packages/flutter_tools/lib/src/web/compiler_config.dart index 4479e06be5ebe..aef8968a7d8ca 100644 --- a/packages/flutter_tools/lib/src/web/compiler_config.dart +++ b/packages/flutter_tools/lib/src/web/compiler_config.dart @@ -43,7 +43,7 @@ sealed class WebCompilerConfig { String get buildKey; Map get buildEventAnalyticsValues => { - if (optimizationLevel != null) 'optimizationLevel': optimizationLevel!, + 'optimizationLevel': ?optimizationLevel, }; Map get _buildKeyMap => { diff --git a/packages/flutter_tools/lib/src/web/web_device.dart b/packages/flutter_tools/lib/src/web/web_device.dart index c84554b880ddc..f1e29691051b7 100644 --- a/packages/flutter_tools/lib/src/web/web_device.dart +++ b/packages/flutter_tools/lib/src/web/web_device.dart @@ -32,8 +32,19 @@ class WebApplicationPackage extends ApplicationPackage { Directory get webSourcePath => flutterProject.directory.childDirectory('web'); } +abstract class WebDevice extends Device { + WebDevice(super.id, {required super.logger}) + : super(category: Category.web, platformType: PlatformType.web, ephemeral: false); + + @override + Uri? get devToolsUri => _devToolsUri; + Uri? _devToolsUri; + + set devToolsUri(Uri? uri) => _devToolsUri = uri; +} + /// A web device that supports a chromium browser. -abstract class ChromiumDevice extends Device { +abstract class ChromiumDevice extends WebDevice { ChromiumDevice({ required String name, required this.chromeLauncher, @@ -41,7 +52,7 @@ abstract class ChromiumDevice extends Device { required super.logger, }) : _fileSystem = fileSystem, _logger = logger, - super(name, category: Category.web, platformType: PlatformType.web, ephemeral: false); + super(name); final ChromiumLauncher chromeLauncher; @@ -187,9 +198,10 @@ class GoogleChromeDevice extends ChromiumDevice { final ProcessManager _processManager; static const kChromeDeviceId = 'chrome'; + static const kChromeDeviceName = 'Chrome'; @override - String get name => 'Chrome'; + String get name => kChromeDeviceName; @override late final Future sdkNameAndVersion = _computeSdkNameAndVersion(); @@ -243,9 +255,10 @@ class MicrosoftEdgeDevice extends ChromiumDevice { static const _kFirstChromiumEdgeMajorVersion = 79; static const kEdgeDeviceId = 'edge'; + static const kEdgeDeviceName = 'Edge'; @override - String get name => 'Edge'; + String get name => kEdgeDeviceName; Future _meetsVersionConstraint() async { final String rawVersion = (await sdkNameAndVersion).replaceFirst('Microsoft Edge ', ''); @@ -290,7 +303,7 @@ class WebDevices extends PollingDeviceDiscovery { required FeatureFlags featureFlags, }) : _featureFlags = featureFlags, _webServerDevice = WebServerDevice(logger: logger), - super('Chrome') { + super(GoogleChromeDevice.kChromeDeviceName) { final operatingSystemUtils = OperatingSystemUtils( fileSystem: fileSystem, platform: platform, @@ -362,10 +375,8 @@ String parseVersionForWindows(String input) { } /// A special device type to allow serving for arbitrary browsers. -class WebServerDevice extends Device { - WebServerDevice({required super.logger}) - : _logger = logger, - super('web-server', platformType: PlatformType.web, category: Category.web, ephemeral: false); +class WebServerDevice extends WebDevice { + WebServerDevice({required super.logger}) : _logger = logger, super('web-server'); static const kWebServerDeviceId = 'web-server'; static var showWebServerDevice = false; diff --git a/packages/flutter_tools/lib/src/widget_preview/analytics.dart b/packages/flutter_tools/lib/src/widget_preview/analytics.dart index a3e3374117020..b1bb25a6789a7 100644 --- a/packages/flutter_tools/lib/src/widget_preview/analytics.dart +++ b/packages/flutter_tools/lib/src/widget_preview/analytics.dart @@ -58,7 +58,7 @@ class WidgetPreviewAnalytics { /// /// This should be invoked when a file system event is detected in the preview detector. void startPreviewReloadStopwatch() { - assert(!_launchTimer.isRunning); + assert(!_reloadTimer.isRunning); _reloadTimer.start(); } diff --git a/packages/flutter_tools/lib/src/widget_preview/dependency_graph.dart b/packages/flutter_tools/lib/src/widget_preview/dependency_graph.dart index c8251d184d6bd..278e52c308b87 100644 --- a/packages/flutter_tools/lib/src/widget_preview/dependency_graph.dart +++ b/packages/flutter_tools/lib/src/widget_preview/dependency_graph.dart @@ -34,18 +34,22 @@ typedef PreviewDependencyGraph = Map; /// generation. class _PreviewVisitor extends RecursiveAstVisitor { _PreviewVisitor({required LibraryElement2 lib}) - : packageName = lib.uri.scheme == 'package' ? lib.uri.pathSegments.first : null, - _context = lib.session.analysisContext; + : packageName = lib.uri.scheme == 'package' ? lib.uri.pathSegments.first : null; late final String? packageName; final previewEntries = []; - final AnalysisContext _context; FunctionDeclaration? _currentFunction; ConstructorDeclaration? _currentConstructor; MethodDeclaration? _currentMethod; + late Uri _currentScriptUri; + + void findPreviewsInResolvedUnitResult(ResolvedUnitResult unit) { + _scopedVisitChildren(unit.unit, (_) => _currentScriptUri = unit.file.toUri()); + } + /// Handles previews defined on top-level functions. @override void visitFunctionDeclaration(FunctionDeclaration node) { @@ -76,51 +80,70 @@ class _PreviewVisitor extends RecursiveAstVisitor { _scopedVisitChildren(node, (MethodDeclaration? node) => _currentMethod = node); } + bool hasRequiredParams(FormalParameterList? params) { + return params?.parameters.any((p) => p.isRequired) ?? false; + } + @override void visitAnnotation(Annotation node) { - final previewsToProcess = []; - if (node.isMultiPreview) { - previewsToProcess.addAll(node.findMultiPreviewPreviewNodes(context: _context)); - } else if (node.isPreview) { - previewsToProcess.add(node.elementAnnotation!.computeConstantValue()!); - } else { + final bool isMultiPreview = node.isMultiPreview; + // Skip non-preview annotations. + if (!node.isPreview && !isMultiPreview) { return; } - - for (final preview in previewsToProcess) { - assert(_currentFunction != null || _currentConstructor != null || _currentMethod != null); - if (_currentFunction != null) { - final returnType = _currentFunction!.returnType! as NamedType; - previewEntries.add( - PreviewDetails( - packageName: packageName, - functionName: _currentFunction!.name.toString(), - isBuilder: returnType.name2.isWidgetBuilder, - previewAnnotation: preview, - ), - ); - } else if (_currentConstructor != null) { - final returnType = _currentConstructor!.returnType as SimpleIdentifier; - final Token? name = _currentConstructor!.name; - previewEntries.add( - PreviewDetails( - packageName: packageName, - functionName: '$returnType${name == null ? '' : '.$name'}', - isBuilder: false, - previewAnnotation: preview, - ), - ); - } else if (_currentMethod != null) { - final returnType = _currentMethod!.returnType! as NamedType; - final parentClass = _currentMethod!.parent! as ClassDeclaration; - previewEntries.add( - PreviewDetails( - packageName: packageName, - functionName: '${parentClass.name}.${_currentMethod!.name}', - isBuilder: returnType.name2.isWidgetBuilder, - previewAnnotation: preview, - ), - ); + // The preview annotations must only have constant arguments. + final DartObject? preview = node.elementAnnotation!.computeConstantValue(); + if (preview == null) { + return; + } + if (_currentFunction != null && + !hasRequiredParams(_currentFunction!.functionExpression.parameters)) { + final TypeAnnotation? returnTypeAnnotation = _currentFunction!.returnType; + if (returnTypeAnnotation is NamedType) { + final Token returnType = returnTypeAnnotation.name; + if (returnType.isWidget || returnType.isWidgetBuilder) { + previewEntries.add( + PreviewDetails( + scriptUri: _currentScriptUri, + packageName: packageName, + functionName: _currentFunction!.name.toString(), + isBuilder: returnType.isWidgetBuilder, + previewAnnotation: preview, + isMultiPreview: isMultiPreview, + ), + ); + } + } + } else if (_currentConstructor != null && !hasRequiredParams(_currentConstructor!.parameters)) { + final returnType = _currentConstructor!.returnType as SimpleIdentifier; + final Token? name = _currentConstructor!.name; + previewEntries.add( + PreviewDetails( + scriptUri: _currentScriptUri, + packageName: packageName, + functionName: '$returnType${name == null ? '' : '.$name'}', + isBuilder: false, + previewAnnotation: preview, + isMultiPreview: isMultiPreview, + ), + ); + } else if (_currentMethod != null && !hasRequiredParams(_currentMethod!.parameters)) { + final TypeAnnotation? returnTypeAnnotation = _currentMethod!.returnType; + if (returnTypeAnnotation is NamedType) { + final Token returnType = returnTypeAnnotation.name; + if (returnType.isWidget || returnType.isWidgetBuilder) { + final parentClass = _currentMethod!.parent! as ClassDeclaration; + previewEntries.add( + PreviewDetails( + scriptUri: _currentScriptUri, + packageName: packageName, + functionName: '${parentClass.name}.${_currentMethod!.name}', + isBuilder: returnType.isWidgetBuilder, + previewAnnotation: preview, + isMultiPreview: isMultiPreview, + ), + ); + } } } } @@ -134,7 +157,7 @@ class _PreviewVisitor extends RecursiveAstVisitor { /// Contains all the information related to a library being watched by [PreviewDetector]. final class LibraryPreviewNode { - LibraryPreviewNode({required LibraryElement2 library, required this.logger}) + LibraryPreviewNode({required LibraryElement library, required this.logger}) : path = library.toPreviewPath() { final libraryFilePaths = [ for (final LibraryFragment fragment in library.fragments) fragment.source.fullName, @@ -190,10 +213,8 @@ final class LibraryPreviewNode { /// Finds all previews defined in the [lib] and adds them to [previews]. void findPreviews({required ResolvedLibraryResult lib}) { // Iterate over the compilation unit's AST to find previews. - final visitor = _PreviewVisitor(lib: lib.element2); - for (final ResolvedUnitResult libUnit in lib.units) { - libUnit.unit.visitChildren(visitor); - } + final visitor = _PreviewVisitor(lib: lib.element); + lib.units.forEach(visitor.findPreviewsInResolvedUnitResult); previews ..clear() ..addAll(visitor.previewEntries); @@ -212,13 +233,13 @@ final class LibraryPreviewNode { for (final unit in units) { final LibraryFragment fragment = unit.libraryFragment; - for (final LibraryImport importedLib in fragment.libraryImports2) { - if (importedLib.importedLibrary2 == null) { + for (final LibraryImport importedLib in fragment.libraryImports) { + if (importedLib.importedLibrary == null) { // This is an import for a file that's not analyzed (likely an import of a package from // the pub-cache) and isn't necessary to track as part of the dependency graph. continue; } - final LibraryElement2 importedLibrary = importedLib.importedLibrary2!; + final LibraryElement importedLibrary = importedLib.importedLibrary!; final LibraryPreviewNode result = graph.putIfAbsent( importedLibrary.toPreviewPath(), () => LibraryPreviewNode(library: importedLibrary, logger: logger), diff --git a/packages/flutter_tools/lib/src/widget_preview/dtd_services.dart b/packages/flutter_tools/lib/src/widget_preview/dtd_services.dart index 280ee3c96298b..d9537ca7bf037 100644 --- a/packages/flutter_tools/lib/src/widget_preview/dtd_services.dart +++ b/packages/flutter_tools/lib/src/widget_preview/dtd_services.dart @@ -12,6 +12,7 @@ import '../artifacts.dart'; import '../base/common.dart'; import '../base/io.dart'; import '../base/logger.dart'; +import '../base/platform.dart'; import '../base/process.dart'; import '../convert.dart'; @@ -37,10 +38,11 @@ class WidgetPreviewDtdServices { // START KEEP SYNCED static const kWidgetPreviewService = 'widget-preview'; + static const kIsWindows = 'isWindows'; static const kHotRestartPreviewer = 'hotRestartPreviewer'; /// The list of DTD service methods registered by the tool. - late final services = [(kHotRestartPreviewer, _hotRestart)]; + late final services = [(kHotRestartPreviewer, _hotRestart), (kIsWindows, _isWindows)]; // END KEEP SYNCED @@ -89,6 +91,10 @@ class WidgetPreviewDtdServices { onHotRestartPreviewerRequest(); return const Success().toJson(); } + + Future> _isWindows(Parameters _) async { + return BoolResponse(const LocalPlatform().isWindows).toJson(); + } } /// Manages the lifecycle of a Dart Tooling Daemon (DTD) instance. diff --git a/packages/flutter_tools/lib/src/widget_preview/preview_code_generator.dart b/packages/flutter_tools/lib/src/widget_preview/preview_code_generator.dart index 0e88caa3e3e8a..29244214dd7c3 100644 --- a/packages/flutter_tools/lib/src/widget_preview/preview_code_generator.dart +++ b/packages/flutter_tools/lib/src/widget_preview/preview_code_generator.dart @@ -6,8 +6,6 @@ import 'package:analyzer/dart/constant/value.dart'; import 'package:analyzer/dart/element/element2.dart' as analyzer; import 'package:analyzer/dart/element/element2.dart'; import 'package:analyzer/dart/element/type.dart'; -// ignore: implementation_imports, can be removed when package:analyzer 8.1.0 is released. -import 'package:analyzer/src/dart/constant/value.dart'; import 'package:built_collection/built_collection.dart'; import 'package:code_builder/code_builder.dart' as cb; import 'package:dart_style/dart_style.dart'; @@ -31,11 +29,21 @@ class PreviewCodeGenerator { /// project. final FlutterProject widgetPreviewScaffoldProject; - static const _kBuilderType = 'Builder'; - static const _kBuilderLibraryUri = 'package:flutter/widgets.dart'; - static const _kBuilderProperty = 'builder'; + static const _kBuildMultiWidgetPreview = 'buildMultiWidgetPreview'; + static const _kBuildWidgetPreview = 'buildWidgetPreview'; + static const _kBuildWidgetPreviewError = 'buildWidgetPreviewError'; + static const _kDependencyHasErrors = 'dependencyHasErrors'; static const _kListType = 'List'; + static const _kPackageName = 'packageName'; + static const _kPackageUri = 'packageUri'; + static const _kPreview = 'preview'; + static const _kPreviewFunction = 'previewFunction'; + static const _kPreviewFunctionName = 'functionName'; static const _kPreviewsFunctionName = 'previews'; + static const _kScriptUri = 'scriptUri'; + static const _kTransform = 'transform'; + static const _kTransformedPreview = 'transformedPreview'; + static const _kUtilsUri = 'utils.dart'; static const _kWidgetPreviewClass = 'WidgetPreview'; static const _kWidgetPreviewLibraryUri = 'widget_preview.dart'; @@ -92,15 +100,17 @@ class PreviewCodeGenerator { void populatePreviewsInGeneratedPreviewScaffold(PreviewDependencyGraph previews) { final emitter = cb.DartEmitter.scoped(useNullSafetySyntax: true); final lib = cb.Library( - (cb.LibraryBuilder b) => b.body.addAll([ - cb.Method( - (cb.MethodBuilder b) => _buildGeneratedPreviewMethod( - allocator: emitter.allocator, - previews: previews, - builder: b, + (cb.LibraryBuilder b) => b + ..ignoreForFile.add('implementation_imports') + ..body.addAll([ + cb.Method( + (cb.MethodBuilder b) => _buildGeneratedPreviewMethod( + allocator: emitter.allocator, + previews: previews, + builder: b, + ), ), - ), - ]), + ]), ); final File generatedPreviewFile = fs.file( widgetPreviewScaffoldProject.directory.uri.resolve(getGeneratedPreviewFilePath(fs)), @@ -118,7 +128,6 @@ class PreviewCodeGenerator { required cb.Allocator allocator, required cb.MethodBuilder builder, }) { - final previewExpressions = []; // Sort the entries by URI so that the code generator assigns import prefixes in a // deterministic manner, mainly for testing purposes. This also results in previews being // displayed in the same order across platforms with differing path styles. @@ -126,24 +135,17 @@ class PreviewCodeGenerator { ..sort((_PreviewMappingEntry a, _PreviewMappingEntry b) { return a.key.uri.toString().compareTo(b.key.uri.toString()); }); - for (final _PreviewMappingEntry( - key: (path: String _, :Uri uri), - value: LibraryPreviewNode libraryDetails, - ) - in sortedPreviews) { - for (final PreviewDetails preview in libraryDetails.previews) { - previewExpressions.add( - _buildPreviewWidget( - allocator: allocator, - preview: preview, - uri: uri, - libraryDetails: libraryDetails, - ), - ); - } - } + builder - ..body = cb.literalList(previewExpressions).code + ..body = cb.literalList([ + for (final libraryPreviews in sortedPreviews) + for (final preview in libraryPreviews.value.previews) + _buildPreviews( + preview: preview, + uri: libraryPreviews.key.uri, + libraryDetails: libraryPreviews.value, + ), + ]).code ..name = _kPreviewsFunctionName ..returns = (cb.TypeReferenceBuilder() @@ -154,107 +156,49 @@ class PreviewCodeGenerator { .build(); } - cb.Expression _buildPreviewWidget({ - required cb.Allocator allocator, + cb.Expression _buildPreviews({ required PreviewDetails preview, required Uri uri, required LibraryPreviewNode libraryDetails, }) { - cb.Expression previewWidget; - // TODO(bkonyi): clean up the error related code. - if (libraryDetails.hasErrors) { - previewWidget = cb.refer('Text', 'package:flutter/material.dart').newInstance([ - cb.literalString('$uri has errors!'), - ]); - } else if (libraryDetails.dependencyHasErrors) { - previewWidget = cb.refer('Text', 'package:flutter/material.dart').newInstance([ - cb.literalString('Dependency of $uri has errors!'), - ]); - } else { - previewWidget = cb.refer(preview.functionName, uri.toString()).call([]); - - if (preview.isBuilder) { - previewWidget = cb.refer(_kBuilderType, _kBuilderLibraryUri).newInstance( - [], - {_kBuilderProperty: previewWidget}, - ); - } - - if (preview.hasWrapper) { - previewWidget = preview.wrapper.toExpression().call([previewWidget]); - } + final args = { + _kPackageName: cb.literalString(preview.packageName!), + _kScriptUri: cb.literalString(preview.scriptUri.toString()), + }; + // TODO(bkonyi): improve the error related code. + if (libraryDetails.hasErrors || libraryDetails.dependencyHasErrors) { + return cb.refer(_kBuildWidgetPreviewError, _kUtilsUri).call([], { + ...args, + _kPackageUri: cb.literalString(uri.toString()), + _kPreviewFunctionName: cb.literalString(preview.functionName), + _kDependencyHasErrors: cb.literalBool(libraryDetails.dependencyHasErrors), + }); } - previewWidget = cb.Method((cb.MethodBuilder previewBuilder) { - previewBuilder.body = previewWidget.code; - }).closure; + final cb.Expression previewWidget = cb + .refer(preview.functionName, uri.toString()) + .call([]); - return cb.refer(_kWidgetPreviewClass, _kWidgetPreviewLibraryUri).newInstance( - [], - { - // TODO(bkonyi): try to display the preview name, even if the preview can't be displayed. - if (!libraryDetails.dependencyHasErrors && - !libraryDetails.hasErrors) ...{ - if (preview.packageName != null) - PreviewDetails.kPackageName: cb.literalString(preview.packageName!), - ...?_generateCodeFromAnalyzerExpression( - allocator: allocator, - key: PreviewDetails.kName, - object: preview.name, - ), - ...?_generateCodeFromAnalyzerExpression( - allocator: allocator, - key: PreviewDetails.kSize, - object: preview.size, - ), - ...?_generateCodeFromAnalyzerExpression( - allocator: allocator, - key: PreviewDetails.kTextScaleFactor, - object: preview.textScaleFactor, - ), - ...?_generateCodeFromAnalyzerExpression( - allocator: allocator, - key: PreviewDetails.kTheme, - object: preview.theme, - isCallback: true, - ), - ...?_generateCodeFromAnalyzerExpression( - allocator: allocator, - key: PreviewDetails.kBrightness, - object: preview.brightness, - ), - ...?_generateCodeFromAnalyzerExpression( - allocator: allocator, - key: PreviewDetails.kLocalizations, - object: preview.localizations, - isCallback: true, - ), - }, - _kBuilderProperty: previewWidget, - }, - ); - } + args.addAll({ + _kPreviewFunction: cb.Method((builder) => builder.body = previewWidget.code).closure, + }); - Map? _generateCodeFromAnalyzerExpression({ - required cb.Allocator allocator, - required String key, - required DartObject? object, - bool isCallback = false, - }) { - if (object == null || object.isNull) { - return null; + if (preview.isMultiPreview) { + return cb.refer(_kBuildMultiWidgetPreview, _kUtilsUri).call([], { + ...args, + _kPreview: preview.previewAnnotation.toExpression(), + }).spread; } - cb.Expression expression = object.toExpression(); - if (isCallback) { - expression = expression.call([]); - } - return {key: expression}; + + return cb.refer(_kBuildWidgetPreview, _kUtilsUri).call([], { + ...args, + _kTransformedPreview: preview.previewAnnotation.toExpression().property(_kTransform).call([]), + }); } } extension on DartObject { cb.Expression toExpression() { - final objectImpl = this as DartObjectImpl; final DartType type = this.type!; return switch (type) { DartType(isDartCoreBool: true) => cb.literalBool(toBoolValue()!), @@ -262,27 +206,27 @@ extension on DartObject { DartType(isDartCoreInt: true) => cb.literalNum(toIntValue()!), DartType(isDartCoreString: true) => cb.literalString(toStringValue()!), DartType(isDartCoreNull: true) => cb.literalNull, - InterfaceType(element3: EnumElement2()) => _createEnumInstance(objectImpl), - InterfaceType() => _createInstance(type, objectImpl), - FunctionType() => _createTearoff(toFunctionValue2()!), + InterfaceType(element3: EnumElement()) => _createEnumInstance(this), + InterfaceType() => _createInstance(type, this), + FunctionType() => _createTearoff(toFunctionValue()!), _ => throw UnsupportedError('Unexpected DartObject type: $runtimeType'), }; } - cb.Expression _createTearoff(ExecutableElement2 element) { + cb.Expression _createTearoff(ExecutableElement element) { return cb.refer(element.displayName, _elementToLibraryIdentifier(element)); } - cb.Expression _createEnumInstance(DartObjectImpl object) { - final VariableElement2 variable = object.variable2!; + cb.Expression _createEnumInstance(DartObject object) { + final VariableElement variable = object.variable!; return switch (variable) { - FieldElement2( + FieldElement( isEnumConstant: true, displayName: final enumValue, - enclosingElement2: EnumElement2(displayName: final enumName), + enclosingElement: EnumElement(displayName: final enumName), ) => cb.refer('$enumName.$enumValue', _elementToLibraryIdentifier(variable)), - PropertyInducingElement2(:final displayName) => cb.refer( + PropertyInducingElement(:final displayName) => cb.refer( displayName, _elementToLibraryIdentifier(variable), ), @@ -290,9 +234,9 @@ extension on DartObject { }; } - cb.Expression _createInstance(InterfaceType dartType, DartObjectImpl object) { - final ConstructorInvocation constructorInvocation = object.getInvocation()!; - final ConstructorElement2 constructor = constructorInvocation.constructor2; + cb.Expression _createInstance(InterfaceType dartType, DartObject object) { + final ConstructorInvocation constructorInvocation = object.constructorInvocation!; + final ConstructorElement constructor = constructorInvocation.constructor; final cb.Expression type = cb.refer( dartType.element3.name3!, _elementToLibraryIdentifier(dartType.element3), @@ -317,6 +261,6 @@ extension on DartObject { ); } - /// Returns the import URI for the [analyzer.LibraryElement2] containing [element]. - String? _elementToLibraryIdentifier(analyzer.Element2? element) => element?.library2!.identifier; + /// Returns the import URI for the [analyzer.LibraryElement] containing [element]. + String? _elementToLibraryIdentifier(analyzer.Element? element) => element?.library!.identifier; } diff --git a/packages/flutter_tools/lib/src/widget_preview/preview_details.dart b/packages/flutter_tools/lib/src/widget_preview/preview_details.dart index b135ef72bff6d..91b0bf0ad6fbe 100644 --- a/packages/flutter_tools/lib/src/widget_preview/preview_details.dart +++ b/packages/flutter_tools/lib/src/widget_preview/preview_details.dart @@ -4,29 +4,21 @@ import 'package:analyzer/dart/constant/value.dart'; +typedef PreviewProperty = ({String key, DartObject object, bool isCallback}); + /// Contains details related to a single preview instance. final class PreviewDetails { PreviewDetails({ + required this.scriptUri, required this.packageName, required this.functionName, required this.isBuilder, - required DartObject previewAnnotation, - }) : name = previewAnnotation.getField(kName)!, - size = previewAnnotation.getField(kSize)!, - textScaleFactor = previewAnnotation.getField(kTextScaleFactor)!, - wrapper = previewAnnotation.getField(kWrapper)!, - theme = previewAnnotation.getField(kTheme)!, - brightness = previewAnnotation.getField(kBrightness)!, - localizations = previewAnnotation.getField(kLocalizations)!; + required this.isMultiPreview, + required this.previewAnnotation, + }); - static const kPackageName = 'packageName'; - static const kName = 'name'; - static const kSize = 'size'; - static const kTextScaleFactor = 'textScaleFactor'; - static const kWrapper = 'wrapper'; - static const kTheme = 'theme'; - static const kBrightness = 'brightness'; - static const kLocalizations = 'localizations'; + /// The file:// URI pointing to the script in which the preview is defined. + final Uri scriptUri; /// The name of the package in which the preview was defined. /// @@ -44,43 +36,13 @@ final class PreviewDetails { /// instead of a `Widget`. final bool isBuilder; - /// A description to be displayed alongside the preview. - /// - /// If not provided, no name will be associated with the preview. - final DartObject name; - - /// Artificial constraints to be applied to the `child`. - /// - /// If not provided, the previewed widget will attempt to set its own - /// constraints and may result in an unbounded constraint error. - final DartObject size; - - /// Applies font scaling to text within the `child`. - /// - /// If not provided, the default text scaling factor provided by `MediaQuery` - /// will be used. - final DartObject textScaleFactor; - - /// The name of a tear-off used to wrap the `Widget` returned by the preview - /// function defined by [functionName]. - /// - /// If not provided, the `Widget` returned by [functionName] will be used by - /// the previewer directly. - final DartObject wrapper; - - /// Set to `true` if `wrapper` is set. - bool get hasWrapper => !wrapper.isNull; - - /// A callback to return Material and Cupertino theming data to be applied - /// to the previewed `Widget`. - final DartObject theme; - - /// Sets the initial theme brightness. + /// The annotation marking a function as a preview. /// - /// If not provided, the current system default brightness will be used. - final DartObject brightness; + /// This can be any object which extends `Preview` or `MultiPreview`. + final DartObject previewAnnotation; - final DartObject localizations; + /// Set to true if [previewAnnotation] is a `MultiPreview`. + final bool isMultiPreview; @override // ignore: avoid_equals_and_hash_code_on_mutable_classes @@ -90,34 +52,35 @@ final class PreviewDetails { } return other.runtimeType == runtimeType && other is PreviewDetails && + other.scriptUri == scriptUri && other.packageName == packageName && other.functionName == functionName && other.isBuilder == isBuilder && - other.size == size && - other.textScaleFactor == textScaleFactor && - other.wrapper == wrapper && - other.theme == theme && - other.brightness == brightness && - other.localizations == localizations; + other.previewAnnotation == previewAnnotation && + other.isMultiPreview == isMultiPreview; } @override String toString() => - 'PreviewDetails(function: $functionName packageName: $packageName isBuilder: $isBuilder ' - '$kName: $name $kSize: $size $kTextScaleFactor: $textScaleFactor $kWrapper: $wrapper ' - '$kTheme: $theme $kBrightness: $brightness $kLocalizations: $localizations)'; + ''' +PreviewDetails( + scriptUri: $scriptUri + function: $functionName + packageName: $packageName + isBuilder: $isBuilder + isMultiPreview: $isMultiPreview + previewAnnotation: $previewAnnotation +) +'''; @override // ignore: avoid_equals_and_hash_code_on_mutable_classes int get hashCode => Object.hashAll([ + scriptUri, packageName, functionName, isBuilder, - size, - textScaleFactor, - wrapper, - theme, - brightness, - localizations, + previewAnnotation, + isMultiPreview, ]); } diff --git a/packages/flutter_tools/lib/src/widget_preview/preview_detector.dart b/packages/flutter_tools/lib/src/widget_preview/preview_detector.dart index 7e517a1d82de8..65ae5b186bc35 100644 --- a/packages/flutter_tools/lib/src/widget_preview/preview_detector.dart +++ b/packages/flutter_tools/lib/src/widget_preview/preview_detector.dart @@ -14,31 +14,49 @@ import 'package:watcher/watcher.dart'; import '../base/file_system.dart'; import '../base/logger.dart'; +import '../base/platform.dart'; import '../base/utils.dart'; import 'analytics.dart'; import 'dependency_graph.dart'; import 'utils.dart'; +typedef WatcherBuilder = Watcher Function(String path); + +Watcher _defaultWatcherBuilder(String path) { + return Watcher(path); +} + class PreviewDetector { PreviewDetector({ + required this.platform, required this.previewAnalytics, required this.projectRoot, required this.fs, required this.logger, required this.onChangeDetected, required this.onPubspecChangeDetected, + @visibleForTesting this.watcherBuilder = _defaultWatcherBuilder, }); + final Platform platform; final WidgetPreviewAnalytics previewAnalytics; final Directory projectRoot; final FileSystem fs; final Logger logger; final void Function(PreviewDependencyGraph) onChangeDetected; final void Function(String path) onPubspecChangeDetected; + final WatcherBuilder watcherBuilder; + @visibleForTesting + static const kDirectoryWatcherClosedUnexpectedlyPrefix = 'Directory watcher closed unexpectedly'; + @visibleForTesting + static const kWindowsFileWatcherRestartedMessage = + 'WindowsDirectoryWatcher has closed and been restarted.'; StreamSubscription? _fileWatcher; final _mutex = PreviewDetectorMutex(); + var _disposed = false; + @visibleForTesting PreviewDependencyGraph get dependencyGraph => _dependencyGraph; final PreviewDependencyGraph _dependencyGraph = PreviewDependencyGraph(); @@ -57,8 +75,22 @@ class PreviewDetector { // Determine which files have transitive dependencies with compile time errors. _propagateErrors(); - final watcher = Watcher(projectRoot.path); - _fileWatcher = watcher.events.listen(_onFileSystemEvent); + final Watcher watcher = watcherBuilder(projectRoot.path); + _fileWatcher = watcher.events.listen( + _onFileSystemEvent, + onError: (Object e, StackTrace st) { + if (platform.isWindows && + e is FileSystemException && + e.message.startsWith(kDirectoryWatcherClosedUnexpectedlyPrefix)) { + // The Windows directory watcher sometimes decides to shutdown on its own. It's + // automatically restarted by package:watcher, but we need to handle this exception. + // See https://github.com/dart-lang/tools/issues/1713 for details. + logger.printTrace(kWindowsFileWatcherRestartedMessage); + return; + } + Error.throwWithStackTrace(e, st); + }, + ); // Wait for file watcher to finish initializing, otherwise we might miss changes and cause // tests to flake. @@ -67,10 +99,15 @@ class PreviewDetector { } Future dispose() async { + if (_disposed) { + return; + } + _disposed = true; // Guard disposal behind a mutex to make sure the analyzer has finished // processing the latest file updates to avoid throwing an exception. await _mutex.runGuarded(() async { await _fileWatcher?.cancel(); + _fileWatcher = null; await collection.dispose(); }); } @@ -191,12 +228,12 @@ class PreviewDetector { final unit = (await context.currentSession.getResolvedUnit(filePath)) as ResolvedUnitResult; lib = await context.currentSession.getResolvedLibrary( - unit.libraryElement2.firstFragment.source.fullName, + unit.libraryElement.firstFragment.source.fullName, ); } if (lib is ResolvedLibraryResult) { final ResolvedLibraryResult resolvedLib = lib; - final PreviewPath previewPath = lib.element2.toPreviewPath(); + final PreviewPath previewPath = lib.element.toPreviewPath(); // This library has already been processed. if (updatedPreviews.containsKey(previewPath)) { continue; @@ -204,7 +241,7 @@ class PreviewDetector { final LibraryPreviewNode previewsForLibrary = _dependencyGraph.putIfAbsent( previewPath, - () => LibraryPreviewNode(library: resolvedLib.element2, logger: logger), + () => LibraryPreviewNode(library: resolvedLib.element, logger: logger), ); previewsForLibrary.updateDependencyGraph(graph: _dependencyGraph, units: lib.units); diff --git a/packages/flutter_tools/lib/src/widget_preview/preview_pubspec_builder.dart b/packages/flutter_tools/lib/src/widget_preview/preview_pubspec_builder.dart index ac98d122851c7..a4594f8aaed5b 100644 --- a/packages/flutter_tools/lib/src/widget_preview/preview_pubspec_builder.dart +++ b/packages/flutter_tools/lib/src/widget_preview/preview_pubspec_builder.dart @@ -40,6 +40,7 @@ class PreviewPubspecBuilder { /// - flutter_lints, which is referenced by the analysis_options.yaml generated by the 'app' /// template. /// - google_fonts, which is used for the Roboto Mono font. + /// - path, which is used to normalize and compare paths. /// - stack_trace, which is used to generate terse stack traces for displaying errors thrown /// by widgets being previewed. /// - url_launcher, which is used to open a browser to the preview documentation. @@ -47,6 +48,7 @@ class PreviewPubspecBuilder { 'dtd', 'flutter_lints', 'google_fonts', + 'path', 'stack_trace', 'url_launcher', ]; diff --git a/packages/flutter_tools/lib/src/widget_preview/utils.dart b/packages/flutter_tools/lib/src/widget_preview/utils.dart index e5dffeda24522..e0f6747b4544c 100644 --- a/packages/flutter_tools/lib/src/widget_preview/utils.dart +++ b/packages/flutter_tools/lib/src/widget_preview/utils.dart @@ -5,14 +5,13 @@ import 'dart:async'; import 'dart:collection'; -import 'package:analyzer/dart/analysis/analysis_context.dart'; import 'package:analyzer/dart/analysis/results.dart'; import 'package:analyzer/dart/ast/ast.dart'; import 'package:analyzer/dart/ast/token.dart'; -import 'package:analyzer/dart/constant/value.dart'; import 'package:analyzer/dart/element/element2.dart'; import 'package:analyzer/dart/element/type.dart'; import 'package:analyzer/source/source.dart'; +import 'package:collection/collection.dart'; import 'dependency_graph.dart'; @@ -22,6 +21,21 @@ extension TokenExtension on Token { /// Convenience getter to identify WidgetBuilder types. bool get isWidgetBuilder => toString() == 'WidgetBuilder'; + + /// Convenience getter to identify Widget types. + bool get isWidget => toString() == 'Widget'; +} + +extension on InterfaceType { + bool isType({required String typeName, required Uri uri}) { + if (getDisplayString() == typeName && element.library.uri == uri) { + return true; + } + return allSupertypes.firstWhereOrNull((e) { + return e.getDisplayString() == typeName && e.element.library.uri == uri; + }) != + null; + } } extension AnnotationExtension on Annotation { @@ -29,35 +43,20 @@ extension AnnotationExtension on Annotation { 'package:flutter/src/widget_previews/widget_previews.dart', ); - /// Convenience getter to identify `@Preview` annotations - bool get isPreview => - name.name == 'Preview' && - elementAnnotation!.element2?.library2!.uri == widgetPreviewsLibraryUri; - - bool get isMultiPreview { - final Element2? element = elementAnnotation!.element2; - if (element is ConstructorElement2) { - final InterfaceType type = element.enclosingElement2.supertype!; - return type.getDisplayString() == 'MultiPreview' && - type.element3.library2.uri == widgetPreviewsLibraryUri; + bool _isPreviewType(String typeName) { + final Element? element = elementAnnotation!.element; + if (element is ConstructorElement) { + final InterfaceType type = element.enclosingElement.thisType; + return type.isType(typeName: typeName, uri: widgetPreviewsLibraryUri); } return false; } - List findMultiPreviewPreviewNodes({required AnalysisContext context}) { - final DartObject evaluatedAnnotation = elementAnnotation!.computeConstantValue()!; - final Element2 element = evaluatedAnnotation.type!.element3!; - if (element is ClassElement2) { - final InterfaceType type = element.supertype!; - if (type.getDisplayString() != 'MultiPreview') { - throw StateError('$element is not a MultiPreview!'); - } - final DartObject? previewsField = evaluatedAnnotation.getField('previews'); - return previewsField?.toListValue() ?? []; - } - // Invalid preview. - return []; - } + /// Convenience getter to identify `@Preview` annotations + bool get isPreview => _isPreviewType('Preview'); + + /// Convenience getter to identify `@MultiPreview` annotations + bool get isMultiPreview => _isPreviewType('MultiPreview'); } /// Convenience getters for examining [String] paths. @@ -67,7 +66,7 @@ extension StringExtension on String { bool get doesContainDartTool => contains('.dart_tool'); } -extension LibraryElement2Extension on LibraryElement2 { +extension LibraryElementExtension on LibraryElement { /// Convenience method to package path and [uri] into a [PreviewPath] PreviewPath toPreviewPath() => (path: firstFragment.source.fullName, uri: uri); } diff --git a/packages/flutter_tools/lib/src/windows/build_windows.dart b/packages/flutter_tools/lib/src/windows/build_windows.dart index 9eee4dfdd450e..44d8992e29e37 100644 --- a/packages/flutter_tools/lib/src/windows/build_windows.dart +++ b/packages/flutter_tools/lib/src/windows/build_windows.dart @@ -281,7 +281,7 @@ void _writeGeneratedFlutterConfig( 'FLUTTER_ROOT': Cache.flutterRoot!, 'FLUTTER_EPHEMERAL_DIR': windowsProject.ephemeralDirectory.path, 'PROJECT_DIR': windowsProject.parent.directory.path, - if (target != null) 'FLUTTER_TARGET': target, + 'FLUTTER_TARGET': ?target, ...buildInfo.toEnvironmentConfig(), }; final LocalEngineInfo? localEngineInfo = globals.artifacts?.localEngineInfo; diff --git a/packages/flutter_tools/pubspec.yaml b/packages/flutter_tools/pubspec.yaml index 14485a315a258..479b74552f6ca 100644 --- a/packages/flutter_tools/pubspec.yaml +++ b/packages/flutter_tools/pubspec.yaml @@ -10,11 +10,12 @@ dependencies: # # For detailed instructions, refer to: # https://github.com/flutter/flutter/blob/main/docs/infra/Updating-dependencies-in-Flutter.md + analyzer: 8.2.0 archive: 3.6.1 args: 2.7.0 dds: 5.0.3 - dwds: 24.4.1 - code_builder: 4.10.1 + dwds: 25.1.0 + code_builder: 4.11.0 collection: 1.19.1 completion: 1.0.2 coverage: 1.15.0 @@ -23,13 +24,13 @@ dependencies: file: 7.0.1 flutter_template_images: 5.0.0 html: 0.15.6 - http: 1.4.0 + http: 1.5.0 intl: 0.20.2 meta: 1.17.0 multicast_dns: 0.3.3 - mustache_template: 2.0.0 + mustache_template: 2.0.1 package_config: 2.2.0 - process: 5.0.4 + process: 5.0.5 fake_async: 1.3.3 stack_trace: 1.12.1 usage: 4.1.1 @@ -46,7 +47,7 @@ dependencies: shelf_web_socket: 2.0.1 shelf_static: 1.1.3 pub_semver: 2.2.0 - pool: 1.5.1 + pool: 1.5.2 path: 1.9.1 mime: 2.0.0 logging: 1.3.0 @@ -57,9 +58,10 @@ dependencies: pubspec_parse: 1.5.0 graphs: 2.3.2 - hooks_runner: 0.21.0 - hooks: 0.19.5 - code_assets: 0.19.4 + hooks_runner: 0.22.1 + hooks: 0.20.1 + code_assets: 0.19.6 + data_assets: 0.19.3 # We depend on very specific internal implementation details of the # 'test' package, which change between versions, so when upgrading @@ -71,20 +73,19 @@ dependencies: standard_message_codec: 0.0.1+4 - dart_style: 3.1.0 + dart_style: 3.1.2 # The below dependencies are transitive and are here to pin them to a specific version. - _fe_analyzer_shared: 82.0.0 - analyzer: 7.4.5 + _fe_analyzer_shared: 89.0.0 boolean_selector: 2.1.2 browser_launcher: 1.1.3 built_collection: 5.1.1 - built_value: 8.11.0 + built_value: 8.12.0 cli_config: 0.2.0 clock: 1.1.2 csslib: 1.0.2 dap: 1.4.0 - dds_service_extensions: 2.0.2 + dds_service_extensions: 2.1.0 devtools_shared: 12.0.0 dtd: 4.0.0 extension_discovery: 2.1.0 @@ -109,7 +110,7 @@ dependencies: term_glyph: 1.2.2 typed_data: 1.4.0 vm_service_interface: 2.0.1 - watcher: 1.1.2 + watcher: 1.1.3 web: 1.1.1 web_socket: 1.0.1 yaml_edit: 2.2.2 @@ -126,4 +127,4 @@ dev_dependencies: dartdoc: # Exclude this package from the hosted API docs. nodoc: true -# PUBSPEC CHECKSUM: 932agm +# PUBSPEC CHECKSUM: sro36f diff --git a/packages/flutter_tools/templates/app/lib/main.dart.tmpl b/packages/flutter_tools/templates/app/lib/main.dart.tmpl index 07853c9a1e0d7..6048c886753fe 100644 --- a/packages/flutter_tools/templates/app/lib/main.dart.tmpl +++ b/packages/flutter_tools/templates/app/lib/main.dart.tmpl @@ -62,7 +62,7 @@ class MyApp extends StatelessWidget { // // This works for code too, not just values: Most code changes can be // tested with just a hot reload. - colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), + colorScheme: .fromSeed(seedColor: Colors.deepPurple), ), home: const MyHomePage(title: 'Flutter Demo Home Page'), ); @@ -136,7 +136,7 @@ class _MyHomePageState extends State { // TRY THIS: Invoke "debug painting" (choose the "Toggle Debug Paint" // action in the IDE, or press "p" in the console), to see the // wireframe for each widget. - mainAxisAlignment: MainAxisAlignment.center, + mainAxisAlignment: .center, children: [ const Text('You have pushed the button this many times:'), Text( @@ -150,7 +150,7 @@ class _MyHomePageState extends State { onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. + ), ); } } @@ -240,20 +240,20 @@ class _MyAppState extends State { ), body: SingleChildScrollView( child: Container( - padding: const EdgeInsets.all(10), + padding: const .all(10), child: Column( children: [ const Text( 'This calls a native function through FFI that is shipped as source in the package. ' 'The native code is built as part of the Flutter Runner build.', style: textStyle, - textAlign: TextAlign.center, + textAlign: .center, ), spacerSmall, Text( 'sum(1, 2) = $sumResult', style: textStyle, - textAlign: TextAlign.center, + textAlign: .center, ), spacerSmall, FutureBuilder( @@ -264,7 +264,7 @@ class _MyAppState extends State { return Text( 'await sumAsync(3, 4) = $displayValue', style: textStyle, - textAlign: TextAlign.center, + textAlign: .center, ); }, ), diff --git a/packages/flutter_tools/templates/module/common/lib/main.dart.tmpl b/packages/flutter_tools/templates/module/common/lib/main.dart.tmpl index 4ba82d3b36d87..14d21ea27516c 100644 --- a/packages/flutter_tools/templates/module/common/lib/main.dart.tmpl +++ b/packages/flutter_tools/templates/module/common/lib/main.dart.tmpl @@ -97,7 +97,7 @@ class _MyHomePageState extends State { // center the children vertically; the main axis here is the vertical // axis because Columns are vertical (the cross axis would be // horizontal). - mainAxisAlignment: MainAxisAlignment.center, + mainAxisAlignment: .center, children: [ const Text('You have pushed the button this many times:'), Text( @@ -111,7 +111,7 @@ class _MyHomePageState extends State { onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add), - ), // This trailing comma makes auto-formatting nicer for build methods. + ), ); } } diff --git a/packages/flutter_tools/templates/package_ffi/hook/build.dart.tmpl b/packages/flutter_tools/templates/package_ffi/hook/build.dart.tmpl index e33e0554bfc68..d8f0bcef97451 100644 --- a/packages/flutter_tools/templates/package_ffi/hook/build.dart.tmpl +++ b/packages/flutter_tools/templates/package_ffi/hook/build.dart.tmpl @@ -16,7 +16,7 @@ void main(List args) async { input: input, output: output, logger: Logger('') - ..level = Level.ALL + ..level = .ALL ..onRecord.listen((record) => print(record.message)), ); }); diff --git a/packages/flutter_tools/templates/package_ffi/pubspec.yaml.tmpl b/packages/flutter_tools/templates/package_ffi/pubspec.yaml.tmpl index 632d95e421d60..935e47e865254 100644 --- a/packages/flutter_tools/templates/package_ffi/pubspec.yaml.tmpl +++ b/packages/flutter_tools/templates/package_ffi/pubspec.yaml.tmpl @@ -6,10 +6,10 @@ environment: sdk: {{dartSdkVersionBounds}} dependencies: - code_assets: ^0.19.4 - hooks: ^0.19.5 + code_assets: ^0.19.6 + hooks: ^0.20.1 logging: ^1.3.0 - native_toolchain_c: ^0.16.3 + native_toolchain_c: ^0.17.1 dev_dependencies: ffi: ^2.1.3 diff --git a/packages/flutter_tools/templates/plugin/ios-objc.tmpl/projectName.podspec.tmpl b/packages/flutter_tools/templates/plugin/ios-objc.tmpl/projectName.podspec.tmpl deleted file mode 100644 index c97811ce75dc0..0000000000000 --- a/packages/flutter_tools/templates/plugin/ios-objc.tmpl/projectName.podspec.tmpl +++ /dev/null @@ -1,40 +0,0 @@ -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. -# Run `pod lib lint {{projectName}}.podspec` to validate before publishing. -# -Pod::Spec.new do |s| - s.name = '{{projectName}}' - s.version = '0.0.1' - s.summary = '{{description}}' - s.description = <<-DESC -{{description}} - DESC - s.homepage = 'http://example.com' - s.license = { :file => '../LICENSE' } - s.author = { 'Your Company' => 'email@example.com' } - s.source = { :path => '.' } - {{#withSwiftPackageManager}} - s.source_files = '{{projectName}}/Sources/{{projectName}}/**/*' - s.public_header_files = '{{projectName}}/Sources/{{projectName}}/include/{{projectName}}/**/*.h' - {{/withSwiftPackageManager}} - {{^withSwiftPackageManager}} - s.source_files = 'Classes/**/*' - s.public_header_files = 'Classes/**/*.h' - {{/withSwiftPackageManager}} - s.dependency 'Flutter' - s.platform = :ios, '13.0' - - # Flutter.framework does not contain a i386 slice. - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } - - # If your plugin requires a privacy manifest, for example if it uses any - # required reason APIs, update the PrivacyInfo.xcprivacy file to describe your - # plugin's privacy impact, and then uncomment this line. For more information, - # see https://developer.apple.com/documentation/bundleresources/privacy_manifest_files - {{#withSwiftPackageManager}} - # s.resource_bundles = {'{{projectName}}_privacy' => ['{{projectName}}/Sources/{{projectName}}/PrivacyInfo.xcprivacy']} - {{/withSwiftPackageManager}} - {{^withSwiftPackageManager}} - # s.resource_bundles = {'{{projectName}}_privacy' => ['Resources/PrivacyInfo.xcprivacy']} - {{/withSwiftPackageManager}} -end diff --git a/packages/flutter_tools/templates/plugin/ios-swift.tmpl/projectName.podspec.tmpl b/packages/flutter_tools/templates/plugin/ios.tmpl/projectName.podspec.tmpl similarity index 100% rename from packages/flutter_tools/templates/plugin/ios-swift.tmpl/projectName.podspec.tmpl rename to packages/flutter_tools/templates/plugin/ios.tmpl/projectName.podspec.tmpl diff --git a/packages/flutter_tools/templates/plugin_cocoapods/ios-objc.tmpl/Classes/pluginClass.h.tmpl b/packages/flutter_tools/templates/plugin_cocoapods/ios-objc.tmpl/Classes/pluginClass.h.tmpl deleted file mode 100644 index 560ffa569c73b..0000000000000 --- a/packages/flutter_tools/templates/plugin_cocoapods/ios-objc.tmpl/Classes/pluginClass.h.tmpl +++ /dev/null @@ -1,4 +0,0 @@ -#import - -@interface {{pluginClass}} : NSObject -@end diff --git a/packages/flutter_tools/templates/plugin_cocoapods/ios-objc.tmpl/Classes/pluginClass.m.tmpl b/packages/flutter_tools/templates/plugin_cocoapods/ios-objc.tmpl/Classes/pluginClass.m.tmpl deleted file mode 100644 index 1aa97c644ea62..0000000000000 --- a/packages/flutter_tools/templates/plugin_cocoapods/ios-objc.tmpl/Classes/pluginClass.m.tmpl +++ /dev/null @@ -1,20 +0,0 @@ -#import "{{pluginClass}}.h" - -@implementation {{pluginClass}} -+ (void)registerWithRegistrar:(NSObject*)registrar { - FlutterMethodChannel* channel = [FlutterMethodChannel - methodChannelWithName:@"{{projectName}}" - binaryMessenger:[registrar messenger]]; - {{pluginClass}}* instance = [[{{pluginClass}} alloc] init]; - [registrar addMethodCallDelegate:instance channel:channel]; -} - -- (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { - if ([@"getPlatformVersion" isEqualToString:call.method]) { - result([@"iOS " stringByAppendingString:[[UIDevice currentDevice] systemVersion]]); - } else { - result(FlutterMethodNotImplemented); - } -} - -@end diff --git a/packages/flutter_tools/templates/plugin_cocoapods/ios-swift.tmpl/Classes/pluginClass.swift.tmpl b/packages/flutter_tools/templates/plugin_cocoapods/ios.tmpl/Classes/pluginClass.swift.tmpl similarity index 100% rename from packages/flutter_tools/templates/plugin_cocoapods/ios-swift.tmpl/Classes/pluginClass.swift.tmpl rename to packages/flutter_tools/templates/plugin_cocoapods/ios.tmpl/Classes/pluginClass.swift.tmpl diff --git a/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Package.swift.tmpl b/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Package.swift.tmpl deleted file mode 100644 index 27ec553167b29..0000000000000 --- a/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Package.swift.tmpl +++ /dev/null @@ -1,35 +0,0 @@ -// swift-tools-version: {{swiftToolsVersion}} -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription - -let package = Package( - name: "{{projectName}}", - platforms: [ - {{iosSupportedPlatform}} - ], - products: [ - .library(name: "{{swiftLibraryName}}", targets: ["{{projectName}}"]) - ], - dependencies: [], - targets: [ - .target( - name: "{{projectName}}", - dependencies: [], - resources: [ - // If your plugin requires a privacy manifest, for example if it uses any required - // reason APIs, update the PrivacyInfo.xcprivacy file to describe your plugin's - // privacy impact, and then uncomment these lines. For more information, see - // https://developer.apple.com/documentation/bundleresources/privacy_manifest_files - // .process("PrivacyInfo.xcprivacy"), - - // If you have other resources that need to be bundled with your plugin, refer to - // the following instructions to add them: - // https://developer.apple.com/documentation/xcode/bundling-resources-with-a-swift-package - ], - cSettings: [ - .headerSearchPath("include/{{projectName}}"), - ] - ) - ] -) diff --git a/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Sources/projectName.tmpl/include/projectName.tmpl/pluginClass.h.tmpl b/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Sources/projectName.tmpl/include/projectName.tmpl/pluginClass.h.tmpl deleted file mode 100644 index 560ffa569c73b..0000000000000 --- a/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Sources/projectName.tmpl/include/projectName.tmpl/pluginClass.h.tmpl +++ /dev/null @@ -1,4 +0,0 @@ -#import - -@interface {{pluginClass}} : NSObject -@end diff --git a/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.m.tmpl b/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.m.tmpl deleted file mode 100644 index 1aa97c644ea62..0000000000000 --- a/packages/flutter_tools/templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.m.tmpl +++ /dev/null @@ -1,20 +0,0 @@ -#import "{{pluginClass}}.h" - -@implementation {{pluginClass}} -+ (void)registerWithRegistrar:(NSObject*)registrar { - FlutterMethodChannel* channel = [FlutterMethodChannel - methodChannelWithName:@"{{projectName}}" - binaryMessenger:[registrar messenger]]; - {{pluginClass}}* instance = [[{{pluginClass}} alloc] init]; - [registrar addMethodCallDelegate:instance channel:channel]; -} - -- (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { - if ([@"getPlatformVersion" isEqualToString:call.method]) { - result([@"iOS " stringByAppendingString:[[UIDevice currentDevice] systemVersion]]); - } else { - result(FlutterMethodNotImplemented); - } -} - -@end diff --git a/packages/flutter_tools/templates/plugin_swift_package_manager/ios-swift.tmpl/projectName.tmpl/Package.swift.tmpl b/packages/flutter_tools/templates/plugin_swift_package_manager/ios.tmpl/projectName.tmpl/Package.swift.tmpl similarity index 100% rename from packages/flutter_tools/templates/plugin_swift_package_manager/ios-swift.tmpl/projectName.tmpl/Package.swift.tmpl rename to packages/flutter_tools/templates/plugin_swift_package_manager/ios.tmpl/projectName.tmpl/Package.swift.tmpl diff --git a/packages/flutter_tools/templates/plugin_swift_package_manager/ios-swift.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.swift.tmpl b/packages/flutter_tools/templates/plugin_swift_package_manager/ios.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.swift.tmpl similarity index 100% rename from packages/flutter_tools/templates/plugin_swift_package_manager/ios-swift.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.swift.tmpl rename to packages/flutter_tools/templates/plugin_swift_package_manager/ios.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.swift.tmpl diff --git a/packages/flutter_tools/templates/template_manifest.json b/packages/flutter_tools/templates/template_manifest.json index 9fc9973b43e1b..ed88b1ee5cceb 100644 --- a/packages/flutter_tools/templates/template_manifest.json +++ b/packages/flutter_tools/templates/template_manifest.json @@ -270,8 +270,7 @@ "templates/plugin/android.tmpl/gradle.properties.tmpl", "templates/plugin/android.tmpl/settings.gradle.tmpl", "templates/plugin/android.tmpl/src/main/AndroidManifest.xml.tmpl", - "templates/plugin/ios-objc.tmpl/projectName.podspec.tmpl", - "templates/plugin/ios-swift.tmpl/projectName.podspec.tmpl", + "templates/plugin/ios.tmpl/projectName.podspec.tmpl", "templates/plugin/ios.tmpl/.gitignore", "templates/plugin/lib/projectName.dart.tmpl", "templates/plugin/lib/projectName_platform_interface.dart.tmpl", @@ -326,19 +325,14 @@ "templates/plugin_shared/pubspec.yaml.tmpl", "templates/plugin_shared/windows.tmpl/.gitignore", - "templates/plugin_cocoapods/ios-objc.tmpl/Classes/pluginClass.h.tmpl", - "templates/plugin_cocoapods/ios-objc.tmpl/Classes/pluginClass.m.tmpl", - "templates/plugin_cocoapods/ios-swift.tmpl/Classes/pluginClass.swift.tmpl", + "templates/plugin_cocoapods/ios.tmpl/Classes/pluginClass.swift.tmpl", "templates/plugin_cocoapods/ios.tmpl/Assets/.gitkeep", "templates/plugin_cocoapods/ios.tmpl/Resources/PrivacyInfo.xcprivacy", "templates/plugin_cocoapods/macos.tmpl/Classes/pluginClass.swift.tmpl", "templates/plugin_cocoapods/macos.tmpl/Resources/PrivacyInfo.xcprivacy", - "templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Sources/projectName.tmpl/include/projectName.tmpl/pluginClass.h.tmpl", - "templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.m.tmpl", - "templates/plugin_swift_package_manager/ios-objc.tmpl/projectName.tmpl/Package.swift.tmpl", - "templates/plugin_swift_package_manager/ios-swift.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.swift.tmpl", - "templates/plugin_swift_package_manager/ios-swift.tmpl/projectName.tmpl/Package.swift.tmpl", + "templates/plugin_swift_package_manager/ios.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.swift.tmpl", + "templates/plugin_swift_package_manager/ios.tmpl/projectName.tmpl/Package.swift.tmpl", "templates/plugin_swift_package_manager/ios.tmpl/projectName.tmpl/Sources/projectName.tmpl/PrivacyInfo.xcprivacy", "templates/plugin_swift_package_manager/macos.tmpl/projectName.tmpl/Sources/projectName.tmpl/Resources/.gitkeep", "templates/plugin_swift_package_manager/macos.tmpl/projectName.tmpl/Sources/projectName.tmpl/pluginClass.swift.tmpl", @@ -348,6 +342,7 @@ "templates/widget_preview_scaffold/lib/main.dart.tmpl", "templates/widget_preview_scaffold/lib/src/widget_preview.dart.tmpl", "templates/widget_preview_scaffold/lib/src/widget_preview_rendering.dart.tmpl", + "templates/widget_preview_scaffold/lib/src/widget_preview_scaffold_controller.dart.tmpl", "templates/widget_preview_scaffold/lib/src/controls.dart.tmpl", "templates/widget_preview_scaffold/lib/src/dtd/dtd_services.dart.tmpl", "templates/widget_preview_scaffold/lib/src/dtd/editor_service.dart.tmpl", diff --git a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/controls.dart.tmpl b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/controls.dart.tmpl index 85ea61692b2ef..bf9d52e63f3cd 100644 --- a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/controls.dart.tmpl +++ b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/controls.dart.tmpl @@ -3,7 +3,7 @@ // found in the LICENSE file. import 'package:flutter/material.dart'; -import 'package:widget_preview_scaffold/src/dtd/dtd_services.dart'; +import 'widget_preview_scaffold_controller.dart'; class _WidgetPreviewIconButton extends StatelessWidget { const _WidgetPreviewIconButton({ @@ -97,6 +97,85 @@ class ZoomControls extends StatelessWidget { } } +class _ControlDecorator extends StatelessWidget { + const _ControlDecorator({required this.child}); + + final Widget child; + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(8.0), + ), + child: child, + ); + } +} + +/// Allows for controlling the grid vs layout view in the preview environment. +class LayoutTypeSelector extends StatelessWidget { + const LayoutTypeSelector({super.key, required this.controller}); + + final WidgetPreviewScaffoldController controller; + + @override + Widget build(BuildContext context) { + return _ControlDecorator( + child: ValueListenableBuilder( + valueListenable: controller.layoutTypeListenable, + builder: (context, selectedLayout, _) { + return Row( + children: [ + IconButton( + onPressed: () => controller.layoutType = LayoutType.gridView, + icon: Icon(Icons.grid_on), + color: selectedLayout == LayoutType.gridView + ? Colors.blue + : Colors.black, + ), + IconButton( + onPressed: () => controller.layoutType = LayoutType.listView, + icon: Icon(Icons.view_list), + color: selectedLayout == LayoutType.listView + ? Colors.blue + : Colors.black, + ), + ], + ); + }, + ), + ); + } +} + +/// A toggle button that enables / disables filtering previews by the currently +/// selected source file. +class FilterBySelectedFileToggle extends StatelessWidget { + const FilterBySelectedFileToggle({super.key, required this.controller}); + + final WidgetPreviewScaffoldController controller; + + @override + Widget build(BuildContext context) { + return _ControlDecorator( + child: ValueListenableBuilder( + valueListenable: controller.filterBySelectedFileListenable, + builder: (context, value, child) { + return IconButton( + onPressed: controller.toggleFilterBySelectedFile, + icon: Icon(Icons.file_open), + color: value ? Colors.blue : Colors.black, + tooltip: 'Filter previews by selected file', + ); + }, + ), + ); + } +} + /// A button that triggers a "soft" restart of a previewed widget. /// /// A soft restart removes the previewed widget from the widget tree for a frame before @@ -129,16 +208,18 @@ class SoftRestartButton extends StatelessWidget { /// A button that triggers a restart of the widget previewer through a hot restart request made /// through DTD. class WidgetPreviewerRestartButton extends StatelessWidget { - const WidgetPreviewerRestartButton({super.key, required this.dtdServices}); + const WidgetPreviewerRestartButton({super.key, required this.controller}); - final WidgetPreviewScaffoldDtdServices dtdServices; + final WidgetPreviewScaffoldController controller; @override Widget build(BuildContext context) { - return IconButton.outlined( - tooltip: 'Restart the Widget Previewer', - onPressed: () => dtdServices.hotRestartPreviewer(), - icon: Icon(Icons.restart_alt), + return _ControlDecorator( + child: IconButton( + tooltip: 'Restart the Widget Previewer', + onPressed: controller.dtdServices.hotRestartPreviewer, + icon: Icon(Icons.restart_alt), + ), ); } } diff --git a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/dtd/dtd_services.dart.tmpl b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/dtd/dtd_services.dart.tmpl index 8b3b473166b03..161c822bbcbef 100644 --- a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/dtd/dtd_services.dart.tmpl +++ b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/dtd/dtd_services.dart.tmpl @@ -5,7 +5,7 @@ import 'dart:async'; import 'package:dtd/dtd.dart'; -import 'package:widget_preview_scaffold/src/dtd/editor_service.dart'; +import 'editor_service.dart'; /// Provides services, streams, and RPC invocations to interact with Flutter developer tooling. class WidgetPreviewScaffoldDtdServices with DtdEditorService { @@ -17,8 +17,9 @@ class WidgetPreviewScaffoldDtdServices with DtdEditorService { // // START KEEP SYNCED - static const String kWidgetPreviewService = 'widget-preview'; - static const String kHotRestartPreviewer = 'hotRestartPreviewer'; + static const kWidgetPreviewService = 'widget-preview'; + static const kIsWindows = 'isWindows'; + static const kHotRestartPreviewer = 'hotRestartPreviewer'; // END KEEP SYNCED @@ -38,8 +39,15 @@ class WidgetPreviewScaffoldDtdServices with DtdEditorService { const {}, ), ); + await _determineIfWindows(); + await initializeEditorService(this); + } - await initializeEditorService(); + /// Disposes the DTD connection. + @override + Future dispose() async { + super.dispose(); + await dtd.close(); } Future _call( @@ -47,6 +55,13 @@ class WidgetPreviewScaffoldDtdServices with DtdEditorService { Map? params, }) => dtd.call(kWidgetPreviewService, methodName, params: params); + /// Returns `true` if the operating system is Windows. + late final bool isWindows; + + Future _determineIfWindows() async { + isWindows = ((await _call(kIsWindows)) as BoolResponse).value!; + } + /// Trigger a hot restart of the widget preview scaffold. Future hotRestartPreviewer() => _call(kHotRestartPreviewer); diff --git a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/dtd/editor_service.dart.tmpl b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/dtd/editor_service.dart.tmpl index 904ab9275bd1d..d1118a7b120ba 100644 --- a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/dtd/editor_service.dart.tmpl +++ b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/dtd/editor_service.dart.tmpl @@ -4,6 +4,7 @@ import 'package:dtd/dtd.dart'; import 'package:flutter/foundation.dart'; +import 'package:widget_preview_scaffold/src/dtd/dtd_services.dart'; /// Provides support for interacting with the Editor DTD service registered by IDE plugins. mixin DtdEditorService { @@ -21,7 +22,9 @@ mixin DtdEditorService { static final _editorTheme = ValueNotifier(null); /// Start listening for events on the Editor stream. - Future initializeEditorService() async { + Future initializeEditorService( + WidgetPreviewScaffoldDtdServices dtdServices, + ) async { final editorKindMap = EditorEventKind.values.asNameMap(); dtd.onEvent(kEditorService).listen((data) { final kind = editorKindMap[data.kind]; @@ -40,6 +43,12 @@ mixin DtdEditorService { }); await dtd.streamListen(kEditorService); } + + @mustCallSuper + void dispose() { + _selectedSourceFile.dispose(); + _editorTheme.dispose(); + } } // TODO(bkonyi): much of the following code is copied from the DevTools codebase. We should publish diff --git a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/utils.dart.tmpl b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/utils.dart.tmpl index 266122afcc539..3f9da39598ea0 100644 --- a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/utils.dart.tmpl +++ b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/utils.dart.tmpl @@ -3,6 +3,65 @@ // found in the LICENSE file. import 'package:flutter/material.dart'; +import 'package:flutter/widget_previews.dart'; +import 'package:widget_preview_scaffold/src/widget_preview.dart'; + +Iterable buildMultiWidgetPreview({ + required String packageName, + required String scriptUri, + required MultiPreview preview, + required Object? Function() previewFunction, +}) { + return preview.transform().map( + (p) => buildWidgetPreview( + packageName: packageName, + scriptUri: scriptUri, + transformedPreview: p, + previewFunction: previewFunction, + ), + ); +} + +WidgetPreview buildWidgetPreview({ + required String packageName, + required String scriptUri, + required Preview transformedPreview, + required Object? Function() previewFunction, +}) { + Widget Function() previewBuilder; + if (previewFunction is WidgetBuilder Function()) { + previewBuilder = () { + return Builder(builder: previewFunction()); + }; + } else { + previewBuilder = previewFunction as Widget Function(); + } + return WidgetPreview( + builder: previewBuilder, + scriptUri: scriptUri, + previewData: transformedPreview, + packageName: packageName, + ); +} + +WidgetPreview buildWidgetPreviewError({ + required String packageName, + required String scriptUri, + required String packageUri, + required String functionName, + required bool dependencyHasErrors, +}) { + var errorMessage = '$packageUri has errors!'; + if (dependencyHasErrors) { + errorMessage = 'Dependency of $errorMessage'; + } + return WidgetPreview( + builder: () => Text('$functionName: $errorMessage'), + scriptUri: scriptUri, + previewData: const Preview(group: 'Invalid Previews'), + packageName: packageName, + ); +} /// Returns a [TextStyle] with [FontFeature.proportionalFigures] applied to /// fix blurry text. @@ -31,3 +90,44 @@ class VerticalSpacer extends StatelessWidget { return const SizedBox(height: 10); } } + +/// A basic horizontal spacer. +class HorizontalSpacer extends StatelessWidget { + /// Creates a basic vertical spacer. + const HorizontalSpacer({super.key}); + + @override + Widget build(BuildContext context) { + return const SizedBox(width: 10); + } +} + +/// A widget that explicitly responds to hot reload events. +/// +/// Hot reload will always result in [reassemble] being called. +class HotReloadListener extends StatefulWidget { + const HotReloadListener({ + super.key, + required this.onHotReload, + required this.child, + }); + + final VoidCallback onHotReload; + final Widget child; + + @override + HotReloadListenerState createState() => HotReloadListenerState(); +} + +class HotReloadListenerState extends State { + @override + void reassemble() { + super.reassemble(); + widget.onHotReload(); + } + + @override + Widget build(BuildContext context) { + return widget.child; + } +} diff --git a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview.dart.tmpl b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview.dart.tmpl index bd55c12077524..2c4af1eddf541 100644 --- a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview.dart.tmpl +++ b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview.dart.tmpl @@ -6,30 +6,40 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/widget_previews.dart'; import 'package:flutter/widgets.dart'; +/// A group of [WidgetPreview] instances sharing the same group name. +class WidgetPreviewGroup { + const WidgetPreviewGroup({required this.name, required this.previews}); + + /// Returns `false` if the group has no previews. + /// + /// This can happen if a filter is applied that results in no previews matching + /// the filter being part of the group. + bool get hasPreviews => previews.isNotEmpty; + + /// The name of the group, as specified by the 'group' parameter in [Preview]. + final String name; + + /// The set of preview instances which are part of a group with a given [name]. + final List previews; +} + /// Wraps a [Widget], initializing various state and properties to allow for /// previewing of the [Widget] in the widget previewer. -/// -/// WARNING: This interface is not stable and **will change**. -/// -/// See also: -/// -/// * [Preview], an annotation class used to mark functions returning widget -/// previews. -// TODO(bkonyi): link to actual documentation when available. class WidgetPreview { /// Wraps [builder] in a [WidgetPreview] instance that applies some set of /// properties. const WidgetPreview({ required this.builder, - this.packageName, - this.name, - this.size, - this.textScaleFactor, - this.brightness, - this.theme, - this.localizations, + required this.scriptUri, + required this.previewData, + required this.packageName, }); + /// The absolute file:// URI pointing to the script containing this preview. + /// + /// This matches the URI format sent by IDEs for active location change events. + final String scriptUri; + /// The name of the package in which a preview was defined. /// /// For example, if a preview is defined in 'package:foo/src/bar.dart', this @@ -39,11 +49,23 @@ class WidgetPreview { /// A description to be displayed alongside the preview. /// /// If not provided, no name will be associated with the preview. - final String? name; + String? get name => previewData.name; /// A callback to build the [Widget] to be rendered in the preview. final Widget Function() builder; + Widget Function() get previewBuilder { + if (previewData.wrapper == null) { + return builder; + } + return switch (previewData) { + Preview(:final Widget Function(Widget) wrapper) => () => wrapper( + builder(), + ), + _ => builder, + }; + } + /// Artificial constraints to be applied to the previewed widget. /// /// If not provided, the previewed widget will attempt to set its own @@ -51,30 +73,33 @@ class WidgetPreview { /// /// If a dimension has a value of `double.infinity`, the previewed widget /// will attempt to set its own constraints in the relevant dimension. - final Size? size; + Size? get size => previewData.size; /// Applies font scaling to text within the [Widget] returned by [builder]. /// /// If not provided, the default text scaling factor provided by [MediaQuery] /// will be used. - final double? textScaleFactor; + double? get textScaleFactor => previewData.textScaleFactor; /// Material and Cupertino theming data to be applied to the previewed [Widget]. /// /// If not provided, the default theme will be used. - final PreviewThemeData? theme; + PreviewThemeData? get theme => previewData.theme?.call(); /// Sets the initial theme brightness. /// /// If not provided, the current system default brightness will be used. - final Brightness? brightness; + Brightness? get brightness => previewData.brightness; /// A callback to return a localization configuration to be applied to the /// previewed [Widget]. /// /// Note: this must be a reference to a static, public function defined as /// either a top-level function or static member in a class. - final PreviewLocalizationsData? localizations; + PreviewLocalizationsData? get localizations => + previewData.localizations?.call(); + + final Preview previewData; void debugFillProperties(DiagnosticPropertiesBuilder properties) { properties diff --git a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview_rendering.dart.tmpl b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview_rendering.dart.tmpl index e5e753cf8a058..77255dad39327 100644 --- a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview_rendering.dart.tmpl +++ b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview_rendering.dart.tmpl @@ -17,10 +17,10 @@ import 'package:stack_trace/stack_trace.dart'; import 'package:url_launcher/url_launcher.dart'; import 'controls.dart'; -import 'dtd/dtd_services.dart'; import 'generated_preview.dart'; import 'utils.dart'; import 'widget_preview.dart'; +import 'widget_preview_scaffold_controller.dart'; /// Displayed when an unhandled exception is thrown when initializing the widget /// tree for a preview (i.e., before the build phase). @@ -146,8 +146,8 @@ class NoPreviewsDetectedWidget extends StatelessWidget { } } -class Preview extends StatelessWidget { - const Preview({super.key, required this.preview, required this.child}); +class PreviewWidget extends StatelessWidget { + const PreviewWidget({super.key, required this.preview, required this.child}); final WidgetPreview preview; final Widget child; @@ -173,6 +173,84 @@ class Preview extends StatelessWidget { } } +class WidgetPreviewGroupWidget extends StatelessWidget { + const WidgetPreviewGroupWidget({ + super.key, + required this.controller, + required this.group, + }); + + final WidgetPreviewScaffoldController controller; + final WidgetPreviewGroup group; + + // Spacing values for the grid layout + static const _gridSpacing = 8.0; + static const _gridRunSpacing = 8.0; + + /// The default radius of a Material 3 `Card`, as per documentation for `Card.shape`. + // TODO(bkonyi): inherit this from the theme. + static const _kCardRadius = Radius.circular(12); + + Widget _buildGridViewFlex(List previews) { + return Wrap( + spacing: WidgetPreviewGroupWidget._gridSpacing, + runSpacing: WidgetPreviewGroupWidget._gridRunSpacing, + alignment: WrapAlignment.start, + children: [ + for (final WidgetPreview preview in previews) + WidgetPreviewWidget(preview: preview), + ], + ); + } + + Widget _buildVerticalListView(List previews) { + return Column( + children: [ + for (final preview in previews) + Center(child: WidgetPreviewWidget(preview: preview)), + ], + ); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + return Card( + child: ListTileTheme( + data: ListTileTheme.of(context).copyWith( + dense: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all(_kCardRadius), + ), + ), + child: Theme( + // Prevents divider lines appearing at the top and bottom of the + // expanded ExpansionTile. + data: theme.copyWith(dividerColor: Colors.transparent), + child: ExpansionTile( + key: PageStorageKey(group.name), + title: Text(group.name), + initiallyExpanded: true, + children: [ + ValueListenableBuilder( + valueListenable: controller.layoutTypeListenable, + builder: (context, selectedLayout, _) { + return switch (selectedLayout) { + LayoutType.gridView => _buildGridViewFlex(group.previews), + LayoutType.listView => _buildVerticalListView( + group.previews, + ), + }; + }, + ), + ], + ), + ), + ), + ); + } +} + class WidgetPreviewWidget extends StatefulWidget { const WidgetPreviewWidget({super.key, required this.preview}); @@ -252,9 +330,9 @@ class WidgetPreviewWidgetState extends State { child: WidgetPreviewTheming( theme: widget.preview.theme, child: EnableWidgetInspectorScope( - child: Preview( + child: PreviewWidget( preview: widget.preview, - child: widget.preview.builder(), + child: widget.preview.previewBuilder(), ), ), ), @@ -340,53 +418,55 @@ class WidgetPreviewWidgetState extends State { child: preview, ); + final hasName = widget.preview.name != null; preview = Column( - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, children: [ - if (widget.preview.name != null) ...[ - Text( - widget.preview.name!, - style: fixBlurryText( - TextStyle(fontSize: 16, fontWeight: FontWeight.w300), + if (hasName) + Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Text( + widget.preview.name!, + style: fixBlurryText( + TextStyle(fontSize: 16, fontWeight: FontWeight.w300), + ), ), ), - const VerticalSpacer(), - ], - InteractiveViewerWrapper( - transformationController: transformationController, - child: preview, - ), - const VerticalSpacer(), - Row( - mainAxisSize: MainAxisSize.min, - // If an unhandled exception was caught and we're displaying an error - // widget, these controls should be disabled. - // TODO(bkonyi): improve layout of controls. - children: [ - ZoomControls( - transformationController: transformationController, - enabled: !errorThrownDuringTreeConstruction, - ), - const SizedBox(width: 30), - BrightnessToggleButton( - enabled: !errorThrownDuringTreeConstruction, - brightnessListenable: brightnessListenable, - ), - const SizedBox(width: 10), - SoftRestartButton( - enabled: !errorThrownDuringTreeConstruction, - softRestartListenable: softRestartListenable, - ), - ], + Container( + padding: const EdgeInsets.symmetric( + // TODO(bkonyi): use theming or define global constants. + horizontal: 16.0, + ).add(hasName ? const EdgeInsets.only(top: 8.0) : EdgeInsets.zero), + decoration: hasName + ? BoxDecoration( + border: Border(top: Divider.createBorderSide(context)), + ) + : null, + child: Column( + children: [ + InteractiveViewerWrapper( + transformationController: transformationController, + child: preview, + ), + const VerticalSpacer(), + _WidgetPreviewControlRow( + transformationController: transformationController, + errorThrownDuringTreeConstruction: + errorThrownDuringTreeConstruction, + brightnessListenable: brightnessListenable, + softRestartListenable: softRestartListenable, + ), + ], + ), ), ], ); return Padding( padding: const EdgeInsets.all(16.0), - child: Card( + child: Card.outlined( child: Padding( - padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 16.0), + padding: const EdgeInsets.symmetric(vertical: 16.0), child: preview, ), ), @@ -394,6 +474,46 @@ class WidgetPreviewWidgetState extends State { } } +class _WidgetPreviewControlRow extends StatelessWidget { + const _WidgetPreviewControlRow({ + required this.transformationController, + required this.errorThrownDuringTreeConstruction, + required this.brightnessListenable, + required this.softRestartListenable, + }); + + final TransformationController transformationController; + final bool errorThrownDuringTreeConstruction; + final ValueNotifier brightnessListenable; + final ValueNotifier softRestartListenable; + + @override + Widget build(BuildContext context) { + return Row( + mainAxisSize: MainAxisSize.min, + // If an unhandled exception was caught and we're displaying an error + // widget, these controls should be disabled. + // TODO(bkonyi): improve layout of controls. + children: [ + ZoomControls( + transformationController: transformationController, + enabled: !errorThrownDuringTreeConstruction, + ), + const SizedBox(width: 30), + BrightnessToggleButton( + enabled: !errorThrownDuringTreeConstruction, + brightnessListenable: brightnessListenable, + ), + const SizedBox(width: 10), + SoftRestartButton( + enabled: !errorThrownDuringTreeConstruction, + softRestartListenable: softRestartListenable, + ), + ], + ); + } +} + /// Applies theming defined in [theme] to [child]. class WidgetPreviewTheming extends StatelessWidget { const WidgetPreviewTheming({ @@ -758,176 +878,112 @@ Future mainImpl() async { // individual preview so the widget inspector won't allow for users to select // widgets that make up the widget preview scaffolding. binding.debugExcludeRootWidgetInspector = true; - final WidgetPreviewScaffoldDtdServices dtdServices = - WidgetPreviewScaffoldDtdServices(); - await dtdServices.connect(); + final controller = WidgetPreviewScaffoldController(previews: previews); + await controller.initialize(); runWidget( DisableWidgetInspectorScope( child: binding.wrapWithDefaultView( - WidgetPreviewScaffold(previews: previews, dtdServices: dtdServices), + // Forces the set of previews to be recalculated after a hot reload. + HotReloadListener( + onHotReload: controller.onHotReload, + child: WidgetPreviewScaffold(controller: controller), + ), ), ), ); } -/// Define the Enum for Layout Types -enum LayoutType { gridView, listView } - class WidgetPreviewScaffold extends StatelessWidget { - WidgetPreviewScaffold({ - super.key, - required this.previews, - required this.dtdServices, - }); - - final List Function() previews; - final WidgetPreviewScaffoldDtdServices dtdServices; + const WidgetPreviewScaffold({super.key, required this.controller}); - // Positioning values for positioning the previewer - final double _previewLeftPadding = 60.0; - final double _previewRightPadding = 20.0; + final WidgetPreviewScaffoldController controller; - // Positioning values for the toggle layout buttons - final double _toggleButtonsTopPadding = 20.0; - final double _toggleButtonsLeftPadding = 20.0; - - // Spacing values for the grid layout - final double _gridSpacing = 8.0; - final double _gridRunSpacing = 8.0; - - // Notifier to manage layout state, default to GridView - final ValueNotifier _selectedLayout = ValueNotifier( - LayoutType.gridView, - ); - - // Function to toggle layouts based on enum value - void _toggleLayout(LayoutType layout) { - _selectedLayout.value = layout; - } - - Widget _buildGridViewFlex(List previewList) { - return SingleChildScrollView( - child: Wrap( - spacing: _gridSpacing, - runSpacing: _gridRunSpacing, - alignment: WrapAlignment.start, - children: [ - for (final WidgetPreview preview in previewList) - WidgetPreviewWidget(preview: preview), - ], + @override + Widget build(BuildContext context) { + return MaterialApp( + debugShowCheckedModeBanner: false, + home: Material( + color: Colors.transparent, + child: Column( + children: [ + // Display the previewer + Expanded( + child: Container( + padding: EdgeInsets.all(8.0), + child: WidgetPreviews(controller: controller), + ), + ), + WidgetPreviewControls(controller: controller), + ], + ), ), ); } +} - Widget _buildVerticalListView(List previewList) { - return ListView.builder( - itemCount: previewList.length, - itemBuilder: (context, index) { - final preview = previewList[index]; - return Center(child: WidgetPreviewWidget(preview: preview)); - }, - ); - } +/// The set of controls used to control the preview environment. +class WidgetPreviewControls extends StatelessWidget { + const WidgetPreviewControls({super.key, required this.controller}); - Widget _displayToggleLayoutButtons() { - return Positioned( - top: _toggleButtonsTopPadding, - left: _toggleButtonsLeftPadding, - child: Container( - padding: EdgeInsets.all(8.0), - decoration: BoxDecoration( - color: Colors.grey[300], - borderRadius: BorderRadius.circular(8.0), - ), - child: ValueListenableBuilder( - valueListenable: _selectedLayout, - builder: (context, selectedLayout, _) { - return Column( - children: [ - IconButton( - onPressed: () => _toggleLayout(LayoutType.gridView), - icon: Icon(Icons.grid_on), - color: selectedLayout == LayoutType.gridView - ? Colors.blue - : Colors.black, - ), - IconButton( - onPressed: () => _toggleLayout(LayoutType.listView), - icon: Icon(Icons.view_list), - color: selectedLayout == LayoutType.listView - ? Colors.blue - : Colors.black, - ), - ], - ); - }, - ), - ), - ); - } + static const _controlsPadding = 20.0; + final WidgetPreviewScaffoldController controller; - Widget _hotRestartPreviewerButton() { + @override + Widget build(BuildContext context) { return Container( - alignment: Alignment.topRight, padding: EdgeInsets.only( - top: _toggleButtonsTopPadding, - right: _toggleButtonsLeftPadding, + bottom: _controlsPadding, + left: _controlsPadding, + right: _controlsPadding, + ), + child: Row( + children: [ + LayoutTypeSelector(controller: controller), + HorizontalSpacer(), + FilterBySelectedFileToggle(controller: controller), + Spacer(), + WidgetPreviewerRestartButton(controller: controller), + ], ), - child: WidgetPreviewerRestartButton(dtdServices: dtdServices), ); } +} - Widget _displayPreviewer(Widget previewView) { - return Positioned.fill( - left: _previewLeftPadding, - right: _previewRightPadding, - child: Container(padding: EdgeInsets.all(8.0), child: previewView), - ); - } +/// Renders the set of currently selected widget previews. +class WidgetPreviews extends StatelessWidget { + const WidgetPreviews({super.key, required this.controller}); + + final WidgetPreviewScaffoldController controller; @override Widget build(BuildContext context) { - final List previewList = previews(); - Widget previewView; - if (previewList.isEmpty) { - previewView = Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [NoPreviewsDetectedWidget()], - ); - } else { - previewView = LayoutBuilder( - builder: (BuildContext context, BoxConstraints constraints) { - return WidgetPreviewerWindowConstraints( - constraints: constraints, - child: ValueListenableBuilder( - valueListenable: _selectedLayout, - builder: (context, selectedLayout, _) { - return switch (selectedLayout) { - LayoutType.gridView => _buildGridViewFlex(previewList), - LayoutType.listView => _buildVerticalListView(previewList), - }; - }, - ), + return ValueListenableBuilder( + valueListenable: controller.filteredPreviewSetListenable, + builder: (context, previewGroups, _) { + if (previewGroups.isEmpty) { + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [NoPreviewsDetectedWidget()], ); - }, - ); - } - - return MaterialApp( - debugShowCheckedModeBanner: false, - home: Material( - color: Colors.transparent, - child: Stack( - children: [ - // Display the previewer - _displayPreviewer(previewView), - // Display the layout toggle buttons - _displayToggleLayoutButtons(), - // Display the global hot restart button - _hotRestartPreviewerButton(), - ], - ), - ), + } + return LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + final previewGroupsList = previewGroups.toList(); + return WidgetPreviewerWindowConstraints( + constraints: constraints, + child: ListView.builder( + itemCount: previewGroups.length, + itemBuilder: (context, index) { + return WidgetPreviewGroupWidget( + controller: controller, + group: previewGroupsList[index], + ); + }, + ), + ); + }, + ); + }, ); } } diff --git a/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview_scaffold_controller.dart.tmpl b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview_scaffold_controller.dart.tmpl new file mode 100644 index 0000000000000..7bc91739aa595 --- /dev/null +++ b/packages/flutter_tools/templates/widget_preview_scaffold/lib/src/widget_preview_scaffold_controller.dart.tmpl @@ -0,0 +1,141 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/foundation.dart'; +import 'package:path/path.dart' as path; +import 'dtd/dtd_services.dart'; +import 'widget_preview.dart'; + +/// Define the Enum for Layout Types +enum LayoutType { gridView, listView } + +typedef WidgetPreviews = Iterable; +typedef WidgetPreviewGroups = Iterable; +typedef PreviewsCallback = WidgetPreviews Function(); + +/// Controller used to process events and determine which previews should be +/// displayed and how they should be displayed in the [WidgetPreviewScaffold]. +class WidgetPreviewScaffoldController { + WidgetPreviewScaffoldController({ + required PreviewsCallback previews, + @visibleForTesting WidgetPreviewScaffoldDtdServices? dtdServicesOverride, + }) : _previews = previews, + dtdServices = dtdServicesOverride ?? WidgetPreviewScaffoldDtdServices(); + + /// Initializes the controller by establishing a connection to DTD and + /// listening for events. + Future initialize() async { + await dtdServices.connect(); + context = path.Context( + style: dtdServices.isWindows ? path.Style.windows : path.Style.posix, + ); + _registerListeners(); + } + + /// Cleanup internal controller state. + Future dispose() async { + await dtdServices.dispose(); + + _layoutType.dispose(); + _filterBySelectedFile.dispose(); + } + + /// Update state after the project has been reassembled due to a hot reload. + void onHotReload() { + _updateFilteredPreviewSet(); + } + + /// The active DTD connection used to communicate with other developer tooling. + final WidgetPreviewScaffoldDtdServices dtdServices; + + final PreviewsCallback _previews; + + late final path.Context context; + + /// Specifies how the previews should be laid out. + ValueListenable get layoutTypeListenable => _layoutType; + final _layoutType = ValueNotifier(LayoutType.gridView); + + LayoutType get layoutType => _layoutType.value; + set layoutType(LayoutType type) => _layoutType.value = type; + + /// Specifies if only previews from the currently selected source file should be rendered. + ValueListenable get filterBySelectedFileListenable => + _filterBySelectedFile; + final _filterBySelectedFile = ValueNotifier(true); + + /// Enable or disable filtering by selected source file. + void toggleFilterBySelectedFile() { + _filterBySelectedFile.value = !_filterBySelectedFile.value; + } + + /// The current set of previews to be displayed. + ValueListenable get filteredPreviewSetListenable => + _filteredPreviewSet; + final _filteredPreviewSet = ValueNotifier([]); + + void _registerListeners() { + dtdServices.selectedSourceFile.addListener(_updateFilteredPreviewSet); + filterBySelectedFileListenable.addListener(_updateFilteredPreviewSet); + // Set the initial state. + _updateFilteredPreviewSet(initial: true); + } + + void _updateFilteredPreviewSet({bool initial = false}) { + final previews = _previews(); + final previewGroups = {}; + for (final preview in previews) { + final group = preview.previewData.group; + previewGroups + .putIfAbsent( + group, + () => WidgetPreviewGroup(name: group, previews: []), + ) + .previews + .add(preview); + } + + // When we set the initial preview set, we always display all previews, + // regardless of selection mode as we're unable to query the currently + // selected file. + // + // This special case can be removed when https://github.com/dart-lang/sdk/issues/61538 + // is resolved. + // TODO(bkonyi): remove special case + if (!_filterBySelectedFile.value || initial) { + _filteredPreviewSet.value = previewGroups.values; + return; + } + // If filtering by selected file, we don't update the filtered preview set + // if the currently selected file is null. This can happen when a non-source + // window is selected (e.g., the widget previewer itself in VSCode), so we + // ignore these updates. + final selectedSourceFile = dtdServices.selectedSourceFile.value; + if (selectedSourceFile != null) { + // Convert to a file path for comparing to avoid issues with optional encoding in URIs. + // See https://github.com/flutter/flutter/issues/175524. + final selectedSourcePath = context.fromUri( + selectedSourceFile.uriAsString, + ); + _filteredPreviewSet.value = previewGroups.values + .map( + (group) => WidgetPreviewGroup( + name: group.name, + previews: group.previews + .where( + (preview) => context.equals( + // TODO(bkonyi): we can probably save some cycles by caching the file path + // rather than computing it on each filter. + context.fromUri(preview.scriptUri), + selectedSourcePath, + ), + ) + .toList(), + ), + ) + .where((group) => group.hasPreviews) + .toList(); + } + } +} diff --git a/packages/flutter_tools/templates/widget_preview_scaffold/pubspec.yaml.tmpl b/packages/flutter_tools/templates/widget_preview_scaffold/pubspec.yaml.tmpl index bbe195d6d8720..c2bbec49ae2c0 100644 --- a/packages/flutter_tools/templates/widget_preview_scaffold/pubspec.yaml.tmpl +++ b/packages/flutter_tools/templates/widget_preview_scaffold/pubspec.yaml.tmpl @@ -15,6 +15,7 @@ dependencies: dtd: any flutter_lints: any google_fonts: any + path: any stack_trace: any url_launcher: any diff --git a/packages/flutter_tools/test/commands.shard/hermetic/attach_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/attach_test.dart index 5956c52710602..1f03ef1b4641d 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/attach_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/attach_test.dart @@ -1591,10 +1591,10 @@ class FakeHotRunnerFactory extends Fake implements HotRunnerFactory { String? packagesFilePath, String? dillOutputPath, bool stayResident = true, - bool ipv6 = false, FlutterProject? flutterProject, - Analytics? analytics, String? nativeAssetsYamlFile, + required Analytics analytics, + Logger? logger, }) { if (_artifactTester != null) { for (final device in devices) { diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart index 4ab321cb85e2e..70ef5188b832c 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart @@ -49,7 +49,7 @@ class FakeXcodeProjectInterpreterWithBuildSettings extends FakeXcodeProjectInter 'PRODUCT_BUNDLE_IDENTIFIER': productBundleIdentifier ?? 'io.flutter.someProject', 'TARGET_BUILD_DIR': 'build/ios/Release-iphoneos', 'WRAPPER_NAME': 'Runner.app', - if (developmentTeam != null) 'DEVELOPMENT_TEAM': developmentTeam!, + 'DEVELOPMENT_TEAM': ?developmentTeam, }; } diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart index 3ccf7b321be29..4f75098a85ca5 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart @@ -439,6 +439,38 @@ void main() { }, ); + testUsingContext( + 'Does not build wasm when wasm-dry-run is disabled', + () async { + final buildCommand = TestWebBuildCommand(fileSystem: fileSystem); + final CommandRunner runner = createTestCommandRunner(buildCommand); + setupFileSystemForEndToEndTest(fileSystem); + await runner.run(['build', 'web', '--no-pub', '--no-wasm-dry-run']); + }, + overrides: { + Platform: () => fakePlatform, + FileSystem: () => fileSystem, + FeatureFlags: () => TestFeatureFlags(isWebEnabled: true), + ProcessManager: () => processManager, + BuildSystem: () => + TestBuildSystem.all(BuildResult(success: true), (Target target, Environment environment) { + expect(target, isA()); + final List configs = (target as WebServiceWorker).compileConfigs; + expect(configs, hasLength(1)); + final WebCompilerConfig jsConfig = configs[0]; + expect(jsConfig.renderer, WebRendererMode.canvaskit); + expect(jsConfig.compileTarget, CompileTarget.js); + final List jsOptions = jsConfig.toCommandOptions(BuildMode.release); + expect(jsOptions, [ + '--native-null-assertions', + '--no-source-maps', + '-O4', + '--minify', + ]); + }), + }, + ); + testUsingContext( 'Defaults to web renderer skwasm mode and minify for wasm when no option is specified', () async { diff --git a/packages/flutter_tools/test/commands.shard/hermetic/create_usage_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/create_usage_test.dart index a494503d2f743..802b7aa47a64a 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/create_usage_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/create_usage_test.dart @@ -221,33 +221,6 @@ void main() { overrides: {Java: () => FakeJava()}, ); - testUsingContext( - 'set iOS host language type as usage value', - () => testbed.run(() async { - final command = CreateCommand(); - final CommandRunner runner = createTestCommandRunner(command); - - await runner.run(['create', '--no-pub', '--template=plugin', 'testy']); - expect( - (await command.unifiedAnalyticsUsageValues('create')).eventData['createIosLanguage'], - 'swift', - ); - - await runner.run([ - 'create', - '--no-pub', - '--template=plugin', - '--ios-language=objc', - 'testy', - ]); - expect( - (await command.unifiedAnalyticsUsageValues('create')).eventData['createIosLanguage'], - 'objc', - ); - }), - overrides: {Java: () => FakeJava()}, - ); - testUsingContext( 'set Android host language type as usage value', () => testbed.run(() async { diff --git a/packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart index 4dac99ebda579..e0d3e58fe610b 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/daemon_test.dart @@ -452,7 +452,7 @@ void main() { 'hotReload': true, 'hotRestart': true, 'screenshot': true, - 'fastStart': true, + 'fastStart': false, 'flutterExit': true, 'hardwareRendering': true, 'startPaused': true, @@ -662,6 +662,7 @@ void main() { 'deviceId': 'device', 'disableServiceAuthCodes': false, 'vmServiceUri': 'http://fake_uri/auth_code', + 'enableDevTools': true, }, }), ); @@ -676,6 +677,7 @@ void main() { expect(device.dds.startCalled, true); expect(device.dds.startDisableServiceAuthCodes, false); expect(device.dds.startVMServiceUri, Uri.parse('http://fake_uri/auth_code')); + expect(device.dds.enableDevTools, true); // dds.done event should be sent to the client. ddsDoneCompleter.complete(); @@ -1172,9 +1174,6 @@ class FakeAndroidDevice extends Fake implements AndroidDevice { @override bool get supportsScreenshot => true; - @override - bool get supportsFastStart => true; - @override bool get supportsFlutterExit => true; @@ -1232,6 +1231,7 @@ class FakeDartDevelopmentService extends Fake implements DartDevelopmentService bool? startDisableServiceAuthCodes; var shutdownCalled = false; + var enableDevTools = false; @override late Future done; @@ -1239,6 +1239,12 @@ class FakeDartDevelopmentService extends Fake implements DartDevelopmentService @override Uri? uri; + @override + Uri? devToolsUri; + + @override + Uri? dtdUri; + @override Future startDartDevelopmentService( Uri vmServiceUri, { @@ -1254,6 +1260,7 @@ class FakeDartDevelopmentService extends Fake implements DartDevelopmentService startCalled = true; startVMServiceUri = vmServiceUri; startDisableServiceAuthCodes = disableServiceAuthCodes; + this.enableDevTools = enableDevTools; } @override diff --git a/packages/flutter_tools/test/commands.shard/hermetic/proxied_devices_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/proxied_devices_test.dart index a98ef76aec188..14d47c704ad06 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/proxied_devices_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/proxied_devices_test.dart @@ -286,9 +286,6 @@ class FakeAndroidDevice extends Fake implements AndroidDevice { @override bool get supportsScreenshot => true; - @override - bool get supportsFastStart => true; - @override bool get supportsFlutterExit => true; diff --git a/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart index bea4c122eeb97..0c0e2299fd8e9 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/run_test.dart @@ -79,38 +79,6 @@ void main() { }, ); - testUsingContext( - 'does not support "--use-application-binary" and "--fast-start"', - () async { - fileSystem.file('lib/main.dart').createSync(recursive: true); - fileSystem.file('pubspec.yaml').createSync(); - fileSystem.file('.dart_tool/package_config.json').createSync(recursive: true); - - final command = RunCommand(); - await expectLater( - () => createTestCommandRunner(command).run([ - 'run', - '--use-application-binary=app/bar/faz', - '--fast-start', - '--no-pub', - '--show-test-device', - ]), - throwsA( - isException.having( - (Exception exception) => exception.toString(), - 'toString', - isNot(contains('--fast-start is not supported with --use-application-binary')), - ), - ), - ); - }, - overrides: { - FileSystem: () => fileSystem, - ProcessManager: () => FakeProcessManager.any(), - Logger: () => logger, - }, - ); - testUsingContext( 'Walks upward looking for a pubspec.yaml and succeeds if found', () async { @@ -1466,9 +1434,6 @@ class FakeDevice extends Fake implements Device { @override bool get supportsHotRestart => true; - @override - bool get supportsFastStart => false; - @override bool get supportsFlavors => _supportsFlavors; diff --git a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_code_generator_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_code_generator_test.dart index 942d62f9223c2..9d3d2e71e758c 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_code_generator_test.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_code_generator_test.dart @@ -21,6 +21,7 @@ import 'package:process/process.dart'; import '../../../src/common.dart'; import '../../../src/context.dart'; import '../../../src/fakes.dart'; +import 'utils/preview_detector_test_utils.dart'; const kPubspec = ''' name: foo_project @@ -54,13 +55,14 @@ import 'localizations.dart'; import 'theme.dart'; import 'wrapper.dart'; -@Preview() +@Preview(group: 'group') Widget barPreview1() => Text('Foo'); @Preview(brightness: brightnessConstant) Widget barPreview2() => Text('Foo'); @Preview( + group: 'group', name: 'Foo', size: Size(123, 456), textScaleFactor: 50, @@ -136,6 +138,62 @@ import 'package:flutter/widget_previews.dart'; Widget preview() => Text('Error in dependency'); '''; +const kCustomPreviews = r''' +import 'package:flutter/widgets.dart'; +import 'package:flutter/widget_previews.dart'; + +base class BrightnessPreview extends MultiPreview { + const BrightnessPreview({required this.name}); + + final String name; + + @override + final previews = const [ + Preview(name: '(Light)', brightness: Brightness.light), + Preview(name: '(Dark)', brightness: Brightness.dark), + ]; + + Widget _wrapper(Widget child) { + return Container(child: child); + } + + @override + List transform() { + final parentPreviews = super.transform(); + final transformed = []; + for (final preview in parentPreviews) { + final builder = preview.toBuilder() + ..name = '$name ${preview.name}' + ..addWrapper(_wrapper); + transformed.add(builder.build()); + } + return transformed; + } +} + +base class FixedSizePreview extends Preview { + const FixedSizePreview({required super.name}) + : super(size: const Size(100, 100)); + + Widget _wrapper(Widget child) { + return Container(child: child); + } + + @override + Preview transform() { + final parent = super.transform(); + final builder = parent.toBuilder() + ..name = 'FixedSizePreview: $name' + ..addWrapper(_wrapper); + return builder.build(); + } +} + +@BrightnessPreview(name: 'Foo') +@FixedSizePreview(name: 'Bar') +Widget preview() => Text('Brightness Preview'); +'''; + // Note: this test isn't under the general.shard since tests under that directory // have a 2000ms time out and these tests write to the real file system and watch // directories for changes. This can be slow on heavily loaded machines and cause @@ -168,9 +226,11 @@ void main() { ..childFile('lib/src/wrapper.dart').writeAsStringSync(kWrapperDart) ..childFile('lib/src/theme.dart').writeAsStringSync(kThemeDart) ..childFile('lib/src/error.dart').writeAsStringSync(kErrorContainingLibrary) - ..childFile('lib/src/transitive_error.dart').writeAsStringSync(kTransitiveErrorLibrary); + ..childFile('lib/src/transitive_error.dart').writeAsStringSync(kTransitiveErrorLibrary) + ..childFile('lib/src/custom_previews.dart').writeAsStringSync(kCustomPreviews); project = FlutterProject.fromDirectoryTest(projectDir); previewDetector = PreviewDetector( + platform: FakePlatform(), previewAnalytics: WidgetPreviewAnalytics( analytics: getInitializedFakeAnalyticsInstance( // We don't care about anything written to the file system by analytics, so we're safe @@ -217,62 +277,93 @@ void main() { codeGenerator.populatePreviewsInGeneratedPreviewScaffold(details); expect(generatedPreviewFile, exists); - // Check that the generated file contains: - // - An import of the widget preview library - // - Prefixed imports for 'foo.dart', 'src/bar.dart', 'wrapper.dart', - // 'brightness.dart', and 'theme.dart' - // - A top-level function 'List previews()' - // - A returned list containing function calls to 'preview()' from 'foo.dart' and - // 'barPreview1()', 'barPreview2()', and 'barPreview3()' from 'src/bar.dart' const expectedGeneratedPreviewFileContents = ''' +// ignore_for_file: implementation_imports + // ignore_for_file: no_leading_underscores_for_library_prefixes import 'widget_preview.dart' as _i1; -import 'package:foo_project/foo.dart' as _i2; -import 'package:foo_project/src/bar.dart' as _i3; -import 'package:foo_project/src/brightness.dart' as _i4; -import 'dart:ui' as _i5; -import 'package:foo_project/src/theme.dart' as _i6; -import 'package:foo_project/src/localizations.dart' as _i7; +import 'utils.dart' as _i2; +import 'package:foo_project/foo.dart' as _i3; +import 'package:flutter/src/widget_previews/widget_previews.dart' as _i4; +import 'package:foo_project/src/bar.dart' as _i5; +import 'package:foo_project/src/brightness.dart' as _i6; +import 'dart:ui' as _i7; import 'package:foo_project/src/wrapper.dart' as _i8; -import 'package:flutter/widgets.dart' as _i9; -import 'package:flutter/material.dart' as _i10; +import 'package:foo_project/src/theme.dart' as _i9; +import 'package:foo_project/src/localizations.dart' as _i10; +import 'package:foo_project/src/custom_previews.dart' as _i11; List<_i1.WidgetPreview> previews() => [ - _i1.WidgetPreview( + _i2.buildWidgetPreview( packageName: 'foo_project', - builder: () => _i2.preview(), + scriptUri: 'STRIPPED', + previewFunction: () => _i3.preview(), + transformedPreview: const _i4.Preview().transform(), ), - _i1.WidgetPreview( + _i2.buildWidgetPreview( packageName: 'foo_project', - builder: () => _i3.barPreview1(), + scriptUri: 'STRIPPED', + previewFunction: () => _i5.barPreview1(), + transformedPreview: const _i4.Preview(group: 'group').transform(), ), - _i1.WidgetPreview( + _i2.buildWidgetPreview( packageName: 'foo_project', - brightness: _i4.brightnessConstant, - builder: () => _i3.barPreview2(), + scriptUri: 'STRIPPED', + previewFunction: () => _i5.barPreview2(), + transformedPreview: + const _i4.Preview(brightness: _i6.brightnessConstant).transform(), ), - _i1.WidgetPreview( + _i2.buildWidgetPreview( packageName: 'foo_project', - name: 'Foo', - size: const _i5.Size( - 123.0, - 456.0, - ), - textScaleFactor: 50.0, - theme: _i6.myThemeData(), - brightness: _i5.Brightness.dark, - localizations: _i7.myLocalizations(), - builder: () => _i8.wrapper(_i9.Builder(builder: _i3.barPreview3())), + scriptUri: 'STRIPPED', + previewFunction: () => _i5.barPreview3(), + transformedPreview: const _i4.Preview( + group: 'group', + name: 'Foo', + size: _i7.Size( + 123.0, + 456.0, + ), + textScaleFactor: 50.0, + wrapper: _i8.wrapper, + brightness: _i7.Brightness.dark, + theme: _i9.myThemeData, + localizations: _i10.myLocalizations, + ).transform(), + ), + ..._i2.buildMultiWidgetPreview( + packageName: 'foo_project', + scriptUri: 'STRIPPED', + previewFunction: () => _i11.preview(), + preview: const _i11.BrightnessPreview(name: 'Foo'), + ), + _i2.buildWidgetPreview( + packageName: 'foo_project', + scriptUri: 'STRIPPED', + previewFunction: () => _i11.preview(), + transformedPreview: + const _i11.FixedSizePreview(name: 'Bar').transform(), + ), + _i2.buildWidgetPreviewError( + packageName: 'foo_project', + scriptUri: 'STRIPPED', + packageUri: 'package:foo_project/src/error.dart', + functionName: 'preview', + dependencyHasErrors: false, + ), + _i2.buildWidgetPreviewError( + packageName: 'foo_project', + scriptUri: 'STRIPPED', + packageUri: 'package:foo_project/src/transitive_error.dart', + functionName: 'preview', + dependencyHasErrors: true, ), - _i1.WidgetPreview( - builder: () => - _i10.Text('package:foo_project/src/error.dart has errors!')), - _i1.WidgetPreview( - builder: () => _i10.Text( - 'Dependency of package:foo_project/src/transitive_error.dart has errors!')), ]; '''; - expect(generatedPreviewFile.readAsStringSync(), expectedGeneratedPreviewFileContents); + expect( + generatedPreviewFile.readAsStringSync().stripScriptUris, + expectedGeneratedPreviewFileContents, + ); // Regenerate the generated file with no previews. codeGenerator.populatePreviewsInGeneratedPreviewScaffold( @@ -282,8 +373,10 @@ List<_i1.WidgetPreview> previews() => [ // The generated file should only contain: // - An import of the widget preview library - // - A top-level function 'List previews()' that returns an empty list. + // - A top-level function 'List previews()' that returns an empty list. const emptyGeneratedPreviewFileContents = ''' +// ignore_for_file: implementation_imports + // ignore_for_file: no_leading_underscores_for_library_prefixes import 'widget_preview.dart' as _i1; diff --git a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_invalid_preview_applications_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_invalid_preview_applications_test.dart new file mode 100644 index 0000000000000..4a5d74c702b31 --- /dev/null +++ b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_invalid_preview_applications_test.dart @@ -0,0 +1,161 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter_tools/src/base/file_system.dart'; +import 'package:flutter_tools/src/widget_preview/dependency_graph.dart'; +import 'package:flutter_tools/src/widget_preview/preview_detector.dart'; +import 'package:test/test.dart'; + +import '../../../../src/common.dart'; +import '../../../../src/context.dart'; +import '../utils/preview_details_matcher.dart'; +import '../utils/preview_detector_test_utils.dart'; +import '../utils/preview_project.dart'; + +// Note: this test isn't under the general.shard since tests under that directory +// have a 2000ms time out and these tests write to the real file system and watch +// directories for changes. This can be slow on heavily loaded machines and cause +// flaky failures. + +/// Creates a project with files containing invalid preview applications. +class BasicProjectWithInvalidPreviews extends WidgetPreviewProject with ProjectWithPreviews { + BasicProjectWithInvalidPreviews._({ + required super.projectRoot, + required List pathsWithPreviews, + required List pathsWithoutPreviews, + }) { + initialize(pathsWithPreviews: pathsWithPreviews, pathsWithoutPreviews: pathsWithoutPreviews); + } + + static Future create({ + required Directory projectRoot, + required List pathsWithPreviews, + required List pathsWithoutPreviews, + }) async { + final project = BasicProjectWithInvalidPreviews._( + projectRoot: projectRoot, + pathsWithPreviews: pathsWithPreviews, + pathsWithoutPreviews: pathsWithoutPreviews, + ); + await project.initializePubspec(); + return project; + } + + @override + final nonPreviewContainingFileContents = ''' +void main() {} +'''; + + @override + final previewContainingFileContents = ''' + + +@Preview(name: 'Invalid preview on class declaration') +class ClassDeclaration extends StatelessWidget { + @Preview(name: 'Invalid preview on constructor with required parameters') + ClassDeclaration(int i); + + @Preview(name: 'Invalid preview on getter'); + int get foo => 1; + + @Preview(name: 'Invalid preview on setter'); + set foo(x) { + print('foo set'); + }; + + @Preview(name: 'Invalid preview on field') + final int bar = 2; + + @Preview(name: 'Invalid preview on member function') + Widget memberFunction() => Text('Member'); + + @override + Widget build(BuildContext context) => Text('Foo'); +} + +@Preview(name: 'Invalid preview on function with void return') +void previews() => Text('Foo'); + +@Preview(name: 'Invalid preview on function with parameter') +Widget foo(int bar) => Text('Foo'); + +@Preview(name: 'Invalid preview on extension') +extension on ClassDeclaration {} +'''; + + @override + List get expectedPreviewDetails => []; +} + +void main() { + initializeTestPreviewDetectorState(); + group('$PreviewDetector', () { + // Note: we don't use a MemoryFileSystem since we don't have a way to + // provide it to package:analyzer APIs without writing a significant amount + // of wrapper logic. + late PreviewDetector previewDetector; + late BasicProjectWithInvalidPreviews project; + + setUp(() { + previewDetector = createTestPreviewDetector(); + }); + + tearDown(() async { + await previewDetector.dispose(); + }); + + testUsingContext('ignores invalid previews in existing files', () async { + project = await BasicProjectWithInvalidPreviews.create( + projectRoot: previewDetector.projectRoot, + pathsWithPreviews: ['foo.dart'], + pathsWithoutPreviews: [], + ); + final PreviewDependencyGraph mapping = await previewDetector.initialize(); + expectContainsPreviews(mapping, project.matcherMapping); + }); + + testUsingContext('ignores invalid previews in updated files', () async { + project = await BasicProjectWithInvalidPreviews.create( + projectRoot: previewDetector.projectRoot, + pathsWithPreviews: [], + pathsWithoutPreviews: ['foo.dart'], + ); + + // Initialize the file watcher. + final PreviewDependencyGraph initialPreviews = await previewDetector.initialize(); + expectContainsPreviews(initialPreviews, project.matcherMapping); + + await waitForChangeDetected( + onChangeDetected: (PreviewDependencyGraph updated) { + // There should be no valid previews in foo.dart. + expectContainsPreviews(updated, project.matcherMapping); + }, + changeOperation: () => project.addPreviewContainingFile(path: 'foo.dart'), + ); + }); + + testUsingContext('ignores invalid previews in newly added files', () async { + project = await BasicProjectWithInvalidPreviews.create( + projectRoot: previewDetector.projectRoot, + pathsWithPreviews: [], + pathsWithoutPreviews: [], + ); + // The initial mapping should be empty as there's no files containing previews. + const expectedInitialMapping = {}; + + // Initialize the file watcher. + final PreviewDependencyGraph initialPreviews = await previewDetector.initialize(); + expect(initialPreviews, expectedInitialMapping); + + await waitForChangeDetected( + onChangeDetected: (PreviewDependencyGraph updated) { + // There should be no valid previews in baz.dart. + expectContainsPreviews(updated, project.matcherMapping); + }, + // Create baz.dart, which contains previews. + changeOperation: () => project.addPreviewContainingFile(path: 'baz.dart'), + ); + }); + }); +} diff --git a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_previews_non_const_params_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_previews_non_const_params_test.dart new file mode 100644 index 0000000000000..5882c95d309bf --- /dev/null +++ b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_previews_non_const_params_test.dart @@ -0,0 +1,150 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter_tools/src/base/file_system.dart'; +import 'package:flutter_tools/src/widget_preview/dependency_graph.dart'; +import 'package:flutter_tools/src/widget_preview/preview_detector.dart'; +import 'package:test/test.dart'; + +import '../../../../src/common.dart'; +import '../../../../src/context.dart'; +import '../utils/preview_details_matcher.dart'; +import '../utils/preview_detector_test_utils.dart'; +import '../utils/preview_project.dart'; + +// Note: this test isn't under the general.shard since tests under that directory +// have a 2000ms time out and these tests write to the real file system and watch +// directories for changes. This can be slow on heavily loaded machines and cause +// flaky failures. + +/// Creates a project with files containing preview applications that have non-const parameters. +class ProjectWithPreviewsWithNonConstParams extends WidgetPreviewProject with ProjectWithPreviews { + ProjectWithPreviewsWithNonConstParams._({ + required super.projectRoot, + required List pathsWithPreviews, + required List pathsWithoutPreviews, + }) { + initialize(pathsWithPreviews: pathsWithPreviews, pathsWithoutPreviews: pathsWithoutPreviews); + } + + static Future create({ + required Directory projectRoot, + required List pathsWithPreviews, + required List pathsWithoutPreviews, + }) async { + final project = ProjectWithPreviewsWithNonConstParams._( + projectRoot: projectRoot, + pathsWithPreviews: pathsWithPreviews, + pathsWithoutPreviews: pathsWithoutPreviews, + ); + await project.initializePubspec(); + return project; + } + + @override + final nonPreviewContainingFileContents = ''' +void main() {} +'''; + + @override + final previewContainingFileContents = ''' +import 'package:flutter/widget_previews.dart'; + +class BrightnessPreview extends MultiPreview { + const BrightnessPreview(this.value); + + final Object value; + + final List previews = [ + Preview(name: 'Light', brightness: Brightness.light, wrapper: (child) => child), + Preview(name: 'Dark', brightness: Brightness.dark, wrapper: (child) => child), + ]; +} + + +class ClassDeclaration extends StatelessWidget { + @BrightnessPreview(new Object()) + @Preview(theme: () => PreviewThemeData()) + ClassDeclaration(); + + @override + Widget build(BuildContext context) => Text('Foo'); +} +'''; + + @override + List get expectedPreviewDetails => []; +} + +void main() { + initializeTestPreviewDetectorState(); + group('$PreviewDetector', () { + // Note: we don't use a MemoryFileSystem since we don't have a way to + // provide it to package:analyzer APIs without writing a significant amount + // of wrapper logic. + late PreviewDetector previewDetector; + late ProjectWithPreviewsWithNonConstParams project; + + setUp(() { + previewDetector = createTestPreviewDetector(); + }); + + tearDown(() async { + await previewDetector.dispose(); + }); + + testUsingContext('ignores previews with non-const parameters in existing files', () async { + project = await ProjectWithPreviewsWithNonConstParams.create( + projectRoot: previewDetector.projectRoot, + pathsWithPreviews: ['foo.dart'], + pathsWithoutPreviews: [], + ); + final PreviewDependencyGraph mapping = await previewDetector.initialize(); + expectContainsPreviews(mapping, project.matcherMapping); + }); + + testUsingContext('ignores previews with non-const parameters in updated files', () async { + project = await ProjectWithPreviewsWithNonConstParams.create( + projectRoot: previewDetector.projectRoot, + pathsWithPreviews: [], + pathsWithoutPreviews: ['foo.dart'], + ); + + // Initialize the file watcher. + final PreviewDependencyGraph initialPreviews = await previewDetector.initialize(); + expectContainsPreviews(initialPreviews, project.matcherMapping); + + await waitForChangeDetected( + onChangeDetected: (PreviewDependencyGraph updated) { + // There should be no valid previews in foo.dart. + expectContainsPreviews(updated, project.matcherMapping); + }, + changeOperation: () => project.addPreviewContainingFile(path: 'foo.dart'), + ); + }); + + testUsingContext('ignores previews with non-const parameters in newly added files', () async { + project = await ProjectWithPreviewsWithNonConstParams.create( + projectRoot: previewDetector.projectRoot, + pathsWithPreviews: [], + pathsWithoutPreviews: [], + ); + // The initial mapping should be empty as there's no files containing previews. + const expectedInitialMapping = {}; + + // Initialize the file watcher. + final PreviewDependencyGraph initialPreviews = await previewDetector.initialize(); + expect(initialPreviews, expectedInitialMapping); + + await waitForChangeDetected( + onChangeDetected: (PreviewDependencyGraph updated) { + // There should be no valid previews in baz.dart. + expectContainsPreviews(updated, project.matcherMapping); + }, + // Create baz.dart, which contains previews. + changeOperation: () => project.addPreviewContainingFile(path: 'baz.dart'), + ); + }); + }); +} diff --git a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_regression_173895_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_regression_173895_test.dart new file mode 100644 index 0000000000000..598032b8524f2 --- /dev/null +++ b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/preview_detector_regression_173895_test.dart @@ -0,0 +1,90 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; + +import 'package:file/memory.dart'; +import 'package:flutter_tools/src/base/file_system.dart'; +import 'package:flutter_tools/src/base/logger.dart'; +import 'package:flutter_tools/src/base/platform.dart'; +import 'package:flutter_tools/src/widget_preview/analytics.dart'; +import 'package:flutter_tools/src/widget_preview/preview_detector.dart'; +import 'package:test/fake.dart'; +import 'package:watcher/watcher.dart'; + +import '../../../../src/common.dart'; +import '../../../../src/fakes.dart'; +import '../utils/preview_detector_test_utils.dart'; + +void main() { + initializeTestPreviewDetectorState(); + group('$PreviewDetector', () { + late MemoryFileSystem fs; + late PreviewDetector previewDetector; + late FakeWatcher watcher; + late BufferLogger logger; + + setUp(() { + fs = MemoryFileSystem.test(style: FileSystemStyle.windows); + watcher = FakeWatcher(); + logger = BufferLogger.test(); + previewDetector = PreviewDetector( + // Explicitly set the platform to Windows. + platform: FakePlatform(operatingSystem: 'windows'), + previewAnalytics: WidgetPreviewAnalytics( + analytics: getInitializedFakeAnalyticsInstance( + fakeFlutterVersion: FakeFlutterVersion(), + // We don't care about anything written by fake analytics, so we're safe to use a different + // file system here. + fs: MemoryFileSystem.test(), + ), + ), + projectRoot: fs.systemTempDirectory.createTempSync('root'), + logger: logger, + fs: fs, + onChangeDetected: (_) {}, + onPubspecChangeDetected: (_) {}, + watcherBuilder: (_) => watcher, + ); + }); + + tearDown(() async { + await previewDetector.dispose(); + await watcher.close(); + }); + + test( + 'regression test https://github.com/flutter/flutter/issues/173895', + () async { + // The Windows directory watcher sometimes decides to shutdown on its own. It's + // automatically restarted by package:watcher, but the FileSystemException is rethrown and + // needs to be handled. This test verifies that we no longer crash if this exception is + // encountered on Windows. + await previewDetector.initialize(); + watcher.controller.addError( + const FileSystemException(PreviewDetector.kDirectoryWatcherClosedUnexpectedlyPrefix), + ); + // Insert an asynchronous gap so the onError handler for the Watcher can be invoked. + await Future.delayed(Duration.zero); + expect(logger.traceText, contains(PreviewDetector.kWindowsFileWatcherRestartedMessage)); + }, + skip: !const LocalPlatform().isWindows, // [intended] Test is only valid on Windows. + ); + }); +} + +class FakeWatcher extends Fake implements Watcher { + final controller = StreamController(); + + @override + Stream get events => controller.stream; + + @override + bool get isReady => true; + + @override + Future get ready => Future.value(); + + Future close() => controller.close(); +} diff --git a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/projects/multipreview_project.dart b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/projects/multipreview_project.dart index 994f4c0d5c04f..31678f1251bd7 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/projects/multipreview_project.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/preview_detector/projects/multipreview_project.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'package:file/file.dart'; +import 'package:test/test.dart'; import '../../utils/preview_details_matcher.dart'; import '../../utils/preview_project.dart'; @@ -37,87 +38,50 @@ class MultiPreviewProject extends WidgetPreviewProject with ProjectWithPreviews throw UnimplementedError('Not supported for $MultiPreviewProject'); } - @override - late final expectedPreviewDetails = [ - PreviewDetailsMatcher( - packageName: packageName, - functionName: 'previews', - isBuilder: false, + static final previewMatchers = [ + PreviewMatcher( name: 'Light', // This is DartObject's toString() representation for an enum value. brightness: 'Brightness light', ), - PreviewDetailsMatcher( - packageName: packageName, - functionName: 'previews', - isBuilder: false, + PreviewMatcher( name: 'Dark', // This is DartObject's toString() representation for an enum value. brightness: 'Brightness dark', ), - PreviewDetailsMatcher( + ]; + + @override + late final expectedPreviewDetails = [ + MultiPreviewDetailsMatcher( packageName: packageName, - functionName: 'builderPreview', - isBuilder: true, - name: 'Light', - // This is DartObject's toString() representation for an enum value. - brightness: 'Brightness light', + functionName: 'previews', + isBuilder: false, + previewMatchers: previewMatchers, ), - PreviewDetailsMatcher( + MultiPreviewDetailsMatcher( packageName: packageName, functionName: 'builderPreview', isBuilder: true, - name: 'Dark', - // This is DartObject's toString() representation for an enum value. - brightness: 'Brightness dark', + previewMatchers: previewMatchers, ), - PreviewDetailsMatcher( + MultiPreviewDetailsMatcher( packageName: packageName, functionName: 'MyWidget.preview', isBuilder: false, - name: 'Light', - // This is DartObject's toString() representation for an enum value. - brightness: 'Brightness light', + previewMatchers: previewMatchers, ), - PreviewDetailsMatcher( - packageName: packageName, - functionName: 'MyWidget.preview', - isBuilder: false, - name: 'Dark', - // This is DartObject's toString() representation for an enum value. - brightness: 'Brightness dark', - ), - PreviewDetailsMatcher( + MultiPreviewDetailsMatcher( packageName: packageName, functionName: 'MyWidget.factoryPreview', isBuilder: false, - name: 'Light', - // This is DartObject's toString() representation for an enum value. - brightness: 'Brightness light', + previewMatchers: previewMatchers, ), - PreviewDetailsMatcher( - packageName: packageName, - functionName: 'MyWidget.factoryPreview', - isBuilder: false, - name: 'Dark', - // This is DartObject's toString() representation for an enum value. - brightness: 'Brightness dark', - ), - PreviewDetailsMatcher( - packageName: packageName, - functionName: 'MyWidget.previewStatic', - isBuilder: false, - name: 'Light', - // This is DartObject's toString() representation for an enum value. - brightness: 'Brightness light', - ), - PreviewDetailsMatcher( + MultiPreviewDetailsMatcher( packageName: packageName, functionName: 'MyWidget.previewStatic', isBuilder: false, - name: 'Dark', - // This is DartObject's toString() representation for an enum value. - brightness: 'Brightness dark', + previewMatchers: previewMatchers, ), ]; @@ -126,9 +90,10 @@ class MultiPreviewProject extends WidgetPreviewProject with ProjectWithPreviews import 'package:flutter/material.dart'; import 'package:flutter/widget_previews.dart'; -class BrightnessPreview extends MultiPreview { +base class BrightnessPreview extends MultiPreview { const BrightnessPreview(); + @override final List previews = [ Preview(name: 'Light', brightness: Brightness.light), Preview(name: 'Dark', brightness: Brightness.dark), diff --git a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_details_matcher.dart b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_details_matcher.dart index 8fed7cb24840e..700f597aae979 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_details_matcher.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_details_matcher.dart @@ -2,18 +2,32 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:analyzer/dart/constant/value.dart'; import 'package:flutter_tools/src/widget_preview/dependency_graph.dart'; import 'package:flutter_tools/src/widget_preview/preview_details.dart'; import 'package:test/test.dart'; typedef _PreviewDetailsMatcherMismatchPair = ({Object? expected, Object? actual}); -/// A [Matcher] that verifies each property of a `@Preview` declaration matches an expected value. -class PreviewDetailsMatcher extends Matcher { - PreviewDetailsMatcher({ - required this.packageName, - required this.functionName, - required this.isBuilder, +extension on DartObject { + /// Climbs the object's class hierarchy, returning the first field matching [name]. + DartObject? getFirstField(String name) { + DartObject? annotation = this; + while (annotation != null) { + final DartObject? field = annotation.getField(name); + if (field != null) { + return field; + } + annotation = annotation.getField('(super)'); + } + return null; + } +} + +/// Matches properties of a `@Preview` annotation instance. +class PreviewMatcher extends Matcher { + PreviewMatcher({ + this.group = 'Default', this.name, this.size, this.textScaleFactor, @@ -23,10 +37,18 @@ class PreviewDetailsMatcher extends Matcher { this.localizations, }); - final String functionName; - final bool isBuilder; - final String packageName; + static const kBrightness = 'brightness'; + static const kGroup = 'group'; + static const kLocalizations = 'localizations'; + static const kName = 'name'; + static const kPackageName = 'packageName'; + static const kScriptUri = 'scriptUri'; + static const kSize = 'size'; + static const kTextScaleFactor = 'textScaleFactor'; + static const kTheme = 'theme'; + static const kWrapper = 'wrapper'; + final String? group; final String? name; final String? size; final double? textScaleFactor; @@ -35,6 +57,110 @@ class PreviewDetailsMatcher extends Matcher { final String? brightness; final String? localizations; + @override + Description describe(Description description) { + description.add('PreviewMatcher'); + return description; + } + + @override + bool matches(Object? item, Map matchState) { + if (item is! DartObject) { + return false; + } + + var matches = true; + void checkPropertyMatch({ + required String name, + required Object? actual, + required Object? expected, + }) { + if (actual != expected) { + matchState[name] = (actual: actual, expected: expected); + matches = false; + } + } + + checkPropertyMatch( + name: kGroup, + actual: item.getFirstField('group')?.toStringValue(), + expected: group, + ); + checkPropertyMatch( + name: kName, + actual: item.getFirstField(kName)?.toStringValue(), + expected: name, + ); + final DartObject? actualSize = item.getFirstField(kSize); + checkPropertyMatch( + name: kSize, + actual: (actualSize?.isNull ?? true) ? null : size.toString(), + expected: size, + ); + checkPropertyMatch( + name: kTextScaleFactor, + actual: item.getFirstField(kTextScaleFactor)?.toDoubleValue(), + expected: textScaleFactor, + ); + checkPropertyMatch( + name: kWrapper, + actual: item.getFirstField(kWrapper)?.toFunctionValue2()?.displayName, + expected: wrapper, + ); + checkPropertyMatch( + name: kTheme, + actual: item.getFirstField(kTheme)?.toFunctionValue2()?.displayName, + expected: theme, + ); + + final DartObject? actualBrightness = item.getFirstField(kBrightness); + checkPropertyMatch( + name: kBrightness, + actual: (actualBrightness?.isNull ?? true) ? null : actualBrightness!.variable2!.toString(), + expected: brightness, + ); + checkPropertyMatch( + name: kLocalizations, + actual: item.getFirstField(kLocalizations)?.toFunctionValue2()?.displayName, + expected: localizations, + ); + return matches; + } +} + +/// A [Matcher] that verifies each property of a `@Preview` declaration matches an expected value. +/// +/// WARNING: the preview details will be compared against the initial state of the `Preview` +/// instance, before `Preview.transform()` is invoked. +class PreviewDetailsMatcher extends Matcher { + PreviewDetailsMatcher({ + required this.packageName, + required this.functionName, + required this.isBuilder, + String? group = 'Default', + String? name, + String? size, + double? textScaleFactor, + String? wrapper, + String? theme, + String? brightness, + String? localizations, + }) : previewMatcher = PreviewMatcher( + group: group, + name: name, + size: size, + textScaleFactor: textScaleFactor, + wrapper: wrapper, + theme: theme, + brightness: brightness, + localizations: localizations, + ); + + final String functionName; + final bool isBuilder; + final String packageName; + final PreviewMatcher previewMatcher; + @override Description describe(Description description) { description.add('PreviewDetailsMatcher'); @@ -80,52 +206,105 @@ class PreviewDetailsMatcher extends Matcher { checkPropertyMatch(name: 'packageName', actual: item.packageName, expected: packageName); checkPropertyMatch(name: 'functionName', actual: item.functionName, expected: functionName); checkPropertyMatch(name: 'isBuilder', actual: item.isBuilder, expected: isBuilder); - checkPropertyMatch( - name: PreviewDetails.kName, - actual: item.name.toStringValue(), - expected: name, - ); - checkPropertyMatch( - name: PreviewDetails.kSize, - actual: item.size.isNull ? null : item.size.toString(), - expected: size, - ); - checkPropertyMatch( - name: PreviewDetails.kTextScaleFactor, - actual: item.textScaleFactor.toDoubleValue(), - expected: textScaleFactor, - ); - checkPropertyMatch( - name: PreviewDetails.kWrapper, - actual: item.wrapper.toFunctionValue2()?.displayName, - expected: wrapper, - ); - checkPropertyMatch( - name: PreviewDetails.kTheme, - actual: item.theme.toFunctionValue2()?.displayName, - expected: theme, - ); - checkPropertyMatch( - name: PreviewDetails.kBrightness, - actual: item.brightness.isNull ? null : item.brightness.variable2!.toString(), - expected: brightness, - ); - checkPropertyMatch( - name: PreviewDetails.kLocalizations, - actual: item.localizations.toFunctionValue2()?.displayName, - expected: localizations, - ); + if (!previewMatcher.matches(item.previewAnnotation, matchState)) { + matches = false; + } + return matches; + } +} + +/// A [Matcher] that verifies each property of a `MultiPreview` declaration matches an expected +/// value. +/// +/// WARNING: this matcher will only work with `MultiPreview`s with `previews` fields as constant +/// evaluation doesn't allow for getting the values of getters. Matching is done before any calls +/// to `MultiPreview.transform()`, so previews must be compared to their initial non-transformed +/// state. +class MultiPreviewDetailsMatcher extends Matcher { + MultiPreviewDetailsMatcher({ + required this.packageName, + required this.functionName, + required this.isBuilder, + required this.previewMatchers, + }); + + final String functionName; + final bool isBuilder; + final String packageName; + final List previewMatchers; + + @override + Description describe(Description description) { + description.add('MultiPreviewDetailsMatcher'); + return description; + } + + @override + Description describeMismatch( + dynamic item, + Description mismatchDescription, + Map matchState, + bool verbose, + ) { + mismatchDescription.add('has the following mismatches:\n\n'); + for (final MapEntry( + :String key, + value: _PreviewDetailsMatcherMismatchPair(:Object? actual, :Object? expected), + ) + in matchState.cast().entries) { + mismatchDescription.add("- $key = '$actual' differs from the expected value '$expected'\n"); + } + return mismatchDescription; + } + + @override + bool matches(Object? item, Map matchState) { + if (item is! PreviewDetails) { + return false; + } + + var matches = true; + void checkPropertyMatch({ + required String name, + required Object? actual, + required Object? expected, + }) { + if (actual != expected) { + matchState[name] = (actual: actual, expected: expected); + matches = false; + } + } + + checkPropertyMatch(name: 'isMultiPreview', actual: item.isMultiPreview, expected: true); + checkPropertyMatch(name: 'packageName', actual: item.packageName, expected: packageName); + checkPropertyMatch(name: 'functionName', actual: item.functionName, expected: functionName); + checkPropertyMatch(name: 'isBuilder', actual: item.isBuilder, expected: isBuilder); + final List previews = item.previewAnnotation + .getFirstField('previews')! + .toListValue()!; + if (previews.length != previewMatchers.length) { + matchState['previews'] = ( + actual: 'previews length(${previews.length})', + expected: 'preview matchers length(${previewMatchers.length})', + ); + return false; + } + for (var i = 0; i < previewMatchers.length; ++i) { + if (!previewMatchers[i].matches(previews[i], matchState)) { + matches = false; + } + } return matches; } } void expectContainsPreviews( Map actual, - Map> expected, + Map> expected, ) { - for (final MapEntry>( + for (final MapEntry>( key: PreviewPath previewPath, - value: List filePreviews, + value: List filePreviews, ) in expected.entries) { expect(actual.containsKey(previewPath), true); diff --git a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_detector_test_utils.dart b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_detector_test_utils.dart index 57e68c1350ab4..5fc58bd4aadcb 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_detector_test_utils.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_detector_test_utils.dart @@ -50,6 +50,7 @@ PreviewDetector createTestPreviewDetector() { } _projectRoot = _fs.systemTempDirectory.createTempSync('root'); return PreviewDetector( + platform: FakePlatform(), previewAnalytics: WidgetPreviewAnalytics( analytics: getInitializedFakeAnalyticsInstance( fakeFlutterVersion: FakeFlutterVersion(), @@ -212,3 +213,8 @@ void expectPreviewDependencyGraphIsWellFormed({ String platformPath(List pathSegments) => pathSegments.join(const LocalPlatform().pathSeparator); + +extension ScriptHelper on String { + String get stripScriptUris => + replaceAll(RegExp(r"scriptUri:\s*'file:\/\/\/\S*',"), "scriptUri: 'STRIPPED',"); +} diff --git a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_project.dart b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_project.dart index f1733a0773196..48a73864e0ab3 100644 --- a/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_project.dart +++ b/packages/flutter_tools/test/commands.shard/hermetic/widget_preview/utils/preview_project.dart @@ -11,7 +11,6 @@ import 'package:meta/meta.dart'; import 'package:package_config/package_config.dart'; import '../../../../src/common.dart'; -import 'preview_details_matcher.dart'; typedef WidgetPreviewSourceFile = ({String path, String source}); @@ -224,16 +223,15 @@ dependencies: /// A mixin for preview projects that support adding and removing libraries with previews. mixin ProjectWithPreviews on WidgetPreviewProject { - List get expectedPreviewDetails; + List get expectedPreviewDetails; String get previewContainingFileContents; String get nonPreviewContainingFileContents; - Map> get matcherMapping => - >{ - for (final PreviewPath path in librariesWithPreviews) path: expectedPreviewDetails, - }; + Map> get matcherMapping => >{ + for (final PreviewPath path in librariesWithPreviews) path: expectedPreviewDetails, + }; final librariesWithPreviews = {}; final librariesWithoutPreviews = {}; diff --git a/packages/flutter_tools/test/commands.shard/permeable/build_bundle_test.dart b/packages/flutter_tools/test/commands.shard/permeable/build_bundle_test.dart index cb4705ae9704d..43eab64596ef3 100644 --- a/packages/flutter_tools/test/commands.shard/permeable/build_bundle_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/build_bundle_test.dart @@ -308,7 +308,6 @@ void main() { kIconTreeShakerFlag: 'false', kDeferredComponents: 'false', kDartObfuscation: 'false', - kNativeAssets: 'false', }); }), FileSystem: fsFactory, @@ -349,7 +348,6 @@ void main() { kIconTreeShakerFlag: 'false', kDeferredComponents: 'false', kDartObfuscation: 'false', - kNativeAssets: 'false', }); }), FileSystem: fsFactory, @@ -390,7 +388,6 @@ void main() { kIconTreeShakerFlag: 'false', kDeferredComponents: 'false', kDartObfuscation: 'false', - kNativeAssets: 'false', }); }), FileSystem: fsFactory, @@ -432,7 +429,6 @@ void main() { kIconTreeShakerFlag: 'false', kDeferredComponents: 'false', kDartObfuscation: 'false', - kNativeAssets: 'false', }); }), FileSystem: fsFactory, @@ -474,10 +470,8 @@ void main() { kIconTreeShakerFlag: 'false', kDeferredComponents: 'false', kDartObfuscation: 'false', - kNativeAssets: 'false', }); }), - FileSystem: fsFactory, ProcessManager: () => FakeProcessManager.any(), }, ); @@ -516,7 +510,6 @@ void main() { kIconTreeShakerFlag: 'false', kDeferredComponents: 'false', kDartObfuscation: 'false', - kNativeAssets: 'false', }); }), FileSystem: fsFactory, @@ -565,10 +558,8 @@ void main() { kIconTreeShakerFlag: 'false', kDeferredComponents: 'false', kDartObfuscation: 'false', - kNativeAssets: 'false', }); }), - FileSystem: fsFactory, ProcessManager: () => FakeProcessManager.any(), }, ); @@ -614,7 +605,6 @@ void main() { kIconTreeShakerFlag: 'false', kDeferredComponents: 'false', kDartObfuscation: 'false', - kNativeAssets: 'false', }); }), FileSystem: fsFactory, diff --git a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart index 0af498c02adea..54a0ff9108603 100644 --- a/packages/flutter_tools/test/commands.shard/permeable/create_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/create_test.dart @@ -207,7 +207,6 @@ void main() { workflow: 'create', commandHasTerminal: false, createAndroidLanguage: 'java', - createIosLanguage: 'swift', ), ), ); @@ -571,7 +570,7 @@ void main() { () async { await _createAndAnalyzeProject( projectDir, - ['--template=plugin', '-i', 'objc', '-a', 'java'], + ['--template=plugin', '-a', 'java'], [ 'analysis_options.yaml', 'LICENSE', @@ -639,7 +638,7 @@ void main() { () async { await _createProject( projectDir, - ['--template=plugin', '-i', 'objc', '-a', 'java'], + ['--template=plugin', '-a', 'java'], ['example/pubspec.yaml'], ); final String rawPubspec = await projectDir @@ -688,7 +687,7 @@ void main() { ); testUsingContext( - 'kotlin/swift plugin project without Swift Package Manager', + 'plugin project with Swift Package Manager', () async { return _createProject( projectDir, @@ -697,8 +696,6 @@ void main() { '--template=plugin', '-a', 'kotlin', - '--ios-language', - 'swift', '--platforms', 'android,ios,macos', ], @@ -733,18 +730,11 @@ void main() { ); testUsingContext( - 'swift plugin project with Swift Package Manager', + 'plugin project with Swift Package Manager', () async { return _createProject( projectDir, - [ - '--no-pub', - '--template=plugin', - '--ios-language', - 'swift', - '--platforms', - 'ios,macos', - ], + ['--no-pub', '--template=plugin', '--platforms', 'ios,macos'], [ 'ios/flutter_project/Package.swift', 'ios/flutter_project/Sources/flutter_project/FlutterProjectPlugin.swift', @@ -769,29 +759,6 @@ void main() { }, ); - testUsingContext( - 'objc plugin project with Swift Package Manager', - () async { - return _createProject( - projectDir, - ['--no-pub', '--template=plugin', '--ios-language', 'objc', '--platforms', 'ios'], - [ - 'ios/flutter_project/Package.swift', - 'ios/flutter_project/Sources/flutter_project/include/flutter_project/FlutterProjectPlugin.h', - 'ios/flutter_project/Sources/flutter_project/FlutterProjectPlugin.m', - 'ios/flutter_project/Sources/flutter_project/PrivacyInfo.xcprivacy', - ], - unexpectedPaths: [ - 'ios/Classes/FlutterProjectPlugin.swift', - 'ios/Classes/FlutterProjectPlugin.h', - 'ios/Classes/FlutterProjectPlugin.m', - 'ios/Assets/.gitkeep', - ], - ); - }, - overrides: {FeatureFlags: () => TestFeatureFlags(isSwiftPackageManagerEnabled: true)}, - ); - testUsingContext('plugin project with custom org', () async { return _createProject( projectDir, @@ -800,8 +767,6 @@ void main() { '--template=plugin', '--org', 'com.bar.foo', - '-i', - 'objc', '-a', 'java', '--platform', @@ -826,8 +791,6 @@ void main() { '--template=plugin', '--project-name', 'xyz', - '-i', - 'objc', '-a', 'java', '--platforms', @@ -1690,7 +1653,6 @@ void main() { '--org', 'com.foo.bar', '--platforms=ios', - '--ios-language=objc', '--project-name=my_project', projectDir.path, ]); @@ -1716,40 +1678,20 @@ void main() { }); testUsingContext( - 'should show --ios-language deprecation error for non-plugin templates', + 'should show --ios-language deprecation warning for all templates', () async { final command = CreateCommand(); final CommandRunner runner = createTestCommandRunner(command); - await expectToolExitLater( - runner.run(['create', '--no-pub', '--ios-language=swift', projectDir.path]), - contains('The "ios-language" option is only supported for "--template=plugin".'), - ); - }, - overrides: {FeatureFlags: () => TestFeatureFlags(), Logger: () => logger}, - ); - - testUsingContext( - 'should show --ios-language deprecation warning issue for Objective-C plugins', - () async { - final command = CreateCommand(); - final CommandRunner runner = createTestCommandRunner(command); - - await runner.run([ - 'create', - '--no-pub', - '-t', - 'plugin', - '--ios-language=objc', - projectDir.path, - ]); + await runner.run(['create', '--no-pub', '--ios-language=swift', projectDir.path]); expect( logger.warningText, contains( - 'The "ios-language" option is deprecated and will be removed in a future Flutter release.', + 'The "--ios-language" option is deprecated and no longer has any effect. ' + 'Swift is always used for iOS-specific code. ' + 'This flag will be removed in a future version of Flutter.', ), ); - expect(logger.warningText, contains('https://github.com/flutter/flutter/issues/169683')); }, overrides: {FeatureFlags: () => TestFeatureFlags(), Logger: () => logger}, ); @@ -2097,24 +2039,15 @@ void main() { projectDir.childDirectory('ios').deleteSync(recursive: true); await _createProject( projectDir, - [ - '--no-pub', - '--template=plugin', - '-i', - 'objc', - '-a', - 'java', - '--platforms', - 'ios,android', - ], + ['--no-pub', '--template=plugin', '-a', 'java', '--platforms', 'ios,android'], [ 'example/android/app/src/main/java/com/bar/foo/flutter_project_example/MainActivity.java', - 'ios/Classes/FlutterProjectPlugin.h', + 'ios/Classes/FlutterProjectPlugin.swift', ], unexpectedPaths: [ 'example/android/app/src/main/java/com/example/flutter_project_example/MainActivity.java', 'android/src/main/java/com/example/flutter_project/FlutterProjectPlugin.java', - 'ios/flutter_project/Sources/flutter_project/include/flutter_project/FlutterProjectPlugin.h', + 'ios/flutter_project/Sources/flutter_project/include/flutter_project/FlutterProjectPlugin.swift', ], ); final FlutterProject project = FlutterProject.fromDirectory(projectDir); @@ -2137,8 +2070,6 @@ void main() { '--template=plugin', '--org', 'com.bar.foo', - '-i', - 'objc', '-a', 'java', '--platforms', @@ -2148,24 +2079,16 @@ void main() { projectDir.childDirectory('ios').deleteSync(recursive: true); await _createProject( projectDir, - [ - '--no-pub', - '--template=plugin', - '-i', - 'objc', - '-a', - 'java', - '--platforms', - 'ios,android', - ], + ['--no-pub', '--template=plugin', '-a', 'java', '--platforms', 'ios,android'], [ 'example/android/app/src/main/java/com/bar/foo/flutter_project_example/MainActivity.java', - 'ios/flutter_project/Sources/flutter_project/include/flutter_project/FlutterProjectPlugin.h', + 'ios/flutter_project/Sources/flutter_project/FlutterProjectPlugin.swift', + 'ios/flutter_project/Package.swift', ], unexpectedPaths: [ 'example/android/app/src/main/java/com/example/flutter_project_example/MainActivity.java', 'android/src/main/java/com/example/flutter_project/FlutterProjectPlugin.java', - 'ios/Classes/FlutterProjectPlugin.h', + 'ios/Classes/FlutterProjectPlugin.swift', ], ); final FlutterProject project = FlutterProject.fromDirectory(projectDir); @@ -3000,8 +2923,6 @@ void main() { '--no-pub', '--template=plugin', '--platforms=ios', - '-i', - 'objc', projectDir.path, ]); @@ -3398,14 +3319,7 @@ void main() { flutterToolsAbsolutePath, 'templates', 'plugin', - 'ios-objc.tmpl', - 'projectName.podspec.tmpl', - ), - globals.fs.path.join( - flutterToolsAbsolutePath, - 'templates', - 'plugin', - 'ios-swift.tmpl', + 'ios.tmpl', 'projectName.podspec.tmpl', ), globals.fs.path.join( diff --git a/packages/flutter_tools/test/commands.shard/permeable/devices_test.dart b/packages/flutter_tools/test/commands.shard/permeable/devices_test.dart index 4967e1455cc19..1b290b4c91b49 100644 --- a/packages/flutter_tools/test/commands.shard/permeable/devices_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/devices_test.dart @@ -64,7 +64,6 @@ void main() { 'hotReload': true, 'hotRestart': true, 'screenshot': false, - 'fastStart': false, 'flutterExit': false, 'hardwareRendering': false, 'startPaused': true, diff --git a/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart b/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart index 05d07a83b39bb..f8c86e0d7c993 100644 --- a/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/upgrade_test.dart @@ -291,9 +291,8 @@ void main() { command: ['git', 'rev-parse', '--verify', '@{upstream}'], stdout: revision, ), - const FakeCommand(command: ['git', 'tag', '--points-at', revision]), const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', revision], + command: ['git', 'tag', '--points-at', revision], stdout: version, ), ]); diff --git a/packages/flutter_tools/test/commands.shard/permeable/widget_preview/widget_preview_test.dart b/packages/flutter_tools/test/commands.shard/permeable/widget_preview/widget_preview_test.dart index 09a464632b880..c8a6f4276cb1d 100644 --- a/packages/flutter_tools/test/commands.shard/permeable/widget_preview/widget_preview_test.dart +++ b/packages/flutter_tools/test/commands.shard/permeable/widget_preview/widget_preview_test.dart @@ -21,6 +21,7 @@ import 'package:flutter_tools/src/dart/pub.dart'; import 'package:flutter_tools/src/device.dart'; import 'package:flutter_tools/src/globals.dart' as globals; import 'package:flutter_tools/src/project.dart'; +import 'package:flutter_tools/src/web/web_device.dart'; import 'package:flutter_tools/src/widget_preview/analytics.dart'; import 'package:flutter_tools/src/widget_preview/dtd_services.dart'; import 'package:flutter_tools/src/widget_preview/preview_code_generator.dart'; @@ -29,7 +30,6 @@ import 'package:unified_analytics/unified_analytics.dart'; import '../../../src/common.dart'; import '../../../src/context.dart'; -import '../../../src/fake_devices.dart'; import '../../../src/fakes.dart'; import '../../../src/test_flutter_command_runner.dart'; import '../utils/project_testing_utils.dart'; @@ -48,10 +48,49 @@ class FakeWidgetPreviewScaffoldDtdServices extends Fake implements WidgetPreview Future launchAndConnect() async {} } +class FakeGoogleChromeDevice extends Fake implements GoogleChromeDevice { + @override + Future get targetPlatform async => TargetPlatform.web_javascript; + + @override + PlatformType? get platformType => PlatformType.web; + + @override + String get displayName => GoogleChromeDevice.kChromeDeviceName; +} + +class FakeMicrosoftEdgeDevice extends Fake implements MicrosoftEdgeDevice { + @override + Future get targetPlatform async => TargetPlatform.web_javascript; + + @override + PlatformType? get platformType => PlatformType.web; + + @override + String get displayName => MicrosoftEdgeDevice.kEdgeDeviceName; +} + +class FakeCustomBrowserDevice extends Fake implements ChromiumDevice { + @override + Future get targetPlatform async => TargetPlatform.web_javascript; + + @override + PlatformType? get platformType => PlatformType.web; + + @override + String get displayName => 'Dartium'; +} + +extension on String { + String get stripScriptUris => + replaceAll(RegExp(r"scriptUri:\s*'file:\/\/\/\S*',"), "scriptUri: 'STRIPPED',"); +} + void main() { late Directory originalCwd; late Directory tempDir; late LoggingProcessManager loggingProcessManager; + late ShutdownHooks shutdownHooks; late FakeStdio mockStdio; late Logger logger; // We perform this initialization just so we can build the generated file path for test @@ -61,25 +100,31 @@ void main() { late Platform platform; late FakeDeviceManager fakeDeviceManager; late FakeAnalytics fakeAnalytics; + late FakeGoogleChromeDevice fakeGoogleChromeDevice; + late FakeMicrosoftEdgeDevice fakeMicrosoftEdgeDevice; + late FakeCustomBrowserDevice fakeCustomBrowserDevice; setUp(() async { originalCwd = globals.fs.currentDirectory; await ensureFlutterToolsSnapshot(); loggingProcessManager = LoggingProcessManager(); - logger = BufferLogger.test(); + shutdownHooks = ShutdownHooks(); + logger = WidgetPreviewMachineAwareLogger(BufferLogger.test(), machine: false, verbose: false); fs = LocalFileSystem.test(signals: Signals.test()); botDetector = const FakeBotDetector(false); tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_create_test.'); mockStdio = FakeStdio(); platform = FakePlatform.fromPlatform(const LocalPlatform()); + fakeGoogleChromeDevice = FakeGoogleChromeDevice(); + fakeMicrosoftEdgeDevice = FakeMicrosoftEdgeDevice(); + fakeCustomBrowserDevice = FakeCustomBrowserDevice(); + // Create a fake device manager which only contains a single Chrome device. - const kChromeDeviceId = 'chrome-id'; - final fakeChromeDevice = FakeDevice('chrome', kChromeDeviceId) - ..targetPlatform = Future.value(TargetPlatform.web_javascript); fakeDeviceManager = FakeDeviceManager() - ..addAttachedDevice(fakeChromeDevice) - ..specifiedDeviceId = kChromeDeviceId; + ..addAttachedDevice(fakeGoogleChromeDevice) + ..addAttachedDevice(fakeMicrosoftEdgeDevice) + ..addAttachedDevice(fakeCustomBrowserDevice); fakeAnalytics = getInitializedFakeAnalyticsInstance( fs: MemoryFileSystem.test(), @@ -93,9 +138,10 @@ void main() { Cache.flutterRoot = fs.path.absolute('..', '..'); }); - tearDown(() { + tearDown(() async { + await shutdownHooks.runShutdownHooks(logger); tryToDelete(tempDir); - fs.dispose(); + await fs.dispose(); globals.fs.currentDirectory = originalCwd; }); @@ -116,7 +162,7 @@ void main() { projectFactory: FlutterProjectFactory(logger: logger, fileSystem: fs), cache: Cache.test(processManager: loggingProcessManager, platform: platform), platform: platform, - shutdownHooks: ShutdownHooks(), + shutdownHooks: shutdownHooks, os: OperatingSystemUtils( fileSystem: fs, processManager: loggingProcessManager, @@ -143,6 +189,14 @@ void main() { void expectNoPreviewLaunchTimingEvents() => expectNPreviewLaunchTimingEvents(0); void expectSinglePreviewLaunchTimingEvent() => expectNPreviewLaunchTimingEvents(1); + void expectDeviceSelected(Device device) { + final BufferLogger bufferLogger = asLogger(logger); + expect( + bufferLogger.statusText, + contains('Launching the Widget Preview Scaffold on ${device.displayName}...'), + ); + } + Future startWidgetPreview({ required Directory? rootProject, List? arguments, @@ -269,15 +323,20 @@ import 'package:flutter/widget_previews.dart'; Widget preview() => Text('Foo');'''; const expectedGeneratedFileContents = ''' +// ignore_for_file: implementation_imports + // ignore_for_file: no_leading_underscores_for_library_prefixes import 'widget_preview.dart' as _i1; -import 'package:flutter_project/foo.dart' as _i2; +import 'utils.dart' as _i2; +import 'package:flutter_project/foo.dart' as _i3; +import 'package:flutter/src/widget_previews/widget_previews.dart' as _i4; List<_i1.WidgetPreview> previews() => [ - _i1.WidgetPreview( + _i2.buildWidgetPreview( packageName: 'flutter_project', - name: 'preview', - builder: () => _i2.preview(), + scriptUri: 'STRIPPED', + previewFunction: () => _i3.preview(), + transformedPreview: const _i4.Preview(name: 'preview').transform(), ) ]; '''; @@ -299,7 +358,7 @@ List<_i1.WidgetPreview> previews() => [ ); await startWidgetPreview(rootProject: rootProject); - expect(generatedFile.readAsStringSync(), expectedGeneratedFileContents); + expect(generatedFile.readAsStringSync().stripScriptUris, expectedGeneratedFileContents); expectSinglePreviewLaunchTimingEvent(); }, overrides: { @@ -337,7 +396,7 @@ List<_i1.WidgetPreview> previews() => [ fs.currentDirectory = rootProject; await startWidgetPreview(rootProject: null); - expect(generatedFile.readAsStringSync(), expectedGeneratedFileContents); + expect(generatedFile.readAsStringSync().stripScriptUris, expectedGeneratedFileContents); expectSinglePreviewLaunchTimingEvent(); }, overrides: { @@ -430,5 +489,83 @@ List<_i1.WidgetPreview> previews() => [ ), }, ); + + testUsingContext( + 'start exits if no web target is available.', + () async { + // Regression test for https://github.com/flutter/flutter/issues/173960. + final Directory rootProject = await createRootProject(); + await expectToolExitLater( + startWidgetPreview(rootProject: rootProject), + contains(WidgetPreviewStartCommand.kBrowserNotFoundErrorMessage), + ); + }, + overrides: { + Analytics: () => fakeAnalytics, + DeviceManager: () => fakeDeviceManager..attachedDevices.clear(), + FileSystem: () => fs, + ProcessManager: () => loggingProcessManager, + Pub: () => Pub.test( + fileSystem: fs, + logger: logger, + processManager: loggingProcessManager, + botDetector: botDetector, + platform: platform, + stdio: mockStdio, + ), + }, + ); + + testUsingContext( + 'always starts with Chrome when available.', + () async { + final Directory rootProject = await createRootProject(); + await startWidgetPreview(rootProject: rootProject); + expectDeviceSelected(fakeGoogleChromeDevice); + }, + overrides: { + Analytics: () => fakeAnalytics, + DeviceManager: () => fakeDeviceManager + ..attachedDevices.clear() + ..addAttachedDevice(fakeMicrosoftEdgeDevice) + // Register the Chrome device second to ensure we're not just grabbing the first device. + ..addAttachedDevice(fakeGoogleChromeDevice), + FileSystem: () => fs, + ProcessManager: () => loggingProcessManager, + Pub: () => Pub.test( + fileSystem: fs, + logger: logger, + processManager: loggingProcessManager, + botDetector: botDetector, + platform: platform, + stdio: mockStdio, + ), + }, + ); + + testUsingContext( + 'starts with Edge if Chrome is not available.', + () async { + final Directory rootProject = await createRootProject(); + await startWidgetPreview(rootProject: rootProject); + expectDeviceSelected(fakeMicrosoftEdgeDevice); + }, + overrides: { + Analytics: () => fakeAnalytics, + DeviceManager: () => fakeDeviceManager + ..attachedDevices.clear() + ..addAttachedDevice(fakeMicrosoftEdgeDevice), + FileSystem: () => fs, + ProcessManager: () => loggingProcessManager, + Pub: () => Pub.test( + fileSystem: fs, + logger: logger, + processManager: loggingProcessManager, + botDetector: botDetector, + platform: platform, + stdio: mockStdio, + ), + }, + ); }); } diff --git a/packages/flutter_tools/test/general.shard/android/android_project_migration_test.dart b/packages/flutter_tools/test/general.shard/android/android_project_migration_test.dart index 52f7fe5d59519..ecdda2ce33cae 100644 --- a/packages/flutter_tools/test/general.shard/android/android_project_migration_test.dart +++ b/packages/flutter_tools/test/general.shard/android/android_project_migration_test.dart @@ -118,6 +118,55 @@ dependencies {} '''; } +String sampleKotlinDslModuleGradleBuildFile(String minSdkVersionString) { + return r''' +plugins { + id("com.android.application") + id("kotlin-android") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id("dev.flutter.flutter-gradle-plugin") +} + +android { + namespace = "com.example.telasdka" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.asset_sample" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + $minSdkVersionString + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.getByName("debug") + } + } +} + +flutter { + source = "../.." +} +'''; +} + final androidStudioDolphin = Version(2021, 3, 1); const _javaVersion17 = Version.withText(17, 0, 2, 'openjdk 17.0.2'); @@ -391,8 +440,8 @@ tasks.register("clean", Delete) { }); testWithoutContext('replace when api 22', () async { - const minSdkVersion20 = 'minSdkVersion = 22'; - project.appGradleFile.writeAsStringSync(sampleModuleGradleBuildFile(minSdkVersion20)); + const minSdkVersion22 = 'minSdkVersion 22'; + project.appGradleFile.writeAsStringSync(sampleModuleGradleBuildFile(minSdkVersion22)); await migration.migrate(); expect( project.appGradleFile.readAsStringSync(), @@ -401,8 +450,8 @@ tasks.register("clean", Delete) { }); testWithoutContext('replace when api 23', () async { - const minSdkVersion20 = 'minSdk = 23'; - project.appGradleFile.writeAsStringSync(sampleModuleGradleBuildFile(minSdkVersion20)); + const minSdkVersion23 = 'minSdkVersion 23'; + project.appGradleFile.writeAsStringSync(sampleModuleGradleBuildFile(minSdkVersion23)); await migration.migrate(); expect( project.appGradleFile.readAsStringSync(), @@ -474,7 +523,50 @@ tasks.register("clean", Delete) { await migration.migrate(); expect( project.appGradleFile.readAsStringSync(), - sampleModuleGradleBuildFile(replacementMinSdkText), + sampleModuleGradleBuildFile(groovyReplacementWithEquals), + ); + }); + }); + + group('migrate min sdk versions less than 24 to flutter.minSdkVersion - kotlin dsl', () { + late MemoryFileSystem memoryFileSystem; + late BufferLogger bufferLogger; + late FakeAndroidProject project; + late MinSdkVersionMigration migration; + + setUp(() { + memoryFileSystem = MemoryFileSystem.test(); + memoryFileSystem.currentDirectory.childDirectory('android').createSync(); + bufferLogger = BufferLogger.test(); + project = FakeKotlinDslAndroidProject( + root: memoryFileSystem.currentDirectory.childDirectory('android'), + ); + project.appGradleFile.parent.createSync(recursive: true); + migration = MinSdkVersionMigration(project, bufferLogger); + }); + + testWithoutContext('do nothing when already using ' + 'flutter.minSdkVersion', () async { + project.appGradleFile.writeAsStringSync( + sampleKotlinDslModuleGradleBuildFile(kotlinReplacementMinSdkText), + ); + await migration.migrate(); + expect( + project.appGradleFile.readAsStringSync(), + sampleKotlinDslModuleGradleBuildFile(kotlinReplacementMinSdkText), + ); + }); + + testWithoutContext('migrate when minSdkVersion is set ' + 'using = syntax', () async { + const equalsSyntaxMinSdkVersion19 = 'minSdk = 19'; + project.appGradleFile.writeAsStringSync( + sampleKotlinDslModuleGradleBuildFile(equalsSyntaxMinSdkVersion19), + ); + await migration.migrate(); + expect( + project.appGradleFile.readAsStringSync(), + sampleKotlinDslModuleGradleBuildFile(kotlinReplacementMinSdkText), ); }); }); @@ -549,6 +641,13 @@ class FakeAndroidProject extends Fake implements AndroidProject { File get appGradleFile => hostAppGradleRoot.childDirectory('app').childFile('build.gradle'); } +class FakeKotlinDslAndroidProject extends FakeAndroidProject { + FakeKotlinDslAndroidProject({required super.root, super.module, super.plugin}); + + @override + File get appGradleFile => hostAppGradleRoot.childDirectory('app').childFile('build.gradle.kts'); +} + class FakeAndroidStudio extends Fake implements AndroidStudio { FakeAndroidStudio({required Version? version}) { _version = version; diff --git a/packages/flutter_tools/test/general.shard/android/gradle_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_test.dart index 7bbcf298731b3..55bc870823cb4 100644 --- a/packages/flutter_tools/test/general.shard/android/gradle_test.dart +++ b/packages/flutter_tools/test/general.shard/android/gradle_test.dart @@ -7,7 +7,6 @@ import 'package:flutter_tools/src/android/android_sdk.dart'; import 'package:flutter_tools/src/android/gradle.dart'; import 'package:flutter_tools/src/android/gradle_utils.dart' as gradle_utils; import 'package:flutter_tools/src/artifacts.dart'; -import 'package:flutter_tools/src/base/common.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; @@ -571,70 +570,6 @@ flutter: }); }); - group('gradle version', () { - testWithoutContext('should be compatible with the Android plugin version', () { - // Granular versions. - expect(gradle_utils.getGradleVersionFor('1.0.0'), '2.3'); - expect(gradle_utils.getGradleVersionFor('1.0.1'), '2.3'); - expect(gradle_utils.getGradleVersionFor('1.0.2'), '2.3'); - expect(gradle_utils.getGradleVersionFor('1.0.4'), '2.3'); - expect(gradle_utils.getGradleVersionFor('1.0.8'), '2.3'); - expect(gradle_utils.getGradleVersionFor('1.1.0'), '2.3'); - expect(gradle_utils.getGradleVersionFor('1.1.2'), '2.3'); - expect(gradle_utils.getGradleVersionFor('1.1.2'), '2.3'); - expect(gradle_utils.getGradleVersionFor('1.1.3'), '2.3'); - // Version Ranges. - expect(gradle_utils.getGradleVersionFor('1.2.0'), '2.9'); - expect(gradle_utils.getGradleVersionFor('1.3.1'), '2.9'); - - expect(gradle_utils.getGradleVersionFor('1.5.0'), '2.2.1'); - - expect(gradle_utils.getGradleVersionFor('2.0.0'), '2.13'); - expect(gradle_utils.getGradleVersionFor('2.1.2'), '2.13'); - - expect(gradle_utils.getGradleVersionFor('2.1.3'), '2.14.1'); - expect(gradle_utils.getGradleVersionFor('2.2.3'), '2.14.1'); - - expect(gradle_utils.getGradleVersionFor('2.3.0'), '3.3'); - - expect(gradle_utils.getGradleVersionFor('3.0.0'), '4.1'); - - expect(gradle_utils.getGradleVersionFor('3.1.0'), '4.4'); - - expect(gradle_utils.getGradleVersionFor('3.2.0'), '4.6'); - expect(gradle_utils.getGradleVersionFor('3.2.1'), '4.6'); - - expect(gradle_utils.getGradleVersionFor('3.3.0'), '4.10.2'); - expect(gradle_utils.getGradleVersionFor('3.3.2'), '4.10.2'); - - expect(gradle_utils.getGradleVersionFor('3.4.0'), '5.6.2'); - expect(gradle_utils.getGradleVersionFor('3.5.0'), '5.6.2'); - - expect(gradle_utils.getGradleVersionFor('4.0.0'), '6.7'); - expect(gradle_utils.getGradleVersionFor('4.1.0'), '6.7'); - - expect(gradle_utils.getGradleVersionFor('7.0'), '7.5'); - expect(gradle_utils.getGradleVersionFor('7.1.2'), '7.5'); - expect(gradle_utils.getGradleVersionFor('7.2'), '7.5'); - expect(gradle_utils.getGradleVersionFor('8.0'), '8.0'); - expect(gradle_utils.getGradleVersionFor('8.1'), '8.0'); - expect(gradle_utils.getGradleVersionFor('8.2'), '8.2'); - expect(gradle_utils.getGradleVersionFor('8.3'), '8.4'); - expect(gradle_utils.getGradleVersionFor('8.4'), '8.6'); - expect(gradle_utils.getGradleVersionFor('8.5'), '8.7'); - expect(gradle_utils.getGradleVersionFor('8.7'), '8.9'); - expect(gradle_utils.getGradleVersionFor('8.8'), '8.10.2'); - expect(gradle_utils.getGradleVersionFor(gradle_utils.maxKnownAgpVersion), '8.11.1'); - }); - - testWithoutContext('throws on unsupported versions', () { - expect( - () => gradle_utils.getGradleVersionFor('3.6.0'), - throwsA(predicate((Exception e) => e is ToolExit)), - ); - }); - }); - group('isAppUsingAndroidX', () { late FileSystem fs; diff --git a/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart b/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart index 0737d0231e7ca..a378d8d6682e7 100644 --- a/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart +++ b/packages/flutter_tools/test/general.shard/android/gradle_utils_test.dart @@ -4,6 +4,7 @@ import 'package:file/memory.dart'; import 'package:flutter_tools/src/android/gradle_utils.dart'; +import 'package:flutter_tools/src/base/common.dart' show ToolExit; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; @@ -674,12 +675,16 @@ dependencies { final testData = [ // Values too new *these need to be updated* when // max known gradle and max known agp versions are updated: - // Newer tools version supports max gradle version. - GradleAgpTestData(true, agpVersion: '8.2', gradleVersion: '8.0'), - // Newer tools version does not even meet current gradle version requirements. - GradleAgpTestData(false, agpVersion: '8.2', gradleVersion: '7.3'), - // Newer tools version requires newer gradle version. - GradleAgpTestData(true, agpVersion: '8.3', gradleVersion: '8.1'), + // Newer AGP version supports max gradle version. + GradleAgpTestData( + true, + agpVersion: '9.1', + gradleVersion: maxKnownAndSupportedGradleVersion, + ), + // Newer AGP version does not even meet current gradle version requirements. + GradleAgpTestData(false, agpVersion: '9.1', gradleVersion: '7.3'), + // Newer AGP version requires newer gradle version. + GradleAgpTestData(true, agpVersion: '9.1', gradleVersion: '9.1'), // Template versions of Gradle/AGP. GradleAgpTestData( @@ -695,6 +700,18 @@ dependencies { // Minimums as defined in // https://developer.android.com/studio/releases/gradle-plugin#updating-gradle + GradleAgpTestData(true, agpVersion: '9.0', gradleVersion: '9.0.0'), + GradleAgpTestData(true, agpVersion: '8.13', gradleVersion: '8.13'), + GradleAgpTestData(true, agpVersion: '8.12', gradleVersion: '8.13'), + GradleAgpTestData(true, agpVersion: '8.11', gradleVersion: '8.13'), + GradleAgpTestData(true, agpVersion: '8.10', gradleVersion: '8.11.1'), + GradleAgpTestData(true, agpVersion: '8.9', gradleVersion: '8.11.1'), + GradleAgpTestData(true, agpVersion: '8.8', gradleVersion: '8.10.2'), + GradleAgpTestData(true, agpVersion: '8.7', gradleVersion: '8.9'), + GradleAgpTestData(true, agpVersion: '8.5', gradleVersion: '8.7'), + GradleAgpTestData(true, agpVersion: '8.4', gradleVersion: '8.6'), + GradleAgpTestData(true, agpVersion: '8.3', gradleVersion: '8.4'), + GradleAgpTestData(true, agpVersion: '8.2', gradleVersion: '8.2'), GradleAgpTestData(true, agpVersion: '8.1', gradleVersion: '8.0'), GradleAgpTestData(true, agpVersion: '8.0', gradleVersion: '8.0'), GradleAgpTestData(true, agpVersion: '7.4', gradleVersion: '7.5'), @@ -736,6 +753,19 @@ dependencies { GradleAgpTestData(true, agpVersion: '3.3.1', gradleVersion: '4.10.1'), // Higher gradle cases: + GradleAgpTestData(true, agpVersion: '9.0', gradleVersion: '9.0.0'), + GradleAgpTestData(true, agpVersion: '8.13', gradleVersion: '8.14'), + GradleAgpTestData(true, agpVersion: '8.12', gradleVersion: '9.0'), + GradleAgpTestData(true, agpVersion: '8.11', gradleVersion: '8.14'), + GradleAgpTestData(true, agpVersion: '8.10', gradleVersion: '8.13'), + GradleAgpTestData(true, agpVersion: '8.9', gradleVersion: '8.13'), + GradleAgpTestData(true, agpVersion: '8.8', gradleVersion: '8.11.1'), + GradleAgpTestData(true, agpVersion: '8.7', gradleVersion: '8.10'), + GradleAgpTestData(true, agpVersion: '8.5', gradleVersion: '8.8'), + GradleAgpTestData(true, agpVersion: '8.4', gradleVersion: '8.7'), + GradleAgpTestData(true, agpVersion: '8.3', gradleVersion: '8.5'), + GradleAgpTestData(true, agpVersion: '8.2', gradleVersion: '8.3'), + GradleAgpTestData(true, agpVersion: '8.1', gradleVersion: '8.1'), GradleAgpTestData(true, agpVersion: '7.4', gradleVersion: '8.0'), GradleAgpTestData(true, agpVersion: '7.3', gradleVersion: '7.5'), GradleAgpTestData(true, agpVersion: '7.2', gradleVersion: '7.4'), @@ -1131,6 +1161,9 @@ pluginManagement { JavaGradleTestData(true, javaVersion: '1.10', gradleVersion: '5.4'), JavaGradleTestData(true, javaVersion: '1.9', gradleVersion: '5.0'), JavaGradleTestData(true, javaVersion: '1.8', gradleVersion: '4.3'), + // https://github.com/flutter/flutter/issues/175669 + JavaGradleTestData(true, javaVersion: '17.0.15', gradleVersion: '8.13'), + JavaGradleTestData(true, javaVersion: '21.0.7', gradleVersion: '8.13'), ]; for (final data in testData) { @@ -1221,19 +1254,43 @@ allprojects { JavaAgpTestData(false, javaVersion: '1.8', agpVersion: '4.1'), JavaAgpTestData(false, javaVersion: '1.8', agpVersion: '2.3'), // Strictly too new Java versions for defined AGP versions. - JavaAgpTestData(true, javaVersion: '18', agpVersion: '8.1'), - JavaAgpTestData(true, javaVersion: '18', agpVersion: '7.4'), JavaAgpTestData(true, javaVersion: '18', agpVersion: '4.2'), + JavaAgpTestData(true, javaVersion: '11', agpVersion: '4.2.0'), + JavaAgpTestData(true, javaVersion: '12', agpVersion: '7.0'), + JavaAgpTestData(true, javaVersion: '13', agpVersion: '7.1.3'), + JavaAgpTestData(true, javaVersion: '14', agpVersion: '7.2.2'), + JavaAgpTestData(true, javaVersion: '17', agpVersion: '7.3'), + JavaAgpTestData(true, javaVersion: '18', agpVersion: '7.4'), + JavaAgpTestData(true, javaVersion: '19', agpVersion: '8.0'), + JavaAgpTestData(true, javaVersion: '19', agpVersion: '8.1'), + JavaAgpTestData(true, javaVersion: '19', agpVersion: '8.2'), + JavaAgpTestData(true, javaVersion: '20', agpVersion: '8.3'), + JavaAgpTestData(true, javaVersion: '21', agpVersion: '8.4'), + JavaAgpTestData(true, javaVersion: '21', agpVersion: '8.5'), + JavaAgpTestData(true, javaVersion: '21', agpVersion: '8.6'), + JavaAgpTestData(true, javaVersion: '22', agpVersion: '8.7'), + JavaAgpTestData(true, javaVersion: '23', agpVersion: '8.8'), + JavaAgpTestData(true, javaVersion: '23', agpVersion: '8.9'), + JavaAgpTestData(true, javaVersion: '23', agpVersion: '8.10'), + JavaAgpTestData(true, javaVersion: '23', agpVersion: '8.11'), + JavaAgpTestData(true, javaVersion: '23', agpVersion: '8.12'), + JavaAgpTestData(true, javaVersion: '23', agpVersion: '8.13'), + JavaAgpTestData(true, javaVersion: '25', agpVersion: '9.0'), // Strictly too new AGP versions. // *The tests that follow need to be updated* when max supported AGP versions are updated: - JavaAgpTestData(false, javaVersion: '24', agpVersion: '9.0'), - JavaAgpTestData(false, javaVersion: '20', agpVersion: '9.0'), - JavaAgpTestData(false, javaVersion: '17', agpVersion: '9.0'), + JavaAgpTestData(false, javaVersion: '26', agpVersion: '10.0'), + JavaAgpTestData(false, javaVersion: '21', agpVersion: '10.0'), + JavaAgpTestData(true, javaVersion: '25', agpVersion: maxKnownAndSupportedAgpVersion), // Java 17 & patch versions compatibility cases // *The tests that follow need to be updated* when maxKnownAndSupportedAgpVersion is // updated: - JavaAgpTestData(false, javaVersion: '17', agpVersion: '9.0'), JavaAgpTestData(true, javaVersion: '17', agpVersion: maxKnownAndSupportedAgpVersion), + JavaAgpTestData(true, javaVersion: '17', agpVersion: '9.0'), + JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.13'), + JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.12'), + JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.11'), + JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.10'), + JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.9.1'), JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.8'), JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.7'), JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.6'), @@ -1243,8 +1300,8 @@ allprojects { JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.1'), JavaAgpTestData(true, javaVersion: '17', agpVersion: '8.0'), JavaAgpTestData(true, javaVersion: '17', agpVersion: '7.4'), - JavaAgpTestData(false, javaVersion: '17.0.3', agpVersion: '9.0'), - JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: maxKnownAndSupportedAgpVersion), + JavaAgpTestData(false, javaVersion: '17.0.3', agpVersion: '10.0'), + JavaAgpTestData(true, javaVersion: '25', agpVersion: maxKnownAndSupportedAgpVersion), JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '8.8'), JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '8.7'), JavaAgpTestData(true, javaVersion: '17.0.3', agpVersion: '8.6'), @@ -1273,6 +1330,27 @@ allprojects { javaVersion: '1.8', agpVersion: oldestDocumentedJavaAgpCompatibilityVersion, ), // agpVersion = 4.2 + // Java versions too old for the AGP versions + JavaAgpTestData(false, javaVersion: '1.8', agpVersion: '7.0'), + JavaAgpTestData(false, javaVersion: '1.8', agpVersion: '7.1.3'), + JavaAgpTestData(false, javaVersion: '1.8', agpVersion: '7.2.2'), + JavaAgpTestData(false, javaVersion: '1.8', agpVersion: '7.3'), + JavaAgpTestData(false, javaVersion: '1.8', agpVersion: '7.4'), + JavaAgpTestData(false, javaVersion: '12', agpVersion: '8.0'), + JavaAgpTestData(false, javaVersion: '13', agpVersion: '8.1'), + JavaAgpTestData(false, javaVersion: '14', agpVersion: '8.2'), + JavaAgpTestData(false, javaVersion: '15', agpVersion: '8.3'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.4'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.5'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.6'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.7'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.8'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.9'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.10'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.11'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.12'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '8.13'), + JavaAgpTestData(false, javaVersion: '16', agpVersion: '9.0'), JavaAgpTestData(false, javaVersion: '1.8', agpVersion: '4.1'), // Null value cases // ignore: avoid_redundant_argument_values @@ -1288,12 +1366,80 @@ allprojects { expect( validateJavaAndAgp(BufferLogger.test(), javaV: data.javaVersion, agpV: data.agpVersion), data.validPair ? isTrue : isFalse, - reason: 'J: ${data.javaVersion}, G: ${data.agpVersion}', + reason: 'J: ${data.javaVersion}, AGP: ${data.agpVersion}', ); }); } }); + group('gradle version', () { + testWithoutContext('should be compatible with the Android plugin version', () { + // Granular versions. + expect(getGradleVersionFor('1.0.0'), '2.3'); + expect(getGradleVersionFor('1.0.1'), '2.3'); + expect(getGradleVersionFor('1.0.2'), '2.3'); + expect(getGradleVersionFor('1.0.4'), '2.3'); + expect(getGradleVersionFor('1.0.8'), '2.3'); + expect(getGradleVersionFor('1.1.0'), '2.3'); + expect(getGradleVersionFor('1.1.2'), '2.3'); + expect(getGradleVersionFor('1.1.2'), '2.3'); + expect(getGradleVersionFor('1.1.3'), '2.3'); + // Version Ranges. + expect(getGradleVersionFor('1.2.0'), '2.9'); + expect(getGradleVersionFor('1.3.1'), '2.9'); + + expect(getGradleVersionFor('1.5.0'), '2.2.1'); + + expect(getGradleVersionFor('2.0.0'), '2.13'); + expect(getGradleVersionFor('2.1.2'), '2.13'); + + expect(getGradleVersionFor('2.1.3'), '2.14.1'); + expect(getGradleVersionFor('2.2.3'), '2.14.1'); + + expect(getGradleVersionFor('2.3.0'), '3.3'); + + expect(getGradleVersionFor('3.0.0'), '4.1'); + + expect(getGradleVersionFor('3.1.0'), '4.4'); + + expect(getGradleVersionFor('3.2.0'), '4.6'); + expect(getGradleVersionFor('3.2.1'), '4.6'); + + expect(getGradleVersionFor('3.3.0'), '4.10.2'); + expect(getGradleVersionFor('3.3.2'), '4.10.2'); + + expect(getGradleVersionFor('3.4.0'), '5.6.2'); + expect(getGradleVersionFor('3.5.0'), '5.6.2'); + + expect(getGradleVersionFor('4.0.0'), '6.7'); + expect(getGradleVersionFor('4.1.0'), '6.7'); + + expect(getGradleVersionFor('7.0'), '7.5'); + expect(getGradleVersionFor('7.1.2'), '7.5'); + expect(getGradleVersionFor('7.2'), '7.5'); + expect(getGradleVersionFor('8.0'), '8.0'); + expect(getGradleVersionFor('8.1'), '8.0'); + expect(getGradleVersionFor('8.2'), '8.2'); + expect(getGradleVersionFor('8.3'), '8.4'); + expect(getGradleVersionFor('8.4'), '8.6'); + expect(getGradleVersionFor('8.5'), '8.7'); + expect(getGradleVersionFor('8.7'), '8.9'); + expect(getGradleVersionFor('8.8'), '8.10.2'); + expect(getGradleVersionFor('8.9'), '8.11.1'); + expect(getGradleVersionFor('8.10'), '8.11.1'); + expect(getGradleVersionFor('8.11'), '8.13'); + expect(getGradleVersionFor('8.12'), '8.13'); + expect(getGradleVersionFor('8.13'), '8.13'); + expect(getGradleVersionFor('9.0'), '9.0.0'); + }); + + testWithoutContext('throws on unsupported versions', () { + expect( + () => getGradleVersionFor('3.6.0'), + throwsA(predicate((Exception e) => e is ToolExit)), + ); + }); + }); group('detecting valid Gradle/AGP versions for given Java version and vice versa', () { testWithoutContext( 'getValidGradleVersionRangeForJavaVersion returns valid Gradle version range for Java version', @@ -1309,110 +1455,75 @@ allprojects { ); // Maximum known Java version. // *The test case that follows needs to be updated* when higher versions of Java are supported: + expect( + getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '26'), + allOf( + equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '26.0.2')), + isNull, + ), + ); + // Known supported Java versions. + expect( + getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '25'), + allOf( + equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '25.0.2')), + equals(const JavaGradleCompat(javaMin: '25', javaMax: '26', gradleMin: '9.1.0')), + ), + ); expect( getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '24'), allOf( equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '24.0.2')), - isNull, + equals(const JavaGradleCompat(javaMin: '24', javaMax: '25', gradleMin: '8.14')), ), ); expect( getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '23'), allOf( equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '23.0.2')), - equals( - const JavaGradleCompat( - javaMin: '23', - javaMax: '24', - gradleMin: '8.10', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - ), + equals(const JavaGradleCompat(javaMin: '23', javaMax: '24', gradleMin: '8.10')), ), ); - // Known supported Java versions. expect( getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '22'), allOf( equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '22.0.2')), - equals( - const JavaGradleCompat( - javaMin: '22', - javaMax: '23', - gradleMin: '8.7', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - ), + equals(const JavaGradleCompat(javaMin: '22', javaMax: '23', gradleMin: '8.7')), ), ); expect( getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '21'), allOf( equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '21.0.2')), - equals( - const JavaGradleCompat( - javaMin: '21', - javaMax: '22', - gradleMin: '8.4', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - ), + equals(const JavaGradleCompat(javaMin: '21', javaMax: '22', gradleMin: '8.4')), ), ); expect( getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '20'), allOf( equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '20.0.2')), - equals( - const JavaGradleCompat( - javaMin: '20', - javaMax: '21', - gradleMin: '8.1', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - ), + equals(const JavaGradleCompat(javaMin: '20', javaMax: '21', gradleMin: '8.1')), ), ); expect( getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '19'), allOf( equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '19.0.2')), - equals( - const JavaGradleCompat( - javaMin: '19', - javaMax: '20', - gradleMin: '7.6', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - ), + equals(const JavaGradleCompat(javaMin: '19', javaMax: '20', gradleMin: '7.6')), ), ); expect( getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '18'), allOf( equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '18.0.2')), - equals( - const JavaGradleCompat( - javaMin: '18', - javaMax: '19', - gradleMin: '7.5', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - ), + equals(const JavaGradleCompat(javaMin: '18', javaMax: '19', gradleMin: '7.5')), ), ); expect( getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '17'), allOf( equals(getValidGradleVersionRangeForJavaVersion(testLogger, javaV: '17.0.2')), - equals( - const JavaGradleCompat( - javaMin: '17', - javaMax: '18', - gradleMin: '7.3', - gradleMax: maxKnownAndSupportedGradleVersion, - ), - ), + equals(const JavaGradleCompat(javaMin: '17', javaMax: '18', gradleMin: '7.3')), ), ); expect( @@ -1646,53 +1757,79 @@ allprojects { ); // Strictly too new Gradle and AGP versions. expect( - getJavaVersionFor(gradleV: '8.13', agpV: '9.0'), + getJavaVersionFor(gradleV: '9.10', agpV: '10.0'), equals(const VersionRange(null, null)), ); // Strictly too new Gradle version and maximum version of AGP. //*This test case will need its expected Java range updated when a new version of AGP is supported.* expect( - getJavaVersionFor(gradleV: '8.13', agpV: maxKnownAndSupportedAgpVersion), + getJavaVersionFor(gradleV: '9.10', agpV: maxKnownAndSupportedAgpVersion), equals(const VersionRange('17', null)), ); // Strictly too new AGP version and maximum version of Gradle. //*This test case will need its expected Java range updated when a new version of Gradle is supported.* expect( - getJavaVersionFor(gradleV: maxKnownAndSupportedGradleVersion, agpV: '9.0'), - equals(const VersionRange(null, '24')), - ); - // Tests with a known compatible Gradle/AGP version pair. - expect( - getJavaVersionFor(gradleV: '7.0', agpV: '7.2'), - equals(const VersionRange('11', '17')), - ); - expect( - getJavaVersionFor(gradleV: '7.1', agpV: '7.2'), - equals(const VersionRange('11', '17')), - ); - expect( - getJavaVersionFor(gradleV: '7.2.2', agpV: '7.2'), - equals(const VersionRange('11', '17')), - ); - expect( - getJavaVersionFor(gradleV: '7.1', agpV: '7.0'), - equals(const VersionRange('11', '17')), - ); - expect( - getJavaVersionFor(gradleV: '7.1', agpV: '7.2'), - equals(const VersionRange('11', '17')), - ); - expect( - getJavaVersionFor(gradleV: '7.1', agpV: '7.4'), - equals(const VersionRange('11', '17')), + getJavaVersionFor(gradleV: maxKnownAndSupportedGradleVersion, agpV: '10.0'), + equals(const VersionRange(null, oneMajorVersionHigherJavaVersion)), ); + }); + // Tests with a known compatible Gradle/AGP version pair. + final List<({String agpV, String gradleV, VersionRange expected})> agpGradleData = [ + (agpV: '4.2.0', gradleV: '6.7.1', expected: const VersionRange('1.8', '16')), + (agpV: '4.2.0', gradleV: '7.0', expected: const VersionRange('1.8', '17')), + (agpV: '4.2.0', gradleV: '8.0', expected: const VersionRange('1.8', '20')), + (agpV: '4.2.0', gradleV: '8.5', expected: const VersionRange('1.8', '22')), + (agpV: '4.2.0', gradleV: '8.9.1', expected: const VersionRange('1.8', '23')), + (agpV: '4.2.0', gradleV: '8.11', expected: const VersionRange('1.8', '24')), + (agpV: '4.2.0', gradleV: '8.13', expected: const VersionRange('1.8', '24')), + (agpV: '7.0', gradleV: '7.1', expected: const VersionRange('11', '17')), + (agpV: '7.2', gradleV: '7.0', expected: const VersionRange('11', '17')), + (agpV: '7.2', gradleV: '7.1', expected: const VersionRange('11', '17')), + (agpV: '7.4', gradleV: '7.1', expected: const VersionRange('11', '17')), + (agpV: '7.4', gradleV: '7.5', expected: const VersionRange('11', '19')), + (agpV: '7.4', gradleV: '8.0', expected: const VersionRange('11', '20')), + (agpV: '7.4', gradleV: '8.4', expected: const VersionRange('11', '22')), + (agpV: '7.4', gradleV: '8.9.1', expected: const VersionRange('11', '23')), + (agpV: '7.4', gradleV: '8.10', expected: const VersionRange('11', '24')), + (agpV: '7.4', gradleV: '8.12', expected: const VersionRange('11', '24')), + (agpV: '7.4', gradleV: '8.14', expected: const VersionRange('11', '25')), + (agpV: '8.0', gradleV: '8.0', expected: const VersionRange('17', '20')), + (agpV: '8.0', gradleV: '8.4', expected: const VersionRange('17', '22')), + (agpV: '8.0', gradleV: '8.9.1', expected: const VersionRange('17', '23')), + (agpV: '8.0', gradleV: '8.10', expected: const VersionRange('17', '24')), + (agpV: '8.0', gradleV: '8.12', expected: const VersionRange('17', '24')), + (agpV: '8.0', gradleV: '8.14', expected: const VersionRange('17', '25')), + (agpV: '8.1', gradleV: '8.4', expected: const VersionRange('17', '22')), + (agpV: '8.1', gradleV: '8.7', expected: const VersionRange('17', '23')), + (agpV: '8.9.1', gradleV: '8.11.1', expected: const VersionRange('17', '24')), + (agpV: '8.9.1', gradleV: '8.12', expected: const VersionRange('17', '24')), + (agpV: '8.9.1', gradleV: '8.13', expected: const VersionRange('17', '24')), + (agpV: '9.0', gradleV: '9.0', expected: const VersionRange('17', '25')), + // Granular versions. + (agpV: '8.0.1', gradleV: '8.1.1', expected: const VersionRange('17', '21')), + (agpV: '7.2', gradleV: '7.2.2', expected: const VersionRange('11', '17')), + ]; + for (final data in agpGradleData) { + testWithoutContext('for AGP ${data.agpV}, gradle ${data.gradleV}', () { + expect(getJavaVersionFor(agpV: data.agpV, gradleV: data.gradleV), data.expected); + }); + } + testWithoutContext('for agp/gradle', () { + // Max values expect( - getJavaVersionFor(gradleV: '8.4', agpV: '8.1'), - equals(const VersionRange('17', '22')), + getJavaVersionFor( + agpV: maxKnownAndSupportedAgpVersion, + gradleV: maxKnownAndSupportedGradleVersion, + ).versionMin, + '17', ); + // Template versions. expect( - getJavaVersionFor(gradleV: '8.7', agpV: '8.1'), - equals(const VersionRange('17', '23')), + getJavaVersionFor( + agpV: templateAndroidGradlePluginVersion, + gradleV: templateAndroidGradlePluginVersion, + ).versionMin, + '17', ); }); }); diff --git a/packages/flutter_tools/test/general.shard/asset_bundle_test.dart b/packages/flutter_tools/test/general.shard/asset_bundle_test.dart index 4edbc1b89cb97..fcb8031c4be76 100644 --- a/packages/flutter_tools/test/general.shard/asset_bundle_test.dart +++ b/packages/flutter_tools/test/general.shard/asset_bundle_test.dart @@ -477,97 +477,84 @@ flutter: }); group('AssetBundle.build', () { - testWithoutContext( - 'throws ToolExit when directory entry contains invalid characters (Windows only)', - () async { - final fileSystem = MemoryFileSystem(style: FileSystemStyle.windows); - final logger = BufferLogger.test(); - final platform = FakePlatform(operatingSystem: 'windows'); - final String flutterRoot = Cache.defaultFlutterRoot( - platform: platform, - fileSystem: fileSystem, - userMessages: UserMessages(), - ); + testWithoutContext('throws ToolExit when directory entry has an invalid scheme', () async { + final fileSystem = MemoryFileSystem(style: FileSystemStyle.windows); + final logger = BufferLogger.test(); + final platform = FakePlatform(operatingSystem: 'windows'); + final String flutterRoot = Cache.defaultFlutterRoot( + platform: platform, + fileSystem: fileSystem, + userMessages: UserMessages(), + ); - writePackageConfigFiles(directory: fileSystem.currentDirectory, mainLibName: 'my_app'); - fileSystem.file('pubspec.yaml') - ..createSync() - ..writeAsStringSync(r''' + writePackageConfigFiles(directory: fileSystem.currentDirectory, mainLibName: 'my_app'); + fileSystem.file('pubspec.yaml') + ..createSync() + ..writeAsStringSync(r''' name: my_app flutter: assets: - https://mywebsite.com/images/ '''); - final bundle = ManifestAssetBundle( - logger: logger, - fileSystem: fileSystem, - platform: platform, - flutterRoot: flutterRoot, - ); + final bundle = ManifestAssetBundle( + logger: logger, + fileSystem: fileSystem, + platform: platform, + flutterRoot: flutterRoot, + ); - expect( - () => bundle.build( - packageConfigPath: '.dart_tool/package_config.json', - flutterProject: FlutterProject.fromDirectoryTest(fileSystem.currentDirectory), - ), - throwsToolExit( - message: - 'Unable to search for asset files in directory path "https%3A//mywebsite.com/images/". ' - 'Please ensure that this entry in pubspec.yaml is a valid file path.\n' - 'Error details:\n' - 'Unsupported operation: Illegal character in path: https:', - ), - ); - }, - ); + expect( + () => bundle.build( + packageConfigPath: '.dart_tool/package_config.json', + flutterProject: FlutterProject.fromDirectoryTest(fileSystem.currentDirectory), + ), + throwsToolExit( + message: + 'Asset path "https://mywebsite.com/images/" has scheme "https" and is not a valid ' + 'file or directory path. Please update this entry in the pubspec.yaml to point to a ' + 'valid file path.', + ), + ); + }); - testWithoutContext( - 'throws ToolExit when file entry contains invalid characters (Windows only)', - () async { - final FileSystem fileSystem = MemoryFileSystem( - style: FileSystemStyle.windows, - opHandle: (String context, FileSystemOp operation) { - if (operation == FileSystemOp.exists && context == r'C:\http:\\website.com') { - throw const FileSystemException( - r"FileSystemException: Exists failed, path = 'C:\http:\\website.com' " - '(OS Error: The filename, directory name, or volume label syntax is ' - 'incorrect., errno = 123)', - ); - } - }, - ); - final logger = BufferLogger.test(); - final platform = FakePlatform(operatingSystem: 'windows'); - final String flutterRoot = Cache.defaultFlutterRoot( - platform: platform, - fileSystem: fileSystem, - userMessages: UserMessages(), - ); - writePackageConfigFiles(directory: fileSystem.currentDirectory, mainLibName: 'my_app'); - fileSystem.file('pubspec.yaml') - ..createSync() - ..writeAsStringSync(r''' + testWithoutContext('throws ToolExit when file entry has an invalid scheme', () async { + final FileSystem fileSystem = MemoryFileSystem(style: FileSystemStyle.windows); + final logger = BufferLogger.test(); + final platform = FakePlatform(operatingSystem: 'windows'); + final String flutterRoot = Cache.defaultFlutterRoot( + platform: platform, + fileSystem: fileSystem, + userMessages: UserMessages(), + ); + writePackageConfigFiles(directory: fileSystem.currentDirectory, mainLibName: 'my_app'); + fileSystem.file('pubspec.yaml') + ..createSync() + ..writeAsStringSync(r''' name: example flutter: assets: - http://website.com/hi.png '''); - final bundle = ManifestAssetBundle( - logger: logger, - fileSystem: fileSystem, - platform: platform, - flutterRoot: flutterRoot, - ); + final bundle = ManifestAssetBundle( + logger: logger, + fileSystem: fileSystem, + platform: platform, + flutterRoot: flutterRoot, + ); - expect( - () => bundle.build( - packageConfigPath: '.dart_tool/package_config.json', - flutterProject: FlutterProject.fromDirectoryTest(fileSystem.currentDirectory), - ), - throwsToolExit(message: 'Unable to check the existence of asset file '), - ); - }, - ); + expect( + () => bundle.build( + packageConfigPath: '.dart_tool/package_config.json', + flutterProject: FlutterProject.fromDirectoryTest(fileSystem.currentDirectory), + ), + throwsToolExit( + message: + 'Asset path "http://website.com/hi.png" has scheme "http" and is not a valid ' + 'file or directory path. Please update this entry in the pubspec.yaml to point to a ' + 'valid file path.', + ), + ); + }); testWithoutContext( "AssetBundleEntry::content::isModified is true when an asset's transformers change in between builds", @@ -1017,26 +1004,30 @@ flutter: materialDir.childFile(shader).createSync(recursive: true); } - (globals.processManager as FakeProcessManager).addCommand( - FakeCommand( - command: [ - impellerc, - '--sksl', - '--iplr', - '--json', - '--sl=${fileSystem.path.join(output.path, 'shaders', 'ink_sparkle.frag')}', - '--spirv=${fileSystem.path.join(output.path, 'shaders', 'ink_sparkle.frag.spirv')}', - '--input=${fileSystem.path.join(materialDir.path, 'shaders', 'ink_sparkle.frag')}', - '--input-type=frag', - '--include=${fileSystem.path.join(materialDir.path, 'shaders')}', - '--include=$shaderLibDir', - ], - onRun: (_) { - fileSystem.file(outputPath).createSync(recursive: true); - fileSystem.file('$outputPath.spirv').createSync(recursive: true); - }, - ), - ); + final testShaders = ['ink_sparkle.frag', 'stretch_effect.frag']; + + for (final shader in testShaders) { + (globals.processManager as FakeProcessManager).addCommand( + FakeCommand( + command: [ + impellerc, + '--sksl', + '--iplr', + '--json', + '--sl=${fileSystem.path.join(output.path, 'shaders', shader)}', + '--spirv=${fileSystem.path.join(output.path, 'shaders', '$shader.spirv')}', + '--input=${fileSystem.path.join(materialDir.path, 'shaders', shader)}', + '--input-type=frag', + '--include=${fileSystem.path.join(materialDir.path, 'shaders')}', + '--include=$shaderLibDir', + ], + onRun: (_) { + fileSystem.file(outputPath).createSync(recursive: true); + fileSystem.file('$outputPath.spirv').createSync(recursive: true); + }, + ), + ); + } fileSystem.file('pubspec.yaml') ..createSync() @@ -1354,4 +1345,105 @@ flutter: Platform: () => FakePlatform(), }, ); + + group('reports error for absolute paths', () { + Future testCase({ + required String pubspecContents, + required Uri assetPath, + required FileSystem fileSystem, + required Platform platform, + }) async { + final logger = BufferLogger.test(); + expect(pubspecContents, contains(assetPath.toString())); + final String flutterRoot = Cache.defaultFlutterRoot( + platform: platform, + fileSystem: fileSystem, + userMessages: UserMessages(), + ); + writePackageConfigFiles(directory: fileSystem.currentDirectory, mainLibName: 'my_app'); + fileSystem.file('pubspec.yaml') + ..createSync() + ..writeAsStringSync(pubspecContents); + + final bundle = ManifestAssetBundle( + logger: logger, + fileSystem: fileSystem, + platform: platform, + flutterRoot: flutterRoot, + ); + expect( + () => bundle.build( + packageConfigPath: '.dart_tool/package_config.json', + flutterProject: FlutterProject.fromDirectoryTest(fileSystem.currentDirectory), + ), + throwsToolExit( + message: + 'is not a valid asset path. Asset paths must be relative to the location of ' + 'pubspec.yaml. Please update this entry in the pubspec.yaml to use a relative path.', + ), + ); + } + + for (final platform in [ + FakePlatform(), + FakePlatform(operatingSystem: 'windows'), + ]) { + group('on ${platform.isWindows ? 'Windows' : 'POSIX'} for', () { + final FileSystem fileSystem = MemoryFileSystem( + style: platform.isWindows ? FileSystemStyle.windows : FileSystemStyle.posix, + ); + fileSystem.currentDirectory = fileSystem.systemTempDirectory; + final assetPath = Uri.file( + platform.isWindows ? r'c:\asset\path.json' : '/asset/path.json', + windows: platform.isWindows, + ); + testWithoutContext('standard assets', () async { + await testCase( + pubspecContents: + ''' +name: my_app +flutter: + assets: + - $assetPath +''', + assetPath: assetPath, + fileSystem: fileSystem, + platform: platform, + ); + }); + + testWithoutContext('font assets', () async { + await testCase( + pubspecContents: + ''' +name: my_app +flutter: + fonts: + - family: Foo + fonts: + - asset: $assetPath +''', + assetPath: assetPath, + fileSystem: fileSystem, + platform: platform, + ); + }); + + testWithoutContext('shader assets', () async { + await testCase( + pubspecContents: + ''' +name: my_app +flutter: + shaders: + - $assetPath +''', + assetPath: assetPath, + fileSystem: fileSystem, + platform: platform, + ); + }); + }); + } + }); } diff --git a/packages/flutter_tools/test/general.shard/asset_test.dart b/packages/flutter_tools/test/general.shard/asset_test.dart index f64c64f623445..3e1f99ccedb84 100644 --- a/packages/flutter_tools/test/general.shard/asset_test.dart +++ b/packages/flutter_tools/test/general.shard/asset_test.dart @@ -304,18 +304,23 @@ flutter: expect(assetBundle.inputFiles.map((File f) => f.path), []); }); + final testShaders = ['ink_sparkle.frag', 'stretch_effect.frag']; + testWithoutContext('bundles material shaders on non-web platforms', () async { - final String shaderPath = fileSystem.path.join( - flutterRoot, - 'packages', - 'flutter', - 'lib', - 'src', - 'material', - 'shaders', - 'ink_sparkle.frag', - ); - fileSystem.file(shaderPath).createSync(recursive: true); + for (final shader in testShaders) { + final String shaderPath = fileSystem.path.join( + flutterRoot, + 'packages', + 'flutter', + 'lib', + 'src', + 'material', + 'shaders', + shader, + ); + fileSystem.file(shaderPath).createSync(recursive: true); + } + writePackageConfigFiles(directory: fileSystem.currentDirectory, mainLibName: 'my_package'); fileSystem.file('pubspec.yaml').writeAsStringSync('name: my_package'); final assetBundle = ManifestAssetBundle( @@ -331,21 +336,26 @@ flutter: flutterProject: FlutterProject.fromDirectoryTest(fileSystem.currentDirectory), ); - expect(assetBundle.entries.keys, contains('shaders/ink_sparkle.frag')); + for (final shader in testShaders) { + expect(assetBundle.entries.keys, contains('shaders/$shader')); + } }); testWithoutContext('bundles material shaders on web platforms', () async { - final String shaderPath = fileSystem.path.join( - flutterRoot, - 'packages', - 'flutter', - 'lib', - 'src', - 'material', - 'shaders', - 'ink_sparkle.frag', - ); - fileSystem.file(shaderPath).createSync(recursive: true); + for (final shader in testShaders) { + final String shaderPath = fileSystem.path.join( + flutterRoot, + 'packages', + 'flutter', + 'lib', + 'src', + 'material', + 'shaders', + shader, + ); + fileSystem.file(shaderPath).createSync(recursive: true); + } + writePackageConfigFiles(directory: fileSystem.currentDirectory, mainLibName: 'my_package'); fileSystem.file('pubspec.yaml').writeAsStringSync('name: my_package'); final assetBundle = ManifestAssetBundle( @@ -361,7 +371,9 @@ flutter: flutterProject: FlutterProject.fromDirectoryTest(fileSystem.currentDirectory), ); - expect(assetBundle.entries.keys, contains('shaders/ink_sparkle.frag')); + for (final shader in testShaders) { + expect(assetBundle.entries.keys, contains('shaders/$shader')); + } }); }); } diff --git a/packages/flutter_tools/test/general.shard/base/logger_test.dart b/packages/flutter_tools/test/general.shard/base/logger_test.dart index 9b333aea5369f..16b58f99ab6e0 100644 --- a/packages/flutter_tools/test/general.shard/base/logger_test.dart +++ b/packages/flutter_tools/test/general.shard/base/logger_test.dart @@ -12,6 +12,7 @@ import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/base/terminal.dart'; import 'package:flutter_tools/src/commands/daemon.dart'; +import 'package:flutter_tools/src/commands/widget_preview.dart'; import 'package:test/fake.dart'; import '../../src/common.dart'; @@ -37,6 +38,7 @@ void main() { prefixedErrors: false, machine: false, daemon: false, + widgetPreviews: false, windows: false, ), isA(), @@ -47,6 +49,7 @@ void main() { prefixedErrors: false, machine: false, daemon: false, + widgetPreviews: false, windows: true, ), isA(), @@ -57,6 +60,7 @@ void main() { prefixedErrors: false, machine: false, daemon: false, + widgetPreviews: false, windows: true, ), isA(), @@ -67,6 +71,7 @@ void main() { prefixedErrors: false, machine: false, daemon: false, + widgetPreviews: false, windows: false, ), isA(), @@ -77,6 +82,7 @@ void main() { prefixedErrors: true, machine: false, daemon: false, + widgetPreviews: false, windows: false, ), isA(), @@ -87,6 +93,7 @@ void main() { prefixedErrors: false, machine: false, daemon: true, + widgetPreviews: false, windows: false, ), isA(), @@ -97,10 +104,32 @@ void main() { prefixedErrors: false, machine: true, daemon: false, + widgetPreviews: false, windows: false, ), isA(), ); + + for (final verbose in [false, true]) { + for (final machine in [false, true]) { + for (final windows in [false, true]) { + expect( + loggerFactory.createLogger( + verbose: verbose, + prefixedErrors: false, + machine: machine, + daemon: false, + widgetPreviews: true, + windows: windows, + ), + isA(), + reason: + 'Did not produce WidgetPreviewMachineAwareLogger for ' + 'verbose: $verbose machine: $machine windows: $windows.', + ); + } + } + } }); testWithoutContext( diff --git a/packages/flutter_tools/test/general.shard/base/signals_test.dart b/packages/flutter_tools/test/general.shard/base/signals_test.dart index 0eda234e6bb58..9358de8cd955b 100644 --- a/packages/flutter_tools/test/general.shard/base/signals_test.dart +++ b/packages/flutter_tools/test/general.shard/base/signals_test.dart @@ -7,13 +7,12 @@ import 'dart:io' as io; import 'package:flutter_tools/src/base/exit.dart'; import 'package:flutter_tools/src/base/io.dart'; -import 'package:flutter_tools/src/base/logger.dart'; -import 'package:flutter_tools/src/base/process.dart'; import 'package:flutter_tools/src/base/signals.dart'; import 'package:test/fake.dart'; import '../../src/common.dart'; import '../../src/context.dart'; +import '../../src/fakes.dart'; void main() { group('Signals', () { @@ -197,7 +196,7 @@ void main() { fakeSignal.controller.add(fakeSignal); await completer.future; - expect(shutdownHooks.ranShutdownHooks, isTrue); + expect(shutdownHooks.isShuttingDown, isTrue); }); testUsingContext('ShutdownHooks run before exiting', () async { @@ -217,7 +216,7 @@ void main() { fakeSignal.controller.add(fakeSignal); await completer.future; - expect(shutdownHooks.ranShutdownHooks, isTrue); + expect(shutdownHooks.isShuttingDown, isTrue); }); }); } @@ -228,12 +227,3 @@ class FakeProcessSignal extends Fake implements io.ProcessSignal { @override Stream watch() => controller.stream; } - -class FakeShutdownHooks extends Fake implements ShutdownHooks { - var ranShutdownHooks = false; - - @override - Future runShutdownHooks(Logger logger) async { - ranShutdownHooks = true; - } -} diff --git a/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart b/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart index 94fbebb8ee439..8ec8bd7619412 100644 --- a/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart +++ b/packages/flutter_tools/test/general.shard/build_system/targets/ios_test.dart @@ -1237,24 +1237,41 @@ void main() { group('DebugIosLLDBInit', () { late FakeStdio fakeStdio; + late MemoryFileSystem testFileSystem; setUp(() { fakeStdio = FakeStdio(); + testFileSystem = MemoryFileSystem.test(); }); testUsingContext( 'prints warning if missing LLDB Init File in all schemes', () async { const projectPath = 'path/to/project'; - fileSystem.directory(projectPath).createSync(recursive: true); - environment.defines + testFileSystem.directory(projectPath).createSync(recursive: true); + final Directory projectDirectory = testFileSystem.directory(projectPath); + projectDirectory.childFile('pubspec.yaml').writeAsStringSync(''' +flutter: + module: + iosBundleIdentifier: com.example.my_module +'''); + final testEnvironment = Environment.test( + testFileSystem.currentDirectory, + defines: {kTargetPlatform: 'ios'}, + processManager: processManager, + artifacts: artifacts, + logger: logger, + fileSystem: testFileSystem, + projectDir: projectDirectory, + ); + testEnvironment.defines ..[kIosArchs] = 'arm64' ..[kSdkRoot] = 'path/to/iPhoneOS.sdk' ..[kBuildMode] = 'debug' ..[kSrcRoot] = projectPath ..[kTargetDeviceOSVersion] = '26.0.0'; - await const DebugIosLLDBInit().build(environment); + await const DebugIosLLDBInit().build(testEnvironment); expect( fakeStdio.buffer.toString(), @@ -1262,7 +1279,46 @@ void main() { ); }, overrides: { - FileSystem: () => fileSystem, + FileSystem: () => testFileSystem, + ProcessManager: () => processManager, + Platform: () => macPlatform, + Stdio: () => fakeStdio, + }, + ); + + testUsingContext( + 'skips if not a module', + () async { + const projectPath = 'path/to/project'; + testFileSystem.directory(projectPath).createSync(recursive: true); + final Directory projectDirectory = testFileSystem.directory(projectPath); + final testEnvironment = Environment.test( + testFileSystem.currentDirectory, + defines: {kTargetPlatform: 'ios'}, + processManager: processManager, + artifacts: artifacts, + logger: logger, + fileSystem: testFileSystem, + projectDir: projectDirectory, + ); + testEnvironment.defines + ..[kIosArchs] = 'arm64' + ..[kSdkRoot] = 'path/to/iPhoneOS.sdk' + ..[kBuildMode] = 'debug' + ..[kSrcRoot] = projectPath + ..[kTargetDeviceOSVersion] = '26.0.0'; + + await const DebugIosLLDBInit().build(testEnvironment); + + expect( + fakeStdio.buffer.toString(), + isNot( + contains('warning: Debugging Flutter on new iOS versions requires an LLDB Init File.'), + ), + ); + }, + overrides: { + FileSystem: () => testFileSystem, ProcessManager: () => processManager, Platform: () => macPlatform, Stdio: () => fakeStdio, @@ -1273,18 +1329,39 @@ void main() { 'skips if targetting simulator', () async { const projectPath = 'path/to/project'; - fileSystem.directory(projectPath).createSync(recursive: true); - environment.defines + testFileSystem.directory(projectPath).createSync(recursive: true); + final Directory projectDirectory = testFileSystem.directory(projectPath); + projectDirectory.childFile('pubspec.yaml').writeAsStringSync(''' +flutter: + module: + iosBundleIdentifier: com.example.my_module +'''); + final testEnvironment = Environment.test( + testFileSystem.currentDirectory, + defines: {kTargetPlatform: 'ios'}, + processManager: processManager, + artifacts: artifacts, + logger: logger, + fileSystem: testFileSystem, + projectDir: projectDirectory, + ); + testEnvironment.defines ..[kIosArchs] = 'arm64' ..[kSdkRoot] = 'path/to/iPhoneSimulator.sdk' ..[kBuildMode] = 'debug' ..[kSrcRoot] = projectPath ..[kTargetDeviceOSVersion] = '26.0.0'; - await const DebugIosLLDBInit().build(environment); + await const DebugIosLLDBInit().build(testEnvironment); + expect( + fakeStdio.buffer.toString(), + isNot( + contains('warning: Debugging Flutter on new iOS versions requires an LLDB Init File.'), + ), + ); }, overrides: { - FileSystem: () => fileSystem, + FileSystem: () => testFileSystem, ProcessManager: () => processManager, Platform: () => macPlatform, }, @@ -1294,18 +1371,39 @@ void main() { 'skips if iOS version is less than 26.0', () async { const projectPath = 'path/to/project'; - fileSystem.directory(projectPath).createSync(recursive: true); - environment.defines + testFileSystem.directory(projectPath).createSync(recursive: true); + final Directory projectDirectory = testFileSystem.directory(projectPath); + projectDirectory.childFile('pubspec.yaml').writeAsStringSync(''' +flutter: + module: + iosBundleIdentifier: com.example.my_module +'''); + final testEnvironment = Environment.test( + testFileSystem.currentDirectory, + defines: {kTargetPlatform: 'ios'}, + processManager: processManager, + artifacts: artifacts, + logger: logger, + fileSystem: testFileSystem, + projectDir: projectDirectory, + ); + testEnvironment.defines ..[kIosArchs] = 'arm64' ..[kSdkRoot] = 'path/to/iPhoneOS.sdk' ..[kBuildMode] = 'debug' ..[kSrcRoot] = projectPath ..[kTargetDeviceOSVersion] = '18.3.1'; - await const DebugIosLLDBInit().build(environment); + await const DebugIosLLDBInit().build(testEnvironment); + expect( + fakeStdio.buffer.toString(), + isNot( + contains('warning: Debugging Flutter on new iOS versions requires an LLDB Init File.'), + ), + ); }, overrides: { - FileSystem: () => fileSystem, + FileSystem: () => testFileSystem, ProcessManager: () => processManager, Platform: () => macPlatform, }, @@ -1315,8 +1413,8 @@ void main() { 'does not throw error if there is an LLDB Init File in any scheme', () async { const projectPath = 'path/to/project'; - fileSystem.directory(projectPath).createSync(recursive: true); - fileSystem + testFileSystem.directory(projectPath).createSync(recursive: true); + testFileSystem .directory(projectPath) .childDirectory('MyProject.xcodeproj') .childDirectory('xcshareddata') @@ -1324,17 +1422,32 @@ void main() { .childFile('MyProject.xcscheme') ..createSync(recursive: true) ..writeAsStringSync(r'customLLDBInitFile = "some/path/.lldbinit"'); - environment.defines + final Directory projectDirectory = testFileSystem.directory(projectPath); + projectDirectory.childFile('pubspec.yaml').writeAsStringSync(''' +flutter: + module: + iosBundleIdentifier: com.example.my_module +'''); + final testEnvironment = Environment.test( + testFileSystem.currentDirectory, + defines: {kTargetPlatform: 'ios'}, + processManager: processManager, + artifacts: artifacts, + logger: logger, + fileSystem: testFileSystem, + projectDir: projectDirectory, + ); + testEnvironment.defines ..[kIosArchs] = 'arm64' ..[kSdkRoot] = 'path/to/iPhoneOS.sdk' ..[kBuildMode] = 'debug' ..[kSrcRoot] = projectPath ..[kTargetDeviceOSVersion] = '26.0.0'; - await const DebugIosLLDBInit().build(environment); + await const DebugIosLLDBInit().build(testEnvironment); }, overrides: { - FileSystem: () => fileSystem, + FileSystem: () => testFileSystem, ProcessManager: () => processManager, Platform: () => macPlatform, }, diff --git a/packages/flutter_tools/test/general.shard/commands/attach_test.dart b/packages/flutter_tools/test/general.shard/commands/attach_test.dart new file mode 100644 index 0000000000000..b2cb51689431f --- /dev/null +++ b/packages/flutter_tools/test/general.shard/commands/attach_test.dart @@ -0,0 +1,21 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; + +import 'package:flutter_tools/src/commands/attach.dart'; + +import '../../src/common.dart'; + +void main() { + testWithoutContext('streamWithCallbackOnFirstItem only calls the callback once', () async { + var calledTimes = 0; + final Stream stream = Stream.fromIterable([1, 2, 3]); + final Stream newStream = streamWithCallbackOnFirstItem(stream, () { + calledTimes++; + }); + await newStream.drain(); + expect(calledTimes, 1); + }); +} diff --git a/packages/flutter_tools/test/general.shard/compile_expression_test.dart b/packages/flutter_tools/test/general.shard/compile_expression_test.dart index 59cde412a14d4..2c12a15bf4314 100644 --- a/packages/flutter_tools/test/general.shard/compile_expression_test.dart +++ b/packages/flutter_tools/test/general.shard/compile_expression_test.dart @@ -41,6 +41,7 @@ void main() { logger: testLogger, platform: FakePlatform(), fileSystem: fileSystem, + shutdownHooks: FakeShutdownHooks(), ); stdErrStreamController = StreamController(); diff --git a/packages/flutter_tools/test/general.shard/compile_incremental_test.dart b/packages/flutter_tools/test/general.shard/compile_incremental_test.dart index 99bfd06c94617..0e311d4c8a8dd 100644 --- a/packages/flutter_tools/test/general.shard/compile_incremental_test.dart +++ b/packages/flutter_tools/test/general.shard/compile_incremental_test.dart @@ -64,6 +64,7 @@ void main() { platform: FakePlatform(), fileSystem: MemoryFileSystem.test(), stdoutHandler: generatorStdoutHandler, + shutdownHooks: FakeShutdownHooks(), ); generatorWithScheme = DefaultResidentCompiler( 'sdkroot', @@ -76,6 +77,7 @@ void main() { fileSystemScheme: 'scheme', fileSystem: MemoryFileSystem.test(), stdoutHandler: generatorWithSchemeStdoutHandler, + shutdownHooks: FakeShutdownHooks(), ); generatorWithPlatformDillAndLibrariesSpec = DefaultResidentCompiler( 'sdkroot', @@ -88,6 +90,7 @@ void main() { stdoutHandler: generatorStdoutHandler, platformDill: '/foo/platform.dill', librariesSpec: '/bar/libraries.json', + shutdownHooks: FakeShutdownHooks(), ); }); diff --git a/packages/flutter_tools/test/general.shard/coverage_collector_test.dart b/packages/flutter_tools/test/general.shard/coverage_collector_test.dart index 082d1678bde46..0ac9783ea323d 100644 --- a/packages/flutter_tools/test/general.shard/coverage_collector_test.dart +++ b/packages/flutter_tools/test/general.shard/coverage_collector_test.dart @@ -770,7 +770,7 @@ FakeVmServiceHost createFakeVmServiceHostWithFooAndBar({ 'forceCompile': true, 'reportLines': true, 'librariesAlreadyCompiled': librariesAlreadyCompiled, - if (libraryFilters != null) 'libraryFilters': libraryFilters, + 'libraryFilters': ?libraryFilters, }, jsonResponse: SourceReport( ranges: [ diff --git a/packages/flutter_tools/test/general.shard/daemon_test.dart b/packages/flutter_tools/test/general.shard/daemon_test.dart index 59f2ea75180e1..708480a566882 100644 --- a/packages/flutter_tools/test/general.shard/daemon_test.dart +++ b/packages/flutter_tools/test/general.shard/daemon_test.dart @@ -197,7 +197,7 @@ void main() { Map testCommand(int id, [int? binarySize]) => { 'id': id, 'method': 'test', - if (binarySize != null) '_binaryLength': binarySize, + '_binaryLength': ?binarySize, }; List testCommandBinary(int id, [int? binarySize]) => utf8.encode('[${json.encode(testCommand(id, binarySize))}]\n'); diff --git a/packages/flutter_tools/test/general.shard/devfs_test.dart b/packages/flutter_tools/test/general.shard/devfs_test.dart index be81085dd0276..369515a1bc92e 100644 --- a/packages/flutter_tools/test/general.shard/devfs_test.dart +++ b/packages/flutter_tools/test/general.shard/devfs_test.dart @@ -591,6 +591,7 @@ void main() { platform: FakePlatform(), fileSystem: fileSystem, stdoutHandler: generatorStdoutHandler, + shutdownHooks: FakeShutdownHooks(), ); fileSystem.file('lib/foo.txt.dill').createSync(recursive: true); @@ -979,6 +980,7 @@ class FakeBundle extends AssetBundle { @override Future build({ + FlutterHookResult? flutterHookResult, String manifestPath = defaultManifestPath, String? assetDirPath, String? packageConfigPath, diff --git a/packages/flutter_tools/test/general.shard/flutter_manifest_assets_test.dart b/packages/flutter_tools/test/general.shard/flutter_manifest_assets_test.dart index 1387d76f57e55..93ef86a098ac4 100644 --- a/packages/flutter_tools/test/general.shard/flutter_manifest_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/flutter_manifest_assets_test.dart @@ -97,8 +97,8 @@ flutter: final List assets = flutterManifest.assets; expect(assets, [ - AssetsEntry(uri: Uri.parse('lib/gallery/abc%23xyz')), - AssetsEntry(uri: Uri.parse('lib/gallery/abc%3Fxyz')), + AssetsEntry(uri: Uri.parse('lib/gallery/abc#xyz')), + AssetsEntry(uri: Uri.parse('lib/gallery/abc?xyz')), AssetsEntry(uri: Uri.parse('lib/gallery/aaa%20bbb')), ]); }); diff --git a/packages/flutter_tools/test/general.shard/hot_shared.dart b/packages/flutter_tools/test/general.shard/hot_shared.dart index 19a9f037dc235..45dc048c8f9d3 100644 --- a/packages/flutter_tools/test/general.shard/hot_shared.dart +++ b/packages/flutter_tools/test/general.shard/hot_shared.dart @@ -134,6 +134,9 @@ class FakeFlutterDevice extends Fake implements FlutterDevice { required PackageConfig packageConfig, }) => updateDevFSReportCallback(); + @override + Future handleHotRestart() async {} + @override TargetPlatform? get targetPlatform => device._targetPlatform; } diff --git a/packages/flutter_tools/test/general.shard/hot_test.dart b/packages/flutter_tools/test/general.shard/hot_test.dart index 3cfae4471540f..6bb4d35a35e8e 100644 --- a/packages/flutter_tools/test/general.shard/hot_test.dart +++ b/packages/flutter_tools/test/general.shard/hot_test.dart @@ -12,7 +12,6 @@ import 'package:flutter_tools/src/dart/pub.dart'; import 'package:flutter_tools/src/devfs.dart'; import 'package:flutter_tools/src/device.dart'; import 'package:flutter_tools/src/reporting/reporting.dart'; -import 'package:flutter_tools/src/resident_devtools_handler.dart'; import 'package:flutter_tools/src/resident_runner.dart'; import 'package:flutter_tools/src/run_hot.dart'; import 'package:flutter_tools/src/vmservice.dart'; @@ -184,7 +183,6 @@ name: my_app devices, debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ).restart(fullRestart: true); expect(result.isOk, false); @@ -215,7 +213,6 @@ name: my_app devices, debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, reassembleHelper: ( List flutterDevices, @@ -343,7 +340,6 @@ name: my_app devices, debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, stopwatchFactory: fakeStopwatchFactory, analytics: fakeAnalytics, ).restart(fullRestart: true); @@ -437,7 +433,6 @@ name: my_app devices, debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, stopwatchFactory: fakeStopwatchFactory, analytics: fakeAnalytics, reloadSourcesHelper: @@ -550,7 +545,6 @@ name: my_app devices, debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); @@ -595,7 +589,6 @@ name: my_app devices, debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); diff --git a/packages/flutter_tools/test/general.shard/ios/core_devices_test.dart b/packages/flutter_tools/test/general.shard/ios/core_devices_test.dart index 80434cac57e6f..46a7bf93186d8 100644 --- a/packages/flutter_tools/test/general.shard/ios/core_devices_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/core_devices_test.dart @@ -2,6 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:async'; +import 'dart:io' as io; + import 'package:file/memory.dart'; import 'package:file_testing/file_testing.dart'; import 'package:flutter_tools/src/base/error_handling_io.dart'; @@ -172,14 +175,27 @@ void main() { group('launchAppWithLLDBDebugger', () { testWithoutContext('succeeds', () async { final fakeCoreDeviceControl = FakeIOSCoreDeviceControl( + installResult: IOSCoreDeviceInstallResult.fromJson(const { + 'info': {'outcome': 'success'}, + 'result': { + 'installedApplications': [ + {'installationURL': '/asdf'}, + ], + }, + }), launchResult: IOSCoreDeviceLaunchResult.fromJson(const { 'info': {'outcome': 'success'}, 'result': { 'process': {'processIdentifier': 123}, }, }), + runningProcesses: [ + IOSCoreDeviceRunningProcess.fromJson(const { + 'processIdentifier': 123, + 'executable': '/asdf', + }), + ], ); - final processManager = FakeProcessManager.any(); final logger = BufferLogger.test(); final processUtils = ProcessUtils(processManager: processManager, logger: logger); @@ -205,7 +221,29 @@ void main() { }); testWithoutContext('fails on install', () async { - final fakeCoreDeviceControl = FakeIOSCoreDeviceControl(installSuccess: false); + final fakeCoreDeviceControl = FakeIOSCoreDeviceControl( + installResult: IOSCoreDeviceInstallResult.fromJson(const { + 'info': {'outcome': 'success'}, + 'result': { + 'installedApplications': [ + {'installationURL': '/asdf'}, + ], + }, + }), + launchResult: IOSCoreDeviceLaunchResult.fromJson(const { + 'info': {'outcome': 'success'}, + 'result': { + 'process': {'processIdentifier': 123}, + }, + }), + runningProcesses: [ + IOSCoreDeviceRunningProcess.fromJson(const { + 'processIdentifier': 123, + 'executable': '/asdf', + }), + ], + installSuccess: false, + ); final processManager = FakeProcessManager.any(); final logger = BufferLogger.test(); @@ -231,14 +269,23 @@ void main() { expect(fakeLLDB.attemptedToAttach, isFalse); }); - testWithoutContext('fails on launch', () async { + testWithoutContext('fails on missing installationURL', () async { final fakeCoreDeviceControl = FakeIOSCoreDeviceControl( + installResult: IOSCoreDeviceInstallResult.fromJson(const { + 'info': {'outcome': 'failure'}, + }), launchResult: IOSCoreDeviceLaunchResult.fromJson(const { - 'info': {'outcome': 'failed'}, + 'info': {'outcome': 'success'}, 'result': { 'process': {'processIdentifier': 123}, }, }), + runningProcesses: [ + IOSCoreDeviceRunningProcess.fromJson(const { + 'processIdentifier': 123, + 'executable': '/asdf', + }), + ], ); final processManager = FakeProcessManager.any(); @@ -265,8 +312,30 @@ void main() { expect(fakeLLDB.attemptedToAttach, isFalse); }); - testWithoutContext('fails on null launch result', () async { - final fakeCoreDeviceControl = FakeIOSCoreDeviceControl(); + testWithoutContext('fails on launch', () async { + final fakeCoreDeviceControl = FakeIOSCoreDeviceControl( + installResult: IOSCoreDeviceInstallResult.fromJson(const { + 'info': {'outcome': 'success'}, + 'result': { + 'installedApplications': [ + {'installationURL': '/asdf'}, + ], + }, + }), + launchResult: IOSCoreDeviceLaunchResult.fromJson(const { + 'info': {'outcome': 'success'}, + 'result': { + 'process': {'processIdentifier': 123}, + }, + }), + runningProcesses: [ + IOSCoreDeviceRunningProcess.fromJson(const { + 'processIdentifier': 123, + 'executable': '/asdf', + }), + ], + launchSuccess: false, + ); final processManager = FakeProcessManager.any(); final logger = BufferLogger.test(); @@ -292,11 +361,23 @@ void main() { expect(fakeLLDB.attemptedToAttach, isFalse); }); - testWithoutContext('fails on null launched process', () async { + testWithoutContext('fails on missing launched process', () async { final fakeCoreDeviceControl = FakeIOSCoreDeviceControl( + installResult: IOSCoreDeviceInstallResult.fromJson(const { + 'info': {'outcome': 'success'}, + 'result': { + 'installedApplications': [ + {'installationURL': '/asdf'}, + ], + }, + }), launchResult: IOSCoreDeviceLaunchResult.fromJson(const { 'info': {'outcome': 'success'}, + 'result': { + 'process': {'processIdentifier': 123}, + }, }), + runningProcesses: [], ); final processManager = FakeProcessManager.any(); @@ -325,10 +406,23 @@ void main() { testWithoutContext('fails on null launched process id', () async { final fakeCoreDeviceControl = FakeIOSCoreDeviceControl( + installResult: IOSCoreDeviceInstallResult.fromJson(const { + 'info': {'outcome': 'success'}, + 'result': { + 'installedApplications': [ + {'installationURL': '/asdf'}, + ], + }, + }), launchResult: IOSCoreDeviceLaunchResult.fromJson(const { 'info': {'outcome': 'success'}, - 'result': {'process': {}}, + 'result': { + 'process': {'processIdentifier': 123}, + }, }), + runningProcesses: [ + IOSCoreDeviceRunningProcess.fromJson(const {'executable': '/asdf'}), + ], ); final processManager = FakeProcessManager.any(); @@ -357,14 +451,27 @@ void main() { testWithoutContext('fails on lldb attach', () async { final fakeCoreDeviceControl = FakeIOSCoreDeviceControl( + installResult: IOSCoreDeviceInstallResult.fromJson(const { + 'info': {'outcome': 'success'}, + 'result': { + 'installedApplications': [ + {'installationURL': '/asdf'}, + ], + }, + }), launchResult: IOSCoreDeviceLaunchResult.fromJson(const { 'info': {'outcome': 'success'}, 'result': { 'process': {'processIdentifier': 123}, }, }), + runningProcesses: [ + IOSCoreDeviceRunningProcess.fromJson(const { + 'processIdentifier': 123, + 'executable': '/asdf', + }), + ], ); - final processManager = FakeProcessManager.any(); final logger = BufferLogger.test(); final processUtils = ProcessUtils(processManager: processManager, logger: logger); @@ -637,6 +744,49 @@ void main() { }); }); + group('IOSCoreDeviceLogForwarder', () { + testWithoutContext('addLog', () async { + const expectedLog = 'hello world'; + final expectedLogCompleter = Completer(); + final logForwarder = IOSCoreDeviceLogForwarder(); + logForwarder.logLines.listen((String line) { + expect(line, expectedLog); + expectedLogCompleter.complete(); + }); + logForwarder.addLog(expectedLog); + await expectedLogCompleter.future; + }); + + testWithoutContext('exit', () async { + final exitCompleter = Completer(); + final logForwarder = IOSCoreDeviceLogForwarder(); + final lldbProcess = FakeProcess(); + logForwarder.launchProcess = lldbProcess; + logForwarder.logLines.listen((String line) => line).onDone(() { + exitCompleter.complete(); + }); + await logForwarder.exit(); + await exitCompleter.future; + expect(logForwarder.isRunning, isFalse); + expect(lldbProcess.signals, contains(io.ProcessSignal.sigterm)); + }); + + testWithoutContext('addLog after exit', () async { + final exitCompleter = Completer(); + final logForwarder = IOSCoreDeviceLogForwarder(); + final lldbProcess = FakeProcess(); + logForwarder.launchProcess = lldbProcess; + logForwarder.logLines.listen((String line) => line).onDone(() { + exitCompleter.complete(); + }); + await logForwarder.exit(); + await exitCompleter.future; + expect(logForwarder.isRunning, isFalse); + expect(lldbProcess.signals, contains(io.ProcessSignal.sigterm)); + logForwarder.addLog('hello world'); + }); + }); + group('Xcode prior to Core Device Control/Xcode 15', () { late BufferLogger logger; late FakeProcessManager fakeProcessManager; @@ -671,13 +821,14 @@ void main() { }); testWithoutContext('fails to install app', () async { - final bool status = await deviceControl.installApp( + final (bool status, IOSCoreDeviceInstallResult? result) = await deviceControl.installApp( deviceId: 'device-id', bundlePath: '/path/to/bundle', ); expect(fakeProcessManager, hasNoRemainingExpectations); - expect(logger.errorText, contains('devicectl is not installed.')); + expect(logger.traceText, contains('devicectl is not installed.')); expect(status, isFalse); + expect(result, isNull); }); testWithoutContext('fails to launch app', () async { @@ -788,7 +939,7 @@ void main() { ), ); - final bool status = await deviceControl.installApp( + final (bool status, IOSCoreDeviceInstallResult? result) = await deviceControl.installApp( deviceId: deviceId, bundlePath: bundlePath, ); @@ -872,14 +1023,14 @@ ERROR: The file couldn’t be opened because it doesn’t exist. (NSCocoaErrorDo ), ); - final bool status = await deviceControl.installApp( + final (bool status, IOSCoreDeviceInstallResult? result) = await deviceControl.installApp( deviceId: deviceId, bundlePath: bundlePath, ); expect(fakeProcessManager, hasNoRemainingExpectations); expect( - logger.errorText, + logger.traceText, contains('ERROR: Could not obtain access to one or more requested file system'), ); expect(tempFile, isNot(exists)); @@ -916,13 +1067,13 @@ ERROR: The file couldn’t be opened because it doesn’t exist. (NSCocoaErrorDo ), ); - final bool status = await deviceControl.installApp( + final (bool status, IOSCoreDeviceInstallResult? result) = await deviceControl.installApp( deviceId: deviceId, bundlePath: bundlePath, ); expect(fakeProcessManager, hasNoRemainingExpectations); - expect(logger.errorText, contains('devicectl returned unexpected JSON response')); + expect(logger.traceText, contains('devicectl returned unexpected JSON response')); expect(tempFile, isNot(exists)); expect(status, false); }); @@ -955,13 +1106,13 @@ invalid JSON ), ); - final bool status = await deviceControl.installApp( + final (bool status, IOSCoreDeviceInstallResult? result) = await deviceControl.installApp( deviceId: deviceId, bundlePath: bundlePath, ); expect(fakeProcessManager, hasNoRemainingExpectations); - expect(logger.errorText, contains('devicectl returned non-JSON response')); + expect(logger.traceText, contains('devicectl returned non-JSON response')); expect(tempFile, isNot(exists)); expect(status, false); }); @@ -1207,7 +1358,7 @@ invalid JSON }); }); - group('launch app', () { + group('launchApp', () { const deviceId = 'device-id'; const bundleId = 'com.example.flutterApp'; @@ -1276,9 +1427,9 @@ invalid JSON 'launch', '--device', deviceId, - bundleId, '--json-output', tempFile.path, + bundleId, ], onRun: (_) { expect(tempFile, exists); @@ -1366,11 +1517,11 @@ invalid JSON 'launch', '--device', deviceId, + '--json-output', + tempFile.path, bundleId, '--arg1', '--arg2', - '--json-output', - tempFile.path, ], onRun: (_) { expect(tempFile, exists); @@ -1392,7 +1543,7 @@ invalid JSON expect(result!.outcome, 'success'); }); - testWithoutContext('devicectl fails install with an error', () async { + testWithoutContext('devicectl fails launch with an error', () async { const deviceControlOutput = ''' { "error" : { @@ -1441,9 +1592,9 @@ invalid JSON 'launch', '--device', deviceId, - bundleId, '--json-output', tempFile.path, + bundleId, ], onRun: (_) { expect(tempFile, exists); @@ -1469,7 +1620,7 @@ ERROR: The operation couldn?t be completed. (OSStatus error -10814.) (NSOSStatus expect(result, isNull); }); - testWithoutContext('devicectl fails install without an error', () async { + testWithoutContext('devicectl fails launch without an error', () async { const deviceControlOutput = ''' { "error" : { @@ -1518,9 +1669,9 @@ ERROR: The operation couldn?t be completed. (OSStatus error -10814.) (NSOSStatus 'launch', '--device', deviceId, - bundleId, '--json-output', tempFile.path, + bundleId, ], onRun: (_) { expect(tempFile, exists); @@ -1559,9 +1710,9 @@ ERROR: The operation couldn?t be completed. (OSStatus error -10814.) (NSOSStatus 'launch', '--device', deviceId, - bundleId, '--json-output', tempFile.path, + bundleId, ], onRun: (_) { expect(tempFile, exists); @@ -1598,9 +1749,9 @@ invalid JSON 'launch', '--device', deviceId, - bundleId, '--json-output', tempFile.path, + bundleId, ], onRun: (_) { expect(tempFile, exists); @@ -1621,6 +1772,197 @@ invalid JSON }); }); + group('launchAppAndStreamLogs', () { + const deviceId = 'device-id'; + const bundleId = 'com.example.flutterApp'; + + testWithoutContext('Successful launch without launch args', () async { + fakeProcessManager.addCommand( + const FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'process', + 'launch', + '--device', + deviceId, + '--start-stopped', + '--console', + '--environment-variables', + '{"OS_ACTIVITY_DT_MODE": "enable"}', + bundleId, + ], + stdout: ''' +10:04:12 Acquired tunnel connection to device. +10:04:12 Enabling developer disk image services. +10:04:12 Acquired usage assertion. +Launched application with com.example.my_app bundle identifier. +Waiting for the application to terminate... +''', + ), + ); + + final bool result = await deviceControl.launchAppAndStreamLogs( + deviceId: deviceId, + bundleId: bundleId, + coreDeviceLogForwarder: FakeIOSCoreDeviceLogForwarder(), + startStopped: true, + ); + + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(logger.errorText, isEmpty); + expect(result, isTrue); + }); + + testWithoutContext('Successful launch with launch args', () async { + fakeProcessManager.addCommand( + const FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'process', + 'launch', + '--device', + deviceId, + '--start-stopped', + '--console', + '--environment-variables', + '{"OS_ACTIVITY_DT_MODE": "enable"}', + bundleId, + '--arg1', + '--arg2', + ], + stdout: ''' +10:04:12 Acquired tunnel connection to device. +10:04:12 Enabling developer disk image services. +10:04:12 Acquired usage assertion. +Launched application with com.example.my_app bundle identifier. +Waiting for the application to terminate... +''', + ), + ); + + final bool result = await deviceControl.launchAppAndStreamLogs( + deviceId: deviceId, + bundleId: bundleId, + coreDeviceLogForwarder: FakeIOSCoreDeviceLogForwarder(), + startStopped: true, + launchArguments: ['--arg1', '--arg2'], + ); + + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(logger.errorText, isEmpty); + expect(result, isTrue); + }); + + testWithoutContext('Successful stream logs', () async { + fakeProcessManager.addCommand( + const FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'process', + 'launch', + '--device', + deviceId, + '--start-stopped', + '--console', + '--environment-variables', + '{"OS_ACTIVITY_DT_MODE": "enable"}', + bundleId, + ], + stdout: ''' +10:04:12 Acquired tunnel connection to device. +10:04:12 Enabling developer disk image services. +10:04:12 Acquired usage assertion. +This log happens before the application is launched and should not be sent to FakeIOSCoreDeviceLogForwarder +Launched application with com.example.my_app bundle identifier. +Waiting for the application to terminate... +2025-09-16 12:15:47.939171-0500 Runner[1230:133819] [PreviewsAgentExecutorLibrary] This log happens after the application is launched but matches an ignore pattern and should be skipped +2025-09-16 12:15:47.939171-0500 Runner[1230:133819] This log happens after the application is launched but matches an ignore pattern and should be skipped +This log happens after the application is launched and should be sent to FakeIOSCoreDeviceLogForwarder +2025-09-16 12:15:47.939171-0500 Runner[1230:133819] flutter: This log happens after the application is launched and should be sent to FakeIOSCoreDeviceLogForwarder +2025-09-16 12:15:47.939171-0500 Runner[1230:133819] [INFO:flutter/runtime/service_protocol.cc(121)] This log happens after the application is launched and should be sent to FakeIOSCoreDeviceLogForwarder +''', + ), + ); + final logForwarder = FakeIOSCoreDeviceLogForwarder(); + final bool result = await deviceControl.launchAppAndStreamLogs( + deviceId: deviceId, + bundleId: bundleId, + coreDeviceLogForwarder: logForwarder, + startStopped: true, + ); + + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(logger.errorText, isEmpty); + expect(logForwarder.logs.length, 3); + expect( + logForwarder.logs, + containsAll([ + 'This log happens after the application is launched and should be sent to FakeIOSCoreDeviceLogForwarder', + '2025-09-16 12:15:47.939171-0500 Runner[1230:133819] flutter: This log happens after the application is launched and should be sent to FakeIOSCoreDeviceLogForwarder', + '2025-09-16 12:15:47.939171-0500 Runner[1230:133819] [INFO:flutter/runtime/service_protocol.cc(121)] This log happens after the application is launched and should be sent to FakeIOSCoreDeviceLogForwarder', + ]), + ); + expect( + logger.traceText, + contains(''' +10:04:12 Acquired tunnel connection to device. +10:04:12 Enabling developer disk image services. +10:04:12 Acquired usage assertion. +This log happens before the application is launched and should not be sent to FakeIOSCoreDeviceLogForwarder +Launched application with com.example.my_app bundle identifier. +Waiting for the application to terminate... +2025-09-16 12:15:47.939171-0500 Runner[1230:133819] [PreviewsAgentExecutorLibrary] This log happens after the application is launched but matches an ignore pattern and should be skipped +2025-09-16 12:15:47.939171-0500 Runner[1230:133819] This log happens after the application is launched but matches an ignore pattern and should be skipped +'''), + ); + expect(result, isTrue); + }); + + testWithoutContext('devicectl fails launch with an error', () async { + fakeProcessManager.addCommand( + const FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'process', + 'launch', + '--device', + deviceId, + '--start-stopped', + '--console', + '--environment-variables', + '{"OS_ACTIVITY_DT_MODE": "enable"}', + bundleId, + ], + exitCode: 1, + stderr: ''' +ERROR: The operation couldn?t be completed. (OSStatus error -10814.) (NSOSStatusErrorDomain error -10814.) + _LSFunction = runEvaluator + _LSLine = 1608 +''', + ), + ); + + final bool result = await deviceControl.launchAppAndStreamLogs( + deviceId: deviceId, + bundleId: bundleId, + coreDeviceLogForwarder: FakeIOSCoreDeviceLogForwarder(), + startStopped: true, + ); + + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(logger.errorText, isEmpty); + expect(result, isFalse); + }); + }); + group('terminate app', () { const deviceId = 'device-id'; const processId = 1234; @@ -3166,25 +3508,265 @@ invalid JSON }); }); }); + + group('list running processes', () { + const deviceId = 'device-id'; + + testWithoutContext('All sections parsed', () async { + const deviceControlOutput = ''' +{ + "info" : { + "arguments" : [ + "devicectl", + "device", + "info", + "processes", + "--device", + "00008112-0006112A3C03401E", + "--json-output", + "./process.json" + ], + "commandType" : "devicectl.device.info.processes", + "environment" : { + "TERM" : "xterm-256color" + }, + "jsonVersion" : 2, + "outcome" : "success", + "version" : "477.29" + }, + "result" : { + "deviceIdentifier" : "123456BB5-AEDE-7A22-B890-1234567890DD", + "runningProcesses" : [ + { + "executable" : "file:///sbin/launchd", + "processIdentifier" : 1 + }, + { + "processIdentifier" : 961 + }, + { + "executable" : "file:///private/var/containers/Bundle/Application/12345E6A-7F89-0C12-345E-F6A7E890CFF1/Runner.app/Runner", + "processIdentifier" : 1050 + } + ] + } +} + +'''; + + final File tempFile = fileSystem.systemTempDirectory + .childDirectory('core_devices.rand0') + .childFile('core_device_process_list.json'); + fakeProcessManager.addCommand( + FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'info', + 'processes', + '--device', + deviceId, + '--json-output', + tempFile.path, + ], + onRun: (_) { + expect(tempFile, exists); + tempFile.writeAsStringSync(deviceControlOutput); + }, + ), + ); + + final List processes = await deviceControl.getRunningProcesses( + deviceId: deviceId, + ); + expect(processes.length, 3); + + expect(processes[0].processIdentifier, isNotNull); + expect(processes[0].executable, isNotNull); + expect(processes[1].processIdentifier, isNotNull); + expect(processes[1].executable, isNull); + expect(processes[2].processIdentifier, 1050); + expect( + processes[2].executable, + 'file:///private/var/containers/Bundle/Application/12345E6A-7F89-0C12-345E-F6A7E890CFF1/Runner.app/Runner', + ); + + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(tempFile, isNot(exists)); + }); + + testWithoutContext('fails because of unexpected JSON', () async { + const deviceControlOutput = ''' +{"valid": "but wrong"} +'''; + + final File tempFile = fileSystem.systemTempDirectory + .childDirectory('core_devices.rand0') + .childFile('core_device_process_list.json'); + fakeProcessManager.addCommand( + FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'info', + 'processes', + '--device', + deviceId, + '--json-output', + tempFile.path, + ], + onRun: (_) { + expect(tempFile, exists); + tempFile.writeAsStringSync(deviceControlOutput); + }, + ), + ); + + final List processes = await deviceControl.getRunningProcesses( + deviceId: deviceId, + ); + expect(processes.length, 0); + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(tempFile, isNot(exists)); + expect(logger.traceText, contains('devicectl returned unexpected JSON response')); + }); + + testWithoutContext('fails because of invalid JSON', () async { + const deviceControlOutput = ''' +invalid JSON +'''; + + final File tempFile = fileSystem.systemTempDirectory + .childDirectory('core_devices.rand0') + .childFile('core_device_process_list.json'); + fakeProcessManager.addCommand( + FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'info', + 'processes', + '--device', + deviceId, + '--json-output', + tempFile.path, + ], + onRun: (_) { + expect(tempFile, exists); + tempFile.writeAsStringSync(deviceControlOutput); + }, + ), + ); + + final List processes = await deviceControl.getRunningProcesses( + deviceId: deviceId, + ); + expect(processes.length, 0); + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(tempFile, isNot(exists)); + expect(logger.traceText, contains('devicectl returned non-JSON response')); + }); + + testWithoutContext('fails when devicectl fails', () async { + final File tempFile = fileSystem.systemTempDirectory + .childDirectory('core_devices.rand0') + .childFile('core_device_process_list.json'); + fakeProcessManager.addCommand( + FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'info', + 'processes', + '--device', + deviceId, + '--json-output', + tempFile.path, + ], + stderr: 'something went wrong', + exitCode: 1, + ), + ); + + final List processes = await deviceControl.getRunningProcesses( + deviceId: deviceId, + ); + expect(processes.length, 0); + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(tempFile, isNot(exists)); + expect(logger.traceText, contains('something went wrong')); + }); + + testWithoutContext('fails when missing output', () async { + final File tempFile = fileSystem.systemTempDirectory + .childDirectory('core_devices.rand0') + .childFile('core_device_process_list.json'); + fakeProcessManager.addCommand( + FakeCommand( + command: [ + 'xcrun', + 'devicectl', + 'device', + 'info', + 'processes', + '--device', + deviceId, + '--json-output', + tempFile.path, + ], + onRun: (_) { + tempFile.deleteSync(); + }, + ), + ); + + final List processes = await deviceControl.getRunningProcesses( + deviceId: deviceId, + ); + expect(processes.length, 0); + expect(fakeProcessManager, hasNoRemainingExpectations); + expect(tempFile, isNot(exists)); + expect(logger.traceText, contains('Error reading output file')); + }); + }); }); } class FakeIOSCoreDeviceControl extends Fake implements IOSCoreDeviceControl { FakeIOSCoreDeviceControl({ this.installSuccess = true, + this.installResult, + this.launchSuccess = true, this.launchResult, this.terminateSuccess = true, + this.runningProcesses = const [], }); bool installSuccess; IOSCoreDeviceLaunchResult? launchResult; + bool launchSuccess; + IOSCoreDeviceInstallResult? installResult; bool terminateSuccess; int? processTerminated; + List runningProcesses; bool get terminateProcessCalled => processTerminated != null; @override - Future installApp({required String deviceId, required String bundlePath}) async { - return installSuccess; + Future<(bool, IOSCoreDeviceInstallResult?)> installApp({ + required String deviceId, + required String bundlePath, + }) async { + if (installResult != null) { + return (installSuccess, installResult); + } + final result = IOSCoreDeviceInstallResult.fromJson({ + 'info': {'outcome': installSuccess ? 'success' : 'failure'}, + }); + return (installSuccess, result); } @override @@ -3197,11 +3779,27 @@ class FakeIOSCoreDeviceControl extends Fake implements IOSCoreDeviceControl { return launchResult; } + @override + Future launchAppAndStreamLogs({ + required IOSCoreDeviceLogForwarder coreDeviceLogForwarder, + required String deviceId, + required String bundleId, + List launchArguments = const [], + bool startStopped = false, + }) async { + return launchSuccess; + } + @override Future terminateProcess({required String deviceId, required int processId}) async { processTerminated = processId; return terminateSuccess; } + + @override + Future> getRunningProcesses({required String deviceId}) async { + return runningProcesses; + } } class FakeXcodeDebug extends Fake implements XcodeDebug { @@ -3289,7 +3887,11 @@ class FakeLLDB extends Fake implements LLDB { } @override - Future attachAndStart(String deviceId, int processId) async { + Future attachAndStart({ + required String deviceId, + required int appProcessId, + required LLDBLogForwarder lldbLogForwarder, + }) async { attemptedToAttach = true; return attachSuccess; } @@ -3367,3 +3969,21 @@ class FakeIosProject extends Fake implements IosProject { } class FakeTemplateRenderer extends Fake implements TemplateRenderer {} + +class FakeIOSCoreDeviceLogForwarder extends Fake implements IOSCoreDeviceLogForwarder { + List logs = []; + @override + Process? launchProcess; + + @override + bool get isRunning => false; + @override + Future exit() async { + return true; + } + + @override + void addLog(String log) { + logs.add(log); + } +} diff --git a/packages/flutter_tools/test/general.shard/ios/devices_test.dart b/packages/flutter_tools/test/general.shard/ios/devices_test.dart index f09b38040af65..f4537307c450e 100644 --- a/packages/flutter_tools/test/general.shard/ios/devices_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/devices_test.dart @@ -27,6 +27,7 @@ import 'package:flutter_tools/src/ios/iproxy.dart'; import 'package:flutter_tools/src/ios/mac.dart'; import 'package:flutter_tools/src/ios/xcode_debug.dart'; import 'package:flutter_tools/src/macos/xcdevice.dart'; +import 'package:flutter_tools/src/macos/xcode.dart'; import 'package:test/fake.dart'; import 'package:unified_analytics/unified_analytics.dart'; @@ -520,6 +521,7 @@ void main() { device: device, app: appPackage, iMobileDevice: IMobileDevice.test(processManager: FakeProcessManager.any()), + xcode: FakeXcode(), ); logReader.idevicesyslogProcess = process; return logReader; @@ -1131,3 +1133,5 @@ class FakeIOSCoreDeviceControl extends Fake implements IOSCoreDeviceControl {} class FakeIOSCoreDeviceLauncher extends Fake implements IOSCoreDeviceLauncher {} class FakeAnalytics extends Fake implements Analytics {} + +class FakeXcode extends Fake implements Xcode {} diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart index 9d62ad5307eff..6f92b9396031f 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_install_test.dart @@ -398,8 +398,14 @@ class FakeXcodeDebug extends Fake implements XcodeDebug {} class FakeIOSCoreDeviceControl extends Fake implements IOSCoreDeviceControl { @override - Future installApp({required String deviceId, required String bundlePath}) async { - return true; + Future<(bool, IOSCoreDeviceInstallResult?)> installApp({ + required String deviceId, + required String bundlePath, + }) async { + final result = IOSCoreDeviceInstallResult.fromJson({ + 'info': {'outcome': 'success'}, + }); + return (true, result); } @override diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart index 2bfb858f62a02..c79c30f75fef4 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_logger_test.dart @@ -7,12 +7,16 @@ import 'dart:async'; import 'package:flutter_tools/src/artifacts.dart'; import 'package:flutter_tools/src/base/async_guard.dart'; import 'package:flutter_tools/src/base/logger.dart'; +import 'package:flutter_tools/src/base/version.dart' as base; import 'package:flutter_tools/src/cache.dart'; import 'package:flutter_tools/src/convert.dart'; import 'package:flutter_tools/src/device.dart'; +import 'package:flutter_tools/src/ios/core_devices.dart'; import 'package:flutter_tools/src/ios/devices.dart'; import 'package:flutter_tools/src/ios/ios_deploy.dart'; +import 'package:flutter_tools/src/ios/lldb.dart'; import 'package:flutter_tools/src/ios/mac.dart'; +import 'package:flutter_tools/src/macos/xcode.dart'; import 'package:flutter_tools/src/vmservice.dart'; import 'package:test/fake.dart'; import 'package:vm_service/vm_service.dart'; @@ -74,6 +78,7 @@ Runner(UIKit)[297] : E is for enpitsu" cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), ); final List lines = await logReader.logLines.toList(); @@ -103,6 +108,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), ); final List lines = await logReader.logLines.toList(); @@ -136,6 +142,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), ); final List lines = await logReader.logLines.toList(); @@ -186,6 +193,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), ); await logReader.provideVmService(vmService); @@ -238,6 +246,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), ); await logReader.provideVmService(vmService); @@ -275,6 +284,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), useSyslog: false, ); final iosDeployDebugger = FakeIOSDeployDebugger(); @@ -299,6 +309,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), useSyslog: false, ); final streamComplete = Completer(); @@ -318,6 +329,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), useSyslog: false, ); final iosDeployDebugger = FakeIOSDeployDebugger(); @@ -342,6 +354,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), useSyslog: false, ); Object? exception; @@ -372,6 +385,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 17, isCoreDevice: true, ); @@ -379,6 +393,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt expect(logReader.useSyslogLogging, isTrue); expect(logReader.useUnifiedLogging, isTrue); expect(logReader.useIOSDeployLogging, isFalse); + expect(logReader.useCoreDeviceLogging, isFalse); expect(logReader.logSources.primarySource, IOSDeviceLogSource.idevicesyslog); expect(logReader.logSources.fallbackSource, IOSDeviceLogSource.unifiedLogging); }); @@ -391,6 +406,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 17, isCoreDevice: true, isWirelesslyConnected: true, @@ -399,6 +415,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt expect(logReader.useSyslogLogging, isFalse); expect(logReader.useUnifiedLogging, isTrue); expect(logReader.useIOSDeployLogging, isFalse); + expect(logReader.useCoreDeviceLogging, isFalse); expect(logReader.logSources.primarySource, IOSDeviceLogSource.unifiedLogging); expect(logReader.logSources.fallbackSource, isNull); }); @@ -411,12 +428,14 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 12, ); expect(logReader.useSyslogLogging, isTrue); expect(logReader.useUnifiedLogging, isFalse); expect(logReader.useIOSDeployLogging, isFalse); + expect(logReader.useCoreDeviceLogging, isFalse); expect(logReader.logSources.primarySource, IOSDeviceLogSource.idevicesyslog); expect(logReader.logSources.fallbackSource, isNull); }); @@ -431,12 +450,14 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 13, ); expect(logReader.useSyslogLogging, isFalse); expect(logReader.useUnifiedLogging, isTrue); expect(logReader.useIOSDeployLogging, isTrue); + expect(logReader.useCoreDeviceLogging, isFalse); expect(logReader.logSources.primarySource, IOSDeviceLogSource.iosDeploy); expect(logReader.logSources.fallbackSource, IOSDeviceLogSource.unifiedLogging); }, @@ -452,6 +473,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 13, ); @@ -477,6 +499,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt expect(logReader.useSyslogLogging, isFalse); expect(logReader.useUnifiedLogging, isTrue); expect(logReader.useIOSDeployLogging, isTrue); + expect(logReader.useCoreDeviceLogging, isFalse); expect(logReader.logSources.primarySource, IOSDeviceLogSource.unifiedLogging); expect(logReader.logSources.fallbackSource, IOSDeviceLogSource.iosDeploy); }, @@ -492,6 +515,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 13, ); @@ -521,6 +545,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt expect(logReader.useSyslogLogging, isFalse); expect(logReader.useUnifiedLogging, isTrue); expect(logReader.useIOSDeployLogging, isTrue); + expect(logReader.useCoreDeviceLogging, isFalse); expect(logReader.logSources.primarySource, IOSDeviceLogSource.iosDeploy); expect(logReader.logSources.fallbackSource, IOSDeviceLogSource.unifiedLogging); }, @@ -534,6 +559,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 16, ); @@ -544,6 +570,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt expect(logReader.useSyslogLogging, isFalse); expect(logReader.useUnifiedLogging, isTrue); expect(logReader.useIOSDeployLogging, isTrue); + expect(logReader.useCoreDeviceLogging, isFalse); expect(logReader.logSources.primarySource, IOSDeviceLogSource.iosDeploy); expect(logReader.logSources.fallbackSource, IOSDeviceLogSource.unifiedLogging); }); @@ -556,6 +583,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), usingCISystem: true, majorSdkVersion: 16, ); @@ -563,10 +591,32 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt expect(logReader.useSyslogLogging, isTrue); expect(logReader.useUnifiedLogging, isFalse); expect(logReader.useIOSDeployLogging, isTrue); + expect(logReader.useCoreDeviceLogging, isFalse); expect(logReader.logSources.primarySource, IOSDeviceLogSource.iosDeploy); expect(logReader.logSources.fallbackSource, IOSDeviceLogSource.idevicesyslog); }); + testWithoutContext('for CoreDevice and Xcode 26', () { + final logReader = IOSDeviceLogReader.test( + iMobileDevice: IMobileDevice( + artifacts: artifacts, + processManager: processManager, + cache: fakeCache, + logger: logger, + ), + xcode: FakeXcode(version: base.Version(26, 0, 0)), + majorSdkVersion: 17, + isCoreDevice: true, + ); + + expect(logReader.useSyslogLogging, isFalse); + expect(logReader.useUnifiedLogging, isTrue); + expect(logReader.useIOSDeployLogging, isFalse); + expect(logReader.useCoreDeviceLogging, isTrue); + expect(logReader.logSources.primarySource, IOSDeviceLogSource.devicectlAndLldb); + expect(logReader.logSources.fallbackSource, IOSDeviceLogSource.unifiedLogging); + }); + group('when useSyslogLogging', () { testWithoutContext('is true syslog sends flutter messages to stream', () async { processManager.addCommand( @@ -588,6 +638,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), usingCISystem: true, majorSdkVersion: 16, ); @@ -609,6 +660,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 16, ); @@ -633,6 +685,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 16, ); @@ -658,6 +711,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 12, ); @@ -714,6 +768,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), ); await logReader.provideVmService(vmService); @@ -765,6 +820,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 12, ); await logReader.provideVmService(vmService); @@ -778,6 +834,66 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt }); }); + group('when useCoreDeviceLogging', () { + testWithoutContext('is true devicectl and lldb sends messages to stream', () async { + final logReader = IOSDeviceLogReader.test( + iMobileDevice: IMobileDevice( + artifacts: artifacts, + processManager: FakeProcessManager.any(), + cache: fakeCache, + logger: logger, + ), + xcode: FakeXcode(version: base.Version(26, 0, 0)), + majorSdkVersion: 17, + isCoreDevice: true, + ); + + final coreDeviceLauncher = FakeIOSCoreDeviceLauncher(); + await logReader.listenToCoreDeviceLauncher(coreDeviceLauncher); + + const deviceCtlLog = 'A log from devicectl\n'; + const lldbLog = 'A log from LLDB\n'; + + coreDeviceLauncher.coreDeviceLogForwarder.addLog(deviceCtlLog); + coreDeviceLauncher.lldbLogForwarder.addLog(lldbLog); + + expect(logReader.useCoreDeviceLogging, isTrue); + await expectLater( + logReader.logLines, + emitsInAnyOrder([equals(deviceCtlLog), equals(lldbLog)]), + ); + }); + + testWithoutContext('is false devicectl and lldb do not sends messages to stream', () async { + final logReader = IOSDeviceLogReader.test( + iMobileDevice: IMobileDevice( + artifacts: artifacts, + processManager: FakeProcessManager.any(), + cache: fakeCache, + logger: logger, + ), + xcode: FakeXcode(version: base.Version(16, 0, 0)), + majorSdkVersion: 17, + isCoreDevice: true, + ); + + final coreDeviceLauncher = FakeIOSCoreDeviceLauncher(); + await logReader.listenToCoreDeviceLauncher(coreDeviceLauncher); + + const deviceCtlLog = 'A log from devicectl\n'; + const lldbLog = 'A log from LLDB\n'; + + coreDeviceLauncher.coreDeviceLogForwarder.addLog(deviceCtlLog); + coreDeviceLauncher.lldbLogForwarder.addLog(lldbLog); + + expect(logReader.useCoreDeviceLogging, isFalse); + await expectLater(logReader.logLines, neverEmits(deviceCtlLog)); + + expect(logReader.useCoreDeviceLogging, isFalse); + await expectLater(logReader.logLines, neverEmits(lldbLog)); + }); + }); + group('and when to exclude logs:', () { testWithoutContext( 'all primary messages are included except if fallback sent flutter message first', @@ -789,6 +905,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), usingCISystem: true, majorSdkVersion: 16, ); @@ -838,6 +955,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), majorSdkVersion: 12, ); @@ -885,6 +1003,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), usingCISystem: true, majorSdkVersion: 16, ); @@ -948,6 +1067,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), usingCISystem: true, majorSdkVersion: 16, ); @@ -1006,6 +1126,7 @@ Runner(libsystem_asl.dylib)[297] : libMobileGestalt cache: fakeCache, logger: logger, ), + xcode: FakeXcode(), usingCISystem: true, majorSdkVersion: 16, ); @@ -1046,3 +1167,21 @@ class FakeIOSDeployDebugger extends Fake implements IOSDeployDebugger { detached = true; } } + +@override +class FakeXcode extends Fake implements Xcode { + FakeXcode({this.version}); + + base.Version? version; + + @override + base.Version? get currentVersion => version ?? base.Version(16, 0, 0); +} + +class FakeIOSCoreDeviceLauncher extends Fake implements IOSCoreDeviceLauncher { + @override + final coreDeviceLogForwarder = IOSCoreDeviceLogForwarder(); + + @override + final lldbLogForwarder = LLDBLogForwarder(); +} diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart index 9e7a498510c1f..a5e2591b45d79 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart @@ -1375,8 +1375,14 @@ class FakeIOSCoreDeviceControl extends Fake implements IOSCoreDeviceControl { List? get argumentsUsedForLaunch => _launchArguments; @override - Future installApp({required String deviceId, required String bundlePath}) async { - return installSuccess; + Future<(bool, IOSCoreDeviceInstallResult?)> installApp({ + required String deviceId, + required String bundlePath, + }) async { + final result = IOSCoreDeviceInstallResult.fromJson({ + 'info': {'outcome': installSuccess ? 'success' : 'failure'}, + }); + return (installSuccess, result); } @override diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart index e294e9441e914..17c01753f9f74 100644 --- a/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/ios_device_start_prebuilt_test.dart @@ -11,7 +11,6 @@ import 'package:flutter_tools/src/artifacts.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; -import 'package:flutter_tools/src/base/process.dart'; import 'package:flutter_tools/src/base/template.dart'; import 'package:flutter_tools/src/base/version.dart'; import 'package:flutter_tools/src/build_info.dart'; @@ -23,6 +22,7 @@ import 'package:flutter_tools/src/ios/core_devices.dart'; import 'package:flutter_tools/src/ios/devices.dart'; import 'package:flutter_tools/src/ios/ios_deploy.dart'; import 'package:flutter_tools/src/ios/iproxy.dart'; +import 'package:flutter_tools/src/ios/lldb.dart'; import 'package:flutter_tools/src/ios/mac.dart'; import 'package:flutter_tools/src/ios/xcode_debug.dart'; import 'package:flutter_tools/src/macos/xcode.dart'; @@ -177,7 +177,7 @@ void main() { }, ); - testWithoutContext( + testUsingContext( 'IOSDevice.startApp twice in a row where ios-deploy fails the first time', () async { final logger = BufferLogger.test(); @@ -429,7 +429,7 @@ void main() { overrides: {MDnsVmServiceDiscovery: () => FakeMDnsVmServiceDiscovery()}, ); - testWithoutContext( + testUsingContext( 'IOSDevice.startApp retries when ios-deploy loses connection the first time in CI', () async { final logger = BufferLogger.test(); @@ -490,7 +490,7 @@ void main() { }, ); - testWithoutContext( + testUsingContext( 'IOSDevice.startApp does not retry when ios-deploy loses connection if not in CI', () async { final logger = BufferLogger.test(); @@ -862,15 +862,21 @@ void main() { uncompressedBundle: bundleLocation, applicationPackage: bundleLocation, ); - final deviceLogReader = FakeDeviceLogReader(); + final DeviceLogReader deviceLogReader = IOSDeviceLogReader.test( + iMobileDevice: FakeIMobileDevice(), + xcode: FakeXcode(currentVersion: Version(26, 0, 0)), + isCoreDevice: true, + ); device.portForwarder = const NoOpDevicePortForwarder(); device.setLogReader(iosApp, deviceLogReader); // Start writing messages to the log reader. Timer.run(() { - deviceLogReader.addLine('Foo'); - deviceLogReader.addLine('The Dart VM service is listening on http://127.0.0.1:456'); + fakeLauncher.coreDeviceLogForwarder.addLog('Foo'); + fakeLauncher.coreDeviceLogForwarder.addLog( + 'The Dart VM service is listening on http://127.0.0.1:456', + ); }); final LaunchResult launchResult = await device.startApp( @@ -881,6 +887,7 @@ void main() { ); expect(launchResult.started, true); + expect(launchResult.hasVmService, true); expect(fakeLauncher.launchedWithLLDB, true); expect(fakeLauncher.launchedWithXcode, false); expect(fakeAnalytics.sentEvents, [ @@ -1197,7 +1204,7 @@ void main() { deviceLogReader.addLine('The Dart VM service is listening on http://127.0.0.1:456'); }); - final shutDownHooks = FakeShutDownHooks(); + final shutDownHooks = FakeShutdownHooks(); final LaunchResult launchResult = await device.startApp( iosApp, @@ -1208,7 +1215,7 @@ void main() { ); expect(launchResult.started, true); - expect(shutDownHooks.hooks.length, 1); + expect(shutDownHooks.registeredHooks.length, 1); expect(fakeAnalytics.sentEvents, [ Event.appleUsageEvent( workflow: 'ios-physical-deployment', @@ -1687,14 +1694,6 @@ class FakeXcodeDebug extends Fake implements XcodeDebug { class FakeIOSCoreDeviceControl extends Fake implements IOSCoreDeviceControl {} -class FakeShutDownHooks extends Fake implements ShutdownHooks { - var hooks = []; - @override - void addShutdownHook(ShutdownHook shutdownHook) { - hooks.add(shutdownHook); - } -} - class FakeXcode extends Fake implements Xcode { FakeXcode({this.currentVersion}); @@ -1711,6 +1710,12 @@ class FakeIOSCoreDeviceLauncher extends Fake implements IOSCoreDeviceLauncher { Completer? xcodeCompleter; + @override + final coreDeviceLogForwarder = IOSCoreDeviceLogForwarder(); + + @override + final lldbLogForwarder = LLDBLogForwarder(); + @override Future launchAppWithLLDBDebugger({ required String deviceId, @@ -1753,3 +1758,5 @@ class FakeAnalytics extends Fake implements Analytics { sentEvents.add(event); } } + +class FakeIMobileDevice extends Fake implements IMobileDevice {} diff --git a/packages/flutter_tools/test/general.shard/ios/lldb_test.dart b/packages/flutter_tools/test/general.shard/ios/lldb_test.dart index 3756f58d6ded6..562f2c03a39ee 100644 --- a/packages/flutter_tools/test/general.shard/ios/lldb_test.dart +++ b/packages/flutter_tools/test/general.shard/ios/lldb_test.dart @@ -19,7 +19,7 @@ import '../../src/fake_process_manager.dart'; void main() { testWithoutContext('attachAndStart fails if lldb fails', () async { const deviceId = '123'; - const appappProcessId = 5678; + const appProcessId = 5678; final processCompleter = Completer(); final lldbCommand = FakeLLDBCommand( @@ -38,7 +38,11 @@ void main() { final processUtils = ProcessUtils(processManager: processManager, logger: logger); final lldb = LLDB(logger: logger, processUtils: processUtils); - final bool success = await lldb.attachAndStart(deviceId, appappProcessId); + final bool success = await lldb.attachAndStart( + deviceId: deviceId, + appProcessId: appProcessId, + lldbLogForwarder: FakeLLDBLogForwarder(), + ); expect(success, isFalse); expect(lldb.isRunning, isFalse); expect(lldb.appProcessId, isNull); @@ -48,7 +52,7 @@ void main() { testWithoutContext('attachAndStart returns true on success', () async { const deviceId = '123'; - const appappProcessId = 5678; + const appProcessId = 5678; const breakpointId = 123; final breakPointCompleter = Completer>(); @@ -79,7 +83,7 @@ void main() { final lldb = LLDB(logger: logger, processUtils: processUtils); const breakPointMatcher = r"breakpoint set --func-regex '^NOTIFY_DEBUGGER_ABOUT_RX_PAGES$'"; - const processAttachMatcher = 'device process attach --pid $appappProcessId'; + const processAttachMatcher = 'device process attach --pid $appProcessId'; const processResumedMatcher = 'process continue'; final expectedInputs = [ 'device select $deviceId', @@ -114,14 +118,18 @@ Target 0: (Runner) stopped. ); } if (line == processResumedMatcher) { - processResumedCompleted.complete(utf8.encode('Process $appappProcessId resuming\n')); + processResumedCompleted.complete(utf8.encode('Process $appProcessId resuming\n')); } }); - final bool success = await lldb.attachAndStart(deviceId, appappProcessId); + final bool success = await lldb.attachAndStart( + deviceId: deviceId, + appProcessId: appProcessId, + lldbLogForwarder: FakeLLDBLogForwarder(), + ); expect(success, isTrue); expect(lldb.isRunning, isTrue); - expect(lldb.appProcessId, appappProcessId); + expect(lldb.appProcessId, appProcessId); expect(expectedInputs, isEmpty); expect(processManager.hasRemainingExpectations, isFalse); expect(logger.errorText, isEmpty); @@ -129,7 +137,7 @@ Target 0: (Runner) stopped. testWithoutContext('attachAndStart returns false when stderr during log waiter', () async { const deviceId = '123'; - const appappProcessId = 5678; + const appProcessId = 5678; final breakPointCompleter = Completer>(); final errorCompleter = Completer>(); @@ -168,7 +176,11 @@ Target 0: (Runner) stopped. } }); - final bool success = await lldb.attachAndStart(deviceId, appappProcessId); + final bool success = await lldb.attachAndStart( + deviceId: deviceId, + appProcessId: appProcessId, + lldbLogForwarder: FakeLLDBLogForwarder(), + ); expect(success, isFalse); expect(lldb.isRunning, isFalse); expect(lldb.appProcessId, isNull); @@ -179,7 +191,7 @@ Target 0: (Runner) stopped. testWithoutContext('attachAndStart returns false when stderr not during log waiter', () async { const deviceId = '123'; - const appappProcessId = 5678; + const appProcessId = 5678; final breakPointCompleter = Completer>(); final errorCompleter = Completer>(); @@ -214,7 +226,11 @@ Target 0: (Runner) stopped. errorCompleter.complete(utf8.encode(errorText)); }); - final bool success = await lldb.attachAndStart(deviceId, appappProcessId); + final bool success = await lldb.attachAndStart( + deviceId: deviceId, + appProcessId: appProcessId, + lldbLogForwarder: FakeLLDBLogForwarder(), + ); expect(success, isFalse); expect(lldb.isRunning, isFalse); expect(lldb.appProcessId, isNull); @@ -225,7 +241,7 @@ Target 0: (Runner) stopped. testWithoutContext('attachAndStart prints warning if takes too long', () async { const deviceId = '123'; - const appappProcessId = 5678; + const appProcessId = 5678; final stdinController = StreamController>(); @@ -255,7 +271,11 @@ Target 0: (Runner) stopped. }); await FakeAsync().run((FakeAsync time) { - lldb.attachAndStart(deviceId, appappProcessId); + lldb.attachAndStart( + deviceId: deviceId, + appProcessId: appProcessId, + lldbLogForwarder: FakeLLDBLogForwarder(), + ); time.elapse(const Duration(minutes: 2)); time.flushMicrotasks(); return completer.future; @@ -267,9 +287,106 @@ Target 0: (Runner) stopped. ); }); + testWithoutContext('attachAndStart streams logs to LLDBLogForwarder', () async { + const deviceId = '123'; + const appProcessId = 5678; + const breakpointId = 123; + + final breakPointCompleter = Completer>(); + final processAttachCompleter = Completer>(); + final processResumedCompleted = Completer>(); + final logAfterAttachCompleter = Completer>(); + + final stdoutStream = Stream>.fromFutures([ + breakPointCompleter.future, + processAttachCompleter.future, + processResumedCompleted.future, + logAfterAttachCompleter.future, + ]); + + final stdinController = StreamController>(); + + final processCompleter = Completer(); + final lldbCommand = FakeLLDBCommand( + command: const ['lldb'], + completer: processCompleter, + stdin: io.IOSink(stdinController.sink), + stdout: stdoutStream, + stderr: const Stream.empty(), + ); + + final logger = BufferLogger.test(); + + final processManager = FakeLLDBProcessManager([lldbCommand]); + final processUtils = ProcessUtils(processManager: processManager, logger: logger); + final lldb = LLDB(logger: logger, processUtils: processUtils); + + const breakPointMatcher = r"breakpoint set --func-regex '^NOTIFY_DEBUGGER_ABOUT_RX_PAGES$'"; + const processAttachMatcher = 'device process attach --pid $appProcessId'; + const processResumedMatcher = 'process continue'; + final expectedInputs = [ + 'device select $deviceId', + breakPointMatcher, + 'breakpoint command add --script-type python $breakpointId', + processAttachMatcher, + processResumedMatcher, + ]; + + stdinController.stream.transform(utf8.decoder).transform(const LineSplitter()).listen(( + String line, + ) { + expectedInputs.remove(line); + if (line == breakPointMatcher) { + breakPointCompleter.complete( + utf8.encode('Breakpoint $breakpointId: no locations (pending).\n'), + ); + } + if (line == processAttachMatcher) { + processAttachCompleter.complete( + utf8.encode(''' +Process 568 stopped +* thread #1, stop reason = signal SIGSTOP + frame #0: 0x0000000102c7b240 dyld`_dyld_start +dyld`_dyld_start: +-> 0x102c7b240 <+0>: mov x0, sp + 0x102c7b244 <+4>: and sp, x0, #0xfffffffffffffff0 + 0x102c7b248 <+8>: mov x29, #0x0 ; =0 + 0x102c7b24c <+12>: mov x30, #0x0 ; =0 +Target 0: (Runner) stopped. +'''), + ); + } + if (line == processResumedMatcher) { + processResumedCompleted.complete(utf8.encode('Process $appProcessId resuming\n')); + } + }); + + const ignoreLog = '1 location added to breakpoint 1'; + const expectedForwardedLog = 'Some random log from LLDB'; + final lldbLogForwarder = FakeLLDBLogForwarder(expectedLog: expectedForwardedLog); + + final bool success = await lldb.attachAndStart( + deviceId: deviceId, + appProcessId: appProcessId, + lldbLogForwarder: lldbLogForwarder, + ); + + logAfterAttachCompleter.complete(utf8.encode('$ignoreLog\n$expectedForwardedLog\n')); + await lldbLogForwarder.expectedLogCompleter.future; + + expect(success, isTrue); + expect(lldb.isRunning, isTrue); + expect(lldb.appProcessId, appProcessId); + expect(expectedInputs, isEmpty); + expect(processManager.hasRemainingExpectations, isFalse); + expect(logger.errorText, isEmpty); + expect(lldbLogForwarder.logs.length, 1); + expect(lldbLogForwarder.logs, contains(expectedForwardedLog)); + }); + testWithoutContext('exit returns true and kills process', () async { const deviceId = '123'; - const appappProcessId = 5678; + const appProcessId = 5678; final stdinController = StreamController>(); @@ -298,9 +415,16 @@ Target 0: (Runner) stopped. } }); - unawaited(lldb.attachAndStart(deviceId, appappProcessId)); + unawaited( + lldb.attachAndStart( + deviceId: deviceId, + appProcessId: appProcessId, + lldbLogForwarder: FakeLLDBLogForwarder(), + ), + ); await lldbStarted.future; + expect(lldb.isRunning, isTrue); final bool exitStatus = lldb.exit(); expect(exitStatus, isTrue); expect(lldb.isRunning, isFalse); @@ -320,6 +444,41 @@ Target 0: (Runner) stopped. expect(lldb.isRunning, isFalse); expect(lldb.appProcessId, isNull); }); + + group('LLDBLogForwarder', () { + testWithoutContext('addLog', () async { + const expectedLog = 'hello world'; + final expectedLogCompleter = Completer(); + final lldbLogForwarder = LLDBLogForwarder(); + lldbLogForwarder.logLines.listen((String line) { + expect(line, expectedLog); + expectedLogCompleter.complete(); + }); + lldbLogForwarder.addLog(expectedLog); + await expectedLogCompleter.future; + }); + + testWithoutContext('exit', () async { + final exitCompleter = Completer(); + final lldbLogForwarder = LLDBLogForwarder(); + lldbLogForwarder.logLines.listen((String line) => line).onDone(() { + exitCompleter.complete(); + }); + await lldbLogForwarder.exit(); + await exitCompleter.future; + }); + + testWithoutContext('addLog after exit', () async { + final exitCompleter = Completer(); + final lldbLogForwarder = LLDBLogForwarder(); + lldbLogForwarder.logLines.listen((String line) => line).onDone(() { + exitCompleter.complete(); + }); + await lldbLogForwarder.exit(); + await exitCompleter.future; + lldbLogForwarder.addLog('hello world'); + }); + }); } class FakeLLDBProcessManager extends Fake implements ProcessManager { @@ -500,3 +659,21 @@ class FakeLLDBCommand { expect(command, matchers); } } + +class FakeLLDBLogForwarder extends Fake implements LLDBLogForwarder { + FakeLLDBLogForwarder({this.expectedLog}); + + final expectedLogCompleter = Completer(); + + final String? expectedLog; + + final logs = []; + + @override + void addLog(String log) { + logs.add(log); + if (log == expectedLog) { + expectedLogCompleter.complete(); + } + } +} diff --git a/packages/flutter_tools/test/general.shard/isolated/android/native_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/android/native_assets_test.dart index 463906113f1ff..3e25a60eb361f 100644 --- a/packages/flutter_tools/test/general.shard/isolated/android/native_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/android/native_assets_test.dart @@ -8,7 +8,7 @@ import 'package:file/memory.dart'; import 'package:file_testing/file_testing.dart'; import 'package:flutter_tools/src/android/gradle_utils.dart'; import 'package:flutter_tools/src/artifacts.dart'; -import 'package:flutter_tools/src/base/common.dart'; +import 'package:flutter_tools/src/base/common.dart' show throwToolExit; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; @@ -17,6 +17,7 @@ import 'package:flutter_tools/src/build_system/build_system.dart'; import 'package:flutter_tools/src/build_system/targets/native_assets.dart'; import 'package:flutter_tools/src/features.dart'; import 'package:flutter_tools/src/globals.dart' as globals; +import 'package:flutter_tools/src/isolated/native_assets/dart_hook_result.dart'; import 'package:flutter_tools/src/isolated/native_assets/native_assets.dart'; import '../../../src/common.dart'; @@ -85,7 +86,7 @@ void main() { kBuildMode: buildMode.cliName, kMinSdkVersion: minSdkVersion, }; - final DartBuildResult result = await runFlutterSpecificDartBuild( + final DartHooksResult result = await runFlutterSpecificHooks( environmentDefines: environmentDefines, targetPlatform: TargetPlatform.android_arm64, projectUri: projectUri, @@ -93,7 +94,7 @@ void main() { buildRunner: buildRunner, ); await installCodeAssets( - dartBuildResult: result, + dartHookResult: result, environmentDefines: environmentDefines, targetPlatform: TargetPlatform.android_arm64, projectUri: projectUri, @@ -103,8 +104,8 @@ void main() { expect( (globals.logger as BufferLogger).traceText, stringContainsInOrder([ - 'Building native assets for android arm64.', - 'Building native assets for android arm64 done.', + 'Building native assets for android_arm64.', + 'Building native assets for android_arm64 done.', ]), ); @@ -123,7 +124,7 @@ void main() { () async { final File packageConfig = environment.projectDir.childFile('.dart_tool/package_config.json'); await packageConfig.create(recursive: true); - await runFlutterSpecificDartBuild( + await runFlutterSpecificHooks( environmentDefines: { kBuildMode: BuildMode.debug.cliName, kMinSdkVersion: minSdkVersion, @@ -148,7 +149,7 @@ void main() { await packageConfig.parent.create(); await packageConfig.create(); expect( - () => runFlutterSpecificDartBuild( + () => runFlutterSpecificHooks( environmentDefines: { kBuildMode: BuildMode.debug.cliName, kMinSdkVersion: minSdkVersion, @@ -168,6 +169,6 @@ class _BuildRunnerWithoutNdk extends FakeFlutterNativeAssetsBuildRunner { _BuildRunnerWithoutNdk({super.packagesWithNativeAssetsResult = const []}); @override - Future get ndkCCompilerConfig async => + CCompilerConfig? get ndkCCompilerConfigResult => throwToolExit('Android NDK Clang could not be found.'); } diff --git a/packages/flutter_tools/test/general.shard/isolated/build_system/targets/native_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/build_system/targets/native_assets_test.dart index 10620cc0afc17..5332bd32ad7d7 100644 --- a/packages/flutter_tools/test/general.shard/isolated/build_system/targets/native_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/build_system/targets/native_assets_test.dart @@ -214,14 +214,14 @@ void main() { // * dart build output should depend on C source // * installation output should depend on shared library from dart build - final File dartBuildResult = iosEnvironment.buildDir.childFile( - DartBuild.dartBuildResultFilename, + final File dartHookResult = iosEnvironment.buildDir.childFile( + DartBuild.dartHookResultFilename, ); final File buildDepsFile = iosEnvironment.buildDir.childFile(DartBuild.depFilename); expect(buildDepsFile, exists); expect( buildDepsFile.readAsStringSync(), - stringContainsInOrder([dartBuildResult.path, ':', 'src/foo.c']), + stringContainsInOrder([dartHookResult.path, ':', 'src/foo.c']), ); final File nativeAssetsYaml = iosEnvironment.buildDir.childFile( diff --git a/packages/flutter_tools/test/general.shard/isolated/data_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/data_assets_test.dart new file mode 100644 index 0000000000000..07b97df71f9eb --- /dev/null +++ b/packages/flutter_tools/test/general.shard/isolated/data_assets_test.dart @@ -0,0 +1,126 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:data_assets/data_assets.dart'; +import 'package:file/file.dart' show File, FileSystem; +import 'package:file/memory.dart' show MemoryFileSystem; +import 'package:flutter_tools/src/artifacts.dart' show Artifacts; +import 'package:flutter_tools/src/base/logger.dart' show BufferLogger; +import 'package:flutter_tools/src/build_info.dart' show BuildMode, TargetPlatform, kBuildMode; +import 'package:flutter_tools/src/build_system/build_system.dart' show Environment; +import 'package:flutter_tools/src/features.dart' show FeatureFlags; +import 'package:flutter_tools/src/isolated/native_assets/native_assets.dart' + show runFlutterSpecificHooks; + +import '../../src/common.dart' show expect, returnsNormally, setUp, throwsToolExit; +import '../../src/context.dart' + show FakeProcessManager, Generator, ProcessManager, testUsingContext; +import '../../src/fakes.dart' show TestFeatureFlags; +import 'fake_native_assets_build_runner.dart' + show FakeFlutterNativeAssetsBuildRunner, FakeFlutterNativeAssetsBuilderResult; + +void main() { + late FakeProcessManager processManager; + late Environment environment; + late Artifacts artifacts; + late FileSystem fileSystem; + late BufferLogger logger; + late Uri projectUri; + + setUp(() { + processManager = FakeProcessManager.empty(); + logger = BufferLogger.test(); + artifacts = Artifacts.test(); + fileSystem = MemoryFileSystem.test(); + environment = Environment.test( + fileSystem.currentDirectory, + inputs: {}, + artifacts: artifacts, + processManager: processManager, + fileSystem: fileSystem, + logger: logger, + ); + environment.buildDir.createSync(recursive: true); + projectUri = environment.projectDir.uri; + }); + + testUsingContext( + 'build but data assets are not enabled', + overrides: { + ProcessManager: FakeProcessManager.empty, + FeatureFlags: () => TestFeatureFlags(), + }, + () async { + final File packageConfig = environment.projectDir.childFile('.dart_tool/package_config.json'); + await packageConfig.parent.create(); + await packageConfig.create(); + expect( + () => runFlutterSpecificHooks( + environmentDefines: {kBuildMode: BuildMode.debug.cliName}, + targetPlatform: TargetPlatform.windows_x64, + projectUri: projectUri, + fileSystem: fileSystem, + buildRunner: FakeFlutterNativeAssetsBuildRunner( + packagesWithNativeAssetsResult: ['bar'], + ), + ), + throwsToolExit( + message: 'Enable data assets using `flutter config --enable-dart-data-assets`', + ), + ); + }, + ); + + testUsingContext( + 'Data assets: no duplicate assets with linking', + overrides: { + FeatureFlags: () => TestFeatureFlags(isNativeAssetsEnabled: true), + ProcessManager: FakeProcessManager.empty, + }, + () async { + final File packageConfig = environment.projectDir.childFile('.dart_tool/package_config.json'); + await packageConfig.parent.create(); + await packageConfig.create(); + + final File imageFile = environment.projectDir.childFile('image.png'); + imageFile.writeAsBytesSync([]); + final File textFile1 = environment.projectDir.childFile('text.txt'); + textFile1.writeAsStringSync('test'); + final File textFile2 = environment.projectDir.childFile('text.json'); + textFile2.writeAsStringSync('{}'); + + DataAsset makeDataAsset(String name, Uri file) => + DataAsset(package: 'bar', name: name, file: file); + + for (final buildMode in [BuildMode.debug, BuildMode.release]) { + expect( + () async => runFlutterSpecificHooks( + environmentDefines: {kBuildMode: buildMode.cliName}, + targetPlatform: TargetPlatform.linux_x64, + projectUri: projectUri, + fileSystem: fileSystem, + buildRunner: FakeFlutterNativeAssetsBuildRunner( + packagesWithNativeAssetsResult: ['bar'], + buildResult: FakeFlutterNativeAssetsBuilderResult.fromAssets( + dataAssets: [makeDataAsset('direct', imageFile.uri)], + dataAssetsForLinking: >{ + 'package:bar': [makeDataAsset('linkable', textFile1.uri)], + }, + ), + linkResult: FakeFlutterNativeAssetsBuilderResult.fromAssets( + dataAssets: [ + makeDataAsset('direct', imageFile.uri), + makeDataAsset('linked', textFile2.uri), + ], + ), + ), + ), + buildMode == BuildMode.release + ? throwsToolExit(message: 'Found duplicates') + : returnsNormally, + ); + } + }, + ); +} diff --git a/packages/flutter_tools/test/general.shard/isolated/fake_native_assets_build_runner.dart b/packages/flutter_tools/test/general.shard/isolated/fake_native_assets_build_runner.dart index d25ca46244625..43e3c89fefa8e 100644 --- a/packages/flutter_tools/test/general.shard/isolated/fake_native_assets_build_runner.dart +++ b/packages/flutter_tools/test/general.shard/isolated/fake_native_assets_build_runner.dart @@ -3,7 +3,9 @@ // found in the LICENSE file. import 'package:code_assets/code_assets.dart'; +import 'package:data_assets/data_assets.dart'; import 'package:flutter_tools/src/isolated/native_assets/native_assets.dart'; +import 'package:flutter_tools/src/isolated/native_assets/targets.dart'; import 'package:hooks/hooks.dart'; import 'package:hooks_runner/hooks_runner.dart'; @@ -18,8 +20,6 @@ class FakeFlutterNativeAssetsBuildRunner implements FlutterNativeAssetsBuildRunn this.onLink, this.buildResult = const FakeFlutterNativeAssetsBuilderResult(), this.linkResult = const FakeFlutterNativeAssetsBuilderResult(), - this.cCompilerConfigResult, - this.ndkCCompilerConfigResult, }); // TODO(dcharkes): Cleanup this fake https://github.com/flutter/flutter/issues/162061 @@ -28,8 +28,6 @@ class FakeFlutterNativeAssetsBuildRunner implements FlutterNativeAssetsBuildRunn final BuildResult? buildResult; final LinkResult? linkResult; final List packagesWithNativeAssetsResult; - final CCompilerConfig? cCompilerConfigResult; - final CCompilerConfig? ndkCCompilerConfigResult; var buildInvocations = 0; var linkInvocations = 0; @@ -77,7 +75,11 @@ class FakeFlutterNativeAssetsBuildRunner implements FlutterNativeAssetsBuildRunn outputDirectoryShared: Uri.parse('build-out-dir-shared'), outputFile: Uri.file('output.json'), ) - ..setupLink(assets: buildResult.encodedAssets, recordedUsesFile: null); + ..setupLink( + assets: buildResult.encodedAssets, + recordedUsesFile: null, + assetsFromLinking: [], + ); for (final extension in extensions) { extension.setupLinkInput(input); } @@ -96,11 +98,19 @@ class FakeFlutterNativeAssetsBuildRunner implements FlutterNativeAssetsBuildRunn return packagesWithNativeAssetsResult; } - @override - Future get cCompilerConfig async => cCompilerConfigResult; + CCompilerConfig? get cCompilerConfigResult => null; + CCompilerConfig? get ndkCCompilerConfigResult => null; @override - Future get ndkCCompilerConfig async => cCompilerConfigResult; + Future setCCompilerConfig(CodeAssetTarget target) async { + if (target is AndroidAssetTarget) { + target.cCompilerConfigSync = ndkCCompilerConfigResult; + } else if (target is FlutterTesterAssetTarget) { + target.subtarget.cCompilerConfigSync = cCompilerConfigResult; + } else { + target.cCompilerConfigSync = cCompilerConfigResult; + } + } } final class FakeFlutterNativeAssetsBuilderResult implements BuildResult, LinkResult { @@ -112,18 +122,25 @@ final class FakeFlutterNativeAssetsBuilderResult implements BuildResult, LinkRes factory FakeFlutterNativeAssetsBuilderResult.fromAssets({ List codeAssets = const [], + List dataAssets = const [], Map> codeAssetsForLinking = const >{}, + Map> dataAssetsForLinking = const >{}, List dependencies = const [], }) { return FakeFlutterNativeAssetsBuilderResult( encodedAssets: [ for (final CodeAsset codeAsset in codeAssets) codeAsset.encode(), + for (final DataAsset dataAsset in dataAssets) dataAsset.encode(), ], encodedAssetsForLinking: >{ for (final String linkerName in codeAssetsForLinking.keys) linkerName: [ for (final CodeAsset codeAsset in codeAssetsForLinking[linkerName]!) codeAsset.encode(), ], + for (final String linkerName in dataAssetsForLinking.keys) + linkerName: [ + for (final DataAsset dataAsset in dataAssetsForLinking[linkerName]!) dataAsset.encode(), + ], }, dependencies: dependencies, ); diff --git a/packages/flutter_tools/test/general.shard/isolated/ios/native_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/ios/native_assets_test.dart index 56997bfac4f7a..c016c0565301f 100644 --- a/packages/flutter_tools/test/general.shard/isolated/ios/native_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/ios/native_assets_test.dart @@ -14,6 +14,7 @@ import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/build_system/build_system.dart'; import 'package:flutter_tools/src/build_system/targets/native_assets.dart'; import 'package:flutter_tools/src/globals.dart' as globals; +import 'package:flutter_tools/src/isolated/native_assets/dart_hook_result.dart'; import 'package:flutter_tools/src/isolated/native_assets/native_assets.dart'; import 'package:hooks/hooks.dart'; @@ -184,7 +185,7 @@ void main() { kSdkRoot: '.../iPhone Simulator', kIosArchs: 'arm64 x86_64', }; - final DartBuildResult dartBuildResult = await runFlutterSpecificDartBuild( + final DartHooksResult dartHookResult = await runFlutterSpecificHooks( environmentDefines: environmentDefines, targetPlatform: TargetPlatform.ios, projectUri: projectUri, @@ -192,7 +193,7 @@ void main() { buildRunner: buildRunner, ); await installCodeAssets( - dartBuildResult: dartBuildResult, + dartHookResult: dartHookResult, environmentDefines: environmentDefines, targetPlatform: TargetPlatform.ios, projectUri: projectUri, @@ -202,8 +203,8 @@ void main() { expect( (globals.logger as BufferLogger).traceText, stringContainsInOrder([ - 'Building native assets for ios [arm64, x64].', - 'Building native assets for ios [arm64, x64] done.', + 'Building native assets for ios_arm64, ios_x64.', + 'Building native assets for ios_arm64, ios_x64 done.', ]), ); expect(environment.buildDir.childFile(InstallCodeAssets.nativeAssetsFilename), exists); diff --git a/packages/flutter_tools/test/general.shard/isolated/linux/native_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/linux/native_assets_test.dart index 0bfb294256f5e..236b90749ccf9 100644 --- a/packages/flutter_tools/test/general.shard/isolated/linux/native_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/linux/native_assets_test.dart @@ -12,14 +12,12 @@ import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/build_system/build_system.dart'; -import 'package:flutter_tools/src/dart/package_map.dart'; import 'package:flutter_tools/src/globals.dart' as globals; +import 'package:flutter_tools/src/isolated/native_assets/linux/native_assets.dart'; import 'package:flutter_tools/src/isolated/native_assets/native_assets.dart'; -import 'package:package_config/package_config_types.dart'; import '../../../src/common.dart'; import '../../../src/context.dart'; -import '../../../src/package_config.dart'; import '../fake_native_assets_build_runner.dart'; void main() { @@ -29,7 +27,6 @@ void main() { late FileSystem fileSystem; late BufferLogger logger; late Uri projectUri; - late String runPackageName; setUp(() { processManager = FakeProcessManager.empty(); @@ -46,7 +43,6 @@ void main() { ); environment.buildDir.createSync(recursive: true); projectUri = environment.projectDir.uri; - runPackageName = environment.projectDir.basename; }); testUsingContext( @@ -56,7 +52,7 @@ void main() { final File packageConfig = environment.projectDir.childFile('.dart_tool/package_config.json'); await packageConfig.create(recursive: true); - await runFlutterSpecificDartBuild( + await runFlutterSpecificHooks( environmentDefines: {kBuildMode: BuildMode.debug.cliName}, targetPlatform: TargetPlatform.linux_x64, projectUri: projectUri, @@ -74,7 +70,7 @@ void main() { // randomization causing issues with what processes are invoked. // Exercise the parsing of the process output in this separate test. testUsingContext( - 'NativeAssetsBuildRunnerImpl.cCompilerConfig', + 'cCompilerConfigLinux', overrides: { ProcessManager: () => FakeProcessManager.list([ const FakeCommand( @@ -97,35 +93,53 @@ void main() { await fileSystem.file('/some/path/to/llvm-ar').create(); await fileSystem.file('/some/path/to/ld.lld').create(); - final File packageConfigFile = writePackageConfigFiles( - directory: fileSystem.directory(projectUri), - mainLibName: 'my_app', - ); - final PackageConfig packageConfig = await loadPackageConfigWithLogging( - packageConfigFile, - logger: environment.logger, - ); - final File pubspecFile = fileSystem.file(projectUri.resolve('pubspec.yaml')); - await pubspecFile.writeAsString(''' -name: my_app -'''); - final FlutterNativeAssetsBuildRunner runner = FlutterNativeAssetsBuildRunnerImpl( - packageConfigFile.path, - packageConfig, - fileSystem, - logger, - runPackageName, - includeDevDependencies: false, - pubspecFile.path, - ); - final CCompilerConfig result = (await runner.cCompilerConfig)!; + final CCompilerConfig result = await cCompilerConfigLinux(); expect(result.compiler, Uri.file('/some/path/to/clang')); }, ); -} -class _BuildRunnerWithoutClang extends FakeFlutterNativeAssetsBuildRunner { - @override - Future get cCompilerConfig async => - throwToolExit('Failed to find clang++ on the PATH.'); + testUsingContext( + 'cCompilerConfigLinux using differing binary names for ld and ar', + overrides: { + ProcessManager: () => FakeProcessManager.list([ + const FakeCommand(command: ['which', 'clang++'], stdout: '/path/to/clang++'), + ]), + FileSystem: () => fileSystem, + }, + () async { + if (!const LocalPlatform().isLinux) { + return; + } + + for (final execName in ['clang++', 'clang', 'ar', 'ld']) { + await fileSystem.file('/path/to/$execName').create(recursive: true); + } + + final CCompilerConfig result = await cCompilerConfigLinux(); + expect(result.linker, Uri.file('/path/to/ld')); + expect(result.compiler, Uri.file('/path/to/clang')); + expect(result.archiver, Uri.file('/path/to/ar')); + }, + ); + + testUsingContext( + 'cCompilerConfigLinux with missing binaries', + overrides: { + ProcessManager: () => FakeProcessManager.list([ + const FakeCommand(command: ['which', 'clang++'], stdout: '/a/path/to/clang++'), + ]), + FileSystem: () => fileSystem, + }, + () async { + if (!const LocalPlatform().isLinux) { + return; + } + + await fileSystem.file('/a/path/to/clang++').create(recursive: true); + + expect(cCompilerConfigLinux(), throwsA(isA())); + }, + ); } + +class _BuildRunnerWithoutClang extends FakeFlutterNativeAssetsBuildRunner {} diff --git a/packages/flutter_tools/test/general.shard/isolated/macos/native_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/macos/native_assets_test.dart index 2717cb77f1a44..8fdd918507db9 100644 --- a/packages/flutter_tools/test/general.shard/isolated/macos/native_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/macos/native_assets_test.dart @@ -12,15 +12,15 @@ import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/build_system/build_system.dart'; import 'package:flutter_tools/src/build_system/targets/native_assets.dart'; -import 'package:flutter_tools/src/dart/package_map.dart'; import 'package:flutter_tools/src/globals.dart' as globals; +import 'package:flutter_tools/src/isolated/native_assets/dart_hook_result.dart'; +import 'package:flutter_tools/src/isolated/native_assets/macos/native_assets_host.dart' + show cCompilerConfigMacOS; import 'package:flutter_tools/src/isolated/native_assets/native_assets.dart'; import 'package:hooks/hooks.dart'; -import 'package:package_config/package_config_types.dart'; import '../../../src/common.dart'; import '../../../src/context.dart'; -import '../../../src/package_config.dart'; import '../fake_native_assets_build_runner.dart'; void main() { @@ -30,7 +30,6 @@ void main() { late FileSystem fileSystem; late BufferLogger logger; late Uri projectUri; - late String runPackageName; setUp(() { processManager = FakeProcessManager.empty(); @@ -47,7 +46,6 @@ void main() { ); environment.buildDir.createSync(recursive: true); projectUri = environment.projectDir.uri; - runPackageName = environment.projectDir.basename; }); for (final flutterTester in [false, true]) { @@ -291,7 +289,7 @@ void main() { final TargetPlatform targetPlatform = flutterTester ? TargetPlatform.tester : TargetPlatform.darwin; - final DartBuildResult dartBuildResult = await runFlutterSpecificDartBuild( + final DartHooksResult dartHookResult = await runFlutterSpecificHooks( environmentDefines: environmentDefines, targetPlatform: targetPlatform, projectUri: projectUri, @@ -305,7 +303,7 @@ void main() { : nonFlutterTesterAssetUri; await installCodeAssets( - dartBuildResult: dartBuildResult, + dartHookResult: dartHookResult, environmentDefines: environmentDefines, targetPlatform: targetPlatform, projectUri: projectUri, @@ -313,13 +311,13 @@ void main() { nativeAssetsFileUri: nativeAssetsFileUri, ); final expectedArchsBeingBuilt = flutterTester - ? (isArm64 ? 'arm64' : 'x64') - : '[arm64, x64]'; + ? (isArm64 ? 'macos_arm64' : 'macos_x64') + : 'macos_arm64, macos_x64'; expect( (globals.logger as BufferLogger).traceText, stringContainsInOrder([ - 'Building native assets for macos $expectedArchsBeingBuilt.', - 'Building native assets for macos $expectedArchsBeingBuilt done.', + 'Building native assets for $expectedArchsBeingBuilt.', + 'Building native assets for $expectedArchsBeingBuilt done.', ]), ); final String nativeAssetsFileContent = await fileSystem @@ -379,28 +377,7 @@ InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault return; } - final File packageConfigFile = writePackageConfigFiles( - directory: fileSystem.directory(projectUri), - mainLibName: 'my_app', - ); - final PackageConfig packageConfig = await loadPackageConfigWithLogging( - packageConfigFile, - logger: environment.logger, - ); - final File pubspecFile = fileSystem.file(projectUri.resolve('pubspec.yaml')); - await pubspecFile.writeAsString(''' -name: my_app -'''); - final FlutterNativeAssetsBuildRunner runner = FlutterNativeAssetsBuildRunnerImpl( - packageConfigFile.path, - packageConfig, - fileSystem, - logger, - runPackageName, - includeDevDependencies: false, - pubspecFile.path, - ); - final CCompilerConfig result = (await runner.cCompilerConfig)!; + final CCompilerConfig result = await cCompilerConfigMacOS(); expect( result.compiler, Uri.file( diff --git a/packages/flutter_tools/test/general.shard/isolated/native_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/native_assets_test.dart index cef107d744ce1..745573bc80f7a 100644 --- a/packages/flutter_tools/test/general.shard/isolated/native_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/native_assets_test.dart @@ -13,6 +13,7 @@ import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/build_system/build_system.dart'; import 'package:flutter_tools/src/build_system/targets/native_assets.dart'; import 'package:flutter_tools/src/features.dart'; +import 'package:flutter_tools/src/isolated/native_assets/dart_hook_result.dart'; import 'package:flutter_tools/src/isolated/native_assets/native_assets.dart'; import '../../src/common.dart'; @@ -66,7 +67,7 @@ void main() { makeCodeAsset('free', LookupInExecutable()), makeCodeAsset('draw', DynamicLoadingSystem(Uri.file('/usr/lib/skia.so'))), ]; - final DartBuildResult dartBuildResult = await runFlutterSpecificDartBuild( + final DartHooksResult dartHookResult = await runFlutterSpecificHooks( environmentDefines: environmentDefines, targetPlatform: TargetPlatform.linux_x64, projectUri: projectUri, @@ -78,7 +79,7 @@ void main() { ), ); await installCodeAssets( - dartBuildResult: dartBuildResult, + dartHookResult: dartHookResult, environmentDefines: environmentDefines, targetPlatform: TargetPlatform.windows_x64, projectUri: projectUri, @@ -101,7 +102,7 @@ void main() { await packageConfig.parent.create(); await packageConfig.create(); expect( - () => runFlutterSpecificDartBuild( + () => runFlutterSpecificHooks( environmentDefines: {kBuildMode: BuildMode.debug.cliName}, targetPlatform: TargetPlatform.windows_x64, projectUri: projectUri, @@ -110,11 +111,7 @@ void main() { packagesWithNativeAssetsResult: ['bar'], ), ), - throwsToolExit( - message: - 'Package(s) bar require the native assets feature to be enabled. ' - 'Enable using `flutter config --enable-native-assets`.', - ), + throwsToolExit(message: 'Enable code assets using `flutter config --enable-native-assets`'), ); }, ); @@ -131,7 +128,7 @@ void main() { await packageConfig.create(); final environmentDefines = {kBuildMode: BuildMode.debug.cliName}; - final DartBuildResult dartBuildResult = await runFlutterSpecificDartBuild( + final DartHooksResult dartHookResult = await runFlutterSpecificHooks( environmentDefines: environmentDefines, targetPlatform: TargetPlatform.windows_x64, projectUri: projectUri, @@ -141,7 +138,7 @@ void main() { ), ); await installCodeAssets( - dartBuildResult: dartBuildResult, + dartHookResult: dartHookResult, environmentDefines: environmentDefines, targetPlatform: TargetPlatform.windows_x64, projectUri: projectUri, @@ -170,7 +167,7 @@ void main() { await packageConfig.parent.create(); await packageConfig.create(); expect( - () => runFlutterSpecificDartBuild( + () => runFlutterSpecificHooks( environmentDefines: {kBuildMode: BuildMode.debug.cliName}, targetPlatform: TargetPlatform.linux_x64, projectUri: projectUri, @@ -203,7 +200,7 @@ void main() { CodeAsset makeCodeAsset(String name, Uri file, LinkMode linkMode) => CodeAsset(package: 'bar', name: name, linkMode: linkMode, file: file); - final DartBuildResult result = await runFlutterSpecificDartBuild( + final DartHooksResult result = await runFlutterSpecificHooks( environmentDefines: { // Release mode means the dart build has linking enabled. kBuildMode: BuildMode.release.cliName, diff --git a/packages/flutter_tools/test/general.shard/isolated/resident_runner_test.dart b/packages/flutter_tools/test/general.shard/isolated/resident_runner_test.dart index fae2242f6c777..e00f52cb9cbd2 100644 --- a/packages/flutter_tools/test/general.shard/isolated/resident_runner_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/resident_runner_test.dart @@ -7,7 +7,6 @@ import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/device.dart'; import 'package:flutter_tools/src/features.dart'; import 'package:flutter_tools/src/globals.dart' as globals; -import 'package:flutter_tools/src/resident_devtools_handler.dart'; import 'package:flutter_tools/src/resident_runner.dart'; import 'package:flutter_tools/src/run_hot.dart'; @@ -62,12 +61,12 @@ void main() { ), ), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: getInitializedFakeAnalyticsInstance( fs: MemoryFileSystem.test(), fakeFlutterVersion: FakeFlutterVersion(), ), nativeAssetsYamlFile: 'foo.yaml', + logger: globals.logger, ); final int result = await residentRunner.run(); diff --git a/packages/flutter_tools/test/general.shard/isolated/windows/native_assets_test.dart b/packages/flutter_tools/test/general.shard/isolated/windows/native_assets_test.dart index c9e4b2abd0ec6..b1877374fd548 100644 --- a/packages/flutter_tools/test/general.shard/isolated/windows/native_assets_test.dart +++ b/packages/flutter_tools/test/general.shard/isolated/windows/native_assets_test.dart @@ -13,10 +13,11 @@ import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/build_system/build_system.dart'; import 'package:flutter_tools/src/build_system/targets/native_assets.dart'; -import 'package:flutter_tools/src/dart/package_map.dart'; import 'package:flutter_tools/src/globals.dart' as globals; +import 'package:flutter_tools/src/isolated/native_assets/dart_hook_result.dart'; import 'package:flutter_tools/src/isolated/native_assets/native_assets.dart'; -import 'package:package_config/package_config_types.dart'; +import 'package:flutter_tools/src/isolated/native_assets/windows/native_assets.dart' + show cCompilerConfigWindows; import '../../../src/common.dart'; import '../../../src/context.dart'; @@ -30,7 +31,6 @@ void main() { late FileSystem fileSystem; late BufferLogger logger; late Uri projectUri; - late String runPackageName; setUp(() { processManager = FakeProcessManager.empty(); @@ -47,7 +47,6 @@ void main() { ); environment.buildDir.createSync(recursive: true); projectUri = environment.projectDir.uri; - runPackageName = environment.projectDir.basename; }); for (final flutterTester in [false, true]) { @@ -96,7 +95,7 @@ void main() { final TargetPlatform targetPlatform = flutterTester ? TargetPlatform.tester : TargetPlatform.windows_x64; - final DartBuildResult dartBuildResult = await runFlutterSpecificDartBuild( + final DartHooksResult dartHookResult = await runFlutterSpecificHooks( environmentDefines: environmentDefines, targetPlatform: targetPlatform, projectUri: projectUri, @@ -110,7 +109,7 @@ void main() { ) : nonFlutterTesterAssetUri; await installCodeAssets( - dartBuildResult: dartBuildResult, + dartHookResult: dartHookResult, environmentDefines: environmentDefines, targetPlatform: targetPlatform, projectUri: projectUri, @@ -122,8 +121,8 @@ void main() { expect( (globals.logger as BufferLogger).traceText, stringContainsInOrder([ - 'Building native assets for $expectedOS $expectedArch.', - 'Building native assets for $expectedOS $expectedArch done.', + 'Building native assets for ${expectedOS}_$expectedArch.', + 'Building native assets for ${expectedOS}_$expectedArch done.', ]), ); expect( @@ -237,28 +236,7 @@ void main() { ); await msvcBinDir.create(recursive: true); - final File packageConfigFile = writePackageConfigFiles( - directory: fileSystem.directory(projectUri), - mainLibName: 'my_app', - ); - final PackageConfig packageConfig = await loadPackageConfigWithLogging( - packageConfigFile, - logger: environment.logger, - ); - final File pubspecFile = fileSystem.file(projectUri.resolve('pubspec.yaml')); - await pubspecFile.writeAsString(''' -name: my_app -'''); - final FlutterNativeAssetsBuildRunner runner = FlutterNativeAssetsBuildRunnerImpl( - packageConfigFile.path, - packageConfig, - fileSystem, - logger, - runPackageName, - includeDevDependencies: false, - pubspecFile.path, - ); - final CCompilerConfig result = (await runner.cCompilerConfig)!; + final CCompilerConfig result = (await cCompilerConfigWindows())!; expect(result.compiler.toFilePath(), msvcBinDir.childFile('cl.exe').uri.toFilePath()); expect(result.archiver.toFilePath(), msvcBinDir.childFile('lib.exe').uri.toFilePath()); expect(result.linker.toFilePath(), msvcBinDir.childFile('link.exe').uri.toFilePath()); diff --git a/packages/flutter_tools/test/general.shard/macos/xcode_test.dart b/packages/flutter_tools/test/general.shard/macos/xcode_test.dart index c84f96ba4b945..d2410cc58683e 100644 --- a/packages/flutter_tools/test/general.shard/macos/xcode_test.dart +++ b/packages/flutter_tools/test/general.shard/macos/xcode_test.dart @@ -1908,11 +1908,6 @@ class FakeXcodeProjectInterpreter extends Fake implements XcodeProjectInterprete class FakeXcodeDebug extends Fake implements XcodeDebug {} -class FakeShutdownHooks extends Fake implements ShutdownHooks { - @override - void addShutdownHook(ShutdownHook shutdownHook) {} -} - class FakeIOSCoreDeviceControl extends Fake implements IOSCoreDeviceControl { var devices = []; diff --git a/packages/flutter_tools/test/general.shard/migrations/lldb_init_migration_test.dart b/packages/flutter_tools/test/general.shard/migrations/lldb_init_migration_test.dart index 791f9a25cd973..335f154f4a110 100644 --- a/packages/flutter_tools/test/general.shard/migrations/lldb_init_migration_test.dart +++ b/packages/flutter_tools/test/general.shard/migrations/lldb_init_migration_test.dart @@ -34,7 +34,14 @@ void main() { ); await migration.migrate(); - expect(testLogger.errorText, contains('Xcode project not found')); + expect(testLogger.traceText, contains('Xcode project not found')); + expect( + testLogger.errorText, + contains( + 'Running Flutter in debug mode on new iOS versions requires a LLDB Init File, but the ' + 'scheme does not have it set.', + ), + ); }); group('get scheme file', () { @@ -57,7 +64,14 @@ void main() { fileSystem: memoryFileSystem, ); await migration.migrate(); - expect(testLogger.errorText, contains('Unable to get Xcode project info.')); + expect(testLogger.traceText, contains('Unable to get Xcode project info.')); + expect( + testLogger.errorText, + contains( + 'Running Flutter in debug mode on new iOS versions requires a LLDB Init File, but the ' + 'scheme does not have it set.', + ), + ); }); testWithoutContext('fails if Xcode workspace not found', () async { @@ -79,7 +93,14 @@ void main() { fileSystem: memoryFileSystem, ); await migration.migrate(); - expect(testLogger.errorText, contains('Xcode workspace not found.')); + expect(testLogger.traceText, contains('Xcode workspace not found.')); + expect( + testLogger.errorText, + contains( + 'Running Flutter in debug mode on new iOS versions requires a LLDB Init File, but the ' + 'scheme does not have it set.', + ), + ); }); testWithoutContext('fails if scheme not found', () async { @@ -100,9 +121,8 @@ void main() { environmentType: EnvironmentType.physical, fileSystem: memoryFileSystem, ); - await migration.migrate(); - expect( - testLogger.errorText, + await expectToolExitLater( + migration.migrate(), contains('You must specify a --flavor option to select one of the available schemes.'), ); }); @@ -125,7 +145,14 @@ void main() { fileSystem: memoryFileSystem, ); await migration.migrate(); - expect(testLogger.errorText, contains('Unable to get scheme file for Runner.')); + expect(testLogger.traceText, contains('Unable to get scheme file for Runner.')); + expect( + testLogger.errorText, + contains( + 'Running Flutter in debug mode on new iOS versions requires a LLDB Init File, but the ' + 'Runner scheme does not have it set.', + ), + ); }); }); @@ -218,7 +245,7 @@ void main() { testLogger.errorText, contains( 'Running Flutter in debug mode on new iOS versions requires a LLDB ' - 'Init File, but the Launch action in the Runner scheme does not have it set.', + 'Init File, but the Run action in the Runner scheme does not have it set.', ), ); }); @@ -371,7 +398,14 @@ void main() { fileSystem: memoryFileSystem, ); await migration.migrate(); - expect(testLogger.errorText, contains('Failed to find LaunchAction for the Scheme')); + expect(testLogger.traceText, contains('Failed to find LaunchAction for the Scheme')); + expect( + testLogger.errorText, + contains( + 'Running Flutter in debug mode on new iOS versions requires a LLDB Init File, but the ' + 'Runner scheme does not have it set.', + ), + ); }); testWithoutContext('prints error if TestAction is missing', () async { @@ -393,7 +427,14 @@ void main() { fileSystem: memoryFileSystem, ); await migration.migrate(); - expect(testLogger.errorText, contains('Failed to find TestAction for the Scheme')); + expect(testLogger.traceText, contains('Failed to find TestAction for the Scheme')); + expect( + testLogger.errorText, + contains( + 'Running Flutter in debug mode on new iOS versions requires a LLDB Init File, but the ' + 'Runner scheme does not have it set.', + ), + ); }); testWithoutContext('prints error if scheme file is invalid XML', () async { @@ -417,7 +458,14 @@ void main() { fileSystem: memoryFileSystem, ); await migration.migrate(); - expect(testLogger.errorText, contains('Failed to parse')); + expect(testLogger.traceText, contains('Failed to parse')); + expect( + testLogger.errorText, + contains( + 'Running Flutter in debug mode on new iOS versions requires a LLDB Init File, but the ' + 'Runner scheme does not have it set.', + ), + ); }); testWithoutContext('succeeds', () async { diff --git a/packages/flutter_tools/test/general.shard/project_test.dart b/packages/flutter_tools/test/general.shard/project_test.dart index 99300f413919b..f798a954bafcd 100644 --- a/packages/flutter_tools/test/general.shard/project_test.dart +++ b/packages/flutter_tools/test/general.shard/project_test.dart @@ -1560,6 +1560,31 @@ plugins { }); }); + group('Android project file getters', () { + _testInMemory( + 'Project.android.gradleWrapperPropertiesFile resolves to gradle/wrapper/gradle-wrapper.properties', + () async { + final Directory tempDir = globals.fs.systemTempDirectory.createTempSync( + 'flutter_project_test.', + ); + final Directory androidDir = tempDir.childDirectory('android') + ..createSync(recursive: true); + + // Create gradle/wrapper/gradle-wrapper.properties inside the fake android dir + final File expected = + androidDir + .childDirectory('gradle') + .childDirectory('wrapper') + .childFile('gradle-wrapper.properties') + ..createSync(recursive: true); + + final FlutterProject project = FlutterProject.fromDirectory(tempDir); + + expect(project.android.gradleWrapperPropertiesFile.path, expected.path); + }, + ); + }); + group('workspaces', () { _testInMemory('fails on invalid pubspec.yaml', () async { final Directory directory = globals.fs.directory('myproject'); diff --git a/packages/flutter_tools/test/general.shard/proxied_devices/proxied_devices_test.dart b/packages/flutter_tools/test/general.shard/proxied_devices/proxied_devices_test.dart index dd65538ce6900..4d9a72c548471 100644 --- a/packages/flutter_tools/test/general.shard/proxied_devices/proxied_devices_test.dart +++ b/packages/flutter_tools/test/general.shard/proxied_devices/proxied_devices_test.dart @@ -320,7 +320,6 @@ void main() { 'hotReload': true, 'hotRestart': true, 'screenshot': false, - 'fastStart': false, 'flutterExit': true, 'hardwareRendering': true, 'startPaused': true, @@ -339,7 +338,6 @@ void main() { 'hotReload': true, 'hotRestart': true, 'screenshot': false, - 'fastStart': false, 'flutterExit': true, 'hardwareRendering': true, 'startPaused': true, @@ -663,6 +661,7 @@ void main() { 'deviceId': 'test_id', 'vmServiceUri': 'http://127.0.0.1:200/fake', 'disableServiceAuthCodes': true, + 'enableDevTools': false, }); serverDaemonConnection.sendResponse(startMessage.data['id']!, const { @@ -722,6 +721,7 @@ void main() { 'deviceId': 'test_id', 'vmServiceUri': 'http://127.0.0.1:200/fake', 'disableServiceAuthCodes': true, + 'enableDevTools': false, }); serverDaemonConnection.sendResponse(startMessage.data['id']!, { @@ -824,6 +824,7 @@ void main() { 'deviceId': 'test_id', 'vmServiceUri': 'http://127.0.0.1:200/fake', 'disableServiceAuthCodes': true, + 'enableDevTools': false, }); serverDaemonConnection.sendErrorResponse( @@ -1245,6 +1246,9 @@ class FakeDartDevelopmentService extends Fake implements DartDevelopmentService @override Future shutdown() async => shutdownCalled = true; + + @override + Future invokeServiceExtensions(FlutterDevice? device) async {} } class FakePrebuiltApplicationPackage extends Fake implements PrebuiltApplicationPackage { diff --git a/packages/flutter_tools/test/general.shard/resident_devtools_handler_test.dart b/packages/flutter_tools/test/general.shard/resident_devtools_handler_test.dart deleted file mode 100644 index 089bb3bf2b1a8..0000000000000 --- a/packages/flutter_tools/test/general.shard/resident_devtools_handler_test.dart +++ /dev/null @@ -1,488 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:async'; - -import 'package:flutter_tools/src/artifacts.dart'; -import 'package:flutter_tools/src/base/dds.dart'; -import 'package:flutter_tools/src/base/file_system.dart'; -import 'package:flutter_tools/src/base/io.dart'; -import 'package:flutter_tools/src/base/logger.dart'; -import 'package:flutter_tools/src/build_info.dart'; -import 'package:flutter_tools/src/cache.dart'; -import 'package:flutter_tools/src/device.dart'; -import 'package:flutter_tools/src/devtools_launcher.dart'; -import 'package:flutter_tools/src/resident_devtools_handler.dart'; -import 'package:flutter_tools/src/resident_runner.dart'; -import 'package:flutter_tools/src/vmservice.dart'; -import 'package:flutter_tools/src/web/chrome.dart'; -import 'package:test/fake.dart'; -import 'package:vm_service/vm_service.dart' as vm_service; -import 'package:vm_service/vm_service.dart'; - -import '../src/common.dart'; -import '../src/fake_process_manager.dart'; -import '../src/fake_vm_services.dart'; -import '../src/fakes.dart'; - -final isolate = vm_service.Isolate( - id: '1', - pauseEvent: vm_service.Event(kind: vm_service.EventKind.kResume, timestamp: 0), - breakpoints: [], - libraries: [ - vm_service.LibraryRef(id: '1', uri: 'file:///hello_world/main.dart', name: ''), - ], - livePorts: 0, - name: 'test', - number: '1', - pauseOnExit: false, - runnable: true, - startTime: 0, - isSystemIsolate: false, - isolateFlags: [], - extensionRPCs: ['ext.flutter.connectedVmServiceUri'], -); - -final listViews = FakeVmServiceRequest( - method: kListViewsMethod, - jsonResponse: { - 'views': [FlutterView(id: 'a', uiIsolate: isolate).toJson()], - }, -); - -void main() { - Cache.flutterRoot = ''; - - (BufferLogger, Artifacts) getTestState() => (BufferLogger.test(), Artifacts.test()); - - testWithoutContext('Does not serve devtools if launcher is null', () async { - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - null, - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - - await handler.serveAndAnnounceDevTools(flutterDevices: []); - - expect(handler.activeDevToolsServer, null); - }); - - testWithoutContext( - 'Does not serve devtools if ResidentRunner does not support the service protocol', - () async { - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher(), - FakeResidentRunner()..supportsServiceProtocol = false, - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - await handler.serveAndAnnounceDevTools(flutterDevices: []); - - expect(handler.activeDevToolsServer, null); - }, - ); - - testWithoutContext('Can use devtools with existing devtools URI', () async { - final (BufferLogger logger, Artifacts artifacts) = getTestState(); - final launcher = DevtoolsServerLauncher( - processManager: FakeProcessManager.empty(), - artifacts: artifacts, - logger: logger, - botDetector: const FakeBotDetector(false), - ); - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - // Uses real devtools instance which should be a no-op if - // URI is already set. - launcher, - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - - await handler.serveAndAnnounceDevTools( - devToolsServerAddress: Uri.parse('http://localhost:8181'), - flutterDevices: [], - ); - - expect(handler.activeDevToolsServer!.host, 'localhost'); - expect(handler.activeDevToolsServer!.port, 8181); - }); - - testWithoutContext( - 'serveAndAnnounceDevTools with attached device does not fail on null vm service', - () async { - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher() - ..activeDevToolsServer = DevToolsServerAddress('localhost', 8080) - ..devToolsUrl = Uri.parse('http://localhost:8080'), - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - - // VM Service is intentionally null - final device = FakeFlutterDevice(); - - await handler.serveAndAnnounceDevTools(flutterDevices: [device]); - }, - ); - - testWithoutContext( - 'serveAndAnnounceDevTools with invokes devtools and vm_service setter', - () async { - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher() - ..activeDevToolsServer = DevToolsServerAddress('localhost', 8080) - ..devToolsUrl = Uri.parse('http://localhost:8080'), - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - final fakeVmServiceHost = FakeVmServiceHost( - requests: [ - const FakeVmServiceRequest( - method: 'streamListen', - args: {'streamId': 'Isolate'}, - ), - listViews, - FakeVmServiceRequest( - method: 'getIsolate', - jsonResponse: isolate.toJson(), - args: {'isolateId': '1'}, - ), - listViews, - listViews, - const FakeVmServiceRequest( - method: 'ext.flutter.activeDevToolsServerAddress', - args: {'isolateId': '1', 'value': 'http://localhost:8080'}, - ), - const FakeVmServiceRequest( - method: 'ext.flutter.connectedVmServiceUri', - args: {'isolateId': '1', 'value': 'http://localhost:1234'}, - ), - ], - httpAddress: Uri.parse('http://localhost:1234'), - ); - - final device = FakeFlutterDevice()..vmService = fakeVmServiceHost.vmService; - - await handler.serveAndAnnounceDevTools(flutterDevices: [device]); - }, - ); - - testWithoutContext('serveAndAnnounceDevTools will bail if launching devtools fails', () async { - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher()..activeDevToolsServer = null, - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - final fakeVmServiceHost = FakeVmServiceHost( - requests: [], - httpAddress: Uri.parse('http://localhost:1234'), - ); - - final device = FakeFlutterDevice()..vmService = fakeVmServiceHost.vmService; - - await handler.serveAndAnnounceDevTools(flutterDevices: [device]); - }); - - testWithoutContext('serveAndAnnounceDevTools with web device', () async { - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher() - ..activeDevToolsServer = DevToolsServerAddress('localhost', 8080) - ..devToolsUrl = Uri.parse('http://localhost:8080'), - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - final fakeVmServiceHost = FakeVmServiceHost( - requests: [ - const FakeVmServiceRequest( - method: 'streamListen', - args: {'streamId': 'Isolate'}, - ), - listViews, - FakeVmServiceRequest( - method: 'getIsolate', - jsonResponse: isolate.toJson(), - args: {'isolateId': '1'}, - ), - const FakeVmServiceRequest( - method: 'ext.flutter.activeDevToolsServerAddress', - args: {'value': 'http://localhost:8080'}, - ), - const FakeVmServiceRequest( - method: 'ext.flutter.connectedVmServiceUri', - args: {'value': 'http://localhost:1234'}, - ), - ], - httpAddress: Uri.parse('http://localhost:1234'), - ); - - final device = FakeFlutterDevice() - ..vmService = fakeVmServiceHost.vmService - ..targetPlatform = TargetPlatform.web_javascript; - - await handler.serveAndAnnounceDevTools(flutterDevices: [device]); - }); - - testWithoutContext( - 'serveAndAnnounceDevTools with skips calling service extensions when VM service disappears', - () async { - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher()..activeDevToolsServer = DevToolsServerAddress('localhost', 8080), - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - final fakeVmServiceHost = FakeVmServiceHost( - requests: [ - const FakeVmServiceRequest( - method: 'streamListen', - args: {'streamId': 'Isolate'}, - ), - FakeVmServiceRequest( - method: kListViewsMethod, - error: FakeRPCError(code: RPCErrorKind.kServiceDisappeared.code), - ), - ], - httpAddress: Uri.parse('http://localhost:1234'), - ); - - final device = FakeFlutterDevice()..vmService = fakeVmServiceHost.vmService; - - await handler.serveAndAnnounceDevTools(flutterDevices: [device]); - }, - ); - - testWithoutContext( - 'serveAndAnnounceDevTools with multiple devices and VM service disappears on one', - () async { - final ResidentDevtoolsHandler handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher() - ..activeDevToolsServer = DevToolsServerAddress('localhost', 8080) - ..devToolsUrl = Uri.parse('http://localhost:8080'), - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - - final vmServiceHost = FakeVmServiceHost( - requests: [ - const FakeVmServiceRequest( - method: 'streamListen', - args: {'streamId': 'Isolate'}, - ), - listViews, - FakeVmServiceRequest( - method: 'getIsolate', - jsonResponse: isolate.toJson(), - args: {'isolateId': '1'}, - ), - listViews, - listViews, - const FakeVmServiceRequest( - method: 'ext.flutter.activeDevToolsServerAddress', - args: {'isolateId': '1', 'value': 'http://localhost:8080'}, - ), - const FakeVmServiceRequest( - method: 'ext.flutter.connectedVmServiceUri', - args: {'isolateId': '1', 'value': 'http://localhost:1234'}, - ), - ], - httpAddress: Uri.parse('http://localhost:1234'), - ); - - final vmServiceHostThatDisappears = FakeVmServiceHost( - requests: [ - const FakeVmServiceRequest( - method: 'streamListen', - args: {'streamId': 'Isolate'}, - ), - FakeVmServiceRequest( - method: kListViewsMethod, - error: FakeRPCError(code: RPCErrorKind.kServiceDisappeared.code), - ), - ], - httpAddress: Uri.parse('http://localhost:5678'), - ); - - await handler.serveAndAnnounceDevTools( - flutterDevices: [ - FakeFlutterDevice()..vmService = vmServiceHostThatDisappears.vmService, - FakeFlutterDevice()..vmService = vmServiceHost.vmService, - ], - ); - }, - ); - - testWithoutContext('Does not launch devtools in browser if launcher is null', () async { - final handler = FlutterResidentDevtoolsHandler( - null, - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - - handler.launchDevToolsInBrowser(flutterDevices: []); - expect(handler.launchedInBrowser, isFalse); - expect(handler.activeDevToolsServer, null); - }); - - testWithoutContext( - 'Does not launch devtools in browser if ResidentRunner does not support the service protocol', - () async { - final handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher(), - FakeResidentRunner()..supportsServiceProtocol = false, - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - - handler.launchDevToolsInBrowser(flutterDevices: []); - expect(handler.launchedInBrowser, isFalse); - expect(handler.activeDevToolsServer, null); - }, - ); - - testWithoutContext( - 'launchDevToolsInBrowser launches after _devToolsLauncher.ready completes', - () async { - final completer = Completer(); - final handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher() - ..devToolsUrl = null - // We need to set [activeDevToolsServer] to simulate the state we would - // be in after serving devtools completes. - ..activeDevToolsServer = DevToolsServerAddress('localhost', 8080) - ..readyCompleter = completer, - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - - expect(handler.launchDevToolsInBrowser(flutterDevices: []), isTrue); - expect(handler.launchedInBrowser, isFalse); - - completer.complete(); - // Await a short delay to give DevTools time to launch. - await Future.delayed(const Duration(microseconds: 100)); - - expect(handler.launchedInBrowser, isTrue); - }, - ); - - testWithoutContext('launchDevToolsInBrowser launches successfully', () async { - final handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher() - ..devToolsUrl = Uri(host: 'localhost', port: 8080) - ..activeDevToolsServer = DevToolsServerAddress('localhost', 8080), - FakeResidentRunner(), - BufferLogger.test(), - _FakeChromiumLauncher(), - ); - - expect(handler.launchDevToolsInBrowser(flutterDevices: []), isTrue); - expect(handler.launchedInBrowser, isTrue); - }); - - testWithoutContext('launchDevToolsInBrowser fails without Chrome installed', () async { - final handler = FlutterResidentDevtoolsHandler( - FakeDevtoolsLauncher() - ..devToolsUrl = Uri(host: 'localhost', port: 8080) - ..activeDevToolsServer = DevToolsServerAddress('localhost', 8080), - FakeResidentRunner(), - BufferLogger.test(), - _ThrowingChromiumLauncher(), - ); - - expect(handler.launchedInBrowser, isFalse); - expect(handler.launchDevToolsInBrowser(flutterDevices: []), isTrue); - }); - - testWithoutContext( - 'Converts a VM Service URI with a query parameter to a pretty display string', - () { - const value = 'http://127.0.0.1:9100?uri=http%3A%2F%2F127.0.0.1%3A57922%2F_MXpzytpH20%3D%2F'; - final Uri uri = Uri.parse(value); - - expect( - urlToDisplayString(uri), - 'http://127.0.0.1:9100?uri=http://127.0.0.1:57922/_MXpzytpH20=/', - ); - }, - ); -} - -class FakeResidentRunner extends Fake implements ResidentRunner { - @override - var supportsServiceProtocol = true; - - @override - var reportedDebuggers = false; - - @override - var debuggingOptions = DebuggingOptions.disabled(BuildInfo.debug); -} - -class FakeFlutterDevice extends Fake implements FlutterDevice { - @override - final Device device = FakeDevice(); - - @override - FlutterVmService? vmService; - - @override - TargetPlatform targetPlatform = TargetPlatform.android_arm; -} - -class FakeDevice extends Fake implements Device { - @override - DartDevelopmentService get dds => FakeDartDevelopmentService(); -} - -class FakeDartDevelopmentService extends Fake implements DartDevelopmentService { - var started = false; - var disposed = false; - - @override - final Uri uri = Uri.parse('http://127.0.0.1:1234/'); - - @override - Future startDartDevelopmentService( - Uri vmServiceUri, { - int? ddsPort, - bool? disableServiceAuthCodes, - bool? ipv6, - bool enableDevTools = true, - bool cacheStartupProfile = false, - String? google3WorkspaceRoot, - Uri? devToolsServerAddress, - }) async { - started = true; - } - - @override - Future shutdown() async { - disposed = true; - } -} - -class _ThrowingChromiumLauncher extends Fake implements ChromiumLauncher { - @override - Future launch( - String url, { - bool headless = false, - int? debugPort, - bool skipCheck = false, - Directory? cacheDir, - List webBrowserFlags = const [], - }) async { - throw ProcessException('ChromiumLauncher', [url]); - } -} - -class _FakeChromiumLauncher extends Fake implements ChromiumLauncher {} diff --git a/packages/flutter_tools/test/general.shard/resident_runner_helpers.dart b/packages/flutter_tools/test/general.shard/resident_runner_helpers.dart index 557823e2527fa..b133f0208ab59 100644 --- a/packages/flutter_tools/test/general.shard/resident_runner_helpers.dart +++ b/packages/flutter_tools/test/general.shard/resident_runner_helpers.dart @@ -123,6 +123,15 @@ class FakeDartDevelopmentService extends Fake @override Uri? get uri => null; + @override + Uri? get devToolsUri => null; + + @override + Uri? get dtdUri => null; + + @override + Future handleHotRestart(FlutterDevice? device) async {} + @override void shutdown() {} } @@ -256,6 +265,9 @@ class FakeFlutterDevice extends Fake implements FlutterDevice { @override Future updateReloadStatus(bool wasReloadSuccessful) async {} + + @override + Future handleHotRestart() async {} } class FakeDelegateFlutterDevice extends FlutterDevice { @@ -388,6 +400,9 @@ class FakeDevice extends Fake implements Device { @override String get displayName => name; + @override + Uri? devToolsUri; + @override late DartDevelopmentService dds = FakeDartDevelopmentService(); diff --git a/packages/flutter_tools/test/general.shard/resident_runner_test.dart b/packages/flutter_tools/test/general.shard/resident_runner_test.dart index f57bc8858981e..14f15128cab46 100644 --- a/packages/flutter_tools/test/general.shard/resident_runner_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_runner_test.dart @@ -22,7 +22,6 @@ import 'package:flutter_tools/src/features.dart'; import 'package:flutter_tools/src/globals.dart' as globals; import 'package:flutter_tools/src/project.dart'; import 'package:flutter_tools/src/reporting/reporting.dart'; -import 'package:flutter_tools/src/resident_devtools_handler.dart'; import 'package:flutter_tools/src/resident_runner.dart'; import 'package:flutter_tools/src/run_cold.dart'; import 'package:flutter_tools/src/run_hot.dart'; @@ -61,7 +60,6 @@ void main() { debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', analytics: fakeAnalytics, - devtoolsHandler: createNoOpHandler, ); }, overrides: { @@ -121,7 +119,6 @@ void main() { stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: globals.analytics, ); flutterDevice.generator = residentCompiler; @@ -145,7 +142,6 @@ void main() { stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: globals.analytics, ); flutterDevice.generator = residentCompiler; @@ -167,7 +163,6 @@ void main() { stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.release), target: 'main.dart', - devtoolsHandler: createNoOpHandler, ); flutterDevice.runColdCode = 1; @@ -188,7 +183,6 @@ void main() { stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.release), target: 'main.dart', - devtoolsHandler: createNoOpHandler, ); flutterDevice.runColdError = Exception('BAD STUFF'); @@ -211,7 +205,6 @@ void main() { stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: globals.analytics, ); flutterDevice.generator = residentCompiler; @@ -222,78 +215,6 @@ void main() { }), ); - testUsingContext( - 'ResidentRunner can attach to device successfully with --fast-start', - () => testbed.run(() async { - fakeVmServiceHost = FakeVmServiceHost( - requests: [ - listViews, - listViews, - listViews, - FakeVmServiceRequest( - method: 'getIsolate', - args: {'isolateId': fakeUnpausedIsolate.id}, - jsonResponse: fakeUnpausedIsolate.toJson(), - ), - FakeVmServiceRequest( - method: 'setIsolatePauseMode', - args: { - 'isolateId': fakeUnpausedIsolate.id, - 'exceptionPauseMode': vm_service.ExceptionPauseMode.kNone, - }, - jsonResponse: vm_service.Success().toJson(), - ), - FakeVmServiceRequest( - method: 'getVM', - jsonResponse: vm_service.VM.parse({})!.toJson(), - ), - listViews, - const FakeVmServiceRequest( - method: 'streamListen', - args: {'streamId': 'Isolate'}, - ), - FakeVmServiceRequest( - method: kRunInViewMethod, - args: { - 'viewId': fakeFlutterView.id, - 'mainScript': 'main.dart.dill', - 'assetDirectory': 'build/flutter_assets', - }, - ), - FakeVmServiceStreamResponse( - streamId: 'Isolate', - event: vm_service.Event(timestamp: 0, kind: vm_service.EventKind.kIsolateRunnable), - ), - ], - ); - residentRunner = HotRunner( - [flutterDevice], - stayResident: false, - debuggingOptions: DebuggingOptions.enabled( - BuildInfo.debug, - fastStart: true, - startPaused: true, - ), - target: 'main.dart', - devtoolsHandler: createNoOpHandler, - analytics: globals.analytics, - ); - final futureConnectionInfo = Completer.sync(); - final futureAppStart = Completer.sync(); - final Future result = residentRunner.attach( - appStartedCompleter: futureAppStart, - connectionInfoCompleter: futureConnectionInfo, - ); - final Future connectionInfo = futureConnectionInfo.future; - - expect(await result, 0); - expect(futureConnectionInfo.isCompleted, true); - expect((await connectionInfo).baseUri, 'foo://bar'); - expect(futureAppStart.isCompleted, true); - expect(fakeVmServiceHost?.hasRemainingExpectations, false); - }), - ); - testUsingContext( 'ResidentRunner can handle an RPC exception from hot reload', () => testbed.run(() async { @@ -475,7 +396,6 @@ void main() { stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); final futureConnectionInfo = Completer.sync(); @@ -726,7 +646,6 @@ void main() { stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); devFS.nextUpdateReport = UpdateFSReport(success: true, invalidatedSourcesCount: 1); @@ -1084,7 +1003,6 @@ void main() { debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), dillOutputPath: globals.fs.path.join('foobar', 'app.dill'), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); expect(otherRunner.artifactDirectory.path, contains('foobar')); @@ -1192,7 +1110,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'custom_main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); await residentRunner.runSourceGenerators(); @@ -1256,7 +1173,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); flutterDevice.generator = residentCompiler; @@ -1295,8 +1211,8 @@ flutter: 'Flutter run key commands.', commandHelp.r, commandHelp.R, - commandHelp.v, commandHelp.s, + commandHelp.v, commandHelp.w, commandHelp.t, commandHelp.L, @@ -1367,7 +1283,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.disabled(BuildInfo.release), target: 'main.dart', - devtoolsHandler: createNoOpHandler, ); residentRunner.printHelp(details: true); @@ -1383,7 +1298,6 @@ flutter: equals( [ 'Flutter run key commands.', - commandHelp.v, commandHelp.s, commandHelp.hWithDetails, commandHelp.c, @@ -1404,7 +1318,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.disabled(BuildInfo.release), target: 'main.dart', - devtoolsHandler: createNoOpHandler, ); residentRunner.printHelp(details: false); @@ -1430,6 +1343,32 @@ flutter: }), ); + testUsingContext( + 'ResidentRunner printHelpDetails hides v on web in profile mode', + () => testbed.run(() async { + final FlutterDevice flutterDevice = await FlutterDevice.create( + FakeDevice(targetPlatform: TargetPlatform.web_javascript), + target: 'lib/main.dart', + buildInfo: BuildInfo.profile, + platform: FakePlatform(), + ); + + final ResidentRunner residentRunner = HotRunner( + [flutterDevice], + debuggingOptions: DebuggingOptions.disabled(BuildInfo.profile), + target: 'lib/main.dart', + analytics: fakeAnalytics, + ); + + residentRunner.printHelp(details: true); + + final CommandHelp commandHelp = residentRunner.commandHelp; + + expect(residentRunner.isRunningDebug, false); + expect(testLogger.statusText, isNot(contains(commandHelp.v))); + }), + ); + testUsingContext( 'ResidentRunner ignores DevtoolsLauncher when attaching with enableDevTools: false - cold mode', () => testbed.run(() async { @@ -1443,7 +1382,6 @@ flutter: enableDevTools: false, ), target: 'main.dart', - devtoolsHandler: createNoOpHandler, ); final Future result = residentRunner.attach(); @@ -1490,7 +1428,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug, vmserviceOutFile: 'foo'), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); @@ -1521,7 +1458,6 @@ flutter: ), ), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); residentRunner.artifactDirectory.childFile('app.dill').writeAsStringSync('ABC'); @@ -1556,7 +1492,6 @@ flutter: ), ), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); residentRunner.artifactDirectory.childFile('app.dill').writeAsStringSync('ABC'); @@ -1593,7 +1528,6 @@ flutter: ), ), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); residentRunner.artifactDirectory.childFile('app.dill').writeAsStringSync('ABC'); @@ -1620,7 +1554,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); residentRunner.artifactDirectory.childFile('app.dill').writeAsStringSync('ABC'); @@ -1650,7 +1583,6 @@ flutter: dillOutputPath: 'test', debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); residentRunner.artifactDirectory.childFile('app.dill').writeAsStringSync('ABC'); @@ -1682,7 +1614,6 @@ flutter: ), ), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); residentRunner.artifactDirectory.childFile('app.dill').writeAsStringSync('ABC'); @@ -1711,7 +1642,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); @@ -1733,7 +1663,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug, vmserviceOutFile: 'foo'), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); @@ -1760,7 +1689,6 @@ flutter: [flutterDevice], stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.profile, vmserviceOutFile: 'foo'), - devtoolsHandler: createNoOpHandler, target: 'main.dart', ); @@ -2050,7 +1978,22 @@ flutter: 'Host VM service ipv6 defaults', () => testbed.run( () async { - fakeVmServiceHost = FakeVmServiceHost(requests: []); + fakeVmServiceHost = FakeVmServiceHost( + requests: [ + const FakeVmServiceRequest( + method: 'streamListen', + args: {'streamId': 'Isolate'}, + ), + const FakeVmServiceRequest( + method: 'streamListen', + args: {'streamId': 'Isolate'}, + ), + const FakeVmServiceRequest( + method: 'streamListen', + args: {'streamId': 'Isolate'}, + ), + ], + ); final device = FakeDevice()..dds = DartDevelopmentService(logger: testLogger); final done = Completer(); ddsLauncherCallback = @@ -2094,7 +2037,7 @@ flutter: io.CompressionOptions? compression, Device? device, required Logger logger, - }) async => FakeVmServiceHost(requests: []).vmService, + }) async => fakeVmServiceHost!.vmService, }, ), ); @@ -2109,24 +2052,6 @@ flutter: expect(() => nextPlatform('unknown'), throwsAssertionError); }); - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - testUsingContext( - 'cleanupAtFinish shuts down resident devtools handler', - () => testbed.run(() async { - residentRunner = HotRunner( - [flutterDevice], - stayResident: false, - debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug, vmserviceOutFile: 'foo'), - target: 'main.dart', - devtoolsHandler: createNoOpHandler, - analytics: fakeAnalytics, - ); - await residentRunner.cleanupAtFinish(); - - expect((residentRunner.residentDevtoolsHandler! as NoOpDevtoolsHandler).wasShutdown, true); - }), - ); - testUsingContext( 'HotRunner sets asset directory when first evict assets', () => testbed.run(() async { @@ -2138,7 +2063,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); @@ -2162,7 +2086,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); @@ -2184,7 +2107,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); @@ -2204,7 +2126,6 @@ flutter: stayResident: false, debuggingOptions: DebuggingOptions.enabled(BuildInfo.debug), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: fakeAnalytics, ); @@ -2245,7 +2166,6 @@ flutter: ), ), target: 'main.dart', - devtoolsHandler: createNoOpHandler, analytics: globals.analytics, nativeAssetsYamlFile: 'foo.yaml', ); diff --git a/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart b/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart index ef7ebf32fe88b..9711c680fdac7 100644 --- a/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_web_runner_cold_test.dart @@ -280,4 +280,7 @@ class FakeFlutterDevice extends Fake implements FlutterDevice { @override FlutterVmService? vmService; + + @override + Future handleHotRestart() async {} } diff --git a/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart b/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart index 07817a0ef7b68..8e1017a7a879a 100644 --- a/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart +++ b/packages/flutter_tools/test/general.shard/resident_web_runner_test.dart @@ -12,6 +12,7 @@ import 'package:flutter_tools/src/application_package.dart'; import 'package:flutter_tools/src/asset.dart'; import 'package:flutter_tools/src/base/dds.dart'; import 'package:flutter_tools/src/base/file_system.dart'; +import 'package:flutter_tools/src/base/io.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/base/terminal.dart'; @@ -27,7 +28,6 @@ import 'package:flutter_tools/src/globals.dart' as globals; import 'package:flutter_tools/src/isolated/devfs_web.dart'; import 'package:flutter_tools/src/isolated/resident_web_runner.dart'; import 'package:flutter_tools/src/project.dart'; -import 'package:flutter_tools/src/resident_devtools_handler.dart'; import 'package:flutter_tools/src/resident_runner.dart'; import 'package:flutter_tools/src/vmservice.dart'; import 'package:flutter_tools/src/web/chrome.dart'; @@ -143,6 +143,7 @@ name: my_app debugConnection.fakeVmServiceHost = () => fakeVmServiceHost; webDevFS.result = ConnectionResult(appConnection, debugConnection, debugConnection.vmService); debugConnection.uri = 'ws://127.0.0.1/abcd/'; + debugConnection.devToolsUri = 'http://127.0.0.1/abcd/'; chromeConnection.tabs.add(chromeTab); } @@ -368,7 +369,6 @@ name: my_app outputPreferences: OutputPreferences.test(), analytics: globals.analytics, systemClock: globals.systemClock, - devtoolsHandler: createNoOpHandler, ); expect(await residentWebRunner.run(), 0); @@ -398,7 +398,6 @@ name: my_app outputPreferences: OutputPreferences.test(), analytics: globals.analytics, systemClock: globals.systemClock, - devtoolsHandler: createNoOpHandler, ); expect(await residentWebRunner.run(), 0); @@ -428,11 +427,8 @@ name: my_app outputPreferences: OutputPreferences.test(), analytics: globals.analytics, systemClock: globals.systemClock, - devtoolsHandler: createNoOpHandler, ); - mockDevice.dds = DartDevelopmentService(logger: logger); - expect(mockDevice.isRunning, false); final connectionInfoCompleter = Completer(); unawaited(residentWebRunner.run(connectionInfoCompleter: connectionInfoCompleter)); @@ -469,11 +465,8 @@ name: my_app outputPreferences: OutputPreferences.test(), analytics: globals.analytics, systemClock: globals.systemClock, - devtoolsHandler: createNoOpHandler, ); - mockDevice.dds = DartDevelopmentService(logger: logger); - expect(mockDevice.isRunning, false); final connectionInfoCompleter = Completer(); unawaited(residentWebRunner.run(connectionInfoCompleter: connectionInfoCompleter)); @@ -652,6 +645,8 @@ name: my_app 'Launching lib/main.dart on FakeDevice in debug mode...\n' 'Waiting for connection from debug service on FakeDevice...\n' 'Debug service listening on ws://127.0.0.1/abcd/\n' + 'A Dart VM Service on FakeDevice is available at: http://127.0.0.1/abcd/\n' + 'The Flutter DevTools debugger and profiler on FakeDevice is available at: http://127.0.0.1/abcd/\n' '\n' 'first\n' '\n' @@ -691,7 +686,6 @@ name: my_app outputPreferences: OutputPreferences.test(), analytics: globals.analytics, systemClock: globals.systemClock, - devtoolsHandler: createNoOpHandler, ); fakeVmServiceHost = FakeVmServiceHost(requests: kStartPausedAndAttachExpectations.toList()); setupMocks(); @@ -969,7 +963,7 @@ name: my_app expect(debugConnectionInfo, isNotNull); final OperationResult result = await residentWebRunner.restart(); - expect(logger.statusText, contains('Reloaded application in')); + expect(logger.statusText, contains('Recompile complete. No client connected.')); expect(result.code, 0); }, overrides: { @@ -1141,6 +1135,47 @@ name: my_app }, ); + testUsingContext( + 'Does not fail hot restart when not attached', + () async { + final logger = BufferLogger.test(); + final ResidentRunner residentWebRunner = setUpResidentRunner( + flutterDevice, + logger: logger, + systemClock: SystemClock.fixed(DateTime(2001)), + ); + fakeVmServiceHost = FakeVmServiceHost( + requests: [ + ...kAttachExpectations, + const FakeVmServiceRequest(method: 'hotRestart'), + ], + ); + flutterDevice.device = WebServerDevice(logger: logger); + webDevFS.report = UpdateFSReport(success: true); + + final appStartedCompleter = Completer(); + unawaited(residentWebRunner.run(appStartedCompleter: appStartedCompleter)); + + await appStartedCompleter.future; + + late final OperationResult result; + + await expectReturnsNormallyLater(() async { + result = await residentWebRunner.restart(fullRestart: true); + }()); + + expect(result.code, 0); + expect(result.isOk, isTrue); + expect(logger.statusText, contains('Recompile complete. No client connected.')); + }, + overrides: { + Analytics: () => fakeAnalytics, + FileSystem: () => fileSystem, + ProcessManager: () => processManager, + Pub: ThrowingPub.new, + }, + ); + testUsingContext( 'web resident runner is debuggable', () { @@ -1444,7 +1479,6 @@ name: my_app 'cleanup of resources is safe to call multiple times', () async { final ResidentRunner residentWebRunner = setUpResidentRunner(flutterDevice); - mockDevice.dds = DartDevelopmentService(logger: test_fakes.FakeLogger()); fakeVmServiceHost = FakeVmServiceHost( requests: [...kAttachExpectations], ); @@ -1564,7 +1598,6 @@ name: my_app outputPreferences: OutputPreferences.test(), analytics: globals.analytics, systemClock: globals.systemClock, - devtoolsHandler: createNoOpHandler, ); final connectionInfoCompleter = Completer(); @@ -1610,7 +1643,6 @@ name: my_app outputPreferences: OutputPreferences.test(), analytics: globals.analytics, systemClock: globals.systemClock, - devtoolsHandler: createNoOpHandler, ); final connectionInfoCompleter = Completer(); @@ -1653,7 +1685,6 @@ name: my_app outputPreferences: OutputPreferences.test(), analytics: globals.analytics, systemClock: globals.systemClock, - devtoolsHandler: createNoOpHandler, ); // Create necessary files. @@ -1932,19 +1963,21 @@ ResidentRunner setUpResidentRunner( terminal: Terminal.test(), platform: FakePlatform(), outputPreferences: OutputPreferences.test(), - devtoolsHandler: createNoOpHandler, ); } class FakeWebServerDevice extends FakeDevice implements WebServerDevice {} -class FakeDevice extends Fake implements Device { +class FakeDevice extends Fake implements WebDevice { @override var name = 'FakeDevice'; @override String get displayName => name; + @override + Uri? devToolsUri; + var count = 0; var isRunning = false; @@ -1953,7 +1986,7 @@ class FakeDevice extends Fake implements Device { Future get sdkNameAndVersion async => 'SDK Name and Version'; @override - late DartDevelopmentService dds; + final dds = DartDevelopmentService(logger: test_fakes.FakeLogger()); @override bool get supportsHotRestart => true; @@ -1993,6 +2026,9 @@ class FakeDebugConnection extends Fake implements DebugConnection { @override late String uri; + @override + late String devToolsUri; + final completer = Completer(); var didClose = false; @@ -2053,6 +2089,8 @@ class FakeResidentCompiler extends Fake implements ResidentCompiler { class FakeWebDevFS extends Fake implements WebDevFS { Object? exception; + + final resultCompleter = Completer(); ConnectionResult? result; late UpdateFSReport report; @@ -2111,7 +2149,11 @@ class FakeWebDevFS extends Fake implements WebDevFS { // ignore: only_throw_errors, exception is either Error or Exception here. throw exception!; } - return result; + // Automatically complete the future if a non-null result has been set. + if (result != null) { + resultCompleter.complete(result); + } + return resultCompleter.future; } } @@ -2279,6 +2321,9 @@ class FakeFlutterDevice extends Fake implements FlutterDevice { @override Future updateReloadStatus(bool wasReloadSuccessful) async {} + + @override + Future handleHotRestart() async {} } class FakeShaderCompiler implements DevelopmentShaderCompiler { diff --git a/packages/flutter_tools/test/general.shard/run_hot_test.dart b/packages/flutter_tools/test/general.shard/run_hot_test.dart index a76d9f845462d..b4f0d6fdf06ee 100644 --- a/packages/flutter_tools/test/general.shard/run_hot_test.dart +++ b/packages/flutter_tools/test/general.shard/run_hot_test.dart @@ -8,7 +8,6 @@ import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/compile.dart'; import 'package:flutter_tools/src/devfs.dart'; import 'package:flutter_tools/src/device.dart'; -import 'package:flutter_tools/src/resident_devtools_handler.dart'; import 'package:flutter_tools/src/resident_runner.dart'; import 'package:flutter_tools/src/run_hot.dart'; import 'package:flutter_tools/src/vmservice.dart'; @@ -52,14 +51,12 @@ void main() { target: 'main.dart', debuggingOptions: DebuggingOptions.disabled(BuildInfo.debug), analytics: _FakeAnalytics(), - devtoolsHandler: createNoOpHandler, ); await runner.run(); await runner.cleanupAfterSignal(); expect(flutterDevice.wasExited, true); expect((flutterDevice.device.dds as FakeDartDevelopmentService).wasShutdown, true); - expect((runner.residentDevtoolsHandler! as NoOpDevtoolsHandler).wasShutdown, true); }, overrides: { FileSystem: () => fileSystem, diff --git a/packages/flutter_tools/test/general.shard/runner/runner_test.dart b/packages/flutter_tools/test/general.shard/runner/runner_test.dart index 563700e2fe022..1d6be5a665e61 100644 --- a/packages/flutter_tools/test/general.shard/runner/runner_test.dart +++ b/packages/flutter_tools/test/general.shard/runner/runner_test.dart @@ -5,6 +5,7 @@ import 'dart:async'; import 'package:file/memory.dart'; +import 'package:flutter_tools/executable.dart'; import 'package:flutter_tools/runner.dart' as runner; import 'package:flutter_tools/src/artifacts.dart'; import 'package:flutter_tools/src/base/bot_detector.dart'; @@ -17,6 +18,7 @@ import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/base/process.dart'; import 'package:flutter_tools/src/base/user_messages.dart'; import 'package:flutter_tools/src/cache.dart'; +import 'package:flutter_tools/src/commands/devices.dart'; import 'package:flutter_tools/src/globals.dart' as globals; import 'package:flutter_tools/src/reporting/crash_reporting.dart'; import 'package:flutter_tools/src/runner/flutter_command.dart'; @@ -576,6 +578,48 @@ void main() { BotDetector: () => const FakeBotDetector(true), }, ); + + testUsingContext( + 'do not print download messages when --machine is provided', + () async { + // Regression test for https://github.com/flutter/flutter/issues/154119. + final stdio = FakeStdio(); + await runner.run( + ['devices', '--machine'], + () => [DevicesCommand()], + // This flutterVersion disables crash reporting. + flutterVersion: '[user-branch]/', + shutdownHooks: ShutdownHooks(), + overrides: { + Logger: () { + final loggerFactory = LoggerFactory( + outputPreferences: globals.outputPreferences, + terminal: globals.terminal, + stdio: stdio, + ); + return loggerFactory.createLogger( + daemon: false, + // This is set to true when --machine is detected as an argument in + // executable.dart. + machine: true, + verbose: false, + prefixedErrors: false, + widgetPreviews: false, + windows: globals.platform.isWindows, + ); + }, + }, + ); + expect(stdio.writtenToStdout.join(), isNot(contains('Downloading'))); + expect(stdio.writtenToStderr.join(), isNot(contains('Downloading'))); + }, + overrides: { + Cache: () => FakeCache(), + FileSystem: () => MemoryFileSystem.test(), + ProcessManager: () => FakeProcessManager.any(), + BotDetector: () => const FakeBotDetector(true), + }, + ); }); group('unified_analytics', () { @@ -822,3 +866,16 @@ class _ErrorOnCanRunFakeProcessManager extends Fake implements FakeProcessManage return delegate.canRun(executable, workingDirectory: workingDirectory); } } + +class FakeCache extends Fake implements Cache { + @override + Future lock() async {} + + @override + void releaseLock() {} + + @override + Future updateAll(Set requiredArtifacts, {bool offline = false}) async { + globals.logger.startProgress('Downloading package Foo').stop(); + } +} diff --git a/packages/flutter_tools/test/general.shard/terminal_handler_test.dart b/packages/flutter_tools/test/general.shard/terminal_handler_test.dart index fbee883f7a38b..f2b052520f00a 100644 --- a/packages/flutter_tools/test/general.shard/terminal_handler_test.dart +++ b/packages/flutter_tools/test/general.shard/terminal_handler_test.dart @@ -18,7 +18,6 @@ import 'package:flutter_tools/src/compile.dart'; import 'package:flutter_tools/src/convert.dart'; import 'package:flutter_tools/src/devfs.dart'; import 'package:flutter_tools/src/device.dart'; -import 'package:flutter_tools/src/resident_devtools_handler.dart'; import 'package:flutter_tools/src/resident_runner.dart'; import 'package:flutter_tools/src/vmservice.dart'; import 'package:test/fake.dart'; @@ -744,11 +743,28 @@ void main() { testWithoutContext('v - launchDevToolsInBrowser', () async { final TerminalHandler terminalHandler = setUpTerminalHandler([]); final runner = terminalHandler.residentRunner as FakeResidentRunner; - final devtoolsHandler = runner.residentDevtoolsHandler as FakeResidentDevtoolsHandler; + for (final FlutterDevice? device in runner.flutterDevices) { + expect(device!.device!.dds.calledLaunchDevToolsInBrowser, isFalse); + } + await terminalHandler.processTerminalInput('v'); + for (final FlutterDevice? device in runner.flutterDevices) { + expect(device!.device!.dds.calledLaunchDevToolsInBrowser, isTrue); + } + }); - expect(devtoolsHandler.calledLaunchDevToolsInBrowser, isFalse); + testWithoutContext('v - does not launchDevToolsInBrowser on web in profile mode', () async { + final TerminalHandler terminalHandler = setUpTerminalHandler( + [], + web: true, + buildMode: BuildMode.profile, + ); + + final runner = terminalHandler.residentRunner as FakeResidentRunner; + final DartDevelopmentService dds = runner.flutterDevices.single.device!.dds; + + expect(dds.calledLaunchDevToolsInBrowser, isFalse); await terminalHandler.processTerminalInput('v'); - expect(devtoolsHandler.calledLaunchDevToolsInBrowser, isTrue); + expect(dds.calledLaunchDevToolsInBrowser, isFalse); }); testWithoutContext('w,W - debugDumpApp without service protocol is skipped', () async { @@ -1278,21 +1294,6 @@ class FakeResidentRunner extends ResidentHandlers { } return OperationResult(reloadExitCode, '', fatal: fatalReloadError); } - - // TODO(bkonyi): remove when ready to serve DevTools from DDS. - @override - ResidentDevtoolsHandler get residentDevtoolsHandler => _residentDevtoolsHandler; - final ResidentDevtoolsHandler _residentDevtoolsHandler = FakeResidentDevtoolsHandler(); -} - -// TODO(bkonyi): remove when ready to serve DevTools from DDS. -class FakeResidentDevtoolsHandler extends Fake implements ResidentDevtoolsHandler { - var calledLaunchDevToolsInBrowser = false; - - @override - bool launchDevToolsInBrowser({List? flutterDevices}) { - return calledLaunchDevToolsInBrowser = true; - } } class FakeDevice extends Fake implements Device { diff --git a/packages/flutter_tools/test/general.shard/test/test_golden_comparator_test.dart b/packages/flutter_tools/test/general.shard/test/test_golden_comparator_test.dart index c81b4846a08d0..161ea35c6fc5b 100644 --- a/packages/flutter_tools/test/general.shard/test/test_golden_comparator_test.dart +++ b/packages/flutter_tools/test/general.shard/test/test_golden_comparator_test.dart @@ -242,7 +242,7 @@ void main() { } String _encodeStdout({required bool success, String? message}) { - return jsonEncode({'success': success, if (message != null) 'message': message}); + return jsonEncode({'success': success, 'message': ?message}); } final class _FakeTestCompiler extends Fake implements TestCompiler { diff --git a/packages/flutter_tools/test/general.shard/test/web_test_compiler_test.dart b/packages/flutter_tools/test/general.shard/test/web_test_compiler_test.dart index 4ec5482f4fd76..83ad794720cf6 100644 --- a/packages/flutter_tools/test/general.shard/test/web_test_compiler_test.dart +++ b/packages/flutter_tools/test/general.shard/test/web_test_compiler_test.dart @@ -13,6 +13,7 @@ import 'package:flutter_tools/src/web/compile.dart'; import 'package:test/expect.dart'; import '../../src/context.dart'; +import '../../src/fakes.dart'; void main() { testUsingContext('web test compiler issues valid compile command', () async { @@ -74,6 +75,7 @@ void main() { artifacts: Artifacts.test(), processManager: processManager, config: config, + shutdownHooks: FakeShutdownHooks(), ); const buildInfo = BuildInfo( @@ -143,6 +145,7 @@ void main() { artifacts: Artifacts.test(), processManager: processManager, config: config, + shutdownHooks: FakeShutdownHooks(), ); const buildInfo = BuildInfo( diff --git a/packages/flutter_tools/test/general.shard/version_test.dart b/packages/flutter_tools/test/general.shard/version_test.dart index 84fa833a1aab3..3b08c90397644 100644 --- a/packages/flutter_tools/test/general.shard/version_test.dart +++ b/packages/flutter_tools/test/general.shard/version_test.dart @@ -16,6 +16,7 @@ import 'package:flutter_tools/src/features.dart'; import 'package:flutter_tools/src/git.dart'; import 'package:flutter_tools/src/globals.dart' as globals; import 'package:flutter_tools/src/version.dart'; +import 'package:meta/meta.dart'; import 'package:test/fake.dart'; import '../src/common.dart'; @@ -57,6 +58,34 @@ void main() { ); }); + /// Mocks the series of commands used to determine the Flutter version for `master`. + @useResult + List mockGitTagHistory({ + required String latestTag, + required String headRef, + required String ancestorRef, + required int commitsBetweenRefs, + }) { + return [ + FakeCommand( + command: const [ + 'git', + 'for-each-ref', + '--sort=-v:refname', + '--count=1', + '--format=%(refname:short)', + 'refs/tags/[0-9]*.*.*', + ], + stdout: latestTag, + ), + FakeCommand(command: ['git', 'merge-base', headRef, latestTag], stdout: ancestorRef), + FakeCommand( + command: ['git', 'rev-list', '--count', '$ancestorRef..$headRef'], + stdout: '$commitsBetweenRefs', + ), + ]; + } + for (final String channel in kOfficialChannels) { DateTime getChannelUpToDateVersion() { return _testClock.ago(VersionFreshnessValidator.versionAgeConsideredUpToDate(channel) ~/ 2); @@ -100,17 +129,11 @@ void main() { stdout: '1234abcd', ), const FakeCommand(command: ['git', 'tag', '--points-at', '1234abcd']), - const FakeCommand( - command: [ - 'git', - 'describe', - '--match', - '*.*.*', - '--long', - '--tags', - '1234abcd', - ], - stdout: '0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: '', + headRef: '1234abcd', + ancestorRef: '', + commitsBetweenRefs: 0, ), FakeCommand( command: const ['git', 'symbolic-ref', '--short', 'HEAD'], @@ -278,17 +301,11 @@ void main() { ], ), const FakeCommand(command: ['git', 'tag', '--points-at', '1234abcd']), - const FakeCommand( - command: [ - 'git', - 'describe', - '--match', - '*.*.*', - '--long', - '--tags', - '1234abcd', - ], - stdout: '0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: '0.1.2-3', + headRef: '1234abcd', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 170, ), FakeCommand( command: const ['git', 'symbolic-ref', '--short', 'HEAD'], @@ -417,7 +434,6 @@ void main() { // Verify the version files exist and have been repopulated after the fetch. expect(FlutterVersion.getVersionFile(fs, flutterRoot), exists); // flutter.version.json - expect(fs.file(fs.path.join(flutterRoot, 'version')), exists); // legacy expect(flutterVersion.channel, channel); expect(flutterVersion.repositoryUrl, flutterUpstreamUrl); @@ -468,17 +484,11 @@ void main() { stdout: '1234abcd', ), const FakeCommand(command: ['git', 'tag', '--points-at', '1234abcd']), - const FakeCommand( - command: [ - 'git', - 'describe', - '--match', - '*.*.*', - '--long', - '--tags', - '1234abcd', - ], - stdout: '0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: '0.1.2-3', + headRef: '1234abcd', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 170, ), FakeCommand( command: const ['git', 'symbolic-ref', '--short', 'HEAD'], @@ -735,7 +745,7 @@ void main() { VersionCheckError? runUpstreamValidator({String? versionUpstreamUrl, String? flutterGitUrl}) { final Platform testPlatform = FakePlatform( - environment: {if (flutterGitUrl != null) 'FLUTTER_GIT_URL': flutterGitUrl}, + environment: {'FLUTTER_GIT_URL': ?flutterGitUrl}, ); return VersionUpstreamValidator( version: FakeFlutterVersion(repositoryUrl: versionUpstreamUrl), @@ -860,9 +870,11 @@ void main() { stdout: '1234abcd', ), const FakeCommand(command: ['git', 'tag', '--points-at', '1234abcd']), - const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', '1234abcd'], - stdout: '0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: '0.1.2-3', + headRef: '1234abcd', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 170, ), const FakeCommand( command: ['git', 'symbolic-ref', '--short', 'HEAD'], @@ -908,9 +920,11 @@ void main() { stdout: '1234abcd', ), const FakeCommand(command: ['git', 'tag', '--points-at', '1234abcd']), - const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', '1234abcd'], - stdout: '0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: '0.1.2-3', + headRef: '1234abcd', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 170, ), const FakeCommand( command: ['git', 'symbolic-ref', '--short', 'HEAD'], @@ -1056,7 +1070,12 @@ void main() { expect(legacyVersionFile.existsSync(), isTrue); expect(legacyVersionFile.readAsStringSync(), '1.2.3'); }, - overrides: {ProcessManager: () => processManager, Cache: () => cache}, + overrides: { + ProcessManager: () => processManager, + Cache: () => cache, + // ignore: avoid_redundant_argument_values + FeatureFlags: () => TestFeatureFlags(isOmitLegacyVersionFileEnabled: false), + }, ); testUsingContext( @@ -1128,7 +1147,6 @@ void main() { final Directory flutterRoot = fs.directory(fs.path.join('path', 'to', 'flutter')); final Directory cacheDir = flutterRoot.childDirectory('bin').childDirectory('cache') ..createSync(recursive: true); - final File legacyVersionFile = flutterRoot.childFile('version'); final File versionFile = cacheDir.childFile('flutter.version.json')..writeAsStringSync('{'); processManager.addCommands([ @@ -1145,9 +1163,11 @@ void main() { stdout: '1234abcd', ), const FakeCommand(command: ['git', 'tag', '--points-at', '1234abcd']), - const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', '1234abcd'], - stdout: '0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: '0.1.2-3', + headRef: '1234abcd', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 170, ), const FakeCommand( command: ['git', 'symbolic-ref', '--short', 'HEAD'], @@ -1202,12 +1222,10 @@ void main() { // version file was deleted because it couldn't be parsed expect(versionFile.existsSync(), isFalse); - expect(legacyVersionFile.existsSync(), isFalse); // version file was written to disk flutterVersion.ensureVersionFile(); expect(processManager, hasNoRemainingExpectations); expect(versionFile.existsSync(), isTrue); - expect(legacyVersionFile.existsSync(), isTrue); }, overrides: {ProcessManager: () => processManager, Cache: () => cache}, ); @@ -1399,15 +1417,16 @@ void main() { testUsingContext('determine reports correct git describe version if HEAD is not at a tag', () { const devTag = '1.2.0-2.0.pre'; const headRevision = 'abcd1234'; - const commitsAhead = '12'; processManager.addCommands([ const FakeCommand( command: ['git', 'tag', '--points-at', 'HEAD'], // no output, since there's no tag ), - const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', 'HEAD'], - stdout: '$devTag-$commitsAhead-g$headRevision', + ...mockGitTagHistory( + latestTag: devTag, + headRef: 'HEAD', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 12, ), ]); final platform = FakePlatform(); @@ -1424,9 +1443,11 @@ void main() { testUsingContext('determine does not call fetch --tags', () { processManager.addCommands([ const FakeCommand(command: ['git', 'tag', '--points-at', 'HEAD']), - const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', 'HEAD'], - stdout: 'v0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: 'v0.1.2-3', + headRef: 'HEAD', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 12, ), ]); final platform = FakePlatform(); @@ -1442,9 +1463,11 @@ void main() { stdout: 'beta', ), const FakeCommand(command: ['git', 'tag', '--points-at', 'HEAD']), - const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', 'HEAD'], - stdout: 'v0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: 'v0.1.2-3', + headRef: 'HEAD', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 12, ), ]); final platform = FakePlatform(); @@ -1463,9 +1486,11 @@ void main() { command: ['git', 'fetch', 'https://github.com/flutter/flutter.git', '--tags', '-f'], ), const FakeCommand(command: ['git', 'tag', '--points-at', 'HEAD']), - const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', 'HEAD'], - stdout: 'v0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: 'v0.1.2-3', + headRef: 'HEAD', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 12, ), ]); final platform = FakePlatform(); @@ -1484,9 +1509,11 @@ void main() { command: ['git', 'fetch', 'https://githubmirror.com/flutter.git', '--tags', '-f'], ), const FakeCommand(command: ['git', 'tag', '--points-at', 'HEAD']), - const FakeCommand( - command: ['git', 'describe', '--match', '*.*.*', '--long', '--tags', 'HEAD'], - stdout: 'v0.1.2-3-1234abcd', + ...mockGitTagHistory( + latestTag: 'v0.1.2-3', + headRef: 'HEAD', + ancestorRef: 'abcd1234', + commitsBetweenRefs: 12, ), ]); final platform = FakePlatform( diff --git a/packages/flutter_tools/test/general.shard/web/bootstrap_test.dart b/packages/flutter_tools/test/general.shard/web/bootstrap_test.dart index 5a3379f64e87c..663a740f70a63 100644 --- a/packages/flutter_tools/test/general.shard/web/bootstrap_test.dart +++ b/packages/flutter_tools/test/general.shard/web/bootstrap_test.dart @@ -267,7 +267,7 @@ void main() { isCi: true, ); // bootstrap main module has correct defined module. - expect(result, contains('let appName = "org-dartlang-app:/main.js";')); + expect(result, contains('const appName = "org-dartlang-app:/main.js";')); expect(result, contains('dartDevEmbedder.runMain(appName, sdkOptions);')); }); diff --git a/packages/flutter_tools/test/general.shard/web/devfs_web_ddc_modules_test.dart b/packages/flutter_tools/test/general.shard/web/devfs_web_ddc_modules_test.dart index ce084e80d3ef6..b5b44a266ee23 100644 --- a/packages/flutter_tools/test/general.shard/web/devfs_web_ddc_modules_test.dart +++ b/packages/flutter_tools/test/general.shard/web/devfs_web_ddc_modules_test.dart @@ -799,7 +799,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -905,7 +905,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), enableDwds: true, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -977,7 +977,7 @@ void main() { useSseForInjectedClient: true, buildInfo: BuildInfo.debug, enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1026,7 +1026,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1077,7 +1077,7 @@ void main() { nativeNullAssertions: true, buildInfo: BuildInfo.debug, enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1121,7 +1121,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), false, - false, + const DartDevelopmentServiceConfiguration(enable: false), Uri.base, null, webRenderer: WebRendererMode.canvaskit, @@ -1160,7 +1160,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), false, - false, + const DartDevelopmentServiceConfiguration(enable: false), Uri.base, null, webRenderer: WebRendererMode.canvaskit, @@ -1243,7 +1243,7 @@ void main() { nativeNullAssertions: true, buildInfo: BuildInfo.debug, enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, diff --git a/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart b/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart index 5b71b4094212b..58110cac8b910 100644 --- a/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart +++ b/packages/flutter_tools/test/general.shard/web/devfs_web_test.dart @@ -924,7 +924,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1031,7 +1031,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1143,7 +1143,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), enableDwds: true, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1217,7 +1217,7 @@ void main() { useSseForInjectedClient: true, buildInfo: BuildInfo.debug, enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1266,7 +1266,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1319,7 +1319,7 @@ void main() { nativeNullAssertions: true, buildInfo: BuildInfo.debug, enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, @@ -1365,7 +1365,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), false, - false, + const DartDevelopmentServiceConfiguration(enable: false), Uri.base, null, webRenderer: WebRendererMode.canvaskit, @@ -1404,7 +1404,7 @@ void main() { packageConfigPath: '.dart_tool/package_config.json', ), false, - false, + const DartDevelopmentServiceConfiguration(enable: false), Uri.base, null, webRenderer: WebRendererMode.canvaskit, @@ -1494,7 +1494,7 @@ void main() { nativeNullAssertions: true, buildInfo: BuildInfo.debug, enableDwds: false, - enableDds: false, + ddsConfig: const DartDevelopmentServiceConfiguration(enable: false), entrypoint: Uri.base, testMode: true, expressionCompiler: null, diff --git a/packages/flutter_tools/test/general.shard/xcode_backend_test.dart b/packages/flutter_tools/test/general.shard/xcode_backend_test.dart index aeddbf5839c44..43bb74ca27343 100644 --- a/packages/flutter_tools/test/general.shard/xcode_backend_test.dart +++ b/packages/flutter_tools/test/general.shard/xcode_backend_test.dart @@ -103,7 +103,6 @@ void main() { 'CONFIGURATION': buildMode, 'FLUTTER_ROOT': flutterRoot.path, 'INFOPLIST_PATH': 'Info.plist', - 'FLUTTER_CLI_BUILD_MODE': buildMode.toLowerCase(), }, commands: [ FakeCommand( @@ -191,7 +190,6 @@ void main() { 'TREE_SHAKE_ICONS': treeShake, 'SRCROOT': srcRoot, 'TARGET_DEVICE_OS_VERSION': iOSVersion, - 'FLUTTER_CLI_BUILD_MODE': buildMode.toLowerCase(), }, commands: [ FakeCommand( @@ -234,137 +232,6 @@ void main() { expect(context.stdout, contains('built and packaged successfully.')); expect(context.stderr, isEmpty); }); - - test( - 'exits with useful error message when missing FLUTTER_CLI_BUILD_MODE during archive', - () { - final Directory buildDir = fileSystem.directory('/path/to/builds') - ..createSync(recursive: true); - final Directory flutterRoot = fileSystem.directory('/path/to/flutter') - ..createSync(recursive: true); - - const buildMode = 'Release'; - - final context = TestContext( - ['build', platformName], - { - 'ACTION': 'install', - 'CONFIGURATION': buildMode, - 'BUILT_PRODUCTS_DIR': buildDir.path, - 'FLUTTER_ROOT': flutterRoot.path, - 'INFOPLIST_PATH': 'Info.plist', - }, - commands: [], - fileSystem: fileSystem, - ); - expect(() => context.run(), throwsException); - expect( - context.stderr, - contains( - 'error: Your Flutter build settings are outdated. ' - 'Please run "flutter build ${platform.name} --config-only --release" ' - 'in your Flutter project and try again.', - ), - ); - }, - ); - - test('exits with useful error message when build mode mismatches during archive', () { - final Directory buildDir = fileSystem.directory('/path/to/builds') - ..createSync(recursive: true); - final Directory flutterRoot = fileSystem.directory('/path/to/flutter') - ..createSync(recursive: true); - - const buildMode = 'Release'; - - final context = TestContext( - ['build', platformName], - { - 'ACTION': 'install', - 'CONFIGURATION': buildMode, - 'BUILT_PRODUCTS_DIR': buildDir.path, - 'FLUTTER_ROOT': flutterRoot.path, - 'INFOPLIST_PATH': 'Info.plist', - 'FLUTTER_CLI_BUILD_MODE': 'debug', - }, - commands: [], - fileSystem: fileSystem, - ); - expect(() => context.run(), throwsException); - expect( - context.stderr, - contains( - 'error: Your Flutter project is currently configured for debug mode. ' - 'Please run `flutter build ${platform.name} --config-only --release` ' - 'in your Flutter project to update your settings.', - ), - ); - }); - - test('prints useful warning message when missing FLUTTER_CLI_BUILD_MODE', () { - final Directory buildDir = fileSystem.directory('/path/to/builds') - ..createSync(recursive: true); - final Directory flutterRoot = fileSystem.directory('/path/to/flutter') - ..createSync(recursive: true); - - const buildMode = 'Release'; - - final context = TestContext( - ['build', platformName], - { - 'ACTION': 'build', - 'CONFIGURATION': buildMode, - 'BUILT_PRODUCTS_DIR': buildDir.path, - 'FLUTTER_ROOT': flutterRoot.path, - 'INFOPLIST_PATH': 'Info.plist', - }, - commands: [], - fileSystem: fileSystem, - fakeProcessManager: FakeProcessManager.any(), - ); - context.run(); - expect( - context.stderr, - contains( - 'warning: Your Flutter build settings are outdated. ' - 'Please run "flutter build ${platform.name} --config-only --release" ' - 'in your Flutter project and try again.', - ), - ); - }); - - test('prints useful warning message when build mode mismatches', () { - final Directory buildDir = fileSystem.directory('/path/to/builds') - ..createSync(recursive: true); - final Directory flutterRoot = fileSystem.directory('/path/to/flutter') - ..createSync(recursive: true); - - const buildMode = 'Release'; - - final context = TestContext( - ['build', platformName], - { - 'ACTION': 'debug', - 'CONFIGURATION': buildMode, - 'BUILT_PRODUCTS_DIR': buildDir.path, - 'FLUTTER_ROOT': flutterRoot.path, - 'INFOPLIST_PATH': 'Info.plist', - 'FLUTTER_CLI_BUILD_MODE': 'debug', - }, - commands: [], - fileSystem: fileSystem, - fakeProcessManager: FakeProcessManager.any(), - ); - context.run(); - expect( - context.stderr, - contains( - 'warning: Your Flutter project is currently configured for debug mode. ' - 'Please run `flutter build ${platform.name} --config-only --release` ' - 'in your Flutter project to update your settings.', - ), - ); - }); }); } @@ -390,265 +257,153 @@ void main() { ); }); - test( - 'Missing NSBonjourServices key in Info.plist should not fail Xcode compilation, and no plutil error in stdout without verbose mode', - () { - final Directory buildDir = fileSystem.directory('/path/to/builds') - ..createSync(recursive: true); - final File infoPlist = buildDir.childFile('Info.plist')..createSync(); - const plutilErrorMessage = - 'Could not extract value, error: No value at that key path or invalid key path: NSBonjourServices'; - - final context = TestContext( - ['test_vm_service_bonjour_service'], - { - 'CONFIGURATION': 'Debug', - 'BUILT_PRODUCTS_DIR': buildDir.path, - 'INFOPLIST_PATH': 'Info.plist', - }, - commands: [ - FakeCommand( - command: [ - 'plutil', - '-extract', - 'NSBonjourServices', - 'xml1', - '-o', - '-', - infoPlist.path, - ], - exitCode: 1, - stderr: plutilErrorMessage, - ), - FakeCommand( - command: [ - 'plutil', - '-insert', - 'NSBonjourServices', - '-json', - '["_dartVmService._tcp"]', - infoPlist.path, - ], - ), - FakeCommand( - command: [ - 'plutil', - '-extract', - 'NSLocalNetworkUsageDescription', - 'xml1', - '-o', - '-', - infoPlist.path, - ], - ), - ], - fileSystem: fileSystem, - )..run(); - expect(context.stderr, isNot(startsWith('error: '))); - expect(context.stderr, isNot(contains(plutilErrorMessage))); - expect(context.stdout, isNot(contains(plutilErrorMessage))); - }, - ); - - test( - 'Missing NSBonjourServices key in Info.plist should not fail Xcode compilation, and has plutil error in stdout under verbose mode', - () { - final Directory buildDir = fileSystem.directory('/path/to/builds') - ..createSync(recursive: true); - final File infoPlist = buildDir.childFile('Info.plist')..createSync(); - const plutilErrorMessage = - 'Could not extract value, error: No value at that key path or invalid key path: NSBonjourServices'; + for (final verbose in [true, false]) { + test( + 'Missing NSBonjourServices key in Info.plist should not fail Xcode compilation under ${verbose ? 'verbose' : 'non-verbose'} mode', + () { + final Directory buildDir = fileSystem.directory('/path/to/builds') + ..createSync(recursive: true); + final File infoPlist = buildDir.childFile('Info.plist')..createSync(); + const plutilErrorMessage = + 'Could not extract value, error: No value at that key path or invalid key path: NSBonjourServices'; + final File pipe = fileSystem.file('/tmp/pipe')..createSync(recursive: true); + final context = TestContext( + ['test_vm_service_bonjour_service'], + { + 'CONFIGURATION': 'Debug', + 'BUILT_PRODUCTS_DIR': buildDir.path, + 'INFOPLIST_PATH': 'Info.plist', + if (verbose) 'VERBOSE_SCRIPT_LOGGING': 'YES', + }, + commands: [ + FakeCommand( + command: [ + 'plutil', + '-extract', + 'NSBonjourServices', + 'xml1', + '-o', + '-', + infoPlist.path, + ], + exitCode: 1, + stderr: plutilErrorMessage, + ), + FakeCommand( + command: [ + 'plutil', + '-insert', + 'NSBonjourServices', + '-json', + '["_dartVmService._tcp"]', + infoPlist.path, + ], + ), + FakeCommand( + command: [ + 'plutil', + '-extract', + 'NSLocalNetworkUsageDescription', + 'xml1', + '-o', + '-', + infoPlist.path, + ], + ), + ], + fileSystem: fileSystem, + scriptOutputStreamFile: pipe, + )..run(); - final context = TestContext( - ['test_vm_service_bonjour_service'], - { - 'CONFIGURATION': 'Debug', - 'BUILT_PRODUCTS_DIR': buildDir.path, - 'INFOPLIST_PATH': 'Info.plist', - 'VERBOSE_SCRIPT_LOGGING': 'YES', - }, - commands: [ - FakeCommand( - command: [ - 'plutil', - '-extract', - 'NSBonjourServices', - 'xml1', - '-o', - '-', - infoPlist.path, - ], - exitCode: 1, - stderr: plutilErrorMessage, - ), - FakeCommand( - command: [ - 'plutil', - '-insert', - 'NSBonjourServices', - '-json', - '["_dartVmService._tcp"]', - infoPlist.path, - ], - ), - FakeCommand( - command: [ - 'plutil', - '-extract', - 'NSLocalNetworkUsageDescription', - 'xml1', - '-o', - '-', - infoPlist.path, - ], - ), - ], - fileSystem: fileSystem, - )..run(); - expect(context.stderr, isNot(startsWith('error: '))); - expect(context.stderr, isNot(contains(plutilErrorMessage))); - expect(context.stdout, contains(plutilErrorMessage)); - }, - ); + expect(context.stderr, isNot(startsWith('error: '))); + expect(pipe.readAsStringSync(), isNot(contains(plutilErrorMessage))); + expect(context.stderr, isNot(contains(plutilErrorMessage))); + if (verbose) { + expect(context.stdout, contains(plutilErrorMessage)); + } else { + expect(context.stdout, isNot(contains(plutilErrorMessage))); + } + }, + ); - test( - 'Missing NSLocalNetworkUsageDescription in Info.plist should not fail Xcode compilation, and no plutil error in stdout without verbose mode', - () { - final Directory buildDir = fileSystem.directory('/path/to/builds') - ..createSync(recursive: true); - final File infoPlist = buildDir.childFile('Info.plist')..createSync(); - const plutilErrorMessage = - 'Could not extract value, error: No value at that key path or invalid key path: NSLocalNetworkUsageDescription'; - final context = TestContext( - ['test_vm_service_bonjour_service'], - { - 'CONFIGURATION': 'Debug', - 'BUILT_PRODUCTS_DIR': buildDir.path, - 'INFOPLIST_PATH': 'Info.plist', - }, - commands: [ - FakeCommand( - command: [ - 'plutil', - '-extract', - 'NSBonjourServices', - 'xml1', - '-o', - '-', - infoPlist.path, - ], - ), - FakeCommand( - command: [ - 'plutil', - '-insert', - 'NSBonjourServices.0', - '-string', - '_dartVmService._tcp', - infoPlist.path, - ], - ), - FakeCommand( - command: [ - 'plutil', - '-extract', - 'NSLocalNetworkUsageDescription', - 'xml1', - '-o', - '-', - infoPlist.path, - ], - exitCode: 1, - stderr: plutilErrorMessage, - ), - FakeCommand( - command: [ - 'plutil', - '-insert', - 'NSLocalNetworkUsageDescription', - '-string', - 'Allow Flutter tools on your computer to connect and debug your application. This prompt will not appear on release builds.', - infoPlist.path, - ], - ), - ], - fileSystem: fileSystem, - )..run(); - expect(context.stderr, isNot(startsWith('error: '))); - expect(context.stderr, isNot(contains(plutilErrorMessage))); - expect(context.stdout, isNot(contains(plutilErrorMessage))); - }, - ); + test( + 'Missing NSLocalNetworkUsageDescription in Info.plist should not fail Xcode compilation under ${verbose ? 'verbose' : 'non-verbose'} mode', + () { + final Directory buildDir = fileSystem.directory('/path/to/builds') + ..createSync(recursive: true); + final File infoPlist = buildDir.childFile('Info.plist')..createSync(); + const plutilErrorMessage = + 'Could not extract value, error: No value at that key path or invalid key path: NSLocalNetworkUsageDescription'; + final File pipe = fileSystem.file('/tmp/pipe')..createSync(recursive: true); + final context = TestContext( + ['test_vm_service_bonjour_service'], + { + 'CONFIGURATION': 'Debug', + 'BUILT_PRODUCTS_DIR': buildDir.path, + 'INFOPLIST_PATH': 'Info.plist', + if (verbose) 'VERBOSE_SCRIPT_LOGGING': 'YES', + }, + commands: [ + FakeCommand( + command: [ + 'plutil', + '-extract', + 'NSBonjourServices', + 'xml1', + '-o', + '-', + infoPlist.path, + ], + ), + FakeCommand( + command: [ + 'plutil', + '-insert', + 'NSBonjourServices.0', + '-string', + '_dartVmService._tcp', + infoPlist.path, + ], + ), + FakeCommand( + command: [ + 'plutil', + '-extract', + 'NSLocalNetworkUsageDescription', + 'xml1', + '-o', + '-', + infoPlist.path, + ], + exitCode: 1, + stderr: plutilErrorMessage, + ), + FakeCommand( + command: [ + 'plutil', + '-insert', + 'NSLocalNetworkUsageDescription', + '-string', + 'Allow Flutter tools on your computer to connect and debug your application. This prompt will not appear on release builds.', + infoPlist.path, + ], + ), + ], + fileSystem: fileSystem, + scriptOutputStreamFile: pipe, + )..run(); - test( - 'Missing NSLocalNetworkUsageDescription in Info.plist should not fail Xcode compilation, and has plutil error in stdout under verbose mode', - () { - final Directory buildDir = fileSystem.directory('/path/to/builds') - ..createSync(recursive: true); - final File infoPlist = buildDir.childFile('Info.plist')..createSync(); - const plutilErrorMessage = - 'Could not extract value, error: No value at that key path or invalid key path: NSLocalNetworkUsageDescription'; - final context = TestContext( - ['test_vm_service_bonjour_service'], - { - 'CONFIGURATION': 'Debug', - 'BUILT_PRODUCTS_DIR': buildDir.path, - 'INFOPLIST_PATH': 'Info.plist', - 'VERBOSE_SCRIPT_LOGGING': 'YES', - }, - commands: [ - FakeCommand( - command: [ - 'plutil', - '-extract', - 'NSBonjourServices', - 'xml1', - '-o', - '-', - infoPlist.path, - ], - ), - FakeCommand( - command: [ - 'plutil', - '-insert', - 'NSBonjourServices.0', - '-string', - '_dartVmService._tcp', - infoPlist.path, - ], - ), - FakeCommand( - command: [ - 'plutil', - '-extract', - 'NSLocalNetworkUsageDescription', - 'xml1', - '-o', - '-', - infoPlist.path, - ], - exitCode: 1, - stderr: plutilErrorMessage, - ), - FakeCommand( - command: [ - 'plutil', - '-insert', - 'NSLocalNetworkUsageDescription', - '-string', - 'Allow Flutter tools on your computer to connect and debug your application. This prompt will not appear on release builds.', - infoPlist.path, - ], - ), - ], - fileSystem: fileSystem, - )..run(); - expect(context.stderr, isNot(startsWith('error: '))); - expect(context.stderr, isNot(contains(plutilErrorMessage))); - expect(context.stdout, contains(plutilErrorMessage)); - }, - ); + expect(context.stderr, isNot(startsWith('error: '))); + expect(pipe.readAsString(), isNot(contains(plutilErrorMessage))); + expect(context.stderr, isNot(contains(plutilErrorMessage))); + if (verbose) { + expect(context.stdout, contains(plutilErrorMessage)); + } else { + expect(context.stdout, isNot(contains(plutilErrorMessage))); + } + }, + ); + } }); for (final platform in platforms) { @@ -669,7 +424,6 @@ void main() { 'BUILT_PRODUCTS_DIR': buildDir.path, 'FLUTTER_ROOT': flutterRoot.path, 'INFOPLIST_PATH': 'Info.plist', - 'FLUTTER_CLI_BUILD_MODE': buildMode.toLowerCase(), }, commands: [ FakeCommand( @@ -721,7 +475,6 @@ void main() { 'CONFIGURATION': buildMode, 'FLUTTER_ROOT': flutterRoot.path, 'INFOPLIST_PATH': 'Info.plist', - 'FLUTTER_CLI_BUILD_MODE': buildMode.toLowerCase(), }, commands: [ FakeCommand( @@ -801,7 +554,6 @@ void main() { 'TREE_SHAKE_ICONS': treeShake, 'SRCROOT': srcRoot, 'TARGET_DEVICE_OS_VERSION': iOSVersion, - 'FLUTTER_CLI_BUILD_MODE': buildMode.toLowerCase(), }, commands: [ FakeCommand( @@ -859,7 +611,6 @@ void main() { 'ARCHS': 'arm64 x86_64', 'ONLY_ACTIVE_ARCH': 'YES', 'NATIVE_ARCH': 'arm64e', - 'FLUTTER_CLI_BUILD_MODE': buildMode.toLowerCase(), }, commands: [ FakeCommand( @@ -914,7 +665,6 @@ void main() { 'ARCHS': 'arm64', 'ONLY_ACTIVE_ARCH': 'YES', 'NATIVE_ARCH': 'x86_64', - 'FLUTTER_CLI_BUILD_MODE': buildMode.toLowerCase(), }, commands: [ FakeCommand( @@ -968,7 +718,6 @@ void main() { 'INFOPLIST_PATH': 'Info.plist', 'ARCHS': 'arm64 x86_64', 'NATIVE_ARCH': 'arm64e', - 'FLUTTER_CLI_BUILD_MODE': buildMode.toLowerCase(), }, commands: [ FakeCommand( diff --git a/packages/flutter_tools/test/integration.shard/debug_adapter/test_client.dart b/packages/flutter_tools/test/integration.shard/debug_adapter/test_client.dart index 04776a23e6fef..fbd6cf8c199b7 100644 --- a/packages/flutter_tools/test/integration.shard/debug_adapter/test_client.dart +++ b/packages/flutter_tools/test/integration.shard/debug_adapter/test_client.dart @@ -2,6 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// TODO(bkonyi): remove and cleanup prints once https://github.com/flutter/flutter/issues/172636 +// is resolved. +// ignore_for_file: avoid_print + import 'dart:async'; import 'package:dds/dap.dart'; @@ -129,6 +133,7 @@ class DapTestClient { bool? supportsRunInTerminalRequest, bool? supportsProgressReporting, }) async { + print('DapTestClient.initialize: wait for responses'); final List responses = await Future.wait(>[ event('initialized'), sendRequest( @@ -140,6 +145,7 @@ class DapTestClient { ), sendRequest(SetExceptionBreakpointsArguments(filters: [exceptionPauseMode])), ]); + print('DapTestClient.initialize: got responses, sending config done'); await sendRequest(ConfigurationDoneArguments()); return responses[1] as Response; // Return the initialize response. } @@ -261,8 +267,12 @@ class DapTestClient { Future Function()? launch, }) { return Future.wait(>[ - initialize(exceptionPauseMode: exceptionPauseMode), - launch?.call() ?? this.launch(program: program, cwd: cwd), + initialize( + exceptionPauseMode: exceptionPauseMode, + ).then((_) => print('DapTestClient.initialize: completed')), + (launch?.call() ?? this.launch(program: program, cwd: cwd)).then( + (_) => print('DapTestClient.launch: completed'), + ), ], eagerError: true); } @@ -398,11 +408,20 @@ extension DapTestClientExtension on DapTestClient { final Future>> testNotificationEventsFuture = testNotificationEvents .toList(); + print('DapTestClient.start: started'); if (start != null) { await start(); } else { await this.start(program: program, cwd: cwd, launch: launch); } + print('DapTestClient.start: completed'); + + unawaited(outputEventsFuture.then((_) => print('DapTestClient.outputEventsFuture: completed'))); + unawaited( + testNotificationEventsFuture.then( + (_) => print('DapTestClient.testNotificationEventsFuture: completed'), + ), + ); return TestEvents( output: await outputEventsFuture, diff --git a/packages/flutter_tools/test/integration.shard/debug_adapter/test_support.dart b/packages/flutter_tools/test/integration.shard/debug_adapter/test_support.dart index d0d4f9e2e1a34..52039ff4c86fc 100644 --- a/packages/flutter_tools/test/integration.shard/debug_adapter/test_support.dart +++ b/packages/flutter_tools/test/integration.shard/debug_adapter/test_support.dart @@ -29,7 +29,11 @@ final useInProcessDap = Platform.environment['DAP_TEST_INTERNAL'] == 'true'; /// This is useful for debugging locally or on the bots and will include both /// DAP traffic (between the test DAP client and the DAP server) and the VM /// Service traffic (wrapped in a custom 'dart.log' event). -final verboseLogging = Platform.environment['DAP_TEST_VERBOSE'] == 'true'; +final bool verboseLogging = + Platform.environment['DAP_TEST_VERBOSE'] == 'true' || + // Enable verbose logging on CI bots. + // TODO(bkonyi): remove this once https://github.com/flutter/flutter/issues/172636 is resolved. + Platform.environment.containsKey('SWARMING_TASK_ID'); const endOfErrorOutputMarker = '════════════════════════════════════════════════════════════════════════════════'; diff --git a/packages/flutter_tools/test/integration.shard/flutter_build_apk_split_per_abi_test.dart b/packages/flutter_tools/test/integration.shard/flutter_build_apk_split_per_abi_test.dart index ae17f5fa7f9ed..724ce4daf9e10 100644 --- a/packages/flutter_tools/test/integration.shard/flutter_build_apk_split_per_abi_test.dart +++ b/packages/flutter_tools/test/integration.shard/flutter_build_apk_split_per_abi_test.dart @@ -14,9 +14,90 @@ import 'test_utils.dart'; /// ABI → index map (same as FlutterPluginConstants.ABI_VERSION) const _abiIndexMap = {'armeabi-v7a': 1, 'arm64-v8a': 2, 'x86_64': 4}; +const _appGradleWithVersionCodeModification = r''' +import com.android.build.api.variant.FilterConfiguration.FilterType.* +import java.util.Properties +import java.io.FileInputStream + +plugins { + id("com.android.application") + id("kotlin-android") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id("dev.flutter.flutter-gradle-plugin") +} + +android { + namespace = "com.example.splitperabi" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.splitperabi" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + buildTypes { + release { + // TODO: Add your own signing config for the release build. + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig = signingConfigs.getByName("debug") + } + } +} + +flutter { + source = "../.." +} + +val abiCodes = mapOf("x86_64" to 1, "armeabi-v7a" to 2, "arm64-v8a" to 3, "universal" to 4) + +androidComponents { + onVariants { variant -> + + variant.outputs.forEach { output -> + val name = output.filters.find { it.filterType == ABI }?.identifier + + val baseAbiCode = abiCodes[name ?: "universal"] + if (baseAbiCode != null) { + output.versionCode.set(output.versionCode.get() * 10000) + } + } + } +} + +'''; + // Check that `flutter build apk --split-per-abi` generates a versionCode equal to abiIndex * 1000 + buildNumber -Future _assertSplitPerAbiVersionCodes(int? buildNumber) async { - final String workingDirectory = fileSystem.path.join(getFlutterRoot(), 'examples', 'hello_world'); +Future _assertSplitPerAbiVersionCodes( + int? buildNumber, + Directory workingDirectory, + bool usingCustomAppGradleFile, +) async { + if (usingCustomAppGradleFile) { + // Replace the app level build.gradle with one that modifies the version code. + final File appBuildGradle = fileSystem + .directory(workingDirectory) + .childDirectory('android') + .childDirectory('app') + .childFile('build.gradle.kts'); + + await appBuildGradle.writeAsString(_appGradleWithVersionCodeModification); + } final args = [ flutterBin, @@ -31,7 +112,10 @@ Future _assertSplitPerAbiVersionCodes(int? buildNumber) async { args.addAll(['--build-number', buildNumber.toString()]); } - final ProcessResult result = processManager.runSync(args, workingDirectory: workingDirectory); + final ProcessResult result = processManager.runSync( + args, + workingDirectory: workingDirectory.path, + ); expect( result.exitCode, 0, @@ -92,7 +176,8 @@ Future _assertSplitPerAbiVersionCodes(int? buildNumber) async { ); final int actual = actualVersionCodes[abi]!; - final int expected = (abiIndex * 1000) + (buildNumber ?? 1); + final int expected = + (abiIndex * 1000) + ((buildNumber ?? 1) * (usingCustomAppGradleFile ? 10000 : 1)); expect( actual, expected, @@ -105,11 +190,30 @@ Future _assertSplitPerAbiVersionCodes(int? buildNumber) async { } void main() { + late Directory tempDir; + late Directory appDir; + setUp(() async { + tempDir = createResolvedTempDirectorySync('flutter_split_per_abi_test.'); + + processManager.runSync([ + flutterBin, + ...getLocalEngineArguments(), + 'create', + '--platforms=android', + 'splitperabi', + ], workingDirectory: tempDir.path); + appDir = tempDir.childDirectory('splitperabi'); + }); + + tearDown(() async { + tryToDelete(tempDir); + }); + // Check with no build-number testWithoutContext( 'APK versionCodes after --split-per-abi (no explicit build-number) follow "(abiIndex * 1000) + 1"', () async { - await _assertSplitPerAbiVersionCodes(null); + await _assertSplitPerAbiVersionCodes(null, appDir, false); }, ); @@ -117,7 +221,15 @@ void main() { testWithoutContext( 'APK versionCodes after --split-per-abi with custom build-number=42 follow "(abiIndex * 1000) + 42"', () async { - await _assertSplitPerAbiVersionCodes(42); + await _assertSplitPerAbiVersionCodes(42, appDir, false); + }, + ); + + // Check with custom buildNumber=42 and custom gradle file which multiplies build number by 10000 + testWithoutContext( + 'APK versionCodes after --split-per-abi with custom build-number=42 and gradle file follow "(abiIndex * 1000) + (42 * 10000)"', + () async { + await _assertSplitPerAbiVersionCodes(42, appDir, true); }, ); } diff --git a/packages/flutter_tools/test/integration.shard/forbidden_imports_test.dart b/packages/flutter_tools/test/integration.shard/forbidden_imports_test.dart index 43b5dfcc41a26..7b17de5532ea6 100644 --- a/packages/flutter_tools/test/integration.shard/forbidden_imports_test.dart +++ b/packages/flutter_tools/test/integration.shard/forbidden_imports_test.dart @@ -162,6 +162,23 @@ void main() { final allowedPath = [ fileSystem.path.join(flutterTools, 'lib', 'src', 'isolated', 'web_compilation_delegate.dart'), fileSystem.path.join(flutterTools, 'test', 'general.shard', 'platform_plugins_test.dart'), + fileSystem.path.join( + flutterTools, + 'test', + 'widget_preview_scaffold.shard', + 'widget_preview_scaffold', + 'test', + 'filter_by_selected_file_test.dart', + ), + fileSystem.path.join( + flutterTools, + 'test', + 'widget_preview_scaffold.shard', + 'widget_preview_scaffold', + 'lib', + 'src', + 'widget_preview_scaffold_controller.dart', + ), ]; for (final dirName in ['lib', 'bin', 'test']) { final Iterable files = fileSystem diff --git a/packages/flutter_tools/test/integration.shard/hot_reload_websocket_test.dart b/packages/flutter_tools/test/integration.shard/hot_reload_websocket_test.dart index c28ca8361ab91..91dcc0cf420df 100644 --- a/packages/flutter_tools/test/integration.shard/hot_reload_websocket_test.dart +++ b/packages/flutter_tools/test/integration.shard/hot_reload_websocket_test.dart @@ -6,14 +6,12 @@ library; import 'dart:async'; -import 'dart:io' as io; import 'package:file/file.dart'; -import 'package:flutter_tools/src/web/chrome.dart'; -import 'package:flutter_tools/src/web/web_device.dart' show WebServerDevice; import '../src/common.dart'; import 'test_data/hot_reload_project.dart'; +import 'test_data/websocket_dwds_test_common.dart'; import 'test_driver.dart'; import 'test_utils.dart'; import 'transition_test_utils.dart'; @@ -26,8 +24,6 @@ void testAll({List additionalCommandArgs = const []}) { group('WebSocket DWDS connection' '${additionalCommandArgs.isEmpty ? '' : ' with args: $additionalCommandArgs'}', () { // Test configuration constants - const debugUrlTimeout = Duration(seconds: 20); - const appStartTimeout = Duration(seconds: 15); const hotReloadTimeout = Duration(seconds: 10); late Directory tempDir; @@ -48,62 +44,17 @@ void testAll({List additionalCommandArgs = const []}) { testWithoutContext( 'hot reload with headless Chrome WebSocket connection', () async { - debugPrint('Starting WebSocket DWDS test with headless Chrome...'); - - // Set up listening for app output before starting - final stdout = StringBuffer(); - final sawDebugUrl = Completer(); - final StreamSubscription subscription = flutter.stdout.listen((String e) { - stdout.writeln(e); - // Extract the debug connection URL - if (e.contains('Waiting for connection from Dart debug extension at http://')) { - final debugUrlPattern = RegExp( - r'Waiting for connection from Dart debug extension at (http://[^\s]+)', - ); - final Match? match = debugUrlPattern.firstMatch(e); - if (match != null && !sawDebugUrl.isCompleted) { - sawDebugUrl.complete(match.group(1)!); - } - } - }); - - io.Process? chromeProcess; - try { - // Step 1: Start Flutter app with web-server device (will wait for debug connection) - debugPrint('Step 1: Starting Flutter app with web-server device...'); - // Start the app but don't wait for it to complete - it won't complete until Chrome connects - final Future appStartFuture = runFlutterWithWebServerDevice( - flutter, - additionalCommandArgs: [...additionalCommandArgs, '--no-web-resources-cdn'], - ); + debugPrint('Starting WebSocket DWDS test with headless Chrome for hot reload...'); - // Step 2: Wait for DWDS debug URL to be available - debugPrint('Step 2: Waiting for DWDS debug service URL...'); - final String debugUrl = await sawDebugUrl.future.timeout( - debugUrlTimeout, - onTimeout: () { - throw Exception('DWDS debug URL not found - app may not have started correctly'); - }, - ); - debugPrint('✓ DWDS debug service available at: $debugUrl'); - - // Step 3: Launch headless Chrome to connect to DWDS - debugPrint('Step 3: Launching headless Chrome to connect to DWDS...'); - chromeProcess = await _launchHeadlessChrome(debugUrl); - debugPrint('✓ Headless Chrome launched and connecting to DWDS'); - - // Step 4: Wait for app to start (Chrome connection established) - debugPrint('Step 4: Waiting for Flutter app to start after Chrome connection...'); - await appStartFuture.timeout( - appStartTimeout, - onTimeout: () { - throw Exception('App startup did not complete after Chrome connection'); - }, - ); - debugPrint('✓ Flutter app started successfully with WebSocket connection'); + // Set up WebSocket connection + final WebSocketDwdsTestSetup setup = await WebSocketDwdsTestUtils.setupWebSocketConnection( + flutter, + additionalCommandArgs: additionalCommandArgs, + ); - // Step 5: Test hot reload functionality - debugPrint('Step 5: Testing hot reload with WebSocket connection...'); + try { + // Test hot reload functionality + debugPrint('Step 6: Testing hot reload with WebSocket connection...'); await flutter.hotReload().timeout( hotReloadTimeout, onTimeout: () { @@ -114,80 +65,20 @@ void testAll({List additionalCommandArgs = const []}) { // Give some time for logs to capture await Future.delayed(const Duration(seconds: 2)); - final output = stdout.toString(); + final output = setup.stdout.toString(); expect(output, contains('Reloaded'), reason: 'Hot reload should complete successfully'); debugPrint('✓ Hot reload completed successfully with WebSocket connection'); // Verify the correct infrastructure was used - expect( - output, - contains('Waiting for connection from Dart debug extension'), - reason: 'Should wait for debug connection (WebSocket infrastructure)', - ); - expect(output, contains('web-server'), reason: 'Should use web-server device'); + WebSocketDwdsTestUtils.verifyWebSocketInfrastructure(output); debugPrint('✓ WebSocket DWDS test completed successfully'); debugPrint('✓ Verified: web-server device + DWDS + WebSocket connection + hot reload'); } finally { - await _cleanupResources(chromeProcess, subscription); + await cleanupWebSocketTestResources(setup.chromeProcess, setup.subscription); } }, skip: !platform.isMacOS, // Skip on non-macOS platforms where Chrome paths may differ ); }); } - -/// Launches headless Chrome with the given debug URL. -/// Uses findChromeExecutable to locate Chrome on the current platform. -Future _launchHeadlessChrome(String debugUrl) async { - const chromeArgs = [ - '--headless', - '--disable-gpu', - '--no-sandbox', - '--disable-extensions', - '--disable-dev-shm-usage', - '--remote-debugging-port=0', - ]; - - final String chromePath = findChromeExecutable(platform, fileSystem); - - try { - return await io.Process.start(chromePath, [...chromeArgs, debugUrl]); - } on Exception catch (e) { - throw Exception( - 'Could not launch Chrome at $chromePath: $e. Please ensure Chrome is installed.', - ); - } -} - -/// Cleans up test resources (Chrome process and stdout subscription). -Future _cleanupResources( - io.Process? chromeProcess, - StreamSubscription subscription, -) async { - if (chromeProcess != null) { - try { - chromeProcess.kill(); - await chromeProcess.exitCode; - debugPrint('Chrome process cleaned up'); - } on Exception catch (e) { - debugPrint('Warning: Failed to clean up Chrome process: $e'); - } - } - await subscription.cancel(); -} - -// Helper to run flutter with web-server device using WebSocket connection. -Future runFlutterWithWebServerDevice( - FlutterRunTestDriver flutter, { - bool verbose = false, - bool withDebugger = true, // Enable debugger by default for WebSocket connection - bool startPaused = false, // Don't start paused for this test - List additionalCommandArgs = const [], -}) => flutter.run( - verbose: verbose, - withDebugger: withDebugger, // Enable debugger to establish WebSocket connection - startPaused: startPaused, // Let the app start normally after debugger connects - device: WebServerDevice.kWebServerDeviceId, - additionalCommandArgs: additionalCommandArgs, -); diff --git a/packages/flutter_tools/test/integration.shard/hot_restart_websocket_test.dart b/packages/flutter_tools/test/integration.shard/hot_restart_websocket_test.dart new file mode 100644 index 0000000000000..2bf1fa928de85 --- /dev/null +++ b/packages/flutter_tools/test/integration.shard/hot_restart_websocket_test.dart @@ -0,0 +1,88 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +@Tags(['flutter-test-driver']) +library; + +import 'dart:async'; + +import 'package:file/file.dart'; + +import '../src/common.dart'; +import 'test_data/hot_reload_project.dart'; +import 'test_data/websocket_dwds_test_common.dart'; +import 'test_driver.dart'; +import 'test_utils.dart'; +import 'transition_test_utils.dart'; + +void main() { + testAll(); +} + +void testAll({List additionalCommandArgs = const []}) { + group('WebSocket DWDS connection for hot restart' + '${additionalCommandArgs.isEmpty ? '' : ' with args: $additionalCommandArgs'}', () { + // Test configuration constants + const hotRestartTimeout = Duration(seconds: 15); + + late Directory tempDir; + final project = HotReloadProject(); + late FlutterRunTestDriver flutter; + + setUp(() async { + tempDir = createResolvedTempDirectorySync('hot_restart_websocket_test.'); + await project.setUpIn(tempDir); + flutter = FlutterRunTestDriver(tempDir); + }); + + tearDown(() async { + await flutter.stop(); + tryToDelete(tempDir); + }); + + testWithoutContext( + 'hot restart with headless Chrome WebSocket connection', + () async { + debugPrint('Starting WebSocket DWDS test with headless Chrome for hot restart...'); + + // Set up WebSocket connection + final WebSocketDwdsTestSetup setup = await WebSocketDwdsTestUtils.setupWebSocketConnection( + flutter, + additionalCommandArgs: additionalCommandArgs, + ); + + try { + // Test hot restart functionality + debugPrint('Step 6: Testing hot restart with WebSocket connection...'); + await flutter.hotRestart().timeout( + hotRestartTimeout, + onTimeout: () { + throw Exception('Hot restart timed out'); + }, + ); + + // Give some time for logs to capture + await Future.delayed(const Duration(seconds: 2)); + + final output = setup.stdout.toString(); + expect( + output, + contains('Restarted application'), + reason: 'Hot restart should complete successfully', + ); + debugPrint('✓ Hot restart completed successfully with WebSocket connection'); + + // Verify the correct infrastructure was used + WebSocketDwdsTestUtils.verifyWebSocketInfrastructure(output); + + debugPrint('✓ WebSocket DWDS test completed successfully'); + debugPrint('✓ Verified: web-server device + DWDS + WebSocket connection + hot restart'); + } finally { + await cleanupWebSocketTestResources(setup.chromeProcess, setup.subscription); + } + }, + skip: !platform.isMacOS, // Skip on non-macOS platforms where Chrome paths may differ + ); + }); +} diff --git a/packages/flutter_tools/test/integration.shard/isolated/dart_data_asset_test.dart b/packages/flutter_tools/test/integration.shard/isolated/dart_data_asset_test.dart new file mode 100644 index 0000000000000..b150ed68c2140 --- /dev/null +++ b/packages/flutter_tools/test/integration.shard/isolated/dart_data_asset_test.dart @@ -0,0 +1,437 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// This test exercises the embedding of the native assets mapping in dill files. +// An initial dill file is created by `flutter assemble` and used for running +// the application. This dill must contain the mapping. +// When doing hot reload, this mapping must stay in place. +// When doing a hot restart, a new dill file is pushed. This dill file must also +// contain the native assets mapping. +// When doing a hot reload, this mapping must stay in place. + +import 'dart:io'; +import 'dart:typed_data'; + +import 'package:file/file.dart'; +import 'package:standard_message_codec/standard_message_codec.dart' show StandardMessageCodec; +import 'package:yaml_edit/yaml_edit.dart' show YamlEditor; + +import '../../src/common.dart'; +import '../test_utils.dart' show ProcessResultMatcher, fileSystem, flutterBin, platform; +import '../transition_test_utils.dart'; +import 'native_assets_test_utils.dart'; + +final String hostOs = platform.operatingSystem; +const packageName = 'data_asset_example'; +const packageNameDependency = 'data_asset_dependency'; + +void main() { + if (!platform.isMacOS && !platform.isLinux && !platform.isWindows) { + return; + } + setUpAll(() async { + processManager.runSync([flutterBin, 'config', '--enable-native-assets']); + processManager.runSync([flutterBin, 'config', '--enable-dart-data-assets']); + }); + + late Directory tempDirectory; + late Directory root; + late Directory rootDependency; + + setUp(() async { + // Do not reuse project structure to be able to make local changes + tempDirectory = fileSystem.directory( + fileSystem.systemTempDirectory.createTempSync().resolveSymbolicLinksSync(), + ); + root = createAppWithName(packageName, tempDirectory); + await createDataAssetApp(packageName, root); + + rootDependency = createAppWithName(packageNameDependency, tempDirectory); + }); + + tearDown(() { + tryToDelete(tempDirectory); + }); + + group('dart data assets', () { + // NOTE: flutter-tester doesn't support profile/release mode. + // NOTE: flutter web doesn't allow cpaturing print()s in profile/release + // nOTE: flutter web doens't allow adding assets on hot-restart + final devices = [hostOs, 'chrome', 'flutter-tester']; + final modes = ['debug', 'release']; + + for (final mode in modes) { + for (final device in devices) { + final isFlutterTester = device == 'flutter-tester'; + final isWeb = device == 'chrome'; + final isDebug = mode == 'debug'; + + // This test relies on running the flutter app and capturing `print()`s + // the app prints to determine if the test succeeded. + // `flutter run --profile/release` on the web doesn't support capturing + // prints + // -> See https://github.com/flutter/flutter/issues/159668 + if (isWeb && !isDebug) { + continue; + } + + // Flutter tester only supports debug mode. + if (isFlutterTester && !isDebug) { + continue; + } + + testWithoutContext('flutter run on $device --$mode', () async { + final performRestart = isDebug; + final performReload = isDebug; + + final assets = {'id1': 'content1', 'id2': 'content2'}; + writeAssets(assets, root); + writeHookLibrary(root, assets, available: ['id1']); + writeHelperLibrary(root, 'version1', assets.keys.toList()); + + final ProcessTestResult result = await runFlutter( + [ + 'run', + '-v', + '-d', + device, + '--$mode', + if (device == 'chrome') '--no-web-resources-cdn', + ], + root.path, + [ + Barrier.contains('Launching lib${Platform.pathSeparator}main.dart on'), + Multiple.contains( + [ + // The flutter tool will print it's ready to accept keys (e.g. + // q=quit, ...) + // (This can be racy with app already running and printing) + 'Flutter run key command', + + // Once the app runs it will print whether it found assets. + 'VERSION: version1', + 'FOUND "packages/data_asset_example/id1": "content1".', + 'NOT-FOUND "packages/data_asset_example/id2".', + ], + handler: (_) { + if (!performRestart) { + return 'q'; + } + // Now we trigger a hot-restart with new assets & new + // application code, we make the build hook now emit also the + // `id2` data asset. + writeAssets(assets, root); + writeHookLibrary(root, assets, available: ['id1', 'id2']); + writeHelperLibrary(root, 'afterRestart', assets.keys.toList()); + return 'R'; + }, + ), + if (performRestart) + Multiple.contains( + [ + // Once the app runs it will print whether it found assets. + // We expect it to having found the new `id2` now. + 'VERSION: afterRestart', + 'FOUND "packages/data_asset_example/id1": "content1".', + + // Flutter web doesn't support new assets on hot-restart atm + // -> See https://github.com/flutter/flutter/issues/137265 + if (isWeb) + 'NOT-FOUND "packages/data_asset_example/id2".' + else + 'FOUND "packages/data_asset_example/id2": "content2".', + if (isWeb) 'Successful hot restart' else 'Hot restart performed', + ], + handler: (_) { + if (!performReload) { + return 'q'; + } + // Now we trigger a hot-reload with new assets & new + // application code, we make the build hook now emit also the + // `id3` data asset (but not `id4`). + assets['id3'] = 'content3'; + assets['id4'] = 'content4'; + writeAssets(assets, root); + writeHookLibrary(root, assets, available: ['id1', 'id2', 'id3']); + writeHelperLibrary(root, 'afterReload', assets.keys.toList()); + return 'r'; + }, + ), + if (performReload) + Multiple.contains( + [ + // Once the app runs it will print whether it found assets. + 'VERSION: afterReload', + 'FOUND "packages/data_asset_example/id1": "content1".', + // Flutter web doesn't support new assets on hot-reload atm + // -> See https://github.com/flutter/flutter/issues/137265 + if (isWeb) ...[ + 'NOT-FOUND "packages/data_asset_example/id2".', + 'NOT-FOUND "packages/data_asset_example/id3".', + ] else ...[ + 'FOUND "packages/data_asset_example/id2": "content2".', + 'FOUND "packages/data_asset_example/id3": "content3".', + ], + 'NOT-FOUND "packages/data_asset_example/id4".', + if (isWeb) 'Successful hot reload' else 'Hot reload performed', + ], + handler: (_) { + return 'q'; // quit + }, + ), + Barrier.contains('Application finished.'), + ], + ); + if (result.exitCode != 0) { + throw Exception( + 'flutter run failed: ${result.exitCode}\n${result.stderr}\n${result.stdout}', + ); + } + }); + } + } + + for (final target in [hostOs, 'web']) { + testWithoutContext('flutter build $target', () async { + final assets = {'id1': 'content1', 'id2': 'content2'}; + final available = ['id1']; + writeAssets(assets, root); + writeHookLibrary(root, assets, available: available); + writeHelperLibrary(root, 'version1', assets.keys.toList()); + + final ProcessTestResult result = await runFlutter( + ['build', '-v', target], + root.path, + [Barrier.contains('Built build${Platform.pathSeparator}$target')], + ); + if (result.exitCode != 0) { + throw Exception( + 'flutter build failed: ${result.exitCode}\n${result.stderr}\n${result.stdout}', + ); + } + final Directory buildTargetDir = root.childDirectory('build').childDirectory(target); + + final List manifestFiles = buildTargetDir + .listSync(recursive: true) + .whereType() + .where((File file) => file.path.endsWith('AssetManifest.bin')) + .toList(); + + if (manifestFiles.isEmpty) { + throw Exception('Expected a `AssetManifest.bin` to be avilable in the $buildTargetDir.'); + } + for (final manifestFile in manifestFiles) { + final Uint8List manifestData = manifestFile.readAsBytesSync(); + final manifest = + const StandardMessageCodec().decodeMessage(ByteData.sublistView(manifestData)) + as Map; + for (final id in available) { + final key = 'packages/$packageName/$id'; + final entry = manifest[key]! as List; + expect( + entry, + equals([ + {'asset': key}, + ]), + ); + + final File file = manifestFile.parent.childFile(key); + expect(file.readAsStringSync(), assets[id]); + } + } + }); + } + + for (final target in [hostOs, 'web']) { + testWithoutContext('flutter build $target with conflicting assets', () async { + final assets = {'id1.txt': 'content1', 'id2.txt': 'content2'}; + final available = ['id1.txt']; + writeAssets(assets, root); + writeAssets(assets, rootDependency); + writeHookLibrary(root, assets, available: available); + writeHookLibrary(rootDependency, assets, available: available); + writeHelperLibrary(root, 'version1', assets.keys.toList()); + + await modifyPubspec(root, (YamlEditor editor) { + editor.update( + ['dependencies', packageNameDependency], + {'path': '../$packageNameDependency'}, + ); + }); + + await modifyPubspec(rootDependency, (YamlEditor editor) { + editor + ..update(['flutter', 'assets'], [assets.keys.first]) + ..update(['dependencies'], {'native_assets_cli': '^0.17.0'}); + }); + + final ProcessTestResult result = await runFlutter( + ['build', '-v', target], + root.path, + [ + Barrier.contains( + 'Conflicting assets: The asset "asset: packages/data_asset_dependency/id1.txt" was declared in the pubspec and the hook', + ), + ], + ); + expect(result.exitCode, isNonZero); + }); + } + }); +} + +Future modifyPubspec(Directory dir, void Function(YamlEditor editor) modify) async { + final File pubspecFile = dir.childFile('pubspec.yaml'); + final String content = await pubspecFile.readAsString(); + final yamlEditor = YamlEditor(content); + modify(yamlEditor); + pubspecFile.writeAsStringSync(yamlEditor.toString()); +} + +Future createDataAssetApp(String packageName, Directory root) async { + await modifyPubspec( + root, + (YamlEditor editor) => + editor.update(['dependencies'], {'native_assets_cli': '^0.17.0'}), + ); + + final File pubspecFile = root.childFile('pubspec.yaml'); + await pinDependencies(pubspecFile); + + final File mainFile = root.childDirectory('lib').childFile('main.dart'); + writeFile(mainFile, ''' +import 'dart:async'; + +import 'package:flutter/material.dart'; + +import 'helper.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatelessWidget { + const MyApp({super.key}); + + @override + Widget build(BuildContext context) { + bool first = true; + Timer.periodic(const Duration(seconds: 1), (_) async { + // Delay to give the `flutter run` command time to connect and + // setup `print()` capturing logic (especially on web it won't be + // able to intercept prints until it has connected to DevTools). + if (first) { + await Future.delayed(const Duration(seconds: 5)); + } + dumpAssets(); + }); + + return MaterialApp( + title: 'Flutter Demo', + home: Scaffold( + body: Text('Hello world'), + ), + ); + } +} + '''); + + expect( + await processManager.run([flutterBin, 'pub', 'get'], workingDirectory: root.path), + const ProcessResultMatcher(), + ); +} + +Directory createAppWithName(String packageName, Directory tempDirectory) { + final ProcessResult result = processManager.runSync([ + flutterBin, + 'create', + '--no-pub', + packageName, + ], workingDirectory: tempDirectory.path); + expect(result, const ProcessResultMatcher()); + final Directory packageDirectory = tempDirectory.childDirectory(packageName); + + expect( + processManager.runSync([ + flutterBin, + 'pub', + 'get', + ], workingDirectory: packageDirectory.path), + const ProcessResultMatcher(), + ); + return packageDirectory; +} + +void writeHookLibrary( + Directory root, + Map dataAssets, { + required List available, +}) { + final File hookFile = root.childDirectory('hook').childFile('build.dart'); + available = [for (final String id in available) '"$id"']; + writeFile(hookFile, ''' +import 'package:native_assets_cli/data_assets.dart'; + +void main(List args) async { + await build(args, (BuildInput input, BuildOutputBuilder output) async { + if (input.config.buildAssetTypes.contains('data_assets/data')) { + for (final id in $available) { + output.assets.data.add( + DataAsset( + package: input.packageName, + name: id, + file: input.packageRoot.resolve(id), + ), + ); + } + } + }); +} +'''); +} + +void writeAssets(Map dataAssets, Directory root) { + dataAssets.forEach((String id, String content) { + writeFile(root.childFile(id), content); + }); +} + +void writeHelperLibrary(Directory root, String version, List assetIds) { + assetIds = [for (final String id in assetIds) '"packages/$packageName/$id"']; + final File helperFile = root.childDirectory('lib').childFile('helper.dart'); + writeFile(helperFile, ''' +import 'package:flutter/services.dart' show rootBundle; + +// Only run the code once, but after hot-restart & hot-reload we want to +// run it again. +bool $version = false; +void dumpAssets() async { + if ($version) return; + $version = true; + + final found = {}; + final notFound = []; + for (final String assetId in $assetIds) { + try { + found[assetId] = await rootBundle.loadString(assetId); + } catch (e) { + print('EXCEPTION \$e'); + notFound.add(assetId); + } + } + print('VERSION: $version'); + for (final MapEntry(:key, :value) in found.entries) { + print('FOUND "\$key": "\$value".'); + } + for (final id in notFound) { + print('NOT-FOUND "\$id".'); + } +} +'''); +} + +void writeFile(File file, String content) => file + ..createSync(recursive: true) + ..writeAsStringSync(content); diff --git a/packages/flutter_tools/test/integration.shard/lldb_init_test.dart b/packages/flutter_tools/test/integration.shard/lldb_init_test.dart index ea1fb817b2e94..dbfd0da3395ce 100644 --- a/packages/flutter_tools/test/integration.shard/lldb_init_test.dart +++ b/packages/flutter_tools/test/integration.shard/lldb_init_test.dart @@ -83,6 +83,7 @@ void main() { ...getLocalEngineArguments(), 'build', 'ios', + '--debug', ], workingDirectory: appDirectoryPath); expect( buildResult.exitCode, @@ -161,22 +162,22 @@ void main() { flavorSchemeFile.writeAsStringSync(schemeFile.readAsStringSync()); String pbxprojContents = pbxprojFile.readAsStringSync(); - pbxprojContents = pbxprojContents.replaceAll('97C147071CF9000F007C117D /* Release */,', ''' -97C147071CF9000F007C117D /* Release */, -78624EC12D71262400FF7985 /* Release-vanilla */, + pbxprojContents = pbxprojContents.replaceAll('97C147061CF9000F007C117D /* Debug */,', ''' +97C147061CF9000F007C117D /* Debug */, +78624EC12D71262400FF7985 /* Debug-vanilla */, '''); - pbxprojContents = pbxprojContents.replaceAll('97C147041CF9000F007C117D /* Release */,', ''' -97C147041CF9000F007C117D /* Release */, -78624EC02D71262400FF7985 /* Release-vanilla */, + pbxprojContents = pbxprojContents.replaceAll('97C147031CF9000F007C117D /* Debug */,', ''' +97C147031CF9000F007C117D /* Debug */, +78624EC02D71262400FF7985 /* Debug-vanilla */, '''); pbxprojContents = pbxprojContents.replaceAll( '/* Begin XCBuildConfiguration section */', r''' /* Begin XCBuildConfiguration section */ -78624EC12D71262400FF7985 /* Release-vanilla */ = { +78624EC12D71262400FF7985 /* Debug-vanilla */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -193,9 +194,9 @@ void main() { SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; - name = "Release-vanilla"; + name = "Debug-vanilla"; }; - 78624EC02D71262400FF7985 /* Release-vanilla */ = { + 78624EC02D71262400FF7985 /* Debug-vanilla */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -246,7 +247,7 @@ void main() { TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; - name = "Release-vanilla"; + name = "Debug-vanilla"; }; ''', ); @@ -265,6 +266,7 @@ void main() { 'build', 'ios', '--config-only', + '--debug', '--flavor', flavor, ], workingDirectory: appDirectoryPath); diff --git a/packages/flutter_tools/test/integration.shard/swift_package_manager_create_app_test.dart b/packages/flutter_tools/test/integration.shard/swift_package_manager_create_app_test.dart index 3a971903aa9c6..c38b238d03bcf 100644 --- a/packages/flutter_tools/test/integration.shard/swift_package_manager_create_app_test.dart +++ b/packages/flutter_tools/test/integration.shard/swift_package_manager_create_app_test.dart @@ -12,141 +12,134 @@ import 'test_utils.dart'; void main() { final platforms = ['ios', 'macos']; for (final platformName in platforms) { - final iosLanguages = [if (platformName == 'ios') 'objc', 'swift']; - - for (final iosLanguage in iosLanguages) { - test( - 'Create $platformName $iosLanguage app with Swift Package Manager disabled', - () async { - final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( - 'swift_package_manager_create_app_disabled.', + test( + 'Create $platformName app with Swift Package Manager disabled', + () async { + final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( + 'swift_package_manager_create_app_disabled.', + ); + final String workingDirectoryPath = workingDirectory.path; + try { + await SwiftPackageManagerUtils.disableSwiftPackageManager( + flutterBin, + workingDirectoryPath, ); - final String workingDirectoryPath = workingDirectory.path; - try { - await SwiftPackageManagerUtils.disableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - final String appDirectoryPath = await SwiftPackageManagerUtils.createApp( - flutterBin, - workingDirectoryPath, - platform: platformName, - options: ['--platforms=$platformName'], - ); + final String appDirectoryPath = await SwiftPackageManagerUtils.createApp( + flutterBin, + workingDirectoryPath, + platform: platformName, + options: ['--platforms=$platformName'], + ); - final File pbxprojFile = fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Runner.xcodeproj') - .childFile('project.pbxproj'); - expect(pbxprojFile.existsSync(), isTrue); - expect( - pbxprojFile.readAsStringSync().contains('FlutterGeneratedPluginSwiftPackage'), - isFalse, - ); + final File pbxprojFile = fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Runner.xcodeproj') + .childFile('project.pbxproj'); + expect(pbxprojFile.existsSync(), isTrue); + expect( + pbxprojFile.readAsStringSync().contains('FlutterGeneratedPluginSwiftPackage'), + isFalse, + ); - final File xcschemeFile = fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Runner.xcodeproj') - .childDirectory('xcshareddata') - .childDirectory('xcschemes') - .childFile('Runner.xcscheme'); - expect(xcschemeFile.existsSync(), isTrue); - expect( - xcschemeFile.readAsStringSync().contains('Run Prepare Flutter Framework Script'), - isFalse, - ); + final File xcschemeFile = fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Runner.xcodeproj') + .childDirectory('xcshareddata') + .childDirectory('xcschemes') + .childFile('Runner.xcscheme'); + expect(xcschemeFile.existsSync(), isTrue); + expect( + xcschemeFile.readAsStringSync().contains('Run Prepare Flutter Framework Script'), + isFalse, + ); - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - ), - ); - } finally { - await SwiftPackageManagerUtils.disableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); - } - }, - skip: !platform.isMacOS, // [intended] Swift Package Manager only works on macos. - ); + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + ), + ); + } finally { + await SwiftPackageManagerUtils.disableSwiftPackageManager( + flutterBin, + workingDirectoryPath, + ); + ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); + } + }, + skip: !platform.isMacOS, // [intended] Swift Package Manager only works on macos. + ); - test( - 'Create $platformName $iosLanguage app with Swift Package Manager enabled', - () async { - final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( - 'swift_package_manager_create_app_enabled.', + test( + 'Create $platformName app with Swift Package Manager enabled', + () async { + final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( + 'swift_package_manager_create_app_enabled.', + ); + final String workingDirectoryPath = workingDirectory.path; + try { + await SwiftPackageManagerUtils.enableSwiftPackageManager( + flutterBin, + workingDirectoryPath, ); - final String workingDirectoryPath = workingDirectory.path; - try { - await SwiftPackageManagerUtils.enableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - final String appDirectoryPath = await SwiftPackageManagerUtils.createApp( - flutterBin, - workingDirectoryPath, - platform: platformName, - options: ['--platforms=$platformName'], - ); + final String appDirectoryPath = await SwiftPackageManagerUtils.createApp( + flutterBin, + workingDirectoryPath, + platform: platformName, + options: ['--platforms=$platformName'], + ); - final File pbxprojFile = fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Runner.xcodeproj') - .childFile('project.pbxproj'); - expect(pbxprojFile.existsSync(), isTrue); - expect(pbxprojFile.readAsStringSync(), contains('FlutterGeneratedPluginSwiftPackage')); + final File pbxprojFile = fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Runner.xcodeproj') + .childFile('project.pbxproj'); + expect(pbxprojFile.existsSync(), isTrue); + expect(pbxprojFile.readAsStringSync(), contains('FlutterGeneratedPluginSwiftPackage')); - final File xcschemeFile = fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Runner.xcodeproj') - .childDirectory('xcshareddata') - .childDirectory('xcschemes') - .childFile('Runner.xcscheme'); - expect(xcschemeFile.existsSync(), isTrue); - expect( - xcschemeFile.readAsStringSync(), - contains('Run Prepare Flutter Framework Script'), - ); + final File xcschemeFile = fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Runner.xcodeproj') + .childDirectory('xcshareddata') + .childDirectory('xcschemes') + .childFile('Runner.xcscheme'); + expect(xcschemeFile.existsSync(), isTrue); + expect(xcschemeFile.readAsStringSync(), contains('Run Prepare Flutter Framework Script')); - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - ), - ); - } finally { - await SwiftPackageManagerUtils.disableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); - } - }, - skip: !platform.isMacOS, // [intended] Swift Package Manager only works on macos. - ); - } + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + ), + ); + } finally { + await SwiftPackageManagerUtils.disableSwiftPackageManager( + flutterBin, + workingDirectoryPath, + ); + ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); + } + }, + skip: !platform.isMacOS, // [intended] Swift Package Manager only works on macos. + ); } } diff --git a/packages/flutter_tools/test/integration.shard/swift_package_manager_create_plugin_test.dart b/packages/flutter_tools/test/integration.shard/swift_package_manager_create_plugin_test.dart index 733b330636394..470148961ef9c 100644 --- a/packages/flutter_tools/test/integration.shard/swift_package_manager_create_plugin_test.dart +++ b/packages/flutter_tools/test/integration.shard/swift_package_manager_create_plugin_test.dart @@ -12,171 +12,162 @@ import 'test_utils.dart'; void main() { final platforms = ['ios', 'macos']; for (final platformName in platforms) { - final iosLanguages = [if (platformName == 'ios') 'objc', 'swift']; - - for (final iosLanguage in iosLanguages) { - test( - 'Create $platformName $iosLanguage plugin with Swift Package Manager disabled', - () async { - final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( - 'swift_package_manager_create_plugin_disabled.', + test( + 'Create $platformName plugin with Swift Package Manager disabled', + () async { + final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( + 'swift_package_manager_create_plugin_disabled.', + ); + final String workingDirectoryPath = workingDirectory.path; + try { + await SwiftPackageManagerUtils.disableSwiftPackageManager( + flutterBin, + workingDirectoryPath, ); - final String workingDirectoryPath = workingDirectory.path; - try { - await SwiftPackageManagerUtils.disableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - - final SwiftPackageManagerPlugin createdCocoaPodsPlugin = - await SwiftPackageManagerUtils.createPlugin( - flutterBin, - workingDirectoryPath, - platform: platformName, - iosLanguage: iosLanguage, - ); - - final String appDirectoryPath = createdCocoaPodsPlugin.exampleAppPath; - - final File pbxprojFile = fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Runner.xcodeproj') - .childFile('project.pbxproj'); - expect(pbxprojFile.existsSync(), isTrue); - expect( - pbxprojFile.readAsStringSync().contains('FlutterGeneratedPluginSwiftPackage'), - isFalse, - ); - - final File xcschemeFile = fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Runner.xcodeproj') - .childDirectory('xcshareddata') - .childDirectory('xcschemes') - .childFile('Runner.xcscheme'); - expect(xcschemeFile.existsSync(), isTrue); - expect( - xcschemeFile.readAsStringSync().contains('Run Prepare Flutter Framework Script'), - isFalse, - ); - - final File podspec = fileSystem - .directory(createdCocoaPodsPlugin.pluginPath) - .childDirectory(platformName) - .childFile('${createdCocoaPodsPlugin.pluginName}.podspec'); - expect(podspec.existsSync(), isTrue); - expect(podspec.readAsStringSync(), contains('Classes')); - expect(podspec.readAsStringSync().contains('Sources'), isFalse); - - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: createdCocoaPodsPlugin, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + + final SwiftPackageManagerPlugin createdCocoaPodsPlugin = + await SwiftPackageManagerUtils.createPlugin( + flutterBin, + workingDirectoryPath, platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: createdCocoaPodsPlugin, - ), - ); - } finally { - await SwiftPackageManagerUtils.disableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); - } - }, - // [intended] Swift Package Manager only works on macos. - skip: !platform.isMacOS, - ); - - test( - 'Create $platformName $iosLanguage plugin with Swift Package Manager enabled', - () async { - final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( - 'swift_package_manager_create_plugin_enabled.', + ); + + final String appDirectoryPath = createdCocoaPodsPlugin.exampleAppPath; + + final File pbxprojFile = fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Runner.xcodeproj') + .childFile('project.pbxproj'); + expect(pbxprojFile.existsSync(), isTrue); + expect( + pbxprojFile.readAsStringSync().contains('FlutterGeneratedPluginSwiftPackage'), + isFalse, ); - final String workingDirectoryPath = workingDirectory.path; - try { - await SwiftPackageManagerUtils.enableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - - final SwiftPackageManagerPlugin createdSwiftPackagePlugin = - await SwiftPackageManagerUtils.createPlugin( - flutterBin, - workingDirectoryPath, - platform: platformName, - iosLanguage: iosLanguage, - ); - - final String appDirectoryPath = createdSwiftPackagePlugin.exampleAppPath; - - final File pbxprojFile = fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Runner.xcodeproj') - .childFile('project.pbxproj'); - expect(pbxprojFile.existsSync(), isTrue); - expect(pbxprojFile.readAsStringSync(), contains('FlutterGeneratedPluginSwiftPackage')); - - final File xcschemeFile = fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Runner.xcodeproj') - .childDirectory('xcshareddata') - .childDirectory('xcschemes') - .childFile('Runner.xcscheme'); - expect(xcschemeFile.existsSync(), isTrue); - expect( - xcschemeFile.readAsStringSync(), - contains('Run Prepare Flutter Framework Script'), - ); - - final File podspec = fileSystem - .directory(createdSwiftPackagePlugin.pluginPath) - .childDirectory(platformName) - .childFile('${createdSwiftPackagePlugin.pluginName}.podspec'); - expect(podspec.existsSync(), isTrue); - expect(podspec.readAsStringSync(), contains('Sources')); - expect(podspec.readAsStringSync().contains('Classes'), isFalse); - - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - swiftPackagePlugin: createdSwiftPackagePlugin, - swiftPackageMangerEnabled: true, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + + final File xcschemeFile = fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Runner.xcodeproj') + .childDirectory('xcshareddata') + .childDirectory('xcschemes') + .childFile('Runner.xcscheme'); + expect(xcschemeFile.existsSync(), isTrue); + expect( + xcschemeFile.readAsStringSync().contains('Run Prepare Flutter Framework Script'), + isFalse, + ); + + final File podspec = fileSystem + .directory(createdCocoaPodsPlugin.pluginPath) + .childDirectory(platformName) + .childFile('${createdCocoaPodsPlugin.pluginName}.podspec'); + expect(podspec.existsSync(), isTrue); + expect(podspec.readAsStringSync(), contains('Classes')); + expect(podspec.readAsStringSync().contains('Sources'), isFalse); + + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + cocoaPodsPlugin: createdCocoaPodsPlugin, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + cocoaPodsPlugin: createdCocoaPodsPlugin, + ), + ); + } finally { + await SwiftPackageManagerUtils.disableSwiftPackageManager( + flutterBin, + workingDirectoryPath, + ); + ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); + } + }, + // [intended] Swift Package Manager only works on macos. + skip: !platform.isMacOS, + ); + + test( + 'Create $platformName plugin with Swift Package Manager enabled', + () async { + final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( + 'swift_package_manager_create_plugin_enabled.', + ); + final String workingDirectoryPath = workingDirectory.path; + try { + await SwiftPackageManagerUtils.enableSwiftPackageManager( + flutterBin, + workingDirectoryPath, + ); + + final SwiftPackageManagerPlugin createdSwiftPackagePlugin = + await SwiftPackageManagerUtils.createPlugin( + flutterBin, + workingDirectoryPath, platform: platformName, - appDirectoryPath: appDirectoryPath, - swiftPackagePlugin: createdSwiftPackagePlugin, - swiftPackageMangerEnabled: true, - ), - ); - } finally { - await SwiftPackageManagerUtils.disableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); - } - }, - // [intended] Swift Package Manager only works on macos. - skip: !platform.isMacOS, - ); - } + ); + + final String appDirectoryPath = createdSwiftPackagePlugin.exampleAppPath; + + final File pbxprojFile = fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Runner.xcodeproj') + .childFile('project.pbxproj'); + expect(pbxprojFile.existsSync(), isTrue); + expect(pbxprojFile.readAsStringSync(), contains('FlutterGeneratedPluginSwiftPackage')); + + final File xcschemeFile = fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Runner.xcodeproj') + .childDirectory('xcshareddata') + .childDirectory('xcschemes') + .childFile('Runner.xcscheme'); + expect(xcschemeFile.existsSync(), isTrue); + expect(xcschemeFile.readAsStringSync(), contains('Run Prepare Flutter Framework Script')); + + final File podspec = fileSystem + .directory(createdSwiftPackagePlugin.pluginPath) + .childDirectory(platformName) + .childFile('${createdSwiftPackagePlugin.pluginName}.podspec'); + expect(podspec.existsSync(), isTrue); + expect(podspec.readAsStringSync(), contains('Sources')); + expect(podspec.readAsStringSync().contains('Classes'), isFalse); + + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + swiftPackagePlugin: createdSwiftPackagePlugin, + swiftPackageMangerEnabled: true, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + swiftPackagePlugin: createdSwiftPackagePlugin, + swiftPackageMangerEnabled: true, + ), + ); + } finally { + await SwiftPackageManagerUtils.disableSwiftPackageManager( + flutterBin, + workingDirectoryPath, + ); + ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); + } + }, + // [intended] Swift Package Manager only works on macos. + skip: !platform.isMacOS, + ); } } diff --git a/packages/flutter_tools/test/integration.shard/swift_package_manager_test.dart b/packages/flutter_tools/test/integration.shard/swift_package_manager_test.dart index 7bfb88f63a79b..449b8badb390e 100644 --- a/packages/flutter_tools/test/integration.shard/swift_package_manager_test.dart +++ b/packages/flutter_tools/test/integration.shard/swift_package_manager_test.dart @@ -15,287 +15,257 @@ import 'test_utils.dart'; void main() { final platforms = ['ios', 'macos']; for (final platformName in platforms) { - final iosLanguages = [if (platformName == 'ios') 'objc', 'swift']; final SwiftPackageManagerPlugin integrationTestPlugin = SwiftPackageManagerUtils.integrationTestPlugin(platformName); - for (final iosLanguage in iosLanguages) { - test( - 'Swift Package Manager integration for $platformName with $iosLanguage', - () async { - final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( - 'swift_package_manager_enabled.', - ); - final String workingDirectoryPath = workingDirectory.path; - - addTearDown(() async { - await SwiftPackageManagerUtils.disableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); - }); + test( + 'Swift Package Manager integration for $platformName', + () async { + final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( + 'swift_package_manager_enabled.', + ); + final String workingDirectoryPath = workingDirectory.path; - // Create and build an app using the CocoaPods version of - // integration_test. + addTearDown(() async { await SwiftPackageManagerUtils.disableSwiftPackageManager( flutterBin, workingDirectoryPath, ); - final String appDirectoryPath = await SwiftPackageManagerUtils.createApp( - flutterBin, - workingDirectoryPath, + ErrorHandlingFileSystem.deleteIfExists(workingDirectory, recursive: true); + }); + + // Create and build an app using the CocoaPods version of + // integration_test. + await SwiftPackageManagerUtils.disableSwiftPackageManager(flutterBin, workingDirectoryPath); + final String appDirectoryPath = await SwiftPackageManagerUtils.createApp( + flutterBin, + workingDirectoryPath, + platform: platformName, + usesSwiftPackageManager: true, + options: ['--platforms=$platformName'], + ); + SwiftPackageManagerUtils.addDependency( + appDirectoryPath: appDirectoryPath, + plugin: integrationTestPlugin, + ); + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( platform: platformName, - usesSwiftPackageManager: true, - options: ['--platforms=$platformName'], - ); - SwiftPackageManagerUtils.addDependency( appDirectoryPath: appDirectoryPath, - plugin: integrationTestPlugin, - ); - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: integrationTestPlugin, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + cocoaPodsPlugin: integrationTestPlugin, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + cocoaPodsPlugin: integrationTestPlugin, + ), + ); + expect( + fileSystem.directory(appDirectoryPath).childDirectory(platformName).childFile('Podfile'), + exists, + ); + expect( + fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Flutter') + .childDirectory('ephemeral') + .childDirectory('Packages') + .childDirectory('FlutterGeneratedPluginSwiftPackage'), + isNot(exists), + ); + + final SwiftPackageManagerPlugin createdCocoaPodsPlugin = + await SwiftPackageManagerUtils.createPlugin( + flutterBin, + workingDirectoryPath, platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: integrationTestPlugin, - ), - ); - expect( - fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childFile('Podfile'), - exists, - ); - expect( - fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Flutter') - .childDirectory('ephemeral') - .childDirectory('Packages') - .childDirectory('FlutterGeneratedPluginSwiftPackage'), - isNot(exists), - ); + ); - final SwiftPackageManagerPlugin createdCocoaPodsPlugin = - await SwiftPackageManagerUtils.createPlugin( - flutterBin, - workingDirectoryPath, - platform: platformName, - iosLanguage: iosLanguage, - ); - - // Rebuild app with Swift Package Manager enabled, migrating the app and using the Swift Package Manager version of - // integration_test. - await SwiftPackageManagerUtils.enableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); + // Rebuild app with Swift Package Manager enabled, migrating the app and using the Swift Package Manager version of + // integration_test. + await SwiftPackageManagerUtils.enableSwiftPackageManager(flutterBin, workingDirectoryPath); - // Create a SwiftPM plugin that depends on native code from another SwiftPM plugin - final SwiftPackageManagerPlugin createdSwiftPMPlugin = - await SwiftPackageManagerUtils.createPlugin( - flutterBin, - workingDirectoryPath, - platform: platformName, - iosLanguage: iosLanguage, - usesSwiftPackageManager: true, - ); - final File swiftPMPluginPackageManifest = fileSystem - .directory(createdSwiftPMPlugin.pluginPath) - .childDirectory(platformName) - .childDirectory(createdSwiftPMPlugin.pluginName) - .childFile('Package.swift'); - final String manifestContents = swiftPMPluginPackageManifest.readAsStringSync(); - swiftPMPluginPackageManifest.writeAsStringSync( - manifestContents - .replaceFirst( - 'dependencies: []', - 'dependencies: [.package(name: "${integrationTestPlugin.pluginName}", path: "../${integrationTestPlugin.pluginName}")]', - ) - .replaceFirst( - 'dependencies: []', - 'dependencies: [.product(name: "${integrationTestPlugin.pluginName.replaceAll('_', '-')}", package: "${integrationTestPlugin.pluginName}")]', - ), - ); - final File swiftPMPluginPodspec = fileSystem - .directory(createdSwiftPMPlugin.pluginPath) - .childDirectory(platformName) - .childFile('${createdSwiftPMPlugin.pluginName}.podspec'); - final String podspecContents = swiftPMPluginPodspec.readAsStringSync(); - swiftPMPluginPodspec.writeAsStringSync( - podspecContents.replaceFirst( - '\nend', - "\n s.dependency '${integrationTestPlugin.pluginName}'\n\nend", - ), - ); - final pluginClassFileName = iosLanguage == 'swift' - ? '${createdSwiftPMPlugin.className}.swift' - : '${createdSwiftPMPlugin.className}.m'; - final pluginClassFileImport = iosLanguage == 'swift' - ? 'import ${integrationTestPlugin.pluginName}' - : '@import ${integrationTestPlugin.pluginName};'; - final File pluginClassFile = fileSystem - .directory(createdSwiftPMPlugin.pluginPath) - .childDirectory(platformName) - .childDirectory(createdSwiftPMPlugin.pluginName) - .childDirectory('Sources') - .childDirectory(createdSwiftPMPlugin.pluginName) - .childFile(pluginClassFileName); - final String pluginClassFileContent = pluginClassFile.readAsStringSync(); - pluginClassFile.writeAsStringSync('$pluginClassFileImport\n$pluginClassFileContent'); - SwiftPackageManagerUtils.addDependency( - appDirectoryPath: createdSwiftPMPlugin.pluginPath, - plugin: integrationTestPlugin, - ); + // Create a SwiftPM plugin that depends on native code from another SwiftPM plugin + final SwiftPackageManagerPlugin createdSwiftPMPlugin = + await SwiftPackageManagerUtils.createPlugin( + flutterBin, + workingDirectoryPath, + platform: platformName, + usesSwiftPackageManager: true, + ); + final File swiftPMPluginPackageManifest = fileSystem + .directory(createdSwiftPMPlugin.pluginPath) + .childDirectory(platformName) + .childDirectory(createdSwiftPMPlugin.pluginName) + .childFile('Package.swift'); + final String manifestContents = swiftPMPluginPackageManifest.readAsStringSync(); + swiftPMPluginPackageManifest.writeAsStringSync( + manifestContents + .replaceFirst( + 'dependencies: []', + 'dependencies: [.package(name: "${integrationTestPlugin.pluginName}", path: "../${integrationTestPlugin.pluginName}")]', + ) + .replaceFirst( + 'dependencies: []', + 'dependencies: [.product(name: "${integrationTestPlugin.pluginName.replaceAll('_', '-')}", package: "${integrationTestPlugin.pluginName}")]', + ), + ); + final File swiftPMPluginPodspec = fileSystem + .directory(createdSwiftPMPlugin.pluginPath) + .childDirectory(platformName) + .childFile('${createdSwiftPMPlugin.pluginName}.podspec'); + final String podspecContents = swiftPMPluginPodspec.readAsStringSync(); + swiftPMPluginPodspec.writeAsStringSync( + podspecContents.replaceFirst( + '\nend', + "\n s.dependency '${integrationTestPlugin.pluginName}'\n\nend", + ), + ); + final pluginClassFileName = '${createdSwiftPMPlugin.className}.swift'; + final pluginClassFileImport = 'import ${integrationTestPlugin.pluginName}'; + final File pluginClassFile = fileSystem + .directory(createdSwiftPMPlugin.pluginPath) + .childDirectory(platformName) + .childDirectory(createdSwiftPMPlugin.pluginName) + .childDirectory('Sources') + .childDirectory(createdSwiftPMPlugin.pluginName) + .childFile(pluginClassFileName); + final String pluginClassFileContent = pluginClassFile.readAsStringSync(); + pluginClassFile.writeAsStringSync('$pluginClassFileImport\n$pluginClassFileContent'); + SwiftPackageManagerUtils.addDependency( + appDirectoryPath: createdSwiftPMPlugin.pluginPath, + plugin: integrationTestPlugin, + ); - SwiftPackageManagerUtils.addDependency( - appDirectoryPath: appDirectoryPath, - plugin: createdSwiftPMPlugin, - ); + SwiftPackageManagerUtils.addDependency( + appDirectoryPath: appDirectoryPath, + plugin: createdSwiftPMPlugin, + ); - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - swiftPackageMangerEnabled: true, - swiftPackagePlugin: integrationTestPlugin, - migrated: true, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - swiftPackageMangerEnabled: true, - swiftPackagePlugin: integrationTestPlugin, - migrated: true, - ), - ); + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + swiftPackageMangerEnabled: true, + swiftPackagePlugin: integrationTestPlugin, + migrated: true, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + swiftPackageMangerEnabled: true, + swiftPackagePlugin: integrationTestPlugin, + migrated: true, + ), + ); - expect( - fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childFile('Podfile'), - exists, - ); - expect( - fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Flutter') - .childDirectory('ephemeral') - .childDirectory('Packages') - .childDirectory('FlutterGeneratedPluginSwiftPackage'), - exists, - ); + expect( + fileSystem.directory(appDirectoryPath).childDirectory(platformName).childFile('Podfile'), + exists, + ); + expect( + fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Flutter') + .childDirectory('ephemeral') + .childDirectory('Packages') + .childDirectory('FlutterGeneratedPluginSwiftPackage'), + exists, + ); - // Build an app using both a CocoaPods and Swift Package Manager plugin. - SwiftPackageManagerUtils.addDependency( + // Build an app using both a CocoaPods and Swift Package Manager plugin. + SwiftPackageManagerUtils.addDependency( + appDirectoryPath: appDirectoryPath, + plugin: createdCocoaPodsPlugin, + ); + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( + platform: platformName, appDirectoryPath: appDirectoryPath, - plugin: createdCocoaPodsPlugin, - ); - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: createdCocoaPodsPlugin, - swiftPackageMangerEnabled: true, - swiftPackagePlugin: integrationTestPlugin, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: createdCocoaPodsPlugin, - swiftPackageMangerEnabled: true, - swiftPackagePlugin: integrationTestPlugin, - ), - ); + cocoaPodsPlugin: createdCocoaPodsPlugin, + swiftPackageMangerEnabled: true, + swiftPackagePlugin: integrationTestPlugin, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + cocoaPodsPlugin: createdCocoaPodsPlugin, + swiftPackageMangerEnabled: true, + swiftPackagePlugin: integrationTestPlugin, + ), + ); - expect( - fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childFile('Podfile'), - exists, - ); - expect( - fileSystem - .directory(appDirectoryPath) - .childDirectory(platformName) - .childDirectory('Flutter') - .childDirectory('ephemeral') - .childDirectory('Packages') - .childDirectory('FlutterGeneratedPluginSwiftPackage'), - exists, - ); + expect( + fileSystem.directory(appDirectoryPath).childDirectory(platformName).childFile('Podfile'), + exists, + ); + expect( + fileSystem + .directory(appDirectoryPath) + .childDirectory(platformName) + .childDirectory('Flutter') + .childDirectory('ephemeral') + .childDirectory('Packages') + .childDirectory('FlutterGeneratedPluginSwiftPackage'), + exists, + ); - // Build app again but with Swift Package Manager disabled by config. - // App will now use CocoaPods version of integration_test plugin. - await SwiftPackageManagerUtils.disableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - await SwiftPackageManagerUtils.cleanApp(flutterBin, appDirectoryPath); - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: integrationTestPlugin, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: integrationTestPlugin, - ), - ); + // Build app again but with Swift Package Manager disabled by config. + // App will now use CocoaPods version of integration_test plugin. + await SwiftPackageManagerUtils.disableSwiftPackageManager(flutterBin, workingDirectoryPath); + await SwiftPackageManagerUtils.cleanApp(flutterBin, appDirectoryPath); + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + cocoaPodsPlugin: integrationTestPlugin, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + cocoaPodsPlugin: integrationTestPlugin, + ), + ); - // Build app again but with Swift Package Manager disabled by pubspec. - // App will still use CocoaPods version of integration_test plugin. - await SwiftPackageManagerUtils.enableSwiftPackageManager( - flutterBin, - workingDirectoryPath, - ); - await SwiftPackageManagerUtils.cleanApp(flutterBin, appDirectoryPath); - SwiftPackageManagerUtils.disableSwiftPackageManagerByPubspec( + // Build app again but with Swift Package Manager disabled by pubspec. + // App will still use CocoaPods version of integration_test plugin. + await SwiftPackageManagerUtils.enableSwiftPackageManager(flutterBin, workingDirectoryPath); + await SwiftPackageManagerUtils.cleanApp(flutterBin, appDirectoryPath); + SwiftPackageManagerUtils.disableSwiftPackageManagerByPubspec( + appDirectoryPath: appDirectoryPath, + ); + await SwiftPackageManagerUtils.buildApp( + flutterBin, + appDirectoryPath, + options: [platformName, '--debug', '-v'], + expectedLines: SwiftPackageManagerUtils.expectedLines( + platform: platformName, appDirectoryPath: appDirectoryPath, - ); - await SwiftPackageManagerUtils.buildApp( - flutterBin, - appDirectoryPath, - options: [platformName, '--debug', '-v'], - expectedLines: SwiftPackageManagerUtils.expectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: integrationTestPlugin, - ), - unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( - platform: platformName, - appDirectoryPath: appDirectoryPath, - cocoaPodsPlugin: integrationTestPlugin, - ), - ); - }, - skip: !platform.isMacOS, // [intended] Swift Package Manager only works on macos. - ); - } + cocoaPodsPlugin: integrationTestPlugin, + ), + unexpectedLines: SwiftPackageManagerUtils.unexpectedLines( + platform: platformName, + appDirectoryPath: appDirectoryPath, + cocoaPodsPlugin: integrationTestPlugin, + ), + ); + }, + skip: !platform.isMacOS, // [intended] Swift Package Manager only works on macos. + ); test('Build $platformName-framework with non-module app uses CocoaPods', () async { final Directory workingDirectory = fileSystem.systemTempDirectory.createTempSync( diff --git a/packages/flutter_tools/test/integration.shard/swift_package_manager_utils.dart b/packages/flutter_tools/test/integration.shard/swift_package_manager_utils.dart index 87a12954da89d..baed94de1aeca 100644 --- a/packages/flutter_tools/test/integration.shard/swift_package_manager_utils.dart +++ b/packages/flutter_tools/test/integration.shard/swift_package_manager_utils.dart @@ -166,13 +166,12 @@ class SwiftPackageManagerUtils { String flutterBin, String workingDirectory, { required String platform, - required String iosLanguage, bool usesSwiftPackageManager = false, }) async { final dependencyManager = usesSwiftPackageManager ? 'spm' : 'cocoapods'; // Create plugin - final pluginName = '${platform}_${iosLanguage}_${dependencyManager}_plugin'; + final pluginName = '${platform}_${dependencyManager}_plugin'; final ProcessResult result = await processManager.run([ flutterBin, ...getLocalEngineArguments(), @@ -181,8 +180,6 @@ class SwiftPackageManagerUtils { 'io.flutter.devicelab', '--template=plugin', '--platforms=$platform', - '-i', - iosLanguage, pluginName, ], workingDirectory: workingDirectory); @@ -203,8 +200,7 @@ class SwiftPackageManagerUtils { pluginName: pluginName, pluginPath: pluginDirectory.path, platform: platform, - className: - '${_capitalize(platform)}${_capitalize(iosLanguage)}${_capitalize(dependencyManager)}Plugin', + className: '${_capitalize(platform)}${_capitalize(dependencyManager)}Plugin', ); } diff --git a/packages/flutter_tools/test/integration.shard/test_data/test_1.png b/packages/flutter_tools/test/integration.shard/test_data/test_1.png new file mode 100644 index 0000000000000..3277025d93bc9 Binary files /dev/null and b/packages/flutter_tools/test/integration.shard/test_data/test_1.png differ diff --git a/packages/flutter_tools/test/integration.shard/test_data/test_2.png b/packages/flutter_tools/test/integration.shard/test_data/test_2.png new file mode 100644 index 0000000000000..8aaa46ac1ae21 Binary files /dev/null and b/packages/flutter_tools/test/integration.shard/test_data/test_2.png differ diff --git a/packages/flutter_tools/test/integration.shard/test_data/websocket_dwds_test_common.dart b/packages/flutter_tools/test/integration.shard/test_data/websocket_dwds_test_common.dart new file mode 100644 index 0000000000000..aceb33b35b681 --- /dev/null +++ b/packages/flutter_tools/test/integration.shard/test_data/websocket_dwds_test_common.dart @@ -0,0 +1,187 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; +import 'dart:io' as io; + +import 'package:flutter_tools/src/web/chrome.dart'; +import 'package:flutter_tools/src/web/web_device.dart' show WebServerDevice; + +import '../../src/common.dart'; +import '../test_driver.dart'; +import '../test_utils.dart'; +import '../transition_test_utils.dart'; + +/// Configuration for WebSocket DWDS tests. +class WebSocketDwdsTestConfig { + const WebSocketDwdsTestConfig({ + this.debugUrlTimeout = const Duration(seconds: 20), + this.appStartTimeout = const Duration(seconds: 15), + }); + + final Duration debugUrlTimeout; + final Duration appStartTimeout; +} + +/// Result of setting up a WebSocket DWDS connection. +class WebSocketDwdsTestSetup { + const WebSocketDwdsTestSetup({ + required this.stdout, + required this.chromeProcess, + required this.subscription, + }); + + final StringBuffer stdout; + final io.Process chromeProcess; + final StreamSubscription subscription; +} + +/// Common utilities for WebSocket DWDS tests. +class WebSocketDwdsTestUtils { + /// Sets up WebSocket DWDS connection with headless Chrome. + /// + /// This method handles the complete setup flow: + /// 1. Start Flutter app with web-server device + /// 2. Wait for DWDS debug URL + /// 3. Launch headless Chrome to connect to DWDS + /// 4. Wait for app startup after Chrome connection + static Future setupWebSocketConnection( + FlutterRunTestDriver flutter, { + required List additionalCommandArgs, + WebSocketDwdsTestConfig config = const WebSocketDwdsTestConfig(), + }) async { + debugPrint('Step 1: Starting WebSocket DWDS connection setup...'); + + // Set up listening for app output before starting + final stdout = StringBuffer(); + final sawDebugUrl = Completer(); + final StreamSubscription subscription = flutter.stdout.listen((String e) { + stdout.writeln(e); + // Extract the debug connection URL + if (e.contains('Waiting for connection from Dart debug extension at http://')) { + final debugUrlPattern = RegExp( + r'Waiting for connection from Dart debug extension at (http://[^\s]+)', + ); + final Match? match = debugUrlPattern.firstMatch(e); + if (match != null && !sawDebugUrl.isCompleted) { + sawDebugUrl.complete(match.group(1)!); + } + } + }); + + io.Process? chromeProcess; + try { + // Step 1: Start Flutter app with web-server device (will wait for debug connection) + debugPrint('Step 2: Starting Flutter app with web-server device...'); + final Future appStartFuture = runFlutterWithWebServerDevice( + flutter, + additionalCommandArgs: [...additionalCommandArgs, '--no-web-resources-cdn'], + ); + + // Step 2: Wait for DWDS debug URL to be available + debugPrint('Step 3: Waiting for DWDS debug service URL...'); + final String debugUrl = await sawDebugUrl.future.timeout( + config.debugUrlTimeout, + onTimeout: () { + throw Exception('DWDS debug URL not found - app may not have started correctly'); + }, + ); + debugPrint('✓ DWDS debug service available at: $debugUrl'); + + // Step 3: Launch headless Chrome to connect to DWDS + debugPrint('Step 4: Launching headless Chrome to connect to DWDS...'); + chromeProcess = await launchHeadlessChrome(debugUrl); + debugPrint('✓ Headless Chrome launched and connecting to DWDS'); + + // Step 4: Wait for app to start (Chrome connection established) + debugPrint('Step 5: Waiting for Flutter app to start after Chrome connection...'); + await appStartFuture.timeout( + config.appStartTimeout, + onTimeout: () { + throw Exception('App startup did not complete after Chrome connection'); + }, + ); + debugPrint('✓ Flutter app started successfully with WebSocket connection'); + + return WebSocketDwdsTestSetup( + stdout: stdout, + chromeProcess: chromeProcess, + subscription: subscription, + ); + } catch (e) { + // Clean up on error + await subscription.cancel(); + if (chromeProcess != null) { + chromeProcess.kill(); + await chromeProcess.exitCode; + } + rethrow; + } + } + + /// Verifies WebSocket DWDS infrastructure is being used. + static void verifyWebSocketInfrastructure(String output) { + expect( + output, + contains('Waiting for connection from Dart debug extension'), + reason: 'Should wait for debug connection (WebSocket infrastructure)', + ); + expect(output, contains('web-server'), reason: 'Should use web-server device'); + } +} + +/// Launches headless Chrome with the given debug URL. +/// Uses findChromeExecutable to locate Chrome on the current platform. +Future launchHeadlessChrome(String debugUrl) async { + const chromeArgs = [ + '--headless', + '--disable-gpu', + '--no-sandbox', + '--disable-extensions', + '--disable-dev-shm-usage', + '--remote-debugging-port=0', + ]; + + final String chromePath = findChromeExecutable(platform, fileSystem); + + try { + return await io.Process.start(chromePath, [...chromeArgs, debugUrl]); + } on Exception catch (e) { + throw Exception( + 'Could not launch Chrome at $chromePath: $e. Please ensure Chrome is installed.', + ); + } +} + +/// Cleans up test resources (Chrome process and stdout subscription). +Future cleanupWebSocketTestResources( + io.Process? chromeProcess, + StreamSubscription subscription, +) async { + if (chromeProcess != null) { + try { + chromeProcess.kill(); + await chromeProcess.exitCode; + debugPrint('Chrome process cleaned up'); + } on Exception catch (e) { + debugPrint('Warning: Failed to clean up Chrome process: $e'); + } + } + await subscription.cancel(); +} + +/// Helper to run flutter with web-server device using WebSocket connection. +Future runFlutterWithWebServerDevice( + FlutterRunTestDriver flutter, { + bool verbose = false, + bool withDebugger = true, // Enable debugger by default for WebSocket connection + bool startPaused = false, // Don't start paused for this test + List additionalCommandArgs = const [], +}) => flutter.run( + verbose: verbose, + withDebugger: withDebugger, // Enable debugger to establish WebSocket connection + startPaused: startPaused, // Let the app start normally after debugger connects + device: WebServerDevice.kWebServerDeviceId, + additionalCommandArgs: additionalCommandArgs, +); diff --git a/packages/flutter_tools/test/integration.shard/test_driver.dart b/packages/flutter_tools/test/integration.shard/test_driver.dart index 598035927a47b..58eed5e0e709d 100644 --- a/packages/flutter_tools/test/integration.shard/test_driver.dart +++ b/packages/flutter_tools/test/integration.shard/test_driver.dart @@ -63,8 +63,24 @@ abstract final class FlutterTestDriver { bool get hasExited => _hasExited; Uri? get vmServiceWsUri => _vmServiceWsUri; + /// Completes with the full method name for the 'reloadSources' service once + /// it's registered (e.g., `s0.reloadSources`). + late final Future reloadSourcesService; + + /// Completes with the full method name for the 'hotRestart' service once + /// it's registered (e.g., `s0.hotRestart`). + late final Future hotRestartService; + + /// Completes with the full method name for the 'flutterVersion' service once + /// it's registered (e.g., `s0.hotRestart`). + late final Future flutterVersionService; + + /// Completes with the full method name for the 'flutterMemoryInfo' service once + /// it's registered (e.g., `s0.hotRestart`). + late final Future flutterMemoryInfoService; + var lastTime = ''; - void _debugPrint(String message, {String topic = ''}) { + void debugPrint(String message, {String topic = ''}) { const maxLength = 2500; final truncatedMessage = message.length > maxLength ? '${message.substring(0, maxLength)}...' @@ -109,7 +125,7 @@ abstract final class FlutterTestDriver { if (script != null) { arguments.add(script); } - _debugPrint('Spawning flutter $arguments in ${_projectFolder.path}'); + debugPrint('Spawning flutter $arguments in ${_projectFolder.path}'); const ProcessManager processManager = LocalProcessManager(); _process = await processManager.start( @@ -123,7 +139,7 @@ abstract final class FlutterTestDriver { // via a getter for external uses. unawaited( _process!.exitCode.then((int code) { - _debugPrint('Process exited ($code)'); + debugPrint('Process exited ($code)'); // The timing of this signal is important to the implementation of the // "quit" method, so only change how this is implemented by careful // testing of tests that use FlutterTestDriver. @@ -137,8 +153,8 @@ abstract final class FlutterTestDriver { _stderr.stream.listen(_errorBuffer.writeln); // This is just debug printing to aid running/debugging tests locally. - _stdout.stream.listen((String message) => _debugPrint(message, topic: '<=stdout=')); - _stderr.stream.listen((String message) => _debugPrint(message, topic: '<=stderr=')); + _stdout.stream.listen((String message) => debugPrint(message, topic: '<=stdout=')); + _stderr.stream.listen((String message) => debugPrint(message, topic: '<=stderr=')); } /// Completes when process exits with the given exit code. @@ -148,8 +164,8 @@ abstract final class FlutterTestDriver { Future connectToVmService({bool pauseOnExceptions = false}) async { _vmService = await vmServiceConnectUri('$_vmServiceWsUri'); - _vmService!.onSend.listen((String s) => _debugPrint(s, topic: '=vm=>')); - _vmService!.onReceive.listen((String s) => _debugPrint(s, topic: '<=vm=')); + _vmService!.onSend.listen((String s) => debugPrint(s, topic: '=vm=>')); + _vmService!.onReceive.listen((String s) => debugPrint(s, topic: '<=vm=')); final isolateStarted = Completer(); _vmService!.onIsolateEvent.listen((Event event) { @@ -164,15 +180,20 @@ abstract final class FlutterTestDriver { } }); + reloadSourcesService = subscribeToServiceRegisteredEvent('reloadSources'); + hotRestartService = subscribeToServiceRegisteredEvent('hotRestart'); + flutterVersionService = subscribeToServiceRegisteredEvent('flutterVersion'); + flutterMemoryInfoService = subscribeToServiceRegisteredEvent('flutterMemoryInfo'); + await Future.wait(>[ - _vmService!.streamListen('Isolate'), - _vmService!.streamListen('Debug'), + _vmService!.streamListen(EventStreams.kIsolate), + _vmService!.streamListen(EventStreams.kDebug), + _vmService!.streamListen(EventStreams.kService), ]); if ((await _vmService!.getVM()).isolates?.isEmpty ?? true) { await isolateStarted.future; } - await waitForPause(); if (pauseOnExceptions) { await _vmService!.setIsolatePauseMode( @@ -197,7 +218,7 @@ abstract final class FlutterTestDriver { Future quit() async { final int result = await _killGracefully(); if (result != 0) { - _debugPrint('Expected process to terminate gracefully, got exit code $result.'); + debugPrint('Expected process to terminate gracefully, got exit code $result.'); } // The _hasExited signal could be on the microtask queue. Waiting for a @@ -222,18 +243,18 @@ abstract final class FlutterTestDriver { .then( (Isolate? isolate) => isolate, onError: (Object e) { - _debugPrint('Ignoring failure to resume during shutdown'); + debugPrint('Ignoring failure to resume during shutdown'); return null; }, ); - _debugPrint('Sending SIGTERM to $_processPid..'); + debugPrint('Sending SIGTERM to $_processPid..'); io.Process.killPid(_processPid!); return _process!.exitCode.timeout(quitTimeout, onTimeout: _killForcefully); } Future _killForcefully() { - _debugPrint('Sending SIGKILL to $_processPid..'); + debugPrint('Sending SIGKILL to $_processPid..'); ProcessSignal.sigkill.send(_processPid!); return _process!.exitCode; } @@ -271,7 +292,7 @@ abstract final class FlutterTestDriver { } Future addBreakpoint(Uri uri, int line) async { - _debugPrint('Sending breakpoint for: $uri:$line'); + debugPrint('Sending breakpoint for: $uri:$line'); await _vmService!.addBreakpointWithScriptUri( await _getFlutterIsolateId(), uri.toString(), @@ -312,13 +333,23 @@ abstract final class FlutterTestDriver { /// await waitForDebugEvent('Pause', id, event); // Isolate is paused now. /// ``` Future subscribeToDebugEvent(String kind, String isolateId) { - _debugPrint('Start listening for $kind events'); + debugPrint('Start listening for $kind events'); return _vmService!.onDebugEvent.where((Event event) { return event.isolate?.id == isolateId && (event.kind?.startsWith(kind) ?? false); }).first; } + Future subscribeToServiceRegisteredEvent(String service) { + debugPrint("Start listening for service '$service' to be registered"); + return _vmService!.onServiceEvent + .where((Event event) { + return event.service == service; + }) + .first + .then((e) => e.method!); + } + /// Wait for the [event] if needed. /// /// Return immediately if the isolate is already in the desired state. @@ -330,10 +361,10 @@ abstract final class FlutterTestDriver { final VmService vmService = _vmService!; final Isolate isolate = await vmService.getIsolate(isolateId); if (isolate.pauseEvent?.kind?.startsWith(kind) ?? false) { - _debugPrint('Isolate was already at "$kind" (${isolate.pauseEvent!.kind}).'); + debugPrint('Isolate was already at "$kind" (${isolate.pauseEvent!.kind}).'); event.ignore(); } else { - _debugPrint('Waiting for "$kind" event to arrive...'); + debugPrint('Waiting for "$kind" event to arrive...'); await event; } @@ -445,7 +476,7 @@ abstract final class FlutterTestDriver { } if ((event != null && json['event'] == event) || (id != null && json['id'] == id)) { await subscription?.cancel(); - _debugPrint('OK ($interestingOccurrence)'); + debugPrint('OK ($interestingOccurrence)'); response.complete(json); } else if (!ignoreAppStopEvent && json['event'] == 'app.stop') { await subscription?.cancel(); @@ -477,8 +508,8 @@ abstract final class FlutterTestDriver { Duration timeout = defaultTimeout, }) { if (_printDebugOutputToStdOut) { - _debugPrint('$task...'); - final longWarning = Timer(timeout, () => _debugPrint('$task is taking longer than usual...')); + debugPrint('$task...'); + final longWarning = Timer(timeout, () => debugPrint('$task is taking longer than usual...')); return callback().whenComplete(longWarning.cancel); } @@ -497,9 +528,9 @@ abstract final class FlutterTestDriver { final StreamSubscription subscription = _allMessages.stream.listen(logMessage); final longWarning = Timer(timeout, () { - _debugPrint(messages.toString()); + debugPrint(messages.toString()); timeoutExpired = true; - _debugPrint('$task is taking longer than usual...'); + debugPrint('$task is taking longer than usual...'); }); final Future future = callback().whenComplete(longWarning.cancel); @@ -509,7 +540,7 @@ abstract final class FlutterTestDriver { onError: (Object error) { if (!timeoutExpired) { timeoutExpired = true; - _debugPrint(messages.toString()); + debugPrint(messages.toString()); } throw error; // ignore: only_throw_errors }, @@ -537,6 +568,8 @@ final class FlutterRunTestDriver extends FlutterTestDriver { bool structuredErrors = false, bool noDevtools = false, bool verbose = false, + bool wasm = false, + int? ddsPort, String? script, List? additionalCommandArgs, }) async { @@ -559,7 +592,9 @@ final class FlutterRunTestDriver extends FlutterTestDriver { if (device != GoogleChromeDevice.kChromeDeviceId) '--disable-service-auth-codes', '--machine', if (!spawnDdsInstance) '--no-dds', + if (ddsPort != null) '--dds-port=$ddsPort', if (noDevtools) '--no-devtools', + if (wasm) '--wasm', ...getLocalEngineArguments(), '-d', ...deviceArgs, @@ -568,7 +603,7 @@ final class FlutterRunTestDriver extends FlutterTestDriver { ], withDebugger: withDebugger, startPaused: startPaused, - waitForDebugPort: device != WebServerDevice.kWebServerDeviceId, + waitForDebugPort: device != WebServerDevice.kWebServerDeviceId && !wasm, pauseOnExceptions: pauseOnExceptions, script: script, verbose: verbose, @@ -661,6 +696,7 @@ final class FlutterRunTestDriver extends FlutterTestDriver { if (withDebugger) { await connectToVmService(pauseOnExceptions: pauseOnExceptions); if (!startPaused) { + await started; await resume(); } } @@ -714,7 +750,7 @@ final class FlutterRunTestDriver extends FlutterTestDriver { throw Exception('App has not started yet'); } - _debugPrint( + debugPrint( 'Performing ${pause ? "paused " : ""}${fullRestart ? "hot restart" : "hot reload"}...', ); final hotReloadResponse = @@ -726,7 +762,7 @@ final class FlutterRunTestDriver extends FlutterTestDriver { 'debounceDurationOverrideMs': debounceDurationOverrideMs, }) as Map?; - _debugPrint('${fullRestart ? "Hot restart" : "Hot reload"} complete.'); + debugPrint('${fullRestart ? "Hot restart" : "Hot reload"} complete.'); if (hotReloadResponse == null || hotReloadResponse['code'] != 0) { _throwErrorResponse('Hot ${fullRestart ? 'restart' : 'reload'} request failed'); @@ -740,48 +776,48 @@ final class FlutterRunTestDriver extends FlutterTestDriver { } final VmService? vmService = _vmService; if (vmService != null) { - _debugPrint('Closing VM service...'); + debugPrint('Closing VM service...'); await vmService.dispose(); } if (_currentRunningAppId != null) { - _debugPrint('Detaching from app...'); + debugPrint('Detaching from app...'); await Future.any(>[ process.exitCode, _sendRequest('app.detach', {'appId': _currentRunningAppId}), ]).timeout( quitTimeout, onTimeout: () { - _debugPrint('app.detach did not return within $quitTimeout'); + debugPrint('app.detach did not return within $quitTimeout'); }, ); _currentRunningAppId = null; } - _debugPrint('Waiting for process to end...'); + debugPrint('Waiting for process to end...'); return process.exitCode.timeout(quitTimeout, onTimeout: _killGracefully); } Future stop() async { final VmService? vmService = _vmService; if (vmService != null) { - _debugPrint('Closing VM service...'); + debugPrint('Closing VM service...'); await vmService.dispose(); } final Process? process = _process; if (_currentRunningAppId != null) { - _debugPrint('Stopping application...'); + debugPrint('Stopping application...'); await Future.any(>[ process!.exitCode, _sendRequest('app.stop', {'appId': _currentRunningAppId}), ]).timeout( quitTimeout, onTimeout: () { - _debugPrint('app.stop did not return within $quitTimeout'); + debugPrint('app.stop did not return within $quitTimeout'); }, ); _currentRunningAppId = null; } if (process != null) { - _debugPrint('Waiting for process to end...'); + debugPrint('Waiting for process to end...'); return process.exitCode.timeout(quitTimeout, onTimeout: _killGracefully); } return 0; @@ -792,7 +828,7 @@ final class FlutterRunTestDriver extends FlutterTestDriver { final int requestId = id++; final request = {'id': requestId, 'method': method, 'params': params}; final String jsonEncoded = json.encode(>[request]); - _debugPrint(jsonEncoded, topic: '=stdin=>'); + debugPrint(jsonEncoded, topic: '=stdin=>'); // Set up the response future before we send the request to avoid any // races. If the method we're calling is app.stop then we tell _waitFor not diff --git a/packages/flutter_tools/test/integration.shard/test_golden_comparator_test.dart b/packages/flutter_tools/test/integration.shard/test_golden_comparator_test.dart new file mode 100644 index 0000000000000..0168832cf5926 --- /dev/null +++ b/packages/flutter_tools/test/integration.shard/test_golden_comparator_test.dart @@ -0,0 +1,107 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:file_testing/file_testing.dart'; +import 'package:flutter_tools/src/artifacts.dart'; +import 'package:flutter_tools/src/base/file_system.dart'; +import 'package:flutter_tools/src/base/logger.dart'; +import 'package:flutter_tools/src/build_info.dart'; +import 'package:flutter_tools/src/globals.dart' as globals; +import 'package:flutter_tools/src/project.dart'; +import 'package:flutter_tools/src/test/test_compiler.dart'; +import 'package:flutter_tools/src/test/test_golden_comparator.dart'; + +import '../src/common.dart'; +import '../src/context.dart'; +import 'test_data/integration_tests_project.dart'; + +/// Tests that [`TestGoldenComparator`] is working end-to-end-ish. +/// +/// Spawns `flutter_tester`, and asks it to compare (using the default +/// `LocalFileComparator`) two images, one that will be an exact match, and one +/// that is very different. +void main() { + final (File testPng1, File testPng2) = () { + final Directory testData = globals.localFileSystem + .directory(getFlutterRoot()) + .childDirectory('packages') + .childDirectory('flutter_tools') + .childDirectory('test') + .childDirectory('integration.shard') + .childDirectory('test_data'); + return (testData.childFile('test_1.png'), testData.childFile('test_2.png')); + }(); + + late LocalFileSystem fs; + late Directory tmpDir; + late BufferLogger logger; + late IntegrationTestsProject testProject; + late FlutterProject project; + + setUp(() async { + fs = globals.localFileSystem; + tmpDir = fs.systemTempDirectory.createTempSync(); + logger = BufferLogger.test(); + + testProject = IntegrationTestsProject(); + await testProject.setUpIn(tmpDir); + project = FlutterProject.fromDirectoryTest(tmpDir, logger); + testPng1.copySync(tmpDir.childDirectory('integration_test').childFile('test.png').path); + }); + + tearDown(() { + printOnFailure(logger.warningText); + printOnFailure(logger.errorText); + }); + + TestGoldenComparator createComparator() { + final File packageConfig = tmpDir.childDirectory('.dart_tool').childFile('package_config.json'); + expect(packageConfig, exists); + + final compiler = TestCompiler( + BuildInfo( + BuildMode.debug, + null, + treeShakeIcons: false, + packageConfigPath: packageConfig.path, + ), + project, + ); + return TestGoldenComparator( + flutterTesterBinPath: globals.artifacts!.getArtifactPath(Artifact.flutterTester), + compilerFactory: () => compiler, + logger: logger, + fileSystem: globals.fs, + processManager: globals.processManager, + ); + } + + testUsingContext('successful comparison is successful', () async { + final TestGoldenComparator comparator = createComparator(); + final TestGoldenComparison result = await comparator.compare( + Uri(path: testProject.testFilePath), + testPng1.readAsBytesSync(), + Uri(path: 'test.png'), + ); + expect(result, isA()); + }); + + // Regression test for https://github.com/flutter/flutter/issues/174267. + testUsingContext('failed comparison is failed but not crashed', () async { + final TestGoldenComparator comparator = createComparator(); + final TestGoldenComparison result = await comparator.compare( + Uri(path: testProject.testFilePath), + testPng2.readAsBytesSync(), + Uri(path: 'test.png'), + ); + expect( + result, + isA().having( + (e) => e.error, + 'error', + contains('Pixel test failed, image sizes do not match'), + ), + ); + }); +} diff --git a/packages/flutter_tools/test/integration.shard/transition_test_utils.dart b/packages/flutter_tools/test/integration.shard/transition_test_utils.dart index 3045e3bcb8b34..c84a5a7beec4a 100644 --- a/packages/flutter_tools/test/integration.shard/transition_test_utils.dart +++ b/packages/flutter_tools/test/integration.shard/transition_test_utils.dart @@ -235,8 +235,8 @@ Future runFlutter( } String stamp() => '[${(clock.elapsed.inMilliseconds / 1000.0).toStringAsFixed(1).padLeft(5)}s]'; - void processStdout(String line) { - final log = LogLine('stdout', stamp(), line); + + void logLine(LogLine log, String line) { if (logging) { logs.add(log); } @@ -280,12 +280,14 @@ Future runFlutter( } } - void processStderr(String line) { + void processStdout(String line) { final log = LogLine('stdout', stamp(), line); - logs.add(log); - if (streamingLogs) { - log.printClearly(); - } + logLine(log, line); + } + + void processStderr(String line) { + final log = LogLine('stderr', stamp(), line); + logLine(log, line); } if (debug) { diff --git a/packages/flutter_tools/test/integration.shard/vmservice_integration_test.dart b/packages/flutter_tools/test/integration.shard/vmservice_integration_test.dart index daf838fd1ce68..262e435940ef9 100644 --- a/packages/flutter_tools/test/integration.shard/vmservice_integration_test.dart +++ b/packages/flutter_tools/test/integration.shard/vmservice_integration_test.dart @@ -32,6 +32,8 @@ void main() { final int? port = flutter.vmServicePort; expect(port != null, true); vmService = await vmServiceConnectUri('ws://localhost:$port/ws'); + vmService.onSend.listen((String s) => flutter.debugPrint(s, topic: '=vm=>')); + vmService.onReceive.listen((String s) => flutter.debugPrint(s, topic: '<=vm=')); }); tearDown(() async { @@ -48,14 +50,18 @@ void main() { }); testWithoutContext('flutterVersion can be called', () async { - final Response response = await vmService.callServiceExtension('s0.flutterVersion'); + final Response response = await vmService.callServiceExtension( + await flutter.flutterVersionService, + ); expect(response.type, 'Success'); expect(response.json, containsPair('frameworkRevisionShort', isNotNull)); expect(response.json, containsPair('engineRevisionShort', isNotNull)); }); testWithoutContext('flutterMemoryInfo can be called', () async { - final Response response = await vmService.callServiceExtension('s0.flutterMemoryInfo'); + final Response response = await vmService.callServiceExtension( + await flutter.flutterMemoryInfoService, + ); expect(response.type, 'Success'); }); @@ -64,14 +70,17 @@ void main() { final IsolateRef? isolateRef = vm.isolates?.first; expect(isolateRef != null, true); final Response response = await vmService.callMethod( - 's0.reloadSources', + await flutter.reloadSourcesService, isolateId: isolateRef!.id, ); expect(response.type, 'Success'); }); testWithoutContext('reloadSources fails on bad params', () async { - final Future response = vmService.callMethod('s0.reloadSources', isolateId: ''); + final Future response = vmService.callMethod( + await flutter.reloadSourcesService, + isolateId: '', + ); expect(response, throwsA(const TypeMatcher())); }); @@ -80,7 +89,7 @@ void main() { final IsolateRef? isolateRef = vm.isolates?.first; expect(isolateRef != null, true); final Response response = await vmService.callMethod( - 's0.hotRestart', + await flutter.hotRestartService, isolateId: isolateRef!.id, ); expect(response.type, 'Success'); @@ -88,7 +97,7 @@ void main() { testWithoutContext('hotRestart fails on bad params', () async { final Future response = vmService.callMethod( - 's0.hotRestart', + await flutter.hotRestartService, args: {'pause': 'not_a_bool'}, ); expect(response, throwsA(const TypeMatcher())); diff --git a/packages/flutter_tools/test/integration.shard/widget_preview_machine_test.dart b/packages/flutter_tools/test/integration.shard/widget_preview_machine_test.dart new file mode 100644 index 0000000000000..0d4691ea3a179 --- /dev/null +++ b/packages/flutter_tools/test/integration.shard/widget_preview_machine_test.dart @@ -0,0 +1,135 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'dart:async'; +import 'dart:convert'; + +import 'package:file/file.dart'; +import 'package:flutter_tools/src/base/io.dart'; +import 'package:flutter_tools/src/commands/widget_preview.dart'; +import 'package:flutter_tools/src/widget_preview/dtd_services.dart'; +import 'package:http/http.dart'; +import 'package:process/process.dart'; + +import '../src/common.dart'; +import 'test_data/basic_project.dart'; +import 'test_utils.dart'; + +typedef ExpectedEvent = ({String event, FutureOr Function(Map)? validator}); + +final launchEvents = [ + ( + event: 'widget_preview.initializing', + validator: (Map params) { + return params.containsKey('pid'); + }, + ), + ( + event: 'widget_preview.started', + validator: (Map params) async { + if (params case {'url': final String uri}) { + try { + final Response response = await get(Uri.parse(uri)); + return response.statusCode == HttpStatus.ok; + // ignore: avoid_catches_without_on_clauses + } catch (e) { + printOnFailure('Failed to access widget previewer: $e'); + } + } + return false; + }, + ), +]; + +void main() { + late Directory tempDir; + Process? process; + DtdLauncher? dtdLauncher; + final project = BasicProject(); + const ProcessManager processManager = LocalProcessManager(); + + setUp(() async { + tempDir = createResolvedTempDirectorySync('widget_preview_test.'); + await project.setUpIn(tempDir); + }); + + tearDown(() async { + process?.kill(); + process = null; + await dtdLauncher?.dispose(); + dtdLauncher = null; + tryToDelete(tempDir); + }); + + Future runWidgetPreviewMachineMode({ + required List expectedEvents, + bool useWebServer = false, + }) async { + expect(expectedEvents, isNotEmpty); + process = await processManager.start([ + flutterBin, + 'widget-preview', + 'start', + '--machine', + '--${WidgetPreviewStartCommand.kHeadless}', + if (useWebServer) '--${WidgetPreviewStartCommand.kWebServer}', + ], workingDirectory: tempDir.path); + + final completer = Completer(); + var nextExpectationIndex = 0; + process!.stdout.transform(utf8.decoder).transform(const LineSplitter()).listen(( + String message, + ) async { + printOnFailure('STDOUT: $message'); + if (completer.isCompleted) { + return; + } + try { + final Object? event = json.decode(message); + if (event case [final Map eventObject]) { + final ExpectedEvent expectation = expectedEvents[nextExpectationIndex]; + if (expectation.event == eventObject['event']) { + expect( + await expectation.validator?.call(eventObject['params']! as Map), + true, + reason: 'Validator[$nextExpectationIndex] failed.', + ); + ++nextExpectationIndex; + } + } + if (nextExpectationIndex == expectedEvents.length) { + completer.complete(); + } + } on FormatException { + // Do nothing. + } + }); + + process!.stderr.transform(utf8.decoder).transform(const LineSplitter()).listen((String msg) { + printOnFailure('STDERR: $msg'); + }); + + unawaited( + process!.exitCode.then((int exitCode) { + if (completer.isCompleted) { + return; + } + completer.completeError( + TestFailure('The widget previewer exited unexpectedly (exit code: $exitCode)'), + ); + }), + ); + await completer.future; + } + + group('flutter widget-preview start --machine', () { + testWithoutContext('launches in browser', () async { + await runWidgetPreviewMachineMode(expectedEvents: launchEvents); + }); + + testWithoutContext('launches web server', () async { + await runWidgetPreviewMachineMode(expectedEvents: launchEvents, useWebServer: true); + }); + }); +} diff --git a/packages/flutter_tools/test/integration.shard/widget_preview_test.dart b/packages/flutter_tools/test/integration.shard/widget_preview_test.dart index 3280411ff9748..ef75a4da21ef2 100644 --- a/packages/flutter_tools/test/integration.shard/widget_preview_test.dart +++ b/packages/flutter_tools/test/integration.shard/widget_preview_test.dart @@ -10,39 +10,42 @@ import 'package:file/file.dart'; import 'package:flutter_tools/src/base/io.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/commands/widget_preview.dart'; +import 'package:flutter_tools/src/devtools_launcher.dart'; import 'package:flutter_tools/src/globals.dart' as globals; -import 'package:flutter_tools/src/runner/flutter_command_runner.dart'; +import 'package:flutter_tools/src/resident_runner.dart'; +import 'package:flutter_tools/src/runner/flutter_command.dart'; import 'package:flutter_tools/src/widget_preview/dtd_services.dart'; import 'package:process/process.dart'; import '../src/common.dart'; import '../src/context.dart'; +import '../src/fakes.dart'; import 'test_data/basic_project.dart'; import 'test_utils.dart'; -const firstLaunchMessagesWeb = [ +final launchingOnDeviceRegExp = RegExp(r'Launching the Widget Preview Scaffold on [a-zA-Z]+...'); + +final firstLaunchMessagesWeb = [ 'Creating widget preview scaffolding at:', - 'Launching the Widget Preview Scaffold...', + launchingOnDeviceRegExp, 'Done loading previews.', ]; -const firstLaunchMessagesWebServer = [ +final firstLaunchMessagesWebServer = [ 'Creating widget preview scaffolding at:', - 'Launching the Widget Preview Scaffold...', + launchingOnDeviceRegExp, 'main.dart is being served at', 'Done loading previews.', ]; -const subsequentLaunchMessagesWeb = [ - 'Launching the Widget Preview Scaffold...', - 'Done loading previews.', -]; +final subsequentLaunchMessagesWeb = [launchingOnDeviceRegExp, 'Done loading previews.']; void main() { late Directory tempDir; Process? process; Logger? logger; DtdLauncher? dtdLauncher; + DevtoolsLauncher? devtoolsLauncher; final project = BasicProject(); const ProcessManager processManager = LocalProcessManager(); @@ -56,14 +59,17 @@ void main() { process?.kill(); process = null; await dtdLauncher?.dispose(); + await devtoolsLauncher?.close(); + devtoolsLauncher = null; dtdLauncher = null; tryToDelete(tempDir); }); Future runWidgetPreview({ - required List expectedMessages, + required List expectedMessages, Uri? dtdUri, bool useWebServer = false, + Uri? devToolsServerAddress, }) async { expect(expectedMessages, isNotEmpty); var i = 0; @@ -74,7 +80,9 @@ void main() { '--verbose', '--${WidgetPreviewStartCommand.kHeadless}', if (useWebServer) '--${WidgetPreviewStartCommand.kWebServer}', - if (dtdUri != null) '--${FlutterGlobalOptions.kDtdUrl}=$dtdUri', + if (dtdUri != null) '--${WidgetPreviewStartCommand.kDtdUrl}=$dtdUri', + if (devToolsServerAddress != null) + '--${FlutterCommand.kDevToolsServerAddress}=$devToolsServerAddress', ], workingDirectory: tempDir.path); final completer = Completer(); @@ -153,5 +161,25 @@ void main() { await runWidgetPreview(expectedMessages: firstLaunchMessagesWeb, dtdUri: dtdUri); await completer.future; }); + + testUsingContext('can connect to an existing DevTools instance', () async { + devtoolsLauncher = DevtoolsServerLauncher( + processManager: processManager, + logger: logger!, + botDetector: const FakeBotDetector(true), + artifacts: globals.artifacts!, + ); + + // Start a DevTools instance. + final Uri devtoolsUri = (await devtoolsLauncher!.serve())!.uri!; + + // Start the widget preview and wait for the DevTools message. + await runWidgetPreview( + expectedMessages: [ + 'The Flutter DevTools debugger and profiler on Chrome is available at: $devtoolsUri', + ], + devToolsServerAddress: devtoolsUri, + ); + }); }); } diff --git a/packages/flutter_tools/test/integration.shard/xcode_backend_test.dart b/packages/flutter_tools/test/integration.shard/xcode_backend_test.dart index 48b31b0370b60..af72538c4c94a 100644 --- a/packages/flutter_tools/test/integration.shard/xcode_backend_test.dart +++ b/packages/flutter_tools/test/integration.shard/xcode_backend_test.dart @@ -54,20 +54,6 @@ void main() { await expectXcodeBackendFails(unknownFlutterBuildMode); }, skip: !io.Platform.isMacOS); // [intended] requires macos toolchain. - test('Xcode backend warns archiving a non-release build.', () async { - final ProcessResult result = await Process.run( - xcodeBackendPath, - ['build'], - environment: { - 'CONFIGURATION': 'Debug', - 'ACTION': 'install', - 'FLUTTER_CLI_BUILD_MODE': 'debug', - }, - ); - expect(result.stderr, contains('warning: Flutter archive not built in Release mode.')); - expect(result.exitCode, isNot(0)); - }, skip: !io.Platform.isMacOS); // [intended] requires macos toolchain. - test('Xcode backend warns when unable to determine platform', () async { final ProcessResult result = await Process.run( xcodeBackendPath, @@ -132,62 +118,53 @@ void main() { }); for (final buildConfiguration in ['Debug', 'Profile']) { - test('add keys in $buildConfiguration without verbose mode', () async { - infoPlist.writeAsStringSync(emptyPlist); - - final ProcessResult result = await Process.run( - xcodeBackendPath, - ['test_vm_service_bonjour_service'], - environment: { - 'CONFIGURATION': buildConfiguration, - 'BUILT_PRODUCTS_DIR': buildDirectory.path, - 'INFOPLIST_PATH': 'Info.plist', - }, - ); - - final String actualInfoPlist = infoPlist.readAsStringSync(); - expect(actualInfoPlist, contains('NSBonjourServices')); - expect(actualInfoPlist, contains('dartVmService')); - expect(actualInfoPlist, contains('NSLocalNetworkUsageDescription')); - - expect(result.stderr, isNot(startsWith('error:'))); - const plutilErrorMessage = - 'Could not extract value, error: No value at that key path or invalid key path: NSBonjourServices'; - expect(result.stderr, isNot(contains(plutilErrorMessage))); - expect(result.stdout, isNot(contains(plutilErrorMessage))); - expect(result, const ProcessResultMatcher()); - }); - - test('add keys in $buildConfiguration under verbose mode', () async { - infoPlist.writeAsStringSync(emptyPlist); - - final ProcessResult result = await Process.run( - xcodeBackendPath, - ['test_vm_service_bonjour_service'], - environment: { - 'CONFIGURATION': buildConfiguration, - 'BUILT_PRODUCTS_DIR': buildDirectory.path, - 'INFOPLIST_PATH': 'Info.plist', - 'VERBOSE_SCRIPT_LOGGING': 'YES', + for (final verbose in [true, false]) { + test( + 'add keys in $buildConfiguration under ${verbose ? 'verbose' : 'non-verbose'} mode', + () async { + infoPlist.writeAsStringSync(emptyPlist); + final File pipe = fileSystem.file('/tmp/pipe')..createSync(recursive: true); + + final ProcessResult result = await Process.run( + xcodeBackendPath, + ['test_vm_service_bonjour_service'], + environment: { + 'CONFIGURATION': buildConfiguration, + 'BUILT_PRODUCTS_DIR': buildDirectory.path, + 'INFOPLIST_PATH': 'Info.plist', + if (verbose) 'VERBOSE_SCRIPT_LOGGING': 'YES', + 'SCRIPT_OUTPUT_STREAM_FILE': pipe.path, + }, + ); + + final String actualInfoPlist = infoPlist.readAsStringSync(); + expect(actualInfoPlist, contains('NSBonjourServices')); + expect(actualInfoPlist, contains('dartVmService')); + expect(actualInfoPlist, contains('NSLocalNetworkUsageDescription')); + + // Make sure no Xcode compilation error. + expect(result.stderr, isNot(startsWith('error:'))); + + const plutilErrorMessage = + 'Could not extract value, error: No value at that key path or invalid key path: NSBonjourServices'; + expect(pipe.readAsStringSync(), isNot(contains(plutilErrorMessage))); + expect(result.stderr, isNot(contains(plutilErrorMessage))); + if (verbose) { + expect(result.stdout, contains(plutilErrorMessage)); + } else { + expect(result.stdout, isNot(contains(plutilErrorMessage))); + } + + expect(result, const ProcessResultMatcher()); }, ); - - final String actualInfoPlist = infoPlist.readAsStringSync(); - expect(actualInfoPlist, contains('NSBonjourServices')); - expect(actualInfoPlist, contains('dartVmService')); - expect(actualInfoPlist, contains('NSLocalNetworkUsageDescription')); - - expect(result.stderr, isNot(startsWith('error:'))); - const plutilErrorMessage = - 'Could not extract value, error: No value at that key path or invalid key path: NSBonjourServices'; - expect(result.stderr, isNot(contains(plutilErrorMessage))); - expect(result.stdout, contains(plutilErrorMessage)); - expect(result, const ProcessResultMatcher()); - }); + } } - test('adds to existing Bonjour services, does not override network usage description', () async { - infoPlist.writeAsStringSync(''' + test( + 'adds to existing Bonjour services, does not override network usage description', + () async { + infoPlist.writeAsStringSync(''' @@ -201,17 +178,17 @@ void main() { '''); - final ProcessResult result = await Process.run( - xcodeBackendPath, - ['test_vm_service_bonjour_service'], - environment: { - 'CONFIGURATION': 'Debug', - 'BUILT_PRODUCTS_DIR': buildDirectory.path, - 'INFOPLIST_PATH': 'Info.plist', - }, - ); + final ProcessResult result = await Process.run( + xcodeBackendPath, + ['test_vm_service_bonjour_service'], + environment: { + 'CONFIGURATION': 'Debug', + 'BUILT_PRODUCTS_DIR': buildDirectory.path, + 'INFOPLIST_PATH': 'Info.plist', + }, + ); - expect(infoPlist.readAsStringSync(), ''' + expect(infoPlist.readAsStringSync(), ''' @@ -227,13 +204,10 @@ void main() { '''); - const plutilErrorMessage = - 'Could not extract value, error: No value at that key path or invalid key path: NSLocalNetworkUsageDescription'; - expect(result.stderr, isNot(startsWith('error:'))); - expect(result.stderr, isNot(contains(plutilErrorMessage))); - expect(result.stdout, isNot(contains(plutilErrorMessage))); - expect(result, const ProcessResultMatcher()); - }); + expect(result.stderr, isNot(startsWith('error:'))); + expect(result, const ProcessResultMatcher()); + }, + ); test('does not add bonjour settings when port publication is disabled', () async { infoPlist.writeAsStringSync(''' diff --git a/packages/flutter_tools/test/integration.shard/xcode_verify_configuration_test.dart b/packages/flutter_tools/test/integration.shard/xcode_verify_configuration_test.dart deleted file mode 100644 index 930437b505c20..0000000000000 --- a/packages/flutter_tools/test/integration.shard/xcode_verify_configuration_test.dart +++ /dev/null @@ -1,588 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_tools/src/base/file_system.dart'; -import 'package:flutter_tools/src/base/io.dart'; - -import '../src/common.dart'; -import 'test_utils.dart'; - -void main() { - late Directory tempDir; - late Directory projectDir; - - setUpAll(() async { - tempDir = createResolvedTempDirectorySync('xcode_dev_dependencies_test.'); - projectDir = tempDir.childDirectory('project')..createSync(); - final Directory tempPluginADir = tempDir.childDirectory('plugin_a')..createSync(); - - // Create a Flutter project. - await processManager.run([ - flutterBin, - 'create', - projectDir.path, - '--project-name=testapp', - ], workingDirectory: projectDir.path); - - // Create a Flutter plugin to add as a dev dependency to the Flutter project. - await processManager.run([ - flutterBin, - 'create', - tempPluginADir.path, - '--template=plugin', - '--project-name=plugin_a', - '--platforms=ios,macos', - ], workingDirectory: tempPluginADir.path); - - // Add a dev dependency on plugin_a - await processManager.run([ - flutterBin, - 'pub', - 'add', - 'dev:plugin_a', - '--path', - tempPluginADir.path, - ], workingDirectory: projectDir.path); - }); - - tearDownAll(() { - tryToDelete(tempDir); - }); - - group( - 'Xcode build iOS app', - () { - test( - 'succeeds when Flutter CLI last used configuration matches Xcode configuration', - () async { - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'ios', - '--config-only', - '--debug', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: projectDir.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - '-workspace', - 'ios/Runner.xcworkspace', - '-scheme', - 'Runner', - '-destination', - 'generic/platform=iOS Simulator', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Debug', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: projectDir.path, - ); - - expect(xcodeResult, const ProcessResultMatcher(stdoutPattern: '** BUILD SUCCEEDED **')); - }, - ); - - test( - 'fails if Flutter CLI last used configuration does not match Xcode configuration when archiving', - () async { - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'ios', - '--config-only', - '--debug', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: projectDir.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - 'archive', - '-workspace', - 'ios/Runner.xcworkspace', - '-scheme', - 'Runner', - '-destination', - 'generic/platform=iOS', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Release', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: projectDir.path, - ); - - expect( - xcodeResult, - const ProcessResultMatcher( - exitCode: 65, - stdoutPattern: 'error: Your Flutter project is currently configured for debug mode.', - stderrPattern: '** ARCHIVE FAILED **', - ), - ); - }, - ); - - test( - 'warns if Flutter CLI last used configuration does not match Xcode configuration when building', - () async { - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'ios', - '--config-only', - '--release', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: projectDir.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - '-workspace', - 'ios/Runner.xcworkspace', - '-scheme', - 'Runner', - '-destination', - 'generic/platform=iOS', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Debug', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: projectDir.path, - ); - - expect( - xcodeResult, - const ProcessResultMatcher( - stdoutPattern: - 'warning: Your Flutter project is currently configured for release mode.', - ), - ); - }, - ); - }, - skip: !platform.isMacOS, // [intended] iOS builds only work on macos. - ); - - group( - 'Xcode build iOS module', - () { - test( - 'succeeds when Flutter CLI last used configuration matches Xcode configuration', - () async { - final Directory moduleDirectory = projectDir.childDirectory('hello'); - await processManager.run([ - flutterBin, - 'create', - moduleDirectory.path, - '--template=module', - '--project-name=hello', - ], workingDirectory: projectDir.path); - - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'ios', - '--config-only', - '--debug', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: moduleDirectory.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final Directory hostAppDirectory = projectDir.childDirectory('hello_host_app'); - hostAppDirectory.createSync(); - - copyDirectory( - fileSystem.directory( - fileSystem.path.join(getFlutterRoot(), 'dev', 'integration_tests', 'ios_host_app'), - ), - hostAppDirectory, - ); - - final ProcessResult podResult = await processManager.run( - const ['pod', 'install'], - workingDirectory: hostAppDirectory.path, - environment: const {'LANG': 'en_US.UTF-8'}, - ); - - expect(podResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - '-workspace', - 'Host.xcworkspace', - '-scheme', - 'Host', - '-destination', - 'generic/platform=iOS', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Debug', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: hostAppDirectory.path, - ); - - expect(xcodeResult, const ProcessResultMatcher(stdoutPattern: '** BUILD SUCCEEDED **')); - }, - ); - - test( - 'fails if Flutter CLI last used configuration does not match Xcode configuration when archiving', - () async { - final Directory moduleDirectory = projectDir.childDirectory('hello'); - await processManager.run([ - flutterBin, - 'create', - moduleDirectory.path, - '--template=module', - '--project-name=hello', - ], workingDirectory: projectDir.path); - - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'ios', - '--config-only', - '--debug', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: moduleDirectory.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final Directory hostAppDirectory = projectDir.childDirectory('hello_host_app'); - hostAppDirectory.createSync(); - - copyDirectory( - fileSystem.directory( - fileSystem.path.join(getFlutterRoot(), 'dev', 'integration_tests', 'ios_host_app'), - ), - hostAppDirectory, - ); - - final ProcessResult podResult = await processManager.run( - const ['pod', 'install'], - workingDirectory: hostAppDirectory.path, - environment: const {'LANG': 'en_US.UTF-8'}, - ); - - expect(podResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - 'archive', - '-workspace', - 'Host.xcworkspace', - '-scheme', - 'Host', - '-destination', - 'generic/platform=iOS', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Release', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: hostAppDirectory.path, - ); - - expect( - xcodeResult, - const ProcessResultMatcher( - exitCode: 65, - stdoutPattern: 'error: Your Flutter project is currently configured for debug mode.', - stderrPattern: '** ARCHIVE FAILED **', - ), - ); - }, - ); - - test( - 'warns if Flutter CLI last used configuration does not match Xcode configuration when building', - () async { - final Directory moduleDirectory = projectDir.childDirectory('hello'); - await processManager.run([ - flutterBin, - 'create', - moduleDirectory.path, - '--template=module', - '--project-name=hello', - ], workingDirectory: projectDir.path); - - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'ios', - '--config-only', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: moduleDirectory.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final Directory hostAppDirectory = projectDir.childDirectory('hello_host_app'); - hostAppDirectory.createSync(); - - copyDirectory( - fileSystem.directory( - fileSystem.path.join(getFlutterRoot(), 'dev', 'integration_tests', 'ios_host_app'), - ), - hostAppDirectory, - ); - - final ProcessResult podResult = await processManager.run( - const ['pod', 'install'], - workingDirectory: hostAppDirectory.path, - environment: const {'LANG': 'en_US.UTF-8'}, - ); - - expect(podResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - '-workspace', - 'Host.xcworkspace', - '-scheme', - 'Host', - '-destination', - 'generic/platform=iOS', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Debug', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: hostAppDirectory.path, - ); - - expect( - xcodeResult, - const ProcessResultMatcher( - stdoutPattern: - 'warning: Your Flutter project is currently configured for release mode.', - ), - ); - }, - ); - }, - skip: !platform.isMacOS, // [intended] iOS builds only work on macos. - ); - - group( - 'Xcode build macOS app', - () { - test( - 'succeeds when Flutter CLI last used configuration matches Xcode configuration', - () async { - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'macos', - '--config-only', - '--debug', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: projectDir.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - '-workspace', - 'macos/Runner.xcworkspace', - '-scheme', - 'Runner', - '-destination', - 'platform=macOS', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Debug', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: projectDir.path, - ); - - expect(xcodeResult, const ProcessResultMatcher(stdoutPattern: '** BUILD SUCCEEDED **')); - }, - ); - - test( - 'fails if Flutter CLI last used configuration does not match Xcode configuration when archiving', - () async { - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'macos', - '--config-only', - '--debug', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: projectDir.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - 'archive', - '-workspace', - 'macos/Runner.xcworkspace', - '-scheme', - 'Runner', - '-destination', - 'platform=macOS', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Release', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: projectDir.path, - ); - - expect( - xcodeResult, - const ProcessResultMatcher( - exitCode: 65, - stdoutPattern: 'error: Your Flutter project is currently configured for debug mode.', - stderrPattern: '** ARCHIVE FAILED **', - ), - ); - }, - ); - - test( - 'warns if Flutter CLI last used configuration does not match Xcode configuration when building', - () async { - final flutterCommand = [ - flutterBin, - ...getLocalEngineArguments(), - 'build', - 'macos', - '--config-only', - '--release', - ]; - final ProcessResult flutterResult = await processManager.run( - flutterCommand, - workingDirectory: projectDir.path, - ); - - expect(flutterResult, const ProcessResultMatcher()); - - final xcodeCommand = [ - 'xcodebuild', - '-workspace', - 'macos/Runner.xcworkspace', - '-scheme', - 'Runner', - '-destination', - 'platform=macOS', - 'CODE_SIGNING_ALLOWED=NO', - 'CODE_SIGNING_REQUIRED=NO', - 'CODE_SIGN_IDENTITY=-', - 'EXPANDED_CODE_SIGN_IDENTITY=-', - 'COMPILER_INDEX_STORE_ENABLE=NO', - 'VERBOSE_SCRIPT_LOGGING=true', - '-configuration', - 'Debug', - ]; - final ProcessResult xcodeResult = await processManager.run( - xcodeCommand, - workingDirectory: projectDir.path, - ); - - expect( - xcodeResult, - const ProcessResultMatcher( - stdoutPattern: - 'warning: Your Flutter project is currently configured for release mode.', - ), - ); - }, - ); - }, - skip: !platform.isMacOS, // [intended] iOS builds only work on macos. - ); -} diff --git a/packages/flutter_tools/test/src/common.dart b/packages/flutter_tools/test/src/common.dart index 1154f02c49a2f..283e0fa68245d 100644 --- a/packages/flutter_tools/test/src/common.dart +++ b/packages/flutter_tools/test/src/common.dart @@ -376,7 +376,7 @@ bool analyticsTimingEventExists({ final lookup = { 'workflow': workflow, 'variableName': variableName, - if (label != null) 'label': label, + 'label': ?label, }; for (final e in sentEvents) { diff --git a/packages/flutter_tools/test/src/fake_devices.dart b/packages/flutter_tools/test/src/fake_devices.dart index cd25ed0e8ec1f..68a7c477d80fa 100644 --- a/packages/flutter_tools/test/src/fake_devices.dart +++ b/packages/flutter_tools/test/src/fake_devices.dart @@ -28,7 +28,6 @@ var fakeDevices = [ 'hotReload': true, 'hotRestart': true, 'screenshot': false, - 'fastStart': false, 'flutterExit': true, 'hardwareRendering': true, 'startPaused': true, @@ -50,7 +49,6 @@ var fakeDevices = [ 'hotReload': true, 'hotRestart': true, 'screenshot': false, - 'fastStart': false, 'flutterExit': true, 'hardwareRendering': true, 'startPaused': true, @@ -75,7 +73,6 @@ var fakeDevices = [ 'hotReload': true, 'hotRestart': true, 'screenshot': false, - 'fastStart': false, 'flutterExit': true, 'hardwareRendering': true, 'startPaused': true, @@ -102,7 +99,6 @@ var fakeDevices = [ 'hotReload': true, 'hotRestart': true, 'screenshot': false, - 'fastStart': false, 'flutterExit': true, 'hardwareRendering': true, 'startPaused': true, diff --git a/packages/flutter_tools/test/src/fakes.dart b/packages/flutter_tools/test/src/fakes.dart index ba3198b7da87c..8f728bbaeddf8 100644 --- a/packages/flutter_tools/test/src/fakes.dart +++ b/packages/flutter_tools/test/src/fakes.dart @@ -14,6 +14,7 @@ import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/io.dart'; import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/os.dart'; +import 'package:flutter_tools/src/base/process.dart'; import 'package:flutter_tools/src/base/time.dart'; import 'package:flutter_tools/src/base/version.dart'; import 'package:flutter_tools/src/cache.dart'; @@ -81,6 +82,26 @@ class FakeProcess implements Process { } } +/// A [ShutdownHooks] implementation that does not actually execute any hooks. +class FakeShutdownHooks extends Fake implements ShutdownHooks { + @override + bool get isShuttingDown => _isShuttingDown; + var _isShuttingDown = false; + + @override + final registeredHooks = []; + + @override + void addShutdownHook(ShutdownHook shutdownHook) { + registeredHooks.add(shutdownHook); + } + + @override + Future runShutdownHooks(Logger logger) async { + _isShuttingDown = true; + } +} + /// An IOSink that completes a future with the first line written to it. class CompleterIOSink extends MemoryIOSink { CompleterIOSink({this.throwOnAdd = false}); @@ -500,6 +521,7 @@ class TestFeatureFlags implements FeatureFlags { this.areCustomDevicesEnabled = false, this.isCliAnimationEnabled = true, this.isNativeAssetsEnabled = false, + this.isDartDataAssetsEnabled = false, this.isSwiftPackageManagerEnabled = false, this.isOmitLegacyVersionFileEnabled = false, this.isWindowingEnabled = false, @@ -536,6 +558,9 @@ class TestFeatureFlags implements FeatureFlags { @override final bool isNativeAssetsEnabled; + @override + final bool isDartDataAssetsEnabled; + @override final bool isSwiftPackageManagerEnabled; @@ -580,6 +605,7 @@ class TestFeatureFlags implements FeatureFlags { flutterFuchsiaFeature, flutterCustomDevicesFeature, cliAnimation, + dartDataAssets, nativeAssets, swiftPackageManager, omitLegacyVersionFile, @@ -726,7 +752,7 @@ class FakeJava extends Fake implements Java { }) : binaryPath = binary, version = version ?? const Version.withText(19, 0, 2, 'openjdk 19.0.2 2023-01-17'), _environment = { - if (javaHome != null) Java.javaHomeEnvironmentVariable: javaHome, + Java.javaHomeEnvironmentVariable: ?javaHome, 'PATH': '/android-studio/jbr/bin', }, _canRun = canRun; diff --git a/packages/flutter_tools/test/web.shard/chrome_test.dart b/packages/flutter_tools/test/web.shard/chrome_test.dart index 0aec266c1c6db..38760e9f195b0 100644 --- a/packages/flutter_tools/test/web.shard/chrome_test.dart +++ b/packages/flutter_tools/test/web.shard/chrome_test.dart @@ -30,6 +30,7 @@ const kChromeArgs = [ '--disable-default-apps', '--disable-translate', '--disable-search-engine-choice-screen', + '--no-sandbox', ]; const kCodeCache = ['Cache', 'Code Cache', 'GPUCache']; @@ -537,7 +538,6 @@ void main() { ...kChromeArgs, '--headless', '--disable-gpu', - '--no-sandbox', '--window-size=2400,1800', 'example_url', ], @@ -623,7 +623,6 @@ void main() { ...kChromeArgs, '--headless', '--disable-gpu', - '--no-sandbox', '--window-size=2400,1800', 'example_url', ]; @@ -657,7 +656,6 @@ void main() { ...kChromeArgs, '--headless', '--disable-gpu', - '--no-sandbox', '--window-size=2400,1800', 'example_url', ]; @@ -695,7 +693,6 @@ void main() { ...kChromeArgs, '--headless', '--disable-gpu', - '--no-sandbox', '--window-size=2400,1800', 'example_url', ], diff --git a/packages/flutter_tools/test/web.shard/vm_service_web_test.dart b/packages/flutter_tools/test/web.shard/vm_service_web_test.dart index 220d0fe9be6ee..4f1a3b029d118 100644 --- a/packages/flutter_tools/test/web.shard/vm_service_web_test.dart +++ b/packages/flutter_tools/test/web.shard/vm_service_web_test.dart @@ -9,6 +9,7 @@ import 'dart:async'; import 'package:file/file.dart'; import 'package:flutter_tools/src/base/file_system.dart'; +import 'package:flutter_tools/src/base/io.dart'; import 'package:flutter_tools/src/vmservice.dart'; import 'package:flutter_tools/src/web/web_device.dart'; import 'package:vm_service/vm_service.dart'; @@ -24,18 +25,43 @@ void main() { final project = BasicProjectWithUnaryMain(); late FlutterRunTestDriver flutter; - group('Clients of flutter run on web with DDS enabled', () { - setUp(() async { - tempDir = createResolvedTempDirectorySync('run_test.'); - await project.setUpIn(tempDir); - flutter = FlutterRunTestDriver(tempDir); - }); + setUp(() async { + tempDir = createResolvedTempDirectorySync('run_test.'); + await project.setUpIn(tempDir); + flutter = FlutterRunTestDriver(tempDir); + }); - tearDown(() async { - await flutter.stop(); - tryToDelete(tempDir); - }); + tearDown(() async { + await flutter.stop(); + tryToDelete(tempDir); + }); + testWithoutContext('flutter run on web respects --dds-port', () async { + // Regression test for https://github.com/flutter/flutter/issues/159157 + Future getFreePort() async { + final ServerSocket serverSocket = await ServerSocket.bind(InternetAddress.loopbackIPv4, 0); + try { + return serverSocket.port; + } finally { + await serverSocket.close(); + } + } + + final int ddsPort = await getFreePort(); + await flutter.run( + withDebugger: true, + // Unfortunately, we can't easily test the web-server device as we'd need to attach to the + // server with a Chromedriver instance to initialize DWDS and start DDS. However, the DDS + // port is provided via the same code path to DWDS regardless of which device we use, so + // only testing against the Chrome device should be sufficient. + device: GoogleChromeDevice.kChromeDeviceId, + ddsPort: ddsPort, + additionalCommandArgs: ['--verbose', '--no-web-resources-cdn'], + ); + expect(flutter.vmServicePort, ddsPort); + }); + + group('Clients of flutter run on web with DDS enabled', () { testWithoutContext('can validate flutter version', () async { await flutter.run( withDebugger: true, diff --git a/packages/flutter_tools/test/web.shard/web_run_chrome_test.dart b/packages/flutter_tools/test/web.shard/web_run_chrome_test.dart index 8135e0dab259c..60b773f9929fc 100644 --- a/packages/flutter_tools/test/web.shard/web_run_chrome_test.dart +++ b/packages/flutter_tools/test/web.shard/web_run_chrome_test.dart @@ -36,4 +36,17 @@ void main() { additionalCommandArgs: ['--verbose', '--no-web-resources-cdn'], ); }); + + testWithoutContext( + 'flutter run --wasm --machine works on chrome devices with a unary main function', + () async { + // Regression test for https://github.com/flutter/flutter/issues/174330 + await flutter.run( + device: GoogleChromeDevice.kChromeDeviceId, + wasm: true, + additionalCommandArgs: ['--verbose', '--no-web-resources-cdn'], + ); + expect(await flutter.stop(), 0, reason: 'Flutter tool exited unexpectedly'); + }, + ); } diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/controls.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/controls.dart index 85ea61692b2ef..bf9d52e63f3cd 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/controls.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/controls.dart @@ -3,7 +3,7 @@ // found in the LICENSE file. import 'package:flutter/material.dart'; -import 'package:widget_preview_scaffold/src/dtd/dtd_services.dart'; +import 'widget_preview_scaffold_controller.dart'; class _WidgetPreviewIconButton extends StatelessWidget { const _WidgetPreviewIconButton({ @@ -97,6 +97,85 @@ class ZoomControls extends StatelessWidget { } } +class _ControlDecorator extends StatelessWidget { + const _ControlDecorator({required this.child}); + + final Widget child; + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.all(8.0), + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(8.0), + ), + child: child, + ); + } +} + +/// Allows for controlling the grid vs layout view in the preview environment. +class LayoutTypeSelector extends StatelessWidget { + const LayoutTypeSelector({super.key, required this.controller}); + + final WidgetPreviewScaffoldController controller; + + @override + Widget build(BuildContext context) { + return _ControlDecorator( + child: ValueListenableBuilder( + valueListenable: controller.layoutTypeListenable, + builder: (context, selectedLayout, _) { + return Row( + children: [ + IconButton( + onPressed: () => controller.layoutType = LayoutType.gridView, + icon: Icon(Icons.grid_on), + color: selectedLayout == LayoutType.gridView + ? Colors.blue + : Colors.black, + ), + IconButton( + onPressed: () => controller.layoutType = LayoutType.listView, + icon: Icon(Icons.view_list), + color: selectedLayout == LayoutType.listView + ? Colors.blue + : Colors.black, + ), + ], + ); + }, + ), + ); + } +} + +/// A toggle button that enables / disables filtering previews by the currently +/// selected source file. +class FilterBySelectedFileToggle extends StatelessWidget { + const FilterBySelectedFileToggle({super.key, required this.controller}); + + final WidgetPreviewScaffoldController controller; + + @override + Widget build(BuildContext context) { + return _ControlDecorator( + child: ValueListenableBuilder( + valueListenable: controller.filterBySelectedFileListenable, + builder: (context, value, child) { + return IconButton( + onPressed: controller.toggleFilterBySelectedFile, + icon: Icon(Icons.file_open), + color: value ? Colors.blue : Colors.black, + tooltip: 'Filter previews by selected file', + ); + }, + ), + ); + } +} + /// A button that triggers a "soft" restart of a previewed widget. /// /// A soft restart removes the previewed widget from the widget tree for a frame before @@ -129,16 +208,18 @@ class SoftRestartButton extends StatelessWidget { /// A button that triggers a restart of the widget previewer through a hot restart request made /// through DTD. class WidgetPreviewerRestartButton extends StatelessWidget { - const WidgetPreviewerRestartButton({super.key, required this.dtdServices}); + const WidgetPreviewerRestartButton({super.key, required this.controller}); - final WidgetPreviewScaffoldDtdServices dtdServices; + final WidgetPreviewScaffoldController controller; @override Widget build(BuildContext context) { - return IconButton.outlined( - tooltip: 'Restart the Widget Previewer', - onPressed: () => dtdServices.hotRestartPreviewer(), - icon: Icon(Icons.restart_alt), + return _ControlDecorator( + child: IconButton( + tooltip: 'Restart the Widget Previewer', + onPressed: controller.dtdServices.hotRestartPreviewer, + icon: Icon(Icons.restart_alt), + ), ); } } diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/dtd/dtd_services.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/dtd/dtd_services.dart index 8b3b473166b03..161c822bbcbef 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/dtd/dtd_services.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/dtd/dtd_services.dart @@ -5,7 +5,7 @@ import 'dart:async'; import 'package:dtd/dtd.dart'; -import 'package:widget_preview_scaffold/src/dtd/editor_service.dart'; +import 'editor_service.dart'; /// Provides services, streams, and RPC invocations to interact with Flutter developer tooling. class WidgetPreviewScaffoldDtdServices with DtdEditorService { @@ -17,8 +17,9 @@ class WidgetPreviewScaffoldDtdServices with DtdEditorService { // // START KEEP SYNCED - static const String kWidgetPreviewService = 'widget-preview'; - static const String kHotRestartPreviewer = 'hotRestartPreviewer'; + static const kWidgetPreviewService = 'widget-preview'; + static const kIsWindows = 'isWindows'; + static const kHotRestartPreviewer = 'hotRestartPreviewer'; // END KEEP SYNCED @@ -38,8 +39,15 @@ class WidgetPreviewScaffoldDtdServices with DtdEditorService { const {}, ), ); + await _determineIfWindows(); + await initializeEditorService(this); + } - await initializeEditorService(); + /// Disposes the DTD connection. + @override + Future dispose() async { + super.dispose(); + await dtd.close(); } Future _call( @@ -47,6 +55,13 @@ class WidgetPreviewScaffoldDtdServices with DtdEditorService { Map? params, }) => dtd.call(kWidgetPreviewService, methodName, params: params); + /// Returns `true` if the operating system is Windows. + late final bool isWindows; + + Future _determineIfWindows() async { + isWindows = ((await _call(kIsWindows)) as BoolResponse).value!; + } + /// Trigger a hot restart of the widget preview scaffold. Future hotRestartPreviewer() => _call(kHotRestartPreviewer); diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/dtd/editor_service.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/dtd/editor_service.dart index 904ab9275bd1d..d1118a7b120ba 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/dtd/editor_service.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/dtd/editor_service.dart @@ -4,6 +4,7 @@ import 'package:dtd/dtd.dart'; import 'package:flutter/foundation.dart'; +import 'package:widget_preview_scaffold/src/dtd/dtd_services.dart'; /// Provides support for interacting with the Editor DTD service registered by IDE plugins. mixin DtdEditorService { @@ -21,7 +22,9 @@ mixin DtdEditorService { static final _editorTheme = ValueNotifier(null); /// Start listening for events on the Editor stream. - Future initializeEditorService() async { + Future initializeEditorService( + WidgetPreviewScaffoldDtdServices dtdServices, + ) async { final editorKindMap = EditorEventKind.values.asNameMap(); dtd.onEvent(kEditorService).listen((data) { final kind = editorKindMap[data.kind]; @@ -40,6 +43,12 @@ mixin DtdEditorService { }); await dtd.streamListen(kEditorService); } + + @mustCallSuper + void dispose() { + _selectedSourceFile.dispose(); + _editorTheme.dispose(); + } } // TODO(bkonyi): much of the following code is copied from the DevTools codebase. We should publish diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/utils.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/utils.dart index 266122afcc539..3f9da39598ea0 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/utils.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/utils.dart @@ -3,6 +3,65 @@ // found in the LICENSE file. import 'package:flutter/material.dart'; +import 'package:flutter/widget_previews.dart'; +import 'package:widget_preview_scaffold/src/widget_preview.dart'; + +Iterable buildMultiWidgetPreview({ + required String packageName, + required String scriptUri, + required MultiPreview preview, + required Object? Function() previewFunction, +}) { + return preview.transform().map( + (p) => buildWidgetPreview( + packageName: packageName, + scriptUri: scriptUri, + transformedPreview: p, + previewFunction: previewFunction, + ), + ); +} + +WidgetPreview buildWidgetPreview({ + required String packageName, + required String scriptUri, + required Preview transformedPreview, + required Object? Function() previewFunction, +}) { + Widget Function() previewBuilder; + if (previewFunction is WidgetBuilder Function()) { + previewBuilder = () { + return Builder(builder: previewFunction()); + }; + } else { + previewBuilder = previewFunction as Widget Function(); + } + return WidgetPreview( + builder: previewBuilder, + scriptUri: scriptUri, + previewData: transformedPreview, + packageName: packageName, + ); +} + +WidgetPreview buildWidgetPreviewError({ + required String packageName, + required String scriptUri, + required String packageUri, + required String functionName, + required bool dependencyHasErrors, +}) { + var errorMessage = '$packageUri has errors!'; + if (dependencyHasErrors) { + errorMessage = 'Dependency of $errorMessage'; + } + return WidgetPreview( + builder: () => Text('$functionName: $errorMessage'), + scriptUri: scriptUri, + previewData: const Preview(group: 'Invalid Previews'), + packageName: packageName, + ); +} /// Returns a [TextStyle] with [FontFeature.proportionalFigures] applied to /// fix blurry text. @@ -31,3 +90,44 @@ class VerticalSpacer extends StatelessWidget { return const SizedBox(height: 10); } } + +/// A basic horizontal spacer. +class HorizontalSpacer extends StatelessWidget { + /// Creates a basic vertical spacer. + const HorizontalSpacer({super.key}); + + @override + Widget build(BuildContext context) { + return const SizedBox(width: 10); + } +} + +/// A widget that explicitly responds to hot reload events. +/// +/// Hot reload will always result in [reassemble] being called. +class HotReloadListener extends StatefulWidget { + const HotReloadListener({ + super.key, + required this.onHotReload, + required this.child, + }); + + final VoidCallback onHotReload; + final Widget child; + + @override + HotReloadListenerState createState() => HotReloadListenerState(); +} + +class HotReloadListenerState extends State { + @override + void reassemble() { + super.reassemble(); + widget.onHotReload(); + } + + @override + Widget build(BuildContext context) { + return widget.child; + } +} diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview.dart index bd55c12077524..2c4af1eddf541 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview.dart @@ -6,30 +6,40 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/widget_previews.dart'; import 'package:flutter/widgets.dart'; +/// A group of [WidgetPreview] instances sharing the same group name. +class WidgetPreviewGroup { + const WidgetPreviewGroup({required this.name, required this.previews}); + + /// Returns `false` if the group has no previews. + /// + /// This can happen if a filter is applied that results in no previews matching + /// the filter being part of the group. + bool get hasPreviews => previews.isNotEmpty; + + /// The name of the group, as specified by the 'group' parameter in [Preview]. + final String name; + + /// The set of preview instances which are part of a group with a given [name]. + final List previews; +} + /// Wraps a [Widget], initializing various state and properties to allow for /// previewing of the [Widget] in the widget previewer. -/// -/// WARNING: This interface is not stable and **will change**. -/// -/// See also: -/// -/// * [Preview], an annotation class used to mark functions returning widget -/// previews. -// TODO(bkonyi): link to actual documentation when available. class WidgetPreview { /// Wraps [builder] in a [WidgetPreview] instance that applies some set of /// properties. const WidgetPreview({ required this.builder, - this.packageName, - this.name, - this.size, - this.textScaleFactor, - this.brightness, - this.theme, - this.localizations, + required this.scriptUri, + required this.previewData, + required this.packageName, }); + /// The absolute file:// URI pointing to the script containing this preview. + /// + /// This matches the URI format sent by IDEs for active location change events. + final String scriptUri; + /// The name of the package in which a preview was defined. /// /// For example, if a preview is defined in 'package:foo/src/bar.dart', this @@ -39,11 +49,23 @@ class WidgetPreview { /// A description to be displayed alongside the preview. /// /// If not provided, no name will be associated with the preview. - final String? name; + String? get name => previewData.name; /// A callback to build the [Widget] to be rendered in the preview. final Widget Function() builder; + Widget Function() get previewBuilder { + if (previewData.wrapper == null) { + return builder; + } + return switch (previewData) { + Preview(:final Widget Function(Widget) wrapper) => () => wrapper( + builder(), + ), + _ => builder, + }; + } + /// Artificial constraints to be applied to the previewed widget. /// /// If not provided, the previewed widget will attempt to set its own @@ -51,30 +73,33 @@ class WidgetPreview { /// /// If a dimension has a value of `double.infinity`, the previewed widget /// will attempt to set its own constraints in the relevant dimension. - final Size? size; + Size? get size => previewData.size; /// Applies font scaling to text within the [Widget] returned by [builder]. /// /// If not provided, the default text scaling factor provided by [MediaQuery] /// will be used. - final double? textScaleFactor; + double? get textScaleFactor => previewData.textScaleFactor; /// Material and Cupertino theming data to be applied to the previewed [Widget]. /// /// If not provided, the default theme will be used. - final PreviewThemeData? theme; + PreviewThemeData? get theme => previewData.theme?.call(); /// Sets the initial theme brightness. /// /// If not provided, the current system default brightness will be used. - final Brightness? brightness; + Brightness? get brightness => previewData.brightness; /// A callback to return a localization configuration to be applied to the /// previewed [Widget]. /// /// Note: this must be a reference to a static, public function defined as /// either a top-level function or static member in a class. - final PreviewLocalizationsData? localizations; + PreviewLocalizationsData? get localizations => + previewData.localizations?.call(); + + final Preview previewData; void debugFillProperties(DiagnosticPropertiesBuilder properties) { properties diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview_rendering.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview_rendering.dart index e5e753cf8a058..77255dad39327 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview_rendering.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview_rendering.dart @@ -17,10 +17,10 @@ import 'package:stack_trace/stack_trace.dart'; import 'package:url_launcher/url_launcher.dart'; import 'controls.dart'; -import 'dtd/dtd_services.dart'; import 'generated_preview.dart'; import 'utils.dart'; import 'widget_preview.dart'; +import 'widget_preview_scaffold_controller.dart'; /// Displayed when an unhandled exception is thrown when initializing the widget /// tree for a preview (i.e., before the build phase). @@ -146,8 +146,8 @@ class NoPreviewsDetectedWidget extends StatelessWidget { } } -class Preview extends StatelessWidget { - const Preview({super.key, required this.preview, required this.child}); +class PreviewWidget extends StatelessWidget { + const PreviewWidget({super.key, required this.preview, required this.child}); final WidgetPreview preview; final Widget child; @@ -173,6 +173,84 @@ class Preview extends StatelessWidget { } } +class WidgetPreviewGroupWidget extends StatelessWidget { + const WidgetPreviewGroupWidget({ + super.key, + required this.controller, + required this.group, + }); + + final WidgetPreviewScaffoldController controller; + final WidgetPreviewGroup group; + + // Spacing values for the grid layout + static const _gridSpacing = 8.0; + static const _gridRunSpacing = 8.0; + + /// The default radius of a Material 3 `Card`, as per documentation for `Card.shape`. + // TODO(bkonyi): inherit this from the theme. + static const _kCardRadius = Radius.circular(12); + + Widget _buildGridViewFlex(List previews) { + return Wrap( + spacing: WidgetPreviewGroupWidget._gridSpacing, + runSpacing: WidgetPreviewGroupWidget._gridRunSpacing, + alignment: WrapAlignment.start, + children: [ + for (final WidgetPreview preview in previews) + WidgetPreviewWidget(preview: preview), + ], + ); + } + + Widget _buildVerticalListView(List previews) { + return Column( + children: [ + for (final preview in previews) + Center(child: WidgetPreviewWidget(preview: preview)), + ], + ); + } + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + return Card( + child: ListTileTheme( + data: ListTileTheme.of(context).copyWith( + dense: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.all(_kCardRadius), + ), + ), + child: Theme( + // Prevents divider lines appearing at the top and bottom of the + // expanded ExpansionTile. + data: theme.copyWith(dividerColor: Colors.transparent), + child: ExpansionTile( + key: PageStorageKey(group.name), + title: Text(group.name), + initiallyExpanded: true, + children: [ + ValueListenableBuilder( + valueListenable: controller.layoutTypeListenable, + builder: (context, selectedLayout, _) { + return switch (selectedLayout) { + LayoutType.gridView => _buildGridViewFlex(group.previews), + LayoutType.listView => _buildVerticalListView( + group.previews, + ), + }; + }, + ), + ], + ), + ), + ), + ); + } +} + class WidgetPreviewWidget extends StatefulWidget { const WidgetPreviewWidget({super.key, required this.preview}); @@ -252,9 +330,9 @@ class WidgetPreviewWidgetState extends State { child: WidgetPreviewTheming( theme: widget.preview.theme, child: EnableWidgetInspectorScope( - child: Preview( + child: PreviewWidget( preview: widget.preview, - child: widget.preview.builder(), + child: widget.preview.previewBuilder(), ), ), ), @@ -340,53 +418,55 @@ class WidgetPreviewWidgetState extends State { child: preview, ); + final hasName = widget.preview.name != null; preview = Column( - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, children: [ - if (widget.preview.name != null) ...[ - Text( - widget.preview.name!, - style: fixBlurryText( - TextStyle(fontSize: 16, fontWeight: FontWeight.w300), + if (hasName) + Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Text( + widget.preview.name!, + style: fixBlurryText( + TextStyle(fontSize: 16, fontWeight: FontWeight.w300), + ), ), ), - const VerticalSpacer(), - ], - InteractiveViewerWrapper( - transformationController: transformationController, - child: preview, - ), - const VerticalSpacer(), - Row( - mainAxisSize: MainAxisSize.min, - // If an unhandled exception was caught and we're displaying an error - // widget, these controls should be disabled. - // TODO(bkonyi): improve layout of controls. - children: [ - ZoomControls( - transformationController: transformationController, - enabled: !errorThrownDuringTreeConstruction, - ), - const SizedBox(width: 30), - BrightnessToggleButton( - enabled: !errorThrownDuringTreeConstruction, - brightnessListenable: brightnessListenable, - ), - const SizedBox(width: 10), - SoftRestartButton( - enabled: !errorThrownDuringTreeConstruction, - softRestartListenable: softRestartListenable, - ), - ], + Container( + padding: const EdgeInsets.symmetric( + // TODO(bkonyi): use theming or define global constants. + horizontal: 16.0, + ).add(hasName ? const EdgeInsets.only(top: 8.0) : EdgeInsets.zero), + decoration: hasName + ? BoxDecoration( + border: Border(top: Divider.createBorderSide(context)), + ) + : null, + child: Column( + children: [ + InteractiveViewerWrapper( + transformationController: transformationController, + child: preview, + ), + const VerticalSpacer(), + _WidgetPreviewControlRow( + transformationController: transformationController, + errorThrownDuringTreeConstruction: + errorThrownDuringTreeConstruction, + brightnessListenable: brightnessListenable, + softRestartListenable: softRestartListenable, + ), + ], + ), ), ], ); return Padding( padding: const EdgeInsets.all(16.0), - child: Card( + child: Card.outlined( child: Padding( - padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 16.0), + padding: const EdgeInsets.symmetric(vertical: 16.0), child: preview, ), ), @@ -394,6 +474,46 @@ class WidgetPreviewWidgetState extends State { } } +class _WidgetPreviewControlRow extends StatelessWidget { + const _WidgetPreviewControlRow({ + required this.transformationController, + required this.errorThrownDuringTreeConstruction, + required this.brightnessListenable, + required this.softRestartListenable, + }); + + final TransformationController transformationController; + final bool errorThrownDuringTreeConstruction; + final ValueNotifier brightnessListenable; + final ValueNotifier softRestartListenable; + + @override + Widget build(BuildContext context) { + return Row( + mainAxisSize: MainAxisSize.min, + // If an unhandled exception was caught and we're displaying an error + // widget, these controls should be disabled. + // TODO(bkonyi): improve layout of controls. + children: [ + ZoomControls( + transformationController: transformationController, + enabled: !errorThrownDuringTreeConstruction, + ), + const SizedBox(width: 30), + BrightnessToggleButton( + enabled: !errorThrownDuringTreeConstruction, + brightnessListenable: brightnessListenable, + ), + const SizedBox(width: 10), + SoftRestartButton( + enabled: !errorThrownDuringTreeConstruction, + softRestartListenable: softRestartListenable, + ), + ], + ); + } +} + /// Applies theming defined in [theme] to [child]. class WidgetPreviewTheming extends StatelessWidget { const WidgetPreviewTheming({ @@ -758,176 +878,112 @@ Future mainImpl() async { // individual preview so the widget inspector won't allow for users to select // widgets that make up the widget preview scaffolding. binding.debugExcludeRootWidgetInspector = true; - final WidgetPreviewScaffoldDtdServices dtdServices = - WidgetPreviewScaffoldDtdServices(); - await dtdServices.connect(); + final controller = WidgetPreviewScaffoldController(previews: previews); + await controller.initialize(); runWidget( DisableWidgetInspectorScope( child: binding.wrapWithDefaultView( - WidgetPreviewScaffold(previews: previews, dtdServices: dtdServices), + // Forces the set of previews to be recalculated after a hot reload. + HotReloadListener( + onHotReload: controller.onHotReload, + child: WidgetPreviewScaffold(controller: controller), + ), ), ), ); } -/// Define the Enum for Layout Types -enum LayoutType { gridView, listView } - class WidgetPreviewScaffold extends StatelessWidget { - WidgetPreviewScaffold({ - super.key, - required this.previews, - required this.dtdServices, - }); - - final List Function() previews; - final WidgetPreviewScaffoldDtdServices dtdServices; + const WidgetPreviewScaffold({super.key, required this.controller}); - // Positioning values for positioning the previewer - final double _previewLeftPadding = 60.0; - final double _previewRightPadding = 20.0; + final WidgetPreviewScaffoldController controller; - // Positioning values for the toggle layout buttons - final double _toggleButtonsTopPadding = 20.0; - final double _toggleButtonsLeftPadding = 20.0; - - // Spacing values for the grid layout - final double _gridSpacing = 8.0; - final double _gridRunSpacing = 8.0; - - // Notifier to manage layout state, default to GridView - final ValueNotifier _selectedLayout = ValueNotifier( - LayoutType.gridView, - ); - - // Function to toggle layouts based on enum value - void _toggleLayout(LayoutType layout) { - _selectedLayout.value = layout; - } - - Widget _buildGridViewFlex(List previewList) { - return SingleChildScrollView( - child: Wrap( - spacing: _gridSpacing, - runSpacing: _gridRunSpacing, - alignment: WrapAlignment.start, - children: [ - for (final WidgetPreview preview in previewList) - WidgetPreviewWidget(preview: preview), - ], + @override + Widget build(BuildContext context) { + return MaterialApp( + debugShowCheckedModeBanner: false, + home: Material( + color: Colors.transparent, + child: Column( + children: [ + // Display the previewer + Expanded( + child: Container( + padding: EdgeInsets.all(8.0), + child: WidgetPreviews(controller: controller), + ), + ), + WidgetPreviewControls(controller: controller), + ], + ), ), ); } +} - Widget _buildVerticalListView(List previewList) { - return ListView.builder( - itemCount: previewList.length, - itemBuilder: (context, index) { - final preview = previewList[index]; - return Center(child: WidgetPreviewWidget(preview: preview)); - }, - ); - } +/// The set of controls used to control the preview environment. +class WidgetPreviewControls extends StatelessWidget { + const WidgetPreviewControls({super.key, required this.controller}); - Widget _displayToggleLayoutButtons() { - return Positioned( - top: _toggleButtonsTopPadding, - left: _toggleButtonsLeftPadding, - child: Container( - padding: EdgeInsets.all(8.0), - decoration: BoxDecoration( - color: Colors.grey[300], - borderRadius: BorderRadius.circular(8.0), - ), - child: ValueListenableBuilder( - valueListenable: _selectedLayout, - builder: (context, selectedLayout, _) { - return Column( - children: [ - IconButton( - onPressed: () => _toggleLayout(LayoutType.gridView), - icon: Icon(Icons.grid_on), - color: selectedLayout == LayoutType.gridView - ? Colors.blue - : Colors.black, - ), - IconButton( - onPressed: () => _toggleLayout(LayoutType.listView), - icon: Icon(Icons.view_list), - color: selectedLayout == LayoutType.listView - ? Colors.blue - : Colors.black, - ), - ], - ); - }, - ), - ), - ); - } + static const _controlsPadding = 20.0; + final WidgetPreviewScaffoldController controller; - Widget _hotRestartPreviewerButton() { + @override + Widget build(BuildContext context) { return Container( - alignment: Alignment.topRight, padding: EdgeInsets.only( - top: _toggleButtonsTopPadding, - right: _toggleButtonsLeftPadding, + bottom: _controlsPadding, + left: _controlsPadding, + right: _controlsPadding, + ), + child: Row( + children: [ + LayoutTypeSelector(controller: controller), + HorizontalSpacer(), + FilterBySelectedFileToggle(controller: controller), + Spacer(), + WidgetPreviewerRestartButton(controller: controller), + ], ), - child: WidgetPreviewerRestartButton(dtdServices: dtdServices), ); } +} - Widget _displayPreviewer(Widget previewView) { - return Positioned.fill( - left: _previewLeftPadding, - right: _previewRightPadding, - child: Container(padding: EdgeInsets.all(8.0), child: previewView), - ); - } +/// Renders the set of currently selected widget previews. +class WidgetPreviews extends StatelessWidget { + const WidgetPreviews({super.key, required this.controller}); + + final WidgetPreviewScaffoldController controller; @override Widget build(BuildContext context) { - final List previewList = previews(); - Widget previewView; - if (previewList.isEmpty) { - previewView = Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [NoPreviewsDetectedWidget()], - ); - } else { - previewView = LayoutBuilder( - builder: (BuildContext context, BoxConstraints constraints) { - return WidgetPreviewerWindowConstraints( - constraints: constraints, - child: ValueListenableBuilder( - valueListenable: _selectedLayout, - builder: (context, selectedLayout, _) { - return switch (selectedLayout) { - LayoutType.gridView => _buildGridViewFlex(previewList), - LayoutType.listView => _buildVerticalListView(previewList), - }; - }, - ), + return ValueListenableBuilder( + valueListenable: controller.filteredPreviewSetListenable, + builder: (context, previewGroups, _) { + if (previewGroups.isEmpty) { + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [NoPreviewsDetectedWidget()], ); - }, - ); - } - - return MaterialApp( - debugShowCheckedModeBanner: false, - home: Material( - color: Colors.transparent, - child: Stack( - children: [ - // Display the previewer - _displayPreviewer(previewView), - // Display the layout toggle buttons - _displayToggleLayoutButtons(), - // Display the global hot restart button - _hotRestartPreviewerButton(), - ], - ), - ), + } + return LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + final previewGroupsList = previewGroups.toList(); + return WidgetPreviewerWindowConstraints( + constraints: constraints, + child: ListView.builder( + itemCount: previewGroups.length, + itemBuilder: (context, index) { + return WidgetPreviewGroupWidget( + controller: controller, + group: previewGroupsList[index], + ); + }, + ), + ); + }, + ); + }, ); } } diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview_scaffold_controller.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview_scaffold_controller.dart new file mode 100644 index 0000000000000..7bc91739aa595 --- /dev/null +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/lib/src/widget_preview_scaffold_controller.dart @@ -0,0 +1,141 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/foundation.dart'; +import 'package:path/path.dart' as path; +import 'dtd/dtd_services.dart'; +import 'widget_preview.dart'; + +/// Define the Enum for Layout Types +enum LayoutType { gridView, listView } + +typedef WidgetPreviews = Iterable; +typedef WidgetPreviewGroups = Iterable; +typedef PreviewsCallback = WidgetPreviews Function(); + +/// Controller used to process events and determine which previews should be +/// displayed and how they should be displayed in the [WidgetPreviewScaffold]. +class WidgetPreviewScaffoldController { + WidgetPreviewScaffoldController({ + required PreviewsCallback previews, + @visibleForTesting WidgetPreviewScaffoldDtdServices? dtdServicesOverride, + }) : _previews = previews, + dtdServices = dtdServicesOverride ?? WidgetPreviewScaffoldDtdServices(); + + /// Initializes the controller by establishing a connection to DTD and + /// listening for events. + Future initialize() async { + await dtdServices.connect(); + context = path.Context( + style: dtdServices.isWindows ? path.Style.windows : path.Style.posix, + ); + _registerListeners(); + } + + /// Cleanup internal controller state. + Future dispose() async { + await dtdServices.dispose(); + + _layoutType.dispose(); + _filterBySelectedFile.dispose(); + } + + /// Update state after the project has been reassembled due to a hot reload. + void onHotReload() { + _updateFilteredPreviewSet(); + } + + /// The active DTD connection used to communicate with other developer tooling. + final WidgetPreviewScaffoldDtdServices dtdServices; + + final PreviewsCallback _previews; + + late final path.Context context; + + /// Specifies how the previews should be laid out. + ValueListenable get layoutTypeListenable => _layoutType; + final _layoutType = ValueNotifier(LayoutType.gridView); + + LayoutType get layoutType => _layoutType.value; + set layoutType(LayoutType type) => _layoutType.value = type; + + /// Specifies if only previews from the currently selected source file should be rendered. + ValueListenable get filterBySelectedFileListenable => + _filterBySelectedFile; + final _filterBySelectedFile = ValueNotifier(true); + + /// Enable or disable filtering by selected source file. + void toggleFilterBySelectedFile() { + _filterBySelectedFile.value = !_filterBySelectedFile.value; + } + + /// The current set of previews to be displayed. + ValueListenable get filteredPreviewSetListenable => + _filteredPreviewSet; + final _filteredPreviewSet = ValueNotifier([]); + + void _registerListeners() { + dtdServices.selectedSourceFile.addListener(_updateFilteredPreviewSet); + filterBySelectedFileListenable.addListener(_updateFilteredPreviewSet); + // Set the initial state. + _updateFilteredPreviewSet(initial: true); + } + + void _updateFilteredPreviewSet({bool initial = false}) { + final previews = _previews(); + final previewGroups = {}; + for (final preview in previews) { + final group = preview.previewData.group; + previewGroups + .putIfAbsent( + group, + () => WidgetPreviewGroup(name: group, previews: []), + ) + .previews + .add(preview); + } + + // When we set the initial preview set, we always display all previews, + // regardless of selection mode as we're unable to query the currently + // selected file. + // + // This special case can be removed when https://github.com/dart-lang/sdk/issues/61538 + // is resolved. + // TODO(bkonyi): remove special case + if (!_filterBySelectedFile.value || initial) { + _filteredPreviewSet.value = previewGroups.values; + return; + } + // If filtering by selected file, we don't update the filtered preview set + // if the currently selected file is null. This can happen when a non-source + // window is selected (e.g., the widget previewer itself in VSCode), so we + // ignore these updates. + final selectedSourceFile = dtdServices.selectedSourceFile.value; + if (selectedSourceFile != null) { + // Convert to a file path for comparing to avoid issues with optional encoding in URIs. + // See https://github.com/flutter/flutter/issues/175524. + final selectedSourcePath = context.fromUri( + selectedSourceFile.uriAsString, + ); + _filteredPreviewSet.value = previewGroups.values + .map( + (group) => WidgetPreviewGroup( + name: group.name, + previews: group.previews + .where( + (preview) => context.equals( + // TODO(bkonyi): we can probably save some cycles by caching the file path + // rather than computing it on each filter. + context.fromUri(preview.scriptUri), + selectedSourcePath, + ), + ) + .toList(), + ), + ) + .where((group) => group.hasPreviews) + .toList(); + } + } +} diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/pubspec.yaml b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/pubspec.yaml index 59535fa756e7b..51c33b5b64ce8 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/pubspec.yaml +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/pubspec.yaml @@ -14,7 +14,8 @@ dependencies: # These will be replaced with proper constraints after the template is hydrated. dtd: 2.5.1 flutter_lints: 6.0.0 - google_fonts: 6.2.1 + google_fonts: 6.3.1 + path: 1.9.1 stack_trace: 1.12.1 url_launcher: 6.3.2 @@ -27,17 +28,16 @@ dependencies: crypto: 3.0.6 fake_async: 1.3.3 file: 7.0.1 - http: 1.4.0 + http: 1.5.0 http_parser: 4.1.2 json_rpc_2: 3.0.3 - leak_tracker: 11.0.1 + leak_tracker: 11.0.2 leak_tracker_flutter_testing: 3.0.10 leak_tracker_testing: 3.0.2 lints: 6.0.0 matcher: 0.12.17 material_color_utilities: 0.11.1 meta: 1.17.0 - path: 1.9.1 plugin_platform_interface: 2.1.8 source_span: 1.10.1 stream_channel: 2.1.4 @@ -46,10 +46,10 @@ dependencies: test_api: 0.7.7 typed_data: 1.4.0 unified_analytics: 8.0.1 - url_launcher_android: 6.3.16 - url_launcher_ios: 6.3.3 + url_launcher_android: 6.3.22 + url_launcher_ios: 6.3.4 url_launcher_linux: 3.2.1 - url_launcher_macos: 3.2.2 + url_launcher_macos: 3.2.3 url_launcher_platform_interface: 2.3.2 url_launcher_web: 2.4.1 url_launcher_windows: 3.1.4 @@ -62,4 +62,4 @@ dependencies: flutter: uses-material-design: true -# PUBSPEC CHECKSUM: patulg +# PUBSPEC CHECKSUM: c9leee diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/custom_previews_test.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/custom_previews_test.dart new file mode 100644 index 0000000000000..657511bc92b06 --- /dev/null +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/custom_previews_test.dart @@ -0,0 +1,111 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/widget_previews.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:widget_preview_scaffold/src/utils.dart'; +import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart'; + +import 'utils/widget_preview_scaffold_test_utils.dart'; + +base class BrightnessPreview extends MultiPreview { + const BrightnessPreview({required this.name}); + + final String name; + + @override + final previews = const [ + FixedSizePreview(brightness: Brightness.light), + FixedSizePreview(brightness: Brightness.dark), + ]; + + static bool wrapperInvoked = false; + + Widget _wrapper(Widget child) { + wrapperInvoked = true; + return Container(child: child); + } + + @override + List transform() { + final parentPreviews = super.transform(); + final transformed = []; + for (final preview in parentPreviews) { + final builder = preview.toBuilder() + ..name = + '$name - ${preview.name} - Brightness(${preview.brightness!.name})' + ..addWrapper(_wrapper); + transformed.add(builder.build()); + } + return transformed; + } +} + +base class FixedSizePreview extends Preview { + const FixedSizePreview({super.brightness}) + : super(size: const Size(100, 100)); + + static bool wrapperInvoked = false; + + Widget _wrapper(Widget child) { + wrapperInvoked = true; + return Container(child: child); + } + + @override + Preview transform() { + final parent = super.transform(); + final builder = parent.toBuilder() + ..name = 'Fixed Size' + ..addWrapper(_wrapper); + return builder.build(); + } +} + +WidgetPreviewerWidgetScaffolding previewsForCustomMultiPreview() { + final previews = buildMultiWidgetPreview( + packageName: '', + scriptUri: '', + preview: BrightnessPreview(name: 'MyPreview'), + previewFunction: () => Text('Foo'), + ); + return WidgetPreviewerWidgetScaffolding( + child: Column( + children: [...previews.map((e) => WidgetPreviewWidget(preview: e))], + ), + ); +} + +void main() { + testWidgets('Custom preview annotations are properly transformed and rendered', ( + tester, + ) async { + WidgetPreviewerWidgetScaffolding widgetPreview = + previewsForCustomMultiPreview(); + await tester.pumpWidget(widgetPreview); + // This test mimics applying @BrightnessPreview(name: 'MyPreview'), which expands into two + // transformed instances of FixedSizePreview. + // + // This involves two transformation steps (in this order): + // - `FixedSizePreview.transform()`, which performs the initial transformation which sets + // the name of the transformed preview to 'Fixed Size' and adds a wrapper. + // - `BrightnessPreview.transform()` processes the two transformed `FixedSizePreview` + // instances, adding another wrapper around each child preview and setting the name to + // 'MyPreview - ${fixedPreview.name} - Brightness(${brightness.name})'. + expect( + find.text('MyPreview - Fixed Size - Brightness(light)'), + findsOneWidget, + ); + expect( + find.text('MyPreview - Fixed Size - Brightness(dark)'), + findsOneWidget, + ); + + // Verifies that the wrapper callbacks are actually invoked. + expect(FixedSizePreview.wrapperInvoked, true); + expect(BrightnessPreview.wrapperInvoked, true); + }); +} diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/filter_by_selected_file_test.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/filter_by_selected_file_test.dart new file mode 100644 index 0000000000000..addab3a062daf --- /dev/null +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/filter_by_selected_file_test.dart @@ -0,0 +1,190 @@ +// Copyright 2014 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; +import 'package:flutter/widget_previews.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:path/path.dart' as path; +import 'package:widget_preview_scaffold/src/controls.dart'; +import 'package:widget_preview_scaffold/src/dtd/editor_service.dart'; +import 'package:widget_preview_scaffold/src/widget_preview.dart'; +import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart'; + +import 'utils/widget_preview_scaffold_test_utils.dart'; + +Future testImpl({ + required WidgetTester tester, + required Uri script1Uri, + required Uri script2Uri, + required String textEditorScript1Uri, + required String textEditorScript2Uri, + required bool isWindows, +}) async { + // Use a Context to handle platform-specific strangeness around paths. + final context = path.Context( + style: isWindows ? path.Style.windows : path.Style.posix, + ); + final dtdServices = FakeWidgetPreviewScaffoldDtdServices( + isWindows: isWindows, + ); + final previews = [ + WidgetPreview( + builder: () => Text('widget1'), + scriptUri: script1Uri.toString(), + previewData: Preview(group: 'group'), + packageName: '', + ), + WidgetPreview( + builder: () => Text('widget2'), + scriptUri: script2Uri.toString(), + previewData: Preview(group: 'group'), + packageName: '', + ), + ]; + final controller = FakeWidgetPreviewScaffoldController( + dtdServicesOverride: dtdServices, + previews: previews, + ); + await controller.initialize(); + final WidgetPreviewScaffold widgetPreview = WidgetPreviewScaffold( + controller: controller, + ); + + // No file is selected, so all previews should be visible until + // https://github.com/dart-lang/sdk/issues/61538 is resolved. + await tester.pumpWidget(widgetPreview); + expect(controller.filterBySelectedFileListenable.value, true); + expect(dtdServices.selectedSourceFile.value, isNull); + expect(controller.filteredPreviewSetListenable.value, hasLength(1)); + expect( + controller.filteredPreviewSetListenable.value.single.previews, + hasLength(2), + ); + + // Select textEditorScript1Uri + dtdServices.selectedSourceFile.value = TextDocument( + uriAsString: textEditorScript1Uri, + version: 0, + ); + await tester.pumpWidget(widgetPreview); + + // Verify only previews from script1Uri are displayed. + expect( + context.equals( + context.fromUri(dtdServices.selectedSourceFile.value!.uriAsString), + context.fromUri(script1Uri), + ), + true, + ); + expect( + controller + .filteredPreviewSetListenable + .value + .single + .previews + .single + .scriptUri, + script1Uri.toString(), + ); + + // Select a 'null' script. This simulates focusing on a non-source file + // (e.g., the embedded widget previewer). + dtdServices.selectedSourceFile.value = null; + + // Verify the selected source file is null but previews from script1Uri are + // still displayed. + expect(dtdServices.selectedSourceFile.value?.uriAsString, null); + expect( + controller + .filteredPreviewSetListenable + .value + .single + .previews + .single + .scriptUri, + script1Uri.toString(), + ); + + // Select textEditorScript2Uri + dtdServices.selectedSourceFile.value = TextDocument( + uriAsString: textEditorScript2Uri, + version: 0, + ); + await tester.pumpWidget(widgetPreview); + + // Verify only previews from script2Uri are displayed. + expect( + context.equals( + context.fromUri(dtdServices.selectedSourceFile.value!.uriAsString), + context.fromUri(script2Uri), + ), + true, + ); + expect( + controller + .filteredPreviewSetListenable + .value + .single + .previews + .single + .scriptUri, + script2Uri.toString(), + ); + + final Finder filterBySelectedFileToggle = find.byType( + FilterBySelectedFileToggle, + ); + + // Press the "Filter by selected file" button and disable preview filtering. + expect(controller.filterBySelectedFileListenable.value, true); + await tester.tap(filterBySelectedFileToggle); + expect(controller.filterBySelectedFileListenable.value, false); + // Verify the currently selected source is still script2Uri but all previews are displayed. + expect( + context.equals( + context.fromUri(dtdServices.selectedSourceFile.value!.uriAsString), + context.fromUri(script2Uri), + ), + true, + ); + expect(controller.filteredPreviewSetListenable.value, hasLength(1)); + expect( + controller.filteredPreviewSetListenable.value.single.previews, + previews, + ); +} + +void main() { + testWidgets('Filter previews based on currently selected file (POSIX)', ( + tester, + ) async { + final kScript1 = Uri.parse('file:///script1'); + final kScript2 = Uri.parse('file:///script2'); + await testImpl( + tester: tester, + script1Uri: kScript1, + script2Uri: kScript2, + textEditorScript1Uri: kScript1.toString(), + textEditorScript2Uri: kScript2.toString(), + isWindows: false, + ); + }); + testWidgets('Filter previews based on currently selected file (Windows)', ( + tester, + ) async { + // Regression test for https://github.com/flutter/flutter/issues/175524 + final kScript1 = Uri.parse('file:///c:/script1'); + final kScript2 = Uri.parse('file:///C:/script2'); + const kTextEditorScript1 = 'file:///C%3A/script1'; + const kTextEditorScript2 = 'file:///c%3A/script2'; + await testImpl( + tester: tester, + script1Uri: kScript1, + script2Uri: kScript2, + textEditorScript1Uri: kTextEditorScript1, + textEditorScript2Uri: kTextEditorScript2, + isWindows: true, + ); + }); +} diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/hot_restart_test.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/hot_restart_test.dart index f441040351c42..9920cfa355afb 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/hot_restart_test.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/hot_restart_test.dart @@ -2,10 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:widget_preview_scaffold/src/controls.dart'; -import 'package:widget_preview_scaffold/src/widget_preview.dart'; import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart'; import 'utils/widget_preview_scaffold_test_utils.dart'; @@ -16,12 +14,10 @@ void main() { (tester) async { final FakeWidgetPreviewScaffoldDtdServices dtdServices = FakeWidgetPreviewScaffoldDtdServices(); - const String kTestText = 'Foo'; final WidgetPreviewScaffold widgetPreview = WidgetPreviewScaffold( - dtdServices: dtdServices, - previews: () => [ - WidgetPreview(builder: () => const Text(kTestText)), - ], + controller: FakeWidgetPreviewScaffoldController( + dtdServicesOverride: dtdServices, + ), ); await tester.pumpWidget(widgetPreview); diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/localizations_test.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/localizations_test.dart index 5310a4cdf6860..57aea50543d0f 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/localizations_test.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/localizations_test.dart @@ -7,7 +7,8 @@ import 'package:flutter/material.dart'; import 'package:flutter/widget_previews.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:widget_preview_scaffold/src/widget_preview.dart'; -import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart'; +import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart' + hide PreviewWidget; import 'utils/localizations_utils.dart'; import 'utils/widget_preview_scaffold_test_utils.dart'; @@ -30,13 +31,15 @@ void expectLocalization({ WidgetPreviewerWidgetScaffolding previewForLocalizations({ required Key key, - PreviewLocalizationsData? previewLocalizationsData, + PreviewLocalizations? previewLocalizationsData, }) { return WidgetPreviewerWidgetScaffolding( child: WidgetPreviewWidget( preview: WidgetPreview( + scriptUri: '', builder: () => Text('Foo', key: key), - localizations: previewLocalizationsData, + previewData: Preview(localizations: previewLocalizationsData), + packageName: '', ), ), ); @@ -52,7 +55,7 @@ void main() { // Check that both en and es localizations are available to the previewed widget. WidgetPreviewerWidgetScaffolding widgetPreview = previewForLocalizations( key: key, - previewLocalizationsData: previewLocalizationsData, + previewLocalizationsData: () => previewLocalizationsData, ); await tester.pumpWidget(widgetPreview); @@ -64,7 +67,7 @@ void main() { previewLocalizationsData = forLocale('es'); widgetPreview = previewForLocalizations( key: key, - previewLocalizationsData: previewLocalizationsData, + previewLocalizationsData: () => previewLocalizationsData, ); await tester.pumpWidget(widgetPreview); diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/no_previews_detected_test.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/no_previews_detected_test.dart index 4781203e98315..91ddbe2b9b097 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/no_previews_detected_test.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/no_previews_detected_test.dart @@ -2,11 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/widget_previews.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:widget_preview_scaffold/src/dtd/dtd_services.dart'; import 'package:widget_preview_scaffold/src/widget_preview.dart'; -import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart'; +import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart' + hide PreviewWidget; +import 'package:widget_preview_scaffold/src/widget_preview_scaffold_controller.dart'; import 'utils/widget_preview_scaffold_test_utils.dart'; @@ -14,20 +16,27 @@ void main() { testWidgets( 'Help message is displayed with link to documentation when no previews are detected', (tester) async { - final WidgetPreviewScaffoldDtdServices dtdServices = - FakeWidgetPreviewScaffoldDtdServices(); + final currentPreviews = []; + + final controller = WidgetPreviewScaffoldController( + dtdServicesOverride: FakeWidgetPreviewScaffoldDtdServices(), + previews: () => currentPreviews, + ); + + if (controller.filterBySelectedFileListenable.value) { + // Don't filter by selected file. + controller.toggleFilterBySelectedFile(); + } // Start with no previews populated and verify the help message is displayed with a link to // documentation. - await tester.pumpWidget( - WidgetPreviewScaffold( - dtdServices: dtdServices, - previews: () => const [], - ), - ); + await tester.pumpWidget(WidgetPreviewScaffold(controller: controller)); final Finder noPreviewDetectedFinder = find.byType( NoPreviewsDetectedWidget, ); + final Finder widgetPreviewGroupWidgetFinder = find.byType( + WidgetPreviewGroupWidget, + ); final Finder widgetPreviewWidgetFinder = find.byType(WidgetPreviewWidget); final Finder documentationUrlFinder = find.text( NoPreviewsDetectedWidget.documentationUrl.toString(), @@ -35,21 +44,28 @@ void main() { expect(noPreviewDetectedFinder, findsOne); expect(documentationUrlFinder, findsOne); + expect(widgetPreviewGroupWidgetFinder, findsNothing); expect(widgetPreviewWidgetFinder, findsNothing); - // Add previews and verify the help message is gone. - await tester.pumpWidget( - WidgetPreviewScaffold( - dtdServices: dtdServices, - previews: () => [ - WidgetPreview(builder: () => const Text('Foo')), - ], + currentPreviews.add( + WidgetPreview( + scriptUri: '', + builder: () => const Text('Foo'), + previewData: Preview(), + packageName: '', ), ); + // Fake a hot reload. + controller.onHotReload(); + + // Add previews and verify the help message is gone. + await tester.pumpWidget(WidgetPreviewScaffold(controller: controller)); + expect(noPreviewDetectedFinder, findsNothing); expect(documentationUrlFinder, findsNothing); expect(widgetPreviewWidgetFinder, findsOne); + expect(widgetPreviewGroupWidgetFinder, findsOne); }, ); } diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/soft_restart_test.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/soft_restart_test.dart index db2c5f667627a..8a0587cef7679 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/soft_restart_test.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/soft_restart_test.dart @@ -4,11 +4,13 @@ import 'dart:async'; +import 'package:flutter/widget_previews.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:widget_preview_scaffold/src/controls.dart'; import 'package:widget_preview_scaffold/src/widget_preview.dart'; -import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart'; +import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart' + hide PreviewWidget; import 'utils/widget_preview_scaffold_test_utils.dart'; @@ -20,7 +22,12 @@ void main() { final WidgetPreviewerWidgetScaffolding widgetPreview = WidgetPreviewerWidgetScaffolding( child: WidgetPreviewWidget( - preview: WidgetPreview(builder: () => const Text(kTestText)), + preview: WidgetPreview( + scriptUri: '', + builder: () => const Text(kTestText), + previewData: Preview(), + packageName: '', + ), ), ); diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/theming_test.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/theming_test.dart index 0987484eea26e..013219c6b99f3 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/theming_test.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/theming_test.dart @@ -48,15 +48,16 @@ WidgetPreviewerWidgetScaffolding previewForBrightness({ required Key key, Brightness? brightness, Brightness? platformBrightness, - PreviewThemeData? previewThemeData, + PreviewTheme? previewTheme, }) { return WidgetPreviewerWidgetScaffolding( platformBrightness: platformBrightness ?? Brightness.light, child: WidgetPreviewWidget( preview: WidgetPreview( + scriptUri: '', builder: () => Text('Foo', key: key), - theme: previewThemeData, - brightness: brightness, + previewData: Preview(theme: previewTheme, brightness: brightness), + packageName: '', ), ), ); @@ -85,7 +86,7 @@ void main() { WidgetPreviewerWidgetScaffolding widgetPreview = previewForBrightness( key: key, brightness: Brightness.light, - previewThemeData: previewThemeData, + previewTheme: () => previewThemeData, ); await tester.pumpWidget(widgetPreview); @@ -99,7 +100,7 @@ void main() { widgetPreview = previewForBrightness( key: key, brightness: Brightness.dark, - previewThemeData: previewThemeData, + previewTheme: () => previewThemeData, ); await tester.pumpWidget(widgetPreview); @@ -147,7 +148,7 @@ void main() { WidgetPreviewerWidgetScaffolding widgetPreview = previewForBrightness( key: key, brightness: Brightness.light, - previewThemeData: previewThemeData, + previewTheme: () => previewThemeData, ); await tester.pumpWidget(widgetPreview); @@ -188,7 +189,7 @@ void main() { // Start with no explicit brightness set. This should use the system brightness (light). WidgetPreviewerWidgetScaffolding widgetPreview = previewForBrightness( key: key, - previewThemeData: previewThemeData, + previewTheme: () => previewThemeData, ); await tester.pumpWidget(widgetPreview); @@ -233,7 +234,7 @@ void main() { // Set an initial brightness for the preview to 'light'. widgetPreview = previewForBrightness( key: key, - previewThemeData: previewThemeData, + previewTheme: () => previewThemeData, brightness: Brightness.light, ); await tester.pumpWidget(widgetPreview); @@ -253,7 +254,7 @@ void main() { // cause the preview to use the dark theme. widgetPreview = previewForBrightness( key: key, - previewThemeData: previewThemeData, + previewTheme: () => previewThemeData, brightness: Brightness.dark, ); await tester.pumpWidget(widgetPreview); diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/utils/widget_preview_scaffold_test_utils.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/utils/widget_preview_scaffold_test_utils.dart index be55ecf978335..457347ae9e164 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/utils/widget_preview_scaffold_test_utils.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/utils/widget_preview_scaffold_test_utils.dart @@ -5,7 +5,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:widget_preview_scaffold/src/dtd/dtd_services.dart'; +import 'package:widget_preview_scaffold/src/dtd/editor_service.dart'; +import 'package:widget_preview_scaffold/src/widget_preview.dart'; import 'package:widget_preview_scaffold/src/widget_preview_rendering.dart'; +import 'package:widget_preview_scaffold/src/widget_preview_scaffold_controller.dart'; class WidgetPreviewerWidgetScaffolding extends StatelessWidget { WidgetPreviewerWidgetScaffolding({ @@ -54,11 +57,42 @@ class WidgetPreviewerWidgetScaffolding extends StatelessWidget { } class FakeWidgetPreviewScaffoldDtdServices extends Fake + with DtdEditorService implements WidgetPreviewScaffoldDtdServices { + FakeWidgetPreviewScaffoldDtdServices({this.isWindows = false}); + + @override + Future connect({Uri? dtdUri}) async {} + + @override + Future dispose() async { + super.dispose(); + } + bool hotRestartInvoked = false; @override Future hotRestartPreviewer() async { hotRestartInvoked = true; } + + @override + final bool isWindows; + + /// The currently selected source file in the IDE. + @override + final ValueNotifier selectedSourceFile = + ValueNotifier(null); +} + +class FakeWidgetPreviewScaffoldController + extends WidgetPreviewScaffoldController { + FakeWidgetPreviewScaffoldController({ + WidgetPreviewScaffoldDtdServices? dtdServicesOverride, + List? previews, + }) : super( + previews: () => previews ?? [], + dtdServicesOverride: + dtdServicesOverride ?? FakeWidgetPreviewScaffoldDtdServices(), + ); } diff --git a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/widget_inspector_test.dart b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/widget_inspector_test.dart index 396d267cca359..6327bc3cca97b 100644 --- a/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/widget_inspector_test.dart +++ b/packages/flutter_tools/test/widget_preview_scaffold.shard/widget_preview_scaffold/test/widget_inspector_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'package:flutter/widget_previews.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:widget_preview_scaffold/src/widget_preview.dart'; @@ -22,7 +23,12 @@ void main() { children: [ for (int i = 0; i < kNumPreviewedWidgets; ++i) WidgetPreviewWidget( - preview: WidgetPreview(builder: () => Text('$kTestText$i')), + preview: WidgetPreview( + scriptUri: '', + builder: () => Text('$kTestText$i'), + previewData: Preview(), + packageName: '', + ), ), ], ), diff --git a/packages/integration_test/lib/common.dart b/packages/integration_test/lib/common.dart index 4fc134c32dee4..cc31bce1f462e 100644 --- a/packages/integration_test/lib/common.dart +++ b/packages/integration_test/lib/common.dart @@ -72,7 +72,7 @@ class Response { String toJson() => json.encode({ 'result': allTestsPassed.toString(), 'failureDetails': _failureDetailsAsString(), - if (data != null) 'data': data, + 'data': ?data, }); /// Deserializes the result from JSON. diff --git a/pubspec.lock b/pubspec.lock index bcecffdb707f4..9998d69a197a6 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: "direct main" description: name: _fe_analyzer_shared - sha256: e55636ed79578b9abca5fecf9437947798f5ef7456308b5cb85720b793eac92f + sha256: dd3d2ad434b9510001d089e8de7556d50c834481b9abc2891a0184a8493a19dc url: "https://pub.dev" source: hosted - version: "82.0.0" + version: "89.0.0" adaptive_breakpoints: dependency: "direct main" description: @@ -29,10 +29,10 @@ packages: dependency: "direct main" description: name: analyzer - sha256: "904ae5bb474d32c38fb9482e2d925d5454cda04ddd0e55d2e6826bc72f6ba8c0" + sha256: c22b6e7726d1f9e5db58c7251606076a71ca0dbcf76116675edfadbec0c9e875 url: "https://pub.dev" source: hosted - version: "7.4.5" + version: "8.2.0" animations: dependency: "direct main" description: @@ -126,10 +126,10 @@ packages: dependency: "direct main" description: name: code_assets - sha256: dd7ed641b7f642092092969f2dcd5845ab31c9f3efead0c06ca437bf9ce8a8b2 + sha256: "3b182b03a2f263ad6ab47cdadf9b64daa1d2d72ac941a277f685fb77ba96cbd5" url: "https://pub.dev" source: hosted - version: "0.19.4" + version: "0.19.6" collection: dependency: "direct main" description: @@ -182,10 +182,10 @@ packages: dependency: "direct main" description: name: dart_style - sha256: "5b236382b47ee411741447c1f1e111459c941ea1b3f2b540dde54c210a3662af" + sha256: c87dfe3d56f183ffe9106a18aebc6db431fc7c98c31a54b952a77f3d54a85697 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.2" device_info: dependency: "direct main" description: @@ -310,10 +310,10 @@ packages: dependency: "direct main" description: name: google_fonts - sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82 + sha256: ebc94ed30fd13cefd397cb1658b593f21571f014b7d1197eeb41fb95f05d899a url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.3.1" google_identity_services_web: dependency: "direct main" description: @@ -350,10 +350,10 @@ packages: dependency: "direct main" description: name: hooks - sha256: "75363eae6c0c2db051c4f6b3b1fcdea8a09c4a596cc83bfff847661da6e80dfc" + sha256: "22abd27b650a571e53576abe732e4d9053aacaaa6dee23e9ff106c63e3e5b96c" url: "https://pub.dev" source: hosted - version: "0.19.5" + version: "0.20.1" html: dependency: "direct main" description: @@ -366,10 +366,10 @@ packages: dependency: "direct main" description: name: http - sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b" + sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007 url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.5.0" http_multi_server: dependency: "direct main" description: @@ -430,10 +430,10 @@ packages: dependency: "direct main" description: name: leak_tracker - sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "11.0.1" + version: "11.0.2" leak_tracker_flutter_testing: dependency: "direct main" description: @@ -510,10 +510,10 @@ packages: dependency: "direct main" description: name: native_toolchain_c - sha256: "74a0c80d877c519bc6bde2c4e27b6b01c1f93c9b480f65ceae8bedd3aba3c086" + sha256: "7e8358a4f6ec69a4f2d366bb971af298aca50d6c2e8a07be7c12d7f6d40460aa" url: "https://pub.dev" source: hosted - version: "0.16.8" + version: "0.17.1" nested: dependency: "direct main" description: @@ -558,18 +558,18 @@ packages: dependency: "direct main" description: name: path_provider_android - sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9 + sha256: "993381400e94d18469750e5b9dcb8206f15bc09f9da86b9e44a9b0092a0066db" url: "https://pub.dev" source: hosted - version: "2.2.17" + version: "2.2.18" path_provider_foundation: dependency: "direct main" description: name: path_provider_foundation - sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" + sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" path_provider_linux: dependency: "direct main" description: @@ -630,18 +630,18 @@ packages: dependency: "direct main" description: name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d" url: "https://pub.dev" source: hosted - version: "1.5.1" + version: "1.5.2" process: dependency: "direct main" description: name: process - sha256: "44b4226c0afd4bc3b7c7e67d44c4801abd97103cf0c84609e2654b664ca2798c" + sha256: c6248e4526673988586e8c00bb22a49210c258dc91df5227d5da9748ecf79744 url: "https://pub.dev" source: hosted - version: "5.0.4" + version: "5.0.5" process_runner: dependency: "direct main" description: @@ -654,10 +654,10 @@ packages: dependency: "direct main" description: name: provider - sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84" + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.dev" source: hosted - version: "6.1.5" + version: "6.1.5+1" pub_semver: dependency: "direct main" description: @@ -867,18 +867,18 @@ packages: dependency: "direct main" description: name: url_launcher_android - sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79" + sha256: "199bc33e746088546a39cc5f36bac5a278c5e53b40cb3196f99e7345fdcfae6b" url: "https://pub.dev" source: hosted - version: "6.3.16" + version: "6.3.22" url_launcher_ios: dependency: "direct main" description: name: url_launcher_ios - sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb" + sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7 url: "https://pub.dev" source: hosted - version: "6.3.3" + version: "6.3.4" url_launcher_linux: dependency: "direct main" description: @@ -891,10 +891,10 @@ packages: dependency: "direct main" description: name: url_launcher_macos - sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" + sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f url: "https://pub.dev" source: hosted - version: "3.2.2" + version: "3.2.3" url_launcher_platform_interface: dependency: "direct main" description: @@ -939,18 +939,18 @@ packages: dependency: "direct main" description: name: video_player_android - sha256: "4a5135754a62dbc827a64a42ef1f8ed72c962e191c97e2d48744225c2b9ebb73" + sha256: "59e5a457ddcc1688f39e9aef0efb62aa845cf0cbbac47e44ac9730dc079a2385" url: "https://pub.dev" source: hosted - version: "2.8.7" + version: "2.8.13" video_player_avfoundation: dependency: "direct main" description: name: video_player_avfoundation - sha256: "9fedd55023249f3a02738c195c906b4e530956191febf0838e37d0dac912f953" + sha256: f9a780aac57802b2892f93787e5ea53b5f43cc57dc107bee9436458365be71cd url: "https://pub.dev" source: hosted - version: "2.8.0" + version: "2.8.4" video_player_platform_interface: dependency: "direct main" description: @@ -987,10 +987,10 @@ packages: dependency: "direct main" description: name: watcher - sha256: "0b7fd4a0bbc4b92641dbf20adfd7e3fd1398fe17102d94b674234563e110088a" + sha256: "5bf046f41320ac97a469d506261797f35254fa61c641741ef32dacda98b7d39c" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" web: dependency: "direct main" description: @@ -1051,18 +1051,18 @@ packages: dependency: "direct main" description: name: webview_flutter_platform_interface - sha256: f0dc2dc3a2b1e3a6abdd6801b9355ebfeb3b8f6cde6b9dc7c9235909c4a1f147 + sha256: "63d26ee3aca7256a83ccb576a50272edd7cfc80573a4305caa98985feb493ee0" url: "https://pub.dev" source: hosted - version: "2.13.1" + version: "2.14.0" webview_flutter_wkwebview: dependency: "direct main" description: name: webview_flutter_wkwebview - sha256: "71523b9048cf510cfa1fd4e0a3fa5e476a66e0884d5df51d59d5023dba237107" + sha256: fea63576b3b7e02b2df8b78ba92b48ed66caec2bb041e9a0b1cbd586d5d80bfd url: "https://pub.dev" source: hosted - version: "3.22.1" + version: "3.23.1" xdg_directories: dependency: "direct main" description: @@ -1096,5 +1096,5 @@ packages: source: hosted version: "2.2.2" sdks: - dart: ">=3.9.0-21.0.dev <4.0.0" - flutter: ">=3.29.0" + dart: ">=3.9.0 <4.0.0" + flutter: ">=3.35.0" diff --git a/pubspec.yaml b/pubspec.yaml index 79a9e8e9c85f5..5395b0432310e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -78,9 +78,9 @@ workspace: dependencies: _discoveryapis_commons: 1.0.7 - _fe_analyzer_shared: 82.0.0 + _fe_analyzer_shared: 89.0.0 adaptive_breakpoints: 0.1.7 - analyzer: 7.4.5 + analyzer: 8.2.0 animations: 2.0.11 archive: 3.6.1 args: 2.7.0 @@ -90,7 +90,7 @@ dependencies: checked_yaml: 2.0.4 cli_config: 0.2.0 clock: 1.1.2 - code_assets: 0.19.4 + code_assets: 0.19.6 collection: 1.19.1 convert: 3.1.2 coverage: 1.15.0 @@ -109,14 +109,14 @@ dependencies: frontend_server_client: 4.0.0 gcloud: 0.8.19 glob: 2.1.3 - google_fonts: 6.2.1 + google_fonts: 6.3.1 google_identity_services_web: 0.3.3+1 google_mobile_ads: 5.1.0 googleapis: 12.0.0 googleapis_auth: 1.6.0 - hooks: 0.19.5 + hooks: 0.20.1 html: 0.15.6 - http: 1.4.0 + http: 1.5.0 http_multi_server: 3.2.2 http_parser: 4.1.2 intl: 0.20.2 @@ -124,7 +124,7 @@ dependencies: isolate: 2.1.1 js: 0.7.2 json_annotation: 4.9.0 - leak_tracker: 11.0.1 + leak_tracker: 11.0.2 leak_tracker_flutter_testing: 3.0.10 leak_tracker_testing: 3.0.2 logging: 1.3.0 @@ -133,24 +133,24 @@ dependencies: meta: 1.17.0 metrics_center: 1.0.13 mime: 2.0.0 - native_toolchain_c: 0.16.8 + native_toolchain_c: 0.17.1 nested: 1.0.0 node_preamble: 2.0.2 package_config: 2.2.0 path: 1.9.1 path_provider: 2.1.5 - path_provider_android: 2.2.17 - path_provider_foundation: 2.4.1 + path_provider_android: 2.2.18 + path_provider_foundation: 2.4.2 path_provider_linux: 2.2.1 path_provider_platform_interface: 2.1.2 path_provider_windows: 2.3.0 petitparser: 6.1.0 platform: 3.1.6 plugin_platform_interface: 2.1.8 - pool: 1.5.1 - process: 5.0.4 + pool: 1.5.2 + process: 5.0.5 process_runner: 4.2.0 - provider: 6.1.5 + provider: 6.1.5+1 pub_semver: 2.2.0 pubspec_parse: 1.5.0 rally_assets: 3.0.1 @@ -175,22 +175,22 @@ dependencies: test_core: 0.6.12 typed_data: 1.4.0 url_launcher: 6.3.2 - url_launcher_android: 6.3.16 - url_launcher_ios: 6.3.3 + url_launcher_android: 6.3.22 + url_launcher_ios: 6.3.4 url_launcher_linux: 3.2.1 - url_launcher_macos: 3.2.2 + url_launcher_macos: 3.2.3 url_launcher_platform_interface: 2.3.2 url_launcher_web: 2.4.1 url_launcher_windows: 3.1.4 vector_math: 2.2.0 video_player: 2.10.0 - video_player_android: 2.8.7 - video_player_avfoundation: 2.8.0 + video_player_android: 2.8.13 + video_player_avfoundation: 2.8.4 video_player_platform_interface: 6.4.0 video_player_web: 2.4.0 vm_service: 15.0.2 vm_snapshot_analysis: 0.7.6 - watcher: 1.1.2 + watcher: 1.1.3 web: 1.1.1 web_socket: 1.0.1 web_socket_channel: 3.0.3 @@ -198,13 +198,13 @@ dependencies: webkit_inspection_protocol: 1.2.1 webview_flutter: 4.9.0 webview_flutter_android: 3.16.9 - webview_flutter_platform_interface: 2.13.1 - webview_flutter_wkwebview: 3.22.1 + webview_flutter_platform_interface: 2.14.0 + webview_flutter_wkwebview: 3.23.1 xdg_directories: 1.1.0 xml: 6.5.0 yaml: 3.1.3 cli_util: 0.4.2 - dart_style: 3.1.0 + dart_style: 3.1.2 ffigen: 18.1.0 file_testing: 3.0.2 flutter_lints: 6.0.0 @@ -212,4 +212,4 @@ dependencies: pedantic: 1.11.1 quiver: 3.2.2 yaml_edit: 2.2.2 -# PUBSPEC CHECKSUM: h41ipd +# PUBSPEC CHECKSUM: 4158rk